';
$starttime = microtime(true);
require_once('other/config.php');
$alert = " ";
if (isset($_POST['changeclients'])) {
$selectedclients = $_POST['selectedclients'];
echo $selectedclients;
echo '
';
$selecteduuids = $_POST['selecteduuids'];
echo $selecteduuids;
}
if (isset($_POST['updatets'])) {
$tshost = $_POST['tshost'];
$tsquery = $_POST['tsquery'];
$tsvoice = $_POST['tsvoice'];
$tsuser = $_POST['tsuser'];
$tspass = $_POST['tspass'];
$queryname = $_POST['queryname'];
$queryname2 = $_POST['queryname2'];
$defchid = $_POST['defchid'];
$timezone = $_POST['timezone'];
$slowmode = $_POST['slowmode'];
if ($mysqlcon->exec("UPDATE config set tshost='$tshost',tsquery='$tsquery',tsvoice='$tsvoice',tsuser='$tsuser',tspass='$tspass',queryname='$queryname',queryname2='$queryname2',slowmode='$slowmode',defchid='$defchid',timezone='$timezone'") === false) {
$alert = '' . $mysqlcon->errorCode() . '
';
} else {
exec("php ".__DIR__."/worker.php restart");
$alert = '' . $lang['wisvsuc'] . '';
}
require_once('other/webinterface_list.php');
}
if (isset($_POST['updatecore'])) {
$grouptime = $_POST['grouptime'];
if (isset($_POST['resetbydbchange'])) $resetbydbchange = 1; else $resetbydbchange = 0;
if (isset($_POST['msgtouser'])) $msgtouser = 1; else $msgtouser = 0;
if (isset($_POST['cleanclients'])) $cleanclients = 1; else $cleanclients = 0;
if (isset($_POST['upcheck'])) $upcheck = 1; else $upcheck = 0;
$cleanperiod = $_POST['cleanperiod'];
$uniqueid = $_POST['uniqueid'];
$boost = $_POST['boost'];
$updateinfotime = $_POST['updateinfotime'];
$logpath = addslashes($_POST['logpath']);
if (isset($_POST['substridle'])) $substridle = 1; else $substridle = 0;
$exceptuuid = $_POST['exceptuuid'];
$exceptgroup = $_POST['exceptgroup'];
if ($mysqlcon->exec("UPDATE config set grouptime='$grouptime',resetbydbchange='$resetbydbchange',msgtouser='$msgtouser',cleanclients='$cleanclients',cleanperiod='$cleanperiod',upcheck='$upcheck',uniqueid='$uniqueid',updateinfotime='$updateinfotime',substridle='$substridle',exceptuuid='$exceptuuid',exceptgroup='$exceptgroup',boost='$boost',logpath='$logpath'") === false) {
$alert = '' . $mysqlcon->errorCode() . '
';
} else {
exec("php ".__DIR__."/worker.php restart");
$alert = '' . $lang['wisvsuc'] . '';
}
require_once('other/webinterface_list.php');
}
if (isset($_POST['updatestyle'])) {
$language = $_POST['languagedb'];
$dateformat = $_POST['dateformat'];
if (isset($_POST['showexgrp'])) $showexgrp = 1; else $showexgrp = 0;
if (isset($_POST['showexcld'])) $showexcld = 1; else $showexcld = 0;
if (isset($_POST['showhighest'])) $showhighest = 1; else $showhighest = 0;
if (isset($_POST['showcolrg'])) $showcolrg = 1; else $showcolrg = 0;
if (isset($_POST['showcolcld'])) $showcolcld = 1; else $showcolcld = 0;
if (isset($_POST['showcoluuid'])) $showcoluuid = 1; else $showcoluuid = 0;
if (isset($_POST['showcoldbid'])) $showcoldbid = 1; else $showcoldbid = 0;
if (isset($_POST['showcolls'])) $showcolls = 1; else $showcolls = 0;
if (isset($_POST['showcolot'])) $showcolot = 1; else $showcolot = 0;
if (isset($_POST['showcolit'])) $showcolit = 1; else $showcolit = 0;
if (isset($_POST['showcolat'])) $showcolat = 1; else $showcolat = 0;
if (isset($_POST['showcolas'])) $showcolas = 1; else $showcolas = 0;
if (isset($_POST['showcolnx'])) $showcolnx = 1; else $showcolnx = 0;
if (isset($_POST['showcolsg'])) $showcolsg = 1; else $showcolsg = 0;
$bgcolor = $_POST['bgcolor'];
$hdcolor = $_POST['hdcolor'];
$txcolor = $_POST['txcolor'];
$hvcolor = $_POST['hvcolor'];
$ifcolor = $_POST['ifcolor'];
$wncolor = $_POST['wncolor'];
$sccolor = $_POST['sccolor'];
if (isset($_POST['showgen'])) $showgen = 1; else $showgen = 0;
include('lang.php');
if ($mysqlcon->exec("UPDATE config set language='$language',dateformat='$dateformat',showexgrp='$showexgrp',showexcld='$showexcld',showhighest='$showhighest',showcolrg='$showcolrg',showcolcld='$showcolcld',showcoluuid='$showcoluuid',showcoldbid='$showcoldbid',showcolls='$showcolls',showcolot='$showcolot',showcolit='$showcolit',showcolat='$showcolat',showcolas='$showcolas',showcolnx='$showcolnx',showcolsg='$showcolsg',bgcolor='$bgcolor',hdcolor='$hdcolor',txcolor='$txcolor',hvcolor='$hvcolor',ifcolor='$ifcolor',wncolor='$wncolor',sccolor='$sccolor',showgen='$showgen'") === false) {
$alert = '' . $mysqlcon->errorCode() . '
';
} else {
$alert = '' . $lang['wisvsuc'] . '';
}
require_once('other/webinterface_list.php');
}
if (isset($_POST['selectivclients'])) {
$seluuid = $_POST['selecteduuids'];
$uuidarr = explode(',', $seluuid);
$counttime = $_POST['counttime'];
if (isset($_POST['delclients']) && $seluuid != '' && $counttime == 0) {
require_once('ts3_lib/TeamSpeak3.php');
$ts3_VirtualServer = TeamSpeak3::factory("serverquery://" . $ts['user'] . ":" . $ts['pass'] . "@" . $ts['host'] . ":" . $ts['query'] . "/?server_port=" . $ts['voice']);
try {
$ts3_VirtualServer->selfUpdate(array(
'client_nickname' => $queryname
));
}
catch (Exception $e) {
try {
$ts3_VirtualServer->selfUpdate(array(
'client_nickname' => $queryname2
));
}
catch (Exception $e) {
echo $lang['error'], $e->getCode(), ': ', $e->getMessage();
}
}
foreach ($uuidarr as $uuid) {
if (isset($_POST['delsrvgrp'])) {
$dbremsgrp = $mysqlcon->query("SELECT cldbid,grpid from user where uuid='$uuid'");
while ($remsgrp = $dbremsgrp->fetch(PDO::FETCH_ASSOC)) {
if ($remsgrp['grpid'] != 0) {
try {
$ts3_VirtualServer->serverGroupClientDel($remsgrp['grpid'], $remsgrp['cldbid']);
}
catch (Exception $e) {
$alert = $alert . '' . sprintf($lang['errremgrp'], $uuid, $remsgrp['grpid']) . $e->getCode() . ': ' . $e->getMessage() . '
';
}
}
}
}
if ($mysqlcon->exec("DELETE FROM user WHERE uuid='$uuid'") === false) {
$alert = $alert . '' . sprintf($lang['errremdb'], $uuid) . $mysqlcon->errorCode() . '
';
} else {
$alert = $alert . '' . sprintf($lang['sccrmcld'], $uuid) . '
';
}
}
} elseif ($_POST['delclients'] == "" && $seluuid != '' && $counttime != 0) {
$dtF = new DateTime("@0");
$dtT = new DateTime("@$counttime");
$timecount = $dtF->diff($dtT)->format($timeformat);
foreach ($uuidarr as $uuid) {
if ($mysqlcon->exec("UPDATE user SET count='$counttime' WHERE uuid='$uuid'") === false) {
$alert = $alert . '' . sprintf($lang['errupcount'], $timecount, $uuid) . $mysqlcon->errorCode() . '
';
} else {
$alert = $alert . '' . sprintf($lang['sccupcount'], $uuid, $timecount) . '
';
}
}
} else {
echo $_POST['delclients'];
$alert = '' . sprintf($lang['errsel'], $seluuid, $_POST['delclients'], $counttime) . '';
}
require_once('other/webinterface_list.php');
}
if (isset($_POST['globalclients'])) {
if(isset($_POST['delcldgrps'])) {
$selectbefore = $mysqlcon->query("SELECT * FROM user WHERE grpid!='0'");
$before = $selectbefore->rowCount();
if($mysqlcon->exec("UPDATE user SET grpid='0'") && $selectbefore->rowCount() != 0) {
$alert = '' . sprintf($lang['delcldgrpsc'], $before) . '';
} elseif($selectbefore->rowCount() == 0) {
$alert = '' . sprintf($lang['delcldgrpsc'], $before) . '';
} else {
$alert = '' . sprintf($lang['delcldgrpif'], $selectbefore->errorCode()) . '';
}
} else {
$selectbefore = $mysqlcon->query("SELECT * FROM user");
$before = $selectbefore->rowCount();
$cleantime = time() - $_POST['cleantime'];
if (isset($_POST['delsrvgrp'])) {
require_once('ts3_lib/TeamSpeak3.php');
$ts3_VirtualServer = TeamSpeak3::factory("serverquery://" . $ts['user'] . ":" . $ts['pass'] . "@" . $ts['host'] . ":" . $ts['query'] . "/?server_port=" . $ts['voice']);
try {
$ts3_VirtualServer->selfUpdate(array(
'client_nickname' => $queryname
));
}
catch (Exception $e) {
try {
$ts3_VirtualServer->selfUpdate(array(
'client_nickname' => $queryname2
));
}
catch (Exception $e) {
echo $lang['error'], $e->getCode(), ': ', $e->getMessage();
}
}
$dbremsgrp = $mysqlcon->query("SELECT cldbid,grpid from user where lastseen<'$cleantime'");
$dbremsgrp = $dbremsgrp->fetchAll();
foreach ($dbremsgrp as $remsgrp) {
if ($remsgrp['grpid'] != 0) {
$ts3_VirtualServer->serverGroupClientDel($remsgrp['grpid'], $remsgrp['cldbid']);
}
}
}
if ($_POST['cleantime'] < 1) {
$dbcount = $mysqlcon->exec("DELETE from user");
} else {
$dbcount = $mysqlcon->exec("DELETE from user where lastseen<'$cleantime'");
}
$selectafter = $mysqlcon->query("SELECT * from user");
$after = $selectafter->rowCount();
$countdel = $before - $after;
if ($countdel == 0) {
$alert = '' . sprintf($lang['delclientsif'], $countdel) . '';
} else {
$alert = '' . sprintf($lang['delclientssc'], $countdel) . '';
}
}
require_once('other/webinterface_list.php');
}
if (isset($_POST['updatetdbsettings'])) {
$newconfig='';
$dbserver = $_POST['dbtype'].':host='.$_POST['dbhost'].';dbname='.$_POST['dbname'];
try {
$mysqlcon = new PDO($dbserver, $_POST['dbuser'], $_POST['dbpass']);
$handle=fopen('./other/dbconfig.php','w');
if(!fwrite($handle,$newconfig))
{
$alert = '' . sprintf($lang['widbcfgerr']) . '';
} else {
exec("php ".__DIR__."/worker.php restart");
$alert = '' . sprintf($lang['widbcfgsuc']) . '';
}
fclose($handle);
} catch (PDOException $e) {
$alert = '' . sprintf($lang['widbcfgerr']) . '';
}
require_once('other/webinterface_list.php');
}
if (file_exists('install.php') || file_exists('update_0-02.php') || file_exists('update_0-10.php')) {
echo sprintf($lang['isntwidel'], "webinterface.php");
} else {
if (isset($_GET['logout']) == "true") {
session_destroy();
header("location:webinterface.php");
} elseif (isset($_POST['abschicken']) || isset($_SESSION['username'])) {
if (isset($_SESSION['username']) || ($_POST['username'] == $webuser && $_POST['password'] == $webpass)) {
$_SESSION['username'] = $webuser;
set_error_handler(function() { });
$newversion = file_get_contents('http://ts-n.net/ranksystem/version');
restore_error_handler();
if (substr($newversion, 0, 4) != substr($currvers, 0, 4) && $newversion != '') {
$alert = 'Update available!';
}
require_once('other/webinterface_list.php');
} else {
$showerrlogin = 1;
require_once('other/webinterface_login.php');
}
} else {
session_destroy();
require_once('other/webinterface_login.php');
}
}
?>