Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /********************************
- Author: Tymoteusz `Razor Meister` Bartnik
- Contact: battnik90@gmail.com
- Function: admin_list()
- ********************************/
- class admin_list
- {
- private static $lang;
- private static $name;
- private static $cfg;
- static public function construct($event_name)
- {
- global $cfg;
- self::$cfg = $cfg[$event_name];
- self::$name = $event_name;
- }
- static public function before_clients()
- {
- global $query, $clients, $language, $xbot, $query_sql;
- self::$lang = $language['function']['connect_message'];
- $lan = $language['function']['admin_list'];
- foreach(self::$cfg['info'] as $channel_id => $info)
- {
- $desc = "[center][img]http://147.135.163.97/ftp/adminlistall.png[/img][/center]\n";
- $count_all = 0;
- $count_online__admin_all = 0;
- $loop_rotation = 0;
- $all_admins = count($info['admins_server_groups']);
- foreach($info['admins_server_groups'] as $admin_group)
- {
- $loop_rotation++;
- $count = 0;
- $count_online_admin = 0;
- $admins = array();
- if(!$xbot::check_group($admin_group, self::$name, $rang_name))
- continue;
- $clients_from_group = $query->getElement('data', $query->serverGroupClientList($admin_group));
- if($clients_from_group != NULL)
- {
- foreach($clients_from_group as $client_from_group)
- {
- if(isset($client_from_group['cldbid']) && $client_from_group['cldbid'] != 1)
- {
- $client_online = false;
- foreach($clients as $client)
- {
- if($client['client_database_id'] != 1 && $client['client_database_id'] == $client_from_group['cldbid'] && !$xbot::has_group($client['client_servergroups'], $info['ignored_groups']))
- {
- $client_online = true;
- $count_online++;
- $count_online_admin++;
- $channel = $query->getElement('data', $query->channelInfo($client['cid']));
- if($client['client_away'] == 1 || $client['client_output_muted'] || $client['client_idle_time'] >= 1000 * self::$cfg['min_idle_time'])
- array_push($admins, array
- (
- 'name' => $client['client_nickname'],
- 'type' => "away", 'channel' => $channel['channel_name'],
- 'channel_id' => $client['cid'],
- 'uid' => $client['client_unique_identifier'],
- 'clid' => $client['clid'],
- 'dbid' => $client['client_database_id'],
- 'away_for' => $xbot::convert_time($client['client_idle_time']/1000),
- ));
- else
- array_push($admins, array
- (
- 'name' => $client['client_nickname'],
- 'type' => "online", 'channel' => $channel['channel_name'],
- 'channel_id' => $client['cid'],
- 'uid' => $client['client_unique_identifier'],
- 'clid' => $client['clid'],
- 'dbid' => $client['client_database_id'],
- 'online_for' => $xbot::convert_time(time() - $client['client_lastconnected']),
- ));
- }
- }
- if(!$client_online)
- {
- if(isset($query_sql))
- {
- $result = $query_sql->query("SELECT `connected_time` FROM `clients` WHERE `client_dbid`=".$client_from_group['cldbid']);
- $result = $result->fetch(PDO::FETCH_ASSOC);
- $connected_time = $result['connected_time'];
- }
- else
- $connected_time = 0;
- $client_info = $query->getElement('data', $query->clientDbInfo($client_from_group['cldbid']));
- 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)));
- }
- $count++;
- }
- }
- }
- if($info['icons_enabled'])
- $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]" : "");
- else
- $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]" : "");
- if(count($admins) == 0)
- $desc .= "\n ● [size=9] ".$lan['no_admins']."[/size]\n";
- foreach($admins as $admin)
- {
- if($admin['name'] != " ")
- {
- $desc .= "\n";
- if($admin['type'] == 'online')
- $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";
- elseif($admin['type'] == 'away')
- $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";
- else
- $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";
- }
- }
- if($loop_rotation != $all_admins)
- $desc .= "";
- unset($admins);
- }
- $desc .= $language['function']['down_desc'];
- if($xbot::check_channel_desc($channel_id, $desc))
- $xbot::check_error($query->channelEdit($channel_id, array('channel_description' => $desc)), self::$name, $channel_id);
- }
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement