Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- define('EMITTER_HOST', '127.0.0.1');
- function post_request($uri, $port = 8088, $data = '') {
- $ch = curl_init();
- $curlConfig = array(
- CURLOPT_URL => $uri,
- CURLOPT_POST => true,
- CURLOPT_CONNECTTIMEOUT_MS => 2000,
- CURLOPT_TIMEOUT_MS => 5000,
- CURLOPT_PORT => $port,
- CURLOPT_POSTFIELDS => $data,
- CURLOPT_RETURNTRANSFER => true
- );
- curl_setopt_array($ch, $curlConfig);
- $result = curl_exec($ch);
- curl_close($ch);
- return $result;
- }
- function data_to_client($type, $auth, $data, $ip = EMITTER_HOST) {
- global $redis;
- // route | type | auth | _ | data
- $redis->rPush('trnp:commands', implode('`', array('auth', $type, $auth, '', str_replace('`','',json_encode($data)))));
- }
- function data_to_uid($type, $uid, $data, $ip = EMITTER_HOST) {
- global $redis;
- // route | type | uid | _ | data
- $redis->rPush('trnp:commands', implode('`', array('uid', $type, $uid, '', str_replace('`','',json_encode($data)))));
- }
- function ans($type, $uid, $msgid, $data, $ip = EMITTER_HOST) {
- global $redis;
- // route | type | uid | msgid | data
- $redis->rPush('trnp:commands', implode('`', array('ans', $type, $uid, $msgid, str_replace('`','',json_encode($data)))));
- return true;
- }
- function push($cat, $data, $plain = false, $ip = EMITTER_HOST) {
- global $redis;
- // route | cat | _ | _ | data
- $redis->rPush('trnp:commands', implode('`', array('push', $cat, '', '', $plain ? str_replace('`','',$data) : str_replace('`','',json_encode($data)))));
- }
- function broadcast($type, $data, $plain = false, $ip = EMITTER_HOST) {
- global $redis;
- // route | type | _ | _ | data
- $redis->rPush('trnp:commands', implode('`', array('all', $type, '', '', $plain ? str_replace('`','',$data) : str_replace('`','',json_encode($data)))));
- }
- function send_quote($cross, $data, $plain = false, $ip = EMITTER_HOST) {
- global $redis;
- // route | cross | _ | _ | data
- $redis->rPush('trnp:commands', implode('`', array('quote', $cross, '', '', $plain ? str_replace('`','',$data) : str_replace('`','',json_encode($data)))));
- }
- function send_control($type, $data, $plain = false, $ip = EMITTER_HOST) {
- global $redis;
- // route | type | _ | _ | data
- $redis->rPush('trnp:commands', implode('`', array('control', $type, '', '', $plain ? str_replace('`','',$data) : str_replace('`','',json_encode($data)))));
- }
- function emitter($ip, $data, $login = false, $adm = false) {
- global $_emitter_type;
- if (!($data = json_decode($data, true)))
- die('invalid data');
- if (!isset($data['uid']) || !isset($data['msgid']))
- die('invalid data');
- if (empty($data['type']))
- ans('',$data['uid'],$data['msgid'],false);
- $data['type'] = trim($data['type']);
- if ($adm != false) {
- $data['data']['adm'] = $adm;
- if ($login != false)
- $data['data']['login'] = $login;
- } else {
- if ($data['type'] != 'login' && $data['type'] != 'term_login')
- $data['data']['login'] = 0;
- if ($data['type'] != 'adm_login' && $data['type'] != 'adm_check_login' && $data['type'] != 'adm_update_login')
- $data['data']['adm'] = 0;
- if ($login != false)
- $data['data']['login'] = $login;
- }
- if (substr($data['type'],0,3) == 'adm' && $data['type'] != 'adm_login' && $data['type'] != 'adm_logout' && $data['type'] != 'adm_check_login' && $data['type'] != 'adm_update_login' && !$adm)
- return ans($data['type'],$data['uid'],$data['msgid'],false);
- $_emitter_type = $data['type'];
- $ans = hook('emitter', $data);
- if ($ans && isset($ans['_ans']))
- return ans($data['type'],$data['uid'],$data['msgid'],$ans['_ans'],$ip);
- else
- return ans($data['type'],$data['uid'],$data['msgid'],false,$ip);
- }
- $_emitter_type;
Add Comment
Please, Sign In to add comment