'; exit; } if(isset($_POST["uid"])){ $uid = @$_POST["uid"]; $uid = urlencode($uid); $uid = str_replace("%2B", "+",$uid); $uid = str_replace("%2F", "/",$uid); $uid = str_replace("%3D", "=",$uid); } $tsAdmin = new ts3admin($daten["ip"], $daten["queryport"]); if($tsAdmin->getElement('success', $tsAdmin->connect())) { $tsAdmin->login($daten["user"], $daten["pass"]); $tsAdmin->selectServer($daten["port"]); $tsAdmin->setName($daten["botname"]); $data=array(); $data=$_POST; if(isset($data["code"]) && $data["code"] == $daten["code"]){ if(isset($uid) && isset($data["kick"])){ $id = $tsAdmin->clientGetIds($uid); if($tsAdmin->getElement('success', $tsAdmin->clientKick($id['data']['0']['clid'], 'server', $data["kick"]))){ echo 'Kick ('.$uid.') erledigt'; } else{ echo 'Fehler beim Kick ('.$uid.')'; } } if(isset($uid) && isset($data["ban"])){ $id = $tsAdmin->clientGetIds($uid); $ausgabe = $tsAdmin->banClient($id['data']['0']['clid'], 0, $data["ban"]); if($ausgabe > 0){ echo 'Ban ('.$uid.') erledigt'; } else{ echo 'Ban ('.$uid.') fehlgeschlagen'; } } if(isset($uid) && isset($data["unban"])){ $list = $tsAdmin->banList(); foreach($list as $l){ foreach($l as $a){ if($a["uid"] == $uid){ if($tsAdmin->getElement('success', $tsAdmin->banDelete($a["banid"]))){ echo 'Unban ('.$uid.') erledigt'; } else{ echo 'Unban ('.$uid.') fehlgeschlagen'; } } } } } if(isset($uid) && isset($data["pm"])){ $id = $tsAdmin->clientGetIds($uid); if($tsAdmin->getElement('success', $tsAdmin->sendMessage(1, $id['data']['0']['clid'], $data["pm"]))){ echo 'PN ('.$uid.') gesendet'; } else{ echo 'PN ('.$uid.') nicht gesendet'; } } if(isset($uid) && isset($data["poke"])){ $id = $tsAdmin->clientGetIds($uid); if($tsAdmin->getElement('success', $tsAdmin->clientPoke($id['data']['0']['clid'], $data["poke"]))){ echo 'User ('.$uid.') angestupst'; } else{ echo 'User ('.$uid.') nicht angestupst'; } } if(isset($data["listclients"])){ $clients = $tsAdmin->clientList("-uid -groups"); $out = ""; foreach($clients['data'] as $client) { $out .= $client['client_nickname'].",".$client['client_unique_identifier']."|"; } echo $out; } if(isset($uid) && isset($data["beschreibung"])){ $id = $tsAdmin->clientGetIds($uid); $setts = array(); $setts["client_description"] = $data["beschreibung"]; if($tsAdmin->getElement('success', $tsAdmin->clientEdit($id['data']['0']['clid'], $setts))){ echo 'User ('.$uid.') beschrieben'; } else{ echo 'User ('.$uid.') nicht beschrieben'; } } if(isset($uid) && isset($data["move"])){ $id = $tsAdmin->clientGetIds($uid); $cid = GetChannelIDbyName($data["move"]); if($cid != -1){ if($tsAdmin->getElement('success', $tsAdmin->clientMove($id['data']['0']['clid'], $cid, ""))){ echo 'User ('.$uid.') in den Channel '.$data["move"].' gemovt'; } else{ echo 'User ('.$uid.') wurde nicht gemovt'; } } else{ echo 'Channel wurde nicht gefunden!'; } } if(isset($data["channel"])){ $cpw = ""; if(isset($data["pw"])){ $cpw = $data["pw"]; } $beschreibung = ""; if(isset($data["tophic"])){ $beschreibung = $data["tophic"]; } $cdata = array(); $cdata["channel_name"] = $data["channel"]; $cdata["channel_password"] = $cpw; $cdata["channel_topic"] = $beschreibung; $cdata["channel_flag_permanent"] = 1; $channel = $tsAdmin->channelCreate($cdata); if($channel["data"]["cid"] > 1){ echo 'Channel '.$data["channel"].' wurde erstellt'; } else{ echo 'Channel '.$data["channel"].' wurde nicht erstellt'; } } if(isset($data["subchannel"])){ $cpw = ""; if(isset($data["pw"])){ $cpw = $data["pw"]; } $beschreibung = ""; if(isset($data["tophic"])){ $beschreibung = $data["tophic"]; } $cdata = array(); $cdata["channel_name"] = $data["subchannel"]; $cdata["channel_password"] = $cpw; $cdata["channel_topic"] = $beschreibung; $cdata["channel_flag_permanent"] = 1; $channel = $tsAdmin->channelCreate($cdata); if($channel["data"]["cid"] > 1){ $cid = GetChannelIDbyName($data["to"]); if($cid != -1){ if($tsAdmin->getElement('success', $tsAdmin->channelMove($channel["data"]["cid"], $cid, 0))){ echo 'Sub-Channel '.$data["subchannel"].' wurde erstellt'; } else{ echo 'Sub-Channel '.$data["subchannel"].' wurde nicht erstellt'; $tsAdmin->channelDelete($channel["data"]["cid"], 1); } } else{ echo 'Sub-Channel '.$data["subchannel"].' wurde nicht erstellt (Ziel wurde nicht gefunden)'; } } else{ echo 'Sub-Channel '.$data["subchannel"].' wurde nicht erstellt'; } } if(isset($data["remchannel"])){ $cid = GetChannelIDbyName($data["remchannel"]); if($cid != -1){ if($tsAdmin->getElement('success', $tsAdmin->channelDelete($cid, 1))){ echo 'Channel '.$data["remchannel"].' wurde geloescht'; } else{ echo 'Channel '.$data["remchannel"].' wurde nicht geloescht'; } } else{ echo 'Channel '.$data["remchannel"].' wurde nicht geloescht (Channel nicht gefunden)'; } } if(isset($uid) && isset($data["svrgrpadd"])){ $id = $tsAdmin->clientGetIds($uid); $svrgroup = GetServerGroupIDbyName($data["svrgrpadd"]); if($svrgroup != -1){ if(!IsUserInServergroup($id['data']['0']['clid'], $svrgroup)){ if($tsAdmin->getElement('success', $tsAdmin->serverGroupAddClient($svrgroup, ClientGetDBID($uid)))){ echo 'User ('.$uid.') zur Servergruppe '.$data["svrgrpadd"].' gesetzt'; } else{ echo 'User ('.$uid.') zur Servergruppe '.$data["svrgrpadd"].' setzen ist fehlgeschlagen'; } } else{ echo 'User ('.$uid.') ist bereits in der Servergruppe '.$data["svrgrpadd"]; } } else{ echo 'Die Servergruppe '.$data["svrgrpadd"].' gibt es nicht'; } } if(isset($uid) && isset($data["svrgrprem"])){ $id = $tsAdmin->clientGetIds($uid); $svrgroup = GetServerGroupIDbyName($data["svrgrprem"]); if($svrgroup != -1){ if(IsUserInServergroup($id['data']['0']['clid'], $svrgroup)){ if($tsAdmin->getElement('success', $tsAdmin->serverGroupDeleteClient($svrgroup, ClientGetDBID($uid)))){ echo 'User ('.$uid.') aus Servergruppe '.$data["svrgrprem"].' geloescht'; } else{ echo 'User ('.$uid.') aus Servergruppe '.$data["svrgrprem"].' loeschen ist fehlgeschlagen'; } } else{ echo 'User ('.$uid.') ist nicht in der Servergruppe '.$data["svrgrprem"]; } } else{ echo 'Die Servergruppe '.$data["svrgrprem"].' gibt es nicht'; } } if(isset($data["svrmsg"])){ if($tsAdmin->getElement('success', $tsAdmin->sendMessage(3, GetServerID(), $data["svrmsg"]))){ echo 'Server Message gesendet'; } else{ echo 'Server Message nicht gesendet'; } } if(isset($data["sendchannel"]) && isset($data["channelmsg"])){ $channel = GetChannelIDbyName($data["sendchannel"]); echo $channel; if($channel != -1){ if($tsAdmin->getElement('success', $tsAdmin->sendMessage(2, $channel, $data["channelmsg"]))){ echo 'Channel Message gesendet'; } else{ echo 'Channel Message nicht gesendet'; } } else{ echo 'Channel Message nicht gesendet! Channel '.$data["sendchannel"].' exestiert nicht'; } } if(isset($uid) && isset($data["changrp"]) && isset($data["grpchan"])){ $id = $tsAdmin->clientGetIds($uid); $channelgrp = GetChannelGroupIDbyName($data["changrp"]); $channel = GetChannelIDbyName($data["grpchan"]); if($channel != -1){ if($tsAdmin->getElement('success', $tsAdmin->setClientChannelGroup($channelgrp, $channel, ClientGetDBID($uid)))){ echo 'User ('.$uid.') zur Channelgruppe '.$data["changrp"].' gesetzt'; } else{ echo 'User ('.$uid.') zur Channelgruppe '.$data["changrp"].' setzen ist fehlgeschlagen'; } } else{ echo 'Die Channelgruppe '.$data["changrp"].' gibt es nicht'; } } } else{ echo "Sicherheitscode ist falsch"; } } else{ echo 'Verbindungsfehler'; } function GetChannelIDbyName($channelname){ global $tsAdmin; $channels = $tsAdmin->channelList(); foreach($channels["data"] as $c){ if($c["channel_name"] == $channelname)return $c["cid"]; } return -1; } function GetServerGroupIDbyName($servergroup){ global $tsAdmin; $gruppen = $tsAdmin->serverGroupList(); foreach($gruppen["data"] as $c){ if($c["name"] == $servergroup)return $c["sgid"]; } return -1; } function GetChannelGroupIDbyName($channelgroup){ global $tsAdmin; $gruppen = $tsAdmin->channelGroupList(); foreach($gruppen["data"] as $c){ if($c["name"] == $channelgroup)return $c["cgid"]; } return -1; } function IsUserInServergroup($clid, $gruppe){ global $tsAdmin; $user = $tsAdmin->clientInfo($clid); $servergroups = explode(",", $user["data"]["client_servergroups"]); foreach($servergroups as $svrgrp){ if($svrgrp == $gruppe)return 1; } return 0; } function ClientGetDBID($uid){ global $tsAdmin; $user = $tsAdmin->clientGetNameFromUid($uid); return $user["data"]["cldbid"]; } function GetServerID(){ global $tsAdmin; $svr = $tsAdmin->serverInfo(); return $svr["data"]["virtualserver_id"]; } ?>