예제 #1
0
         }
     }
     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;
 }