Help
General ArrowChat talk that doesn't fit any other forum.
User avatar
WVerkerk
Customer
 
Posts: 7
Joined: 14 Feb 2013, 17:42

 

by WVerkerk 20 Feb 2013, 12:14

Hello I want to change the avatar url for Jomsocial integration.

Atm it reads this:

Code: Select all
<?php

   /*
   || #################################################################### ||
   || #                             ArrowChat                            # ||
   || # ---------------------------------------------------------------- # ||
   || #    Copyright ©2010-2012 ArrowSuites LLC. All Rights Reserved.    # ||
   || # This file may not be redistributed in whole or significant part. # ||
   || # ---------------- ARROWCHAT IS NOT FREE SOFTWARE ---------------- # ||
   || #   http://www.arrowchat.com | http://www.arrowchat.com/license/   # ||
   || #################################################################### ||
   */

   /**
    * 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()
   {
      $userid = NULL;
      
      $my =& JFactory::getUser();
      $userid2 = $my->get('id');

      if (!empty($userid2))
      {
         $userid = $userid2;
      }

      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 . "community_users." . 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
         LEFT JOIN " . TABLE_PREFIX . "community_users
            ON " . TABLE_PREFIX . "community_users.userid = " . TABLE_PREFIX . DB_FRIENDSTABLE . "." . DB_FRIENDSTABLE_FRIENDID . "
         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 . "community_users." . 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
         LEFT JOIN " . TABLE_PREFIX . "community_users
            ON " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_USERID . " = " . TABLE_PREFIX . "community_users.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 . "community_users." . 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
         LEFT JOIN " . TABLE_PREFIX . "community_users
            ON " . TABLE_PREFIX . "community_users.userid = " . TABLE_PREFIX . DB_USERTABLE . "." . DB_USERTABLE_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 . '../index.php?option=com_community&view=profile&userid=' . $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 (!empty($image))
      {
         return $base_url . "../" . $image;
      }
      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];
      }
   }

?>



Between line 147 and 159 the code is used:
Code: Select all
   function get_avatar($image, $user_id) 
   {
      global $base_url;
      
      if (!empty($image))
      {
         return $base_url . "../" . $image;
      }
      else
      {
         return $base_url . AC_FOLDER_ADMIN . "/images/img-no-avatar.gif";
      }
   }



I coded it so it does the following:
Code: Select all
   function get_avatar($image, $user_id) 
   {
      global $base_url;
      
      if (!empty($image))
      {
         return $base_url . "../" . $image;
      }
      else
      {
         return  $path = "http://avatar.oc.tc/".$user_id. '.jpg';
      }
   }



It finds the avatar at http://avatar.oc.tc/$user_id.
However I want it to find the avatar at http://avatar.oc.tc/$user_name

How do I do this???? IF i put in $user_name it wont work! Help please.
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]