<?php
class online_group{
function __construct($config,$ts_class,$ts3apk,$client){
$cfg = $config['function']['online_group'];
foreach($cfg['info'] as $channel_id => $info){
$group_clients = $ts_class->getElement('data',$ts_class->serverGroupClientList($info['group'], $names = true));
$desc = '[center][hr][size=10][b]Lista osób z grupy: '.$ts3apk->get_group_name($info['group']).'[/b][hr][/center][size=9]\n';
if(isset($group_clients[0]['cldbid'])){
$online = 0;
$all_clients = count($group_clients);
foreach($group_clients as $group_client){
$status = 'offline';
$client_info = $ts_class->getElement('data', $ts_class->clientDbInfo($group_client['cldbid']));
$user = $ts_class->clientGetIds($group_client["client_unique_identifier"])["data"][0];
if(isset($user['cluid'])){
if($group_client['client_unique_identifier'] == $user['cluid']){
$online++;
$client_info = $ts_class->getElement('data', $ts_class->clientInfo($user['clid']));
if($client_info['client_output_muted'] == 1 or $client_info['client_input_muted'] == 1){
$status = 'away';
}
else{
$status = 'online';
}
}
else{
$status = 'offline';
}
}
if($status == 'online'){
$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';
}
elseif($status == 'away'){
$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';
}
else{
$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';
}
}
}
else{
$all_clients = 0;
$online = 0;
$desc .= '(0/'.$all_clients.')[hr][/center][size=9]\n';
$desc .= ' › [b]Brak osób w grupie[/b]\n';
}
$desc .= '[hr][/size][right]'.desc_down;
$channel_info = $ts_class->getElement('data',$ts_class->channelInfo($channel_id));
if($channel_info['channel_name'] == str_replace(['[count]','[max]','[group_name]'],[$online,$all_clients,$ts3apk->get_group_name($info['group'])],$info['channel_name'])){
$ts_class->channelEdit($channel_id, ['channel_description' => $desc]);
}
else{
$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'])]);
}
}
}
}
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}