Exemple #1
0
 function GetMessages($threadid, $meth, $isvisitor, &$lastid, $forceShowingRates = false)
 {
     if ($forceShowingRates || $isvisitor == false && Operator::getInstance()->isCurrentUserAdmin()) {
         $crm = MapperFactory::getMapper('Rate');
         $rates = $crm->getByThreadidWithOperator($threadid);
         $current_rate = array_shift($rates);
     } else {
         $current_rate = null;
     }
     $res = MapperFactory::getMapper("Message")->getListMessages($threadid, $lastid, $isvisitor);
     $messages = array();
     foreach ($res as $msg) {
         $message = "";
         switch ($meth) {
             case 'xml':
                 if ($msg['kind'] == KIND_AVATAR) {
                     $message = "<avatar>" . Browser::AddCdata($msg['message']) . "</avatar>";
                 } else {
                     $message = "<message>" . Browser::AddCdata($this->messageToHtml($msg)) . "</message>\n";
                 }
                 break;
             case 'text':
                 $message = $this->messageToText($msg);
                 break;
             case 'html':
                 if ($current_rate && $current_rate['date'] < $msg['created']) {
                     $messages[] = $this->rateToHtml($current_rate);
                     $current_rate = array_shift($rates);
                 }
                 $isvisitor = verify_param("visitor", "/^true\$/", "false") == 'true';
                 $cleanup_special_tags = !$isvisitor;
                 $message = $this->messageToHtml($msg, $cleanup_special_tags);
                 break;
         }
         if (!empty($message)) {
             $messages[] = $message;
         }
         if ($msg['messageid'] > $lastid) {
             $lastid = $msg['messageid'];
         }
     }
     return $messages;
 }
 static function displayAjaxError($text)
 {
     $message = Resources::Get('agent.not_logged_in');
     $message = Browser::AddCdata($message);
     echo "<error type=\"1\"><descr>" . $message . "</descr></error>";
 }