Guest User

Untitled

a guest
Nov 23rd, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.83 KB | None | 0 0
  1. <?php
  2. define('EMITTER_HOST', '127.0.0.1');
  3.  
  4. function post_request($uri, $port = 8088, $data = '') {
  5. $ch = curl_init();
  6. $curlConfig = array(
  7. CURLOPT_URL => $uri,
  8. CURLOPT_POST => true,
  9. CURLOPT_CONNECTTIMEOUT_MS => 2000,
  10. CURLOPT_TIMEOUT_MS => 5000,
  11. CURLOPT_PORT => $port,
  12. CURLOPT_POSTFIELDS => $data,
  13. CURLOPT_RETURNTRANSFER => true
  14. );
  15. curl_setopt_array($ch, $curlConfig);
  16. $result = curl_exec($ch);
  17. curl_close($ch);
  18.  
  19. return $result;
  20. }
  21.  
  22. function data_to_client($type, $auth, $data, $ip = EMITTER_HOST) {
  23. global $redis;
  24.  
  25. // route | type | auth | _ | data
  26. $redis->rPush('trnp:commands', implode('`', array('auth', $type, $auth, '', str_replace('`','',json_encode($data)))));
  27. }
  28.  
  29. function data_to_uid($type, $uid, $data, $ip = EMITTER_HOST) {
  30. global $redis;
  31.  
  32. // route | type | uid | _ | data
  33. $redis->rPush('trnp:commands', implode('`', array('uid', $type, $uid, '', str_replace('`','',json_encode($data)))));
  34. }
  35.  
  36. function ans($type, $uid, $msgid, $data, $ip = EMITTER_HOST) {
  37. global $redis;
  38.  
  39. // route | type | uid | msgid | data
  40. $redis->rPush('trnp:commands', implode('`', array('ans', $type, $uid, $msgid, str_replace('`','',json_encode($data)))));
  41.  
  42. return true;
  43. }
  44.  
  45. function push($cat, $data, $plain = false, $ip = EMITTER_HOST) {
  46. global $redis;
  47.  
  48.  
  49. // route | cat | _ | _ | data
  50. $redis->rPush('trnp:commands', implode('`', array('push', $cat, '', '', $plain ? str_replace('`','',$data) : str_replace('`','',json_encode($data)))));
  51. }
  52.  
  53. function broadcast($type, $data, $plain = false, $ip = EMITTER_HOST) {
  54. global $redis;
  55.  
  56. // route | type | _ | _ | data
  57. $redis->rPush('trnp:commands', implode('`', array('all', $type, '', '', $plain ? str_replace('`','',$data) : str_replace('`','',json_encode($data)))));
  58. }
  59.  
  60. function send_quote($cross, $data, $plain = false, $ip = EMITTER_HOST) {
  61. global $redis;
  62.  
  63. // route | cross | _ | _ | data
  64. $redis->rPush('trnp:commands', implode('`', array('quote', $cross, '', '', $plain ? str_replace('`','',$data) : str_replace('`','',json_encode($data)))));
  65. }
  66.  
  67. function send_control($type, $data, $plain = false, $ip = EMITTER_HOST) {
  68. global $redis;
  69.  
  70. // route | type | _ | _ | data
  71. $redis->rPush('trnp:commands', implode('`', array('control', $type, '', '', $plain ? str_replace('`','',$data) : str_replace('`','',json_encode($data)))));
  72. }
  73.  
  74. function emitter($ip, $data, $login = false, $adm = false) {
  75. global $_emitter_type;
  76.  
  77. if (!($data = json_decode($data, true)))
  78. die('invalid data');
  79.  
  80. if (!isset($data['uid']) || !isset($data['msgid']))
  81. die('invalid data');
  82.  
  83. if (empty($data['type']))
  84. ans('',$data['uid'],$data['msgid'],false);
  85.  
  86. $data['type'] = trim($data['type']);
  87.  
  88. if ($adm != false) {
  89. $data['data']['adm'] = $adm;
  90. if ($login != false)
  91. $data['data']['login'] = $login;
  92. } else {
  93. if ($data['type'] != 'login' && $data['type'] != 'term_login')
  94. $data['data']['login'] = 0;
  95. if ($data['type'] != 'adm_login' && $data['type'] != 'adm_check_login' && $data['type'] != 'adm_update_login')
  96. $data['data']['adm'] = 0;
  97. if ($login != false)
  98. $data['data']['login'] = $login;
  99. }
  100.  
  101. 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)
  102. return ans($data['type'],$data['uid'],$data['msgid'],false);
  103.  
  104. $_emitter_type = $data['type'];
  105.  
  106. $ans = hook('emitter', $data);
  107. if ($ans && isset($ans['_ans']))
  108. return ans($data['type'],$data['uid'],$data['msgid'],$ans['_ans'],$ip);
  109. else
  110. return ans($data['type'],$data['uid'],$data['msgid'],false,$ip);
  111. }
  112.  
  113. $_emitter_type;
Add Comment
Please, Sign In to add comment