Facebook
From Ivory Goose, 5 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 221
  1. <?php
  2. class online_group{
  3.         function __construct($config,$ts_class,$ts3apk,$client){
  4.                 $cfg = $config['function']['online_group'];
  5.                 foreach($cfg['info'] as $channel_id => $info){
  6.                         $group_clients = $ts_class->getElement('data',$ts_class->serverGroupClientList($info['group'], $names = true));
  7.                         $desc = '[center][hr][size=10][b]Lista osób z grupy: '.$ts3apk->get_group_name($info['group']).'[/b][hr][/center][size=9]\n';
  8.                         if(isset($group_clients[0]['cldbid'])){
  9.                                 $online = 0;
  10.                                 $all_clients = count($group_clients);
  11.                                 foreach($group_clients as $group_client){
  12.                                         $status = 'offline';
  13.                                         $client_info = $ts_class->getElement('data', $ts_class->clientDbInfo($group_client['cldbid']));
  14.                                         $user = $ts_class->clientGetIds($group_client["client_unique_identifier"])["data"][0];
  15.                                         if(isset($user['cluid'])){
  16.                                                 if($group_client['client_unique_identifier'] == $user['cluid']){
  17.                                                         $online++;
  18.                                                         $client_info = $ts_class->getElement('data', $ts_class->clientInfo($user['clid']));
  19.                                                         if($client_info['client_output_muted'] == 1 or $client_info['client_input_muted'] == 1){
  20.                                                                 $status = 'away';
  21.                                                         }
  22.                                                         else{
  23.                                                                 $status = 'online';
  24.                                                         }
  25.                                                 }
  26.                                                 else{
  27.                                                         $status = 'offline';
  28.                                                 }
  29.                                         }
  30.                                         if($status == 'online'){
  31.                                                 $desc .= '› [url=client://0/'.$client_info['client_unique_identifier'].'][b]'.$client_info['client_nickname'].'[/b][/url] jest [color=green]✔[/color] od [[b]'.$ts3apk->convert_second2($client_info['connection_connected_time'] / 1000).'[/b]]\n';
  32.                                         }
  33.                                         elseif($status == 'away'){
  34.                                                 $desc .= '› [url=client://0/'.$client_info['client_unique_identifier'].'][b]'.$client_info['client_nickname'].'[/b][/url] jest [color=orange][b]⌚[/b][/color] od [[b]'.$ts3apk->convert_second2($client_info['connection_connected_time'] / 1000).'[/b]]\n';
  35.                                         }
  36.                                         else{
  37.                                                 $desc .= '› [url=client://0/'.$client_info['client_unique_identifier'].'][b]'.$client_info['client_nickname'].'[/b][/url] jest [color=red]✖[/color] od [[b]'.$ts3apk->convert_second2(time() - $client_info['client_lastconnected']).'[/b]]\n';
  38.                                         }
  39.                                 }
  40.                         }
  41.                         else{
  42.                                 $all_clients = 0;
  43.                                 $online = 0;
  44.                                 $desc .= '(0/'.$all_clients.')[hr][/center][size=9]\n';
  45.                                 $desc .= '  › [b]Brak osób w grupie[/b]\n';
  46.                         }
  47.                         $desc .= '[hr][/size][right]'.desc_down;
  48.                         $channel_info = $ts_class->getElement('data',$ts_class->channelInfo($channel_id));
  49.                         if($channel_info['channel_name'] == str_replace(['[count]','[max]','[group_name]'],[$online,$all_clients,$ts3apk->get_group_name($info['group'])],$info['channel_name'])){
  50.                                 $ts_class->channelEdit($channel_id, ['channel_description' => $desc]);
  51.                         }
  52.                         else{
  53.                                 $ts_class->channelEdit($channel_id, ['channel_description' => $desc, 'channel_name' => str_replace(['[count]','[max]','[group_name]'],[$online,$all_clients,$ts3apk->get_group_name($info['group'])],$info['channel_name'])]);
  54.                         }
  55.                 }
  56.         }
  57. }
  58.