/** * /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); }
/** * 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; }