/**
  * /cncnet/launch/GFsd4jf5-9lcld34f==/23
  *
  * @param string $s_key Session Key
  * @param string $room Room ID.
  * @return boolean Success
  */
 public function launch($s_key, $room)
 {
     if (!$this->validate_session($s_key)) {
         return array('success' => false, 'errors' => array($this->error_code(-3)));
     }
     $r = new CnCNet_Room();
     $player = new CnCNet_Player();
     $event = new CnCNet_Event();
     $p_id = $player->get_id($s_key);
     $rooms = $r->lst($room);
     $event->add('launch', $rooms[$room]['users'], $room, null, null);
     return array('success' => true);
 }
Пример #2
0
 /**
  * Validates Session Key. 
  *
  * @param string $s_key Session Key
  * @return boolean Success
  */
 private function validate_session($s_key)
 {
     $player = new CnCNet_Player();
     $event = new CnCNet_Event();
     // Maybe query database table to check if valid session key and coming from correct IP?
     $valid = $player->validate_s_key($s_key, $_SERVER['REMOTE_ADDR']);
     if (is_object($valid)) {
         foreach ($valid as $id) {
             // TODO: improve this
             $event->add('exit', '0', '0', $id, '');
         }
     }
     return $valid == 1 || is_object($valid) ? true : false;
 }