add_special(['user_id' => $params['user_id'],'specials' => $params['specials']]); } elseif($type == 'del') { search\relation_client::instance()->del_special(['user_id' => $params['user_id'],'specials' => $params['specials']]); } else { } return true; } static public function onFellow($msg) { if(empty($msg)) return false; $content = unserialize($msg); if($content == false || !is_array($content)) { return false; } $type = $content['type']; $params = $content['params']; if($type == 'add') { search\relation_client::instance()->add_follow(['user_id' => $params['user_id'],'friends' => $params['friends']]); } elseif($type == 'del') { search\relation_client::instance()->del_follow(['user_id' => $params['user_id'],'friends' => $params['friends']]); } else { } return true; } static public function onInviter($msg) { if(empty($msg)) return false; $content = unserialize($msg); if($content == false || !is_array($content)) { return false; } $type = $content['type']; $params = $content['params']; if($type == 'add') { search\relation_client::instance()->add_inviter(['user_id' => $params['user_id'],'inviter_id' => $params['inviter_id']]); } else { } return true; } } function work_proc() { global $gMessageStates; global $gMessageLock; $gMessageStates = new MsgStates(); $gMessageLock = Mutex::create(); Base::run_util(); ugc_helper::init_server(); StatesHelper::init(); $listener = new message\subscriber($gMessageStates); $listener->run(); } event\util::fork_worker('work_proc',1);