} } exit; } if ($_POST['action'] == 'update-messenger') { $status = isset($_POST['status']) ? $_POST['status'] : ''; if ($status == 'closed') { //Just Get Total Unread Messages $newMessages = BuckysPrivateMessenger::getNewMessageCount($userID); echo '<result>'; echo '<newmessages>' . $newMessages . '</newmessages>'; echo '</result>'; exit; } //Getting Chat Users $users = BuckysPrivateMessenger::getUserList($userID); //Getting User IDs on the Messenger List $buddyIDs = array(); $newUserHTML = ''; foreach ($users as $row) { $newUserHTML .= '<a href="#" class="single_chat_user ' . (!$row['online'] || !$row['buddyStatus'] ? "single_chat_user_offline" : '') . '" data-id="' . $row['userID'] . '" data-hash="' . buckys_encrypt_id($row['userID']) . '"> <img src="' . BuckysUser::getProfileIcon($row) . '" /><span> ' . $row['name'] . '</span></a>'; $buddyIDs[] = $row['userID']; } //Create Messages XML $result = array(); if ($newUserHTML != '') { $buddyIDs = array_unique($buddyIDs); $messages = BuckysPrivateMessenger::getMessages($userID, $buddyIDs, 'new'); //Getting Conversation List $convList = isset($_SESSION['converation_list']) ? $_SESSION['converation_list'] : array(); foreach ($messages as $row) {
/** * Get New Message Count * * @param Int $userID * @param Int $senderID * @return Int */ public function getNewMessageCount($userID, $buddyID = null) { global $db; $query = $db->prepare("SELECT count(1) FROM " . TABLE_MESSENGER_MESSAGES . " WHERE userID=%d AND isNew = 1 ", $userID); if ($buddyID == null) { $buddyID = array(); $users = BuckysPrivateMessenger::getUserList($userID); foreach ($users as $row) { $buddyID[] = $row['userID']; } $buddyID[] = 0; } if ($buddyID != null) { if (is_array($buddyID)) { $query .= " AND buddyID IN (" . implode(",", $buddyID) . ")"; } else { $query .= $db->prepare(" AND buddyID=%d", $buddyID); } } $count = $db->getVar($query); return $count; }