release 1.3.13
This commit is contained in:
@@ -206,7 +206,7 @@ if(isset($_POST['switchexpert']) && isset($_SESSION[$rspathhex.'username']) && $
|
||||
<li class="divider"></li>
|
||||
<li>
|
||||
<a href="javascript:;" data-toggle="collapse" data-target="#admin"><i class="fas fa-users"></i> <?PHP echo $lang['winav7']; ?> <i class="fas fa-caret-down"></i></a>
|
||||
<?PHP echo '<ul id="admin" class="'.(basename($_SERVER['SCRIPT_NAME']) == "admin_addtime.php" || basename($_SERVER['SCRIPT_NAME']) == "admin_remtime.php" || basename($_SERVER['SCRIPT_NAME']) == "reset.php" ? 'in collapse">' : 'collapse">'); ?>
|
||||
<?PHP echo '<ul id="admin" class="'.(basename($_SERVER['SCRIPT_NAME']) == "admin_addtime.php" || basename($_SERVER['SCRIPT_NAME']) == "admin_remtime.php" || basename($_SERVER['SCRIPT_NAME']) == "reset.php" || basename($_SERVER['SCRIPT_NAME']) == "export.php" ? 'in collapse">' : 'collapse">'); ?>
|
||||
<?PHP echo '<li'.(basename($_SERVER['SCRIPT_NAME']) == "admin_addtime.php" ? ' class="active">' : '>'); ?>
|
||||
<a href="admin_addtime.php"><i class="fas fa-plus"></i> <?PHP echo $lang['wihladm1']; ?></a>
|
||||
</li>
|
||||
@@ -216,6 +216,9 @@ if(isset($_POST['switchexpert']) && isset($_SESSION[$rspathhex.'username']) && $
|
||||
<?PHP echo '<li'.(basename($_SERVER['SCRIPT_NAME']) == "reset.php" ? ' class="active expertelement">' : ' class="expertelement">'); ?>
|
||||
<a href="reset.php"><i class="fas fa-sync"></i> <?PHP echo $lang['wihladm3']; ?></a>
|
||||
</li>
|
||||
<?PHP echo '<li'.(basename($_SERVER['SCRIPT_NAME']) == "export.php" ? ' class="active expertelement">' : ' class="expertelement">'); ?>
|
||||
<a href="export.php"><i class="fas fa-download"></i> <?PHP echo $lang['wihladmex']; ?></a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
|
||||
@@ -1,89 +1,31 @@
|
||||
<?PHP
|
||||
ini_set('session.cookie_httponly', 1);
|
||||
ini_set('session.use_strict_mode', 1);
|
||||
if(in_array('sha512', hash_algos())) {
|
||||
ini_set('session.hash_function', 'sha512');
|
||||
}
|
||||
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") {
|
||||
$prot = 'https';
|
||||
ini_set('session.cookie_secure', 1);
|
||||
if(!headers_sent()) {
|
||||
header("Strict-Transport-Security: max-age=31536000; includeSubDomains; preload;");
|
||||
}
|
||||
} else {
|
||||
$prot = 'http';
|
||||
}
|
||||
session_start();
|
||||
|
||||
require_once('../other/_functions.php');
|
||||
require_once('../other/config.php');
|
||||
require_once('../other/phpcommand.php');
|
||||
|
||||
function enter_logfile($cfg,$loglevel,$logtext,$norotate = false) {
|
||||
if($loglevel > $cfg['logs_debug_level']) return;
|
||||
$file = $cfg['logs_path'].'ranksystem.log';
|
||||
switch ($loglevel) {
|
||||
case 1: $loglevel = " CRITICAL "; break;
|
||||
case 2: $loglevel = " ERROR "; break;
|
||||
case 3: $loglevel = " WARNING "; break;
|
||||
case 4: $loglevel = " NOTICE "; break;
|
||||
case 5: $loglevel = " INFO "; break;
|
||||
case 6: $loglevel = " DEBUG "; break;
|
||||
default:$loglevel = " NONE ";
|
||||
$prot = start_session($cfg);
|
||||
$lang = set_language(get_language($cfg));
|
||||
|
||||
error_reporting(E_ALL);
|
||||
ini_set("log_errors", 1);
|
||||
set_error_handler("php_error_handling");
|
||||
ini_set("error_log", $cfg['logs_path'].'ranksystem.log');
|
||||
|
||||
try {
|
||||
require_once('../other/phpcommand.php');
|
||||
|
||||
if (isset($_POST['logout'])) {
|
||||
echo "logout";
|
||||
rem_session_ts3();
|
||||
header("Location: $prot://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\'));
|
||||
exit;
|
||||
}
|
||||
$loghandle = fopen($file, 'a');
|
||||
fwrite($loghandle, DateTime::createFromFormat('U.u', number_format(microtime(true), 6, '.', ''))->setTimeZone(new DateTimeZone($cfg['logs_timezone']))->format("Y-m-d H:i:s.u ").$loglevel.$logtext."\n");
|
||||
fclose($loghandle);
|
||||
if($norotate == false && filesize($file) > ($cfg['logs_rotation_size'] * 1048576)) {
|
||||
$loghandle = fopen($file, 'a');
|
||||
fwrite($loghandle, DateTime::createFromFormat('U.u', number_format(microtime(true), 6, '.', ''))->setTimeZone(new DateTimeZone($cfg['logs_timezone']))->format("Y-m-d H:i:s.u ")." NOTICE Logfile filesie of 5 MiB reached.. Rotate logfile.\n");
|
||||
fclose($loghandle);
|
||||
$file2 = "$file.old";
|
||||
if(file_exists($file2)) unlink($file2);
|
||||
rename($file, $file2);
|
||||
$loghandle = fopen($file, 'a');
|
||||
fwrite($loghandle, DateTime::createFromFormat('U.u', number_format(microtime(true), 6, '.', ''))->setTimeZone(new DateTimeZone($cfg['logs_timezone']))->format("Y-m-d H:i:s.u ")." NOTICE Rotated logfile...\n");
|
||||
fclose($loghandle);
|
||||
|
||||
if (basename($_SERVER['SCRIPT_NAME']) != "index.php" && basename($_SERVER['SCRIPT_NAME']) != "resetpassword.php" && (!isset($_SESSION[$rspathhex.'username']) || $_SESSION[$rspathhex.'username'] != $cfg['webinterface_user'] || $_SESSION[$rspathhex.'password'] != $cfg['webinterface_pass'] || $_SESSION[$rspathhex.'clientip'] != getclientip())) {
|
||||
rem_session_ts3();
|
||||
header("Location: $prot://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\'));
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
function getclientip() {
|
||||
if (!empty($_SERVER['HTTP_CLIENT_IP']))
|
||||
return $_SERVER['HTTP_CLIENT_IP'];
|
||||
elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
|
||||
return $_SERVER['HTTP_X_FORWARDED_FOR'];
|
||||
elseif(!empty($_SERVER['HTTP_X_FORWARDED']))
|
||||
return $_SERVER['HTTP_X_FORWARDED'];
|
||||
elseif(!empty($_SERVER['HTTP_FORWARDED_FOR']))
|
||||
return $_SERVER['HTTP_FORWARDED_FOR'];
|
||||
elseif(!empty($_SERVER['HTTP_FORWARDED']))
|
||||
return $_SERVER['HTTP_FORWARDED'];
|
||||
elseif(!empty($_SERVER['REMOTE_ADDR']))
|
||||
return $_SERVER['REMOTE_ADDR'];
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
function error_handling($msg,$type = NULL) {
|
||||
switch ($type) {
|
||||
case NULL: echo '<div class="alert alert-success alert-dismissible">'; break;
|
||||
case 1: echo '<div class="alert alert-info alert-dismissible">'; break;
|
||||
case 2: echo '<div class="alert alert-warning alert-dismissible">'; break;
|
||||
case 3: echo '<div class="alert alert-danger alert-dismissible">'; break;
|
||||
}
|
||||
echo '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>',$msg,'</div>';
|
||||
}
|
||||
|
||||
if (isset($_POST['logout'])) {
|
||||
echo "logout";
|
||||
rem_session_ts3($rspathhex);
|
||||
header("Location: $prot://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\'));
|
||||
exit;
|
||||
}
|
||||
|
||||
if (basename($_SERVER['SCRIPT_NAME']) != "index.php" && basename($_SERVER['SCRIPT_NAME']) != "resetpassword.php" && (!isset($_SESSION[$rspathhex.'username']) || $_SESSION[$rspathhex.'username'] != $cfg['webinterface_user'] || $_SESSION[$rspathhex.'password'] != $cfg['webinterface_pass'] || $_SESSION[$rspathhex.'clientip'] != getclientip())) {
|
||||
header("Location: $prot://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\'));
|
||||
exit;
|
||||
}
|
||||
|
||||
$csrf_token = bin2hex(openssl_random_pseudo_bytes(32));
|
||||
$csrf_token = bin2hex(openssl_random_pseudo_bytes(32));
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
@@ -1,249 +1,253 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
require_once('_nav.php');
|
||||
|
||||
require_once('../other/load_addons_config.php');
|
||||
$addons_config = load_addons_config($mysqlcon,$lang,$cfg,$dbname);
|
||||
try {
|
||||
require_once('_nav.php');
|
||||
require_once('../other/load_addons_config.php');
|
||||
$addons_config = load_addons_config($mysqlcon,$lang,$cfg,$dbname);
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = 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 = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if(($groupslist = $mysqlcon->query("SELECT * FROM `$dbname`.`groups` ORDER BY `sortid`,`sgidname` ASC")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
$assign_groups_active = 0;
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']]) && isset($_POST['assign_groups_active']) && !isset($_POST['assign_groups_groupids']) && !isset($_POST['assign_groups_excepted_groupids'])) {
|
||||
$err_msg = $lang['stag0010'];
|
||||
$err_lvl = 3;
|
||||
} elseif (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$assign_groups_limit = $_POST['assign_groups_limit'];
|
||||
$assign_groups_groupids = '';
|
||||
if (isset($_POST['assign_groups_groupids']) && $_POST['assign_groups_groupids'] != NULL) {
|
||||
foreach ($_POST['assign_groups_groupids'] as $group) {
|
||||
$assign_groups_groupids .= $group.',';
|
||||
}
|
||||
}
|
||||
$assign_groups_groupids = substr($assign_groups_groupids, 0, -1);
|
||||
if (isset($_POST['assign_groups_excepted_groupids']) && $_POST['assign_groups_excepted_groupids'] != NULL) {
|
||||
foreach ($_POST['assign_groups_excepted_groupids'] as $group) {
|
||||
$assign_groups_excepted_groupids .= $group.',';
|
||||
}
|
||||
}
|
||||
$assign_groups_excepted_groupids = substr($assign_groups_excepted_groupids, 0, -1);
|
||||
if (isset($_POST['assign_groups_active'])) $assign_groups_active = 1;
|
||||
if ($mysqlcon->exec("UPDATE `$dbname`.`addons_config` SET `value` = CASE `param` WHEN 'assign_groups_active' THEN '{$assign_groups_active}' WHEN 'assign_groups_limit' THEN '{$assign_groups_limit}' WHEN 'assign_groups_groupids' THEN '{$assign_groups_groupids}' WHEN 'assign_groups_excepted_groupids' THEN '{$assign_groups_excepted_groupids}' END WHERE `param` IN ('assign_groups_active','assign_groups_groupids','assign_groups_limit','assign_groups_excepted_groupids')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc'];
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
$addons_config['assign_groups_groupids']['value'] = $assign_groups_groupids;
|
||||
$addons_config['assign_groups_excepted_groupids']['value'] = $assign_groups_excepted_groupids;
|
||||
$addons_config['assign_groups_limit']['value'] = $_POST['assign_groups_limit'];
|
||||
$addons_config['assign_groups_active']['value'] = $assign_groups_active;
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3($rspathhex);
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['stag0001']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<form class="form-horizontal" name="update" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="form-horizontal">
|
||||
}
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if(($groupslist = $mysqlcon->query("SELECT * FROM `$dbname`.`groups` ORDER BY `sortid`,`sgidname` ASC")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
$assign_groups_active = 0;
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']]) && isset($_POST['assign_groups_active']) && !isset($_POST['assign_groups_groupids']) && !isset($_POST['assign_groups_excepted_groupids'])) {
|
||||
$err_msg = $lang['stag0010'];
|
||||
$err_lvl = 3;
|
||||
} elseif (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$assign_groups_limit = $_POST['assign_groups_limit'];
|
||||
$assign_groups_groupids = '';
|
||||
if (isset($_POST['assign_groups_groupids']) && $_POST['assign_groups_groupids'] != NULL) {
|
||||
foreach ($_POST['assign_groups_groupids'] as $group) {
|
||||
$assign_groups_groupids .= $group.',';
|
||||
}
|
||||
}
|
||||
$assign_groups_groupids = substr($assign_groups_groupids, 0, -1);
|
||||
if (isset($_POST['assign_groups_excepted_groupids']) && $_POST['assign_groups_excepted_groupids'] != NULL) {
|
||||
foreach ($_POST['assign_groups_excepted_groupids'] as $group) {
|
||||
$assign_groups_excepted_groupids .= $group.',';
|
||||
}
|
||||
}
|
||||
$assign_groups_excepted_groupids = substr($assign_groups_excepted_groupids, 0, -1);
|
||||
if (isset($_POST['assign_groups_active'])) $assign_groups_active = 1;
|
||||
if ($mysqlcon->exec("UPDATE `$dbname`.`addons_config` SET `value` = CASE `param` WHEN 'assign_groups_active' THEN '{$assign_groups_active}' WHEN 'assign_groups_limit' THEN '{$assign_groups_limit}' WHEN 'assign_groups_groupids' THEN '{$assign_groups_groupids}' WHEN 'assign_groups_excepted_groupids' THEN '{$assign_groups_excepted_groupids}' END WHERE `param` IN ('assign_groups_active','assign_groups_groupids','assign_groups_limit','assign_groups_excepted_groupids')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc'];
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
$addons_config['assign_groups_groupids']['value'] = $assign_groups_groupids;
|
||||
$addons_config['assign_groups_excepted_groupids']['value'] = $assign_groups_excepted_groupids;
|
||||
$addons_config['assign_groups_limit']['value'] = $_POST['assign_groups_limit'];
|
||||
$addons_config['assign_groups_active']['value'] = $assign_groups_active;
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3();
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-12 pointer" data-toggle="modal" data-target="#stag0001desc"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="panel-body">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['stag0001']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<form class="form-horizontal" name="update" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="form-horizontal">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-12 pointer" data-toggle="modal" data-target="#stag0001desc"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="panel-body">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#stag0014"><?php echo $lang['stag0013']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($addons_config['assign_groups_active']['value'] == '1') {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="assign_groups_active" value="',$assign_groups_active,'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="assign_groups_active" value="',$assign_groups_active,'">';
|
||||
} ?>
|
||||
<div class="col-md-3">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#stag0014"><?php echo $lang['stag0013']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($addons_config['assign_groups_active']['value'] == '1') {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="assign_groups_active" value="',$assign_groups_active,'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="assign_groups_active" value="',$assign_groups_active,'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#stag0003"><?php echo $lang['stag0002']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker form-control" data-live-search="true" data-actions-box="true" multiple name="assign_groups_groupids[]">
|
||||
<?PHP
|
||||
$assign_groups_groupids = explode(',', $addons_config['assign_groups_groupids']['value']);
|
||||
foreach ($groupslist as $groupID => $groupParam) {
|
||||
if (in_array($groupID, $assign_groups_groupids)) $selected=" selected"; else $selected="";
|
||||
if (isset($groupParam['iconid']) && $groupParam['iconid'] != 0) $iconid=$groupParam['iconid']."."; else $iconid="placeholder.png";
|
||||
if ($groupParam['type'] == 0 || $groupParam['type'] == 2) $disabled=" disabled"; else $disabled="";
|
||||
if ($groupParam['type'] == 0) $grouptype=" [TEMPLATE GROUP]"; else $grouptype="";
|
||||
if ($groupParam['type'] == 2) $grouptype=" [QUERY GROUP]";
|
||||
if ($groupID != 0) {
|
||||
echo '<option data-content=" <img src=\'../tsicons/',$iconid,$groupParam['ext'],'\' width=\'16\' height=\'16\'> ',$groupParam['sgidname'],' <span class=\'text-muted small\'>SGID: ',$groupID,$grouptype,'</span>" value="',$groupID,'"',$selected,$disabled,'></option>';
|
||||
<div class="row"> </div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#stag0003"><?php echo $lang['stag0002']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker form-control" data-live-search="true" data-actions-box="true" multiple name="assign_groups_groupids[]">
|
||||
<?PHP
|
||||
$assign_groups_groupids = explode(',', $addons_config['assign_groups_groupids']['value']);
|
||||
foreach ($groupslist as $groupID => $groupParam) {
|
||||
if (in_array($groupID, $assign_groups_groupids)) $selected=" selected"; else $selected="";
|
||||
if (isset($groupParam['iconid']) && $groupParam['iconid'] != 0) $iconid=$groupParam['iconid']."."; else $iconid="placeholder.png";
|
||||
if ($groupParam['type'] == 0 || $groupParam['type'] == 2) $disabled=" disabled"; else $disabled="";
|
||||
if ($groupParam['type'] == 0) $grouptype=" [TEMPLATE GROUP]"; else $grouptype="";
|
||||
if ($groupParam['type'] == 2) $grouptype=" [QUERY GROUP]";
|
||||
if ($groupID != 0) {
|
||||
echo '<option data-content=" <img src=\'../tsicons/',$iconid,$groupParam['ext'],'\' width=\'16\' height=\'16\'> ',$groupParam['sgidname'],' <span class=\'text-muted small\'>SGID: ',$groupID,$grouptype,'</span>" value="',$groupID,'"',$selected,$disabled,'></option>';
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#stag0005"><?php echo $lang['stag0004']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="assign_groups_limit" value="<?php echo $addons_config['assign_groups_limit']['value']; ?>">
|
||||
<script>
|
||||
$("input[name='assign_groups_limit']").TouchSpin({
|
||||
min: 1,
|
||||
max: 65534,
|
||||
verticalbuttons: true,
|
||||
prefix: 'No.'
|
||||
});
|
||||
</script>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#stag0005"><?php echo $lang['stag0004']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="assign_groups_limit" value="<?php echo $addons_config['assign_groups_limit']['value']; ?>">
|
||||
<script>
|
||||
$("input[name='assign_groups_limit']").TouchSpin({
|
||||
min: 1,
|
||||
max: 65534,
|
||||
verticalbuttons: true,
|
||||
prefix: 'No.'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#stag0018"><?php echo $lang['wiexgrp']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker form-control" data-live-search="true" data-actions-box="true" multiple name="assign_groups_excepted_groupids[]">
|
||||
<?PHP
|
||||
$assign_groups_excepted_groupids = explode(',', $addons_config['assign_groups_excepted_groupids']['value']);
|
||||
foreach ($groupslist as $groupID => $groupParam) {
|
||||
if (in_array($groupID, $assign_groups_excepted_groupids)) $selected=" selected"; else $selected="";
|
||||
if (isset($groupParam['iconid']) && $groupParam['iconid'] != 0) $iconid=$groupParam['iconid']."."; else $iconid="placeholder.png";
|
||||
if ($groupParam['type'] == 0 || $groupParam['type'] == 2) $disabled=" disabled"; else $disabled="";
|
||||
if ($groupParam['type'] == 0) $grouptype=" [TEMPLATE GROUP]"; else $grouptype="";
|
||||
if ($groupParam['type'] == 2) $grouptype=" [QUERY GROUP]";
|
||||
if ($groupID != 0) {
|
||||
echo '<option data-content=" <img src=\'../tsicons/',$iconid,$groupParam['ext'],'\' width=\'16\' height=\'16\'> ',$groupParam['sgidname'],' <span class=\'text-muted small\'>SGID: ',$groupID,$grouptype,'</span>" value="',$groupID,'"',$selected,$disabled,'></option>';
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#stag0018"><?php echo $lang['wiexgrp']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker form-control" data-live-search="true" data-actions-box="true" multiple name="assign_groups_excepted_groupids[]">
|
||||
<?PHP
|
||||
$assign_groups_excepted_groupids = explode(',', $addons_config['assign_groups_excepted_groupids']['value']);
|
||||
foreach ($groupslist as $groupID => $groupParam) {
|
||||
if (in_array($groupID, $assign_groups_excepted_groupids)) $selected=" selected"; else $selected="";
|
||||
if (isset($groupParam['iconid']) && $groupParam['iconid'] != 0) $iconid=$groupParam['iconid']."."; else $iconid="placeholder.png";
|
||||
if ($groupParam['type'] == 0 || $groupParam['type'] == 2) $disabled=" disabled"; else $disabled="";
|
||||
if ($groupParam['type'] == 0) $grouptype=" [TEMPLATE GROUP]"; else $grouptype="";
|
||||
if ($groupParam['type'] == 2) $grouptype=" [QUERY GROUP]";
|
||||
if ($groupID != 0) {
|
||||
echo '<option data-content=" <img src=\'../tsicons/',$iconid,$groupParam['ext'],'\' width=\'16\' height=\'16\'> ',$groupParam['sgidname'],' <span class=\'text-muted small\'>SGID: ',$groupID,$grouptype,'</span>" value="',$groupID,'"',$selected,$disabled,'></option>';
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="stag0001desc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['stag0001']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['stag0001desc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="stag0001desc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['stag0001']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['stag0001desc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="stag0003" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['stag0002']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['stag0003']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="stag0018" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiexgrp']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['stag0018']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="stag0005" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['stag0004']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['stag0005']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="stag0014" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['stag0013']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['stag0014']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<div class="modal fade" id="stag0003" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['stag0002']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['stag0003']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="stag0018" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiexgrp']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['stag0018']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="stag0005" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['stag0004']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['stag0005']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="stag0014" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['stag0013']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['stag0014']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
@@ -1,231 +1,236 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
require_once('_nav.php');
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
try {
|
||||
require_once('_nav.php');
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if(!isset($_POST['number']) || $_POST['number'] == "yes") {
|
||||
$_SESSION[$rspathhex.'showexcepted'] = "yes";
|
||||
$filter = " WHERE `except`='0'";
|
||||
} else {
|
||||
$_SESSION[$rspathhex.'showexcepted'] = "no";
|
||||
$filter = "";
|
||||
}
|
||||
|
||||
if(($user_arr = $mysqlcon->query("SELECT `uuid`,`cldbid`,`name` FROM `$dbname`.`user` $filter ORDER BY `name` ASC")->fetchAll(PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = "DB Error1: ".print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$setontime = 0;
|
||||
if($_POST['setontime_day']) { $setontime = $setontime + $_POST['setontime_day'] * 86400; }
|
||||
if($_POST['setontime_hour']) { $setontime = $setontime + $_POST['setontime_hour'] * 3600; }
|
||||
if($_POST['setontime_min']) { $setontime = $setontime + $_POST['setontime_min'] * 60; }
|
||||
if($_POST['setontime_sec']) { $setontime = $setontime + $_POST['setontime_sec']; }
|
||||
if($setontime == 0) {
|
||||
$err_msg = $lang['errseltime']; $err_lvl = 3;
|
||||
} elseif($_POST['user'] == NULL) {
|
||||
$err_msg = $lang['errselusr']; $err_lvl = 3;
|
||||
} else {
|
||||
$allinsertdata = '';
|
||||
$succmsg = '';
|
||||
$nowtime = time();
|
||||
foreach($_POST['user'] as $uuid) {
|
||||
$allinsertdata .= "('".$uuid."', ".$nowtime.", ".$setontime."),";
|
||||
$succmsg .= sprintf($lang['sccupcount'],$setontime,$uuid)."<br>";
|
||||
}
|
||||
$allinsertdata = substr($allinsertdata, 0, -1);
|
||||
if($mysqlcon->exec("INSERT INTO `$dbname`.`admin_addtime` (`uuid`,`timestamp`,`timecount`) VALUES $allinsertdata;") === false) {
|
||||
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
} elseif($mysqlcon->exec("UPDATE `$dbname`.`job_check` SET `timestamp`=1 WHERE `job_name`='reload_trigger'; ") === false) {
|
||||
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = substr($succmsg,0,-4); $err_lvl = NULL;
|
||||
}
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3($rspathhex);
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['wihladm1']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<form name="post" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="form-horizontal">
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if(!isset($_POST['number']) || $_POST['number'] == "yes") {
|
||||
$_SESSION[$rspathhex.'showexcepted'] = "yes";
|
||||
$filter = " WHERE `except`='0'";
|
||||
} else {
|
||||
$_SESSION[$rspathhex.'showexcepted'] = "no";
|
||||
$filter = "";
|
||||
}
|
||||
|
||||
if(($user_arr = $mysqlcon->query("SELECT `uuid`,`cldbid`,`name` FROM `$dbname`.`user` $filter ORDER BY `name` ASC")->fetchAll(PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = "DB Error1: ".print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$setontime = 0;
|
||||
if($_POST['setontime_day']) { $setontime = $setontime + $_POST['setontime_day'] * 86400; }
|
||||
if($_POST['setontime_hour']) { $setontime = $setontime + $_POST['setontime_hour'] * 3600; }
|
||||
if($_POST['setontime_min']) { $setontime = $setontime + $_POST['setontime_min'] * 60; }
|
||||
if($_POST['setontime_sec']) { $setontime = $setontime + $_POST['setontime_sec']; }
|
||||
if($setontime == 0) {
|
||||
$err_msg = $lang['errseltime']; $err_lvl = 3;
|
||||
} elseif($_POST['user'] == NULL) {
|
||||
$err_msg = $lang['errselusr']; $err_lvl = 3;
|
||||
} else {
|
||||
$allinsertdata = '';
|
||||
$succmsg = '';
|
||||
$nowtime = time();
|
||||
foreach($_POST['user'] as $uuid) {
|
||||
$allinsertdata .= "('".$uuid."', ".$nowtime.", ".$setontime."),";
|
||||
$succmsg .= sprintf($lang['sccupcount'],$setontime,$uuid)."<br>";
|
||||
}
|
||||
$allinsertdata = substr($allinsertdata, 0, -1);
|
||||
if($mysqlcon->exec("INSERT INTO `$dbname`.`admin_addtime` (`uuid`,`timestamp`,`timecount`) VALUES $allinsertdata;") === false) {
|
||||
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
} elseif($mysqlcon->exec("UPDATE `$dbname`.`job_check` SET `timestamp`=1 WHERE `job_name`='reload_trigger'; ") === false) {
|
||||
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = substr($succmsg,0,-4); $err_lvl = NULL;
|
||||
}
|
||||
}
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3();
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-12 pointer" data-toggle="modal" data-target="#setontimedesc"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="panel-body">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['wihladm1']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<form name="post" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="form-horizontal">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-12 pointer" data-toggle="modal" data-target="#setontimedesc"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="panel-body">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiadmhidedesc"><?php echo $lang['wiadmhide']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 pull-right">
|
||||
<select class="selectpicker show-tick form-control" id="number" name="number" onchange="this.form.submit();">
|
||||
<?PHP
|
||||
echo '<option data-icon="fas fa-eye-slash" value="yes"'; if(!isset($_SESSION[$rspathhex.'showexcepted']) || $_SESSION[$rspathhex.'showexcepted'] == "yes") echo " selected=selected"; echo '> hide</option>';
|
||||
echo '<option data-icon="fas fa-eye" value="no"'; if(isset($_SESSION[$rspathhex.'showexcepted']) && $_SESSION[$rspathhex.'showexcepted'] == "no") echo " selected=selected"; echo '> show</option>';
|
||||
?>
|
||||
</select>
|
||||
<div class="col-md-3">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiadmhidedesc"><?php echo $lang['wiadmhide']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 pull-right">
|
||||
<select class="selectpicker show-tick form-control" id="number" name="number" onchange="this.form.submit();">
|
||||
<?PHP
|
||||
echo '<option data-icon="fas fa-eye-slash" value="yes"'; if(!isset($_SESSION[$rspathhex.'showexcepted']) || $_SESSION[$rspathhex.'showexcepted'] == "yes") echo " selected=selected"; echo '> hide</option>';
|
||||
echo '<option data-icon="fas fa-eye" value="no"'; if(isset($_SESSION[$rspathhex.'showexcepted']) && $_SESSION[$rspathhex.'showexcepted'] == "no") echo " selected=selected"; echo '> show</option>';
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiselclddesc"><?php echo $lang['wiselcld']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control" data-actions-box="true" data-live-search="true" multiple name="user[]">
|
||||
<?PHP
|
||||
foreach ($user_arr as $user) {
|
||||
echo '<option value="',$user['uuid'],'" data-subtext="UUID: ',$user['uuid'],'; DBID: ',$user['cldbid'],'">',htmlspecialchars($user['name']),'</option>';
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiselclddesc"><?php echo $lang['wiselcld']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control" data-actions-box="true" data-live-search="true" multiple name="user[]">
|
||||
<?PHP
|
||||
foreach ($user_arr as $user) {
|
||||
echo '<option value="',$user['uuid'],'" data-subtext="UUID: ',$user['uuid'],'; DBID: ',$user['cldbid'],'">',htmlspecialchars($user['name']),'</option>';
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#setontimedesc"><?php echo $lang['setontime']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="setontime_day">
|
||||
<script>
|
||||
$("input[name='setontime_day']").TouchSpin({
|
||||
min: 0,
|
||||
max: 11574,
|
||||
verticalbuttons: true,
|
||||
prefix: '<?PHP echo $lang['time_day']; ?>'
|
||||
});
|
||||
</script>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#setontimedesc"><?php echo $lang['setontime']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="setontime_day">
|
||||
<script>
|
||||
$("input[name='setontime_day']").TouchSpin({
|
||||
min: 0,
|
||||
max: 11574,
|
||||
verticalbuttons: true,
|
||||
prefix: '<?PHP echo $lang['time_day']; ?>'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#setontimedesc"></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="setontime_hour">
|
||||
<script>
|
||||
$("input[name='setontime_hour']").TouchSpin({
|
||||
min: 0,
|
||||
max: 277777,
|
||||
verticalbuttons: true,
|
||||
prefix: '<?PHP echo $lang['time_hour']; ?>'
|
||||
});
|
||||
</script>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#setontimedesc"></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="setontime_hour">
|
||||
<script>
|
||||
$("input[name='setontime_hour']").TouchSpin({
|
||||
min: 0,
|
||||
max: 277777,
|
||||
verticalbuttons: true,
|
||||
prefix: '<?PHP echo $lang['time_hour']; ?>'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#setontimedesc"></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="setontime_min">
|
||||
<script>
|
||||
$("input[name='setontime_min']").TouchSpin({
|
||||
min: 0,
|
||||
max: 16666666,
|
||||
verticalbuttons: true,
|
||||
prefix: '<?PHP echo $lang['time_min']; ?>'
|
||||
});
|
||||
</script>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#setontimedesc"></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="setontime_min">
|
||||
<script>
|
||||
$("input[name='setontime_min']").TouchSpin({
|
||||
min: 0,
|
||||
max: 16666666,
|
||||
verticalbuttons: true,
|
||||
prefix: '<?PHP echo $lang['time_min']; ?>'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#setontimedesc"></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="setontime_sec">
|
||||
<script>
|
||||
$("input[name='setontime_sec']").TouchSpin({
|
||||
min: 0,
|
||||
max: 999999999,
|
||||
verticalbuttons: true,
|
||||
prefix: '<?PHP echo $lang['time_sec']; ?>'
|
||||
});
|
||||
</script>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#setontimedesc"></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="setontime_sec">
|
||||
<script>
|
||||
$("input[name='setontime_sec']").TouchSpin({
|
||||
min: 0,
|
||||
max: 999999999,
|
||||
verticalbuttons: true,
|
||||
prefix: '<?PHP echo $lang['time_sec']; ?>'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wiselclddesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiselcld']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiselclddesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wiselclddesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiselcld']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiselclddesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="setontimedesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['setontime']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['setontimedesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiadmhidedesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiadmhide']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiadmhidedesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<div class="modal fade" id="setontimedesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['setontime']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['setontimedesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiadmhidedesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiadmhide']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiadmhidedesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
@@ -1,232 +1,237 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
require_once('_nav.php');
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
try {
|
||||
require_once('_nav.php');
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if(!isset($_POST['number']) || $_POST['number'] == "yes") {
|
||||
$_SESSION[$rspathhex.'showexcepted'] = "yes";
|
||||
$filter = " WHERE `except`='0'";
|
||||
} else {
|
||||
$_SESSION[$rspathhex.'showexcepted'] = "no";
|
||||
$filter = "";
|
||||
}
|
||||
|
||||
if(($user_arr = $mysqlcon->query("SELECT `uuid`,`cldbid`,`name` FROM `$dbname`.`user` $filter ORDER BY `name` ASC")->fetchAll(PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = "DB Error: ".print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$setontime = 0;
|
||||
if($_POST['setontime_day']) { $setontime = $setontime + $_POST['setontime_day'] * 86400; }
|
||||
if($_POST['setontime_hour']) { $setontime = $setontime + $_POST['setontime_hour'] * 3600; }
|
||||
if($_POST['setontime_min']) { $setontime = $setontime + $_POST['setontime_min'] * 60; }
|
||||
if($_POST['setontime_sec']) { $setontime = $setontime + $_POST['setontime_sec']; }
|
||||
if($setontime == 0) {
|
||||
$err_msg = $lang['errseltime']; $err_lvl = 3;
|
||||
} elseif($_POST['user'] == NULL) {
|
||||
$err_msg = $lang['errselusr']; $err_lvl = 3;
|
||||
} else {
|
||||
$allinsertdata = '';
|
||||
$succmsg = '';
|
||||
$nowtime = time();
|
||||
$setontime = $setontime * -1;
|
||||
foreach($_POST['user'] as $uuid) {
|
||||
$allinsertdata .= "('".$uuid."', ".$nowtime.", ".$setontime."),";
|
||||
$succmsg .= sprintf($lang['sccupcount'],$setontime,$uuid)."<br>";
|
||||
}
|
||||
$allinsertdata = substr($allinsertdata, 0, -1);
|
||||
if($mysqlcon->exec("INSERT INTO `$dbname`.`admin_addtime` (`uuid`,`timestamp`,`timecount`) VALUES $allinsertdata;") === false) {
|
||||
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
} elseif($mysqlcon->exec("UPDATE `$dbname`.`job_check` SET `timestamp`=1 WHERE `job_name`='reload_trigger'; ") === false) {
|
||||
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = substr($succmsg,0,-4); $err_lvl = NULL;
|
||||
}
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3($rspathhex);
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['wihladm2']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<form name="post" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="form-horizontal">
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if(!isset($_POST['number']) || $_POST['number'] == "yes") {
|
||||
$_SESSION[$rspathhex.'showexcepted'] = "yes";
|
||||
$filter = " WHERE `except`='0'";
|
||||
} else {
|
||||
$_SESSION[$rspathhex.'showexcepted'] = "no";
|
||||
$filter = "";
|
||||
}
|
||||
|
||||
if(($user_arr = $mysqlcon->query("SELECT `uuid`,`cldbid`,`name` FROM `$dbname`.`user` $filter ORDER BY `name` ASC")->fetchAll(PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = "DB Error: ".print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$setontime = 0;
|
||||
if($_POST['setontime_day']) { $setontime = $setontime + $_POST['setontime_day'] * 86400; }
|
||||
if($_POST['setontime_hour']) { $setontime = $setontime + $_POST['setontime_hour'] * 3600; }
|
||||
if($_POST['setontime_min']) { $setontime = $setontime + $_POST['setontime_min'] * 60; }
|
||||
if($_POST['setontime_sec']) { $setontime = $setontime + $_POST['setontime_sec']; }
|
||||
if($setontime == 0) {
|
||||
$err_msg = $lang['errseltime']; $err_lvl = 3;
|
||||
} elseif($_POST['user'] == NULL) {
|
||||
$err_msg = $lang['errselusr']; $err_lvl = 3;
|
||||
} else {
|
||||
$allinsertdata = '';
|
||||
$succmsg = '';
|
||||
$nowtime = time();
|
||||
$setontime = $setontime * -1;
|
||||
foreach($_POST['user'] as $uuid) {
|
||||
$allinsertdata .= "('".$uuid."', ".$nowtime.", ".$setontime."),";
|
||||
$succmsg .= sprintf($lang['sccupcount'],$setontime,$uuid)."<br>";
|
||||
}
|
||||
$allinsertdata = substr($allinsertdata, 0, -1);
|
||||
if($mysqlcon->exec("INSERT INTO `$dbname`.`admin_addtime` (`uuid`,`timestamp`,`timecount`) VALUES $allinsertdata;") === false) {
|
||||
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
} elseif($mysqlcon->exec("UPDATE `$dbname`.`job_check` SET `timestamp`=1 WHERE `job_name`='reload_trigger'; ") === false) {
|
||||
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = substr($succmsg,0,-4); $err_lvl = NULL;
|
||||
}
|
||||
}
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3();
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-12 pointer" data-toggle="modal" data-target="#setontimedesc2"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="panel-body">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['wihladm2']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<form name="post" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="form-horizontal">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-12 pointer" data-toggle="modal" data-target="#setontimedesc2"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="panel-body">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiadmhidedesc"><?php echo $lang['wiadmhide']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 pull-right">
|
||||
<select class="selectpicker show-tick form-control" id="number" name="number" onchange="this.form.submit();">
|
||||
<?PHP
|
||||
echo '<option data-icon="fas fa-eye-slash" value="yes"'; if(!isset($_SESSION[$rspathhex.'showexcepted']) || $_SESSION[$rspathhex.'showexcepted'] == "yes") echo " selected=selected"; echo '> hide</option>';
|
||||
echo '<option data-icon="fas fa-eye" value="no"'; if(isset($_SESSION[$rspathhex.'showexcepted']) && $_SESSION[$rspathhex.'showexcepted'] == "no") echo " selected=selected"; echo '> show</option>';
|
||||
?>
|
||||
</select>
|
||||
<div class="col-md-3">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiadmhidedesc"><?php echo $lang['wiadmhide']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 pull-right">
|
||||
<select class="selectpicker show-tick form-control" id="number" name="number" onchange="this.form.submit();">
|
||||
<?PHP
|
||||
echo '<option data-icon="fas fa-eye-slash" value="yes"'; if(!isset($_SESSION[$rspathhex.'showexcepted']) || $_SESSION[$rspathhex.'showexcepted'] == "yes") echo " selected=selected"; echo '> hide</option>';
|
||||
echo '<option data-icon="fas fa-eye" value="no"'; if(isset($_SESSION[$rspathhex.'showexcepted']) && $_SESSION[$rspathhex.'showexcepted'] == "no") echo " selected=selected"; echo '> show</option>';
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiselclddesc"><?php echo $lang['wiselcld']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control" data-actions-box="true" data-live-search="true" multiple name="user[]">
|
||||
<?PHP
|
||||
foreach ($user_arr as $user) {
|
||||
echo '<option value="',$user['uuid'],'" data-subtext="UUID: ',$user['uuid'],'; DBID: ',$user['cldbid'],'">',htmlspecialchars($user['name']),'</option>';
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiselclddesc"><?php echo $lang['wiselcld']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control" data-actions-box="true" data-live-search="true" multiple name="user[]">
|
||||
<?PHP
|
||||
foreach ($user_arr as $user) {
|
||||
echo '<option value="',$user['uuid'],'" data-subtext="UUID: ',$user['uuid'],'; DBID: ',$user['cldbid'],'">',htmlspecialchars($user['name']),'</option>';
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#setontimedesc2"><?php echo $lang['setontime2']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="setontime_day">
|
||||
<script>
|
||||
$("input[name='setontime_day']").TouchSpin({
|
||||
min: 0,
|
||||
max: 11574,
|
||||
verticalbuttons: true,
|
||||
prefix: '<?PHP echo $lang['time_day']; ?>'
|
||||
});
|
||||
</script>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#setontimedesc2"><?php echo $lang['setontime2']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="setontime_day">
|
||||
<script>
|
||||
$("input[name='setontime_day']").TouchSpin({
|
||||
min: 0,
|
||||
max: 11574,
|
||||
verticalbuttons: true,
|
||||
prefix: '<?PHP echo $lang['time_day']; ?>'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#setontimedesc2"></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="setontime_hour">
|
||||
<script>
|
||||
$("input[name='setontime_hour']").TouchSpin({
|
||||
min: 0,
|
||||
max: 277777,
|
||||
verticalbuttons: true,
|
||||
prefix: '<?PHP echo $lang['time_hour']; ?>'
|
||||
});
|
||||
</script>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#setontimedesc2"></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="setontime_hour">
|
||||
<script>
|
||||
$("input[name='setontime_hour']").TouchSpin({
|
||||
min: 0,
|
||||
max: 277777,
|
||||
verticalbuttons: true,
|
||||
prefix: '<?PHP echo $lang['time_hour']; ?>'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#setontimedesc2"></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="setontime_min">
|
||||
<script>
|
||||
$("input[name='setontime_min']").TouchSpin({
|
||||
min: 0,
|
||||
max: 16666666,
|
||||
verticalbuttons: true,
|
||||
prefix: '<?PHP echo $lang['time_min']; ?>'
|
||||
});
|
||||
</script>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#setontimedesc2"></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="setontime_min">
|
||||
<script>
|
||||
$("input[name='setontime_min']").TouchSpin({
|
||||
min: 0,
|
||||
max: 16666666,
|
||||
verticalbuttons: true,
|
||||
prefix: '<?PHP echo $lang['time_min']; ?>'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#setontimedesc2"></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="setontime_sec">
|
||||
<script>
|
||||
$("input[name='setontime_sec']").TouchSpin({
|
||||
min: 0,
|
||||
max: 999999999,
|
||||
verticalbuttons: true,
|
||||
prefix: '<?PHP echo $lang['time_sec']; ?>'
|
||||
});
|
||||
</script>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#setontimedesc2"></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="setontime_sec">
|
||||
<script>
|
||||
$("input[name='setontime_sec']").TouchSpin({
|
||||
min: 0,
|
||||
max: 999999999,
|
||||
verticalbuttons: true,
|
||||
prefix: '<?PHP echo $lang['time_sec']; ?>'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wiselclddesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiselcld']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiselclddesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wiselclddesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiselcld']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiselclddesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="setontimedesc2" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['setontime2']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['setontimedesc2']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiadmhidedesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiadmhide']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiadmhidedesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<div class="modal fade" id="setontimedesc2" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['setontime2']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['setontimedesc2']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiadmhidedesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiadmhide']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiadmhidedesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
@@ -1,234 +1,243 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
require_once('_nav.php');
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
try {
|
||||
require_once('_nav.php');
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$stats_api_keys = $err_msg = "";
|
||||
|
||||
if (isset($_POST['apikey']) && isset($_POST['desc'])) {
|
||||
$apidefinition = [];
|
||||
foreach($_POST['apikey'] as $rowid => $apikey) {
|
||||
$desc = isset($_POST["desc"][$rowid]) ? $_POST["desc"][$rowid] : null;
|
||||
$apidefinition[] = "$apikey=>$desc";
|
||||
}
|
||||
|
||||
$stats_api_keys = implode(",", $apidefinition);
|
||||
|
||||
$cfg['stats_api_keys'] = $stats_api_keys;
|
||||
}
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('stats_api_keys','{$cfg['stats_api_keys']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc'];
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
|
||||
if(empty($stats_api_keys)) {
|
||||
$cfg['stats_api_keys'] = NULL;
|
||||
} else {
|
||||
$keyarr = explode(',', $stats_api_keys);
|
||||
foreach ($keyarr as $entry) {
|
||||
list($key, $value) = explode('=>', $entry);
|
||||
$addnewvalue[$key] = $value;
|
||||
$cfg['stats_api_keys'] = $addnewvalue;
|
||||
}
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3($rspathhex);
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
|
||||
<form class="form-horizontal" data-toggle="validator" name="update" method="POST" id="new">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<span><?php echo $lang['api'],' ',$lang['wihlset']; ?></span>
|
||||
</h1>
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$stats_api_keys = $err_msg = "";
|
||||
|
||||
if (isset($_POST['apikey']) && isset($_POST['desc'])) {
|
||||
$apidefinition = [];
|
||||
foreach($_POST['apikey'] as $rowid => $apikey) {
|
||||
$desc = isset($_POST["desc"][$rowid]) ? $_POST["desc"][$rowid] : null;
|
||||
$apidefinition[] = "$apikey=>$desc";
|
||||
}
|
||||
|
||||
$stats_api_keys = implode(",", $apidefinition);
|
||||
|
||||
$cfg['stats_api_keys'] = $stats_api_keys;
|
||||
} else {
|
||||
$cfg['stats_api_keys'] = NULL;
|
||||
}
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('stats_api_keys','{$cfg['stats_api_keys']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc'];
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
|
||||
if(empty($stats_api_keys)) {
|
||||
$cfg['stats_api_keys'] = NULL;
|
||||
} else {
|
||||
$keyarr = explode(',', $stats_api_keys);
|
||||
foreach ($keyarr as $entry) {
|
||||
list($key, $value) = explode('=>', $entry);
|
||||
$addnewvalue[$key] = $value;
|
||||
$cfg['stats_api_keys'] = $addnewvalue;
|
||||
}
|
||||
}
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3();
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
|
||||
<form class="form-horizontal" data-toggle="validator" name="update" method="POST" id="new">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<span><?php echo $lang['api'],' ',$lang['wihlset']; ?></span>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-12 pointer" data-toggle="modal" data-target="#wiapidesc"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="panel-body">
|
||||
<div class="row"> </div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-5">
|
||||
<b><?php echo $lang['apikey'] ?></b>
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-12 pointer" data-toggle="modal" data-target="#wiapidesc"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="panel-body">
|
||||
<div class="row"> </div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-5">
|
||||
<b><?php echo $lang['apikey'] ?></b>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<b><?php echo $lang['descr']; ?></b>
|
||||
</div>
|
||||
<div class="col-sm-1"></div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<b><?php echo $lang['descr']; ?></b>
|
||||
<div class="form-group hidden" name="template">
|
||||
<div class="col-sm-4">
|
||||
<input type="text" data-pattern="^[a-zA-Z0-9]{1,64}$" data-error="No special characters allowed and maximum 64 characters!" maxlength="64" class="form-control" name="tempapikey[]" value="<?PHP $apikey= bin2hex(openssl_random_pseudo_bytes(32)); echo $apikey; ?>">
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
<div class="col-sm-1 text-left"></div>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" data-pattern="^[^,=>]{1,128}$" data-error="No comma, equal sign or greater-than sign allowed and maximum 128 characters!" maxlength="128" class="form-control" name="tempdesc[]" value="" placeholder="set a description..">
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
<div class="col-sm-1 text-center delete" name="delete"><i class="fas fa-trash" style="margin-top:10px;cursor:pointer;" title="delete line"></i></div>
|
||||
<div class="col-sm-2"></div>
|
||||
</div>
|
||||
<div class="col-sm-1"></div>
|
||||
</div>
|
||||
<div class="form-group hidden" name="template">
|
||||
<div class="col-sm-4">
|
||||
<input type="text" data-pattern="^[a-zA-Z0-9]{1,64}$" data-error="No special characters allowed and maximum 64 characters!" maxlength="64" class="form-control" name="tempapikey[]" value="<?PHP $apikey= bin2hex(openssl_random_pseudo_bytes(32)); echo $apikey; ?>">
|
||||
<div class="help-block with-errors"></div>
|
||||
<?PHP
|
||||
if(isset($cfg['stats_api_keys']) && $cfg['stats_api_keys'] != '') {
|
||||
foreach($cfg['stats_api_keys'] as $apikey => $desc) {
|
||||
?>
|
||||
<div class="form-group" name="apidef">
|
||||
<div class="col-sm-4">
|
||||
<input type="text" data-pattern="^[a-zA-Z0-9]{1,64}$" data-error="No special characters allowed and maximum 64 characters!" maxlength="64" class="form-control" name="apikey[]" value="<?PHP echo $apikey; ?>">
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
<div class="col-sm-1 text-left">
|
||||
<i class="fas fa-link" onclick="openurl('../api/?apikey=<?PHP echo $apikey; ?>')" style="margin-top:10px;cursor:pointer;" title="open URL"></i>
|
||||
<i class="fas fa-copy" onclick="copyurl('<?PHP echo $_SERVER['SERVER_NAME'],substr(dirname($_SERVER['SCRIPT_NAME']),0,-12),'api/?apikey=',$apikey; ?>')" style="margin-top:10px;cursor:pointer;" title="copy URL to clipboard"></i>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" data-pattern="^[^,=>]{1,128}$" data-error="No comma, equal sign or greater-than sign allowed and maximum 128 characters!" maxlength="128" class="form-control" name="desc[]" value="<?PHP echo $desc; ?>" placeholder="set a description..">
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
<div class="col-sm-1 text-center delete" name="delete"><i class="fas fa-trash" style="margin-top:10px;cursor:pointer;" title="delete line"></i></div>
|
||||
<div class="col-sm-2"></div>
|
||||
</div>
|
||||
<div class="col-sm-1 text-left"></div>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" data-pattern="^[^,=>]{1,128}$" data-error="No comma, equal sign or greater-than sign allowed and maximum 128 characters!" maxlength="128" class="form-control" name="tempdesc[]" value="" placeholder="set a description..">
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
<div class="col-sm-1 text-center delete" name="delete"><i class="fas fa-trash" style="margin-top:10px;cursor:pointer;" title="delete line"></i></div>
|
||||
<div class="col-sm-2"></div>
|
||||
</div>
|
||||
<?PHP
|
||||
foreach($cfg['stats_api_keys'] as $apikey => $desc) {
|
||||
?>
|
||||
<div class="form-group" name="apidef">
|
||||
<div class="col-sm-4">
|
||||
<input type="text" data-pattern="^[a-zA-Z0-9]{1,64}$" data-error="No special characters allowed and maximum 64 characters!" maxlength="64" class="form-control" name="apikey[]" value="<?PHP echo $apikey; ?>">
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
<div class="col-sm-1 text-left">
|
||||
<i class="fas fa-link" onclick="openurl('../api/?apikey=<?PHP echo $apikey; ?>')" style="margin-top:10px;cursor:pointer;" title="open URL"></i>
|
||||
<i class="fas fa-copy" onclick="copyurl('<?PHP echo $_SERVER['SERVER_NAME'],substr(dirname($_SERVER['SCRIPT_NAME']),0,-12),'api/?apikey=',$apikey; ?>')" style="margin-top:10px;cursor:pointer;" title="copy URL to clipboard"></i>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" data-pattern="^[^,=>]{1,128}$" data-error="No comma, equal sign or greater-than sign allowed and maximum 128 characters!" maxlength="128" class="form-control" name="desc[]" value="<?PHP echo $desc; ?>" placeholder="set a description..">
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
<div class="col-sm-1 text-center delete" name="delete"><i class="fas fa-trash" style="margin-top:10px;cursor:pointer;" title="delete line"></i></div>
|
||||
<div class="col-sm-2"></div>
|
||||
</div>
|
||||
<?PHP
|
||||
}
|
||||
?>
|
||||
<div class="form-group" id="addapikey">
|
||||
<?PHP
|
||||
if(!isset($cfg['stats_api_keys'])) {
|
||||
echo '<div class="col-sm-11"><div id="noentry"><i>',$lang['wiboostempty'],'</i></div></div>';
|
||||
} else {
|
||||
echo '<div class="col-sm-11"></div>';
|
||||
}?>
|
||||
<div class="col-sm-1 text-center">
|
||||
<span class="d-inline-block" ata-toggle="tooltip" title="Add new line">
|
||||
<button class="btn btn-primary" onclick="addapikey()" style="margin-top: 5px;" type="button"><i class="fas fa-plus"></i></button>
|
||||
</span>
|
||||
}
|
||||
}
|
||||
?>
|
||||
<div class="form-group" id="addapikey">
|
||||
<?PHP
|
||||
if(!isset($cfg['stats_api_keys'])) {
|
||||
echo '<div class="col-sm-11"><div id="noentry"><i>',$lang['wiboostempty'],'</i></div></div>';
|
||||
} else {
|
||||
echo '<div class="col-sm-11"></div>';
|
||||
}?>
|
||||
<div class="col-sm-1 text-center">
|
||||
<span class="d-inline-block" ata-toggle="tooltip" title="Add new line">
|
||||
<button class="btn btn-primary" onclick="addapikey()" style="margin-top: 5px;" type="button"><i class="fas fa-plus"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="col-sm-2"></div>
|
||||
</div>
|
||||
<div class="col-sm-2"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wiapidesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['api']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php
|
||||
$host = "<a href=\"//".$_SERVER['HTTP_HOST'].substr(rtrim(dirname($_SERVER['PHP_SELF']), '/\\'),0,-12)."api\" target=\"_blank\">".$_SERVER['HTTP_HOST'].substr(rtrim(dirname($_SERVER['PHP_SELF']), '/\\'),0,-12)."api</a>";
|
||||
echo sprintf($lang['wiapidesc'], $host); ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wiapidesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['api']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php
|
||||
$host = "<a href=\"//".$_SERVER['HTTP_HOST'].substr(rtrim(dirname($_SERVER['PHP_SELF']), '/\\'),0,-12)."api\" target=\"_blank\">".$_SERVER['HTTP_HOST'].substr(rtrim(dirname($_SERVER['PHP_SELF']), '/\\'),0,-12)."api</a>";
|
||||
echo sprintf($lang['wiapidesc'], $host); ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$('form[data-toggle="validator"]').validator({
|
||||
custom: {
|
||||
pattern: function ($el) {
|
||||
var pattern = new RegExp($el.data('pattern'));
|
||||
return pattern.test($el.val());
|
||||
}
|
||||
},
|
||||
delay: 100,
|
||||
errors: {
|
||||
pattern: "There should be an error in your value, please check all could be right!"
|
||||
}
|
||||
});
|
||||
function addapikey() {
|
||||
var $clone = $("div[name='template']").last().clone();
|
||||
$clone.removeClass("hidden");
|
||||
$clone.attr('name','apidef');
|
||||
$clone.insertBefore("#addapikey");
|
||||
$("input[name='tempapikey[]']").last().attr('name', 'apikey[]');
|
||||
$("input[name='tempdesc[]']").last().attr('name', 'desc[]');
|
||||
$('.delete').removeClass("hidden");
|
||||
if (document.contains(document.getElementById("noentry"))) {
|
||||
document.getElementById("noentry").remove();
|
||||
}
|
||||
|
||||
var newapikey = {
|
||||
_pattern : /[a-z0-9]/,
|
||||
_getRandomByte : function() {
|
||||
if(window.crypto && window.crypto.getRandomValues) {
|
||||
var result = new Uint8Array(1);
|
||||
window.crypto.getRandomValues(result);
|
||||
return result[0];
|
||||
} else if(window.msCrypto && window.msCrypto.getRandomValues) {
|
||||
var result = new Uint8Array(1);
|
||||
window.msCrypto.getRandomValues(result);
|
||||
return result[0];
|
||||
} else {
|
||||
return Math.floor(Math.random() * 256);
|
||||
<script>
|
||||
$('form[data-toggle="validator"]').validator({
|
||||
custom: {
|
||||
pattern: function ($el) {
|
||||
var pattern = new RegExp($el.data('pattern'));
|
||||
return pattern.test($el.val());
|
||||
}
|
||||
},
|
||||
|
||||
generate : function(length) {
|
||||
return Array.apply(null, {'length': length})
|
||||
.map(function() {
|
||||
var result;
|
||||
while(true) {
|
||||
result = String.fromCharCode(this._getRandomByte());
|
||||
if(this._pattern.test(result)) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}, this)
|
||||
.join('');
|
||||
delay: 100,
|
||||
errors: {
|
||||
pattern: "There should be an error in your value, please check all could be right!"
|
||||
}
|
||||
});
|
||||
function addapikey() {
|
||||
var $clone = $("div[name='template']").last().clone();
|
||||
$clone.removeClass("hidden");
|
||||
$clone.attr('name','apidef');
|
||||
$clone.insertBefore("#addapikey");
|
||||
$("input[name='tempapikey[]']").last().attr('name', 'apikey[]');
|
||||
$("input[name='tempdesc[]']").last().attr('name', 'desc[]');
|
||||
$('.delete').removeClass("hidden");
|
||||
if (document.contains(document.getElementById("noentry"))) {
|
||||
document.getElementById("noentry").remove();
|
||||
}
|
||||
|
||||
var newapikey = {
|
||||
_pattern : /[a-z0-9]/,
|
||||
_getRandomByte : function() {
|
||||
if(window.crypto && window.crypto.getRandomValues) {
|
||||
var result = new Uint8Array(1);
|
||||
window.crypto.getRandomValues(result);
|
||||
return result[0];
|
||||
} else if(window.msCrypto && window.msCrypto.getRandomValues) {
|
||||
var result = new Uint8Array(1);
|
||||
window.msCrypto.getRandomValues(result);
|
||||
return result[0];
|
||||
} else {
|
||||
return Math.floor(Math.random() * 256);
|
||||
}
|
||||
},
|
||||
|
||||
generate : function(length) {
|
||||
return Array.apply(null, {'length': length})
|
||||
.map(function() {
|
||||
var result;
|
||||
while(true) {
|
||||
result = String.fromCharCode(this._getRandomByte());
|
||||
if(this._pattern.test(result)) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}, this)
|
||||
.join('');
|
||||
}
|
||||
};
|
||||
$("input[name='apikey[]']").last().attr('value', newapikey.generate(64));
|
||||
};
|
||||
$("input[name='apikey[]']").last().attr('value', newapikey.generate(64));
|
||||
};
|
||||
$(document).on("click", ".delete", function(){
|
||||
$(this).parent().remove();
|
||||
});
|
||||
function openurl(url) {
|
||||
window.open(url,'_blank');
|
||||
}
|
||||
function copyurl(url) {
|
||||
navigator.clipboard.writeText(url).then(function() { });
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
$(document).on("click", ".delete", function(){
|
||||
$(this).parent().remove();
|
||||
});
|
||||
function openurl(url) {
|
||||
window.open(url,'_blank');
|
||||
}
|
||||
function copyurl(url) {
|
||||
navigator.clipboard.writeText(url).then(function() { });
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
@@ -1,409 +1,414 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
require_once('_nav.php');
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
try {
|
||||
require_once('_nav.php');
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if(($groupslist = $mysqlcon->query("SELECT * FROM `$dbname`.`groups` ORDER BY `sortid`,`sgidname` ASC")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if(!isset($groupslist) || $groupslist == NULL) {
|
||||
$err_msg = '<b>No servergroups found inside the Ranksystem cache!</b><br><br>Please connect the Ranksystem Bot to the TS server. The Ranksystem will download the servergroups when it is connected to the server.<br>Give it a few minutes and reload this page. The dropdown field should contain your groups after.';
|
||||
$err_lvl = 1;
|
||||
}
|
||||
|
||||
if (isset($_POST['update_old']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if(empty($_POST['rankup_boost_definition'])) {
|
||||
$grouparr_old = null;
|
||||
} else {
|
||||
foreach (explode(',', $_POST['rankup_boost_definition']) as $entry) {
|
||||
list($key, $value1, $value2) = explode('=>', $entry);
|
||||
$grouparr_old[$key] = array("group"=>$key,"factor"=>$value1,"time"=>$value2);
|
||||
$cfg['rankup_boost_definition'] = $grouparr_old;
|
||||
}
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if(isset($cfg['rankup_boost_definition']) && $cfg['rankup_boost_definition'] != NULL) {
|
||||
foreach($cfg['rankup_boost_definition'] as $groupid => $value) {
|
||||
if(!isset($groupslist[$groupid]) && $groupid != NULL) {
|
||||
$err_msg .= sprintf($lang['upgrp0001'], $groupid, $lang['wiboost']).'<br>';
|
||||
$err_lvl = 3;
|
||||
$errcnf++;
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if(($groupslist = $mysqlcon->query("SELECT * FROM `$dbname`.`groups` ORDER BY `sortid`,`sgidname` ASC")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if(!isset($groupslist) || $groupslist == NULL) {
|
||||
$err_msg = '<b>No servergroups found inside the Ranksystem cache!</b><br><br>Please connect the Ranksystem Bot to the TS server. The Ranksystem will download the servergroups when it is connected to the server.<br>Give it a few minutes and reload this page. The dropdown field should contain your groups after.';
|
||||
$err_lvl = 1;
|
||||
}
|
||||
|
||||
if (isset($_POST['update_old']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if(empty($_POST['rankup_boost_definition'])) {
|
||||
$grouparr_old = null;
|
||||
} else {
|
||||
foreach (explode(',', $_POST['rankup_boost_definition']) as $entry) {
|
||||
list($key, $value1, $value2) = explode('=>', $entry);
|
||||
$grouparr_old[$key] = array("group"=>$key,"factor"=>$value1,"time"=>$value2);
|
||||
$cfg['rankup_boost_definition'] = $grouparr_old;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$cfg['rankup_boost_definition'] = $_POST['rankup_boost_definition'];
|
||||
|
||||
if($errcnf == 0) {
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('rankup_boost_definition','{$cfg['rankup_boost_definition']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc']." ".sprintf($lang['wisvres'], ' <form class="btn-group" name="restart" action="bot.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-primary" name="restart"><i class="fas fa-sync"></i> '.$lang['wibot7'].'</button></form>');
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
} else {
|
||||
$err_msg .= "<br>".$lang['errgrpid'];
|
||||
}
|
||||
|
||||
if(empty($_POST['rankup_boost_definition'])) {
|
||||
$cfg['rankup_boost_definition'] = NULL;
|
||||
} else {
|
||||
foreach (explode(',', $_POST['rankup_boost_definition']) as $entry) {
|
||||
list($key, $value1, $value2) = explode('=>', $entry);
|
||||
$addnewvalue2[$key] = array("group"=>$key,"factor"=>$value1,"time"=>$value2);
|
||||
$cfg['rankup_boost_definition'] = $addnewvalue2;
|
||||
}
|
||||
}
|
||||
|
||||
} elseif (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$rankup_boost_definition = $err_msg = "";
|
||||
$errcnf = 0;
|
||||
|
||||
if (isset($_POST['boostduration']) && !isset($_POST['boostgroup']) && isset($_POST['boostfactor'])) {
|
||||
$errcnf++;
|
||||
$err_msg = "<b>Missing servergroup in your defintion!</b><br>";
|
||||
$err_lvl = 3;
|
||||
$cfg['rankup_boost_definition'] = null;
|
||||
} elseif (isset($_POST['boostduration']) && isset($_POST['boostgroup']) && isset($_POST['boostfactor'])) {
|
||||
$boostdefinition = [];
|
||||
foreach($_POST['boostgroup'] as $rowid => $groupid) {
|
||||
$factor = isset($_POST["boostfactor"][$rowid]) ? floatval($_POST["boostfactor"][$rowid]) : 1;
|
||||
$duration = isset($_POST["boostduration"][$rowid]) ? intval($_POST["boostduration"][$rowid]) : 1;
|
||||
$boostdefinition[] = "$groupid=>$factor=>$duration";
|
||||
}
|
||||
|
||||
$rankup_boost_definition = implode(",", $boostdefinition);
|
||||
|
||||
$grouparr = [];
|
||||
foreach(explode(',', $rankup_boost_definition) as $entry) {
|
||||
list($groupid, $factor, $duration) = explode('=>', $entry);
|
||||
$grouparr[$groupid] = $factor;
|
||||
}
|
||||
|
||||
if(isset($groupslist) && $groupslist != NULL) {
|
||||
foreach($grouparr as $groupid => $time) {
|
||||
if((!isset($groupslist[$groupid]) && $groupid != NULL) || $groupid == 0) {
|
||||
$err_msg .= sprintf($lang['upgrp0001'], $groupid, $lang['wigrptime']).'<br>';
|
||||
|
||||
if(isset($cfg['rankup_boost_definition']) && $cfg['rankup_boost_definition'] != NULL) {
|
||||
foreach($cfg['rankup_boost_definition'] as $groupid => $value) {
|
||||
if(!isset($groupslist[$groupid]) && $groupid != NULL) {
|
||||
$err_msg .= sprintf($lang['upgrp0001'], $groupid, $lang['wiboost']).'<br>';
|
||||
$err_lvl = 3;
|
||||
$errcnf++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$cfg['rankup_boost_definition'] = $_POST['rankup_boost_definition'];
|
||||
|
||||
$cfg['rankup_boost_definition'] = $rankup_boost_definition;
|
||||
} else {
|
||||
$cfg['rankup_boost_definition'] = null;
|
||||
if ($mysqlcon->exec("UPDATE `$dbname`.`user` SET `boosttime`=0;") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
}
|
||||
|
||||
if($errcnf == 0) {
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('rankup_boost_definition','{$cfg['rankup_boost_definition']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
if($errcnf == 0) {
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('rankup_boost_definition','{$cfg['rankup_boost_definition']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc']." ".sprintf($lang['wisvres'], ' <form class="btn-group" name="restart" action="bot.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-primary" name="restart"><i class="fas fa-sync"></i> '.$lang['wibot7'].'</button></form>');
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc']." ".sprintf($lang['wisvres'], ' <form class="btn-group" name="restart" action="bot.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-primary" name="restart"><i class="fas fa-sync"></i> '.$lang['wibot7'].'</button></form>');
|
||||
$err_lvl = NULL;
|
||||
$err_msg .= "<br>".$lang['errgrpid'];
|
||||
}
|
||||
} else {
|
||||
$err_msg .= "<br>".$lang['errgrpid'];
|
||||
}
|
||||
|
||||
if(empty($rankup_boost_definition)) {
|
||||
$cfg['rankup_boost_definition'] = NULL;
|
||||
} else {
|
||||
$boostexp = explode(',', $rankup_boost_definition);
|
||||
foreach ($boostexp as $entry) {
|
||||
list($key, $value1, $value2) = explode('=>', $entry);
|
||||
$addnewvalue2[$key] = array("group"=>$key,"factor"=>$value1,"time"=>$value2);
|
||||
$cfg['rankup_boost_definition'] = $addnewvalue2;
|
||||
|
||||
if(empty($_POST['rankup_boost_definition'])) {
|
||||
$cfg['rankup_boost_definition'] = NULL;
|
||||
} else {
|
||||
foreach (explode(',', $_POST['rankup_boost_definition']) as $entry) {
|
||||
list($key, $value1, $value2) = explode('=>', $entry);
|
||||
$addnewvalue2[$key] = array("group"=>$key,"factor"=>$value1,"time"=>$value2);
|
||||
$cfg['rankup_boost_definition'] = $addnewvalue2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} elseif(isset($_POST['update']) || isset($_POST['update_old'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3($rspathhex);
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
|
||||
<form class="form-horizontal" data-toggle="validator" name="update" method="POST" id="new">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<span><?php echo $lang['wiboost'],' ',$lang['wihlset']; ?></span>
|
||||
<div class="btn pull-right expertelement">
|
||||
<input id="switchexpert1" class="switch-animate" type="checkbox" data-size="mini" value="switchexpert1" data-label-text="<?php echo $lang['wigrpimp'] ?>" data-off-text="OFF">
|
||||
</div>
|
||||
</h1>
|
||||
} elseif (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$rankup_boost_definition = $err_msg = "";
|
||||
$errcnf = 0;
|
||||
|
||||
if (isset($_POST['boostduration']) && !isset($_POST['boostgroup']) && isset($_POST['boostfactor'])) {
|
||||
$errcnf++;
|
||||
$err_msg = "<b>Missing servergroup in your defintion!</b><br>";
|
||||
$err_lvl = 3;
|
||||
$cfg['rankup_boost_definition'] = null;
|
||||
} elseif (isset($_POST['boostduration']) && isset($_POST['boostgroup']) && isset($_POST['boostfactor'])) {
|
||||
$boostdefinition = [];
|
||||
foreach($_POST['boostgroup'] as $rowid => $groupid) {
|
||||
$factor = isset($_POST["boostfactor"][$rowid]) ? floatval($_POST["boostfactor"][$rowid]) : 1;
|
||||
$duration = isset($_POST["boostduration"][$rowid]) ? intval($_POST["boostduration"][$rowid]) : 1;
|
||||
$boostdefinition[] = "$groupid=>$factor=>$duration";
|
||||
}
|
||||
|
||||
$rankup_boost_definition = implode(",", $boostdefinition);
|
||||
|
||||
$grouparr = [];
|
||||
foreach(explode(',', $rankup_boost_definition) as $entry) {
|
||||
list($groupid, $factor, $duration) = explode('=>', $entry);
|
||||
$grouparr[$groupid] = $factor;
|
||||
}
|
||||
|
||||
if(isset($groupslist) && $groupslist != NULL) {
|
||||
foreach($grouparr as $groupid => $time) {
|
||||
if((!isset($groupslist[$groupid]) && $groupid != NULL) || $groupid == 0) {
|
||||
$err_msg .= sprintf($lang['upgrp0001'], $groupid, $lang['wigrptime']).'<br>';
|
||||
$err_lvl = 3;
|
||||
$errcnf++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$cfg['rankup_boost_definition'] = $rankup_boost_definition;
|
||||
} else {
|
||||
$cfg['rankup_boost_definition'] = null;
|
||||
if ($mysqlcon->exec("UPDATE `$dbname`.`user` SET `boosttime`=0;") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
}
|
||||
|
||||
if($errcnf == 0) {
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('rankup_boost_definition','{$cfg['rankup_boost_definition']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc']." ".sprintf($lang['wisvres'], ' <form class="btn-group" name="restart" action="bot.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-primary" name="restart"><i class="fas fa-sync"></i> '.$lang['wibot7'].'</button></form>');
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
} else {
|
||||
$err_msg .= "<br>".$lang['errgrpid'];
|
||||
}
|
||||
|
||||
if(empty($rankup_boost_definition)) {
|
||||
$cfg['rankup_boost_definition'] = NULL;
|
||||
} else {
|
||||
$boostexp = explode(',', $rankup_boost_definition);
|
||||
foreach ($boostexp as $entry) {
|
||||
list($key, $value1, $value2) = explode('=>', $entry);
|
||||
$addnewvalue2[$key] = array("group"=>$key,"factor"=>$value1,"time"=>$value2);
|
||||
$cfg['rankup_boost_definition'] = $addnewvalue2;
|
||||
}
|
||||
}
|
||||
|
||||
} elseif(isset($_POST['update']) || isset($_POST['update_old'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3();
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
|
||||
<form class="form-horizontal" data-toggle="validator" name="update" method="POST" id="new">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<span><?php echo $lang['wiboost'],' ',$lang['wihlset']; ?></span>
|
||||
<div class="btn pull-right expertelement">
|
||||
<input id="switchexpert1" class="switch-animate" type="checkbox" data-size="mini" value="switchexpert1" data-label-text="<?php echo $lang['wigrpimp'] ?>" data-off-text="OFF">
|
||||
</div>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-12 pointer" data-toggle="modal" data-target="#wihladm0desc"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="panel-body">
|
||||
<div class="row"> </div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-5">
|
||||
<b><?php echo $lang['wigrpt2'] ?></b>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<b><?php echo $lang['wiboost'],' ', $lang['factor']; ?></b>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<b><?php echo $lang['duration'],' ',$lang['insec'] ?></b>
|
||||
</div>
|
||||
<div class="col-sm-1"></div>
|
||||
</div>
|
||||
<div class="form-group hidden" name="template">
|
||||
<div class="col-sm-5">
|
||||
<select class="selectpicker show-tick form-control" data-live-search="true" name="tempboostgroup[]">
|
||||
<?PHP
|
||||
foreach ($groupslist as $groupID => $groupParam) {
|
||||
if (isset($groupParam['iconid']) && $groupParam['iconid'] != 0) $iconid=$groupParam['iconid']."."; else $iconid="placeholder.png";
|
||||
if($groupParam['type'] == 0 || $groupParam['type'] == 2) $disabled=" disabled"; else $disabled="";
|
||||
if($groupParam['type'] == 0) $grouptype=" [TEMPLATE GROUP]"; else $grouptype="";
|
||||
if($groupParam['type'] == 2) $grouptype=" [QUERY GROUP]";
|
||||
if ($groupID != 0) {
|
||||
echo '<option data-content="<img src=\'../tsicons/',$iconid,$groupParam['ext'],'\' width=\'16\' height=\'16\'> ',$groupParam['sgidname'],' <span class=\'text-muted small\'>SGID: ',$groupID,$grouptype,'</span>" value="',$groupID,'"',$disabled,'></option>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<input type="text" data-pattern="^[0-9]{0,9}\.?[0-9]+$" data-error="Only decimal numbers are allowed. As seperator use a dot!" class="form-control boostfactor" name="tempboostfactor[]" value="1.25">
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<input type="text" class="form-control boostduration" name="tempboostduration[]" value="600">
|
||||
</div>
|
||||
<div class="col-sm-1 text-center delete" name="delete"><i class="fas fa-trash" style="margin-top:10px;cursor:pointer;" title="delete line"></i></div>
|
||||
<div class="col-sm-2"></div>
|
||||
</div>
|
||||
<?PHP
|
||||
if(isset($cfg['rankup_boost_definition'])) {
|
||||
foreach($cfg['rankup_boost_definition'] as $boost) {
|
||||
?>
|
||||
<div class="form-group" name="boostgroup">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-12 pointer" data-toggle="modal" data-target="#wihladm0desc"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="panel-body">
|
||||
<div class="row"> </div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-5">
|
||||
<select class="selectpicker show-tick form-control" data-live-search="true" name="boostgroup[]">
|
||||
<b><?php echo $lang['wigrpt2'] ?></b>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<b><?php echo $lang['wiboost'],' ', $lang['factor']; ?></b>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<b><?php echo $lang['duration'],' ',$lang['insec'] ?></b>
|
||||
</div>
|
||||
<div class="col-sm-1"></div>
|
||||
</div>
|
||||
<div class="form-group hidden" name="template">
|
||||
<div class="col-sm-5">
|
||||
<select class="selectpicker show-tick form-control" data-live-search="true" name="tempboostgroup[]">
|
||||
<?PHP
|
||||
foreach ($groupslist as $groupID => $groupParam) {
|
||||
if ($groupID == $boost['group']) $selected=" selected"; else $selected="";
|
||||
if (isset($groupParam['iconid']) && $groupParam['iconid'] != 0) $iconid=$groupParam['iconid']."."; else $iconid="placeholder.png";
|
||||
if ($groupParam['type'] == 0 || $groupParam['type'] == 2) $disabled=" disabled"; else $disabled="";
|
||||
if ($groupParam['type'] == 0) $grouptype=" [TEMPLATE GROUP]"; else $grouptype="";
|
||||
if ($groupParam['type'] == 2) $grouptype=" [QUERY GROUP]";
|
||||
if($groupParam['type'] == 0 || $groupParam['type'] == 2) $disabled=" disabled"; else $disabled="";
|
||||
if($groupParam['type'] == 0) $grouptype=" [TEMPLATE GROUP]"; else $grouptype="";
|
||||
if($groupParam['type'] == 2) $grouptype=" [QUERY GROUP]";
|
||||
if ($groupID != 0) {
|
||||
echo '<option data-content="<img src=\'../tsicons/',$iconid,$groupParam['ext'],'\' width=\'16\' height=\'16\'> ',$groupParam['sgidname'],' <span class=\'text-muted small\'>SGID: ',$groupID,$grouptype,'</span>" value="',$groupID,'"',$selected,$disabled,'></option>';
|
||||
echo '<option data-content="<img src=\'../tsicons/',$iconid,$groupParam['ext'],'\' width=\'16\' height=\'16\'> ',$groupParam['sgidname'],' <span class=\'text-muted small\'>SGID: ',$groupID,$grouptype,'</span>" value="',$groupID,'"',$disabled,'></option>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<input type="text" data-pattern="^[0-9]{0,9}\.?[0-9]+$" data-error="Only decimal numbers are allowed. As seperator use a dot!" class="form-control boostfactor" name="boostfactor[]" value="<?PHP echo $boost['factor']; ?>">
|
||||
<input type="text" data-pattern="^[0-9]{0,9}\.?[0-9]+$" data-error="Only decimal numbers are allowed. As seperator use a dot!" class="form-control boostfactor" name="tempboostfactor[]" value="1.25">
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<input type="text" class="form-control boostduration" name="boostduration[]" value="<?PHP echo $boost['time']; ?>">
|
||||
<input type="text" class="form-control boostduration" name="tempboostduration[]" value="600">
|
||||
</div>
|
||||
<div class="col-sm-1 text-center delete" name="delete"><i class="fas fa-trash" style="margin-top:10px;cursor:pointer;" title="delete line"></i></div>
|
||||
<div class="col-sm-2"></div>
|
||||
</div>
|
||||
<?PHP
|
||||
}
|
||||
}
|
||||
?>
|
||||
<div class="form-group" id="addboostgroup">
|
||||
if(isset($cfg['rankup_boost_definition'])) {
|
||||
foreach($cfg['rankup_boost_definition'] as $boost) {
|
||||
?>
|
||||
<div class="form-group" name="boostgroup">
|
||||
<div class="col-sm-5">
|
||||
<select class="selectpicker show-tick form-control" data-live-search="true" name="boostgroup[]">
|
||||
<?PHP
|
||||
foreach ($groupslist as $groupID => $groupParam) {
|
||||
if ($groupID == $boost['group']) $selected=" selected"; else $selected="";
|
||||
if (isset($groupParam['iconid']) && $groupParam['iconid'] != 0) $iconid=$groupParam['iconid']."."; else $iconid="placeholder.png";
|
||||
if ($groupParam['type'] == 0 || $groupParam['type'] == 2) $disabled=" disabled"; else $disabled="";
|
||||
if ($groupParam['type'] == 0) $grouptype=" [TEMPLATE GROUP]"; else $grouptype="";
|
||||
if ($groupParam['type'] == 2) $grouptype=" [QUERY GROUP]";
|
||||
if ($groupID != 0) {
|
||||
echo '<option data-content="<img src=\'../tsicons/',$iconid,$groupParam['ext'],'\' width=\'16\' height=\'16\'> ',$groupParam['sgidname'],' <span class=\'text-muted small\'>SGID: ',$groupID,$grouptype,'</span>" value="',$groupID,'"',$selected,$disabled,'></option>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<input type="text" data-pattern="^[0-9]{0,9}\.?[0-9]+$" data-error="Only decimal numbers are allowed. As seperator use a dot!" class="form-control boostfactor" name="boostfactor[]" value="<?PHP echo $boost['factor']; ?>">
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<input type="text" class="form-control boostduration" name="boostduration[]" value="<?PHP echo $boost['time']; ?>">
|
||||
</div>
|
||||
<div class="col-sm-1 text-center delete" name="delete"><i class="fas fa-trash" style="margin-top:10px;cursor:pointer;" title="delete line"></i></div>
|
||||
<div class="col-sm-2"></div>
|
||||
</div>
|
||||
<?PHP
|
||||
if(!isset($cfg['rankup_boost_definition'])) {
|
||||
echo '<div class="col-sm-11"><div id="noentry"><i>',$lang['wiboostempty'],'</i></div></div>';
|
||||
} else {
|
||||
echo '<div class="col-sm-11"></div>';
|
||||
}?>
|
||||
<div class="col-sm-1 text-center">
|
||||
<span class="d-inline-block" ata-toggle="tooltip" title="Add new line">
|
||||
<button class="btn btn-primary" onclick="addboostgroup()" style="margin-top: 5px;" type="button"><i class="fas fa-plus"></i></button>
|
||||
</span>
|
||||
}
|
||||
}
|
||||
?>
|
||||
<div class="form-group" id="addboostgroup">
|
||||
<?PHP
|
||||
if(!isset($cfg['rankup_boost_definition'])) {
|
||||
echo '<div class="col-sm-11"><div id="noentry"><i>',$lang['wiboostempty'],'</i></div></div>';
|
||||
} else {
|
||||
echo '<div class="col-sm-11"></div>';
|
||||
}?>
|
||||
<div class="col-sm-1 text-center">
|
||||
<span class="d-inline-block" ata-toggle="tooltip" title="Add new line">
|
||||
<button class="btn btn-primary" onclick="addboostgroup()" style="margin-top: 5px;" type="button"><i class="fas fa-plus"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="col-sm-2"></div>
|
||||
</div>
|
||||
<div class="col-sm-2"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
|
||||
<form class="form-horizontal hidden" data-toggle="validator" name="update_old" method="POST" id="old">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<span><?php echo $lang['wiboost'],' ',$lang['wihlset']; ?></span>
|
||||
<div class="btn pull-right">
|
||||
<input id="switchexpert2" class="switch-animate" type="checkbox" checked data-size="mini" alue="switchexpert2" data-label-text="<?php echo $lang['wigrpimp'] ?>" data-on-text="ON">
|
||||
</div>
|
||||
</h1>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
|
||||
<form class="form-horizontal hidden" data-toggle="validator" name="update_old" method="POST" id="old">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<span><?php echo $lang['wiboost'],' ',$lang['wihlset']; ?></span>
|
||||
<div class="btn pull-right">
|
||||
<input id="switchexpert2" class="switch-animate" type="checkbox" checked data-size="mini" alue="switchexpert2" data-label-text="<?php echo $lang['wigrpimp'] ?>" data-on-text="ON">
|
||||
</div>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-12" data-toggle="modal" data-target="#wiboostdesc"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="panel-body">
|
||||
<div class="row"> </div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label"><?php echo $lang['wiboost']; ?></label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" data-pattern="^([1-9][0-9]{0,9}=>[0-9]{0,9}\.?[0-9]+=>[1-9][0-9]{0,9},)*[1-9][0-9]{0,9}=>[0-9]{0,9}\.?[0-9]+=>[1-9][0-9]{0,9}$" data-error="Wrong definition, please look at description for more details. No comma at ending!" rows="15" name="rankup_boost_definition" maxlength="21588"><?php
|
||||
$implode_boost = '';
|
||||
if(isset($cfg['rankup_boost_definition']) && $cfg['rankup_boost_definition'] != NULL) {
|
||||
foreach ($cfg['rankup_boost_definition'] as $r) {
|
||||
$implode_boost .= $r['group']."=>".$r['factor']."=>".$r['time'].",";
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-12" data-toggle="modal" data-target="#wiboostdesc"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="panel-body">
|
||||
<div class="row"> </div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label"><?php echo $lang['wiboost']; ?></label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" data-pattern="^([1-9][0-9]{0,9}=>[0-9]{0,9}\.?[0-9]+=>[1-9][0-9]{0,9},)*[1-9][0-9]{0,9}=>[0-9]{0,9}\.?[0-9]+=>[1-9][0-9]{0,9}$" data-error="Wrong definition, please look at description for more details. No comma at ending!" rows="15" name="rankup_boost_definition" maxlength="21588"><?php
|
||||
$implode_boost = '';
|
||||
if(isset($cfg['rankup_boost_definition']) && $cfg['rankup_boost_definition'] != NULL) {
|
||||
foreach ($cfg['rankup_boost_definition'] as $r) {
|
||||
$implode_boost .= $r['group']."=>".$r['factor']."=>".$r['time'].",";
|
||||
}
|
||||
$implode_boost = substr($implode_boost, 0, -1);
|
||||
}
|
||||
$implode_boost = substr($implode_boost, 0, -1);
|
||||
}
|
||||
echo $implode_boost;
|
||||
?></textarea>
|
||||
<div class="help-block with-errors"></div>
|
||||
echo $implode_boost;
|
||||
?></textarea>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update_old"><?php echo $lang['wisvconf']; ?></button>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update_old"><?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wihladm0desc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiboost']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiboost2desc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wihladm0desc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiboost']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiboost2desc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiboostdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiboost']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiboostdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$('form[data-toggle="validator"]').validator({
|
||||
custom: {
|
||||
pattern: function ($el) {
|
||||
var pattern = new RegExp($el.data('pattern'));
|
||||
return pattern.test($el.val());
|
||||
<div class="modal fade" id="wiboostdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiboost']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiboostdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$('form[data-toggle="validator"]').validator({
|
||||
custom: {
|
||||
pattern: function ($el) {
|
||||
var pattern = new RegExp($el.data('pattern'));
|
||||
return pattern.test($el.val());
|
||||
}
|
||||
},
|
||||
delay: 100,
|
||||
errors: {
|
||||
pattern: "There should be an error in your value, please check all could be right!"
|
||||
}
|
||||
},
|
||||
delay: 100,
|
||||
errors: {
|
||||
pattern: "There should be an error in your value, please check all could be right!"
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(".boostduration").TouchSpin({
|
||||
min: 1,
|
||||
max: 999999999,
|
||||
verticalbuttons: true,
|
||||
prefix: 'Sec.:'
|
||||
});
|
||||
$(".boostfactor").TouchSpin({
|
||||
min: 0,
|
||||
max: 999999999,
|
||||
decimals: 9,
|
||||
step: 0.000000001,
|
||||
verticalbuttons: true,
|
||||
prefix: '<i class="fas fa-times"></i>:'
|
||||
});
|
||||
function addboostgroup() {
|
||||
var $clone = $("div[name='template']").last().clone();
|
||||
$clone.removeClass("hidden");
|
||||
$clone.attr('name','boostgroup');
|
||||
$clone.insertBefore("#addboostgroup");
|
||||
$clone.find('.bootstrap-select').replaceWith(function() { return $('select', this); });
|
||||
$clone.find('select').selectpicker('val', '');
|
||||
$("select[name='tempboostgroup[]']").last().attr('name', 'boostgroup[]');
|
||||
$("input[name='tempboostfactor[]']").last().attr('name', 'boostfactor[]');
|
||||
$("input[name='tempboostduration[]']").last().attr('name', 'boostduration[]');
|
||||
$('.delete').removeClass("hidden");
|
||||
if (document.contains(document.getElementById("noentry"))) {
|
||||
document.getElementById("noentry").remove();
|
||||
}
|
||||
$clone.find('.bootstrap-touchspin').replaceWith(function() { return $('input', this); });;
|
||||
$clone.find('.boostfactor').TouchSpin({min: 0,max: 999999999,decimals: 9,step: 0.000000001,verticalbuttons: true,prefix: '<i class="fas fa-times"></i>:'});
|
||||
$clone.find('.boostduration').TouchSpin({min: 1,max: 999999999,verticalbuttons: true,prefix: 'Sec.:'});
|
||||
};
|
||||
$(document).on("click", ".delete", function(){
|
||||
$(this).parent().remove();
|
||||
});
|
||||
$('#switchexpert1').on('switchChange.bootstrapSwitch', function() {
|
||||
document.getElementById("new").classList.add("hidden");
|
||||
document.getElementById("old").classList.remove("hidden");
|
||||
$('#switchexpert2').bootstrapSwitch('state', true, false);
|
||||
});
|
||||
$('#switchexpert2').on('switchChange.bootstrapSwitch', function() {
|
||||
document.getElementById("new").classList.remove("hidden");
|
||||
document.getElementById("old").classList.add("hidden");
|
||||
$('#switchexpert1').bootstrapSwitch('state', false, false);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
$(".boostduration").TouchSpin({
|
||||
min: 1,
|
||||
max: 999999999,
|
||||
verticalbuttons: true,
|
||||
prefix: 'Sec.:'
|
||||
});
|
||||
$(".boostfactor").TouchSpin({
|
||||
min: 0,
|
||||
max: 999999999,
|
||||
decimals: 9,
|
||||
step: 0.000000001,
|
||||
verticalbuttons: true,
|
||||
prefix: '<i class="fas fa-times"></i>:'
|
||||
});
|
||||
function addboostgroup() {
|
||||
var $clone = $("div[name='template']").last().clone();
|
||||
$clone.removeClass("hidden");
|
||||
$clone.attr('name','boostgroup');
|
||||
$clone.insertBefore("#addboostgroup");
|
||||
$clone.find('.bootstrap-select').replaceWith(function() { return $('select', this); });
|
||||
$clone.find('select').selectpicker('val', '');
|
||||
$("select[name='tempboostgroup[]']").last().attr('name', 'boostgroup[]');
|
||||
$("input[name='tempboostfactor[]']").last().attr('name', 'boostfactor[]');
|
||||
$("input[name='tempboostduration[]']").last().attr('name', 'boostduration[]');
|
||||
$('.delete').removeClass("hidden");
|
||||
if (document.contains(document.getElementById("noentry"))) {
|
||||
document.getElementById("noentry").remove();
|
||||
}
|
||||
$clone.find('.bootstrap-touchspin').replaceWith(function() { return $('input', this); });;
|
||||
$clone.find('.boostfactor').TouchSpin({min: 0,max: 999999999,decimals: 9,step: 0.000000001,verticalbuttons: true,prefix: '<i class="fas fa-times"></i>:'});
|
||||
$clone.find('.boostduration').TouchSpin({min: 1,max: 999999999,verticalbuttons: true,prefix: 'Sec.:'});
|
||||
};
|
||||
$(document).on("click", ".delete", function(){
|
||||
$(this).parent().remove();
|
||||
});
|
||||
$('#switchexpert1').on('switchChange.bootstrapSwitch', function() {
|
||||
document.getElementById("new").classList.add("hidden");
|
||||
document.getElementById("old").classList.remove("hidden");
|
||||
$('#switchexpert2').bootstrapSwitch('state', true, false);
|
||||
});
|
||||
$('#switchexpert2').on('switchChange.bootstrapSwitch', function() {
|
||||
document.getElementById("new").classList.remove("hidden");
|
||||
document.getElementById("old").classList.add("hidden");
|
||||
$('#switchexpert1').bootstrapSwitch('state', false, false);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
@@ -1,342 +1,299 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
|
||||
function getlog($cfg,$number_lines,$filters,$filter2,$inactivefilter = NULL) {
|
||||
$lines=array();
|
||||
if(file_exists($cfg['logs_path']."ranksystem.log")) {
|
||||
$fp = fopen($cfg['logs_path']."ranksystem.log", "r");
|
||||
$buffer=array();
|
||||
while($line = fgets($fp, 4096)) {
|
||||
array_push($buffer, $line);
|
||||
try {
|
||||
$number_lines = 20;
|
||||
if (isset($_POST['number'])) {
|
||||
if($_POST['number'] == 20) {
|
||||
$number_lines = 20;
|
||||
} elseif($_POST['number'] == 50) {
|
||||
$number_lines = 50;
|
||||
} elseif($_POST['number'] == 100) {
|
||||
$number_lines = 100;
|
||||
} elseif($_POST['number'] == 200) {
|
||||
$number_lines = 200;
|
||||
} elseif($_POST['number'] == 500) {
|
||||
$number_lines = 500;
|
||||
} elseif($_POST['number'] == 2000) {
|
||||
$number_lines = 2000;
|
||||
} elseif($_POST['number'] == 9999) {
|
||||
$number_lines = 9999;
|
||||
} else {
|
||||
$number_lines = 20;
|
||||
}
|
||||
fclose($fp);
|
||||
$buffer = array_reverse($buffer);
|
||||
$lastfilter = 'init';
|
||||
foreach($buffer as $line) {
|
||||
if(substr($line, 0, 2) != "20" && in_array($lastfilter, $filters)) {
|
||||
array_push($lines, $line);
|
||||
if (count($lines)>$number_lines) {
|
||||
break;
|
||||
}
|
||||
continue;
|
||||
$_SESSION[$rspathhex.'number_lines'] = $number_lines;
|
||||
} elseif (isset($_SESSION[$rspathhex.'number_lines'])) {
|
||||
$number_lines = $_SESSION[$rspathhex.'number_lines'];
|
||||
}
|
||||
|
||||
if(isset($_SESSION[$rspathhex.'logfilter2'])) {
|
||||
$filter2 = $_SESSION[$rspathhex.'logfilter2'];
|
||||
} else {
|
||||
$filter2 = '';
|
||||
}
|
||||
$filters = '';
|
||||
$inactivefilter = '';
|
||||
if(isset($_POST['logfilter']) && in_array('critical', $_POST['logfilter'])) {
|
||||
$filters .= "CRITICAL,";
|
||||
} elseif(isset($_POST['logfilter'])) {
|
||||
$inactivefilter .= "CRITICAL,";
|
||||
}
|
||||
if(isset($_POST['logfilter']) && in_array('error', $_POST['logfilter'])) {
|
||||
$filters .= "ERROR,";
|
||||
} elseif(isset($_POST['logfilter'])) {
|
||||
$inactivefilter .= "ERROR,";
|
||||
}
|
||||
if(isset($_POST['logfilter']) && in_array('warning', $_POST['logfilter'])) {
|
||||
$filters .= "WARNING,";
|
||||
} elseif(isset($_POST['logfilter'])) {
|
||||
$inactivefilter .= "WARNING,";
|
||||
}
|
||||
if(isset($_POST['logfilter']) && in_array('notice', $_POST['logfilter'])) {
|
||||
$filters .= "NOTICE,";
|
||||
} elseif(isset($_POST['logfilter'])) {
|
||||
$inactivefilter .= "NOTICE,";
|
||||
}
|
||||
if(isset($_POST['logfilter']) && in_array('info', $_POST['logfilter'])) {
|
||||
$filters .= "INFO,";
|
||||
} elseif(isset($_POST['logfilter'])) {
|
||||
$inactivefilter .= "INFO,";
|
||||
}
|
||||
if(isset($_POST['logfilter']) && in_array('debug', $_POST['logfilter'])) {
|
||||
$filters .= "DEBUG,";
|
||||
} elseif(isset($_POST['logfilter'])) {
|
||||
$inactivefilter .= "DEBUG,";
|
||||
}
|
||||
if(isset($_POST['logfilter'][0])) {
|
||||
$filter2 = htmlspecialchars($_POST['logfilter'][0]);
|
||||
$_SESSION[$rspathhex.'logfilter2'] = $filter2;
|
||||
}
|
||||
|
||||
if($filters != '') {
|
||||
$_SESSION[$rspathhex.'logfilter'] = $filters;
|
||||
}
|
||||
|
||||
if($inactivefilter != '') {
|
||||
$_SESSION[$rspathhex.'inactivefilter'] = $inactivefilter;
|
||||
}
|
||||
if(isset($_SESSION[$rspathhex.'inactivefilter']) && $_SESSION[$rspathhex.'inactivefilter'] != NULL) {
|
||||
$inactivefilter = explode(',', $_SESSION[$rspathhex.'inactivefilter']);
|
||||
}
|
||||
|
||||
if (!isset($_SESSION[$rspathhex.'logfilter'])) {
|
||||
$_SESSION[$rspathhex.'logfilter'] = "CRITICAL,ERROR,WARNING,NOTICE,INFO,DEBUG,";
|
||||
}
|
||||
|
||||
$filters = explode(',', ($_SESSION[$rspathhex.'logfilter'].'NONE'));
|
||||
|
||||
require_once('_nav.php');
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = 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 = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if ((isset($_POST['start']) || isset($_POST['stop']) || isset($_POST['restart']) || isset($_POST['logfilter'])) && !isset($db_csrf[$_POST['csrf_token']])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3();
|
||||
exit;
|
||||
}
|
||||
|
||||
$logoutput = getlog($cfg,$number_lines,$filters,$filter2,$inactivefilter);
|
||||
|
||||
if (isset($_POST['start']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if(!is_writable($cfg['logs_path'])) {
|
||||
$err_msg = "!!!! Logs folder is not writable !!!!<br>Cancel start request!"; $err_lvl = 3;
|
||||
} else {
|
||||
$output = '';
|
||||
exec($phpcommand." ".substr(__DIR__,0,-12)."worker.php start", $resultexec);
|
||||
if (file_exists($cfg['logs_path']."autostart_deactivated")) {
|
||||
unlink($cfg['logs_path']."autostart_deactivated");
|
||||
}
|
||||
foreach($filters as $filter) {
|
||||
if(($filter != NULL && strstr($line, $filter) && $filter2 == NULL) || ($filter2 != NULL && strstr($line, $filter2) && $filter != NULL && strstr($line, $filter))) {
|
||||
if($filter == "CRITICAL" || $filter == "ERROR") {
|
||||
array_push($lines, '<span class="text-danger">'.$line.'</span>');
|
||||
} else {
|
||||
array_push($lines, $line);
|
||||
}
|
||||
$lastfilter = $filter;
|
||||
if (count($lines)>$number_lines) {
|
||||
break 2;
|
||||
}
|
||||
break;
|
||||
} elseif($inactivefilter != NULL) {
|
||||
foreach($inactivefilter as $defilter) {
|
||||
if($defilter != NULL && strstr($line, $defilter)) {
|
||||
$lastfilter = $defilter;
|
||||
}
|
||||
}
|
||||
}
|
||||
foreach($resultexec as $line) $output .= print_r($line, true).'<br>';
|
||||
$err_msg = $lang['wibot2'].'<br><br>Result of worker.php:<br><pre>'.$output.'</pre>';
|
||||
$err_lvl = 1;
|
||||
usleep(80000);
|
||||
$logoutput = getlog($cfg,$number_lines,$filters,$filter2,$inactivefilter);
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($_POST['stop']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if(!is_writable($cfg['logs_path'])) {
|
||||
$err_msg = "!!!! Logs folder is not writable !!!!<br>Cancel stop request!"; $err_lvl = 3;
|
||||
} else {
|
||||
$output = '';
|
||||
exec($phpcommand." ".substr(__DIR__,0,-12)."worker.php stop", $resultexec);
|
||||
file_put_contents($cfg['logs_path']."autostart_deactivated","");
|
||||
foreach($resultexec as $line) $output .= print_r($line, true).'<br>';
|
||||
$err_msg = $lang['wibot1'].'<br><br>Result of worker.php:<br><pre>'.$output.'</pre>';;
|
||||
$err_lvl = 1;
|
||||
usleep(80000);
|
||||
$logoutput = getlog($cfg,$number_lines,$filters,$filter2,$inactivefilter);
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($_POST['restart']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if(!is_writable($cfg['logs_path'])) {
|
||||
$err_msg = "!!!! Logs folder is not writable !!!!<br>Cancel restart request!"; $err_lvl = 3;
|
||||
} else {
|
||||
$output = '';
|
||||
exec($phpcommand." ".substr(__DIR__,0,-12)."worker.php restart", $resultexec);
|
||||
if (file_exists($cfg['logs_path']."autostart_deactivated")) {
|
||||
unlink($cfg['logs_path']."autostart_deactivated");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$lines[] = "No log entry found...\n";
|
||||
$lines[] = "The logfile will be created with next startup.\n";
|
||||
}
|
||||
return $lines;
|
||||
}
|
||||
|
||||
$number_lines = 20;
|
||||
if (isset($_POST['number'])) {
|
||||
if($_POST['number'] == 20) {
|
||||
$number_lines = 20;
|
||||
} elseif($_POST['number'] == 50) {
|
||||
$number_lines = 50;
|
||||
} elseif($_POST['number'] == 100) {
|
||||
$number_lines = 100;
|
||||
} elseif($_POST['number'] == 200) {
|
||||
$number_lines = 200;
|
||||
} elseif($_POST['number'] == 500) {
|
||||
$number_lines = 500;
|
||||
} elseif($_POST['number'] == 2000) {
|
||||
$number_lines = 2000;
|
||||
} elseif($_POST['number'] == 9999) {
|
||||
$number_lines = 9999;
|
||||
} else {
|
||||
$number_lines = 20;
|
||||
}
|
||||
$_SESSION[$rspathhex.'number_lines'] = $number_lines;
|
||||
} elseif (isset($_SESSION[$rspathhex.'number_lines'])) {
|
||||
$number_lines = $_SESSION[$rspathhex.'number_lines'];
|
||||
}
|
||||
|
||||
if(isset($_SESSION[$rspathhex.'logfilter2'])) {
|
||||
$filter2 = $_SESSION[$rspathhex.'logfilter2'];
|
||||
} else {
|
||||
$filter2 = '';
|
||||
}
|
||||
$filters = '';
|
||||
$inactivefilter = '';
|
||||
if(isset($_POST['logfilter']) && in_array('critical', $_POST['logfilter'])) {
|
||||
$filters .= "CRITICAL,";
|
||||
} elseif(isset($_POST['logfilter'])) {
|
||||
$inactivefilter .= "CRITICAL,";
|
||||
}
|
||||
if(isset($_POST['logfilter']) && in_array('error', $_POST['logfilter'])) {
|
||||
$filters .= "ERROR,";
|
||||
} elseif(isset($_POST['logfilter'])) {
|
||||
$inactivefilter .= "ERROR,";
|
||||
}
|
||||
if(isset($_POST['logfilter']) && in_array('warning', $_POST['logfilter'])) {
|
||||
$filters .= "WARNING,";
|
||||
} elseif(isset($_POST['logfilter'])) {
|
||||
$inactivefilter .= "WARNING,";
|
||||
}
|
||||
if(isset($_POST['logfilter']) && in_array('notice', $_POST['logfilter'])) {
|
||||
$filters .= "NOTICE,";
|
||||
} elseif(isset($_POST['logfilter'])) {
|
||||
$inactivefilter .= "NOTICE,";
|
||||
}
|
||||
if(isset($_POST['logfilter']) && in_array('info', $_POST['logfilter'])) {
|
||||
$filters .= "INFO,";
|
||||
} elseif(isset($_POST['logfilter'])) {
|
||||
$inactivefilter .= "INFO,";
|
||||
}
|
||||
if(isset($_POST['logfilter']) && in_array('debug', $_POST['logfilter'])) {
|
||||
$filters .= "DEBUG,";
|
||||
} elseif(isset($_POST['logfilter'])) {
|
||||
$inactivefilter .= "DEBUG,";
|
||||
}
|
||||
if(isset($_POST['logfilter'][0])) {
|
||||
$filter2 = htmlspecialchars($_POST['logfilter'][0]);
|
||||
$_SESSION[$rspathhex.'logfilter2'] = $filter2;
|
||||
}
|
||||
|
||||
if($filters != '') {
|
||||
$_SESSION[$rspathhex.'logfilter'] = $filters;
|
||||
}
|
||||
|
||||
if($inactivefilter != '') {
|
||||
$_SESSION[$rspathhex.'inactivefilter'] = $inactivefilter;
|
||||
}
|
||||
if(isset($_SESSION[$rspathhex.'inactivefilter']) && $_SESSION[$rspathhex.'inactivefilter'] != NULL) {
|
||||
$inactivefilter = explode(',', $_SESSION[$rspathhex.'inactivefilter']);
|
||||
}
|
||||
|
||||
if (!isset($_SESSION[$rspathhex.'logfilter'])) {
|
||||
$_SESSION[$rspathhex.'logfilter'] = "CRITICAL,ERROR,WARNING,NOTICE,INFO,DEBUG,";
|
||||
}
|
||||
|
||||
$filters = explode(',', ($_SESSION[$rspathhex.'logfilter'].'NONE'));
|
||||
|
||||
require_once('_nav.php');
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = 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 = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if ((isset($_POST['start']) || isset($_POST['stop']) || isset($_POST['restart']) || isset($_POST['logfilter'])) && !isset($db_csrf[$_POST['csrf_token']])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3($rspathhex);
|
||||
exit;
|
||||
}
|
||||
|
||||
$logoutput = getlog($cfg,$number_lines,$filters,$filter2,$inactivefilter);
|
||||
|
||||
if (isset($_POST['start']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if(!is_writable($cfg['logs_path'])) {
|
||||
$err_msg = "!!!! Logs folder is not writable !!!!<br>Cancel start request!"; $err_lvl = 3;
|
||||
} else {
|
||||
$output = '';
|
||||
exec($phpcommand." ".substr(__DIR__,0,-12)."worker.php start", $resultexec);
|
||||
if (file_exists($cfg['logs_path']."autostart_deactivated")) {
|
||||
unlink($cfg['logs_path']."autostart_deactivated");
|
||||
foreach($resultexec as $line) $output .= print_r($line, true).'<br>';
|
||||
$err_msg = $lang['wibot3'].'<br><br>Result of worker.php:<br><pre>'.$output.'</pre>';
|
||||
$err_lvl = 1;
|
||||
usleep(80000);
|
||||
$logoutput = getlog($cfg,$number_lines,$filters,$filter2,$inactivefilter);
|
||||
}
|
||||
foreach($resultexec as $line) $output .= print_r($line, true).'<br>';
|
||||
$err_msg = $lang['wibot2'].'<br><br>Result of worker.php:<br><pre>'.$output.'</pre>';
|
||||
$err_lvl = 1;
|
||||
usleep(80000);
|
||||
$logoutput = getlog($cfg,$number_lines,$filters,$filter2,$inactivefilter);
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($_POST['stop']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if(!is_writable($cfg['logs_path'])) {
|
||||
$err_msg = "!!!! Logs folder is not writable !!!!<br>Cancel start request!"; $err_lvl = 3;
|
||||
} else {
|
||||
$output = '';
|
||||
exec($phpcommand." ".substr(__DIR__,0,-12)."worker.php stop", $resultexec);
|
||||
file_put_contents(substr(__DIR__,0,-12)."logs/autostart_deactivated","");
|
||||
foreach($resultexec as $line) $output .= print_r($line, true).'<br>';
|
||||
$err_msg = $lang['wibot1'].'<br><br>Result of worker.php:<br><pre>'.$output.'</pre>';;
|
||||
$err_lvl = 1;
|
||||
usleep(80000);
|
||||
$logoutput = getlog($cfg,$number_lines,$filters,$filter2,$inactivefilter);
|
||||
$disabled = '';
|
||||
if($cfg['teamspeak_host_address'] == NULL || $cfg['teamspeak_query_port'] == NULL || $cfg['teamspeak_voice_port'] == NULL || $cfg['teamspeak_query_user'] == NULL || $cfg['teamspeak_query_pass'] == NULL || $cfg['teamspeak_query_nickname'] == NULL || $cfg['rankup_definition'] == NULL || $cfg['logs_path'] == NULL) {
|
||||
$disabled = 1;
|
||||
$err_msg = $lang['wibot9'];
|
||||
$err_lvl = 2;
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($_POST['restart']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if(!is_writable($cfg['logs_path'])) {
|
||||
$err_msg = "!!!! Logs folder is not writable !!!!<br>Cancel restart request!"; $err_lvl = 3;
|
||||
} else {
|
||||
$output = '';
|
||||
exec($phpcommand." ".substr(__DIR__,0,-12)."worker.php restart", $resultexec);
|
||||
if (file_exists($cfg['logs_path']."autostart_deactivated")) {
|
||||
unlink($cfg['logs_path']."autostart_deactivated");
|
||||
}
|
||||
foreach($resultexec as $line) $output .= print_r($line, true).'<br>';
|
||||
$err_msg = $lang['wibot3'].'<br><br>Result of worker.php:<br><pre>'.$output.'</pre>';
|
||||
$err_lvl = 1;
|
||||
usleep(80000);
|
||||
$logoutput = getlog($cfg,$number_lines,$filters,$filter2,$inactivefilter);
|
||||
}
|
||||
}
|
||||
|
||||
$disabled = '';
|
||||
if($cfg['teamspeak_host_address'] == NULL || $cfg['teamspeak_query_port'] == NULL || $cfg['teamspeak_voice_port'] == NULL || $cfg['teamspeak_query_user'] == NULL || $cfg['teamspeak_query_pass'] == NULL || $cfg['teamspeak_query_nickname'] == NULL || $cfg['rankup_definition'] == NULL || $cfg['logs_path'] == NULL) {
|
||||
$disabled = 1;
|
||||
$err_msg = $lang['wibot9'];
|
||||
$err_lvl = 2;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?PHP echo $lang['wibot4']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<form class="form-horizontal" name="start" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row"> </div>
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="start"<?PHP if($disabled == 1) echo " disabled"; ?>>
|
||||
<i class="fas fa-power-off"></i> <?PHP echo $lang['wibot5']; ?>
|
||||
</button>
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?PHP echo $lang['wibot4']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
<form class="form-horizontal" name="stop" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="stop">
|
||||
<i class="fas fa-times"></i> <?PHP echo $lang['wibot6']; ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
<form class="form-horizontal" name="restart" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="restart"<?PHP if($disabled == 1) echo " disabled"; ?>>
|
||||
<i class="fas fa-sync"></i> <?PHP echo $lang['wibot7']; ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="col-lg-2">
|
||||
<h4>
|
||||
<?PHP echo $lang['wibot8']; ?>
|
||||
</h4>
|
||||
</div>
|
||||
<form class="form-horizontal" name="logfilter" method="POST">
|
||||
<form class="form-horizontal" name="start" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="col-lg-2">
|
||||
<div class="col-sm-12">
|
||||
<?PHP if($filter2!=NULL) { ?>
|
||||
<input type="text" class="form-control" name="logfilter[]" value="<?PHP echo $filter2; ?>" data-switch-no-init onchange="this.form.submit();">
|
||||
<?PHP } else { ?>
|
||||
<input type="text" class="form-control" name="logfilter[]" placeholder="filter the log entries..." data-switch-no-init onchange="this.form.submit();">
|
||||
<?PHP } ?>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="start"<?PHP if($disabled == 1) echo " disabled"; ?>>
|
||||
<i class="fas fa-power-off"></i> <?PHP echo $lang['wibot5']; ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-1">
|
||||
<div class="checkbox">
|
||||
<label><input class="switch-create-destroy" type="checkbox" name="logfilter[]" value="critical" data-switch-no-init onchange="this.form.submit();"
|
||||
<?PHP if(in_array('CRITICAL', $filters)) { echo "checked"; } ?>
|
||||
>Critical</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-1">
|
||||
<div class="checkbox">
|
||||
<label><input class="switch-create-destroy" type="checkbox" name="logfilter[]" value="error" data-switch-no-init onchange="this.form.submit();"
|
||||
<?PHP if(in_array('ERROR', $filters)) { echo "checked"; } ?>
|
||||
>Error</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-1">
|
||||
<div class="checkbox">
|
||||
<label><input class="switch-create-destroy" type="checkbox" name="logfilter[]" value="warning" data-switch-no-init onchange="this.form.submit();"
|
||||
<?PHP if(in_array('WARNING', $filters)) { echo "checked"; } ?>
|
||||
>Warning</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-1">
|
||||
<div class="checkbox">
|
||||
<label><input class="switch-create-destroy" type="checkbox" name="logfilter[]" value="notice" data-switch-no-init onchange="this.form.submit();"
|
||||
<?PHP if(in_array('NOTICE', $filters)) { echo "checked"; } ?>
|
||||
>Notice</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-1">
|
||||
<div class="checkbox">
|
||||
<label><input class="switch-create-destroy" type="checkbox" name="logfilter[]" value="info" data-switch-no-init onchange="this.form.submit();"
|
||||
<?PHP if(in_array('INFO', $filters)) { echo "checked"; } ?>
|
||||
>Info</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-1">
|
||||
<div class="checkbox">
|
||||
<label><input class="switch-create-destroy" type="checkbox" name="logfilter[]" value="debug" data-switch-no-init onchange="this.form.submit();"
|
||||
<?PHP if(in_array('DEBUG', $filters)) { echo "checked"; } ?>
|
||||
>Debug</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2">
|
||||
<div class="col-sm-8 pull-left">
|
||||
<select class="selectpicker show-tick form-control" id="number" name="number" onchange="this.form.submit();">
|
||||
<?PHP
|
||||
echo '<option value="20"'; if($number_lines=="20") echo " selected=selected"; echo '>20</option>';
|
||||
echo '<option value="50"'; if($number_lines=="50") echo " selected=selected"; echo '>50</option>';
|
||||
echo '<option value="100"'; if($number_lines=="100") echo " selected=selected"; echo '>100</option>';
|
||||
echo '<option value="200"'; if($number_lines=="200") echo " selected=selected"; echo '>200</option>';
|
||||
echo '<option value="500"'; if($number_lines=="500") echo " selected=selected"; echo '>500</option>';
|
||||
echo '<option value="2000"'; if($number_lines=="2000") echo " selected=selected"; echo '>2000</option>';
|
||||
echo '<option value="9999"'; if($number_lines=="9999") echo " selected=selected"; echo '>9999</option>';
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<pre><?PHP foreach ($logoutput as $line) { echo $line; } ?></pre>
|
||||
<form class="form-horizontal" name="stop" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="stop">
|
||||
<i class="fas fa-times"></i> <?PHP echo $lang['wibot6']; ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
<form class="form-horizontal" name="restart" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="restart"<?PHP if($disabled == 1) echo " disabled"; ?>>
|
||||
<i class="fas fa-sync"></i> <?PHP echo $lang['wibot7']; ?>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="col-lg-2">
|
||||
<h4>
|
||||
<?PHP echo $lang['wibot8']; ?>
|
||||
</h4>
|
||||
</div>
|
||||
<form class="form-horizontal" name="logfilter" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="col-lg-2">
|
||||
<div class="col-sm-12">
|
||||
<?PHP if($filter2!=NULL) { ?>
|
||||
<input type="text" class="form-control" name="logfilter[]" value="<?PHP echo $filter2; ?>" data-switch-no-init onchange="this.form.submit();">
|
||||
<?PHP } else { ?>
|
||||
<input type="text" class="form-control" name="logfilter[]" placeholder="filter the log entries..." data-switch-no-init onchange="this.form.submit();">
|
||||
<?PHP } ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-1">
|
||||
<div class="checkbox">
|
||||
<label><input class="switch-create-destroy" type="checkbox" name="logfilter[]" value="critical" data-switch-no-init onchange="this.form.submit();"
|
||||
<?PHP if(in_array('CRITICAL', $filters)) { echo "checked"; } ?>
|
||||
>Critical</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-1">
|
||||
<div class="checkbox">
|
||||
<label><input class="switch-create-destroy" type="checkbox" name="logfilter[]" value="error" data-switch-no-init onchange="this.form.submit();"
|
||||
<?PHP if(in_array('ERROR', $filters)) { echo "checked"; } ?>
|
||||
>Error</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-1">
|
||||
<div class="checkbox">
|
||||
<label><input class="switch-create-destroy" type="checkbox" name="logfilter[]" value="warning" data-switch-no-init onchange="this.form.submit();"
|
||||
<?PHP if(in_array('WARNING', $filters)) { echo "checked"; } ?>
|
||||
>Warning</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-1">
|
||||
<div class="checkbox">
|
||||
<label><input class="switch-create-destroy" type="checkbox" name="logfilter[]" value="notice" data-switch-no-init onchange="this.form.submit();"
|
||||
<?PHP if(in_array('NOTICE', $filters)) { echo "checked"; } ?>
|
||||
>Notice</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-1">
|
||||
<div class="checkbox">
|
||||
<label><input class="switch-create-destroy" type="checkbox" name="logfilter[]" value="info" data-switch-no-init onchange="this.form.submit();"
|
||||
<?PHP if(in_array('INFO', $filters)) { echo "checked"; } ?>
|
||||
>Info</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-1">
|
||||
<div class="checkbox">
|
||||
<label><input class="switch-create-destroy" type="checkbox" name="logfilter[]" value="debug" data-switch-no-init onchange="this.form.submit();"
|
||||
<?PHP if(in_array('DEBUG', $filters)) { echo "checked"; } ?>
|
||||
>Debug</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-2">
|
||||
<div class="col-sm-8 pull-left">
|
||||
<select class="selectpicker show-tick form-control" id="number" name="number" onchange="this.form.submit();">
|
||||
<?PHP
|
||||
echo '<option value="20"'; if($number_lines=="20") echo " selected=selected"; echo '>20</option>';
|
||||
echo '<option value="50"'; if($number_lines=="50") echo " selected=selected"; echo '>50</option>';
|
||||
echo '<option value="100"'; if($number_lines=="100") echo " selected=selected"; echo '>100</option>';
|
||||
echo '<option value="200"'; if($number_lines=="200") echo " selected=selected"; echo '>200</option>';
|
||||
echo '<option value="500"'; if($number_lines=="500") echo " selected=selected"; echo '>500</option>';
|
||||
echo '<option value="2000"'; if($number_lines=="2000") echo " selected=selected"; echo '>2000</option>';
|
||||
echo '<option value="9999"'; if($number_lines=="9999") echo " selected=selected"; echo '>9999</option>';
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<pre><?PHP foreach ($logoutput as $line) { echo $line; } ?></pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</body>
|
||||
</html>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
@@ -1,74 +1,77 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
require_once('_nav.php');
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
try {
|
||||
require_once('_nav.php');
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['changepw']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if (!password_verify($_POST['oldpwd'], $cfg['webinterface_pass'])) {
|
||||
$err_msg = $lang['wichpw1']; $err_lvl = 3;
|
||||
} else {
|
||||
$cfg['webinterface_pass'] = password_hash($_POST['newpwd1'], PASSWORD_DEFAULT);
|
||||
if ($_POST['newpwd1'] != $_POST['newpwd2'] || $_POST['newpwd1'] == NULL) {
|
||||
$err_msg = $lang['wichpw2']; $err_lvl = 3;
|
||||
} elseif($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('webinterface_pass','{$cfg['webinterface_pass']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`)") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
} else {
|
||||
enter_logfile($cfg,3,sprintf($lang['wichpw3'],getclientip()));
|
||||
$err_msg = $lang['wisvsuc']; $err_lvl = NULL;
|
||||
}
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
} elseif(isset($_POST['changepw'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3($rspathhex);
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div id="login-overlay" class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="myModalLabel"><?PHP echo $lang['wichpw4'].' - '.$lang['wi']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<form id="resetForm" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="form-group">
|
||||
<label for="password" class="control-label"><?PHP echo $lang['pass3']; ?>:</label>
|
||||
<div class="input-group-justified">
|
||||
<input type="password" class="form-control" name="oldpwd" data-toggle="password" data-placement="before" placeholder="<?PHP echo $lang['pass3']; ?>">
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['changepw']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if (!password_verify($_POST['oldpwd'], $cfg['webinterface_pass'])) {
|
||||
$err_msg = $lang['wichpw1']; $err_lvl = 3;
|
||||
} else {
|
||||
$cfg['webinterface_pass'] = password_hash($_POST['newpwd1'], PASSWORD_DEFAULT);
|
||||
if ($_POST['newpwd1'] != $_POST['newpwd2'] || $_POST['newpwd1'] == NULL) {
|
||||
$err_msg = $lang['wichpw2']; $err_lvl = 3;
|
||||
} elseif($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('webinterface_pass','{$cfg['webinterface_pass']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`)") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
} else {
|
||||
enter_logfile($cfg,3,sprintf($lang['wichpw3'],getclientip()));
|
||||
$err_msg = $lang['wisvsuc']; $err_lvl = NULL;
|
||||
}
|
||||
}
|
||||
} elseif(isset($_POST['changepw'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3();
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div id="login-overlay" class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="myModalLabel"><?PHP echo $lang['wichpw4'].' - '.$lang['wi']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<form id="resetForm" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="form-group">
|
||||
<label for="password" class="control-label"><?PHP echo $lang['pass3']; ?>:</label>
|
||||
<div class="input-group-justified">
|
||||
<input type="password" class="form-control" name="oldpwd" data-toggle="password" data-placement="before" placeholder="<?PHP echo $lang['pass3']; ?>">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p> </p>
|
||||
<div class="form-group">
|
||||
<label for="password" class="control-label"><?PHP echo $lang['pass4']; ?>:</label>
|
||||
<div class="input-group-justified">
|
||||
<input type="password" class="form-control" name="newpwd1" data-toggle="password" data-placement="before" placeholder="<?PHP echo $lang['pass4']; ?>">
|
||||
<p> </p>
|
||||
<div class="form-group">
|
||||
<label for="password" class="control-label"><?PHP echo $lang['pass4']; ?>:</label>
|
||||
<div class="input-group-justified">
|
||||
<input type="password" class="form-control" name="newpwd1" data-toggle="password" data-placement="before" placeholder="<?PHP echo $lang['pass4']; ?>">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="password" class="control-label"><?PHP echo $lang['pass4']; ?> (<?PHP echo $lang['repeat']; ?>):</label>
|
||||
<div class="input-group-justified">
|
||||
<input type="password" class="form-control" name="newpwd2" data-toggle="password" data-placement="before" placeholder="<?PHP echo $lang['pass4']; ?> (<?PHP echo $lang['repeat']; ?>)">
|
||||
<div class="form-group">
|
||||
<label for="password" class="control-label"><?PHP echo $lang['pass4']; ?> (<?PHP echo $lang['repeat']; ?>):</label>
|
||||
<div class="input-group-justified">
|
||||
<input type="password" class="form-control" name="newpwd2" data-toggle="password" data-placement="before" placeholder="<?PHP echo $lang['pass4']; ?> (<?PHP echo $lang['repeat']; ?>)">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<p>
|
||||
<button type="submit" class="btn btn-success btn-block" name="changepw"><i class="fas fa-save"></i> <?PHP echo $lang['wichpw4']; ?></button>
|
||||
</p>
|
||||
</form>
|
||||
<br>
|
||||
<p>
|
||||
<button type="submit" class="btn btn-success btn-block" name="changepw"><i class="fas fa-save"></i> <?PHP echo $lang['wichpw4']; ?></button>
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -76,6 +79,8 @@ if (isset($_POST['changepw']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</body>
|
||||
</html>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
@@ -1,122 +1,127 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
require_once('_nav.php');
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
try {
|
||||
require_once('_nav.php');
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$cfg['rankup_time_assess_mode'] = $_POST['rankup_time_assess_mode'];
|
||||
$cfg['rankup_ignore_idle_time'] = $_POST['rankup_ignore_idle_time'];
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('rankup_time_assess_mode','{$cfg['rankup_time_assess_mode']}'),('rankup_ignore_idle_time','{$cfg['rankup_ignore_idle_time']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc'];
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3($rspathhex);
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['winav3'],' ',$lang['wihlset']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<form class="form-horizontal" name="update" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
}
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$cfg['rankup_time_assess_mode'] = $_POST['rankup_time_assess_mode'];
|
||||
$cfg['rankup_ignore_idle_time'] = $_POST['rankup_ignore_idle_time'];
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('rankup_time_assess_mode','{$cfg['rankup_time_assess_mode']}'),('rankup_ignore_idle_time','{$cfg['rankup_ignore_idle_time']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc'];
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3();
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['winav3'],' ',$lang['wihlset']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<form class="form-horizontal" name="update" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-3"></div>
|
||||
<div class="col-md-6">
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wisupidledesc"><?php echo $lang['wisupidle']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control basic" name="rankup_time_assess_mode">
|
||||
<?PHP
|
||||
echo '<option data-icon="fas fa-microphone-slash" value="0"'; if($cfg['rankup_time_assess_mode']=="0") echo " selected=selected"; echo '> ',$lang['wishcolot'],'</option>';
|
||||
echo '<option data-icon="fas fa-microphone" value="1"'; if($cfg['rankup_time_assess_mode']=="1") echo " selected=selected"; echo '> ',$lang['wishcolat'],'</option>';
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiignidledesc"><?php echo $lang['wiignidle']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="rankup_ignore_idle_time" value="<?php echo $cfg['rankup_ignore_idle_time']; ?>">
|
||||
<script>
|
||||
$("input[name='rankup_ignore_idle_time']").TouchSpin({
|
||||
min: 0,
|
||||
max: 65535,
|
||||
verticalbuttons: true,
|
||||
prefix: 'Sec.:'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3"></div>
|
||||
<div class="col-md-6">
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wisupidledesc"><?php echo $lang['wisupidle']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control basic" name="rankup_time_assess_mode">
|
||||
<?PHP
|
||||
echo '<option data-icon="fas fa-microphone-slash" value="0"'; if($cfg['rankup_time_assess_mode']=="0") echo " selected=selected"; echo '> ',$lang['wishcolot'],'</option>';
|
||||
echo '<option data-icon="fas fa-microphone" value="1"'; if($cfg['rankup_time_assess_mode']=="1") echo " selected=selected"; echo '> ',$lang['wishcolat'],'</option>';
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiignidledesc"><?php echo $lang['wiignidle']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="rankup_ignore_idle_time" value="<?php echo $cfg['rankup_ignore_idle_time']; ?>">
|
||||
<script>
|
||||
$("input[name='rankup_ignore_idle_time']").TouchSpin({
|
||||
min: 0,
|
||||
max: 65535,
|
||||
verticalbuttons: true,
|
||||
prefix: 'Sec.:'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3"></div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wisupidledesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wisupidle']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wisupidledesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wisupidledesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wisupidle']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wisupidledesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiignidledesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiignidle']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiignidledesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<div class="modal fade" id="wiignidledesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiignidle']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiignidledesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
@@ -1,242 +1,247 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
require_once('_nav.php');
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
try {
|
||||
require_once('_nav.php');
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$newconfig='<?php
|
||||
$db[\'type\']=\''.$_POST['dbtype'].'\';
|
||||
$db[\'host\']=\''.$_POST['dbhost'].'\';
|
||||
$db[\'user\']=\''.$_POST['dbuser'].'\';
|
||||
$db[\'pass\']=\''.$_POST['dbpass'].'\';
|
||||
$db[\'dbname\']=\''.$_POST['dbname'].'\';
|
||||
?>';
|
||||
$dbserver = $_POST['dbtype'].':host='.$_POST['dbhost'].';dbname='.$_POST['dbname'].';charset=utf8mb4';
|
||||
try {
|
||||
$mysqlcon = new PDO($dbserver, $_POST['dbuser'], $_POST['dbpass']);
|
||||
$handle=fopen('../other/dbconfig.php','w');
|
||||
if(!fwrite($handle,$newconfig))
|
||||
{
|
||||
$err_msg = sprintf($lang['widbcfgerr']);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc']." ".sprintf($lang['wisvres'], ' <form class="btn-group" name="restart" action="bot.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button
|
||||
type="submit" class="btn btn-primary" name="restart"><i class="fas fa-sync"></i> '.$lang['wibot7'].'</button></form>');
|
||||
$err_lvl = 0;
|
||||
$db['type'] = $_POST['dbtype'];
|
||||
$db['host'] = $_POST['dbhost'];
|
||||
$dbname = $_POST['dbname'];
|
||||
$db['user'] = $_POST['dbuser'];
|
||||
$db['pass'] = $_POST['dbpass'];
|
||||
}
|
||||
fclose($handle);
|
||||
} catch (PDOException $e) {
|
||||
$err_msg = sprintf($lang['widbcfgerr']);
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3($rspathhex);
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['winav2'],' ',$lang['wihlset']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<form class="form-horizontal" data-toggle="validator" name="update" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$newconfig='<?php
|
||||
$db[\'type\']=\''.$_POST['dbtype'].'\';
|
||||
$db[\'host\']=\''.$_POST['dbhost'].'\';
|
||||
$db[\'user\']=\''.$_POST['dbuser'].'\';
|
||||
$db[\'pass\']=\''.$_POST['dbpass'].'\';
|
||||
$db[\'dbname\']=\''.$_POST['dbname'].'\';
|
||||
?>';
|
||||
$dbserver = $_POST['dbtype'].':host='.$_POST['dbhost'].';dbname='.$_POST['dbname'].';charset=utf8mb4';
|
||||
try {
|
||||
$mysqlcon = new PDO($dbserver, $_POST['dbuser'], $_POST['dbpass']);
|
||||
$handle=fopen('../other/dbconfig.php','w');
|
||||
if(!fwrite($handle,$newconfig))
|
||||
{
|
||||
$err_msg = sprintf($lang['widbcfgerr']);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc']." ".sprintf($lang['wisvres'], ' <form class="btn-group" name="restart" action="bot.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button
|
||||
type="submit" class="btn btn-primary" name="restart"><i class="fas fa-sync"></i> '.$lang['wibot7'].'</button></form>');
|
||||
$err_lvl = 0;
|
||||
$db['type'] = $_POST['dbtype'];
|
||||
$db['host'] = $_POST['dbhost'];
|
||||
$dbname = $_POST['dbname'];
|
||||
$db['user'] = $_POST['dbuser'];
|
||||
$db['pass'] = $_POST['dbpass'];
|
||||
}
|
||||
fclose($handle);
|
||||
} catch (PDOException $e) {
|
||||
$err_msg = sprintf($lang['widbcfgerr']);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3();
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['winav2'],' ',$lang['wihlset']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#isntwidbtypedesc"><?php echo $lang['isntwidbtype']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control required" id="basic" name="dbtype" required>
|
||||
<option disabled value=""> -- select database -- </option>
|
||||
<option data-divider="true"> </option>
|
||||
<?PHP
|
||||
echo '<option data-subtext="Cubrid" value="cubrid"'; if($db['type']=="cubrid") echo " selected=selected"; echo '>cubrid</option>';
|
||||
echo '<option data-subtext="FreeTDS / Microsoft SQL Server / Sybase" value="dblib"'; if($db['type']=="dblib") echo " selected=selected"; echo '>dblib</option>';
|
||||
echo '<option data-subtext="Firebird/Interbase 6" value="firebird"'; if($db['type']=="firebird") echo " selected=selected"; echo '>firebird</option>';
|
||||
echo '<option data-subtext="IBM DB2" value="ibm"'; if($db['type']=="ibm") echo " selected=selected"; echo '>ibm</option>';
|
||||
echo '<option data-subtext="IBM Informix Dynamic Server" value="informix"'; if($db['type']=="informix") echo " selected=selected"; echo '>informix</option>';
|
||||
echo '<option data-subtext="MySQL 3.x/4.x/5.x [recommended]" value="mysql"'; if($db['type']=="mysql") echo " selected=selected"; echo '>mysql</option>';
|
||||
echo '<option data-subtext="Oracle Call Interface" value="oci"'; if($db['type']=="oci") echo " selected=selected"; echo '>oci</option>';
|
||||
echo '<option data-subtext="ODBC v3 (IBM DB2, unixODBC und win32 ODBC)" value="odbc"'; if($db['type']=="odbc") echo " selected=selected"; echo '>odbc</option>';
|
||||
echo '<option data-subtext="PostgreSQL" value="pgsql"'; if($db['type']=="pgsql") echo " selected=selected"; echo '>pgsql</option>';
|
||||
echo '<option data-subtext="SQLite 3 und SQLite 2" value="sqlite"'; if($db['type']=="sqlite") echo " selected=selected"; echo '>sqlite</option>';
|
||||
echo '<option data-subtext="Microsoft SQL Server / SQL Azure" value="sqlsrv"'; if($db['type']=="sqlsrv") echo " selected=selected"; echo '>sqlsrv</option>';
|
||||
echo '<option data-subtext="4D" value="4d"'; if($db['type']=="4d") echo " selected=selected"; echo '>4d</option>';
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#isntwidbhostdesc"><?php echo $lang['isntwidbhost']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 required-field-block">
|
||||
<input type="text" class="form-control required" name="dbhost" value="<?php echo $db['host']; ?>" required>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#isntwidbnamedesc"><?php echo $lang['isntwidbname']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 required-field-block">
|
||||
<input type="text" data-pattern="^([A-Za-z0-9$_]){1,64}$" data-error="Please do not use special characters or more then 64 characters inside the database name!" class="form-control required" name="dbname" value="<?php echo $dbname; ?>" required>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<form class="form-horizontal" data-toggle="validator" name="update" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#isntwidbusrdesc"><?php echo $lang['isntwidbusr']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 required-field-block">
|
||||
<input type="text" data-pattern="^[^"'\\-\s]+$" data-error="Please do not use one of the following special characters: ' \ " - also no whitespace and do not user more then 64 characters inside the database user!" class="form-control required" name="dbuser" value="<?php echo $db['user']; ?>" required>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#isntwidbpassdesc"><?php echo $lang['isntwidbpass']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 required-field-block">
|
||||
<div class="input-group">
|
||||
<span id="toggle-password2" class="input-group-addon" onclick="togglepwd()" style="cursor: pointer; pointer-events: all;"><svg class="svg-inline--fa fa-eye fa-w-18" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="eye" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" data-fa-i2svg=""><path fill="currentColor" d="M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z"></path></svg></span>
|
||||
<span id="toggle-password1" class="input-group-addon" onclick="togglepwd()" style="cursor: pointer; pointer-events: all; display: none;"><svg class="svg-inline--fa fa-eye fa-w-18" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="eye" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" data-fa-i2svg=""><path fill="currentColor" d="M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z"></path></svg></span>
|
||||
<input id="password" type="password" class="form-control required" name="dbpass" value="<?php echo $db['pass']; ?>" required>
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#isntwidbtypedesc"><?php echo $lang['isntwidbtype']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control required" id="basic" name="dbtype" required>
|
||||
<option disabled value=""> -- select database -- </option>
|
||||
<option data-divider="true"> </option>
|
||||
<?PHP
|
||||
echo '<option data-subtext="Cubrid" value="cubrid"'; if($db['type']=="cubrid") echo " selected=selected"; echo '>cubrid</option>';
|
||||
echo '<option data-subtext="FreeTDS / Microsoft SQL Server / Sybase" value="dblib"'; if($db['type']=="dblib") echo " selected=selected"; echo '>dblib</option>';
|
||||
echo '<option data-subtext="Firebird/Interbase 6" value="firebird"'; if($db['type']=="firebird") echo " selected=selected"; echo '>firebird</option>';
|
||||
echo '<option data-subtext="IBM DB2" value="ibm"'; if($db['type']=="ibm") echo " selected=selected"; echo '>ibm</option>';
|
||||
echo '<option data-subtext="IBM Informix Dynamic Server" value="informix"'; if($db['type']=="informix") echo " selected=selected"; echo '>informix</option>';
|
||||
echo '<option data-subtext="MySQL 3.x/4.x/5.x [recommended]" value="mysql"'; if($db['type']=="mysql") echo " selected=selected"; echo '>mysql</option>';
|
||||
echo '<option data-subtext="Oracle Call Interface" value="oci"'; if($db['type']=="oci") echo " selected=selected"; echo '>oci</option>';
|
||||
echo '<option data-subtext="ODBC v3 (IBM DB2, unixODBC und win32 ODBC)" value="odbc"'; if($db['type']=="odbc") echo " selected=selected"; echo '>odbc</option>';
|
||||
echo '<option data-subtext="PostgreSQL" value="pgsql"'; if($db['type']=="pgsql") echo " selected=selected"; echo '>pgsql</option>';
|
||||
echo '<option data-subtext="SQLite 3 und SQLite 2" value="sqlite"'; if($db['type']=="sqlite") echo " selected=selected"; echo '>sqlite</option>';
|
||||
echo '<option data-subtext="Microsoft SQL Server / SQL Azure" value="sqlsrv"'; if($db['type']=="sqlsrv") echo " selected=selected"; echo '>sqlsrv</option>';
|
||||
echo '<option data-subtext="4D" value="4d"'; if($db['type']=="4d") echo " selected=selected"; echo '>4d</option>';
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#isntwidbhostdesc"><?php echo $lang['isntwidbhost']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 required-field-block">
|
||||
<input type="text" class="form-control required" name="dbhost" value="<?php echo $db['host']; ?>" required>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#isntwidbnamedesc"><?php echo $lang['isntwidbname']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 required-field-block">
|
||||
<input type="text" data-pattern="^([A-Za-z0-9$_]){1,64}$" data-error="Please do not use special characters or more then 64 characters inside the database name!" class="form-control required" name="dbname" value="<?php echo $dbname; ?>" required>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#isntwidbusrdesc"><?php echo $lang['isntwidbusr']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 required-field-block">
|
||||
<input type="text" data-pattern="^[^"'\\-\s]+$" data-error="Please do not use one of the following special characters: ' \ " - also no whitespace and do not user more then 64 characters inside the database user!" class="form-control required" name="dbuser" value="<?php echo $db['user']; ?>" required>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#isntwidbpassdesc"><?php echo $lang['isntwidbpass']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 required-field-block">
|
||||
<div class="input-group">
|
||||
<span id="toggle-password2" class="input-group-addon" onclick="togglepwd()" style="cursor: pointer; pointer-events: all;"><svg class="svg-inline--fa fa-eye fa-w-18" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="eye" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" data-fa-i2svg=""><path fill="currentColor" d="M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z"></path></svg></span>
|
||||
<span id="toggle-password1" class="input-group-addon" onclick="togglepwd()" style="cursor: pointer; pointer-events: all; display: none;"><svg class="svg-inline--fa fa-eye fa-w-18" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="eye" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" data-fa-i2svg=""><path fill="currentColor" d="M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z"></path></svg></span>
|
||||
<input id="password" type="password" class="form-control required" name="dbpass" value="<?php echo $db['pass']; ?>" required>
|
||||
</div>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="isntwidbtypedesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['isntwidbtype']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo sprintf($lang['isntwidbtypedesc'], '<a href="https://ts-ranksystem.com/#linux" target="_blank">https://ts-ranksystem.com/#linux</a>'); ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="isntwidbtypedesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['isntwidbtype']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo sprintf($lang['isntwidbtypedesc'], '<a href="https://ts-ranksystem.com/#linux" target="_blank">https://ts-ranksystem.com/#linux</a>'); ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="isntwidbhostdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['isntwidbhost']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['isntwidbhostdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="isntwidbusrdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['isntwidbusr']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['isntwidbusrdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="isntwidbpassdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['isntwidbpass']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['isntwidbpassdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="isntwidbnamedesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['isntwidbname']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['isntwidbnamedesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$('form[data-toggle="validator"]').validator({
|
||||
custom: {
|
||||
pattern: function ($el) {
|
||||
var pattern = new RegExp($el.data('pattern'));
|
||||
return pattern.test($el.val());
|
||||
<div class="modal fade" id="isntwidbhostdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['isntwidbhost']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['isntwidbhostdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="isntwidbusrdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['isntwidbusr']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['isntwidbusrdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="isntwidbpassdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['isntwidbpass']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['isntwidbpassdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="isntwidbnamedesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['isntwidbname']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['isntwidbnamedesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$('form[data-toggle="validator"]').validator({
|
||||
custom: {
|
||||
pattern: function ($el) {
|
||||
var pattern = new RegExp($el.data('pattern'));
|
||||
return pattern.test($el.val());
|
||||
}
|
||||
},
|
||||
delay: 100,
|
||||
errors: {
|
||||
pattern: "There should be an error in your value, please check all could be right!"
|
||||
}
|
||||
},
|
||||
delay: 100,
|
||||
errors: {
|
||||
pattern: "There should be an error in your value, please check all could be right!"
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
31
webinterface/download_file.php
Normal file
31
webinterface/download_file.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
|
||||
try {
|
||||
if ($mysqlcon->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 (isset($db_csrf[$_GET['csrf_token']]) && isset($_GET['file']) && substr($_GET['file'],0,10) == "db_export_" && file_exists($cfg['logs_path'].$_GET['file'])) {
|
||||
header('Content-Description: File Transfer');
|
||||
header('Content-Type: application/octet-stream');
|
||||
header('Content-Disposition: attachment; filename="'.basename($cfg['logs_path'].$_GET['file']).'"');
|
||||
header('Expires: 0');
|
||||
header('Cache-Control: must-revalidate');
|
||||
header('Pragma: public');
|
||||
header('Content-Length: ' . filesize($cfg['logs_path'].$_GET['file']));
|
||||
readfile($cfg['logs_path'].$_GET['file']);
|
||||
} else {
|
||||
rem_session_ts3();
|
||||
echo "Error on downloading file. File do not exists (anymore)? If yes, try it again. There could happened a problem with your session.";
|
||||
}
|
||||
?>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
@@ -1,226 +1,231 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
require_once('_nav.php');
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
try {
|
||||
require_once('_nav.php');
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if(($groupslist = $mysqlcon->query("SELECT * FROM `$dbname`.`groups` ORDER BY `sortid`,`sgidname` ASC")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if(($user_arr = $mysqlcon->query("SELECT `uuid`,`cldbid`,`name` FROM `$dbname`.`user` ORDER BY `name` ASC")->fetchAll(PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = "DB Error1: ".print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$err_msg = $cfg['rankup_excepted_group_id_list'] = $cfg['rankup_excepted_unique_client_id_list'] = '';
|
||||
$errcnf = 0;
|
||||
$cfg['rankup_excepted_mode'] = $_POST['rankup_excepted_mode'];
|
||||
|
||||
if (isset($_POST['rankup_excepted_unique_client_id_list']) && $_POST['rankup_excepted_unique_client_id_list'] != NULL) {
|
||||
$cfg['rankup_excepted_unique_client_id_list'] = implode(',',$_POST['rankup_excepted_unique_client_id_list']);
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
if (isset($_POST['rankup_excepted_group_id_list']) && $_POST['rankup_excepted_group_id_list'] != NULL) {
|
||||
$cfg['rankup_excepted_group_id_list'] = implode(',',$_POST['rankup_excepted_group_id_list']);
|
||||
}
|
||||
$cfg['rankup_excepted_channel_id_list'] = $_POST['rankup_excepted_channel_id_list'];
|
||||
|
||||
if($errcnf == 0) {
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('rankup_excepted_mode','{$cfg['rankup_excepted_mode']}'),('rankup_excepted_unique_client_id_list','{$cfg['rankup_excepted_unique_client_id_list']}'),('rankup_excepted_group_id_list','{$cfg['rankup_excepted_group_id_list']}'),('rankup_excepted_channel_id_list','{$cfg['rankup_excepted_channel_id_list']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc']." ".sprintf($lang['wisvres'], ' <form class="btn-group" name="restart" action="bot.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-primary" name="restart"><i class="fas fa-sync"></i> '.$lang['wibot7'].'</button></form>');
|
||||
$err_lvl = NULL;
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if(($groupslist = $mysqlcon->query("SELECT * FROM `$dbname`.`groups` ORDER BY `sortid`,`sgidname` ASC")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if(($user_arr = $mysqlcon->query("SELECT `uuid`,`cldbid`,`name` FROM `$dbname`.`user` ORDER BY `name` ASC")->fetchAll(PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = "DB Error1: ".print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$err_msg = $cfg['rankup_excepted_group_id_list'] = $cfg['rankup_excepted_unique_client_id_list'] = '';
|
||||
$errcnf = 0;
|
||||
$cfg['rankup_excepted_mode'] = $_POST['rankup_excepted_mode'];
|
||||
|
||||
if (isset($_POST['rankup_excepted_unique_client_id_list']) && $_POST['rankup_excepted_unique_client_id_list'] != NULL) {
|
||||
$cfg['rankup_excepted_unique_client_id_list'] = implode(',',$_POST['rankup_excepted_unique_client_id_list']);
|
||||
}
|
||||
} else {
|
||||
$err_msg .= "<br>".$lang['errgrpid'];
|
||||
}
|
||||
if (isset($_POST['rankup_excepted_group_id_list']) && $_POST['rankup_excepted_group_id_list'] != NULL) {
|
||||
$cfg['rankup_excepted_group_id_list'] = implode(',',$_POST['rankup_excepted_group_id_list']);
|
||||
}
|
||||
$cfg['rankup_excepted_channel_id_list'] = $_POST['rankup_excepted_channel_id_list'];
|
||||
|
||||
if (isset($_POST['rankup_excepted_unique_client_id_list']) && $_POST['rankup_excepted_unique_client_id_list'] != NULL) {
|
||||
$cfg['rankup_excepted_unique_client_id_list'] = array_flip($_POST['rankup_excepted_unique_client_id_list']);
|
||||
if($errcnf == 0) {
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('rankup_excepted_mode','{$cfg['rankup_excepted_mode']}'),('rankup_excepted_unique_client_id_list','{$cfg['rankup_excepted_unique_client_id_list']}'),('rankup_excepted_group_id_list','{$cfg['rankup_excepted_group_id_list']}'),('rankup_excepted_channel_id_list','{$cfg['rankup_excepted_channel_id_list']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc']." ".sprintf($lang['wisvres'], ' <form class="btn-group" name="restart" action="bot.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-primary" name="restart"><i class="fas fa-sync"></i> '.$lang['wibot7'].'</button></form>');
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
} else {
|
||||
$err_msg .= "<br>".$lang['errgrpid'];
|
||||
}
|
||||
|
||||
if (isset($_POST['rankup_excepted_unique_client_id_list']) && $_POST['rankup_excepted_unique_client_id_list'] != NULL) {
|
||||
$cfg['rankup_excepted_unique_client_id_list'] = array_flip($_POST['rankup_excepted_unique_client_id_list']);
|
||||
}
|
||||
if (isset($_POST['rankup_excepted_group_id_list']) && $_POST['rankup_excepted_group_id_list'] != NULL) {
|
||||
$cfg['rankup_excepted_group_id_list'] = array_flip($_POST['rankup_excepted_group_id_list']);
|
||||
}
|
||||
$cfg['rankup_excepted_channel_id_list'] = array_flip(explode(',', $cfg['rankup_excepted_channel_id_list']));
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3();
|
||||
exit;
|
||||
}
|
||||
if (isset($_POST['rankup_excepted_group_id_list']) && $_POST['rankup_excepted_group_id_list'] != NULL) {
|
||||
$cfg['rankup_excepted_group_id_list'] = array_flip($_POST['rankup_excepted_group_id_list']);
|
||||
}
|
||||
$cfg['rankup_excepted_channel_id_list'] = array_flip(explode(',', $cfg['rankup_excepted_channel_id_list']));
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3($rspathhex);
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header"><?php echo $lang['wiexcept'],' ',$lang['wihlset']; ?></h1>
|
||||
</div>
|
||||
</div>
|
||||
<form class="form-horizontal" data-toggle="validator" name="update" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-3"></div>
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group expertelement">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiexresdesc"><?php echo $lang['wiexres']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control basic" name="rankup_excepted_mode">
|
||||
<?PHP
|
||||
echo '<option data-icon="fas fa-stopwatch" value="0"'; if($cfg['rankup_excepted_mode']=="0") echo " selected=selected"; echo '> ',$lang['wiexres1'],'</option>';
|
||||
echo '<option data-icon="fas fa-pause" value="1"'; if($cfg['rankup_excepted_mode']=="1") echo " selected=selected"; echo '> ',$lang['wiexres2'],'</option>';
|
||||
echo '<option data-icon="fas fa-sync" value="2"'; if($cfg['rankup_excepted_mode']=="2") echo " selected=selected"; echo '> ',$lang['wiexres3'],'</option>';
|
||||
?>
|
||||
</select>
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header"><?php echo $lang['wiexcept'],' ',$lang['wihlset']; ?></h1>
|
||||
</div>
|
||||
</div>
|
||||
<form class="form-horizontal" data-toggle="validator" name="update" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-3"></div>
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group expertelement">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiexresdesc"><?php echo $lang['wiexres']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control basic" name="rankup_excepted_mode">
|
||||
<?PHP
|
||||
echo '<option data-icon="fas fa-stopwatch" value="0"'; if($cfg['rankup_excepted_mode']=="0") echo " selected=selected"; echo '> ',$lang['wiexres1'],'</option>';
|
||||
echo '<option data-icon="fas fa-pause" value="1"'; if($cfg['rankup_excepted_mode']=="1") echo " selected=selected"; echo '> ',$lang['wiexres2'],'</option>';
|
||||
echo '<option data-icon="fas fa-sync" value="2"'; if($cfg['rankup_excepted_mode']=="2") echo " selected=selected"; echo '> ',$lang['wiexres3'],'</option>';
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiexuiddesc"><?php echo $lang['wiexuid']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control" data-actions-box="true" data-live-search="true" multiple name="rankup_excepted_unique_client_id_list[]">
|
||||
<?PHP
|
||||
foreach ($user_arr as $user) {
|
||||
if ($cfg['rankup_excepted_unique_client_id_list'] != NULL && array_key_exists($user['uuid'], $cfg['rankup_excepted_unique_client_id_list'])) $selected=" selected"; else $selected="";
|
||||
echo '<option value="',$user['uuid'],'" data-subtext="UUID: ',$user['uuid'],'; DBID: ',$user['cldbid'],'" ',$selected,'>',htmlspecialchars($user['name']),'</option>';
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiexgrpdesc"><?php echo $lang['wiexgrp']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker form-control" data-live-search="true" data-actions-box="true" multiple name="rankup_excepted_group_id_list[]">
|
||||
<?PHP
|
||||
foreach ($groupslist as $groupID => $groupParam) {
|
||||
if ($cfg['rankup_excepted_group_id_list'] != NULL && array_key_exists($groupID, $cfg['rankup_excepted_group_id_list'])) $selected=" selected"; else $selected="";
|
||||
if (isset($groupParam['iconid']) && $groupParam['iconid'] != 0) $iconid=$groupParam['iconid']."."; else $iconid="placeholder.png";
|
||||
if ($groupParam['type'] == 0) $disabled=" disabled"; else $disabled="";
|
||||
if ($groupParam['type'] == 0) $grouptype=" [TEMPLATE GROUP]"; else $grouptype="";
|
||||
if ($groupParam['type'] == 2) $grouptype=" [QUERY GROUP]";
|
||||
if ($groupID != 0) {
|
||||
echo '<option data-content=" <img src=\'../tsicons/',$iconid,$groupParam['ext'],'\' width=\'16\' height=\'16\'> ',$groupParam['sgidname'],' <span class=\'text-muted small\'>SGID: ',$groupID,$grouptype,'</span>" value="',$groupID,'"',$selected,$disabled,'></option>';
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiexuiddesc"><?php echo $lang['wiexuid']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control" data-actions-box="true" data-live-search="true" multiple name="rankup_excepted_unique_client_id_list[]">
|
||||
<?PHP
|
||||
foreach ($user_arr as $user) {
|
||||
if ($cfg['rankup_excepted_unique_client_id_list'] != NULL && array_key_exists($user['uuid'], $cfg['rankup_excepted_unique_client_id_list'])) $selected=" selected"; else $selected="";
|
||||
echo '<option value="',$user['uuid'],'" data-subtext="UUID: ',$user['uuid'],'; DBID: ',$user['cldbid'],'" ',$selected,'>',htmlspecialchars($user['name']),'</option>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiexgrpdesc"><?php echo $lang['wiexgrp']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker form-control" data-live-search="true" data-actions-box="true" multiple name="rankup_excepted_group_id_list[]">
|
||||
<?PHP
|
||||
foreach ($groupslist as $groupID => $groupParam) {
|
||||
if ($cfg['rankup_excepted_group_id_list'] != NULL && array_key_exists($groupID, $cfg['rankup_excepted_group_id_list'])) $selected=" selected"; else $selected="";
|
||||
if (isset($groupParam['iconid']) && $groupParam['iconid'] != 0) $iconid=$groupParam['iconid']."."; else $iconid="placeholder.png";
|
||||
if ($groupParam['type'] == 0) $disabled=" disabled"; else $disabled="";
|
||||
if ($groupParam['type'] == 0) $grouptype=" [TEMPLATE GROUP]"; else $grouptype="";
|
||||
if ($groupParam['type'] == 2) $grouptype=" [QUERY GROUP]";
|
||||
if ($groupID != 0) {
|
||||
echo '<option data-content=" <img src=\'../tsicons/',$iconid,$groupParam['ext'],'\' width=\'16\' height=\'16\'> ',$groupParam['sgidname'],' <span class=\'text-muted small\'>SGID: ',$groupID,$grouptype,'</span>" value="',$groupID,'"',$selected,$disabled,'></option>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiexciddesc"><?php echo $lang['wiexcid']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<textarea class="form-control" data-pattern="^([0-9]{1,9},)*[0-9]{1,9}$" data-error="Only use digits separated with a comma! Also must the first and last value be digit!" rows="1" name="rankup_excepted_channel_id_list" maxlength="21588"><?php if(!empty($cfg['rankup_excepted_channel_id_list'])) echo implode(',',array_flip($cfg['rankup_excepted_channel_id_list'])); ?></textarea>
|
||||
<div class="help-block with-errors"></div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiexciddesc"><?php echo $lang['wiexcid']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<textarea class="form-control" data-pattern="^([0-9]{1,9},)*[0-9]{1,9}$" data-error="Only use digits separated with a comma! Also must the first and last value be digit!" rows="1" name="rankup_excepted_channel_id_list" maxlength="21588"><?php if(!empty($cfg['rankup_excepted_channel_id_list'])) echo implode(',',array_flip($cfg['rankup_excepted_channel_id_list'])); ?></textarea>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3"></div>
|
||||
</div>
|
||||
<div class="col-md-3"></div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wiexresdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiexres']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiexresdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiexuiddesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiexuid']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiexuiddesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiexgrpdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiexgrp']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiexgrpdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiexciddesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiexcid']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiexciddesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$('form[data-toggle="validator"]').validator({
|
||||
custom: {
|
||||
pattern: function ($el) {
|
||||
var pattern = new RegExp($el.data('pattern'));
|
||||
return pattern.test($el.val());
|
||||
<div class="modal fade" id="wiexresdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiexres']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiexresdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiexuiddesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiexuid']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiexuiddesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiexgrpdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiexgrp']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiexgrpdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiexciddesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiexcid']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiexciddesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$('form[data-toggle="validator"]').validator({
|
||||
custom: {
|
||||
pattern: function ($el) {
|
||||
var pattern = new RegExp($el.data('pattern'));
|
||||
return pattern.test($el.val());
|
||||
}
|
||||
},
|
||||
delay: 100,
|
||||
errors: {
|
||||
pattern: "There should be an error in your value, please check all could be right!"
|
||||
}
|
||||
},
|
||||
delay: 100,
|
||||
errors: {
|
||||
pattern: "There should be an error in your value, please check all could be right!"
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
216
webinterface/export.php
Normal file
216
webinterface/export.php
Normal file
@@ -0,0 +1,216 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
|
||||
try {
|
||||
require_once('_nav.php');
|
||||
|
||||
if ($mysqlcon->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;
|
||||
}
|
||||
|
||||
function get_status($lang, $job_check, $check = NULL) {
|
||||
$err_msg = "<b>".$lang['wihladmex']."</b>: ";
|
||||
switch($job_check['database_export']['timestamp']) {
|
||||
case 1:
|
||||
if($check == 1) {
|
||||
$err_msg .= $lang['wihladmrs16']."<br>"; break;
|
||||
} else {
|
||||
$err_msg .= $lang['wihladmrs1']."<br>"; break;
|
||||
}
|
||||
case 2:
|
||||
$err_msg .= "<span class=\"alert-info\">".$lang['wihladmrs2']."</span><br>"; break;
|
||||
case 3:
|
||||
$err_msg .= "<span class=\"alert-danger\">".$lang['wihladmrs3']."</span><br>"; break;
|
||||
case 4:
|
||||
$err_msg .= "<span class=\"alert-success\">".$lang['wihladmrs4']."</span><br>"; break;
|
||||
default:
|
||||
$err_msg .= "<span class=\"alert-secondary\"><i>".$lang['wihladmrs0']."</i></span><br>";
|
||||
}
|
||||
|
||||
return $err_msg;
|
||||
}
|
||||
|
||||
if($job_check['database_export']['timestamp'] != 0) {
|
||||
$err_msg = '<b>'.$lang['wihladmrs'].":</b><br><br><pre>"; $err_lvl = 2;
|
||||
$err_msg .= get_status($lang, $job_check);
|
||||
|
||||
if(in_array($job_check['database_export']['timestamp'], ["0","4"], true)) {
|
||||
$err_msg .= '</pre><br>';
|
||||
if($job_check['database_export']['timestamp'] == 4) {
|
||||
$err_msg .= "Exported file successfully.";
|
||||
if(version_compare(phpversion(), '7.2', '>=')) {
|
||||
$err_msg .= "<br><u>".sprintf($lang['wihladmex2'], "</u>")."<br><pre>".$cfg['teamspeak_query_pass']."</pre>";
|
||||
}
|
||||
}
|
||||
$err_msg .= '<br>'.sprintf($lang['wihladmrs9'], '<form class="btn-group" name="confirm" action="export.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-success btn-sm" name="confirm"><i class="fas fa-check"></i> ', '</button></form>');
|
||||
} else {
|
||||
$err_msg .= '</pre><br>'.sprintf($lang['wihladmrs7'], '<form class="btn-group" name="refresh" action="export.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-primary btn-sm" name="refresh"><i class="fas fa-sync"></i> ', '</button></form>').'<br><br>'.$lang['wihladmrs8'];
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($_POST['confirm']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if(in_array($job_check['database_export']['timestamp'], ["0","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['delete']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if(substr($_POST['delete'],0,10) == "db_export_" && unlink($cfg['logs_path'].$_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 = '<b>'.$lang['wihladmex1'].'</b><br><br>'.sprintf($lang['wihladmrs7'], '<form class="btn-group" name="refresh" action="export.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-primary btn-sm" name="refresh"><i class="fas fa-sync"></i> ', '</button></form>').'<br><br>'.$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 .= '<br><br>'.$lang['wihladmrs11'].': '.$est_time.'.<br>';
|
||||
}
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3();
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['wihladmex']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-horizontal">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-12 pointer" data-toggle="modal" data-target="#wihladmexdesc"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="panel-body">
|
||||
<div class="row"> </div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-6">
|
||||
<b><?php echo "File" ?></b>
|
||||
</div>
|
||||
<div class="col-sm-1">
|
||||
<b><?php echo "Filesize" ?></b>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<b><?php echo "MD5" ?></b>
|
||||
</div>
|
||||
<div class="col-sm-1"></div>
|
||||
<div class="col-sm-1"></div>
|
||||
</div>
|
||||
<div class="form-group" name="filegroup">
|
||||
<?PHP
|
||||
foreach(scandir($cfg['logs_path']) as $file) {
|
||||
if ('.' === $file || '..' === $file) continue;
|
||||
if (is_dir($cfg['logs_path'].$file)) continue;
|
||||
if(substr($file, 0, 10) != 'db_export_') continue;
|
||||
?>
|
||||
<div class="col-sm-6">
|
||||
<?PHP echo $cfg['logs_path'].$file; ?>
|
||||
</div>
|
||||
<div class="col-sm-1">
|
||||
<?PHP echo number_format(round((filesize($cfg['logs_path'].$file) / 1048576), 1), 1, '.', ' ') , " MiB"; ?>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<?PHP echo md5_file($cfg['logs_path'].$file); ?>
|
||||
</div>
|
||||
<div class="col-sm-1 text-center delete">
|
||||
<form id="<?PHP echo $file.'dow' ?>" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<input type="hidden" name="download" value="<?PHP echo $file; ?>">
|
||||
<?PHP if(in_array($job_check['database_export']['timestamp'], ["0","4"], true)) { ?>
|
||||
<a href="download_file.php?csrf_token=<?PHP echo $csrf_token; ?>&file=<?PHP echo $file ?>">
|
||||
<span onclick="document.getElementById('<?PHP echo $file.'dow' ?>').submit();" style="cursor: pointer; pointer-events: all;">
|
||||
<svg class="svg-inline--fa fa-download fa-w-16" style="margin-top: 10px;cursor: pointer;" title="download file" aria-labelledby="svg-inline--fa-title-D8LEkIGcdqdt" data-prefix="fas" data-icon="download" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg=""><title id="svg-inline--fa-title-D8LEkIGcdqdt"><?PHP echo $lang['wihladmex5']; ?></title><path fill="currentColor" d="M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z" style="--darkreader-inline-fill:currentColor;" data-darkreader-inline-fill=""></path></svg>
|
||||
</span>
|
||||
</a>
|
||||
<?PHP } ?>
|
||||
</form>
|
||||
</div>
|
||||
<div class="col-sm-1 text-center delete">
|
||||
<form id="<?PHP echo $file.'del' ?>" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<input type="hidden" name="delete" value="<?PHP echo $file ?>">
|
||||
<?PHP if(in_array($job_check['database_export']['timestamp'], ["0","4"], true)) { ?>
|
||||
<span onclick="document.getElementById('<?PHP echo $file.'del' ?>').submit();" style="cursor: pointer; pointer-events: all;">
|
||||
<svg class="svg-inline--fa fa-trash fa-w-14" style="margin-top: 10px;cursor: pointer;" title="delete file" onclick="javascript:this.form.submit();" aria-labelledby="svg-inline--fa-title-gtKCZkgszs1S" data-prefix="fas" data-icon="trash" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" data-fa-i2svg=""><title id="svg-inline--fa-title-gtKCZkgszs1S"><?PHP echo $lang['wihladmex6']; ?></title><path fill="currentColor" d="M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z" style="--darkreader-inline-fill:currentColor;" data-darkreader-inline-fill=""></path></svg>
|
||||
</span>
|
||||
<?PHP } ?>
|
||||
</form>
|
||||
</div>
|
||||
<?PHP
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<form name="post" id="post" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="export"><?php echo $lang['wihladmex7']; ?></button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wihladmexdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wihladm0']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wihladmexdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
@@ -1,261 +1,266 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
require_once('_nav.php');
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
try {
|
||||
require_once('_nav.php');
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$cfg['stats_imprint_address'] = addslashes($_POST['stats_imprint_address']);
|
||||
$cfg['stats_imprint_address_url'] = addslashes($_POST['stats_imprint_address_url']);
|
||||
$cfg['stats_imprint_email'] = addslashes($_POST['stats_imprint_email']);
|
||||
$cfg['stats_imprint_phone'] = addslashes($_POST['stats_imprint_phone']);
|
||||
$cfg['stats_imprint_notes'] = addslashes($_POST['stats_imprint_notes']);
|
||||
$cfg['stats_imprint_privacypolicy'] = addslashes($_POST['stats_imprint_privacypolicy']);
|
||||
$cfg['stats_imprint_privacypolicy_url'] = addslashes($_POST['stats_imprint_privacypolicy_url']);
|
||||
if (isset($_POST['stats_imprint_switch'])) $cfg['stats_imprint_switch'] = 1; else $cfg['stats_imprint_switch'] = 0;
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('stats_imprint_switch','{$cfg['stats_imprint_switch']}'),('stats_imprint_address','{$cfg['stats_imprint_address']}'),('stats_imprint_address_url','{$cfg['stats_imprint_address_url']}'),('stats_imprint_email','{$cfg['stats_imprint_email']}'),('stats_imprint_phone','{$cfg['stats_imprint_phone']}'),('stats_imprint_notes','{$cfg['stats_imprint_notes']}'),('stats_imprint_privacypolicy','{$cfg['stats_imprint_privacypolicy']}'),('stats_imprint_privacypolicy_url','{$cfg['stats_imprint_privacypolicy_url']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc']." ".sprintf($lang['wisvres']);
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
$cfg['stats_imprint_address'] = $_POST['stats_imprint_address'];
|
||||
$cfg['stats_imprint_email'] = $_POST['stats_imprint_email'];
|
||||
$cfg['stats_imprint_phone'] = $_POST['stats_imprint_phone'];
|
||||
$cfg['stats_imprint_notes'] = $_POST['stats_imprint_notes'];
|
||||
$cfg['stats_imprint_privacypolicy'] = $_POST['stats_imprint_privacypolicy'];
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3($rspathhex);
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['imprint'],' & ',$lang['privacy']; ?>
|
||||
</h1>
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$cfg['stats_imprint_address'] = addslashes($_POST['stats_imprint_address']);
|
||||
$cfg['stats_imprint_address_url'] = addslashes($_POST['stats_imprint_address_url']);
|
||||
$cfg['stats_imprint_email'] = addslashes($_POST['stats_imprint_email']);
|
||||
$cfg['stats_imprint_phone'] = addslashes($_POST['stats_imprint_phone']);
|
||||
$cfg['stats_imprint_notes'] = addslashes($_POST['stats_imprint_notes']);
|
||||
$cfg['stats_imprint_privacypolicy'] = addslashes($_POST['stats_imprint_privacypolicy']);
|
||||
$cfg['stats_imprint_privacypolicy_url'] = addslashes($_POST['stats_imprint_privacypolicy_url']);
|
||||
if (isset($_POST['stats_imprint_switch'])) $cfg['stats_imprint_switch'] = 1; else $cfg['stats_imprint_switch'] = 0;
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('stats_imprint_switch','{$cfg['stats_imprint_switch']}'),('stats_imprint_address','{$cfg['stats_imprint_address']}'),('stats_imprint_address_url','{$cfg['stats_imprint_address_url']}'),('stats_imprint_email','{$cfg['stats_imprint_email']}'),('stats_imprint_phone','{$cfg['stats_imprint_phone']}'),('stats_imprint_notes','{$cfg['stats_imprint_notes']}'),('stats_imprint_privacypolicy','{$cfg['stats_imprint_privacypolicy']}'),('stats_imprint_privacypolicy_url','{$cfg['stats_imprint_privacypolicy_url']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc']." ".sprintf($lang['wisvres']);
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
$cfg['stats_imprint_address'] = $_POST['stats_imprint_address'];
|
||||
$cfg['stats_imprint_email'] = $_POST['stats_imprint_email'];
|
||||
$cfg['stats_imprint_phone'] = $_POST['stats_imprint_phone'];
|
||||
$cfg['stats_imprint_notes'] = $_POST['stats_imprint_notes'];
|
||||
$cfg['stats_imprint_privacypolicy'] = $_POST['stats_imprint_privacypolicy'];
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3();
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['imprint'],' & ',$lang['privacy']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<form class="form-horizontal" name="update" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiimpswitchdesc"><?php echo $lang['wiimpswitch']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_imprint_switch'] == 1) {
|
||||
echo '<input id="switch-animate" type="checkbox" checked data-size="mini" name="stats_imprint_switch" value="',$cfg['stats_imprint_switch'],'">';
|
||||
} else {
|
||||
echo '<input id="switch-animate" type="checkbox" data-size="mini" name="stats_imprint_switch" value="',$cfg['stats_imprint_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiimpaddrurldesc"><?php echo $lang['wiimpaddrurl']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="url" name="stats_imprint_address_url" class="form-control" value='<?php echo $cfg["stats_imprint_address_url"]; ?>'>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiimpaddrdesc"><?php echo $lang['wiimpaddr']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<textarea class="form-control" rows="4" name="stats_imprint_address" maxlength="21588"><?php echo $cfg['stats_imprint_address']; ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiimpemaildesc"><?php echo $lang['wiimpnotes']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="email" name="stats_imprint_email" class="form-control" value='<?php echo $cfg["stats_imprint_email"]; ?>'>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiimpphonedesc"><?php echo $lang['wiimpphone']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="tel" name="stats_imprint_phone" class="form-control" value='<?php echo $cfg["stats_imprint_phone"]; ?>'>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiimpnotesdesc"><?php echo $lang['wiimpnotes']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<textarea class="form-control" rows="5" name="stats_imprint_notes" maxlength="21588"><?php echo $cfg['stats_imprint_notes']; ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiimpprivurldesc"><?php echo $lang['wiimpprivurl']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="url" name="stats_imprint_privacypolicy_url" class="form-control" value='<?php echo $cfg["stats_imprint_privacypolicy_url"]; ?>'>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiimpprivacydesc"><?php echo $lang['privacy']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<textarea class="form-control" rows="15" name="stats_imprint_privacypolicy" maxlength="21588"><?php echo $cfg['stats_imprint_privacypolicy']; ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wiimpswitchdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiimpswitch']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiimpswitchdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
<form class="form-horizontal" name="update" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiimpswitchdesc"><?php echo $lang['wiimpswitch']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_imprint_switch'] == 1) {
|
||||
echo '<input id="switch-animate" type="checkbox" checked data-size="mini" name="stats_imprint_switch" value="',$cfg['stats_imprint_switch'],'">';
|
||||
} else {
|
||||
echo '<input id="switch-animate" type="checkbox" data-size="mini" name="stats_imprint_switch" value="',$cfg['stats_imprint_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiimpaddrurldesc"><?php echo $lang['wiimpaddrurl']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="url" name="stats_imprint_address_url" class="form-control" value='<?php echo $cfg["stats_imprint_address_url"]; ?>'>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiimpaddrdesc"><?php echo $lang['wiimpaddr']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<textarea class="form-control" rows="4" name="stats_imprint_address" maxlength="21588"><?php echo $cfg['stats_imprint_address']; ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiimpemaildesc"><?php echo $lang['wiimpnotes']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="email" name="stats_imprint_email" class="form-control" value='<?php echo $cfg["stats_imprint_email"]; ?>'>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiimpphonedesc"><?php echo $lang['wiimpphone']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="tel" name="stats_imprint_phone" class="form-control" value='<?php echo $cfg["stats_imprint_phone"]; ?>'>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiimpnotesdesc"><?php echo $lang['wiimpnotes']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<textarea class="form-control" rows="5" name="stats_imprint_notes" maxlength="21588"><?php echo $cfg['stats_imprint_notes']; ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiimpprivurldesc"><?php echo $lang['wiimpprivurl']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="url" name="stats_imprint_privacypolicy_url" class="form-control" value='<?php echo $cfg["stats_imprint_privacypolicy_url"]; ?>'>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiimpprivacydesc"><?php echo $lang['privacy']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<textarea class="form-control" rows="15" name="stats_imprint_privacypolicy" maxlength="21588"><?php echo $cfg['stats_imprint_privacypolicy']; ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wiimpswitchdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiimpswitch']; ?></h4>
|
||||
<div class="modal fade" id="wiimpaddrurldesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiimpaddrurl']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiimpaddrurldesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiimpswitchdesc']; ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiimpaddrdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiimpaddr']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiimpaddrdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiimpemaildesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiimpnotes']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiimpemaildesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiimpphonedesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiimpphone']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiimpphonedesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiimpaddrurldesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiimpaddrurl']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiimpaddrurldesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
<div class="modal fade" id="wiimpnotesdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiimpnotes']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiimpnotesdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiimpaddrdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiimpaddr']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiimpaddrdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
<div class="modal fade" id="wiimpprivurldesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiimpprivurl']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiimpprivurldesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiimpemaildesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiimpnotes']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiimpemaildesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
<div class="modal fade" id="wiimpprivacydesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['privacy']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiimpprivacydesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiimpphonedesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiimpphone']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiimpphonedesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiimpnotesdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiimpnotes']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiimpnotesdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiimpprivurldesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiimpprivurl']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiimpprivurldesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiimpprivacydesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['privacy']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiimpprivacydesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</body>
|
||||
</html>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
@@ -1,139 +1,146 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
|
||||
if(!class_exists('PDO')) {
|
||||
unset($err_msg); $err_msg = sprintf($lang['insterr2'],'PHP PDO','//php.net/manual/en/book.pdo.php',get_cfg_var('cfg_file_path')); $err_lvl = 3; $dis_login = 1;
|
||||
}
|
||||
if(version_compare(phpversion(), '5.5.0', '<')) {
|
||||
unset($err_msg); $err_msg = sprintf($lang['insterr4'],phpversion()); $err_lvl = 3; $dis_login = 1;
|
||||
}
|
||||
if(!function_exists('simplexml_load_file')) {
|
||||
unset($err_msg); $err_msg = sprintf($lang['insterr2'],'PHP SimpleXML','//php.net/manual/en/book.simplexml.php',get_cfg_var('cfg_file_path')); $err_lvl = 3; $dis_login = 1;
|
||||
}
|
||||
if(!in_array('curl', get_loaded_extensions())) {
|
||||
unset($err_msg); $err_msg = sprintf($lang['insterr2'],'PHP cURL','//php.net/manual/en/book.curl.php',get_cfg_var('cfg_file_path')); $err_lvl = 3; $dis_login = 1;
|
||||
}
|
||||
if(!in_array('zip', get_loaded_extensions())) {
|
||||
unset($err_msg); $err_msg = sprintf($lang['insterr2'],'PHP Zip','//php.net/manual/en/book.zip.php',get_cfg_var('cfg_file_path')); $err_lvl = 3; $dis_login = 1;
|
||||
}
|
||||
if(!in_array('mbstring', get_loaded_extensions())) {
|
||||
unset($err_msg); $err_msg = sprintf($lang['insterr2'],'PHP mbstring','//php.net/manual/en/book.mbstring.php',get_cfg_var('cfg_file_path')); $err_lvl = 3; $dis_login = 1;
|
||||
}
|
||||
if(!in_array('openssl', get_loaded_extensions())) {
|
||||
unset($err_msg); $err_msg = sprintf($lang['insterr2'],'PHP OpenSSL','//php.net/manual/en/book.openssl.php',get_cfg_var('cfg_file_path')); $err_lvl = 3; $dis_login = 1;
|
||||
}
|
||||
if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
|
||||
if(!in_array('com_dotnet', get_loaded_extensions())) {
|
||||
unset($err_msg); $err_msg = sprintf($lang['insterr2'],'PHP COM extension (php_com_dotnet.dll)','//php.net/manual/en/book.com.php',get_cfg_var('cfg_file_path')); $err_lvl = 3; $dis_login = 1;
|
||||
try {
|
||||
if(!class_exists('PDO')) {
|
||||
$err_msg = sprintf($lang['insterr2'],'PHP PDO','//php.net/manual/en/book.pdo.php',get_cfg_var('cfg_file_path')); $err_lvl = 3; $dis_login = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if(file_exists($cfg['logs_path'].'ranksystem.log') && !is_writable($cfg['logs_path'].'ranksystem.log')) {
|
||||
$err_msg = sprintf($lang['chkfileperm'], '<pre>chown -R www-data:www-data '.$cfg['logs_path'].'</pre><br>', '<pre>chmod 740 '.$cfg['logs_path'].'ranksystem.log</pre><br><br>', '<pre>'.$cfg['logs_path'].'ranksystem.log</pre>');
|
||||
$err_lvl = 3; $dis_login = 0;
|
||||
}
|
||||
|
||||
if(!is_writable($cfg['logs_path'])) {
|
||||
$err_msg = sprintf($lang['chkfileperm'], '<pre>chown -R www-data:www-data '.$cfg['logs_path'].'</pre><br>', '<pre>chmod 740 '.$cfg['logs_path'].'</pre><br><br>', '<pre>'.$cfg['logs_path'].'</pre>');
|
||||
$err_lvl = 3; $dis_login = 0;
|
||||
}
|
||||
|
||||
if(!function_exists('exec')) {
|
||||
unset($err_msg); $err_msg = sprintf($lang['insterr3'],'exec','//php.net/manual/en/book.exec.php',get_cfg_var('cfg_file_path')); $err_lvl = 3; $dis_login = 1;
|
||||
} else {
|
||||
exec("$phpcommand -v", $phpversioncheck);
|
||||
$output = '';
|
||||
foreach($phpversioncheck as $line) $output .= print_r($line, true).'<br>';
|
||||
if(empty($phpversioncheck) || strtoupper(substr($phpversioncheck[0], 0, 3)) != "PHP") {
|
||||
$err_msg = sprintf($lang['chkphpcmd'], "\"other/phpcommand.php\"", "<u>\"other/phpcommand.php\"</u>", '<pre>'.$phpcommand.'</pre>', '<pre>'.$output.'</pre><br><br>', '<pre>php -v</pre>');
|
||||
$err_lvl = 3; $dis_login = 1;
|
||||
} else {
|
||||
$exploded = explode(' ',$phpversioncheck[0]);
|
||||
if($exploded[1] != phpversion()) {
|
||||
$err_msg = sprintf($lang['chkphpmulti'], phpversion(), "<u>\"other/phpcommand.php\"</u>", $exploded[1], "\"other/phpcommand.php\"</u>", "\"other/phpcommand.php\"</u>", '<pre>'.$phpcommand.'</pre>');
|
||||
if(getenv('PATH')!='') {
|
||||
$err_msg .= "<br><br>".sprintf($lang['chkphpmulti2'], '<br>'.getenv('PATH'));
|
||||
}
|
||||
$err_lvl = 2;
|
||||
if(version_compare(PHP_VERSION, '5.5.0', '<')) {
|
||||
$err_msg = sprintf($lang['insterr4'],PHP_VERSION); $err_lvl = 3; $dis_login = 1;
|
||||
}
|
||||
if(!function_exists('simplexml_load_file')) {
|
||||
$err_msg = sprintf($lang['insterr2'],'PHP SimpleXML','//php.net/manual/en/book.simplexml.php',get_cfg_var('cfg_file_path')); $err_lvl = 3; $dis_login = 1;
|
||||
}
|
||||
if(!in_array('curl', get_loaded_extensions())) {
|
||||
$err_msg = sprintf($lang['insterr2'],'PHP cURL','//php.net/manual/en/book.curl.php',get_cfg_var('cfg_file_path')); $err_lvl = 3; $dis_login = 1;
|
||||
}
|
||||
if(!in_array('zip', get_loaded_extensions())) {
|
||||
$err_msg = sprintf($lang['insterr2'],'PHP Zip','//php.net/manual/en/book.zip.php',get_cfg_var('cfg_file_path')); $err_lvl = 3; $dis_login = 1;
|
||||
}
|
||||
if(!in_array('mbstring', get_loaded_extensions())) {
|
||||
$err_msg = sprintf($lang['insterr2'],'PHP mbstring','//php.net/manual/en/book.mbstring.php',get_cfg_var('cfg_file_path')); $err_lvl = 3; $dis_login = 1;
|
||||
}
|
||||
if(!in_array('openssl', get_loaded_extensions())) {
|
||||
$err_msg = sprintf($lang['insterr2'],'PHP OpenSSL','//php.net/manual/en/book.openssl.php',get_cfg_var('cfg_file_path')); $err_lvl = 3; $dis_login = 1;
|
||||
}
|
||||
if(strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
|
||||
if(!in_array('com_dotnet', get_loaded_extensions())) {
|
||||
unset($err_msg); $err_msg = sprintf($lang['insterr2'],'PHP COM extension (php_com_dotnet.dll)','//php.net/manual/en/book.com.php',get_cfg_var('cfg_file_path')); $err_lvl = 3; $dis_login = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(($cfg['webinterface_access_last'] + 1) >= time()) {
|
||||
$waittime = $cfg['webinterface_access_last'] + 2 - time();
|
||||
$err_msg = sprintf($lang['errlogin2'],$waittime);
|
||||
$err_lvl = 3;
|
||||
} elseif ($cfg['webinterface_access_count'] >= 10) {
|
||||
enter_logfile($cfg,3,sprintf($lang['brute'], getclientip()));
|
||||
$err_msg = $lang['errlogin3'];
|
||||
$err_lvl = 3;
|
||||
$bantime = time() + 299;
|
||||
if($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('webinterface_access_last','{$bantime}'),('webinterface_access_count','0') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`)") === false) { }
|
||||
} elseif (isset($_POST['username']) && $_POST['username'] == $cfg['webinterface_user'] && password_verify($_POST['password'], $cfg['webinterface_pass'])) {
|
||||
$_SESSION[$rspathhex.'username'] = $cfg['webinterface_user'];
|
||||
$_SESSION[$rspathhex.'password'] = $cfg['webinterface_pass'];
|
||||
$_SESSION[$rspathhex.'clientip'] = getclientip();
|
||||
$_SESSION[$rspathhex.'newversion'] = $cfg['version_latest_available'];
|
||||
enter_logfile($cfg,6,sprintf($lang['brute2'], getclientip()));
|
||||
if($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('webinterface_access_count','0') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`)") === false) { }
|
||||
header("Location: $prot://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\')."/bot.php");
|
||||
exit;
|
||||
} elseif(isset($_POST['username'])) {
|
||||
$nowtime = time();
|
||||
enter_logfile($cfg,5,sprintf($lang['brute1'], getclientip(), $_POST['username']));
|
||||
$cfg['webinterface_access_count']++;
|
||||
if($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('webinterface_access_last','{$nowtime}'),('webinterface_access_count','{$cfg['webinterface_access_count']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`)") === false) { }
|
||||
$err_msg = $lang['errlogin'];
|
||||
$err_lvl = 3;
|
||||
}
|
||||
if(file_exists($cfg['logs_path'].'ranksystem.log') && !is_writable($cfg['logs_path'].'ranksystem.log')) {
|
||||
$err_msg = sprintf($lang['chkfileperm'], '<pre>chown -R www-data:www-data '.$cfg['logs_path'].'</pre><br>', '<pre>chmod 0740 '.$cfg['logs_path'].'ranksystem.log</pre><br><br>', '<pre>'.$cfg['logs_path'].'ranksystem.log</pre>');
|
||||
$err_lvl = 3; $dis_login = 0;
|
||||
}
|
||||
|
||||
if(isset($_SESSION[$rspathhex.'username']) && $_SESSION[$rspathhex.'username'] == $cfg['webinterface_user'] && $_SESSION[$rspathhex.'password'] == $cfg['webinterface_pass']) {
|
||||
header("Location: $prot://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\')."/bot.php");
|
||||
exit;
|
||||
}
|
||||
if(!is_writable($cfg['logs_path'])) {
|
||||
$err_msg = sprintf($lang['chkfileperm'], '<pre>chown -R www-data:www-data '.$cfg['logs_path'].'</pre><br>', '<pre>chmod 0740 '.$cfg['logs_path'].'</pre><br><br>', '<pre>'.$cfg['logs_path'].'</pre>');
|
||||
$err_lvl = 3; $dis_login = 0;
|
||||
}
|
||||
|
||||
require_once('_nav.php');
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div id="login-overlay" class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="myModalLabel"><?PHP echo $lang['isntwiusrh']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<form id="loginForm" method="POST">
|
||||
<div class="form-group">
|
||||
<label class="control-label"><?PHP echo $lang['user']; ?>:</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon"><i class="fas fa-user"></i></span>
|
||||
<input type="text" class="form-control" name="username" placeholder="<?PHP echo $lang['user']; ?>" maxlength="21588" autofocus>
|
||||
if(!function_exists('exec')) {
|
||||
unset($err_msg); $err_msg = sprintf($lang['insterr3'],'exec','//php.net/manual/en/book.exec.php',get_cfg_var('cfg_file_path')); $err_lvl = 3; $dis_login = 1;
|
||||
} else {
|
||||
exec("$phpcommand -v", $phpversioncheck);
|
||||
$output = '';
|
||||
foreach($phpversioncheck as $line) $output .= print_r($line, true).'<br>';
|
||||
if(empty($phpversioncheck) || strtoupper(substr($phpversioncheck[0], 0, 3)) != "PHP") {
|
||||
$err_msg = sprintf($lang['chkphpcmd'], "\"other/phpcommand.php\"", "<u>\"other/phpcommand.php\"</u>", '<pre>'.$phpcommand.'</pre>', '<pre>'.$output.'</pre><br><br>', '<pre>php -v</pre>');
|
||||
$err_lvl = 3; $dis_login = 1;
|
||||
} else {
|
||||
$exploded = explode(' ',$phpversioncheck[0]);
|
||||
if($exploded[1] != phpversion()) {
|
||||
$err_msg = sprintf($lang['chkphpmulti'], phpversion(), "<u>\"other/phpcommand.php\"</u>", $exploded[1], "\"other/phpcommand.php\"</u>", "\"other/phpcommand.php\"</u>", '<pre>'.$phpcommand.'</pre>');
|
||||
if(getenv('PATH')!='') {
|
||||
$err_msg .= "<br><br>".sprintf($lang['chkphpmulti2'], '<br>'.getenv('PATH'));
|
||||
}
|
||||
$err_lvl = 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!isset($err_msg) && version_compare(PHP_VERSION, '7.2.0', '<')) {
|
||||
$err_msg = "Your PHP Version: (".PHP_VERSION.") is outdated and no longer supported. Please update it!";
|
||||
$err_lvl = 2;
|
||||
}
|
||||
|
||||
if(($cfg['webinterface_access_last'] + 1) >= time()) {
|
||||
$waittime = $cfg['webinterface_access_last'] + 2 - time();
|
||||
$err_msg = sprintf($lang['errlogin2'],$waittime);
|
||||
$err_lvl = 3;
|
||||
} elseif ($cfg['webinterface_access_count'] >= 10) {
|
||||
enter_logfile($cfg,3,sprintf($lang['brute'], getclientip()));
|
||||
$err_msg = $lang['errlogin3'];
|
||||
$err_lvl = 3;
|
||||
$bantime = time() + 299;
|
||||
if($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('webinterface_access_last','{$bantime}'),('webinterface_access_count','0') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`)") === false) { }
|
||||
} elseif (isset($_POST['username']) && $_POST['username'] == $cfg['webinterface_user'] && password_verify($_POST['password'], $cfg['webinterface_pass'])) {
|
||||
$_SESSION[$rspathhex.'username'] = $cfg['webinterface_user'];
|
||||
$_SESSION[$rspathhex.'password'] = $cfg['webinterface_pass'];
|
||||
$_SESSION[$rspathhex.'clientip'] = getclientip();
|
||||
$_SESSION[$rspathhex.'newversion'] = $cfg['version_latest_available'];
|
||||
enter_logfile($cfg,6,sprintf($lang['brute2'], getclientip()));
|
||||
if($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('webinterface_access_count','0') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`)") === false) { }
|
||||
header("Location: $prot://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\')."/bot.php");
|
||||
exit;
|
||||
} elseif(isset($_POST['username'])) {
|
||||
$nowtime = time();
|
||||
enter_logfile($cfg,5,sprintf($lang['brute1'], getclientip(), $_POST['username']));
|
||||
$cfg['webinterface_access_count']++;
|
||||
if($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('webinterface_access_last','{$nowtime}'),('webinterface_access_count','{$cfg['webinterface_access_count']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`)") === false) { }
|
||||
$err_msg = $lang['errlogin'];
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if(isset($_SESSION[$rspathhex.'username']) && $_SESSION[$rspathhex.'username'] == $cfg['webinterface_user'] && $_SESSION[$rspathhex.'password'] == $cfg['webinterface_pass']) {
|
||||
header("Location: $prot://".$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['PHP_SELF']), '/\\')."/bot.php");
|
||||
exit;
|
||||
}
|
||||
|
||||
require_once('_nav.php');
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div id="login-overlay" class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="myModalLabel"><?PHP echo $lang['isntwiusrh']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<form id="loginForm" method="POST">
|
||||
<div class="form-group">
|
||||
<label class="control-label"><?PHP echo $lang['user']; ?>:</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon"><i class="fas fa-user"></i></span>
|
||||
<input type="text" class="form-control" name="username" placeholder="<?PHP echo $lang['user']; ?>" maxlength="21588" autofocus>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label"><?PHP echo $lang['pass']; ?>:</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon"><i class="fas fa-lock"></i></span>
|
||||
<input type="password" class="form-control" name="password" placeholder="<?PHP echo $lang['pass']; ?>" maxlength="21588">
|
||||
<div class="form-group">
|
||||
<label class="control-label"><?PHP echo $lang['pass']; ?>:</label>
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon"><i class="fas fa-lock"></i></span>
|
||||
<input type="password" class="form-control" name="password" placeholder="<?PHP echo $lang['pass']; ?>" maxlength="21588">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<p>
|
||||
<?PHP
|
||||
if(isset($dis_login) && $dis_login == 1) {
|
||||
echo '<button type="submit" class="btn btn-success btn-block" disabled>',$lang['login'],'</button>';
|
||||
} else {
|
||||
echo '<button type="submit" class="btn btn-success btn-block">',$lang['login'],'</button>';
|
||||
}
|
||||
?>
|
||||
</p>
|
||||
<p class="small text-right">
|
||||
<a href="resetpassword.php"><?PHP echo $lang['pass5']; ?></a>
|
||||
</p>
|
||||
</form>
|
||||
<br>
|
||||
<p>
|
||||
<?PHP
|
||||
if(isset($dis_login) && $dis_login == 1) {
|
||||
echo '<button type="submit" class="btn btn-success btn-block" disabled>',$lang['login'],'</button>';
|
||||
} else {
|
||||
echo '<button type="submit" class="btn btn-success btn-block">',$lang['login'],'</button>';
|
||||
}
|
||||
?>
|
||||
</p>
|
||||
<p class="small text-right">
|
||||
<a href="resetpassword.php"><?PHP echo $lang['pass5']; ?></a>
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -141,6 +148,8 @@ require_once('_nav.php');
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</body>
|
||||
</html>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
@@ -1,221 +1,226 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
require_once('_nav.php');
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
try {
|
||||
require_once('_nav.php');
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$cfg['rankup_message_to_user'] = addslashes($_POST['rankup_message_to_user']);
|
||||
$cfg['rankup_next_message_1'] = addslashes($_POST['rankup_next_message_1']);
|
||||
$cfg['rankup_next_message_2'] = addslashes($_POST['rankup_next_message_2']);
|
||||
$cfg['rankup_next_message_3'] = addslashes($_POST['rankup_next_message_3']);
|
||||
$cfg['rankup_next_message_mode'] = $_POST['rankup_next_message_mode'];
|
||||
if (isset($_POST['rankup_message_to_user_switch'])) $cfg['rankup_message_to_user_switch'] = 1; else $cfg['rankup_message_to_user_switch'] = 0;
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('rankup_message_to_user_switch','{$cfg['rankup_message_to_user_switch']}'),('rankup_message_to_user','{$cfg['rankup_message_to_user']}'),('rankup_next_message_mode','{$cfg['rankup_next_message_mode']}'),('rankup_next_message_1','{$cfg['rankup_next_message_1']}'),('rankup_next_message_2','{$cfg['rankup_next_message_2']}'),('rankup_next_message_3','{$cfg['rankup_next_message_3']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc']." ".sprintf($lang['wisvres'], ' <form class="btn-group" name="restart" action="bot.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button
|
||||
type="submit" class="btn btn-primary" name="restart"><i class="fas fa-sync"></i> '.$lang['wibot7'].'</button></form>');
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
$cfg['rankup_message_to_user'] = $_POST['rankup_message_to_user'];
|
||||
$cfg['rankup_next_message_1'] = $_POST['rankup_next_message_1'];
|
||||
$cfg['rankup_next_message_2'] = $_POST['rankup_next_message_2'];
|
||||
$cfg['rankup_next_message_3'] = $_POST['rankup_next_message_3'];
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3($rspathhex);
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['winav5'],' ',$lang['wihlset']; ?>
|
||||
</h1>
|
||||
}
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$cfg['rankup_message_to_user'] = addslashes($_POST['rankup_message_to_user']);
|
||||
$cfg['rankup_next_message_1'] = addslashes($_POST['rankup_next_message_1']);
|
||||
$cfg['rankup_next_message_2'] = addslashes($_POST['rankup_next_message_2']);
|
||||
$cfg['rankup_next_message_3'] = addslashes($_POST['rankup_next_message_3']);
|
||||
$cfg['rankup_next_message_mode'] = $_POST['rankup_next_message_mode'];
|
||||
if (isset($_POST['rankup_message_to_user_switch'])) $cfg['rankup_message_to_user_switch'] = 1; else $cfg['rankup_message_to_user_switch'] = 0;
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('rankup_message_to_user_switch','{$cfg['rankup_message_to_user_switch']}'),('rankup_message_to_user','{$cfg['rankup_message_to_user']}'),('rankup_next_message_mode','{$cfg['rankup_next_message_mode']}'),('rankup_next_message_1','{$cfg['rankup_next_message_1']}'),('rankup_next_message_2','{$cfg['rankup_next_message_2']}'),('rankup_next_message_3','{$cfg['rankup_next_message_3']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc']." ".sprintf($lang['wisvres'], ' <form class="btn-group" name="restart" action="bot.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button
|
||||
type="submit" class="btn btn-primary" name="restart"><i class="fas fa-sync"></i> '.$lang['wibot7'].'</button></form>');
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
$cfg['rankup_message_to_user'] = $_POST['rankup_message_to_user'];
|
||||
$cfg['rankup_next_message_1'] = $_POST['rankup_next_message_1'];
|
||||
$cfg['rankup_next_message_2'] = $_POST['rankup_next_message_2'];
|
||||
$cfg['rankup_next_message_3'] = $_POST['rankup_next_message_3'];
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3();
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['winav5'],' ',$lang['wihlset']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<form class="form-horizontal" name="update" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wimsgusrdesc"><?php echo $lang['wimsgusr']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['rankup_message_to_user_switch'] == 1) {
|
||||
echo '<input id="switch-animate" type="checkbox" checked data-size="mini" name="rankup_message_to_user_switch" value="',$cfg['rankup_message_to_user_switch'],'">';
|
||||
} else {
|
||||
echo '<input id="switch-animate" type="checkbox" data-size="mini" name="rankup_message_to_user_switch" value="',$cfg['rankup_message_to_user_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wimsgmsgdesc"><?php echo $lang['wimsgmsg']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<textarea class="form-control" rows="5" name="rankup_message_to_user" maxlength="21588"><?php echo $cfg['rankup_message_to_user']; ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#winxinfodesc"><?php echo $lang['winxinfo']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control" id="basic" name="rankup_next_message_mode">
|
||||
<?PHP
|
||||
echo '<option data-icon="fas fa-ban" value="0"'; if($cfg['rankup_next_message_mode']=="0") echo " selected=selected"; echo '> ',$lang['winxmode1'],'</option>';
|
||||
echo '<option data-icon="fas fa-clipboard-check" value="1"'; if($cfg['rankup_next_message_mode']=="1") echo " selected=selected"; echo '> ',$lang['winxmode2'],'</option>';
|
||||
echo '<option data-icon="fas fa-clipboard-list" value="2"'; if($cfg['rankup_next_message_mode']=="2") echo " selected=selected"; echo '> ',$lang['winxmode3'],'</option>';
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#winxmsgdesc1"><?php echo $lang['winxmsg1']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<textarea class="form-control" rows="5" name="rankup_next_message_1" maxlength="21588"><?php echo $cfg['rankup_next_message_1']; ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#winxmsgdesc2"><?php echo $lang['winxmsg2']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<textarea class="form-control" rows="5" name="rankup_next_message_2" maxlength="21588"><?php echo $cfg['rankup_next_message_2']; ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#winxmsgdesc3"><?php echo $lang['winxmsg3']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<textarea class="form-control" rows="5" name="rankup_next_message_3" maxlength="21588"><?php echo $cfg['rankup_next_message_3']; ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
</div>
|
||||
<form class="form-horizontal" name="update" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wimsgusrdesc"><?php echo $lang['wimsgusr']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['rankup_message_to_user_switch'] == 1) {
|
||||
echo '<input id="switch-animate" type="checkbox" checked data-size="mini" name="rankup_message_to_user_switch" value="',$cfg['rankup_message_to_user_switch'],'">';
|
||||
} else {
|
||||
echo '<input id="switch-animate" type="checkbox" data-size="mini" name="rankup_message_to_user_switch" value="',$cfg['rankup_message_to_user_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wimsgmsgdesc"><?php echo $lang['wimsgmsg']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<textarea class="form-control" rows="5" name="rankup_message_to_user" maxlength="21588"><?php echo $cfg['rankup_message_to_user']; ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#winxinfodesc"><?php echo $lang['winxinfo']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control" id="basic" name="rankup_next_message_mode">
|
||||
<?PHP
|
||||
echo '<option data-icon="fas fa-ban" value="0"'; if($cfg['rankup_next_message_mode']=="0") echo " selected=selected"; echo '> ',$lang['winxmode1'],'</option>';
|
||||
echo '<option data-icon="fas fa-clipboard-check" value="1"'; if($cfg['rankup_next_message_mode']=="1") echo " selected=selected"; echo '> ',$lang['winxmode2'],'</option>';
|
||||
echo '<option data-icon="fas fa-clipboard-list" value="2"'; if($cfg['rankup_next_message_mode']=="2") echo " selected=selected"; echo '> ',$lang['winxmode3'],'</option>';
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#winxmsgdesc1"><?php echo $lang['winxmsg1']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<textarea class="form-control" rows="5" name="rankup_next_message_1" maxlength="21588"><?php echo $cfg['rankup_next_message_1']; ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#winxmsgdesc2"><?php echo $lang['winxmsg2']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<textarea class="form-control" rows="5" name="rankup_next_message_2" maxlength="21588"><?php echo $cfg['rankup_next_message_2']; ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#winxmsgdesc3"><?php echo $lang['winxmsg3']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<textarea class="form-control" rows="5" name="rankup_next_message_3" maxlength="21588"><?php echo $cfg['rankup_next_message_3']; ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wimsgusrdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wimsgusr']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wimsgusrdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wimsgusrdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wimsgusr']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wimsgusrdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wimsgmsgdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wimsgmsg']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo sprintf($lang['wimsgmsgdesc'], '<a href="https://ts-n.net/lexicon.php?showid=97#lexindex" target="_blank">https://ts-n.net/lexicon.php?showid=97#lexindex</a>'); ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="winxinfodesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['winxinfo']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['winxinfodesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="winxmsgdesc1" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['winxmsg1']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['winxmsgdesc1']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="winxmsgdesc2" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['winxmsg2']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['winxmsgdesc2']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="winxmsgdesc3" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['winxmsg3']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['winxmsgdesc3']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<div class="modal fade" id="wimsgmsgdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wimsgmsg']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo sprintf($lang['wimsgmsgdesc'], '<a href="https://ts-n.net/lexicon.php?showid=97#lexindex" target="_blank">https://ts-n.net/lexicon.php?showid=97#lexindex</a>'); ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="winxinfodesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['winxinfo']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['winxinfodesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="winxmsgdesc1" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['winxmsg1']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['winxmsgdesc1']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="winxmsgdesc2" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['winxmsg2']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['winxmsgdesc2']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="winxmsgdesc3" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['winxmsg3']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['winxmsgdesc3']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,362 +1,367 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
require_once('_nav.php');
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
try {
|
||||
require_once('_nav.php');
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if(($groupslist = $mysqlcon->query("SELECT * FROM `$dbname`.`groups` ORDER BY `sortid`,`sgidname` ASC")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if(!isset($groupslist) || $groupslist == NULL) {
|
||||
$err_msg = '<b>No servergroups found inside the Ranksystem cache!</b><br><br>Please connect the Ranksystem Bot to the TS server. The Ranksystem will download the servergroups when it is connected to the server.<br>Give it a few minutes and reload this page. The dropdown field should contain your groups after.';
|
||||
$err_lvl = 1;
|
||||
}
|
||||
|
||||
if (isset($_POST['update_old']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if(empty($_POST['rankup_definition'])) {
|
||||
$grouparr_old = null;
|
||||
} else {
|
||||
foreach (explode(',', $_POST['rankup_definition']) as $entry) {
|
||||
list($time, $groupid, $keepflag) = explode('=>', $entry);
|
||||
if($keepflag == NULL) $keepflag = 0;
|
||||
$grouparr_old[$time] = array("time"=>$time,"group"=>$groupid,"keep"=>$keepflag);
|
||||
$cfg['rankup_definition'] = $grouparr_old;
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($groupslist) && $groupslist != NULL) {
|
||||
if(isset($cfg['rankup_definition']) && $cfg['rankup_definition'] != NULL) {
|
||||
foreach($cfg['rankup_definition'] as $time => $value) {
|
||||
if(!isset($groupslist[$value['group']]) && $value['group'] != NULL) {
|
||||
$err_msg .= sprintf($lang['upgrp0001'], $value['group'], $lang['wigrptime']).'<br>';
|
||||
$err_lvl = 3;
|
||||
$errcnf++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($_POST['rankup_definition'] == "") {
|
||||
$err_msg = "Saving of empty defintion prevented.<br><br>Your changes were <b>not</b> be saved!<br><br>You need at least one entry to be able to save the configuration!";
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
if($errcnf == 0) {
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('rankup_definition','{$_POST['rankup_definition']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc']." ".sprintf($lang['wisvres'], ' <form class="btn-group" name="restart" action="bot.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-primary" name="restart"><i class="fas fa-sync"></i> '.$lang['wibot7'].'</button></form>');
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
} else {
|
||||
$err_msg .= "<br>".$lang['errgrpid'];
|
||||
}
|
||||
}
|
||||
|
||||
} elseif (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$rankup_definition = "";
|
||||
if(isset($_POST['rankuptime']) && isset($_POST['rankupgroup'])) {
|
||||
$rankupgroups = [];
|
||||
foreach($_POST['rankuptime'] as $key => $entry) {
|
||||
$servergroupId = isset($_POST["rankupgroup"][$key]) ? $_POST["rankupgroup"][$key] : 0;
|
||||
if(in_array($key,$_POST["rankupkeep"])) {
|
||||
$keepflag = 1;
|
||||
} else {
|
||||
$keepflag = 0;
|
||||
}
|
||||
if(empty($entry)) {
|
||||
$entry = 0;
|
||||
}
|
||||
$rankupgroups[] = "$entry=>$servergroupId=>$keepflag";
|
||||
}
|
||||
$rankup_definition = implode(",", $rankupgroups);
|
||||
$grouparr = [];
|
||||
foreach(explode(',', $rankup_definition) as $entry) {
|
||||
list($time, $groupid, $keepflag) = explode('=>', $entry);
|
||||
$grouparr[$groupid] = $time;
|
||||
}
|
||||
|
||||
$err_msg = '';
|
||||
$errcnf = 0;
|
||||
if(isset($groupslist) && $groupslist != NULL) {
|
||||
foreach($grouparr as $groupid => $time) {
|
||||
if((!isset($groupslist[$groupid]) && $groupid != NULL) || $groupid == 0) {
|
||||
$err_msg .= sprintf($lang['upgrp0001'], $groupid, $lang['wigrptime']).'<br>';
|
||||
$err_lvl = 3;
|
||||
$errcnf++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
$cfg['rankup_definition'] = $rankup_definition;
|
||||
if(($groupslist = $mysqlcon->query("SELECT * FROM `$dbname`.`groups` ORDER BY `sortid`,`sgidname` ASC")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if($errcnf == 0) {
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('rankup_definition','{$cfg['rankup_definition']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc']." ".sprintf($lang['wisvres'], ' <form class="btn-group" name="restart" action="bot.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-primary" name="restart"><i class="fas fa-sync"></i> '.$lang['wibot7'].'</button></form>');
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
if(!isset($groupslist) || $groupslist == NULL) {
|
||||
$err_msg = '<b>No servergroups found inside the Ranksystem cache!</b><br><br>Please connect the Ranksystem Bot to the TS server. The Ranksystem will download the servergroups when it is connected to the server.<br>Give it a few minutes and reload this page. The dropdown field should contain your groups after.';
|
||||
$err_lvl = 1;
|
||||
}
|
||||
|
||||
if (isset($_POST['update_old']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if(empty($_POST['rankup_definition'])) {
|
||||
$grouparr_old = null;
|
||||
} else {
|
||||
$err_msg .= "<br>".$lang['errgrpid'];
|
||||
}
|
||||
|
||||
if(empty($rankup_definition)) {
|
||||
$cfg['rankup_definition'] = NULL;
|
||||
} else {
|
||||
$grouptimearr = explode(',', $rankup_definition);
|
||||
foreach ($grouptimearr as $entry) {
|
||||
foreach (explode(',', $_POST['rankup_definition']) as $entry) {
|
||||
list($time, $groupid, $keepflag) = explode('=>', $entry);
|
||||
$addnewvalue1[$time] = array("time"=>$time,"group"=>$groupid,"keep"=>$keepflag);
|
||||
$cfg['rankup_definition'] = $addnewvalue1;
|
||||
if($keepflag == NULL) $keepflag = 0;
|
||||
$grouparr_old[$time] = array("time"=>$time,"group"=>$groupid,"keep"=>$keepflag);
|
||||
$cfg['rankup_definition'] = $grouparr_old;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$err_msg = $lang['errukwn'];
|
||||
$err_lvl = 3;
|
||||
}
|
||||
} elseif(isset($_POST['update']) || isset($_POST['update_old'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3($rspathhex);
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
|
||||
<form class="form-horizontal" data-toggle="validator" name="update" method="POST" id="new">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<span><?php echo $lang['stmy0002'],' ',$lang['wihlset']; ?></span>
|
||||
<div class="btn pull-right expertelement">
|
||||
<input id="switchexpert1" class="switch-animate" type="checkbox" data-size="mini" value="switchexpert1" data-label-text="<?php echo $lang['wigrpimp'] ?>" data-off-text="OFF">
|
||||
</div>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-12 pointer" data-toggle="modal" data-target="#wihladm0desc"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="panel-body">
|
||||
<div class="row"> </div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-4">
|
||||
<b><?php echo $lang['wigrpt1'],' (',$lang['wigrptk'],')'; ?></b>
|
||||
</div>
|
||||
<div class="col-sm-5">
|
||||
<b><?php echo $lang['wigrpt2'] ?></b>
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<b><?php echo $lang['wigrpt3'] ?></b>
|
||||
</div>
|
||||
<div class="col-sm-1"></div>
|
||||
</div>
|
||||
<?PHP
|
||||
$rowid = 0;
|
||||
foreach($cfg['rankup_definition'] as $rank) {
|
||||
?>
|
||||
<div class="form-group" name="rankupgroup">
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control rankuptime" name="rankuptime[]" value="<?PHP echo $rank['time']; ?>">
|
||||
</div>
|
||||
<div class="col-sm-5">
|
||||
<select class="selectpicker show-tick form-control" data-live-search="true" name="rankupgroup[]">
|
||||
<?PHP
|
||||
foreach ($groupslist as $groupID => $groupParam) {
|
||||
if ($groupID == $rank['group']) $selected=" selected"; else $selected="";
|
||||
if (isset($groupParam['iconid']) && $groupParam['iconid'] != 0) $iconid=$groupParam['iconid']."."; else $iconid="placeholder.png";
|
||||
if ($groupParam['type'] == 0 || $groupParam['type'] == 2) $disabled=" disabled"; else $disabled="";
|
||||
if ($groupParam['type'] == 0) $grouptype=" [TEMPLATE GROUP]"; else $grouptype="";
|
||||
if ($groupParam['type'] == 2) $grouptype=" [QUERY GROUP]";
|
||||
if ($groupID != 0) {
|
||||
echo '<option data-content="<img src=\'../tsicons/',$iconid,$groupParam['ext'],'\' width=\'16\' height=\'16\'> ',$groupParam['sgidname'],' <span class=\'text-muted small\'>SGID: ',$groupID,$grouptype,'</span>" value="',$groupID,'"',$selected,$disabled,'></option>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<?PHP if ($rank['keep'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="rankupkeep[]" value="',$rowid,'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="rankupkeep[]" value="',$rowid,'">';
|
||||
} ?>
|
||||
</div>
|
||||
<div class="col-sm-1 text-center delete" name="delete"><i class="fas fa-trash" style="margin-top:10px;cursor:pointer;" title="delete line"></i></div>
|
||||
</div>
|
||||
<?PHP
|
||||
$rowid++;
|
||||
}
|
||||
?>
|
||||
<div class="form-group" id="addrankupgroup">
|
||||
<div class="col-sm-9"></div>
|
||||
<div class="col-sm-1 text-center">
|
||||
<span class="d-inline-block" ata-toggle="tooltip" title="Add new line">
|
||||
<button class="btn btn-primary" onclick="addrankupgroup()" style="margin-top: 5px;" type="button"><i class="fas fa-plus"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="col-sm-2"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
|
||||
<form class="form-horizontal hidden" data-toggle="validator" name="update_old" method="POST" id="old">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<span><?php echo $lang['stmy0002'],' ',$lang['wihlset']; ?></span>
|
||||
<div class="btn pull-right">
|
||||
<input id="switchexpert2" class="switch-animate" type="checkbox" checked data-size="mini" value="switchexpert2" data-label-text="<?php echo $lang['wigrpimp'] ?>" data-on-text="ON">
|
||||
</div>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-12" data-toggle="modal" data-target="#wihladm1desc"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="panel-body">
|
||||
<div class="row"> </div>
|
||||
if(isset($groupslist) && $groupslist != NULL) {
|
||||
if(isset($cfg['rankup_definition']) && $cfg['rankup_definition'] != NULL) {
|
||||
foreach($cfg['rankup_definition'] as $time => $value) {
|
||||
if(!isset($groupslist[$value['group']]) && $value['group'] != NULL) {
|
||||
$err_msg .= sprintf($lang['upgrp0001'], $value['group'], $lang['wigrptime']).'<br>';
|
||||
$err_lvl = 3;
|
||||
$errcnf++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($_POST['rankup_definition'] == "") {
|
||||
$err_msg = "Saving of empty defintion prevented.<br><br>Your changes were <b>not</b> be saved!<br><br>You need at least one entry to be able to save the configuration!";
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
if($errcnf == 0) {
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('rankup_definition','{$_POST['rankup_definition']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc']." ".sprintf($lang['wisvres'], ' <form class="btn-group" name="restart" action="bot.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-primary" name="restart"><i class="fas fa-sync"></i> '.$lang['wibot7'].'</button></form>');
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
} else {
|
||||
$err_msg .= "<br>".$lang['errgrpid'];
|
||||
}
|
||||
}
|
||||
|
||||
} elseif (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$rankup_definition = "";
|
||||
if(isset($_POST['rankuptime']) && isset($_POST['rankupgroup'])) {
|
||||
$rankupgroups = [];
|
||||
foreach($_POST['rankuptime'] as $key => $entry) {
|
||||
$servergroupId = isset($_POST["rankupgroup"][$key]) ? $_POST["rankupgroup"][$key] : 0;
|
||||
if(isset($_POST["rankupkeep"]) && in_array($key,$_POST["rankupkeep"])) {
|
||||
$keepflag = 1;
|
||||
} else {
|
||||
$keepflag = 0;
|
||||
}
|
||||
if(empty($entry)) {
|
||||
$entry = 0;
|
||||
}
|
||||
$rankupgroups[] = "$entry=>$servergroupId=>$keepflag";
|
||||
}
|
||||
$rankup_definition = implode(",", $rankupgroups);
|
||||
$grouparr = [];
|
||||
foreach(explode(',', $rankup_definition) as $entry) {
|
||||
list($time, $groupid, $keepflag) = explode('=>', $entry);
|
||||
$grouparr[$groupid] = $time;
|
||||
}
|
||||
|
||||
$err_msg = '';
|
||||
$errcnf = 0;
|
||||
if(isset($groupslist) && $groupslist != NULL) {
|
||||
foreach($grouparr as $groupid => $time) {
|
||||
if((!isset($groupslist[$groupid]) && $groupid != NULL) || $groupid == 0) {
|
||||
$err_msg .= sprintf($lang['upgrp0001'], $groupid, $lang['wigrptime']).'<br>';
|
||||
$err_lvl = 3;
|
||||
$errcnf++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$cfg['rankup_definition'] = $rankup_definition;
|
||||
|
||||
if($errcnf == 0) {
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('rankup_definition','{$cfg['rankup_definition']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc']." ".sprintf($lang['wisvres'], ' <form class="btn-group" name="restart" action="bot.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-primary" name="restart"><i class="fas fa-sync"></i> '.$lang['wibot7'].'</button></form>');
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
} else {
|
||||
$err_msg .= "<br>".$lang['errgrpid'];
|
||||
}
|
||||
|
||||
if(empty($rankup_definition)) {
|
||||
$cfg['rankup_definition'] = NULL;
|
||||
} else {
|
||||
$grouptimearr = explode(',', $rankup_definition);
|
||||
foreach ($grouptimearr as $entry) {
|
||||
list($time, $groupid, $keepflag) = explode('=>', $entry);
|
||||
$addnewvalue1[$time] = array("time"=>$time,"group"=>$groupid,"keep"=>$keepflag);
|
||||
$cfg['rankup_definition'] = $addnewvalue1;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$err_msg = $lang['errukwn'];
|
||||
$err_lvl = 3;
|
||||
}
|
||||
} elseif(isset($_POST['update']) || isset($_POST['update_old'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3();
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
|
||||
<form class="form-horizontal" data-toggle="validator" name="update" method="POST" id="new">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<span><?php echo $lang['stmy0002'],' ',$lang['wihlset']; ?></span>
|
||||
<div class="btn pull-right expertelement">
|
||||
<input id="switchexpert1" class="switch-animate" type="checkbox" data-size="mini" value="switchexpert1" data-label-text="<?php echo $lang['wigrpimp'] ?>" data-off-text="OFF">
|
||||
</div>
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
<div class="form-group required-field-block">
|
||||
<label class="col-sm-2 control-label"><?php echo $lang['wigrptime']; ?></label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control required" data-pattern="^([0-9]{1,9}=>[0-9]{1,9}=>[0-1]{1},)*[0-9]{1,9}=>[0-9]{1,9}=>[0-1]{1}$" data-error="Wrong definition, please look at description for more details. No comma at ending!" rows="15" name="rankup_definition" maxlength="21588" required><?php $implode_definition = ''; foreach ($cfg['rankup_definition'] as $rank) { $implode_definition .= $rank['time']."=>".$rank['group']."=>".$rank['keep'].","; } $implode_definition = substr($implode_definition, 0, -1); echo $implode_definition; ?></textarea>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-12 pointer" data-toggle="modal" data-target="#wihladm0desc"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="panel-body">
|
||||
<div class="row"> </div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-4">
|
||||
<b><?php echo $lang['wigrpt1'],' (',$lang['wigrptk'],')'; ?></b>
|
||||
</div>
|
||||
<div class="col-sm-5">
|
||||
<b><?php echo $lang['wigrpt2'] ?></b>
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<b><?php echo $lang['wigrpt3'] ?></b>
|
||||
</div>
|
||||
<div class="col-sm-1"></div>
|
||||
</div>
|
||||
<?PHP
|
||||
$rowid = 0;
|
||||
foreach($cfg['rankup_definition'] as $rank) {
|
||||
?>
|
||||
<div class="form-group" name="rankupgroup">
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control rankuptime" name="rankuptime[]" value="<?PHP echo $rank['time']; ?>">
|
||||
</div>
|
||||
<div class="col-sm-5">
|
||||
<select class="selectpicker show-tick form-control" data-live-search="true" name="rankupgroup[]">
|
||||
<?PHP
|
||||
foreach ($groupslist as $groupID => $groupParam) {
|
||||
if ($groupID == $rank['group']) $selected=" selected"; else $selected="";
|
||||
if (isset($groupParam['iconid']) && $groupParam['iconid'] != 0) $iconid=$groupParam['iconid']."."; else $iconid="placeholder.png";
|
||||
if ($groupParam['type'] == 0 || $groupParam['type'] == 2) $disabled=" disabled"; else $disabled="";
|
||||
if ($groupParam['type'] == 0) $grouptype=" [TEMPLATE GROUP]"; else $grouptype="";
|
||||
if ($groupParam['type'] == 2) $grouptype=" [QUERY GROUP]";
|
||||
if ($groupID != 0) {
|
||||
echo '<option data-content="<img src=\'../tsicons/',$iconid,$groupParam['ext'],'\' width=\'16\' height=\'16\'> ',$groupParam['sgidname'],' <span class=\'text-muted small\'>SGID: ',$groupID,$grouptype,'</span>" value="',$groupID,'"',$selected,$disabled,'></option>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<?PHP if ($rank['keep'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="rankupkeep[]" value="',$rowid,'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="rankupkeep[]" value="',$rowid,'">';
|
||||
} ?>
|
||||
</div>
|
||||
<div class="col-sm-1 text-center delete" name="delete"><i class="fas fa-trash" style="margin-top:10px;cursor:pointer;" title="delete line"></i></div>
|
||||
</div>
|
||||
<?PHP
|
||||
$rowid++;
|
||||
}
|
||||
?>
|
||||
<div class="form-group" id="addrankupgroup">
|
||||
<div class="col-sm-9"></div>
|
||||
<div class="col-sm-1 text-center">
|
||||
<span class="d-inline-block" ata-toggle="tooltip" title="Add new line">
|
||||
<button class="btn btn-primary" onclick="addrankupgroup()" style="margin-top: 5px;" type="button"><i class="fas fa-plus"></i></button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="col-sm-2"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update_old"><?php echo $lang['wisvconf']; ?></button>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
|
||||
<form class="form-horizontal hidden" data-toggle="validator" name="update_old" method="POST" id="old">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<span><?php echo $lang['stmy0002'],' ',$lang['wihlset']; ?></span>
|
||||
<div class="btn pull-right">
|
||||
<input id="switchexpert2" class="switch-animate" type="checkbox" checked data-size="mini" value="switchexpert2" data-label-text="<?php echo $lang['wigrpimp'] ?>" data-on-text="ON">
|
||||
</div>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-12" data-toggle="modal" data-target="#wihladm1desc"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="panel-body">
|
||||
<div class="row"> </div>
|
||||
</div>
|
||||
|
||||
<div class="form-group required-field-block">
|
||||
<label class="col-sm-2 control-label"><?php echo $lang['wigrptime']; ?></label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control required" data-pattern="^([0-9]{1,9}=>[0-9]{1,9}=>[0-1]{1},)*[0-9]{1,9}=>[0-9]{1,9}=>[0-1]{1}$" data-error="Wrong definition, please look at description for more details. No comma at ending!" rows="15" name="rankup_definition" maxlength="21588" required><?php $implode_definition = ''; foreach ($cfg['rankup_definition'] as $rank) { $implode_definition .= $rank['time']."=>".$rank['group']."=>".$rank['keep'].","; } $implode_definition = substr($implode_definition, 0, -1); echo $implode_definition; ?></textarea>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update_old"><?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wihladm0desc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wigrptime']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wigrptime2desc'],$lang['wigrptime3desc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wihladm0desc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wigrptime']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wigrptime2desc'],$lang['wigrptime3desc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wihladm1desc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wigrptime']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wigrptimedesc'],$lang['wigrptime3desc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$('form[data-toggle="validator"]').validator({
|
||||
custom: {
|
||||
pattern: function ($el) {
|
||||
var pattern = new RegExp($el.data('pattern'));
|
||||
return pattern.test($el.val());
|
||||
<div class="modal fade" id="wihladm1desc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wigrptime']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wigrptimedesc'],$lang['wigrptime3desc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$('form[data-toggle="validator"]').validator({
|
||||
custom: {
|
||||
pattern: function ($el) {
|
||||
var pattern = new RegExp($el.data('pattern'));
|
||||
return pattern.test($el.val());
|
||||
}
|
||||
},
|
||||
delay: 100,
|
||||
errors: {
|
||||
pattern: "There should be an error in your value, please check all could be right!"
|
||||
}
|
||||
},
|
||||
delay: 100,
|
||||
errors: {
|
||||
pattern: "There should be an error in your value, please check all could be right!"
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(".rankuptime").TouchSpin({
|
||||
min: 0,
|
||||
max: 999999999,
|
||||
verticalbuttons: true,
|
||||
prefix: 'Sec.:'
|
||||
});
|
||||
function addrankupgroup() {
|
||||
var $clone = $("div[name='rankupgroup']").last().clone();
|
||||
$clone.insertBefore("#addrankupgroup");
|
||||
$clone.find('.bootstrap-select').replaceWith(function() { return $('select', this); });
|
||||
$clone.find('select').selectpicker('val', '');
|
||||
$clone.find('.bootstrap-touchspin').replaceWith(function() { return $('input', this); });;
|
||||
$("input[name='rankuptime[]']").last().TouchSpin({min: 0,max: 999999999,verticalbuttons: true,prefix: 'Sec.:'});
|
||||
$("input[name='rankuptime[]']").last().trigger("touchspin.uponce");
|
||||
$('.delete').removeClass("hidden");
|
||||
};
|
||||
$(document).on("click", ".delete", function(){
|
||||
var $number = $('.delete').length;
|
||||
if($number == 1) {
|
||||
alert('Do not remove the last line! A definition without entries isn\'t valid!');
|
||||
} else if($number == 2) {
|
||||
$(this).parent().remove();
|
||||
$('.delete').addClass("hidden");
|
||||
} else {
|
||||
$(this).parent().remove();
|
||||
}
|
||||
});
|
||||
$(document).ready(function() {
|
||||
var $number = $('.delete').length;
|
||||
if($number == 1) {
|
||||
$('.delete').remove();
|
||||
}
|
||||
});
|
||||
$('#switchexpert1').on('switchChange.bootstrapSwitch', function() {
|
||||
document.getElementById("new").classList.add("hidden");
|
||||
document.getElementById("old").classList.remove("hidden");
|
||||
$('#switchexpert2').bootstrapSwitch('state', true, false);
|
||||
});
|
||||
$('#switchexpert2').on('switchChange.bootstrapSwitch', function() {
|
||||
document.getElementById("new").classList.remove("hidden");
|
||||
document.getElementById("old").classList.add("hidden");
|
||||
$('#switchexpert1').bootstrapSwitch('state', false, false);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
$(".rankuptime").TouchSpin({
|
||||
min: 0,
|
||||
max: 999999999,
|
||||
verticalbuttons: true,
|
||||
prefix: 'Sec.:'
|
||||
});
|
||||
function addrankupgroup() {
|
||||
var $clone = $("div[name='rankupgroup']").last().clone();
|
||||
$clone.insertBefore("#addrankupgroup");
|
||||
$clone.find('.bootstrap-select').replaceWith(function() { return $('select', this); });
|
||||
$clone.find('select').selectpicker('val', '');
|
||||
$clone.find('.bootstrap-touchspin').replaceWith(function() { return $('input', this); });;
|
||||
$("input[name='rankuptime[]']").last().TouchSpin({min: 0,max: 999999999,verticalbuttons: true,prefix: 'Sec.:'});
|
||||
$("input[name='rankuptime[]']").last().trigger("touchspin.uponce");
|
||||
$('.delete').removeClass("hidden");
|
||||
};
|
||||
$(document).on("click", ".delete", function(){
|
||||
var $number = $('.delete').length;
|
||||
if($number == 1) {
|
||||
alert('Do not remove the last line! A definition without entries isn\'t valid!');
|
||||
} else if($number == 2) {
|
||||
$(this).parent().remove();
|
||||
$('.delete').addClass("hidden");
|
||||
} else {
|
||||
$(this).parent().remove();
|
||||
}
|
||||
});
|
||||
$(document).ready(function() {
|
||||
var $number = $('.delete').length;
|
||||
if($number == 1) {
|
||||
$('.delete').remove();
|
||||
}
|
||||
});
|
||||
$('#switchexpert1').on('switchChange.bootstrapSwitch', function() {
|
||||
document.getElementById("new").classList.add("hidden");
|
||||
document.getElementById("old").classList.remove("hidden");
|
||||
$('#switchexpert2').bootstrapSwitch('state', true, false);
|
||||
});
|
||||
$('#switchexpert2').on('switchChange.bootstrapSwitch', function() {
|
||||
document.getElementById("new").classList.remove("hidden");
|
||||
document.getElementById("old").classList.add("hidden");
|
||||
$('#switchexpert1').bootstrapSwitch('state', false, false);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
@@ -1,377 +1,382 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
require_once('_nav.php');
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
try {
|
||||
require_once('_nav.php');
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if (isset($_POST['stats_column_rank_switch'])) $cfg['stats_column_rank_switch'] = 1; else $cfg['stats_column_rank_switch'] = 0;
|
||||
if (isset($_POST['stats_column_client_name_switch'])) $cfg['stats_column_client_name_switch'] = 1; else $cfg['stats_column_client_name_switch'] = 0;
|
||||
if (isset($_POST['stats_column_unique_id_switch'])) $cfg['stats_column_unique_id_switch'] = 1; else $cfg['stats_column_unique_id_switch'] = 0;
|
||||
if (isset($_POST['stats_column_client_db_id_switch'])) $cfg['stats_column_client_db_id_switch'] = 1; else $cfg['stats_column_client_db_id_switch'] = 0;
|
||||
if (isset($_POST['stats_column_last_seen_switch'])) $cfg['stats_column_last_seen_switch'] = 1; else $cfg['stats_column_last_seen_switch'] = 0;
|
||||
if (isset($_POST['stats_column_nation_switch'])) $cfg['stats_column_nation_switch'] = 1; else $cfg['stats_column_nation_switch'] = 0;
|
||||
if (isset($_POST['stats_column_version_switch'])) $cfg['stats_column_version_switch'] = 1; else $cfg['stats_column_version_switch'] = 0;
|
||||
if (isset($_POST['stats_column_platform_switch'])) $cfg['stats_column_platform_switch'] = 1; else $cfg['stats_column_platform_switch'] = 0;
|
||||
if (isset($_POST['stats_column_online_time_switch'])) $cfg['stats_column_online_time_switch'] = 1; else $cfg['stats_column_online_time_switch'] = 0;
|
||||
if (isset($_POST['stats_column_idle_time_switch'])) $cfg['stats_column_idle_time_switch'] = 1; else $cfg['stats_column_idle_time_switch'] = 0;
|
||||
if (isset($_POST['stats_column_active_time_switch'])) $cfg['stats_column_active_time_switch'] = 1; else $cfg['stats_column_active_time_switch'] = 0;
|
||||
if (isset($_POST['stats_column_current_server_group_switch'])) $cfg['stats_column_current_server_group_switch'] = 1; else $cfg['stats_column_current_server_group_switch'] = 0;
|
||||
if (isset($_POST['stats_column_next_rankup_switch'])) $cfg['stats_column_next_rankup_switch'] = 1; else $cfg['stats_column_next_rankup_switch'] = 0;
|
||||
if (isset($_POST['stats_column_next_server_group_switch'])) $cfg['stats_column_next_server_group_switch'] = 1; else $cfg['stats_column_next_server_group_switch'] = 0;
|
||||
if (isset($_POST['stats_column_current_group_since_switch'])) $cfg['stats_column_current_group_since_switch'] = 1; else $cfg['stats_column_current_group_since_switch'] = 0;
|
||||
if (isset($_POST['stats_show_excepted_clients_switch'])) $cfg['stats_show_excepted_clients_switch'] = 1; else $cfg['stats_show_excepted_clients_switch'] = 0;
|
||||
if (isset($_POST['stats_show_clients_in_highest_rank_switch'])) $cfg['stats_show_clients_in_highest_rank_switch'] = 1; else $cfg['stats_show_clients_in_highest_rank_switch'] = 0;
|
||||
$cfg['stats_column_default_order'] = $_POST['stats_column_default_order'];
|
||||
$cfg['stats_column_default_sort'] = $_POST['stats_column_default_sort'];
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('stats_column_rank_switch','{$cfg['stats_column_rank_switch']}'),('stats_column_client_name_switch','{$cfg['stats_column_client_name_switch']}'),('stats_column_unique_id_switch','{$cfg['stats_column_unique_id_switch']}'),('stats_column_client_db_id_switch','{$cfg['stats_column_client_db_id_switch']}'),('stats_column_last_seen_switch','{$cfg['stats_column_last_seen_switch']}'),('stats_column_nation_switch','{$cfg['stats_column_nation_switch']}'),('stats_column_version_switch','{$cfg['stats_column_version_switch']}'),('stats_column_platform_switch','{$cfg['stats_column_platform_switch']}'),('stats_column_online_time_switch','{$cfg['stats_column_online_time_switch']}'),('stats_column_idle_time_switch','{$cfg['stats_column_idle_time_switch']}'),('stats_column_active_time_switch','{$cfg['stats_column_active_time_switch']}'),('stats_column_current_server_group_switch','{$cfg['stats_column_current_server_group_switch']}'),('stats_column_current_group_since_switch','{$cfg['stats_column_current_group_since_switch']}'),('stats_column_next_rankup_switch','{$cfg['stats_column_next_rankup_switch']}'),('stats_column_next_server_group_switch','{$cfg['stats_column_next_server_group_switch']}'),('stats_column_default_order','{$cfg['stats_column_default_order']}'),('stats_column_default_sort','{$cfg['stats_column_default_sort']}'),('stats_show_excepted_clients_switch','{$cfg['stats_show_excepted_clients_switch']}'),('stats_show_clients_in_highest_rank_switch','{$cfg['stats_show_clients_in_highest_rank_switch']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc'];
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3($rspathhex);
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['stnv0029'],' ',$lang['wihlset']; ?>
|
||||
</h1>
|
||||
}
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if (isset($_POST['stats_column_rank_switch'])) $cfg['stats_column_rank_switch'] = 1; else $cfg['stats_column_rank_switch'] = 0;
|
||||
if (isset($_POST['stats_column_client_name_switch'])) $cfg['stats_column_client_name_switch'] = 1; else $cfg['stats_column_client_name_switch'] = 0;
|
||||
if (isset($_POST['stats_column_unique_id_switch'])) $cfg['stats_column_unique_id_switch'] = 1; else $cfg['stats_column_unique_id_switch'] = 0;
|
||||
if (isset($_POST['stats_column_client_db_id_switch'])) $cfg['stats_column_client_db_id_switch'] = 1; else $cfg['stats_column_client_db_id_switch'] = 0;
|
||||
if (isset($_POST['stats_column_last_seen_switch'])) $cfg['stats_column_last_seen_switch'] = 1; else $cfg['stats_column_last_seen_switch'] = 0;
|
||||
if (isset($_POST['stats_column_nation_switch'])) $cfg['stats_column_nation_switch'] = 1; else $cfg['stats_column_nation_switch'] = 0;
|
||||
if (isset($_POST['stats_column_version_switch'])) $cfg['stats_column_version_switch'] = 1; else $cfg['stats_column_version_switch'] = 0;
|
||||
if (isset($_POST['stats_column_platform_switch'])) $cfg['stats_column_platform_switch'] = 1; else $cfg['stats_column_platform_switch'] = 0;
|
||||
if (isset($_POST['stats_column_online_time_switch'])) $cfg['stats_column_online_time_switch'] = 1; else $cfg['stats_column_online_time_switch'] = 0;
|
||||
if (isset($_POST['stats_column_idle_time_switch'])) $cfg['stats_column_idle_time_switch'] = 1; else $cfg['stats_column_idle_time_switch'] = 0;
|
||||
if (isset($_POST['stats_column_active_time_switch'])) $cfg['stats_column_active_time_switch'] = 1; else $cfg['stats_column_active_time_switch'] = 0;
|
||||
if (isset($_POST['stats_column_current_server_group_switch'])) $cfg['stats_column_current_server_group_switch'] = 1; else $cfg['stats_column_current_server_group_switch'] = 0;
|
||||
if (isset($_POST['stats_column_next_rankup_switch'])) $cfg['stats_column_next_rankup_switch'] = 1; else $cfg['stats_column_next_rankup_switch'] = 0;
|
||||
if (isset($_POST['stats_column_next_server_group_switch'])) $cfg['stats_column_next_server_group_switch'] = 1; else $cfg['stats_column_next_server_group_switch'] = 0;
|
||||
if (isset($_POST['stats_column_current_group_since_switch'])) $cfg['stats_column_current_group_since_switch'] = 1; else $cfg['stats_column_current_group_since_switch'] = 0;
|
||||
if (isset($_POST['stats_show_excepted_clients_switch'])) $cfg['stats_show_excepted_clients_switch'] = 1; else $cfg['stats_show_excepted_clients_switch'] = 0;
|
||||
if (isset($_POST['stats_show_clients_in_highest_rank_switch'])) $cfg['stats_show_clients_in_highest_rank_switch'] = 1; else $cfg['stats_show_clients_in_highest_rank_switch'] = 0;
|
||||
$cfg['stats_column_default_order'] = $_POST['stats_column_default_order'];
|
||||
$cfg['stats_column_default_sort'] = $_POST['stats_column_default_sort'];
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('stats_column_rank_switch','{$cfg['stats_column_rank_switch']}'),('stats_column_client_name_switch','{$cfg['stats_column_client_name_switch']}'),('stats_column_unique_id_switch','{$cfg['stats_column_unique_id_switch']}'),('stats_column_client_db_id_switch','{$cfg['stats_column_client_db_id_switch']}'),('stats_column_last_seen_switch','{$cfg['stats_column_last_seen_switch']}'),('stats_column_nation_switch','{$cfg['stats_column_nation_switch']}'),('stats_column_version_switch','{$cfg['stats_column_version_switch']}'),('stats_column_platform_switch','{$cfg['stats_column_platform_switch']}'),('stats_column_online_time_switch','{$cfg['stats_column_online_time_switch']}'),('stats_column_idle_time_switch','{$cfg['stats_column_idle_time_switch']}'),('stats_column_active_time_switch','{$cfg['stats_column_active_time_switch']}'),('stats_column_current_server_group_switch','{$cfg['stats_column_current_server_group_switch']}'),('stats_column_current_group_since_switch','{$cfg['stats_column_current_group_since_switch']}'),('stats_column_next_rankup_switch','{$cfg['stats_column_next_rankup_switch']}'),('stats_column_next_server_group_switch','{$cfg['stats_column_next_server_group_switch']}'),('stats_column_default_order','{$cfg['stats_column_default_order']}'),('stats_column_default_sort','{$cfg['stats_column_default_sort']}'),('stats_show_excepted_clients_switch','{$cfg['stats_show_excepted_clients_switch']}'),('stats_show_clients_in_highest_rank_switch','{$cfg['stats_show_clients_in_highest_rank_switch']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc'];
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3();
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['stnv0029'],' ',$lang['wihlset']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<form class="form-horizontal" name="update" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listrank']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_rank_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_rank_switch" value="',$cfg['stats_column_rank_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_rank_switch" value="',$cfg['stats_column_rank_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listnick']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_client_name_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_client_name_switch" value="',$cfg['stats_column_client_name_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_client_name_switch" value="',$cfg['stats_column_client_name_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listuid']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_unique_id_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_unique_id_switch" value="',$cfg['stats_column_unique_id_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_unique_id_switch" value="',$cfg['stats_column_unique_id_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listcldbid']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_client_db_id_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_client_db_id_switch" value="',$cfg['stats_column_client_db_id_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_client_db_id_switch" value="',$cfg['stats_column_client_db_id_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listseen']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_last_seen_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_last_seen_switch" value="',$cfg['stats_column_last_seen_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_last_seen_switch" value="',$cfg['stats_column_last_seen_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listnat']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_nation_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_nation_switch" value="',$cfg['stats_column_nation_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_nation_switch" value="',$cfg['stats_column_nation_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listver']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_version_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_version_switch" value="',$cfg['stats_column_version_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_version_switch" value="',$cfg['stats_column_version_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listpla']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_platform_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_platform_switch" value="',$cfg['stats_column_platform_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_platform_switch" value="',$cfg['stats_column_platform_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listsumo']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_online_time_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_online_time_switch" value="',$cfg['stats_column_online_time_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_online_time_switch" value="',$cfg['stats_column_online_time_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listsumi']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_idle_time_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_idle_time_switch" value="',$cfg['stats_column_idle_time_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_idle_time_switch" value="',$cfg['stats_column_idle_time_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listsuma']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_active_time_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_active_time_switch" value="',$cfg['stats_column_active_time_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_active_time_switch" value="',$cfg['stats_column_active_time_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listacsg']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_current_server_group_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_current_server_group_switch" value="',$cfg['stats_column_current_server_group_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_current_server_group_switch" value="',$cfg['stats_column_current_server_group_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listgrps']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_current_group_since_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_current_group_since_switch" value="',$cfg['stats_column_current_group_since_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_current_group_since_switch" value="',$cfg['stats_column_current_group_since_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listnxup']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_next_rankup_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_next_rankup_switch" value="',$cfg['stats_column_next_rankup_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_next_rankup_switch" value="',$cfg['stats_column_next_rankup_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listnxsg']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_next_server_group_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_next_server_group_switch" value="',$cfg['stats_column_next_server_group_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_next_server_group_switch" value="',$cfg['stats_column_next_server_group_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishdefdesc"><?php echo $lang['wishdef']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control basic" name="stats_column_default_sort">
|
||||
<?PHP
|
||||
echo '<option data-icon="fas fa-hashtag" data-subtext="[default]" value="rank"'.($cfg['stats_column_default_sort'] === '1' ? ' selected="selected"' : '').'> '.$lang['listrank'].'</option>';
|
||||
echo '<option data-icon="fas fa-user" value="name"'.($cfg['stats_column_default_sort'] === 'name' ? ' selected="selected"' : '').'> '.$lang['listnick'].'</option>';
|
||||
echo '<option data-icon="fas fa-id-card" value="uuid"'.($cfg['stats_column_default_sort'] === 'uuid' ? ' selected="selected"' : '').'> '.$lang['listuid'].'</option>';
|
||||
echo '<option data-icon="fas fa-database" value="cldbid"'.($cfg['stats_column_default_sort'] === 'cldbid' ? ' selected="selected"' : '').'> '.$lang['listcldbid'].'</option>';
|
||||
echo '<option data-icon="fas fa-user-clock" value="lastseen"'.($cfg['stats_column_default_sort'] === 'lastseen' ? ' selected="selected"' : '').'> '.$lang['listseen'].'</option>';
|
||||
echo '<option data-icon="fas fa-globe-europe" value="nation"'.($cfg['stats_column_default_sort'] === 'nation' ? ' selected="selected"' : '').'> '.$lang['listnat'].'</option>';
|
||||
echo '<option data-icon="fas fa-tag" value="version"'.($cfg['stats_column_default_sort'] === 'version' ? ' selected="selected"' : '').'> '.$lang['listver'].'</option>';
|
||||
echo '<option data-icon="fas fa-server" value="platform"'.($cfg['stats_column_default_sort'] === 'platform' ? ' selected="selected"' : '').'> '.$lang['listpla'].'</option>';
|
||||
echo '<option data-icon="fas fa-hourglass-start" value="count"'.($cfg['stats_column_default_sort'] === 'count' ? ' selected="selected"' : '').'> '.$lang['listsumo'].'</option>';
|
||||
echo '<option data-icon="fas fa-hourglass-end" value="idle"'.($cfg['stats_column_default_sort'] === 'idle' ? ' selected="selected"' : '').'> '.$lang['listsumi'].'</option>';
|
||||
echo '<option data-icon="fas fa-hourglass-half" value="active"'.($cfg['stats_column_default_sort'] === 'active' ? ' selected="selected"' : '').'> '.$lang['listsuma'].'</option>';
|
||||
echo '<option data-icon="fas fa-clipboard-check" value="grpid"'.($cfg['stats_column_default_sort'] === 'grpid' ? ' selected="selected"' : '').'> '.$lang['listacsg'].'</option>';
|
||||
echo '<option data-icon="fas fa-history" value="grpidsince"'.($cfg['stats_column_default_sort'] === 'grpidsince' ? ' selected="selected"' : '').'> '.$lang['listgrps'].'</option>';
|
||||
echo '<option data-icon="fas fa-clock" value="nextup"'.($cfg['stats_column_default_sort'] === 'nextup' ? ' selected="selected"' : '').'> '.$lang['listnxup'].'</option>';
|
||||
echo '<option data-icon="fas fa-clipboard-list" value="active"'.($cfg['stats_column_default_sort'] === 'active' ? ' selected="selected"' : '').'> '.$lang['listnxsg'].'</option>';
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishsortdesc"><?php echo $lang['wishsort']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control basic" name="stats_column_default_order">
|
||||
<?PHP
|
||||
echo '<option data-subtext="[ASC]" data-icon="fas fa-sort-asc" value="asc"'.($cfg['stats_column_default_order'] === 'asc' ? ' selected="selected"' : '').'> '.$lang['asc'].'</option>';
|
||||
echo '<option data-subtext="[DESC]" data-icon="fas fa-sort-desc" value="desc"'.($cfg['stats_column_default_order'] === 'desc' ? ' selected="selected"' : '').'> '.$lang['desc'].'</option>';
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body expertelement">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishexclddesc"><?php echo $lang['wishexcld']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_show_excepted_clients_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_show_excepted_clients_switch" value="',$cfg['stats_show_excepted_clients_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_show_excepted_clients_switch" value="',$cfg['stats_show_excepted_clients_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishhiclddesc"><?php echo $lang['wishhicld']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_show_clients_in_highest_rank_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_show_clients_in_highest_rank_switch" value="',$cfg['stats_show_clients_in_highest_rank_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_show_clients_in_highest_rank_switch" value="',$cfg['stats_show_clients_in_highest_rank_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
</div>
|
||||
<form class="form-horizontal" name="update" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listrank']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_rank_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_rank_switch" value="',$cfg['stats_column_rank_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_rank_switch" value="',$cfg['stats_column_rank_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listnick']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_client_name_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_client_name_switch" value="',$cfg['stats_column_client_name_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_client_name_switch" value="',$cfg['stats_column_client_name_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listuid']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_unique_id_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_unique_id_switch" value="',$cfg['stats_column_unique_id_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_unique_id_switch" value="',$cfg['stats_column_unique_id_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listcldbid']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_client_db_id_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_client_db_id_switch" value="',$cfg['stats_column_client_db_id_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_client_db_id_switch" value="',$cfg['stats_column_client_db_id_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listseen']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_last_seen_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_last_seen_switch" value="',$cfg['stats_column_last_seen_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_last_seen_switch" value="',$cfg['stats_column_last_seen_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listnat']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_nation_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_nation_switch" value="',$cfg['stats_column_nation_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_nation_switch" value="',$cfg['stats_column_nation_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listver']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_version_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_version_switch" value="',$cfg['stats_column_version_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_version_switch" value="',$cfg['stats_column_version_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listpla']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_platform_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_platform_switch" value="',$cfg['stats_column_platform_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_platform_switch" value="',$cfg['stats_column_platform_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listsumo']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_online_time_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_online_time_switch" value="',$cfg['stats_column_online_time_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_online_time_switch" value="',$cfg['stats_column_online_time_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listsumi']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_idle_time_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_idle_time_switch" value="',$cfg['stats_column_idle_time_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_idle_time_switch" value="',$cfg['stats_column_idle_time_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listsuma']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_active_time_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_active_time_switch" value="',$cfg['stats_column_active_time_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_active_time_switch" value="',$cfg['stats_column_active_time_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listacsg']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_current_server_group_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_current_server_group_switch" value="',$cfg['stats_column_current_server_group_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_current_server_group_switch" value="',$cfg['stats_column_current_server_group_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listgrps']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_current_group_since_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_current_group_since_switch" value="',$cfg['stats_column_current_group_since_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_current_group_since_switch" value="',$cfg['stats_column_current_group_since_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listnxup']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_next_rankup_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_next_rankup_switch" value="',$cfg['stats_column_next_rankup_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_next_rankup_switch" value="',$cfg['stats_column_next_rankup_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishcoldesc"><?php echo $lang['listnxsg']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_column_next_server_group_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_column_next_server_group_switch" value="',$cfg['stats_column_next_server_group_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_column_next_server_group_switch" value="',$cfg['stats_column_next_server_group_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishdefdesc"><?php echo $lang['wishdef']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control basic" name="stats_column_default_sort">
|
||||
<?PHP
|
||||
echo '<option data-icon="fas fa-hashtag" data-subtext="[default]" value="rank"'.($cfg['stats_column_default_sort'] === '1' ? ' selected="selected"' : '').'> '.$lang['listrank'].'</option>';
|
||||
echo '<option data-icon="fas fa-user" value="name"'.($cfg['stats_column_default_sort'] === 'name' ? ' selected="selected"' : '').'> '.$lang['listnick'].'</option>';
|
||||
echo '<option data-icon="fas fa-id-card" value="uuid"'.($cfg['stats_column_default_sort'] === 'uuid' ? ' selected="selected"' : '').'> '.$lang['listuid'].'</option>';
|
||||
echo '<option data-icon="fas fa-database" value="cldbid"'.($cfg['stats_column_default_sort'] === 'cldbid' ? ' selected="selected"' : '').'> '.$lang['listcldbid'].'</option>';
|
||||
echo '<option data-icon="fas fa-user-clock" value="lastseen"'.($cfg['stats_column_default_sort'] === 'lastseen' ? ' selected="selected"' : '').'> '.$lang['listseen'].'</option>';
|
||||
echo '<option data-icon="fas fa-globe-europe" value="nation"'.($cfg['stats_column_default_sort'] === 'nation' ? ' selected="selected"' : '').'> '.$lang['listnat'].'</option>';
|
||||
echo '<option data-icon="fas fa-tag" value="version"'.($cfg['stats_column_default_sort'] === 'version' ? ' selected="selected"' : '').'> '.$lang['listver'].'</option>';
|
||||
echo '<option data-icon="fas fa-server" value="platform"'.($cfg['stats_column_default_sort'] === 'platform' ? ' selected="selected"' : '').'> '.$lang['listpla'].'</option>';
|
||||
echo '<option data-icon="fas fa-hourglass-start" value="count"'.($cfg['stats_column_default_sort'] === 'count' ? ' selected="selected"' : '').'> '.$lang['listsumo'].'</option>';
|
||||
echo '<option data-icon="fas fa-hourglass-end" value="idle"'.($cfg['stats_column_default_sort'] === 'idle' ? ' selected="selected"' : '').'> '.$lang['listsumi'].'</option>';
|
||||
echo '<option data-icon="fas fa-hourglass-half" value="active"'.($cfg['stats_column_default_sort'] === 'active' ? ' selected="selected"' : '').'> '.$lang['listsuma'].'</option>';
|
||||
echo '<option data-icon="fas fa-clipboard-check" value="grpid"'.($cfg['stats_column_default_sort'] === 'grpid' ? ' selected="selected"' : '').'> '.$lang['listacsg'].'</option>';
|
||||
echo '<option data-icon="fas fa-history" value="grpidsince"'.($cfg['stats_column_default_sort'] === 'grpidsince' ? ' selected="selected"' : '').'> '.$lang['listgrps'].'</option>';
|
||||
echo '<option data-icon="fas fa-clock" value="nextup"'.($cfg['stats_column_default_sort'] === 'nextup' ? ' selected="selected"' : '').'> '.$lang['listnxup'].'</option>';
|
||||
echo '<option data-icon="fas fa-clipboard-list" value="active"'.($cfg['stats_column_default_sort'] === 'active' ? ' selected="selected"' : '').'> '.$lang['listnxsg'].'</option>';
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishsortdesc"><?php echo $lang['wishsort']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control basic" name="stats_column_default_order">
|
||||
<?PHP
|
||||
echo '<option data-subtext="[ASC]" data-icon="fas fa-sort-asc" value="asc"'.($cfg['stats_column_default_order'] === 'asc' ? ' selected="selected"' : '').'> '.$lang['asc'].'</option>';
|
||||
echo '<option data-subtext="[DESC]" data-icon="fas fa-sort-desc" value="desc"'.($cfg['stats_column_default_order'] === 'desc' ? ' selected="selected"' : '').'> '.$lang['desc'].'</option>';
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body expertelement">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishexclddesc"><?php echo $lang['wishexcld']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_show_excepted_clients_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_show_excepted_clients_switch" value="',$cfg['stats_show_excepted_clients_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_show_excepted_clients_switch" value="',$cfg['stats_show_excepted_clients_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishhiclddesc"><?php echo $lang['wishhicld']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_show_clients_in_highest_rank_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_show_clients_in_highest_rank_switch" value="',$cfg['stats_show_clients_in_highest_rank_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_show_clients_in_highest_rank_switch" value="',$cfg['stats_show_clients_in_highest_rank_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wishcoldesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wishcol']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wishcoldesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wishcoldesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wishcol']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wishcoldesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wishdefdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wishdef']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wishdefdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wishsortdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wishsort']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wishsortdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wishexclddesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wishexcld']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wishexclddesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wishhiclddesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wishhicld']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wishhiclddesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<div class="modal fade" id="wishdefdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wishdef']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wishdefdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wishsortdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wishsort']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wishsortdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wishexclddesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wishexcld']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wishexclddesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wishhiclddesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wishhicld']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wishhiclddesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
@@ -1,378 +1,383 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
require_once('_nav.php');
|
||||
|
||||
if ($mysqlcon->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;
|
||||
}
|
||||
try {
|
||||
require_once('_nav.php');
|
||||
|
||||
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(($job_check = $mysqlcon->query("SELECT * FROM `$dbname`.`job_check`")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
}
|
||||
|
||||
function reset_status($lang, $job_check, $check = NULL) {
|
||||
$err_msg = "<b>".$lang['wihladm31']."</b>: ";
|
||||
|
||||
switch([$job_check['reset_user_time']['timestamp'],$job_check['reset_user_delete']['timestamp']]) {
|
||||
case [0,1]:
|
||||
if($check == 1) {
|
||||
$err_msg .= $lang['wihladmrs16']." (".$lang['wisupidle'].": ".$lang['wihladm312'].")<br>"; break;
|
||||
} else {
|
||||
$err_msg .= $lang['wihladmrs1']." (".$lang['wisupidle'].": ".$lang['wihladm312'].")<br>"; break;
|
||||
}
|
||||
case [0,2]:
|
||||
$err_msg .= "<span class=\"alert-info\">".$lang['wihladmrs2']."</span> (".$lang['wisupidle'].": ".$lang['wihladm312'].")<br>"; break;
|
||||
case [0,3]:
|
||||
$err_msg .= "<span class=\"alert-danger\">".$lang['wihladmrs3']."</span> (".$lang['wisupidle'].": ".$lang['wihladm312'].")<br>"; break;
|
||||
case [0,4]:
|
||||
$err_msg .= "<span class=\"alert-success\">".$lang['wihladmrs4']."</span> (".$lang['wisupidle'].": ".$lang['wihladm312'].")<br>"; break;
|
||||
case [1,0]:
|
||||
if($check == 1) {
|
||||
$err_msg .= $lang['wihladmrs16']." (".$lang['wisupidle'].": ".$lang['wihladm311'].")<br>"; break;
|
||||
} else {
|
||||
$err_msg .= $lang['wihladmrs1']." (".$lang['wisupidle'].": ".$lang['wihladm311'].")<br>"; break;
|
||||
}
|
||||
case [2,0]:
|
||||
$err_msg .= "<span class=\"alert-info\">".$lang['wihladmrs2']."</span> (".$lang['wisupidle'].": ".$lang['wihladm311'].")<br>"; break;
|
||||
case [3,0]:
|
||||
$err_msg .= "<span class=\"alert-danger\">".$lang['wihladmrs3']."</span> (".$lang['wisupidle'].": ".$lang['wihladm311'].")<br>"; break;
|
||||
case [4,0]:
|
||||
$err_msg .= "<span class=\"alert-success\">".$lang['wihladmrs4']."</span> (".$lang['wisupidle'].": ".$lang['wihladm311'].")<br>"; break;
|
||||
default:
|
||||
$err_msg .= "<span class=\"alert-secondary\"><i>".$lang['wihladmrs0']."</i></span><br>";
|
||||
if ($mysqlcon->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;
|
||||
}
|
||||
|
||||
$err_msg .= "<b>".$lang['wihladm32']."</b>: ";
|
||||
switch($job_check['reset_group_withdraw']['timestamp']) {
|
||||
case 1:
|
||||
if($check == 1) {
|
||||
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(($job_check = $mysqlcon->query("SELECT * FROM `$dbname`.`job_check`")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
}
|
||||
|
||||
function reset_status($lang, $job_check, $check = NULL) {
|
||||
$err_msg = "<b>".$lang['wihladm31']."</b>: ";
|
||||
|
||||
switch([$job_check['reset_user_time']['timestamp'],$job_check['reset_user_delete']['timestamp']]) {
|
||||
case [0,1]:
|
||||
if($check == 1) {
|
||||
$err_msg .= $lang['wihladmrs16']." (".$lang['wisupidle'].": ".$lang['wihladm312'].")<br>"; break;
|
||||
} else {
|
||||
$err_msg .= $lang['wihladmrs1']." (".$lang['wisupidle'].": ".$lang['wihladm312'].")<br>"; break;
|
||||
}
|
||||
case [0,2]:
|
||||
$err_msg .= "<span class=\"alert-info\">".$lang['wihladmrs2']."</span> (".$lang['wisupidle'].": ".$lang['wihladm312'].")<br>"; break;
|
||||
case [0,3]:
|
||||
$err_msg .= "<span class=\"alert-danger\">".$lang['wihladmrs3']."</span> (".$lang['wisupidle'].": ".$lang['wihladm312'].")<br>"; break;
|
||||
case [0,4]:
|
||||
$err_msg .= "<span class=\"alert-success\">".$lang['wihladmrs4']."</span> (".$lang['wisupidle'].": ".$lang['wihladm312'].")<br>"; break;
|
||||
case [1,0]:
|
||||
if($check == 1) {
|
||||
$err_msg .= $lang['wihladmrs16']." (".$lang['wisupidle'].": ".$lang['wihladm311'].")<br>"; break;
|
||||
} else {
|
||||
$err_msg .= $lang['wihladmrs1']." (".$lang['wisupidle'].": ".$lang['wihladm311'].")<br>"; break;
|
||||
}
|
||||
case [2,0]:
|
||||
$err_msg .= "<span class=\"alert-info\">".$lang['wihladmrs2']."</span> (".$lang['wisupidle'].": ".$lang['wihladm311'].")<br>"; break;
|
||||
case [3,0]:
|
||||
$err_msg .= "<span class=\"alert-danger\">".$lang['wihladmrs3']."</span> (".$lang['wisupidle'].": ".$lang['wihladm311'].")<br>"; break;
|
||||
case [4,0]:
|
||||
$err_msg .= "<span class=\"alert-success\">".$lang['wihladmrs4']."</span> (".$lang['wisupidle'].": ".$lang['wihladm311'].")<br>"; break;
|
||||
default:
|
||||
$err_msg .= "<span class=\"alert-secondary\"><i>".$lang['wihladmrs0']."</i></span><br>";
|
||||
}
|
||||
|
||||
$err_msg .= "<b>".$lang['wihladm32']."</b>: ";
|
||||
switch($job_check['reset_group_withdraw']['timestamp']) {
|
||||
case 1:
|
||||
if($check == 1) {
|
||||
$err_msg .= $lang['wihladmrs16']."<br>"; break;
|
||||
} else {
|
||||
$err_msg .= $lang['wihladmrs1']."<br>"; break;
|
||||
}
|
||||
case 2:
|
||||
$err_msg .= "<span class=\"alert-info\">".$lang['wihladmrs2']."</span><br>"; break;
|
||||
case 3:
|
||||
$err_msg .= "<span class=\"alert-danger\">".$lang['wihladmrs3']."</span><br>"; break;
|
||||
case 4:
|
||||
$err_msg .= "<span class=\"alert-success\">".$lang['wihladmrs4']."</span><br>"; break;
|
||||
default:
|
||||
$err_msg .= "<span class=\"alert-secondary\"><i>".$lang['wihladmrs0']."</i></span><br>";
|
||||
}
|
||||
|
||||
$err_msg .= "<b>".$lang['wihladm33']."</b>: ";
|
||||
switch($job_check['reset_webspace_cache']['timestamp']) {
|
||||
case 1:
|
||||
if($check == 1) {
|
||||
$err_msg .= $lang['wihladmrs16']."<br>"; break;
|
||||
} else {
|
||||
$err_msg .= $lang['wihladmrs1']."<br>"; break;
|
||||
}
|
||||
case 2:
|
||||
$err_msg .= "<span class=\"alert-info\">".$lang['wihladmrs2']."</span><br>"; break;
|
||||
case 3:
|
||||
$err_msg .= "<span class=\"alert-danger\">".$lang['wihladmrs3']."</span><br>"; break;
|
||||
case 4:
|
||||
$err_msg .= "<span class=\"alert-success\">".$lang['wihladmrs4']."</span><br>"; break;
|
||||
default:
|
||||
$err_msg .= "<span class=\"alert-secondary\"><i>".$lang['wihladmrs0']."</i></span><br>";
|
||||
}
|
||||
|
||||
$err_msg .= "<b>".$lang['wihladm34']."</b>: ";
|
||||
switch($job_check['reset_usage_graph']['timestamp']) {
|
||||
case 1:
|
||||
if($check == 1) {
|
||||
$err_msg .= $lang['wihladmrs16']."<br>"; break;
|
||||
} else {
|
||||
$err_msg .= $lang['wihladmrs1']."<br>"; break;
|
||||
}
|
||||
case 2:
|
||||
$err_msg .= "<span class=\"alert-info\">".$lang['wihladmrs2']."</span><br>"; break;
|
||||
case 3:
|
||||
$err_msg .= "<span class=\"alert-danger\">".$lang['wihladmrs3']."</span><br>"; break;
|
||||
case 4:
|
||||
$err_msg .= "<span class=\"alert-success\">".$lang['wihladmrs4']."</span><br>"; break;
|
||||
default:
|
||||
$err_msg .= "<span class=\"alert-secondary\"><i>".$lang['wihladmrs0']."</i></span><br>";
|
||||
}
|
||||
|
||||
$err_msg .= "<br><br><b>".$lang['wihladm36']."</b>: ";
|
||||
switch($job_check['reset_stop_after']['timestamp']) {
|
||||
case 1:
|
||||
$err_msg .= $lang['wihladmrs16']."<br>"; break;
|
||||
default:
|
||||
$err_msg .= "<span class=\"alert-secondary\"><i>".$lang['wihladmrs0']."</i></span><br>";
|
||||
}
|
||||
|
||||
return $err_msg;
|
||||
}
|
||||
|
||||
|
||||
if($job_check['reset_user_time']['timestamp'] != 0 || $job_check['reset_user_delete']['timestamp'] != 0 || $job_check['reset_group_withdraw']['timestamp'] != 0 || $job_check['reset_webspace_cache']['timestamp'] != 0 || $job_check['reset_usage_graph']['timestamp'] != 0) {
|
||||
$err_msg = '<b>'.$lang['wihladmrs'].":</b><br><br><pre>"; $err_lvl = 2;
|
||||
$err_msg .= reset_status($lang, $job_check);
|
||||
|
||||
if(in_array($job_check['reset_user_time']['timestamp'], ["0","4"], true) && in_array($job_check['reset_user_delete']['timestamp'], ["0","4"], true) && in_array($job_check['reset_group_withdraw']['timestamp'], ["0","4"], true) && in_array($job_check['reset_webspace_cache']['timestamp'], ["0","4"], true) && in_array($job_check['reset_usage_graph']['timestamp'], ["0","4"], true)) {
|
||||
$err_msg .= '</pre><br><br><br>'.sprintf($lang['wihladmrs9'], '<form class="btn-group" name="confirm" action="reset.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-success btn-sm" name="confirm"><i class="fas fa-check"></i> ', '</button></form>');
|
||||
} else {
|
||||
$err_msg .= '</pre><br>'.sprintf($lang['wihladmrs7'], '<form class="btn-group" name="refresh" action="reset.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-primary btn-sm" name="refresh"><i class="fas fa-sync"></i> ', '</button></form>').'<br><br>'.$lang['wihladmrs8'];
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($_POST['confirm']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if(in_array($job_check['reset_user_time']['timestamp'], ["0","4"], true) && in_array($job_check['reset_user_delete']['timestamp'], ["0","4"], true) && in_array($job_check['reset_group_withdraw']['timestamp'], ["0","4"], true) && in_array($job_check['reset_webspace_cache']['timestamp'], ["0","4"], true) && in_array($job_check['reset_usage_graph']['timestamp'], ["0","4"], true)) {
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`job_check` (`job_name`,`timestamp`) VALUES ('reset_user_time','0'),('reset_user_delete','0'),('reset_group_withdraw','0'),('reset_webspace_cache','0'),('reset_usage_graph','0'),('reset_stop_after','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['wihladmrs1']."<br>"; break;
|
||||
$err_msg = $lang['wihladmrs10'];
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
case 2:
|
||||
$err_msg .= "<span class=\"alert-info\">".$lang['wihladmrs2']."</span><br>"; break;
|
||||
case 3:
|
||||
$err_msg .= "<span class=\"alert-danger\">".$lang['wihladmrs3']."</span><br>"; break;
|
||||
case 4:
|
||||
$err_msg .= "<span class=\"alert-success\">".$lang['wihladmrs4']."</span><br>"; break;
|
||||
default:
|
||||
$err_msg .= "<span class=\"alert-secondary\"><i>".$lang['wihladmrs0']."</i></span><br>";
|
||||
}
|
||||
|
||||
$err_msg .= "<b>".$lang['wihladm33']."</b>: ";
|
||||
switch($job_check['reset_webspace_cache']['timestamp']) {
|
||||
case 1:
|
||||
if($check == 1) {
|
||||
$err_msg .= $lang['wihladmrs16']."<br>"; break;
|
||||
} else {
|
||||
$err_msg .= $lang['wihladmrs1']."<br>"; break;
|
||||
} else {
|
||||
$err_msg = $lang['errukwn']; $err_lvl = 3;
|
||||
}
|
||||
} elseif (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if($job_check['reset_user_time']['timestamp'] != 0 || $job_check['reset_user_delete']['timestamp'] != 0 || $job_check['reset_group_withdraw']['timestamp'] != 0 || $job_check['reset_webspace_cache']['timestamp'] != 0 || $job_check['reset_usage_graph']['timestamp'] != 0) {
|
||||
$err_msg = '<b>'.$lang['wihladmrs6'].'</b><br><br>'.sprintf($lang['wihladmrs7'], '<form class="btn-group" name="refresh" action="reset.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-primary btn-sm" name="refresh"><i class="fas fa-sync"></i> ', '</button></form>').'<br><br>'.$lang['wihladmrs8'];
|
||||
$err_lvl = 3;
|
||||
} elseif($_POST['reset_user_time'] == 0 && !isset($_POST['reset_group_withdraw']) && !isset($_POST['reset_webspace_cache']) && !isset($_POST['reset_usage_graph'])) {
|
||||
$err_msg = $lang['wihladmrs15']; $err_lvl = 3;
|
||||
} else {
|
||||
if(($stats_server = $mysqlcon->query("SELECT * FROM `$dbname`.`stats_server`")->fetch()) === false) {
|
||||
$err_msg .= print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
}
|
||||
case 2:
|
||||
$err_msg .= "<span class=\"alert-info\">".$lang['wihladmrs2']."</span><br>"; break;
|
||||
case 3:
|
||||
$err_msg .= "<span class=\"alert-danger\">".$lang['wihladmrs3']."</span><br>"; break;
|
||||
case 4:
|
||||
$err_msg .= "<span class=\"alert-success\">".$lang['wihladmrs4']."</span><br>"; break;
|
||||
default:
|
||||
$err_msg .= "<span class=\"alert-secondary\"><i>".$lang['wihladmrs0']."</i></span><br>";
|
||||
}
|
||||
|
||||
$err_msg .= "<b>".$lang['wihladm34']."</b>: ";
|
||||
switch($job_check['reset_usage_graph']['timestamp']) {
|
||||
case 1:
|
||||
if($check == 1) {
|
||||
$err_msg .= $lang['wihladmrs16']."<br>"; break;
|
||||
} else {
|
||||
$err_msg .= $lang['wihladmrs1']."<br>"; break;
|
||||
if(($groups = $mysqlcon->query("SELECT COUNT(*) AS `count` from `$dbname`.`groups`")->fetch()) === false) {
|
||||
$err_msg .= print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
}
|
||||
case 2:
|
||||
$err_msg .= "<span class=\"alert-info\">".$lang['wihladmrs2']."</span><br>"; break;
|
||||
case 3:
|
||||
$err_msg .= "<span class=\"alert-danger\">".$lang['wihladmrs3']."</span><br>"; break;
|
||||
case 4:
|
||||
$err_msg .= "<span class=\"alert-success\">".$lang['wihladmrs4']."</span><br>"; break;
|
||||
default:
|
||||
$err_msg .= "<span class=\"alert-secondary\"><i>".$lang['wihladmrs0']."</i></span><br>";
|
||||
}
|
||||
|
||||
$err_msg .= "<br><br><b>".$lang['wihladm36']."</b>: ";
|
||||
switch($job_check['reset_stop_after']['timestamp']) {
|
||||
case 1:
|
||||
$err_msg .= $lang['wihladmrs16']."<br>"; break;
|
||||
default:
|
||||
$err_msg .= "<span class=\"alert-secondary\"><i>".$lang['wihladmrs0']."</i></span><br>";
|
||||
}
|
||||
|
||||
return $err_msg;
|
||||
}
|
||||
if (isset($_POST['reset_user_time']) && $_POST['reset_user_time'] == 1) {
|
||||
$job_check['reset_user_time']['timestamp'] = 1;
|
||||
} elseif (isset($_POST['reset_user_time']) && $_POST['reset_user_time'] == 2) {
|
||||
$job_check['reset_user_delete']['timestamp'] = 1;
|
||||
}
|
||||
if (isset($_POST['reset_group_withdraw'])) $_POST['reset_group_withdraw'] = $job_check['reset_group_withdraw']['timestamp'] = 1; else $_POST['reset_group_withdraw'] = $job_check['reset_group_withdraw']['timestamp'] = 0;
|
||||
if (isset($_POST['reset_webspace_cache'])) $_POST['reset_webspace_cache'] = $job_check['reset_webspace_cache']['timestamp'] = 1; else $_POST['reset_webspace_cache'] = $job_check['reset_webspace_cache']['timestamp'] = 0;
|
||||
if (isset($_POST['reset_usage_graph'])) $_POST['reset_usage_graph'] = $job_check['reset_usage_graph']['timestamp'] = 1; else $_POST['reset_usage_graph'] = $job_check['reset_usage_graph']['timestamp'] = 0;
|
||||
if (isset($_POST['reset_stop_after'])) $_POST['reset_stop_after'] = $job_check['reset_stop_after']['timestamp'] = 1; else $_POST['reset_stop_after'] = $job_check['reset_stop_after']['timestamp'] = 0;
|
||||
|
||||
if ($_POST['reset_group_withdraw'] == 0) $delay = 0; else $delay = ($cfg['teamspeak_query_command_delay'] / 1000000) + 0.05;
|
||||
if ($_POST['reset_webspace_cache'] == 0) $cache_needed_time = 0; else $cache_needed_time = $stats_server['total_user'] / 10 * 0.005;
|
||||
$time_to_begin = 5 * $cfg['teamspeak_query_command_delay'] / 1000000;
|
||||
$est_time = round($delay * ($stats_server['total_user'] + $groups['count']) + $time_to_begin + $cache_needed_time);
|
||||
$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.'.<br>'.$lang['wihladmrs12'].'<br><br><pre>';
|
||||
$err_msg .= reset_status($lang, $job_check, $check = 1);
|
||||
$err_msg .= '</pre><br><br><form class="btn-group" name="startjobs" action="reset.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><input type="hidden" name="reset_user_time" value="'.$_POST['reset_user_time'].'"><input type="hidden" name="reset_group_withdraw" value="'.$_POST['reset_group_withdraw'].'"><input type="hidden" name="reset_webspace_cache" value="'.$_POST['reset_webspace_cache'].'"><input type="hidden" name="reset_usage_graph" value="'.$_POST['reset_usage_graph'].'"><input type="hidden" name="reset_stop_after" value="'.$_POST['reset_stop_after'].'"><button type="submit" class="btn btn-success btn-sm" name="startjobs"><i class="fas fa-check"></i> '.$lang['wihladmrs13'].'</button></form> <form class="btn-group" name="cancel" action="reset.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-danger btn-sm" name="cancel"><i class="fas fa-times"></i> '.$lang['wihladmrs14'].'</button></form>';
|
||||
$err_lvl = 1;
|
||||
}
|
||||
} elseif(isset($_POST['startjobs']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if($_POST['reset_user_time'] == 1) {
|
||||
$reset_user_time = 1;
|
||||
$reset_user_delete = 0;
|
||||
} elseif($_POST['reset_user_time'] == 2) {
|
||||
$reset_user_delete = 1;
|
||||
$reset_user_time = 0;
|
||||
} else {
|
||||
$reset_user_time = 0;
|
||||
$reset_user_delete = 0;
|
||||
}
|
||||
|
||||
if($job_check['reset_user_time']['timestamp'] != 0 || $job_check['reset_user_delete']['timestamp'] != 0 || $job_check['reset_group_withdraw']['timestamp'] != 0 || $job_check['reset_webspace_cache']['timestamp'] != 0 || $job_check['reset_usage_graph']['timestamp'] != 0) {
|
||||
$err_msg = '<b>'.$lang['wihladmrs'].":</b><br><br><pre>"; $err_lvl = 2;
|
||||
$err_msg .= reset_status($lang, $job_check);
|
||||
|
||||
if(in_array($job_check['reset_user_time']['timestamp'], ["0","4"], true) && in_array($job_check['reset_user_delete']['timestamp'], ["0","4"], true) && in_array($job_check['reset_group_withdraw']['timestamp'], ["0","4"], true) && in_array($job_check['reset_webspace_cache']['timestamp'], ["0","4"], true) && in_array($job_check['reset_usage_graph']['timestamp'], ["0","4"], true)) {
|
||||
$err_msg .= '</pre><br><br><br>'.sprintf($lang['wihladmrs9'], '<form class="btn-group" name="confirm" action="reset.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-success btn-sm" name="confirm"><i class="fas fa-check"></i> ', '</button></form>');
|
||||
} else {
|
||||
$err_msg .= '</pre><br>'.sprintf($lang['wihladmrs7'], '<form class="btn-group" name="refresh" action="reset.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-primary btn-sm" name="refresh"><i class="fas fa-sync"></i> ', '</button></form>').'<br><br>'.$lang['wihladmrs8'];
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($_POST['confirm']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if(in_array($job_check['reset_user_time']['timestamp'], ["0","4"], true) && in_array($job_check['reset_user_delete']['timestamp'], ["0","4"], true) && in_array($job_check['reset_group_withdraw']['timestamp'], ["0","4"], true) && in_array($job_check['reset_webspace_cache']['timestamp'], ["0","4"], true) && in_array($job_check['reset_usage_graph']['timestamp'], ["0","4"], true)) {
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`job_check` (`job_name`,`timestamp`) VALUES ('reset_user_time','0'),('reset_user_delete','0'),('reset_group_withdraw','0'),('reset_webspace_cache','0'),('reset_usage_graph','0'),('reset_stop_after','0') ON DUPLICATE KEY UPDATE `timestamp`=VALUES(`timestamp`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`job_check` (`job_name`,`timestamp`) VALUES ('reset_user_time','{$reset_user_time}'),('reset_user_delete','{$reset_user_delete}'),('reset_group_withdraw','{$_POST['reset_group_withdraw']}'),('reset_webspace_cache','{$_POST['reset_webspace_cache']}'),('reset_usage_graph','{$_POST['reset_usage_graph']}'),('reset_stop_after','{$_POST['reset_stop_after']}') 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_msg = '<b>'.$lang['wihladmrs5'].'</b><br><br>'.sprintf($lang['wihladmrs7'], '<form class="btn-group" name="refresh" action="reset.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-primary btn-sm" name="refresh"><i class="fas fa-sync"></i> ', '</button></form>').'<br><br>'.$lang['wihladmrs8'];
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
} else {
|
||||
$err_msg = $lang['errukwn']; $err_lvl = 3;
|
||||
} elseif(isset($_POST['update']) || isset($_POST['confirm'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3();
|
||||
exit;
|
||||
}
|
||||
} elseif (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if($job_check['reset_user_time']['timestamp'] != 0 || $job_check['reset_user_delete']['timestamp'] != 0 || $job_check['reset_group_withdraw']['timestamp'] != 0 || $job_check['reset_webspace_cache']['timestamp'] != 0 || $job_check['reset_usage_graph']['timestamp'] != 0) {
|
||||
$err_msg = '<b>'.$lang['wihladmrs6'].'</b><br><br>'.sprintf($lang['wihladmrs7'], '<form class="btn-group" name="refresh" action="reset.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-primary btn-sm" name="refresh"><i class="fas fa-sync"></i> ', '</button></form>').'<br><br>'.$lang['wihladmrs8'];
|
||||
$err_lvl = 3;
|
||||
} elseif($_POST['reset_user_time'] == 0 && !isset($_POST['reset_group_withdraw']) && !isset($_POST['reset_webspace_cache']) && !isset($_POST['reset_usage_graph'])) {
|
||||
$err_msg = $lang['wihladmrs15']; $err_lvl = 3;
|
||||
} else {
|
||||
if(($stats_server = $mysqlcon->query("SELECT * FROM `$dbname`.`stats_server`")->fetch()) === false) {
|
||||
$err_msg .= print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
}
|
||||
if(($groups = $mysqlcon->query("SELECT COUNT(*) AS `count` from `$dbname`.`groups`")->fetch()) === false) {
|
||||
$err_msg .= print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['reset_user_time']) && $_POST['reset_user_time'] == 1) {
|
||||
$job_check['reset_user_time']['timestamp'] = 1;
|
||||
} elseif (isset($_POST['reset_user_time']) && $_POST['reset_user_time'] == 2) {
|
||||
$job_check['reset_user_delete']['timestamp'] = 1;
|
||||
}
|
||||
if (isset($_POST['reset_group_withdraw'])) $_POST['reset_group_withdraw'] = $job_check['reset_group_withdraw']['timestamp'] = 1; else $_POST['reset_group_withdraw'] = $job_check['reset_group_withdraw']['timestamp'] = 0;
|
||||
if (isset($_POST['reset_webspace_cache'])) $_POST['reset_webspace_cache'] = $job_check['reset_webspace_cache']['timestamp'] = 1; else $_POST['reset_webspace_cache'] = $job_check['reset_webspace_cache']['timestamp'] = 0;
|
||||
if (isset($_POST['reset_usage_graph'])) $_POST['reset_usage_graph'] = $job_check['reset_usage_graph']['timestamp'] = 1; else $_POST['reset_usage_graph'] = $job_check['reset_usage_graph']['timestamp'] = 0;
|
||||
if (isset($_POST['reset_stop_after'])) $_POST['reset_stop_after'] = $job_check['reset_stop_after']['timestamp'] = 1; else $_POST['reset_stop_after'] = $job_check['reset_stop_after']['timestamp'] = 0;
|
||||
|
||||
if ($_POST['reset_group_withdraw'] == 0) $delay = 0; else $delay = ($cfg['teamspeak_query_command_delay'] / 1000000) + 0.05;
|
||||
if ($_POST['reset_webspace_cache'] == 0) $cache_needed_time = 0; else $cache_needed_time = $stats_server['total_user'] / 10 * 0.005;
|
||||
$time_to_begin = 5 * $cfg['teamspeak_query_command_delay'] / 1000000;
|
||||
$est_time = round($delay * ($stats_server['total_user'] + $groups['count']) + $time_to_begin + $cache_needed_time);
|
||||
$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.'.<br>'.$lang['wihladmrs12'].'<br><br><pre>';
|
||||
$err_msg .= reset_status($lang, $job_check, $check = 1);
|
||||
$err_msg .= '</pre><br><br><form class="btn-group" name="startjobs" action="reset.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><input type="hidden" name="reset_user_time" value="'.$_POST['reset_user_time'].'"><input type="hidden" name="reset_group_withdraw" value="'.$_POST['reset_group_withdraw'].'"><input type="hidden" name="reset_webspace_cache" value="'.$_POST['reset_webspace_cache'].'"><input type="hidden" name="reset_usage_graph" value="'.$_POST['reset_usage_graph'].'"><input type="hidden" name="reset_stop_after" value="'.$_POST['reset_stop_after'].'"><button type="submit" class="btn btn-success btn-sm" name="startjobs"><i class="fas fa-check"></i> '.$lang['wihladmrs13'].'</button></form> <form class="btn-group" name="cancel" action="reset.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-danger btn-sm" name="cancel"><i class="fas fa-times"></i> '.$lang['wihladmrs14'].'</button></form>';
|
||||
$err_lvl = 1;
|
||||
}
|
||||
} elseif(isset($_POST['startjobs']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if($_POST['reset_user_time'] == 1) {
|
||||
$reset_user_time = 1;
|
||||
$reset_user_delete = 0;
|
||||
} elseif($_POST['reset_user_time'] == 2) {
|
||||
$reset_user_delete = 1;
|
||||
$reset_user_time = 0;
|
||||
} else {
|
||||
$reset_user_time = 0;
|
||||
$reset_user_delete = 0;
|
||||
}
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`job_check` (`job_name`,`timestamp`) VALUES ('reset_user_time','{$reset_user_time}'),('reset_user_delete','{$reset_user_delete}'),('reset_group_withdraw','{$_POST['reset_group_withdraw']}'),('reset_webspace_cache','{$_POST['reset_webspace_cache']}'),('reset_usage_graph','{$_POST['reset_usage_graph']}'),('reset_stop_after','{$_POST['reset_stop_after']}') 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 = '<b>'.$lang['wihladmrs5'].'</b><br><br>'.sprintf($lang['wihladmrs7'], '<form class="btn-group" name="refresh" action="reset.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button type="submit" class="btn btn-primary btn-sm" name="refresh"><i class="fas fa-sync"></i> ', '</button></form>').'<br><br>'.$lang['wihladmrs8'];
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
} elseif(isset($_POST['update']) || isset($_POST['confirm'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3($rspathhex);
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['wihladm3']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<form name="post" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="form-horizontal">
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-12 pointer" data-toggle="modal" data-target="#wihladm0desc"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="panel-body">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['wihladm3']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<form name="post" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="form-horizontal">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-12 pointer" data-toggle="modal" data-target="#wihladm0desc"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="panel-body">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wihladm31desc"><?php echo $lang['wihladm31']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control basic" name="reset_user_time">
|
||||
<option data-icon="fas fa-ban" selected="selected" value="0"> <?PHP echo $lang['winxmode1']; ?></option>
|
||||
<option data-divider="true"> </option>
|
||||
<option data-icon="fas fa-history" value="1"> <?PHP echo $lang['wihladm311']; ?></option>
|
||||
<option data-icon="fas fa-user-slash" value="2"> <?PHP echo $lang['wihladm312']; ?></option>
|
||||
</select>
|
||||
<div class="col-md-3">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wihladm31desc"><?php echo $lang['wihladm31']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control basic" name="reset_user_time">
|
||||
<option data-icon="fas fa-ban" selected="selected" value="0"> <?PHP echo $lang['winxmode1']; ?></option>
|
||||
<option data-divider="true"> </option>
|
||||
<option data-icon="fas fa-history" value="1"> <?PHP echo $lang['wihladm311']; ?></option>
|
||||
<option data-icon="fas fa-user-slash" value="2"> <?PHP echo $lang['wihladm312']; ?></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wihladm32desc"><?php echo $lang['wihladm32']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input class="switch-animate" type="checkbox" data-size="mini" name="reset_group_withdraw" value="0">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wihladm32desc"><?php echo $lang['wihladm32']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input class="switch-animate" type="checkbox" data-size="mini" name="reset_group_withdraw" value="0">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wihladm33desc"><?php echo $lang['wihladm33']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input class="switch-animate" type="checkbox" data-size="mini" name="reset_webspace_cache" value="0">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wihladm33desc"><?php echo $lang['wihladm33']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input class="switch-animate" type="checkbox" data-size="mini" name="reset_webspace_cache" value="0">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wihladm34desc"><?php echo $lang['wihladm34']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input class="switch-animate" type="checkbox" data-size="mini" name="reset_usage_graph" value="0">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wihladm34desc"><?php echo $lang['wihladm34']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input class="switch-animate" type="checkbox" data-size="mini" name="reset_usage_graph" value="0">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wihladm36desc"><?php echo $lang['wihladm36']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input class="switch-animate" type="checkbox" data-size="mini" name="reset_stop_after" value="0">
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wihladm36desc"><?php echo $lang['wihladm36']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input class="switch-animate" type="checkbox" data-size="mini" name="reset_stop_after" value="0">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><?php echo $lang['wihladm35']; ?></button>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><?php echo $lang['wihladm35']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wihladm0desc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wihladm0']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wihladm0desc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wihladm0desc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wihladm0']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wihladm0desc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wihladm31desc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wihladm31']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wihladm31desc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wihladm32desc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wihladm32']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wihladm32desc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wihladm33desc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wihladm33']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wihladm33desc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wihladm34desc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wihladm34']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wihladm34desc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wihladm36desc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wihladm36']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wihladm36desc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<div class="modal fade" id="wihladm31desc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wihladm31']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wihladm31desc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wihladm32desc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wihladm32']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wihladm32desc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wihladm33desc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wihladm33']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wihladm33desc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wihladm34desc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wihladm34']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wihladm34desc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wihladm36desc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wihladm36']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wihladm36desc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
@@ -1,116 +1,119 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
require_once('_nav.php');
|
||||
|
||||
if ($last_access = $mysqlcon->query("SELECT * FROM `$dbname`.`cfg_params` WHERE `param` IN ('webinterface_access_last','webinterface_access_count')")->fetchAll(PDO::FETCH_KEY_PAIR) === false) {
|
||||
$err_msg .= print_r($mysqlcon->errorInfo(), true);
|
||||
}
|
||||
try {
|
||||
require_once('_nav.php');
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
if ($last_access = $mysqlcon->query("SELECT * FROM `$dbname`.`cfg_params` WHERE `param` IN ('webinterface_access_last','webinterface_access_count')")->fetchAll(PDO::FETCH_KEY_PAIR) === false) {
|
||||
$err_msg .= print_r($mysqlcon->errorInfo(), true);
|
||||
}
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if (($last_access['webinterface_access_last'] + 1) >= time()) {
|
||||
$again = $last_access['webinterface_access_last'] + 2 - time();
|
||||
$err_msg = sprintf($lang['errlogin2'],$again);
|
||||
$err_lvl = 3;
|
||||
} elseif (isset($_POST['resetpw']) && isset($db_csrf[$_POST['csrf_token']]) && ($cfg['webinterface_admin_client_unique_id_list']==NULL || count($cfg['webinterface_admin_client_unique_id_list']) == 0)) {
|
||||
$err_msg = sprintf($lang['wirtpw1'], '<a href="https://github.com/Newcomer1989/TSN-Ranksystem/wiki/FAQ#reset-password-webinterface" target="_blank">https://github.com/Newcomer1989/TSN-Ranksystem/wiki/FAQ#reset-password-webinterface</a>'); $err_lvl=3;
|
||||
} elseif (isset($_POST['resetpw']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$nowtime = time();
|
||||
$newcount = $last_access['webinterface_access_count'] + 1;
|
||||
if($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('webinterface_access_last','{$nowtime}'),('webinterface_access_count','{$newcount}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`)") === false) { }
|
||||
|
||||
require_once(substr(__DIR__,0,-12).'libs/ts3_lib/TeamSpeak3.php');
|
||||
try {
|
||||
if($cfg['teamspeak_query_encrypt_switch'] == 1) {
|
||||
$ts3 = TeamSpeak3::factory("serverquery://".rawurlencode($cfg['teamspeak_query_user']).":".rawurlencode($cfg['teamspeak_query_pass'])."@".$cfg['teamspeak_host_address'].":".$cfg['teamspeak_query_port']."/?server_port=".$cfg['teamspeak_voice_port']."&ssh=1");
|
||||
} else {
|
||||
$ts3 = TeamSpeak3::factory("serverquery://".rawurlencode($cfg['teamspeak_query_user']).":".rawurlencode($cfg['teamspeak_query_pass'])."@".$cfg['teamspeak_host_address'].":".$cfg['teamspeak_query_port']."/?server_port=".$cfg['teamspeak_voice_port']."&blocking=0");
|
||||
}
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if (($last_access['webinterface_access_last'] + 1) >= time()) {
|
||||
$again = $last_access['webinterface_access_last'] + 2 - time();
|
||||
$err_msg = sprintf($lang['errlogin2'],$again);
|
||||
$err_lvl = 3;
|
||||
} elseif (isset($_POST['resetpw']) && isset($db_csrf[$_POST['csrf_token']]) && ($cfg['webinterface_admin_client_unique_id_list']==NULL || count($cfg['webinterface_admin_client_unique_id_list']) == 0)) {
|
||||
$err_msg = sprintf($lang['wirtpw1'], '<a href="https://github.com/Newcomer1989/TSN-Ranksystem/wiki/FAQ#reset-password-webinterface" target="_blank">https://github.com/Newcomer1989/TSN-Ranksystem/wiki/FAQ#reset-password-webinterface</a>'); $err_lvl=3;
|
||||
} elseif (isset($_POST['resetpw']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$nowtime = time();
|
||||
$newcount = $last_access['webinterface_access_count'] + 1;
|
||||
if($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('webinterface_access_last','{$nowtime}'),('webinterface_access_count','{$newcount}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`)") === false) { }
|
||||
|
||||
require_once(substr(__DIR__,0,-12).'libs/ts3_lib/TeamSpeak3.php');
|
||||
try {
|
||||
usleep($cfg['teamspeak_query_command_delay']);
|
||||
$ts3->selfUpdate(array('client_nickname' => "Ranksystem - Reset Password"));
|
||||
} catch (Exception $e) { }
|
||||
|
||||
try {
|
||||
usleep($cfg['teamspeak_query_command_delay']);
|
||||
$allclients = $ts3->clientList();
|
||||
if($cfg['teamspeak_query_encrypt_switch'] == 1) {
|
||||
$ts3 = TeamSpeak3::factory("serverquery://".rawurlencode($cfg['teamspeak_query_user']).":".rawurlencode($cfg['teamspeak_query_pass'])."@".$cfg['teamspeak_host_address'].":".$cfg['teamspeak_query_port']."/?server_port=".$cfg['teamspeak_voice_port']."&ssh=1");
|
||||
} else {
|
||||
$ts3 = TeamSpeak3::factory("serverquery://".rawurlencode($cfg['teamspeak_query_user']).":".rawurlencode($cfg['teamspeak_query_pass'])."@".$cfg['teamspeak_host_address'].":".$cfg['teamspeak_query_port']."/?server_port=".$cfg['teamspeak_voice_port']."&blocking=0");
|
||||
}
|
||||
|
||||
try {
|
||||
usleep($cfg['teamspeak_query_command_delay']);
|
||||
$ts3->selfUpdate(array('client_nickname' => "Ranksystem - Reset Password"));
|
||||
} catch (Exception $e) { }
|
||||
|
||||
try {
|
||||
usleep($cfg['teamspeak_query_command_delay']);
|
||||
$allclients = $ts3->clientList();
|
||||
|
||||
$pwd = substr(str_shuffle('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789#*+;:-_~?=%&!()'),0,12);
|
||||
$cfg['webinterface_pass'] = password_hash($pwd, PASSWORD_DEFAULT);
|
||||
$pwd = substr(str_shuffle('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789#*+;:-_~?=%&!()'),0,12);
|
||||
$cfg['webinterface_pass'] = password_hash($pwd, PASSWORD_DEFAULT);
|
||||
|
||||
foreach($allclients as $client) {
|
||||
if(array_key_exists(htmlspecialchars($client['client_unique_identifier'], ENT_QUOTES), $cfg['webinterface_admin_client_unique_id_list'])) {
|
||||
$checkuuid = 1;
|
||||
if($client['connection_client_ip'] == getclientip()) {
|
||||
$checkip = 1;
|
||||
if($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('webinterface_pass','{$cfg['webinterface_pass']}'),('webinterface_access_last','0') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`)") === false) {
|
||||
$err_msg .= $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
} else {
|
||||
try {
|
||||
usleep($cfg['teamspeak_query_command_delay']);
|
||||
$ts3->clientGetByUid($client['client_unique_identifier'])->message(sprintf($lang['wirtpw4'], $cfg['webinterface_user'], $pwd, '[URL=http'.(!empty($_SERVER['HTTPS'])?"s":"").'://'.$_SERVER['SERVER_NAME'].dirname($_SERVER['SCRIPT_NAME']).']','[/URL]'));
|
||||
$err_msg .= sprintf($lang['wirtpw5'],'<a href="http'.(!empty($_SERVER['HTTPS'])?"s":"").'://'.$_SERVER['SERVER_NAME'].dirname($_SERVER['SCRIPT_NAME']).'/">','</a>'); $err_lvl = 1;
|
||||
enter_logfile($cfg,3,sprintf($lang['wirtpw6'],getclientip()));
|
||||
} catch (Exception $e) {
|
||||
$err_msg .= $lang['errorts3'].$e->getCode().': '.$e->getMessage(); $err_lvl = 3;
|
||||
foreach($allclients as $client) {
|
||||
if(array_key_exists(htmlspecialchars($client['client_unique_identifier'], ENT_QUOTES), $cfg['webinterface_admin_client_unique_id_list'])) {
|
||||
$checkuuid = 1;
|
||||
if($client['connection_client_ip'] == getclientip()) {
|
||||
$checkip = 1;
|
||||
if($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('webinterface_pass','{$cfg['webinterface_pass']}'),('webinterface_access_last','0') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`)") === false) {
|
||||
$err_msg .= $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
} else {
|
||||
try {
|
||||
usleep($cfg['teamspeak_query_command_delay']);
|
||||
$ts3->clientGetByUid($client['client_unique_identifier'])->message(sprintf($lang['wirtpw4'], $cfg['webinterface_user'], $pwd, '[URL=http'.(!empty($_SERVER['HTTPS'])?"s":"").'://'.$_SERVER['SERVER_NAME'].dirname($_SERVER['SCRIPT_NAME']).']','[/URL]'));
|
||||
$err_msg .= sprintf($lang['wirtpw5'],'<a href="http'.(!empty($_SERVER['HTTPS'])?"s":"").'://'.$_SERVER['SERVER_NAME'].dirname($_SERVER['SCRIPT_NAME']).'/">','</a>'); $err_lvl = 1;
|
||||
enter_logfile($cfg,3,sprintf($lang['wirtpw6'],getclientip()));
|
||||
} catch (Exception $e) {
|
||||
$err_msg .= $lang['errorts3'].$e->getCode().': '.$e->getMessage(); $err_lvl = 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!isset($checkuuid)) {
|
||||
$err_msg = $lang['wirtpw2']; $err_lvl = 3;
|
||||
} elseif (!isset($checkip)) {
|
||||
$err_msg = $lang['wirtpw3']; $err_lvl = 3;
|
||||
if (!isset($checkuuid)) {
|
||||
$err_msg = $lang['wirtpw2']; $err_lvl = 3;
|
||||
} elseif (!isset($checkip)) {
|
||||
$err_msg = $lang['wirtpw3']; $err_lvl = 3;
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
$err_msg = $lang['errorts3'].$e->getCode().': '.$e->getMessage(); $err_lvl = 3;
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
$err_msg = $lang['errorts3'].$e->getCode().': '.$e->getMessage(); $err_lvl = 3;
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
$err_msg = $lang['errorts3'].$e->getCode().': '.$e->getMessage(); $err_lvl = 3;
|
||||
} elseif(isset($_POST['resetpw'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3();
|
||||
exit;
|
||||
}
|
||||
} elseif(isset($_POST['resetpw'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3($rspathhex);
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div id="login-overlay" class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="myModalLabel"><?PHP echo $lang['wirtpw7'].' - '.$lang['wi']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<form id="resetForm" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<p><?PHP echo $lang['wirtpw8']; ?></p>
|
||||
<p><?PHP echo $lang['wirtpw9']; ?>
|
||||
<ul>
|
||||
<li><?PHP echo $lang['wirtpw10']; ?></li>
|
||||
<li><?PHP echo $lang['wirtpw11']; ?></li>
|
||||
<li><?PHP echo $lang['wirtpw12']; ?></li>
|
||||
</ul>
|
||||
</p>
|
||||
<br>
|
||||
<p>
|
||||
<button type="submit" class="btn btn-success btn-block" name="resetpw"><?PHP echo $lang['wirtpw7']; ?></button>
|
||||
</p>
|
||||
</form>
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div id="login-overlay" class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="myModalLabel"><?PHP echo $lang['wirtpw7'].' - '.$lang['wi']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<form id="resetForm" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<p><?PHP echo $lang['wirtpw8']; ?></p>
|
||||
<p><?PHP echo $lang['wirtpw9']; ?>
|
||||
<ul>
|
||||
<li><?PHP echo $lang['wirtpw10']; ?></li>
|
||||
<li><?PHP echo $lang['wirtpw11']; ?></li>
|
||||
<li><?PHP echo $lang['wirtpw12']; ?></li>
|
||||
</ul>
|
||||
</p>
|
||||
<br>
|
||||
<p>
|
||||
<button type="submit" class="btn btn-success btn-block" name="resetpw"><?PHP echo $lang['wirtpw7']; ?></button>
|
||||
</p>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -118,6 +121,8 @@ if (($last_access['webinterface_access_last'] + 1) >= time()) {
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
</body>
|
||||
</html>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
@@ -1,334 +1,345 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
require_once('_nav.php');
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
try {
|
||||
require_once('_nav.php');
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
if (isset($_POST['stats_show_site_navigation_switch'])) $cfg['stats_show_site_navigation_switch'] = 1; else $cfg['stats_show_site_navigation_switch'] = 0;
|
||||
if (isset($_POST['teamspeak_verification_channel_id'])) $cfg['teamspeak_verification_channel_id'] = $_POST['teamspeak_verification_channel_id']; else $cfg['teamspeak_verification_channel_id'] = 0;
|
||||
$cfg['stats_show_maxclientsline_switch'] = $_POST['stats_show_maxclientsline_switch'];
|
||||
$cfg['stats_time_bronze'] = $_POST['stats_time_bronze'];
|
||||
$cfg['stats_time_silver'] = $_POST['stats_time_silver'];
|
||||
$cfg['stats_time_gold'] = $_POST['stats_time_gold'];
|
||||
$cfg['stats_time_legend'] = $_POST['stats_time_legend'];
|
||||
$cfg['stats_connects_bronze'] = $_POST['stats_connects_bronze'];
|
||||
$cfg['stats_connects_silver'] = $_POST['stats_connects_silver'];
|
||||
$cfg['stats_connects_gold'] = $_POST['stats_connects_gold'];
|
||||
$cfg['stats_connects_legend'] = $_POST['stats_connects_legend'];
|
||||
$cfg['stats_server_news'] = addslashes($_POST['stats_server_news']);
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('stats_show_site_navigation_switch','{$cfg['stats_show_site_navigation_switch']}'),('stats_show_maxclientsline_switch','{$cfg['stats_show_maxclientsline_switch']}'),('stats_time_bronze','{$cfg['stats_time_bronze']}'),('stats_time_silver','{$cfg['stats_time_silver']}'),('stats_time_gold','{$cfg['stats_time_gold']}'),('stats_time_legend','{$cfg['stats_time_legend']}'),('stats_connects_bronze','{$cfg['stats_connects_bronze']}'),('stats_connects_silver','{$cfg['stats_connects_silver']}'),('stats_connects_gold','{$cfg['stats_connects_gold']}'),('stats_connects_legend','{$cfg['stats_connects_legend']}'),('teamspeak_verification_channel_id','{$cfg['teamspeak_verification_channel_id']}'),('stats_server_news','{$cfg['stats_server_news']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc'];
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
$cfg['stats_server_news'] = $_POST['stats_server_news'];
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3($rspathhex);
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['winav6'],' ',$lang['wihlset']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<form class="form-horizontal" name="update" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
}
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$old_nav = $cfg['stats_show_site_navigation_switch'];
|
||||
if (isset($_POST['stats_show_site_navigation_switch'])) $cfg['stats_show_site_navigation_switch'] = 1; else $cfg['stats_show_site_navigation_switch'] = 0;
|
||||
if (isset($_POST['teamspeak_verification_channel_id'])) $cfg['teamspeak_verification_channel_id'] = $_POST['teamspeak_verification_channel_id']; else $cfg['teamspeak_verification_channel_id'] = 0;
|
||||
$cfg['stats_show_maxclientsline_switch'] = $_POST['stats_show_maxclientsline_switch'];
|
||||
$cfg['stats_time_bronze'] = $_POST['stats_time_bronze'];
|
||||
$cfg['stats_time_silver'] = $_POST['stats_time_silver'];
|
||||
$cfg['stats_time_gold'] = $_POST['stats_time_gold'];
|
||||
$cfg['stats_time_legend'] = $_POST['stats_time_legend'];
|
||||
$cfg['stats_connects_bronze'] = $_POST['stats_connects_bronze'];
|
||||
$cfg['stats_connects_silver'] = $_POST['stats_connects_silver'];
|
||||
$cfg['stats_connects_gold'] = $_POST['stats_connects_gold'];
|
||||
$cfg['stats_connects_legend'] = $_POST['stats_connects_legend'];
|
||||
$cfg['stats_server_news'] = addslashes($_POST['stats_server_news']);
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('stats_show_site_navigation_switch','{$cfg['stats_show_site_navigation_switch']}'),('stats_show_maxclientsline_switch','{$cfg['stats_show_maxclientsline_switch']}'),('stats_time_bronze','{$cfg['stats_time_bronze']}'),('stats_time_silver','{$cfg['stats_time_silver']}'),('stats_time_gold','{$cfg['stats_time_gold']}'),('stats_time_legend','{$cfg['stats_time_legend']}'),('stats_connects_bronze','{$cfg['stats_connects_bronze']}'),('stats_connects_silver','{$cfg['stats_connects_silver']}'),('stats_connects_gold','{$cfg['stats_connects_gold']}'),('stats_connects_legend','{$cfg['stats_connects_legend']}'),('teamspeak_verification_channel_id','{$cfg['teamspeak_verification_channel_id']}'),('stats_server_news','{$cfg['stats_server_news']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc'];
|
||||
$err_lvl = 0;
|
||||
$url = 'https://github.com/Newcomer1989/TSN-Ranksystem/wiki/FAQ#embed-the-statistic-page-with-an-iframe';
|
||||
if($old_nav != $cfg['stats_show_site_navigation_switch'] && $old_nav == 1) {
|
||||
$err_msg .= '#####'.$lang['winav14'].'<br><a href="'.$url.'" target="_blank">'.$url.'</a>';
|
||||
$err_lvl .= "#1";
|
||||
}
|
||||
}
|
||||
$cfg['stats_server_news'] = $_POST['stats_server_news'];
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3();
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['winav6'],' ',$lang['wihlset']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<form class="form-horizontal" name="update" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wisttidesc"><?php echo $lang['achieve'],' ',$lang['stmy0019']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="stats_time_bronze" value="<?php echo $cfg['stats_time_bronze']; ?>">
|
||||
<script>
|
||||
$("input[name='stats_time_bronze']").TouchSpin({
|
||||
min: 0,
|
||||
max: 2147483647,
|
||||
verticalbuttons: true,
|
||||
prefix: 'Hour(s):'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wisttidesc"><?php echo $lang['achieve'],' ',$lang['stmy0017']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="stats_time_silver" value="<?php echo $cfg['stats_time_silver']; ?>">
|
||||
<script>
|
||||
$("input[name='stats_time_silver']").TouchSpin({
|
||||
min: 0,
|
||||
max: 2147483647,
|
||||
verticalbuttons: true,
|
||||
prefix: 'Hour(s):'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wisttidesc"><?php echo $lang['achieve'],' ',$lang['stmy0015']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="stats_time_gold" value="<?php echo $cfg['stats_time_gold']; ?>">
|
||||
<script>
|
||||
$("input[name='stats_time_gold']").TouchSpin({
|
||||
min: 0,
|
||||
max: 2147483647,
|
||||
verticalbuttons: true,
|
||||
prefix: 'Hour(s):'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wisttidesc"><?php echo $lang['achieve'],' ',$lang['stmy0012']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="stats_time_legend" value="<?php echo $cfg['stats_time_legend']; ?>">
|
||||
<script>
|
||||
$("input[name='stats_time_legend']").TouchSpin({
|
||||
min: 0,
|
||||
max: 2147483647,
|
||||
verticalbuttons: true,
|
||||
prefix: 'Hour(s):'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wistcodesc"><?php echo $lang['achieve'],' ',$lang['stmy0028']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="stats_connects_bronze" value="<?php echo $cfg['stats_connects_bronze']; ?>">
|
||||
<script>
|
||||
$("input[name='stats_connects_bronze']").TouchSpin({
|
||||
min: 0,
|
||||
max: 2147483647,
|
||||
verticalbuttons: true,
|
||||
prefix: '#'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wistcodesc"><?php echo $lang['achieve'],' ',$lang['stmy0027']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="stats_connects_silver" value="<?php echo $cfg['stats_connects_silver']; ?>">
|
||||
<script>
|
||||
$("input[name='stats_connects_silver']").TouchSpin({
|
||||
min: 0,
|
||||
max: 2147483647,
|
||||
verticalbuttons: true,
|
||||
prefix: '#'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wistcodesc"><?php echo $lang['achieve'],' ',$lang['stmy0026']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="stats_connects_gold" value="<?php echo $cfg['stats_connects_gold']; ?>">
|
||||
<script>
|
||||
$("input[name='stats_connects_gold']").TouchSpin({
|
||||
min: 0,
|
||||
max: 2147483647,
|
||||
verticalbuttons: true,
|
||||
prefix: '#'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wistcodesc"><?php echo $lang['achieve'],' ',$lang['stmy0024']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="stats_connects_legend" value="<?php echo $cfg['stats_connects_legend']; ?>">
|
||||
<script>
|
||||
$("input[name='stats_connects_legend']").TouchSpin({
|
||||
min: 0,
|
||||
max: 2147483647,
|
||||
verticalbuttons: true,
|
||||
prefix: '#'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishnavdesc"><?php echo $lang['wishnav']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_show_site_navigation_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_show_site_navigation_switch" value="',$cfg['stats_show_site_navigation_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_show_site_navigation_switch" value="',$cfg['stats_show_site_navigation_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiverifydesc"><?php echo $lang['wiverify']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="teamspeak_verification_channel_id" value="<?php echo $cfg['teamspeak_verification_channel_id']; ?>">
|
||||
<script>
|
||||
$("input[name='teamspeak_verification_channel_id']").TouchSpin({
|
||||
min: 0,
|
||||
max: 16777215,
|
||||
verticalbuttons: true,
|
||||
prefix: 'ID:'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishmaxdesc"><?php echo $lang['wishmax']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control basic" name="stats_show_maxclientsline_switch">
|
||||
<?PHP
|
||||
echo '<option data-subtext="[default]" value="0"'; if($cfg['stats_show_maxclientsline_switch']=="0") echo " selected=selected"; echo '>',$lang['wishmax0'],'</option>';
|
||||
echo '<option value="1"'; if($cfg['stats_show_maxclientsline_switch']=="1") echo " selected=selected"; echo '>',$lang['wishmax1'],'</option>';
|
||||
echo '<option value="2"'; if($cfg['stats_show_maxclientsline_switch']=="2") echo " selected=selected"; echo '>',$lang['wishmax2'],'</option>';
|
||||
echo '<option value="3"'; if($cfg['stats_show_maxclientsline_switch']=="3") echo " selected=selected"; echo '>',$lang['wishmax3'],'</option>';
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wisttidesc"><?php echo $lang['achieve'],' ',$lang['stmy0019']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wimsgsndesc"><?php echo $lang['wimsgsn']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="stats_time_bronze" value="<?php echo $cfg['stats_time_bronze']; ?>">
|
||||
<script>
|
||||
$("input[name='stats_time_bronze']").TouchSpin({
|
||||
min: 0,
|
||||
max: 2147483647,
|
||||
verticalbuttons: true,
|
||||
prefix: 'Hour(s):'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wisttidesc"><?php echo $lang['achieve'],' ',$lang['stmy0017']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="stats_time_silver" value="<?php echo $cfg['stats_time_silver']; ?>">
|
||||
<script>
|
||||
$("input[name='stats_time_silver']").TouchSpin({
|
||||
min: 0,
|
||||
max: 2147483647,
|
||||
verticalbuttons: true,
|
||||
prefix: 'Hour(s):'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wisttidesc"><?php echo $lang['achieve'],' ',$lang['stmy0015']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="stats_time_gold" value="<?php echo $cfg['stats_time_gold']; ?>">
|
||||
<script>
|
||||
$("input[name='stats_time_gold']").TouchSpin({
|
||||
min: 0,
|
||||
max: 2147483647,
|
||||
verticalbuttons: true,
|
||||
prefix: 'Hour(s):'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wisttidesc"><?php echo $lang['achieve'],' ',$lang['stmy0012']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="stats_time_legend" value="<?php echo $cfg['stats_time_legend']; ?>">
|
||||
<script>
|
||||
$("input[name='stats_time_legend']").TouchSpin({
|
||||
min: 0,
|
||||
max: 2147483647,
|
||||
verticalbuttons: true,
|
||||
prefix: 'Hour(s):'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wistcodesc"><?php echo $lang['achieve'],' ',$lang['stmy0028']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="stats_connects_bronze" value="<?php echo $cfg['stats_connects_bronze']; ?>">
|
||||
<script>
|
||||
$("input[name='stats_connects_bronze']").TouchSpin({
|
||||
min: 0,
|
||||
max: 2147483647,
|
||||
verticalbuttons: true,
|
||||
prefix: '#'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wistcodesc"><?php echo $lang['achieve'],' ',$lang['stmy0027']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="stats_connects_silver" value="<?php echo $cfg['stats_connects_silver']; ?>">
|
||||
<script>
|
||||
$("input[name='stats_connects_silver']").TouchSpin({
|
||||
min: 0,
|
||||
max: 2147483647,
|
||||
verticalbuttons: true,
|
||||
prefix: '#'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wistcodesc"><?php echo $lang['achieve'],' ',$lang['stmy0026']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="stats_connects_gold" value="<?php echo $cfg['stats_connects_gold']; ?>">
|
||||
<script>
|
||||
$("input[name='stats_connects_gold']").TouchSpin({
|
||||
min: 0,
|
||||
max: 2147483647,
|
||||
verticalbuttons: true,
|
||||
prefix: '#'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wistcodesc"><?php echo $lang['achieve'],' ',$lang['stmy0024']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="stats_connects_legend" value="<?php echo $cfg['stats_connects_legend']; ?>">
|
||||
<script>
|
||||
$("input[name='stats_connects_legend']").TouchSpin({
|
||||
min: 0,
|
||||
max: 2147483647,
|
||||
verticalbuttons: true,
|
||||
prefix: '#'
|
||||
});
|
||||
</script>
|
||||
<textarea class="form-control" rows="15" name="stats_server_news" maxlength="21588"><?php echo $cfg['stats_server_news']; ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishnavdesc"><?php echo $lang['wishnav']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['stats_show_site_navigation_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="stats_show_site_navigation_switch" value="',$cfg['stats_show_site_navigation_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="stats_show_site_navigation_switch" value="',$cfg['stats_show_site_navigation_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiverifydesc"><?php echo $lang['wiverify']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="teamspeak_verification_channel_id" value="<?php echo $cfg['teamspeak_verification_channel_id']; ?>">
|
||||
<script>
|
||||
$("input[name='teamspeak_verification_channel_id']").TouchSpin({
|
||||
min: 0,
|
||||
max: 16777215,
|
||||
verticalbuttons: true,
|
||||
prefix: 'ID:'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishmaxdesc"><?php echo $lang['wishmax']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control basic" name="stats_show_maxclientsline_switch">
|
||||
<?PHP
|
||||
echo '<option data-subtext="[default]" value="0"'; if($cfg['stats_show_maxclientsline_switch']=="0") echo " selected=selected"; echo '>',$lang['wishmax0'],'</option>';
|
||||
echo '<option value="1"'; if($cfg['stats_show_maxclientsline_switch']=="1") echo " selected=selected"; echo '>',$lang['wishmax1'],'</option>';
|
||||
echo '<option value="2"'; if($cfg['stats_show_maxclientsline_switch']=="2") echo " selected=selected"; echo '>',$lang['wishmax2'],'</option>';
|
||||
echo '<option value="3"'; if($cfg['stats_show_maxclientsline_switch']=="3") echo " selected=selected"; echo '>',$lang['wishmax3'],'</option>';
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wimsgsndesc"><?php echo $lang['wimsgsn']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<textarea class="form-control" rows="15" name="stats_server_news" maxlength="21588"><?php echo $cfg['stats_server_news']; ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wishnavdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wishnav']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wishnavdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="wishnavdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wishnav']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wishnavdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wishmaxdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wishmax']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wishmaxdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wisttidesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['achieve']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wisttidesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wistcodesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['achieve']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wistcodesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiverifydesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiverify']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiverifydesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wimsgsndesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wimsgsn']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wimsgsndesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<div class="modal fade" id="wishmaxdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wishmax']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wishmaxdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wisttidesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['achieve']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wisttidesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wistcodesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['achieve']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wistcodesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiverifydesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiverify']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wiverifydesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wimsgsndesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wimsgsn']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wimsgsndesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
@@ -1,421 +1,426 @@
|
||||
<?PHP
|
||||
require_once('_preload.php');
|
||||
require_once('_nav.php');
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
try {
|
||||
require_once('_nav.php');
|
||||
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if(($user_arr = $mysqlcon->query("SELECT `uuid`,`cldbid`,`name` FROM `$dbname`.`user` ORDER BY `name` ASC")->fetchAll(PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = "DB Error1: ".print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$cfg['webinterface_admin_client_unique_id_list'] = '';
|
||||
|
||||
if (isset($_POST['webinterface_admin_client_unique_id_list']) && $_POST['webinterface_admin_client_unique_id_list'] != NULL) {
|
||||
$cfg['webinterface_admin_client_unique_id_list'] = implode(',',$_POST['webinterface_admin_client_unique_id_list']);
|
||||
}
|
||||
$cfg['teamspeak_host_address'] = $_POST['teamspeak_host_address'];
|
||||
$cfg['teamspeak_query_port'] = $_POST['teamspeak_query_port'];
|
||||
if (isset($_POST['teamspeak_query_encrypt_switch'])) $cfg['teamspeak_query_encrypt_switch'] = 1; else $cfg['teamspeak_query_encrypt_switch'] = 0;
|
||||
$cfg['teamspeak_voice_port'] = $_POST['teamspeak_voice_port'];
|
||||
$cfg['teamspeak_query_user'] = htmlspecialchars($_POST['teamspeak_query_user'], ENT_QUOTES);
|
||||
$cfg['teamspeak_query_pass'] = htmlspecialchars($_POST['teamspeak_query_pass'], ENT_QUOTES);
|
||||
$cfg['teamspeak_query_nickname'] = htmlspecialchars($_POST['teamspeak_query_nickname'], ENT_QUOTES);
|
||||
$cfg['teamspeak_default_channel_id'] = $_POST['teamspeak_default_channel_id'];
|
||||
$cfg['teamspeak_query_command_delay'] = $_POST['teamspeak_query_command_delay'];
|
||||
$cfg['teamspeak_avatar_download_delay']= $_POST['teamspeak_avatar_download_delay'];
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('teamspeak_host_address','{$cfg['teamspeak_host_address']}'),('teamspeak_query_encrypt_switch','{$cfg['teamspeak_query_encrypt_switch']}'),('teamspeak_query_port','{$cfg['teamspeak_query_port']}'),('teamspeak_voice_port','{$cfg['teamspeak_voice_port']}'),('teamspeak_query_user','{$cfg['teamspeak_query_user']}'),('teamspeak_query_pass','{$cfg['teamspeak_query_pass']}'),('teamspeak_query_nickname','{$cfg['teamspeak_query_nickname']}'),('teamspeak_default_channel_id','{$cfg['teamspeak_default_channel_id']}'),('teamspeak_query_command_delay','{$cfg['teamspeak_query_command_delay']}'),('teamspeak_avatar_download_delay','{$cfg['teamspeak_avatar_download_delay']}'),('webinterface_admin_client_unique_id_list','{$cfg['webinterface_admin_client_unique_id_list']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`csrf_token` (`token`,`timestamp`,`sessionid`) VALUES ('$csrf_token','".time()."','".session_id()."')") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc']." ".sprintf($lang['wisvres'], ' <form class="btn-group" name="restart" action="bot.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button
|
||||
type="submit" class="btn btn-primary" name="restart"><i class="fas fa-sync"></i> '.$lang['wibot7'].'</button></form>');
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
|
||||
if (isset($_POST['webinterface_admin_client_unique_id_list']) && $_POST['webinterface_admin_client_unique_id_list'] != NULL) {
|
||||
$cfg['webinterface_admin_client_unique_id_list'] = array_flip($_POST['webinterface_admin_client_unique_id_list']);
|
||||
}
|
||||
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3($rspathhex);
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['winav1'],' ',$lang['wihlset']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<form class="form-horizontal" data-toggle="validator" name="update" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
if (($db_csrf = $mysqlcon->query("SELECT * FROM `$dbname`.`csrf_token` WHERE `sessionid`='".session_id()."'")->fetchALL(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
}
|
||||
|
||||
if(($user_arr = $mysqlcon->query("SELECT `uuid`,`cldbid`,`name` FROM `$dbname`.`user` ORDER BY `name` ASC")->fetchAll(PDO::FETCH_ASSOC)) === false) {
|
||||
$err_msg = "DB Error1: ".print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
|
||||
}
|
||||
|
||||
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
|
||||
$cfg['webinterface_admin_client_unique_id_list'] = '';
|
||||
|
||||
if (isset($_POST['webinterface_admin_client_unique_id_list']) && $_POST['webinterface_admin_client_unique_id_list'] != NULL) {
|
||||
$cfg['webinterface_admin_client_unique_id_list'] = implode(',',$_POST['webinterface_admin_client_unique_id_list']);
|
||||
}
|
||||
$cfg['teamspeak_host_address'] = $_POST['teamspeak_host_address'];
|
||||
$cfg['teamspeak_query_port'] = $_POST['teamspeak_query_port'];
|
||||
if (isset($_POST['teamspeak_query_encrypt_switch'])) $cfg['teamspeak_query_encrypt_switch'] = 1; else $cfg['teamspeak_query_encrypt_switch'] = 0;
|
||||
$cfg['teamspeak_voice_port'] = $_POST['teamspeak_voice_port'];
|
||||
$cfg['teamspeak_query_user'] = htmlspecialchars($_POST['teamspeak_query_user'], ENT_QUOTES);
|
||||
$cfg['teamspeak_query_pass'] = htmlspecialchars($_POST['teamspeak_query_pass'], ENT_QUOTES);
|
||||
$cfg['teamspeak_query_nickname'] = htmlspecialchars($_POST['teamspeak_query_nickname'], ENT_QUOTES);
|
||||
$cfg['teamspeak_default_channel_id'] = $_POST['teamspeak_default_channel_id'];
|
||||
$cfg['teamspeak_query_command_delay'] = $_POST['teamspeak_query_command_delay'];
|
||||
$cfg['teamspeak_avatar_download_delay']= $_POST['teamspeak_avatar_download_delay'];
|
||||
|
||||
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('teamspeak_host_address','{$cfg['teamspeak_host_address']}'),('teamspeak_query_encrypt_switch','{$cfg['teamspeak_query_encrypt_switch']}'),('teamspeak_query_port','{$cfg['teamspeak_query_port']}'),('teamspeak_voice_port','{$cfg['teamspeak_voice_port']}'),('teamspeak_query_user','{$cfg['teamspeak_query_user']}'),('teamspeak_query_pass','{$cfg['teamspeak_query_pass']}'),('teamspeak_query_nickname','{$cfg['teamspeak_query_nickname']}'),('teamspeak_default_channel_id','{$cfg['teamspeak_default_channel_id']}'),('teamspeak_query_command_delay','{$cfg['teamspeak_query_command_delay']}'),('teamspeak_avatar_download_delay','{$cfg['teamspeak_avatar_download_delay']}'),('webinterface_admin_client_unique_id_list','{$cfg['webinterface_admin_client_unique_id_list']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
|
||||
$err_msg = print_r($mysqlcon->errorInfo(), true);
|
||||
$err_lvl = 3;
|
||||
} else {
|
||||
$err_msg = $lang['wisvsuc']." ".sprintf($lang['wisvres'], ' <form class="btn-group" name="restart" action="bot.php" method="POST"><input type="hidden" name="csrf_token" value="'.$csrf_token.'"><button
|
||||
type="submit" class="btn btn-primary" name="restart"><i class="fas fa-sync"></i> '.$lang['wibot7'].'</button></form>');
|
||||
$err_lvl = NULL;
|
||||
}
|
||||
|
||||
if (isset($_POST['webinterface_admin_client_unique_id_list']) && $_POST['webinterface_admin_client_unique_id_list'] != NULL) {
|
||||
$cfg['webinterface_admin_client_unique_id_list'] = array_flip($_POST['webinterface_admin_client_unique_id_list']);
|
||||
}
|
||||
|
||||
} elseif(isset($_POST['update'])) {
|
||||
echo '<div class="alert alert-danger alert-dismissible">',$lang['errcsrf'],'</div>';
|
||||
rem_session_ts3();
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
<div id="page-wrapper">
|
||||
<?PHP if(isset($err_msg)) error_handling($err_msg, $err_lvl); ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="col-lg-12">
|
||||
<h1 class="page-header">
|
||||
<?php echo $lang['winav1'],' ',$lang['wihlset']; ?>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<form class="form-horizontal" data-toggle="validator" name="update" method="POST">
|
||||
<input type="hidden" name="csrf_token" value="<?PHP echo $csrf_token; ?>">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group required-field-block">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wits3hostdesc"><?php echo $lang['wits3host']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control required" data-pattern="^[^.]+[^:]*$" data-error="Do not enter the port inside this field. You should enter the port (e.g. 9987) inside the TS3-Voice-Port!" name="teamspeak_host_address" value="<?php echo $cfg['teamspeak_host_address']; ?>" maxlength="65535" required>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group expertelement">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wits3encryptdesc"><?php echo $lang['wits3encrypt']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['teamspeak_query_encrypt_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="teamspeak_query_encrypt_switch" value="',$cfg['teamspeak_query_encrypt_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="teamspeak_query_encrypt_switch" value="',$cfg['teamspeak_query_encrypt_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wits3querydesc"><?php echo $lang['wits3query']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 required-field-block-spin">
|
||||
<input type="text" class="form-control required" name="teamspeak_query_port" value="<?php echo $cfg['teamspeak_query_port']; ?>" required>
|
||||
<script>
|
||||
$("input[name='teamspeak_query_port']").TouchSpin({
|
||||
min: 0,
|
||||
max: 65535,
|
||||
verticalbuttons: true,
|
||||
prefix: 'TCP:'
|
||||
});
|
||||
</script>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wits3voicedesc"><?php echo $lang['wits3voice']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 required-field-block-spin">
|
||||
<input type="text" class="form-control required" name="teamspeak_voice_port" value="<?php echo $cfg['teamspeak_voice_port']; ?>" required>
|
||||
<script>
|
||||
$("input[name='teamspeak_voice_port']").TouchSpin({
|
||||
min: 0,
|
||||
max: 65535,
|
||||
verticalbuttons: true,
|
||||
prefix: 'UDP:'
|
||||
});
|
||||
</script>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wits3querusrdesc"><?php echo $lang['wits3querusr']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 required-field-block">
|
||||
<input type="text" class="form-control required" name="teamspeak_query_user" value="<?php echo $cfg['teamspeak_query_user']; ?>" required>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wits3querpwdesc"><?php echo $lang['wits3querpw']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 required-field-block">
|
||||
<div class="input-group">
|
||||
<span id="toggle-password2" class="input-group-addon" onclick="togglepwd()" style="cursor: pointer; pointer-events: all;"><svg class="svg-inline--fa fa-eye fa-w-18" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="eye" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" data-fa-i2svg=""><path fill="currentColor" d="M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z"></path></svg></span>
|
||||
<span id="toggle-password1" class="input-group-addon" onclick="togglepwd()" style="cursor: pointer; pointer-events: all; display: none;"><svg class="svg-inline--fa fa-eye fa-w-18" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="eye" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" data-fa-i2svg=""><path fill="currentColor" d="M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z"></path></svg></span>
|
||||
<input id="password" type="password" class="form-control required" name="teamspeak_query_pass" value="<?php echo $cfg['teamspeak_query_pass']; ?>" required>
|
||||
</div>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="panel-body">
|
||||
<div class="form-group required-field-block">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wits3hostdesc"><?php echo $lang['wits3host']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control required" data-pattern="^[^.]+[^:]*$" data-error="Do not enter the port inside this field. You should enter the port (e.g. 9987) inside the TS3-Voice-Port!" name="teamspeak_host_address" value="<?php echo $cfg['teamspeak_host_address']; ?>" maxlength="65535" required>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wits3qnmdesc"><?php echo $lang['wits3qnm']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 required-field-block">
|
||||
<input type="text" class="form-control required" name="teamspeak_query_nickname" value="<?php echo $cfg['teamspeak_query_nickname']; ?>" minlength="3" maxlength="30" required>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group expertelement">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wits3encryptdesc"><?php echo $lang['wits3encrypt']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wits3dchdesc"><?php echo $lang['wits3dch']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<?PHP if ($cfg['teamspeak_query_encrypt_switch'] == 1) {
|
||||
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="teamspeak_query_encrypt_switch" value="',$cfg['teamspeak_query_encrypt_switch'],'">';
|
||||
} else {
|
||||
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="teamspeak_query_encrypt_switch" value="',$cfg['teamspeak_query_encrypt_switch'],'">';
|
||||
} ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wits3querydesc"><?php echo $lang['wits3query']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 required-field-block-spin">
|
||||
<input type="text" class="form-control required" name="teamspeak_query_port" value="<?php echo $cfg['teamspeak_query_port']; ?>" required>
|
||||
<input type="text" class="form-control" name="teamspeak_default_channel_id" value="<?php echo $cfg['teamspeak_default_channel_id']; ?>">
|
||||
<script>
|
||||
$("input[name='teamspeak_query_port']").TouchSpin({
|
||||
$("input[name='teamspeak_default_channel_id']").TouchSpin({
|
||||
min: 0,
|
||||
max: 2147483647,
|
||||
verticalbuttons: true,
|
||||
prefix: 'ID:'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row expertelement"> </div>
|
||||
<div class="form-group expertelement">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wits3smdesc"><?php echo $lang['wits3sm']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control" id="basic" name="teamspeak_query_command_delay">
|
||||
<?PHP
|
||||
echo '<option data-icon="fas fa-ban" data-subtext="[recommended]" value="0"'; if($cfg['teamspeak_query_command_delay']=="0") echo ' selected="selected"'; echo '> disabled (Realtime)</option>';
|
||||
echo '<option data-divider="true"> </option>';
|
||||
echo '<option data-subtext="(0,2 seconds)" value="200000"'; if($cfg['teamspeak_query_command_delay']=="200000") echo ' selected="selected"'; echo '>Low delay</option>';
|
||||
echo '<option data-subtext="(0,5 seconds)" value="500000"'; if($cfg['teamspeak_query_command_delay']=="500000") echo ' selected="selected"'; echo '>Middle delay</option>';
|
||||
echo '<option data-subtext="(1,0 seconds)" value="1000000"'; if($cfg['teamspeak_query_command_delay']=="1000000") echo ' selected="selected"'; echo '>High delay</option>';
|
||||
echo '<option data-subtext="(2,0 seconds)" value="2000000"'; if($cfg['teamspeak_query_command_delay']=="2000000") echo ' selected="selected"'; echo '>Huge delay</option>';
|
||||
echo '<option data-subtext="(5,0 seconds)" value="5000000"'; if($cfg['teamspeak_query_command_delay']=="5000000") echo ' selected="selected"'; echo '>Ultra delay</option>';
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row expertelement"> </div>
|
||||
<div class="form-group expertelement">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wits3avatdesc"><?php echo $lang['wits3avat']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="teamspeak_avatar_download_delay" value="<?php echo $cfg['teamspeak_avatar_download_delay']; ?>">
|
||||
<script>
|
||||
$("input[name='teamspeak_avatar_download_delay']").TouchSpin({
|
||||
min: 0,
|
||||
max: 65535,
|
||||
verticalbuttons: true,
|
||||
prefix: 'TCP:'
|
||||
prefix: 'Sec.:'
|
||||
});
|
||||
</script>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<?PHP
|
||||
if(!array_key_exists('webinterface_fresh_installation', $cfg) || $cfg['webinterface_fresh_installation'] != 1) { ?>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wits3voicedesc"><?php echo $lang['wits3voice']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 required-field-block-spin">
|
||||
<input type="text" class="form-control required" name="teamspeak_voice_port" value="<?php echo $cfg['teamspeak_voice_port']; ?>" required>
|
||||
<script>
|
||||
$("input[name='teamspeak_voice_port']").TouchSpin({
|
||||
min: 0,
|
||||
max: 65535,
|
||||
verticalbuttons: true,
|
||||
prefix: 'UDP:'
|
||||
});
|
||||
</script>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wits3querusrdesc"><?php echo $lang['wits3querusr']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 required-field-block">
|
||||
<input type="text" class="form-control required" name="teamspeak_query_user" value="<?php echo $cfg['teamspeak_query_user']; ?>" required>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wits3querpwdesc"><?php echo $lang['wits3querpw']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 required-field-block">
|
||||
<div class="input-group">
|
||||
<span id="toggle-password2" class="input-group-addon" onclick="togglepwd()" style="cursor: pointer; pointer-events: all;"><svg class="svg-inline--fa fa-eye fa-w-18" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="eye" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" data-fa-i2svg=""><path fill="currentColor" d="M572.52 241.4C518.29 135.59 410.93 64 288 64S57.68 135.64 3.48 241.41a32.35 32.35 0 0 0 0 29.19C57.71 376.41 165.07 448 288 448s230.32-71.64 284.52-177.41a32.35 32.35 0 0 0 0-29.19zM288 400a144 144 0 1 1 144-144 143.93 143.93 0 0 1-144 144zm0-240a95.31 95.31 0 0 0-25.31 3.79 47.85 47.85 0 0 1-66.9 66.9A95.78 95.78 0 1 0 288 160z"></path></svg></span>
|
||||
<span id="toggle-password1" class="input-group-addon" onclick="togglepwd()" style="cursor: pointer; pointer-events: all; display: none;"><svg class="svg-inline--fa fa-eye fa-w-18" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="eye" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512" data-fa-i2svg=""><path fill="currentColor" d="M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35 32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13 144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0 0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23 6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0 0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65 47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92 0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z"></path></svg></span>
|
||||
<input id="password" type="password" class="form-control required" name="teamspeak_query_pass" value="<?php echo $cfg['teamspeak_query_pass']; ?>" required>
|
||||
</div>
|
||||
<div class="help-block with-errors"></div>
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiadmuuiddesc"><?php echo $lang['wiadmuuid']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control" data-actions-box="true" data-live-search="true" multiple name="webinterface_admin_client_unique_id_list[]">
|
||||
<?PHP
|
||||
foreach ($user_arr as $user) {
|
||||
if ($cfg['webinterface_admin_client_unique_id_list'] != NULL && array_key_exists($user['uuid'], $cfg['webinterface_admin_client_unique_id_list'])) $selected=" selected"; else $selected="";
|
||||
echo '<option value="',$user['uuid'],'" data-subtext="UUID: ',$user['uuid'],'; DBID: ',$user['cldbid'],'" ',$selected,'>',htmlspecialchars($user['name']),'</option>';
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<?PHP } ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wits3qnmdesc"><?php echo $lang['wits3qnm']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8 required-field-block">
|
||||
<input type="text" class="form-control required" name="teamspeak_query_nickname" value="<?php echo $cfg['teamspeak_query_nickname']; ?>" minlength="3" maxlength="30" required>
|
||||
<div class="help-block with-errors"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group expertelement">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wits3dchdesc"><?php echo $lang['wits3dch']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="teamspeak_default_channel_id" value="<?php echo $cfg['teamspeak_default_channel_id']; ?>">
|
||||
<script>
|
||||
$("input[name='teamspeak_default_channel_id']").TouchSpin({
|
||||
min: 0,
|
||||
max: 2147483647,
|
||||
verticalbuttons: true,
|
||||
prefix: 'ID:'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row expertelement"> </div>
|
||||
<div class="form-group expertelement">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wits3smdesc"><?php echo $lang['wits3sm']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control" id="basic" name="teamspeak_query_command_delay">
|
||||
<?PHP
|
||||
echo '<option data-icon="fas fa-ban" data-subtext="[recommended]" value="0"'; if($cfg['teamspeak_query_command_delay']=="0") echo ' selected="selected"'; echo '> disabled (Realtime)</option>';
|
||||
echo '<option data-divider="true"> </option>';
|
||||
echo '<option data-subtext="(0,2 seconds)" value="200000"'; if($cfg['teamspeak_query_command_delay']=="200000") echo ' selected="selected"'; echo '>Low delay</option>';
|
||||
echo '<option data-subtext="(0,5 seconds)" value="500000"'; if($cfg['teamspeak_query_command_delay']=="500000") echo ' selected="selected"'; echo '>Middle delay</option>';
|
||||
echo '<option data-subtext="(1,0 seconds)" value="1000000"'; if($cfg['teamspeak_query_command_delay']=="1000000") echo ' selected="selected"'; echo '>High delay</option>';
|
||||
echo '<option data-subtext="(2,0 seconds)" value="2000000"'; if($cfg['teamspeak_query_command_delay']=="2000000") echo ' selected="selected"'; echo '>Huge delay</option>';
|
||||
echo '<option data-subtext="(5,0 seconds)" value="5000000"'; if($cfg['teamspeak_query_command_delay']=="5000000") echo ' selected="selected"'; echo '>Ultra delay</option>';
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row expertelement"> </div>
|
||||
<div class="form-group expertelement">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wits3avatdesc"><?php echo $lang['wits3avat']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<input type="text" class="form-control" name="teamspeak_avatar_download_delay" value="<?php echo $cfg['teamspeak_avatar_download_delay']; ?>">
|
||||
<script>
|
||||
$("input[name='teamspeak_avatar_download_delay']").TouchSpin({
|
||||
min: 0,
|
||||
max: 65535,
|
||||
verticalbuttons: true,
|
||||
prefix: 'Sec.:'
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<?PHP
|
||||
if(!array_key_exists('webinterface_fresh_installation', $cfg) || $cfg['webinterface_fresh_installation'] != 1) { ?>
|
||||
<div class="row"> </div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wiadmuuiddesc"><?php echo $lang['wiadmuuid']; ?><i class="help-hover fas fa-question-circle"></i></label>
|
||||
<div class="col-sm-8">
|
||||
<select class="selectpicker show-tick form-control" data-actions-box="true" data-live-search="true" multiple name="webinterface_admin_client_unique_id_list[]">
|
||||
<?PHP
|
||||
foreach ($user_arr as $user) {
|
||||
if ($cfg['webinterface_admin_client_unique_id_list'] != NULL && array_key_exists($user['uuid'], $cfg['webinterface_admin_client_unique_id_list'])) $selected=" selected"; else $selected="";
|
||||
echo '<option value="',$user['uuid'],'" data-subtext="UUID: ',$user['uuid'],'; DBID: ',$user['cldbid'],'" ',$selected,'>',htmlspecialchars($user['name']),'</option>';
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<?PHP } ?>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
<div class="row">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i> <?php echo $lang['wisvconf']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
<div class="row"> </div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wits3hostdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wits3host']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wits3hostdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wits3hostdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wits3host']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wits3hostdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wits3encryptdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wits3encrypt']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo sprintf($lang['wits3encryptdesc'], '<pre>sudo apt-get install php-ssh2</pre>', '<pre>query_ssh_ip=0.0.0.0,::<br>query_ssh_port=10022<br>query_protocols=ssh,raw<br>query_ssh_rsa_host_key=ssh_host_rsa_key</pre>'); ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wits3querydesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wits3query']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wits3querydesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wits3voicedesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wits3voice']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wits3voicedesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wits3querusrdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wits3querusr']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo sprintf($lang['wits3querusrdesc'], '<a href="https://ts-ranksystem.com/#linux" target="_blank">https://ts-ranksystem.com/</a>'); ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wits3querpwdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wits3querpw']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wits3querpwdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wits3qnmdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wits3qnm']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wits3qnmdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wits3dchdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wits3dch']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wits3dchdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wits3smdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wits3sm']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo sprintf($lang['wits3smdesc'], '<pre>disabled (0,0) 0,10<br>low delay (0,2) 2,60<br>middle delay (0,5) 6,50<br>high delay (1,0) 13,00<br>huge delay (2,0) 26,00<br>ultra delay (5,0) 65,00</pre>'); ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wits3avatdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wits3avat']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wits3avatdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiadmuuiddesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiadmuuid']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo sprintf($lang['wiadmuuiddesc'], '<a href="//ts-ranksystem.com/?commands" target="_blank">', '</a>'); ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$('form[data-toggle="validator"]').validator({
|
||||
custom: {
|
||||
pattern: function ($el) {
|
||||
var pattern = new RegExp($el.data('pattern'));
|
||||
return pattern.test($el.val());
|
||||
<div class="modal fade" id="wits3encryptdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wits3encrypt']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo sprintf($lang['wits3encryptdesc'], '<pre>sudo apt-get install php-ssh2</pre>', '<pre>query_ssh_ip=0.0.0.0,::<br>query_ssh_port=10022<br>query_protocols=ssh,raw<br>query_ssh_rsa_host_key=ssh_host_rsa_key</pre>'); ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wits3querydesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wits3query']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wits3querydesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wits3voicedesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wits3voice']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wits3voicedesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wits3querusrdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wits3querusr']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo sprintf($lang['wits3querusrdesc'], '<a href="https://ts-ranksystem.com/#linux" target="_blank">https://ts-ranksystem.com/</a>'); ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wits3querpwdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wits3querpw']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wits3querpwdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wits3qnmdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wits3qnm']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wits3qnmdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wits3dchdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wits3dch']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wits3dchdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wits3smdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wits3sm']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo sprintf($lang['wits3smdesc'], '<pre>disabled (0,0) 0,10<br>low delay (0,2) 2,60<br>middle delay (0,5) 6,50<br>high delay (1,0) 13,00<br>huge delay (2,0) 26,00<br>ultra delay (5,0) 65,00</pre>'); ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wits3avatdesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wits3avat']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo $lang['wits3avatdesc']; ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade" id="wiadmuuiddesc" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title"><?php echo $lang['wiadmuuid']; ?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<?php echo sprintf($lang['wiadmuuiddesc'], '<a href="//ts-ranksystem.com/?commands" target="_blank">', '</a>'); ?>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><?PHP echo $lang['stnv0002']; ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$('form[data-toggle="validator"]').validator({
|
||||
custom: {
|
||||
pattern: function ($el) {
|
||||
var pattern = new RegExp($el.data('pattern'));
|
||||
return pattern.test($el.val());
|
||||
}
|
||||
},
|
||||
delay: 100,
|
||||
errors: {
|
||||
pattern: "There should be an error in your value, please check all could be right!"
|
||||
}
|
||||
},
|
||||
delay: 100,
|
||||
errors: {
|
||||
pattern: "There should be an error in your value, please check all could be right!"
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
<?PHP
|
||||
} catch(Throwable $ex) { }
|
||||
?>
|
||||
Reference in New Issue
Block a user