diff --git a/main/inc/lib/chat.lib.php b/main/inc/lib/chat.lib.php index e8b6c0204f..7286159639 100644 --- a/main/inc/lib/chat.lib.php +++ b/main/inc/lib/chat.lib.php @@ -173,38 +173,46 @@ class Chat extends Model { * @return void Prints "1" */ function send($from_user_id, $to_user_id, $message) { - $user_info = api_get_user_info($to_user_id, true); - $this->save_window($to_user_id); - - $_SESSION['openChatBoxes'][$to_user_id] = api_get_utc_datetime(); - $messagesan = self::sanitize($message); - - if (!isset($_SESSION['chatHistory'][$to_user_id])) { - $_SESSION['chatHistory'][$to_user_id] = array(); - } - $item = array ( "s" => "1", - "f" => $from_user_id, - "m" => $messagesan, - "username" => get_lang('Me') - ); - $_SESSION['chatHistory'][$to_user_id]['items'][] = $item; - $_SESSION['chatHistory'][$to_user_id]['user_info']['user_name'] = $user_info['complete_name']; - $_SESSION['chatHistory'][$to_user_id]['user_info']['online'] = $user_info['user_is_online']; - - unset($_SESSION['tsChatBoxes'][$to_user_id]); - $params = array(); - $params['from_user'] = intval($from_user_id); - $params['to_user'] = intval($to_user_id); - $params['message'] = $message; - $params['sent'] = api_get_utc_datetime(); + $user_friend_relation = SocialManager::get_relation_between_contacts($from_user_id, $to_user_id); + if ($user_friend_relation == USER_RELATION_TYPE_FRIEND) { - if (!empty($from_user_id) && !empty($to_user_id)) { - $this->save($params); + $user_info = api_get_user_info($to_user_id, true); + $this->save_window($to_user_id); + + $_SESSION['openChatBoxes'][$to_user_id] = api_get_utc_datetime(); + $messagesan = self::sanitize($message); + + if (!isset($_SESSION['chatHistory'][$to_user_id])) { + $_SESSION['chatHistory'][$to_user_id] = array(); + } + $item = array ( "s" => "1", + "f" => $from_user_id, + "m" => $messagesan, + "username" => get_lang('Me') + ); + $_SESSION['chatHistory'][$to_user_id]['items'][] = $item; + $_SESSION['chatHistory'][$to_user_id]['user_info']['user_name'] = $user_info['complete_name']; + $_SESSION['chatHistory'][$to_user_id]['user_info']['online'] = $user_info['user_is_online']; + + unset($_SESSION['tsChatBoxes'][$to_user_id]); + + $params = array(); + $params['from_user'] = intval($from_user_id); + $params['to_user'] = intval($to_user_id); + $params['message'] = $message; + $params['sent'] = api_get_utc_datetime(); + + if (!empty($from_user_id) && !empty($to_user_id)) { + $this->save($params); + } + //print_r($_SESSION['chatHistory']); + echo "1"; + exit; + } else { + echo "0"; + exit; } - //print_r($_SESSION['chatHistory']); - echo "1"; - exit; } /** * Close a specific chat box (user ID taken from $_POST['chatbox']) diff --git a/main/inc/lib/social.lib.php b/main/inc/lib/social.lib.php index 5319962dad..089c561e2c 100644 --- a/main/inc/lib/social.lib.php +++ b/main/inc/lib/social.lib.php @@ -49,23 +49,23 @@ class SocialManager extends UserManager { } else { return $friend_relation_list; } - } + /** * Get relation type contact by name * @param string names of the kind of relation * @return int * @author isaac flores paz */ - public static function get_relation_type_by_name ($relation_type_name) { - $list_type_friend=array(); - $list_type_friend=self::show_list_type_friends(); + public static function get_relation_type_by_name ($relation_type_name) { + $list_type_friend = self::show_list_type_friends(); foreach ($list_type_friend as $value_type_friend) { if (strtolower($value_type_friend['title'])==$relation_type_name) { return $value_type_friend['id']; } } } + /** * Get the kind of relation between contacts * @param int user id @@ -80,7 +80,7 @@ class SocialManager extends UserManager { 'WHERE rt.id=(SELECT uf.relation_type FROM '.$tbl_my_friend.' uf WHERE user_id='.((int)$user_id).' AND friend_user_id='.((int)$user_friend).' AND uf.relation_type <> '.USER_RELATION_TYPE_RRHH.' )'; $res=Database::query($sql); if (Database::num_rows($res)>0) { - $row=Database::fetch_array($res,'ASSOC'); + $row = Database::fetch_array($res,'ASSOC'); return $row['id']; } else { return USER_UNKNOW; @@ -529,7 +529,10 @@ class SocialManager extends UserManager { if (empty($user_id)) { $user_id = api_get_user_id(); } - $user_info = api_get_user_info($user_id, true); + $user_info = api_get_user_info($user_id, true); + + $current_user_id = api_get_user_id(); + $user_friend_relation = SocialManager::get_relation_between_contacts($current_user_id, $user_id); $show_groups = array('groups', 'group_messages', 'messages_list', 'group_add', 'mygroups', 'group_edit', 'member_list', 'invite_friends', 'waiting_list', 'browse_groups'); //$show_messages = array('messages', 'messages_inbox', 'messages_outbox', 'messages_compose'); @@ -560,7 +563,7 @@ class SocialManager extends UserManager { $html .= ''; } else { - $img_array = UserManager::get_user_picture_path_by_id($user_id,'web',true,true); + $img_array = UserManager::get_user_picture_path_by_id($user_id,'web',true,true); $big_image = UserManager::get_picture_user($user_id, $img_array['file'],'', USER_IMAGE_SIZE_BIG); $big_image = $big_image['file'].'?'.uniqid(); $normal_image = $img_array['dir'].$img_array['file'].'?'.uniqid(); @@ -616,17 +619,17 @@ class SocialManager extends UserManager { } if ($show == 'shared_profile') { - //echo '
'; - $html .= ''; if ($show_full_profile && $user_id == intval(api_get_user_id())) { $personal_course_list = UserManager::get_personal_session_course_list($user_id);