예제 #1
0
         $captcha = new captcha($captchanum);
         $rnd = $_POST['rndnum'];
         if (!$captcha->checkNumber(trim($rnd))) {
             $error_flag = 1;
             $alert[4] = "Вы ввели неверную комбинацию символов";
         }
     }
     // если запрошено обновление капчи в PDA
     $newCaptcha = $_POST['newcaptcha'];
     if ($newCaptcha) {
         $alert = array();
     }
     if ($chat_with != $_SESSION['login'] && !$error_flag) {
         list($alert, $error) = messages::Add(get_uid(), $chat_with, $msg, $files, 0, false, $attachedfiles_session);
         if (!$error && isNulArray($alert)) {
             messages::updateSendLog(get_uid(false));
             if ($draft_id) {
                 require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/drafts.php";
                 drafts::DeleteDraft(intval($draft_id), get_uid(false), 2, true);
             }
             //Если сообщение фрилансеру то разрешаем отправку сообщений обратно
             if (!is_emp($chat_user->role)) {
                 messages::setIsAllowed($uid, $chat_user->uid);
             }
             unset($msg);
             header("Location: " . $_SERVER["REQUEST_URI"]);
             exit;
         }
     }
     break;
 case "delete":
예제 #2
0
 /**
  * Добавление личного сообщения
  * 
  * @param  array $aParams массив входящих данных
  * @return array $aResult ответ
  */
 protected function x____messages_send($aParams = array())
 {
     $this->_validDevice($aParams);
     $nUid = get_uid(false);
     $nTo = intvalPgSql($aParams['to_id']);
     if (!empty($nTo)) {
         require_once ABS_PATH . '/classes/users.php';
         $oUser = new users();
         $oUser->GetUserByUID($nTo);
         if ($oUser->uid) {
             if ($oUser->uid != $nUid) {
                 if (empty($oUser->is_banned)) {
                     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/ignor.php';
                     $bIgnor = ignor::CheckIgnored($oUser->uid, $nUid) || in_array($oUser->login, array('admin', 'Anonymous'));
                     if (!$bIgnor) {
                         $sMessage = __paramValue('html', antispam(iconv('utf-8', 'cp1251', $aParams['text'])), null, true);
                         if (!$sMessage || trim($sMessage) == '') {
                             $this->error(EXTERNAL_ERR_EMPTY_MESSAGE);
                         } elseif ($sMessage && strlen($sMessage) > $this->_mCfg['text_limit']) {
                             $this->error(EXTERNAL_ERR_LENGTH_MESSAGE);
                         }
                         require_once ABS_PATH . '/classes/messages.php';
                         list($alert, $error) = messages::Add($nUid, $oUser->login, $sMessage, array(), 0, false, null, $sId);
                         if (!$error && isNulArray($alert)) {
                             messages::updateSendLog($nUid);
                         } else {
                             $this->error(EXTERNAL_ERR_SERVER_ERROR);
                         }
                         $aResult = array("message" => array("id" => $sId, "from_id" => $nUid, "to_id" => $oUser->uid, "text" => $aParams['text'], "status" => 1, "read" => 0, "create_time" => time(), "update_time" => time()));
                     } else {
                         $this->error(EXTERNAL_ERR_MESSAGE_IGNOR);
                     }
                 } else {
                     $this->error(EXTERNAL_ERR_USER_BANNED);
                 }
             } else {
                 $this->error(EXTERNAL_ERR_SELF_MESSAGE);
             }
         } else {
             $this->error(EXTERNAL_ERR_USER_NOTFOUND);
         }
     } else {
         $this->error(EXTERNAL_ERR_EMPTY_USER_ID);
     }
     return $aResult;
 }