* -------------------
* begin : Sunday, Dec 22, 2009
* copyright : (C) 2009-2010 RK Programming
* email : robin@rk-programming.de
* version : 0.9.1
* last modified : Tuesday, Dec 29, 2009
*
* @author RK Programming
* @copyright Copyright (c) 2009-2010, Robin K.
* @version 0.9.1
TS3remote and TS3lib is free software. You can redistribute it and/or
modify it under the terms of the GNU General Public License as published
by the Free Software Foundation, version 1.3.
**/
define('TS3REMOTE_VERSION', '0.9.0');
require_once('ts3lib.class.php');
class TS3remote extends TS3lib
{
protected $loggedin;
function __construct($ip, $port)
{
parent::__construct($ip, $port);
$this->loggedin = false;
}
function __destruct()
{
parent::__destruct();
}
public function r_login($user, $password)
{
$user = $this->escape($user);
$password = $this->escape($password);
if( $this->performResultless("login client_login_name=$user client_login_password=$password") )
{
$this->loggedin = true;
return true;
}
else
{
return false;
}
}
public function r_logout()
{
$this->loggedin = false;
return $this->performResultless('logout');
}
public function r_version($parse=TS3_PARSED) // or TS3_RAW
{
return $this->perform('version', $parse);
}
public function r_hostinfo($parse=TS3_PARSED)
{
return $this->perform('hostinfo', $parse);
}
public function r_instanceinfo($parse=TS3_PARSED)
{
return $this->perform('instanceinfo', $parse);
}
public function r_instanceedeit($var, $value)
{
$var = $this->escape($var);
$value = $this->escape($value);
return $this->performResultless("instanceedit $var=$value");
}
public function r_bindinglist($parse=TS3_PARSED)
{
return $this->perform('bindinglist', $parse);
}
public function r_use($sid, $port=0)
{
$sid = $this->escape($sid);
$this->vserver = $sid;
if( $port > 0 )
{
$port = $this->escape($port);
return $this->performResultless("use sid=$sid port=$port");
}
else
{
return $this->performResultless("use sid=$sid");
}
}
public function r_serverlist($all=true, $parse=TS3_PARSED)
{
if( $all ) $all = ' -all';
else $all = '';
return $this->perform("serverlist$all", $parse);
}
public function r_serveridgetbyport($sid, $parse=TS3_PARSED)
{
$sid = $this->escape($sid);
return $this->perform("serveridgetbyport virtualserver_port=$sid", $parse);
}
public function r_serverdelete($sid)
{
$sid = $this->escape($sid);
return $this->performResultless("serverdelete sid=$sid");
}
public function r_servercreate($vServerName, $props, $parse=TS3_PARSED)
{
$vServerName = $this->escape($vServerName);
$countProps = count($props);
for($i=0; $i<$countProps; $i++)
{
$props[$i] = $this->escape($props[$i][0]).'='.$this->escape($props[$i][1]);
}
$propString = implode(' ', $props);
return $this->perform("servercreate virtualserver_name=$vServerName $propString", $parse);
}
public function r_serverstart($sid)
{
$sid = $this->escape($sid);
return $this->performResultless("serverstart sid=$sid");
}
public function r_serverstop($sid)
{
$sid = $this->escape($sid);
return $this->performResultless("serverstop sid=$sid");
}
/*
serverprocessstop
*/
public function r_serverinfo($parse=TS3_PARSED)
{
return $this->perform('serverinfo', $parse);
}
public function r_serverrequestconnectioninfo($parse=TS3_PARSED)
{
return $this->perform('serverrequestconnectioninfo', $parse);
}
public function r_serveredit($props)
{
//print_r($props);
//$props = $this->escape($props);
//print_r($props);
$countProps = count($props);
for($i=0; $i<$countProps; $i++)
{
$props[$i] = $this->escape($props[$i][0]).'='.$this->escape($props[$i][1]);
}
$propString = implode(' ', $props);
//echo $propString;
return $this->performResultless("serveredit $propString");
}
public function r_servergrouplist($parse=TS3_PARSED)
{
if( $this->vserver > 0 )
return $this->perform('servergrouplist', $parse);
else
return false;
}
public function r_servergroupadd($grpName, $parse=TS3_PARSED)
{
$grpName = $this->escape($grpName);
return $this->perform("servergroupadd name=$grpName", $parse);
}
public function r_servergroupdel($sgid, $force=1)
{
$sgid = $this->escape($sgid);
if( $force != 0 ) $force = 1;
return $this->performResultless("servergroupdel sgid=$sgid force=$force");
}
public function r_servergrouprename($sgid, $newName)
{
$sgid = $this->escape($sgid);
$newName = $this->escape($newName);
return $this->performResultless("servergrouprename sgid=$sgid name=$newName");
}
public function r_servergrouppermlist($sgid, $parse=TS3_PARSED)
{
$sgid = $this->escape($sgid);
return $this->perform("servergrouppermlist sgid=$sgid", $parse);
}
public function r_servergroupaddperm($sgid, $permid, $value, $negated, $skip)
{
$sgid = $this->escape($sgid);
$permid = $this->escape($permid);
$value = $this->escape($value);
$negated = $this->escape($negated);
$skip = $this->escape($skip);
return $this->performResultless("servergroupaddperm sgid=$sgid permid=$permid permvalue=$value permnegated=$negated permskip=$skip");
}
public function r_servergroupdelperm($sgid, $permid)
{
$sgid = $this->escape($sgid);
$permid = $this->escape($permid);
return $this->performResultless("servergroupdelperm sgid=$sgid permid=$permid");
}
public function r_servergroupaddclient($sgid, $clientdbid)
{
$sgid = $this->escape($sgid);
$clientdbid = $this->escape($clientdbid);
return $this->performResultless("servergroupaddclient sgid=$sgid cldbid=$clientdbid");
}
public function r_servergroupdelclient($sgid, $clientdbid)
{
$sgid = $this->escape($sgid);
$clientdbid = $this->escape($clientdbid);
return $this->performResultless("servergroupdelclient sgid=$sgid cldbid=$clientdbid");
}
public function r_servergroupclientlist($sgid, $names=true, $parse=TS3_PARSED)
{
if( $names ) $names = ' -names';
else $names = '';
return $this->perform("servergroupclientlist sgid=$sgid$names", $parse);
}
public function r_servergroupsbyclientid($clientdbid, $parse=TS3_PARSED)
{
$sgid = $this->escape($sgid);
return $this->perform("servergroupsbyclientid cldbid=$clientdbid", $parse);
}
public function r_serversnapshotcreate($parse=TS3_PARSED)
{
return $this->perform("serversnapshotcreate", $parse);
}
/*
* serversnapshotdeploy
* servernotifyregister
* servernotifyunregister
*/
public function r_gm($msg)
{
$msg = $this->escape($msg);
return $this->performResultless("gm msg=$msg");
}
public function r_sendtextmessage($targetmode, $target, $msg)
{
$targetmode = $this->escape($targetmode);
$target = $this->escape($target);
$msg = $this->escape($msg);
return $this->performResultless("sendtextmessage targetmode=$targetmode target=$target msg=$msg");
}
public function r_logview($limit=50, $parse=TS3_PARSED)
{
$limit = $this->escape($limit);
return $this->perform("logview limitcount=$limit", $parse);
}
public function r_logadd($level, $msg)
{
$level = $this->escape($level);
$msg = $this->escape($msg);
return $this->performResultless("logadd loglevel=$level logmsg=$msg");
}
public function r_channellist($topic='', $flags='', $voice='', $limits='', $parse=TS3_PARSED)
{
if( $topic !== '' ) $topic = ' -topic';
if( $flags !== '' ) $flags = ' -flags';
if( $voice !== '' ) $voice = ' -voice';
if( $limits !== '' ) $limits = ' -limits';
return $this->perform("channellist$topic$flags$voice$limits", $parse);
}
public function r_channelinfo($cid, $parse=TS3_PARSED)
{
$cid = $this->escape($cid);
return $this->perform("channelinfo cid=$cid", $parse);
}
/*
channelfind (page 16 pdf)
...
...
*/
public function r_channelfind($pattern, $parse=TS3_PARSED)
{
$pattern = $this->escape($pattern);
return $this->perform("channelfind pattern=$cid", $parse);
}
public function r_channelmove($cid, $newParentid, $sortorder='')
{
$cid = $this->escape($cid);
$newParentid = $this->escape($newParentid);
if( $sortorder !== '' ) $sortorder = ' order='.$this->escape($sortorder);
//echo "channelmove cid=$cid cpid=$newParentid$sortorder\n";
return $this->performResultless("channelmove cid=$cid cpid=$newParentid$sortorder");
}
public function r_channelcreate($name, $props, $parse=TS3_PARSED, $escape=true)
{
if( !is_array($props) ) return false;
if( $escape )
{
$name = $this->escape($name);
$props = $this->escape($props);
}
$countProps = count($props);
for($i=0; $i<$countProps; $i++)
{
$props[$i] = $props[$i][0].'='.$props[$i][1];
}
$propString = implode(' ', $props);
return $this->perform("channelcreate channel_name=$name $propString", $parse);
}
public function r_channeledit($cid, $props)
{
if( !is_array($props) ) return false;
$cid = $this->escape($cid);
$props = $this->escape($props);
$countProps = count($props);
for($i=0; $i<$countProps; $i++)
{
$props[$i] = $props[$i][0].'='.$props[$i][1];
}
$propString = implode(' ', $props);
return $this->performResultless("channeledit cid=$cid $propString");
}
public function r_channeldelete($cid, $force=1)
{
$cid = $this->escape($cid);
if( $force != 0 ) $force = 1;
return $this->performResultless("channeldelete cid=$cid force=$force");
}
public function r_channelpermlist($cid, $parse=TS3_PARSED)
{
$cid = $this->escape($cid);
return $this->perform("channelpermlist cid=$cid", $parse);
}
public function r_channeladdperm($cid, $perms)
{
$cid = $this->escape($cid);
$perms = $this->escape($perms);
$countPerms = count($perms);
for($i=0; $i<$countPerms; $i++)
{
$perms[$i] = $perms[$i][0].'='.$perms[$i][1].' '.$perms[$i][2].'='.$perms[$i][3];
}
$permString = implode('|', $perms);
return $this->performResultless("channeladdperm cid=$cid $permString");
}
public function r_channeldelperm($cid, $perms)
{
$cid = $this->escape($cid);
$perms = $this->escape($perms);
$countPerms = count($perms);
for($i=0; $i<$countPerms; $i++)
{
$perms[$i] = $perms[$i][0].'='.$perms[$i][1];
}
$permString = implode('|', $perms);
return $this->performResultless("channeldelperm cid=$cid $permString");
}
public function r_channelgrouplist($parse=TS3_PARSED)
{
return $this->perform("channelgrouplist", $parse);
}
public function r_channelgroupadd($name, $parse=TS3_PARSED)
{
$name = $this->escape($name);
return $this->perform("channelgroupadd name=$name", $parse);
}
public function r_channelgroupdel($cgid, $force=1)
{
$cgid = $this->escape($cgid);
if( $force != 0 ) $force = 1;
return $this->performResultless("channelgroupdel cgid=$cgid force=$force");
}
public function r_channelgrouprename($cgid, $name)
{
$cgid = $this->escape($cgid);
$name = $this->escape($name);
return $this->performResultless("channelgrouprename cgid=$cgid name=$name");
}
public function r_channelgroupaddperm($cgid, $perms)
{
$cgid = $this->escape($cgid);
$perms = $this->escape($perms);
$countPerms = count($perms);
for($i=0; $i<$countPerms; $i++)
{
$perms[$i] = $perms[$i][0].'='.$perms[$i][1].' '.$perms[$i][2].'='.$perms[$i][3];
}
$permString = implode('|', $perms);
return $this->performResultless("channelgroupaddperm cid=$cgid $permString");
}
public function r_channelgroupdelperm($cgid, $perms)
{
$cgid = $this->escape($cgid);
$perms = $this->escape($perms);
$countPerms = count($perms);
for($i=0; $i<$countPerms; $i++)
{
$perms[$i] = $perms[$i][0].'='.$perms[$i][1];
}
$permString = implode('|', $perms);
return $this->performResultless("channelgroupdelperm cid=$cgid $permString");
}
public function r_channelgrouppermlist($cgid, $parse=TS3_PARSED)
{
$cgid = $this->escape($cgid);
return $this->perform("channelgrouppermlist cgid=$cgid", $parse);
}
public function r_channelgroupclientlist($cid=0, $clid=0, $cgid=0, $parse=TS3_PARSED)
{
if( $cid != 0 && $cid != false ) $cid = ' cid='.$this->escape($cid);
if( $clid != 0 && $clid != false ) $clid = ' clid='.$this->escape($clid);
if( $cgid != 0 && $cgid != false ) $cgid = ' cgid='.$this->escape($cgid);
return $this->perform("channelgroupclientlist$cid$clid$cgid", $parse);
}
public function r_setclientchannelgroup($cgid, $cid, $cldbid)
{
$cgid = $this->escape($cgid);
$cid = $this->escape($cid);
$cldbid = $this->escape($cldbid);
return $this->performResultless("setclientchannelgroup cgid=$cgid cid=$cid cldbid=$cldbid");
}
public function r_clientlist($uid='', $away='', $voice='', $groups='', $info='', $parse=TS3_PARSED)
{
if( $uid != '' ) $uid = ' -uid';
if( $away != '' ) $away = ' -away';
if( $voice != '' ) $voice = ' -voice';
if( $groups != '' ) $groups = ' -groups';
if( $info != '' ) $info = ' -info';
return $this->perform("clientlist$uid$away$voice$groups$info", $parse);
}
public function r_clientinfo($clid, $parse=TS3_PARSED)
{
$clid = $this->escape($clid);
return $this->perform("clientinfo clid=$clid", $parse);
}
public function r_clientfind($namePattern, $parse=TS3_PARSED)
{
$namePattern = $this->escape($namePattern);
return $this->perform("clientfind pattern=$namePattern", $parse);
}
public function r_clientedit($clid, $props)
{
$clid = $this->escape($clid);
$props = $this->escape($props);
$countProps = count($props);
for($i=0; $i<$countProps; $i++)
{
$props[$i] = $props[$i][0].'='.$props[$i][1];
}
$propString = implode(' ', $props);
return $this->performResultless("clientedit clid=$clid $propString");
}
public function r_clientdblist($parse=TS3_PARSED)
{
return $this->perform("clientdblist", $parse);
}
public function r_clientdbfind($clPattern, $uid='', $parse=TS3_PARSED)
{
$clPattern = $this->escape($clPattern);
if( $uid != '' ) $uid = ' -uid';
return $this->perform("clientdbfind pattern=$clPattern$uid", $parse);
}
public function r_clientdbedit($cldbid, $props)
{
$cldbid = $this->escape($cldbid);
$countProps = count($props);
for($i=0; $i<$countProps; $i++)
{
$props[$i] = $props[$i][0].'='.$props[$i][1];
}
$propString = implode(' ', $props);
return $this->performResultless("clientdbedit cldbid=$cldbid $propString");
}
public function r_clientdbdelete($cldbid)
{
$cldbid = $this->escape($cldbid);
return $this->performResultless("clientdbdelete cldbid=$cldbid");
}
public function r_clientgetids($cluid, $parse=TS3_PARSED)
{
$cluid = $this->escape($cluid);
return $this->perform("clientgetids cluid=$cluid", $parse);
}
public function r_clientgetdbidfromuid($cluid, $parse=TS3_PARSED)
{
$cluid = $this->escape($cluid);
return $this->perform("clientgetdbidfromuid cluid=$cluid", $parse);
}
public function r_clientgetnamefromuid($cluid, $parse=TS3_PARSED)
{
$cluid = $this->escape($cluid);
return $this->perform("clientgetnamefromuid cluid=$cluid", $parse);
}
public function r_clientgetnamefromdbid($cldbid, $parse=TS3_PARSED)
{
$cldbid = $this->escape($cldbid);
return $this->perform("clientgetnamefromdbid cldbid=$cldbid", $parse);
}
public function r_clientsetserverquerylogin($name, $parse=TS3_PARSED)
{
$name = $this->escape($name);
return $this->perform("clientsetserverquerylogin client_login_name=$name", $parse);
}
public function r_clientupdate($props)
{
$countProps = count($props);
for($i=0; $i<$countProps; $i++)
{
$props[$i] = $this->escape($props[$i][0]).'='.$this->escape($props[$i][1]);
}
$propString = implode(' ', $props);
return $this->performResultless("clientupdate $propString");
}
public function r_clientmove($clid, $cid, $cpw='')
{
$clid = $this->escape($clid);
$cid = $this->escape($cid);
if( $cpw != '' ) $cpw = ' cpw='.$this->escape($cpw);
if( is_array($clid) )
{
$countClid = count($clid);
for($i=0; $i<$countClid; $i++)
{
$clid[$i] = $clid[$i][0].'='.$clid[$i][1];
}
$clidString = implode('|', $clid);
}
else
{
$clidString = ' clid='.$clid;
}
return $this->performResultless("clientmove $clidString cid=$cid$cpw");
}
public function r_clientkick($clid, $reasonid=5, $reasonmsg='')
{
$clid = $this->escape($clid);
$reasonid = $this->escape($reasonid);
if( $reasonmsg != '' ) $reasonmsg = ' reasonmsg='.$this->escape($reasonmsg);
if( is_array($clid) )
{
$countClid = count($clid);
for($i=0; $i<$countClid; $i++)
{
$clid[$i] = $clid[$i][0].'='.$clid[$i][1];
}
$clidString = implode('|', $clid);
}
else
{
$clidString = ' clid='.$clid;
}
return $this->performResultless("clientkick $clidString reasonid=$reasonid$reasonmsg");
}
public function r_clientpoke($clid, $msg)
{
$clid = $this->escape($clid);
$msg = $this->escape($msg);
if( is_array($clid) )
{
$countClid = count($clid);
for($i=0; $i<$countClid; $i++)
{
$clid[$i] = $clid[$i][0].'='.$clid[$i][1];
}
$clidString = implode('|', $clid);
}
else
{
$clidString = ' clid='.$clid;
}
return $this->performResultless("clientpoke $clidString msg=$msg");
}
public function r_clientpermlist($cldbid, $parse=TS3_PARSED)
{
$cldbid = $this->escape($cldbid);
return $this->perform("clientpermlist cldbid=$cldbid", $parse);
}
public function r_clientaddperm($cldbid, $perms)
{
$cldbid = $this->escape($cldbid);
$perms = $this->escape($perms);
$countPerms = count($perms);
for($i=0; $i<$countPerms; $i++)
{
$perms[$i] = $perms[$i][0].'='.$perms[$i][1].' '.$perms[$i][2].'='.$perms[$i][3].' '.$perms[$i][4].'='.$perms[$i][5];
}
$permString = implode('|', $perms);
return $this->performResultless("clientaddperm cldbid=$cldbid $permString");
}
public function r_clientdelperm($cldbid, $perms)
{
$cldbid = $this->escape($cldbid);
$perms = $this->escape($perms);
$countPerms = count($perms);
for($i=0; $i<$countPerms; $i++)
{
$perms[$i] = $perms[$i][0].'='.$perms[$i][1];
}
$permString = implode('|', $perms);
return $this->performResultless("clientdelperm cldbid=$cldbid $permString");
}
public function r_channelclientpermlist($cid, $cldbid, $parse=TS3_PARSED)
{
$cid = $this->escape($cid);
$cldbid = $this->escape($cldbid);
return $this->perform("channelclientpermlist cid=$cid cldbid=$cldbid", $parse);
}
public function r_channelclientaddperm($cid, $cldbid, $perms)
{
$cid = $this->escape($cid);
$cldbid = $this->escape($cldbid);
$perms = $this->escape($perms);
$countPerms = count($perms);
for($i=0; $i<$countPerms; $i++)
{
$perms[$i] = $perms[$i][0].'='.$perms[$i][1].' '.$perms[$i][2].'='.$perms[$i][3];
}
$permString = implode('|', $perms);
return $this->performResultless("channelclientaddperm cid=$cid cldbid=$cldbid $permString");
}
public function r_channelclientdelperm($cid, $cldbid, $perms)
{
$cid = $this->escape($cid);
$cldbid = $this->escape($cldbid);
$perms = $this->escape($perms);
$countPerms = count($perms);
for($i=0; $i<$countPerms; $i++)
{
$perms[$i] = $perms[$i][0].'='.$perms[$i][1];
}
$permString = implode('|', $perms);
return $this->performResultless("channelclientdelperm cid=$cid cldbid=$cldbid $permString");
}
public function r_permissionlist($parse=TS3_PARSED)
{
return $this->perform("permissionlist", $parse);
}
public function r_permoverview($cid, $cldbid, $permid=0, $parse=TS3_PARSED)
{
$cid = $this->escape($cid);
$cldbid = $this->escape($cldbid);
$permid = $this->escape($permid);
return $this->perform("permoverview cid=$cid cldbid=$cldbid permid=$permid", $parse);
}
public function r_permfind($permid, $parse=TS3_PARSED)
{
$permid = $this->escape($permid);
return $this->perform("permfind permid=$permid", $parse);
}
public function r_tokenlist($parse=TS3_PARSED)
{
return $this->perform("tokenlist", $parse);
}
public function r_tokenadd($tokentype, $tokenid1, $tokenid2=0, $parse=TS3_PARSED)
{
$tokentype = $this->escape($tokentype);
$tokenid1 = $this->escape($tokenid1);
$tokenid2 = $this->escape($tokenid2);
return $this->perform("tokenadd tokentype=$tokentype tokenid1=$tokenid1 tokenid2=$tokenid2", $parse);
}
public function r_tokendelete($tokenkey)
{
$tokenkey = $this->escape($tokenkey);
return $this->performResultless("tokendelete token=$tokenkey");
}
public function r_tokenuse($tokenkey)
{
$tokenkey = $this->escape($tokenkey);
return $this->performResultless("tokenuse token=$tokenkey");
}
public function r_messagelist($parse=TS3_PARSED)
{
return $this->perform("messagelist", $parse);
}
public function r_messageadd($cluid, $subject, $msg)
{
$cluid = $this->escape($cluid);
$subject = $this->escape($subject);
$msg = $this->escape($msg);
return $this->performResultless("messageadd cluid=$cluid subject=$subject message=$msg");
}
public function r_messageget($msgid, $parse=TS3_PARSED)
{
$msgid = $this->escape($msgid);
return $this->perform("messageget msgid=$msgid", $parse);
}
public function r_messageupdateflag($msgid, $readflag)
{
$msgid = $this->escape($msgid);
if( $readflag != 0 ) $readflag = 1;
return $this->performResultless("messageupdateflag msgid=$msgid flag=$readflag");
}
public function r_messagedel($msgid)
{
$msgid = $this->escape($msgid);
return $this->performResultless("messagedel msgid=$msgid");
}
public function r_complainlist($targetcldbid="", $parse=TS3_PARSED)
{
if( $targetcldbid != "" ) $targetcldbid = ' tcldbid='.$this->escape($targetcldbid);
return $this->perform("complainlist$targetcldbid", $parse);
}
public function r_complainadd($targetcldbid, $msg, $parse=TS3_PARSED)
{
$targetcldbid = $this->escape($targetcldbid);
$msg = $this->escape($msg);
return $this->perform("complainadd tcldbid=$targetcldbid message=$msg", $parse);
}
// 2. from id = client who complained about the target
public function r_complaindel($targetcldbid, $fromcldbid)
{
$targetcldbid = $this->escape($targetcldbid);
$fromcldbid = $this->escape($fromcldbid);
return $this->performResultless("complaindel tcldbid=$targetcldbid fcldbid=$fromcldbid");
}
public function r_complaindelall($targetcldbid)
{
$targetcldbid = $this->escape($targetcldbid);
return $this->performResultless("complaindelall tcldbid=$targetcldbid");
}
public function r_banclient($clid, $time=0, $reason="", $parse=TS3_PARSED)
{
$clid = $this->escape($clid);
if( $time != 0 ) $time = ' time='.$this->escape($time);
else $time = '';
if( $reason != '' ) $reason = ' banreason='.$this->escape($reason);
return $this->perform("banclient clid=$clid$time$reason", $parse);
}
public function r_banlist($parse=TS3_PARSED)
{
return $this->perform("banlist", $parse);
}
public function r_banadd($ip='', $name='', $uid='', $time=0, $reason="", $parse=TS3_PARSED)
{
if( $ip != '' ) $ip = ' ip='.$this->escape($ip);
if( $name != '' ) $name = ' name='.$this->escape($name);
if( $uid != '' ) $uid = ' uid='.$this->escape($uid);
if( $ip == '' && $name == '' && $uid == '' ) return false;
if( $time != 0 ) $time = ' time='.$this->escape($time);
else $time = '';
if( $reason != '' ) $reason = ' banreason='.$this->escape($reason);
return $this->perform("banadd$ip$name$uid$time$reason", $parse);
}
public function r_bandel($banid)
{
$banid = $this->escape($banid);
return $this->performResultless("bandel banid=$banid");
}
public function r_bandelall()
{
return $this->performResultless("bandelall");
}
/*
* ALL FILETRANSFER COMMANDS ARE STILL MISSING
*/
public function r_whoami($parse=TS3_PARSED)
{
return $this->perform("whoami", $parse);
}
/*
public function r_($parse=TS3_PARSED)
{
return $this->perform("", $parse);
}
public function r_()
{
return $this->performResultless("");
}
*/
}
//$remote = new TS3remote('xxx.xxx.xxx.xxx', 10011);
//var_dump($remote->r_login('admin', 'xxxxxxxx'));
//var_dump($remote->r_use(8));
//var_dump($remote->r_sendtextmessage(1, 2, 'Hi!'));
//var_dump($remote->r_clientpoke(2, 'p0k3d!'));
//var_dump($remote->r_serveredit('virtualserver_name','TS3 Server'));
?>