コード例 #1
0
ファイル: factory.php プロジェクト: mrdeadmouse/u136006
 private function __SendMessage($senderId, $receiverId, $messageID, $type, $message, $domain = "")
 {
     if (!$this->isInitialized) {
         $this->Initialize();
     }
     $receiverId = intval($receiverId);
     if ($receiverId <= 0) {
         return false;
     }
     $messageID = intval($messageID);
     if ($messageID <= 0) {
         return false;
     }
     if (!in_array($type, array("P", "S"))) {
         return false;
     }
     if (strlen($message) <= 0) {
         return false;
     }
     if (!CXMPPUtility::CheckXmppStatusOnline()) {
         return false;
     }
     $senderJId = false;
     $receiverJId = false;
     $arUserID = array();
     $arUserID[] = $receiverId;
     $senderId = intval($senderId);
     if ($senderId <= 0) {
         if ($senderId != -5) {
             return false;
         }
         $senderJId = self::GetSystemJId($domain);
     } else {
         $arUserID[] = $senderId;
     }
     if (!($arJID = CXMPPUtility::GetJIdByUserId($arUserID, $domain))) {
         return false;
     }
     if ($senderId > 0) {
         $senderJId = $arJID[$senderId];
     }
     $receiverJId = $arJID[$receiverId];
     if (!$senderJId) {
         CXMPPUtility::Show("Error senderId=" . $senderId . ", receiverId=" . $receiverId . ", messageID=" . $messageID . " - Sender not found", 0);
         return false;
     }
     if (!$receiverJId) {
         CXMPPUtility::Show("Error senderId=" . $senderId . ", receiverId=" . $receiverId . ", messageID=" . $messageID . " - Reseiver not found", 0);
         return false;
     }
     $messageType = "chat";
     if ($type == "S") {
         $messageType = "normal";
     }
     $arMessage = CXMPPUtility::GetMessageArray($senderJId, $receiverJId, $messageType, $message, $domain);
     $result = false;
     if (CXMPPServer::IsServerStarted()) {
         $server = CXMPPServer::GetServer();
         $result = $server->Send($receiverJId, $arMessage, $domain);
     } else {
         $result = CXMPPUtility::SendToServer($arMessage, $domain);
     }
     if ($result === true) {
         if (IsModuleInstalled("im") && CModule::IncludeModule("im")) {
             if ($type == "S") {
                 $CIMNotify = new CIMNotify($receiverId);
                 $CIMNotify->MarkNotifyRead($messageID);
             } else {
                 $CIMMessage = new CIMMessage($receiverId);
                 $CIMMessage->SetReadMessage($senderId);
             }
         } else {
             CSocNetMessages::MarkMessageRead($receiverId, $messageID);
         }
     } else {
         CXMPPUtility::Show("Error senderId=" . $senderId . ", receiverId=" . $receiverId . ", messageID=" . $messageID . " - Message was not send", 0);
     }
     return $result;
 }
コード例 #2
0
ファイル: messages.php プロジェクト: rasuldev/torino
 /**
  * <p>Отмечает набор сообщений как прочтенные.</p>
  *
  *
  *
  *
  * @param int $userID  Код пользователя, являющегося получателем сообщений.
  *
  *
  *
  * @param array $arIDs  Массив идентификаторов сообщений.
  *
  *
  *
  * @return bool <p>True в случае успешного выполнения и false - в противном случае.</p>
  * <br><br>
  *
  * @static
  * @link http://dev.1c-bitrix.ru/api_help/socialnetwork/classes/CSocNetMessages/MarkMessageReadMultiple.php
  * @author Bitrix
  */
 public static function MarkMessageReadMultiple($userID, $arIDs)
 {
     global $APPLICATION, $DB;
     $userID = IntVal($userID);
     if ($userID <= 0) {
         $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SONET_UR_EMPTY_SENDER_USER_ID"), "ERROR_USER_ID");
         return false;
     }
     if (!is_array($arIDs)) {
         return true;
     }
     foreach ($arIDs as $ID) {
         CSocNetMessages::MarkMessageRead($userID, $ID);
     }
     return true;
 }
コード例 #3
0
ファイル: set_message.php プロジェクト: Satariall/izurit
             }
         }
     } elseif ($_REQUEST["action"] == "reject") {
         if (!CSocNetUserToGroup::UserRejectRequestToBeMember($GLOBALS["USER"]->GetID(), IntVal($_REQUEST["eventID"]))) {
             if ($e = $GLOBALS["APPLICATION"]->GetException()) {
                 $errorMessage .= $e->GetString();
             }
         }
     }
     if (strlen($errorMessage) > 0) {
         echo $errorMessage;
     }
 } elseif ($_REQUEST["EventType"] == "Message" && IntVal($_REQUEST["eventID"]) > 0) {
     $errorMessage = "";
     if ($_REQUEST["action"] == "close") {
         if (!CSocNetMessages::MarkMessageRead($GLOBALS["USER"]->GetID(), IntVal($_REQUEST["eventID"]))) {
             if ($e = $GLOBALS["APPLICATION"]->GetException()) {
                 if ($e->GetID() != "ERROR_NO_MESSAGE") {
                     $errorMessage .= $e->GetString();
                 }
             }
         }
     }
     if (strlen($errorMessage) > 0) {
         echo $errorMessage;
     }
 } elseif ($_REQUEST["EventType"] == "Message" && IntVal($_REQUEST["userID"]) > 0) {
     $errorMessage = "";
     if ($_REQUEST["action"] == "ban") {
         if (!CSocNetUserRelations::BanUser($GLOBALS["USER"]->GetID(), IntVal($_REQUEST["userID"]))) {
             if ($e = $GLOBALS["APPLICATION"]->GetException()) {
コード例 #4
0
ファイル: component.php プロジェクト: webgksupport/alpina
 }
 if ($arResult["IsCurrentUser"]) {
     $arResult["FatalError"] = GetMessage("SONET_C26_SELF") . ". ";
 } elseif (!$arResult["CurrentUserPerms"]["Message"]) {
     $arResult["FatalError"] = GetMessage("SONET_C26_PERM_MESS") . ". ";
 } else {
     $arResult["ShowForm"] = "Input";
     if ($_SERVER["REQUEST_METHOD"] == "POST" && strlen($_POST["save"]) > 0 && check_bitrix_sessid()) {
         $errorMessage = "";
         if (strlen($_POST["POST_MESSAGE"]) <= 0) {
             $errorMessage .= GetMessage("SONET_C26_NO_TEXT") . ". ";
         }
         if (strlen($errorMessage) <= 0) {
             if (CSocNetMessages::CreateMessage($GLOBALS["USER"]->GetID(), $arResult["User"]["ID"], $_POST["POST_MESSAGE"])) {
                 if ($arParams["MESSAGE_ID"] > 0) {
                     CSocNetMessages::MarkMessageRead($GLOBALS["USER"]->GetID(), $arParams["MESSAGE_ID"]);
                 }
             } else {
                 if ($e = $APPLICATION->GetException()) {
                     $errorMessage .= $e->GetString();
                 }
             }
         }
         if (strlen($errorMessage) > 0) {
             $arResult["ErrorMessage"] = $errorMessage;
         } else {
             $arResult["ShowForm"] = "Confirm";
         }
     }
     $arResult["PrintSmilesList"] = CSocNetSmile::PrintSmilesList(3, LANGUAGE_ID, $arParams["PATH_TO_SMILE"]);
 }