Help
Ask questions about how to do or fix things in Arrowchat
User avatar
rocksound
Free
 
Posts: 2
Joined: 23 Aug 2013, 00:43

 

by rocksound 23 Aug 2013, 02:52

I installed arrowchat and when I log in the account on my website arrowchat not recognize the user. I have a problem with the file integration.php.

I do not understand how to assemble the code for the session.

These are the files:

INTEGRATION.php
Code: Select all
<?php

   /**
    * This function returns the user ID of the logged in user on your site.  Technical support will not
    * help you with this for stand-alone installations.  You must purchase the professional installation
    * if you are having trouble.
    *
    * Suggestion: Check out the other integration files in the functions/integrations directory for
    * many examples of how this can be done.  The easiest way is to get the user ID through a cookie.
    *
    * @return the user ID of the logged in user or NULL if not logged in
    */
   function get_user_id()
{
   global $db;
   
   $userid = NULL;
   
   if (!empty($_COOKIE['PPCook']))
   {      
      $result = $db->execute("
         SELECT session_id
         FROM u_sessions
         WHERE hash = '" . $db->escape_string($_COOKIE['PPCook']) . "'
      ");

      if ($row = $db->fetch_array($result))
      {
         $userid = $row['session_id'];
      }
   }

   return $userid;
}

   /**
    * This function returns the SQL statement for the buddylist of the user.  You should retrieve
    * all ONLINE friends that the user is friends with.  Do not retrieve offline users.  You can use
    * global $online_timeout to get the online timeout.
    * ex: AND (arrowchat_status.session_time + 60 + " . $online_timeout . ") > " . time() . "
    *
    * @param userid the user ID of the person receiving the buddylist
    * @param the time of the buddylist request
    * @return the SQL statement to retrieve the user's friend list
    */
   function get_friend_list($userid, $time)
   {
      global $db;
      global $online_timeout;
      
      $sql = ("
         SELECT DISTINCT " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " userid, " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_NAME . " username, arrowchat_status.session_time lastactivity, " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_AVATAR . " avatar, " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " link, arrowchat_status.is_admin, arrowchat_status.status
         FROM " . TABLE_PREFIX . DB_FRIENDSTABLE . "
         JOIN " . TABLE_PREFIX . DB_USERTABLE . "
            ON  " . TABLE_PREFIX . DB_FRIENDSTABLE . "." . DB_FRIENDSTABLE_FRIENDID . " = " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . "
         LEFT JOIN arrowchat_status
            ON " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " = arrowchat_status.userid
         WHERE " . TABLE_PREFIX . DB_FRIENDSTABLE . "." . DB_FRIENDSTABLE_USERID . " = '" . $db->escape_string($userid) . "'
            AND " . TABLE_PREFIX . DB_FRIENDSTABLE . "." . DB_FRIENDSTABLE_FRIENDS . " = 1
            AND (arrowchat_status.session_time + 60 + " . $online_timeout . ") > " . time() . "
         ORDER BY " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_NAME . " ASC
      ");
      
      return $sql;
   }

   /**
    * This function returns the SQL statement for all online users.  You should retrieve
    * all ONLINE users regardless of friend status.  Do not retrieve offline users.  You can use
    * global $online_timeout to get the online timeout.
    * ex: AND (arrowchat_status.session_time + 60 + " . $online_timeout . ") > " . time() . "
    *
    * @param userid the user ID of the person receiving the buddylist
    * @param the time of the buddylist request
    * @return the SQL statement to retrieve all online users
    */
   function get_online_list($userid, $time)
   {
      global $db;
      global $online_timeout;
      
      $sql = ("
         SELECT DISTINCT " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " userid, " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_NAME . " username, arrowchat_status.session_time lastactivity, " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_AVATAR . " avatar, " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " link, arrowchat_status.is_admin, arrowchat_status.status
         FROM " . TABLE_PREFIX . DB_USERTABLE . "
         JOIN arrowchat_status
            ON " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " = arrowchat_status.userid
         WHERE ('" . time() . "' - arrowchat_status.session_time - 60 < '" . $online_timeout . "')
            AND " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " != '" . $db->escape_string($userid) . "'
         ORDER BY " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_NAME . " ASC
      ");
      
      return $sql;
   }

   /**
    * This function returns the SQL statement to get the user details of a specific user.  You should
    * get the user's ID, username, last activity time in unix, link to their profile, avatar, and status.
    *
    * @param userid the user ID to get the details of
    * @return the SQL statement to retrieve the user's defaults
    */
   function get_user_details($userid)
   {
      global $db;
      
      $sql = ("
         SELECT " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " userid, " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_NAME . " username, arrowchat_status.session_time lastactivity,  " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " link,  " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_AVATAR . " avatar, arrowchat_status.is_admin, arrowchat_status.status
         FROM " . TABLE_PREFIX . DB_USERTABLE . "
         LEFT JOIN arrowchat_status
            ON " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " = arrowchat_status.userid
         WHERE " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " = '" . $db->escape_string($userid) . "'
      ");
      
      return $sql;
   }

   /**
    * This function returns the profile link of the specified user ID.
    *
    * @param userid the user ID to get the profile link of
    * @return the link of the user ID's profile
    */
   function get_link($link, $user_id)
   {
      global $base_url;
      
      return $base_url . '../users.php?id=' . $link;
   }

   /**
    * This function returns the URL of the avatar of the specified user ID.
    *
    * @param userid the user ID of the user
    * @param image if the image includes more than just a user ID, this param is passed
    * in from the avatar row in the buddylist and get user details functions.
    * @return the link of the user ID's profile
    */
   function get_avatar($image, $user_id)
   {
      global $base_url;
      
      if (is_file(dirname(dirname(dirname(__FILE__))) . '/images/' . $image . '.gif'))
      {
         return $base_url . '../images/' . $image . '.gif';
      }
      else
      {
         return $base_url . AC_FOLDER_ADMIN . "/images/img-no-avatar.gif";
      }
   }

   /**
    * This function returns the name of the logged in user.  You should not need to
    * change this function.
    *
    * @param userid the user ID of the user
    * @return the name of the user
    */
   function get_username($userid)
   {
      global $db;
      global $language;
      global $show_full_username;
      
      $users_name = $language[83];

      $result = $db->execute("
         SELECT " . DB_USERTABLE_NAME . " name
         FROM " . TABLE_PREFIX . DB_USERTABLE . "
         WHERE " . DB_USERTABLE_USERID . " = '" . $db->escape_string($userid) . "'
      "); 

      if ($result AND $db->count_select() > 0) 
      {
         $row = $db->fetch_array($result);
         $users_name = $row['name'];
      }

      $pieces = explode(" ", $users_name);
      
      if ($show_full_username == 1)
      {
         return $users_name;
      }
      else
      {
         return $pieces[0];
      }
   }

?>


CONFIG.php
Code: Select all
<?php 


   // Require any necessary external files for retrieving the user's session



      

   /**

    * The database information

    *

    * Your existing users and information should already be in this database.  Do NOT create

    * a new database for ArrowChat.

   */

   define('DB_SERVER','********');

   define('DB_USERNAME','********');

   define('DB_PASSWORD','********');

   define('DB_NAME','********');   

      

   /**

    * The table prefix can be left blank. A quick example of what you should input here:

    *

    * Example - Pretend the following list are tables:

    * phpbb_friends

    * phpbb_threads

    * phpbb_users

    *

    * In the example above, the prefix would be phpbb_ because everything starts with it.

    *

    * Example - Pretend the following list are tables:

    * friends

    * threads

    * users

    *

    * In the example above, the prefix would be blank.

   */

   define('TABLE_PREFIX','');

   

   /**

    * These variables will help automatically connect your existing website with ArrowChat.  Please

    * review the descriptions below to better understand them. DO NOT INCLUDE THE PREFIX WITH THESE

    * VALUES!

    *

    * DB_USERTABLE               = The name of the user's table

    * DB_USERTABLE_USERID       = The field for the user ID in the user's table

    * DB_USERTABLE_NAME         = The field for the username in the user's table

    * DB_USERTABLE_AVATAR       = The field for the avatar (input the user ID field if none exists)

    *

    * DB_FRIENDSTABLE            = (Optional) The name of the friend's table

    * DB_FRIENDSTABLE_USERID   = (Optional) The field for the user ID in the friend's table

    * DB_FRIENDSTABLE_FRIENDID   = (Optional) The field for the relationship/friend ID in the firned's table

    * DB_FRIENDSTABLE_FRIENDS   = (Optional) The field to check if the users are friends

    *

    * All the friends stuff is optional.  If your site does not have a friend's system, leave the

    * values blank and change the no friend system value.

    */

   define('DB_USERTABLE','u_miembros');

   define('DB_USERTABLE_NAME','user_name');

   define('DB_USERTABLE_USERID','user_id');

   define('DB_USERTABLE_AVATAR','user_id');

   

   define('DB_FRIENDSTABLE','u_follows');

   define('DB_FRIENDSTABLE_USERID', 'follow_id');

   define('DB_FRIENDSTABLE_FRIENDID', 'f_id');

   define('DB_FRIENDSTABLE_FRIENDS', 'f_type');

   

   /**

    * Friend System

    *

    * If your website does not have a friend system (ex: you want to display all online users) then

    * change the value below from 0 to 1.

   */

   define('NO_FREIND_SYSTEM', '0');

   

   /**

    * MSSQL Database

    *

    * If your database is MSSQL then change the value below from 0 to 1.

   */

   define('MSSQL_DATABASE', '0');

      

   // DO NOT EDIT BELOW THIS POINT

   // Initiate a connection to the database

   if (MSSQL_DATABASE == 1)

      $db = new QuickMSDB(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME, false, false);

   else

      $db = new QuickDB(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME, false, false);



?>


Help please..

Forconi, Marcos.
You do not have the required permissions to view the files attached to this post.
User avatar
rocksound
Free
 
Posts: 2
Joined: 23 Aug 2013, 00:43

 

by rocksound 23 Aug 2013, 06:56

Problem fixed, delete post :)
User avatar
Staff Bot
ArrowChat Team
 
Posts: 8996
Joined: 07 Nov 2012, 13:41

 

by Staff Bot 16 Dec 2014, 00:26

[b]This thread has been locked because the last post is greater than six months old. There is a good chance that the information in this thread is outdated. Please open a new topic if you wish to discuss this further.[/b]