当前位置: 首页>>代码示例>>PHP>>正文


PHP phpFreeChat::PostFilterMsg方法代码示例

本文整理汇总了PHP中phpFreeChat::PostFilterMsg方法的典型用法代码示例。如果您正苦于以下问题:PHP phpFreeChat::PostFilterMsg方法的具体用法?PHP phpFreeChat::PostFilterMsg怎么用?PHP phpFreeChat::PostFilterMsg使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在phpFreeChat的用法示例。


在下文中一共展示了phpFreeChat::PostFilterMsg方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: run

 function run(&$xml_reponse, $p)
 {
     $clientid = $p["clientid"];
     $param = $p["param"];
     $sender = $p["sender"];
     $recipient = $p["recipient"];
     $recipientid = $p["recipientid"];
     $c =& pfcGlobalConfig::Instance();
     // do nothing if the recipient is not defined
     if ($recipient == "") {
         return;
     }
     // check this methode is not being called
     if (isset($_SESSION["pfc_lock_readnewmsg_" . $c->getId() . "_" . $clientid])) {
         // kill the lock if it has been created more than 10 seconds ago
         $last_10sec = time() - 10;
         $last_lock = $_SESSION["pfc_lock_readnewmsg_" . $c->getId() . "_" . $clientid];
         if ($last_lock < $last_10sec) {
             $_SESSION["pfc_lock_" . $c->getId() . "_" . $clientid] = 0;
         }
         if ($_SESSION["pfc_lock_readnewmsg_" . $c->getId() . "_" . $clientid] != 0) {
             exit;
         }
     }
     // create a new lock
     $_SESSION["pfc_lock_readnewmsg_" . $c->getId() . "_" . $clientid] = time();
     // read the last from_id value
     $container =& pfcContainer::Instance();
     $from_id_sid = "pfc_from_id_" . $c->getId() . "_" . $clientid . "_" . $recipientid;
     $from_id = 0;
     if (isset($_SESSION[$from_id_sid])) {
         $from_id = $_SESSION[$from_id_sid];
     } else {
         $from_id = $container->getLastId($recipient) - $c->max_msg - 1;
         if ($from_id < 0) {
             $from_id = 0;
         }
     }
     // check if this is the first time you get messages
     $oldmsg_sid = "pfc_oldmsg_" . $c->getId() . "_" . $clientid . "_" . $recipientid;
     $oldmsg = false;
     if (isset($_SESSION[$oldmsg_sid])) {
         unset($_SESSION[$oldmsg_sid]);
         $oldmsg = true;
     }
     $new_msg = $container->read($recipient, $from_id);
     $new_from_id = $new_msg["new_from_id"];
     $data = $new_msg["data"];
     // transform new message in html format
     $js = array();
     $data_sent = false;
     foreach ($data as $d) {
         $m_id = $d["id"];
         $m_date = gmdate($c->date_format, $d["timestamp"] + $c->time_offset);
         $m_time = gmdate($c->time_format, $d["timestamp"] + $c->time_offset);
         $m_sender = $d["sender"];
         $m_recipientid = $recipientid;
         $m_cmd = $d["cmd"];
         $m_param = phpFreeChat::PostFilterMsg($d["param"]);
         $js[] = array($m_id, $m_date, $m_time, $m_sender, $m_recipientid, $m_cmd, $m_param, gmdate($c->date_format, time() + $c->time_offset) == $m_date ? 1 : 0, $oldmsg ? 1 : 0);
         // is it a new message in the current session or is it a part of the history
         $data_sent = true;
     }
     if (count($js) != 0) {
         require_once dirname(__FILE__) . '/../pfcjson.class.php';
         $json = new pfcJSON();
         $js = $json->encode($js);
         $xml_reponse->script("pfc.handleResponse('" . $this->name . "', 'ok', (" . $js . "));");
     }
     if ($data_sent) {
         // store the new msg id
         $_SESSION[$from_id_sid] = $new_from_id;
     }
     // remove the lock
     $_SESSION["pfc_lock_readnewmsg_" . $c->getId() . "_" . $clientid] = 0;
 }
开发者ID:codethics,项目名称:proteoerp,代码行数:76,代码来源:getnewmsg.class.php


注:本文中的phpFreeChat::PostFilterMsg方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。