public function getRefresh()
 {
     $mapper = Neuron_GameServer_Mappers_BlockingChatMapper::getInstance();
     $data = $this->getRequestData();
     $player = Neuron_GameServer::getPlayer();
     if ($player) {
         $mapper = Neuron_GameServer_Mappers_ChatMapper::getInstance();
         if (isset($data['lastId'])) {
             $updates = $mapper->getPrivateChatUpdates($player, $data['lastId']);
             if (count($updates) > 0) {
                 $lastId = $updates[0]['pu_id'];
                 // open windows for all updates
                 foreach ($updates as $v) {
                     $this->getServer()->openWindow('PrivateChat', array('id' => $v['pu_from']));
                     $lastId = max($lastId, $v['pu_id']);
                 }
                 $data['lastId'] = $lastId;
                 $this->updateRequestData($data);
             }
         } else {
             $updates = $mapper->getPrivateChatUpdates($player);
             if (count($updates) > 0) {
                 $data['lastId'] = $updates[0]['pu_id'];
                 $this->updateRequestData($data);
             } else {
                 $data['lastId'] = 0;
                 $this->updateRequestData($data);
             }
         }
     }
     $this->updateRequestData($data);
     $this->updateContent();
 }
 protected function onPostMessage($msgid, Neuron_GameServer_Mappers_ChatMapper $mapper)
 {
     $me = Neuron_GameServer::getPlayer();
     $mapper->addPrivateChatUpdate($msgid, $me, $this->getTarget());
 }
 /**
  * If $since is said, return all events since "since".
  * If $since is not said, return the single latest event.
  *
  * ($since is obviously the pu_id)
  */
 public function getPrivateChatUpdates(Neuron_GameServer_Player $target, $since = null)
 {
     if (isset($since)) {
     }
     return parent::getPrivateChatUpdates($target, $since);
 }