prepare("SELECT a.firstcon AS firstcon, b.total_connections AS total_connections FROM $dbname.user a INNER JOIN $dbname.stats_user b ON a.uuid = b.uuid WHERE b.uuid = :uuid");
$dbdata->bindValue(':uuid', $_SESSION[$rspathhex.'tsuid'], PDO::PARAM_STR);
$dbdata->execute();
$clientinfo = $dbdata->fetchAll();
if ($clientinfo[0]['total_connections'] != NULL) {
$_SESSION[$rspathhex.'tsconnections'] = $clientinfo[0]['total_connections'];
} else {
$_SESSION[$rspathhex.'tsconnections'] = 0;
}
if ($clientinfo[0]['firstcon'] == 0) {
$_SESSION[$rspathhex.'tscreated'] = "unkown";
} else {
$_SESSION[$rspathhex.'tscreated'] = date('d-m-Y', $clientinfo[0]['firstcon']);
}
$uuidasbase16 = '';
for ($i = 0; $i < 20; $i++) {
$char = ord(substr(base64_decode($_SESSION[$rspathhex.'tsuid']), $i, 1));
$uuidasbase16 .= $convert[($char & 0xF0) >> 4];
$uuidasbase16 .= $convert[$char & 0x0F];
}
if (is_file('../avatars/' . $uuidasbase16 . '.png')) {
$_SESSION[$rspathhex.'tsavatar'] = $uuidasbase16 . '.png';
} else {
$_SESSION[$rspathhex.'tsavatar'] = "none";
}
$_SESSION[$rspathhex.'language'] = $language;
} else {
$err_msg = $lang['stve0006']; $err_lvl = 3;
}
}
if(!isset($_SESSION[$rspathhex.'tsuid'])) {
set_session_ts3($ts['voice'], $mysqlcon, $dbname, $language, $adminuuid);
}
if(isset($_SESSION[$rspathhex.'multiple'])) {
$multi_uuid = explode(',', substr($_SESSION[$rspathhex.'multiple'], 0, -1));
}
if($_SESSION[$rspathhex.'multiple'] == NULL && count($multi_uuid) < 2 && ($registercid == NULL || $registercid == 0)) {
$err_msg = $lang['verify0001']."
".$lang['verify0003'];
$err_lvl = 3;
} elseif($_SESSION[$rspathhex.'connected'] == 0 && $registercid != NULL && $registercid != 0) {
$err_msg = $lang['verify0001']; $err_lvl = 1;
$uuids = $mysqlcon->query("SELECT name,uuid FROM $dbname.user WHERE online='1' and cid='$registercid' ORDER BY name ASC")->fetchAll();
foreach($uuids as $entry) {
$multiple_uuid[$entry['uuid']] = $entry['name'];
}
} elseif(count($multi_uuid) == 1 && $_SESSION[$rspathhex.'connected'] == 1) {
$err_msg = $lang['stve0005']; $err_lvl = 1;
} elseif(count($multi_uuid) > 1) {
$multi_uuid = explode(',', substr($_SESSION[$rspathhex.'multiple'], 0, -1));
foreach ($multi_uuid as $entry) {
list($key, $value) = explode('=>', $entry);
$multiple_uuid[$key] = $value;
}
} else {
$err_msg = $lang['stve0006']; $err_lvl = 3;
}
if(isset($_POST['uuid']) && !isset($_SESSION[$rspathhex.'temp_uuid'])) {
require_once('../libs/ts3_lib/TeamSpeak3.php');
try {
$ts3 = TeamSpeak3::factory("serverquery://".$ts['user'].":".$ts['pass']."@".$ts['host'].":".$ts['query']."/?server_port=".$ts['voice']."&blocking=0");
try {
usleep($slowmode);
$ts3->selfUpdate(array('client_nickname' => "Ranksystem - Verification"));
} catch (Exception $e) {
$err_msg = $lang['errorts3'].$e->getCode().': '.$e->getMessage(); $err_lvl = 3;
}
try {
usleep($slowmode);
$allclients = $ts3->clientList();
} catch (Exception $e) {
$err_msg = $lang['errorts3'].$e->getCode().': '.$e->getMessage(); $err_lvl = 3;
}
foreach ($allclients as $client) {
if($client['client_unique_identifier'] == $_POST['uuid']) {
$cldbid = $client['client_database_id'];
$nickname = htmlspecialchars($client['client_nickname'], ENT_QUOTES);
$_SESSION[$rspathhex.'temp_uuid'] = htmlspecialchars($client['client_unique_identifier'], ENT_QUOTES);
$_SESSION[$rspathhex.'temp_cldbid'] = $cldbid;
$_SESSION[$rspathhex.'temp_name'] = $nickname;
$pwd = substr(str_shuffle("abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789"),0,6);
$_SESSION[$rspathhex.'token'] = $pwd;
$tokenlink = '[URL]http'.(!empty($_SERVER['HTTPS'])?'s':'').'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].'?token='.$pwd.'[/URL]';
try {
$ts3->clientGetByUid($_SESSION[$rspathhex.'temp_uuid'])->message(sprintf($lang['stve0001'], $nickname, $tokenlink, $pwd));
$err_msg = $lang['stve0002']; $err_lvl = 1;
} catch (Exception $e) {
$err_msg = $lang['errorts3'].$e->getCode().': '.$e->getMessage(); $err_lvl = 3;
}
break;
}
}
} catch (Exception $e) {
$err_msg = $lang['errorts3'].$e->getCode().': '.$e->getMessage(); $err_lvl = 3;
}
}
require_once('nav.php');
?>