exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true);
$err_lvl = 3;
}
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true);
$err_lvl = 3;
}
if(!is_int($job_check['database_export']['timestamp'])) {
$job_check['database_export']['timestamp'] = intval($job_check['database_export']['timestamp']);
}
function get_status($lang, $job_check, $check = NULL) {
$err_msg = "".$lang['wihladmex'].": ";
switch($job_check['database_export']['timestamp']) {
case 1:
if($check == 1) {
$err_msg .= $lang['wihladmrs16']."
"; break;
} else {
$err_msg .= $lang['wihladmrs1']."
"; break;
}
case 2:
$err_msg .= "".$lang['wihladmrs2']."
"; break;
case 3:
$err_msg .= "".$lang['wihladmrs3']."
"; break;
case 4:
$err_msg .= "".$lang['wihladmrs4']."
"; break;
default:
$err_msg .= "".$lang['wihladmrs0']."
";
}
return $err_msg;
}
if($job_check['database_export']['timestamp'] != 0) {
$err_msg = ''.$lang['wihladmrs'].":
"; $err_lvl = 2;
$err_msg .= get_status($lang, $job_check);
if(in_array($job_check['database_export']['timestamp'], [0,3,4], true)) {
$err_msg .= '
';
if($job_check['database_export']['timestamp'] == 4) {
$err_msg .= "Exported file successfully.";
if(version_compare(phpversion(), '7.2', '>=') && version_compare(phpversion("zip"), '1.2.0', '>=')) {
$err_msg .= "
".sprintf($lang['wihladmex2'], "")."
".$cfg['teamspeak_query_pass']."
";
}
}
$err_msg .= '
'.sprintf($lang['wihladmrs9'], '');
} else {
$err_msg .= '
'.sprintf($lang['wihladmrs7'], '').'
'.$lang['wihladmrs8'].'
'.sprintf($lang['wihladmrs17'], '');
}
}
if (isset($_POST['confirm']) && isset($db_csrf[$_POST['csrf_token']])) {
if(in_array($job_check['database_export']['timestamp'], [0,3,4], true)) {
if ($mysqlcon->exec("INSERT INTO `$dbname`.`job_check` (`job_name`,`timestamp`) VALUES ('database_export','0') ON DUPLICATE KEY UPDATE `timestamp`=VALUES(`timestamp`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true);
$err_lvl = 3;
} else {
$err_msg = $lang['wihladmrs10'];
$err_lvl = NULL;
}
} else {
$err_msg = $lang['errukwn'];
$err_lvl = 3;
}
} elseif (isset($_POST['cancel']) && isset($db_csrf[$_POST['csrf_token']])) {
if(in_array($job_check['database_export']['timestamp'], [0,1,2,4], true)) {
if ($mysqlcon->exec("INSERT INTO `$dbname`.`job_check` (`job_name`,`timestamp`) VALUES ('database_export','3') ON DUPLICATE KEY UPDATE `timestamp`=VALUES(`timestamp`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true);
$err_lvl = 3;
} else {
$err_msg = $lang['wihladmrs18'];
$err_lvl = NULL;
}
} else {
$err_msg = $lang['errukwn'];
$err_lvl = 3;
}
} elseif (isset($_POST['delete']) && isset($db_csrf[$_POST['csrf_token']])) {
if(substr($_POST['delete'],0,10) == "db_export_" && unlink($GLOBALS['logpath'].$_POST['delete'])) {
$err_msg = sprintf($lang['wihladmex3'], $_POST['delete']);
$err_lvl = NULL;
} else {
$err_msg = sprintf($lang['wihladmex4'], $_POST['delete']);
$err_lvl = 3;
}
} elseif (isset($_POST['download']) && isset($db_csrf[$_POST['csrf_token']])) {
$err_msg = "download request: ".$_POST['download'];
$err_lvl = 3;
} elseif (isset($_POST['export']) && isset($db_csrf[$_POST['csrf_token']])) {
if ($mysqlcon->exec("INSERT INTO `$dbname`.`job_check` (`job_name`,`timestamp`) VALUES ('database_export','1') ON DUPLICATE KEY UPDATE `timestamp`=VALUES(`timestamp`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true);
$err_lvl = 3;
} else {
$err_msg = ''.$lang['wihladmex1'].'
'.sprintf($lang['wihladmrs7'], '').'
'.$lang['wihladmrs8'];
if(($snapshot = $mysqlcon->query("SELECT COUNT(*) AS `count` from `$dbname`.`user_snapshot`")->fetch()) === false) { } else {
$est_time = round($snapshot['count'] * 0.00005) + 5;
$dtF = new \DateTime('@0');
$dtT = new \DateTime("@$est_time");
$est_time = $dtF->diff($dtT)->format($cfg['default_date_format']);
$err_msg .= '
'.$lang['wihladmrs11'].': '.$est_time.'.
';
}
$err_lvl = NULL;
}
} elseif(isset($_POST['update'])) {
echo '',$lang['errcsrf'],'
';
rem_session_ts3();
exit;
}
?>