Advertisement
BlaquuTM

Untitled

Jan 13th, 2019
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.27 KB | None | 0 0
  1. <?php
  2. /********************************
  3.  
  4. Author: Tymoteusz `Razor Meister` Bartnik
  5.  
  6. Contact: battnik90@gmail.com
  7.  
  8. Function: admin_list()
  9.  
  10. ********************************/
  11.  
  12. class admin_list
  13. {
  14. private static $lang;
  15. private static $name;
  16. private static $cfg;
  17.  
  18. static public function construct($event_name)
  19. {
  20. global $cfg;
  21. self::$cfg = $cfg[$event_name];
  22. self::$name = $event_name;
  23. }
  24.  
  25. static public function before_clients()
  26. {
  27. global $query, $clients, $language, $xbot, $query_sql;
  28.  
  29. self::$lang = $language['function']['connect_message'];
  30. $lan = $language['function']['admin_list'];
  31.  
  32. foreach(self::$cfg['info'] as $channel_id => $info)
  33. {
  34. $desc = "[center][img]http://147.135.163.97/ftp/adminlistall.png[/img][/center]\n";
  35. $count_all = 0;
  36. $count_online__admin_all = 0;
  37. $loop_rotation = 0;
  38. $all_admins = count($info['admins_server_groups']);
  39.  
  40. foreach($info['admins_server_groups'] as $admin_group)
  41. {
  42. $loop_rotation++;
  43. $count = 0;
  44. $count_online_admin = 0;
  45. $admins = array();
  46.  
  47. if(!$xbot::check_group($admin_group, self::$name, $rang_name))
  48. continue;
  49.  
  50. $clients_from_group = $query->getElement('data', $query->serverGroupClientList($admin_group));
  51.  
  52. if($clients_from_group != NULL)
  53. {
  54. foreach($clients_from_group as $client_from_group)
  55. {
  56. if(isset($client_from_group['cldbid']) && $client_from_group['cldbid'] != 1)
  57. {
  58. $client_online = false;
  59. foreach($clients as $client)
  60. {
  61. if($client['client_database_id'] != 1 && $client['client_database_id'] == $client_from_group['cldbid'] && !$xbot::has_group($client['client_servergroups'], $info['ignored_groups']))
  62. {
  63. $client_online = true;
  64. $count_online++;
  65. $count_online_admin++;
  66. $channel = $query->getElement('data', $query->channelInfo($client['cid']));
  67.  
  68.  
  69. if($client['client_away'] == 1 || $client['client_output_muted'] || $client['client_idle_time'] >= 1000 * self::$cfg['min_idle_time'])
  70. array_push($admins, array
  71. (
  72. 'name' => $client['client_nickname'],
  73. 'type' => "away", 'channel' => $channel['channel_name'],
  74. 'channel_id' => $client['cid'],
  75. 'uid' => $client['client_unique_identifier'],
  76. 'clid' => $client['clid'],
  77. 'dbid' => $client['client_database_id'],
  78. 'away_for' => $xbot::convert_time($client['client_idle_time']/1000),
  79. ));
  80. else
  81. array_push($admins, array
  82. (
  83. 'name' => $client['client_nickname'],
  84. 'type' => "online", 'channel' => $channel['channel_name'],
  85. 'channel_id' => $client['cid'],
  86. 'uid' => $client['client_unique_identifier'],
  87. 'clid' => $client['clid'],
  88. 'dbid' => $client['client_database_id'],
  89. 'online_for' => $xbot::convert_time(time() - $client['client_lastconnected']),
  90. ));
  91. }
  92. }
  93. if(!$client_online)
  94. {
  95. if(isset($query_sql))
  96. {
  97. $result = $query_sql->query("SELECT `connected_time` FROM `clients` WHERE `client_dbid`=".$client_from_group['cldbid']);
  98. $result = $result->fetch(PDO::FETCH_ASSOC);
  99. $connected_time = $result['connected_time'];
  100. }
  101. else
  102. $connected_time = 0;
  103.  
  104. $client_info = $query->getElement('data', $query->clientDbInfo($client_from_group['cldbid']));
  105. array_push($admins, array('name' => $client_info['client_nickname'], 'dbid' => $client_from_group['cldbid'], 'type' => "offline", 'offline_for' => $xbot::convert_time(time() - $client_info['client_lastconnected'] - $connected_time/1000)));
  106. }
  107. $count++;
  108. }
  109. }
  110. }
  111.  
  112. if($info['icons_enabled'])
  113. $desc .= "[center][size=13][b][img]".$info['icons'][$admin_group]."[/img][/b][/size][/center]".(self::$cfg['admins_count'] ? "[center][size=9]Administratorów w tej grupie: [b]".$count."[/b][/size][/center][center][size=9]Aktualnie Online z tej grupy: [b]".$count_online_admin."[/b][/size][/center]" : "");
  114. else
  115. $desc .= "[center][size=13][b]".$rang_name."[/b][/size][/center]".(self::$cfg['admins_count'] ? "[center][size=9]Administratorów w tej grupie: [b]".$count."[/b][/size][/center][center][size=9]Aktualnie Online z tej grupy: [b]".$count_online_admin."[/b][/size][/center]" : "");
  116.  
  117.  
  118. if(count($admins) == 0)
  119. $desc .= "\n ● [size=9] ".$lan['no_admins']."[/size]\n";
  120.  
  121. foreach($admins as $admin)
  122. {
  123. if($admin['name'] != " ")
  124. {
  125. $desc .= "\n";
  126.  
  127. if($admin['type'] == 'online')
  128. $desc .= " ● ".($admin['name'] == "Razor Meister" ? "[img]http://i.imgur.com/BxL3AdU.png[/img]" : "")."[size=9]Nick administratora: [URL=client://".$admin['clid']."/".$admin['uid']."]".$admin['name']."[/url]".$xbot::show_link($admin['dbid'])."[/size]\n ● [size=9]Status: [/size][color=green][b]ONLINE[/b][/color] ".$lan['for']."[b]".$admin['online_for']."[/b]\n ● [size=9]Znajduje się na kanale: [/size][b][url=channelId://".$admin['channel_id']."]".$admin['channel']."[/url][/b]\n";
  129. elseif($admin['type'] == 'away')
  130. $desc .= " ● ".($admin['name'] == "Razor Meister" ? "[img]http://i.imgur.com/BxL3AdU.png[/img]" : "")."[size=9]Nick administratora: [URL=client://".$admin['clid']."/".$admin['uid']."]".$admin['name']."[/url]".$xbot::show_link($admin['dbid'])."[/size]\n ● [size=9]Status: [/size][color=#dd8300][b]AWAY[/b][/color] ".$lan['for']."[b]".$admin['away_for']."[/b]\n ● [size=9]Znajduje się na kanale: [/size][b][url=channelId://".$admin['channel_id']."]".$admin['channel']."[/url][/b]\n";
  131. else
  132. $desc .= " ● [size=9]Nick administratora: [b]".$admin['name'].$xbot::show_link($admin['dbid'])."[/b][/size]\n ● [size=9]Status: [/size][color=red][b]OFFLINE[/b][/color] ".$lan['for']."[b]".$admin['offline_for']."[/b]\n";
  133. }
  134.  
  135. }
  136. if($loop_rotation != $all_admins)
  137. $desc .= "";
  138.  
  139. unset($admins);
  140. }
  141. $desc .= $language['function']['down_desc'];
  142.  
  143. if($xbot::check_channel_desc($channel_id, $desc))
  144. $xbot::check_error($query->channelEdit($channel_id, array('channel_description' => $desc)), self::$name, $channel_id);
  145. }
  146. }
  147. }
  148. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement