release 1.3.19

This commit is contained in:
Newcomer1989
2021-12-21 20:40:13 +01:00
parent cf8b029a3f
commit 575e215e0b
244 changed files with 33467 additions and 171 deletions

View File

@@ -175,7 +175,7 @@ if(isset($_POST['switchexpert']) && isset($_SESSION[$rspathhex.'username']) && $
</li>
<li>
<a href="javascript:;" data-toggle="collapse" data-target="#rank"><i class="fas fa-hourglass-half"></i>&nbsp;&nbsp;<?PHP echo $lang['stmy0002']; ?>&nbsp;<i class="fas fa-caret-down"></i></a>
<?PHP echo '<ul id="rank" class="'.(basename($_SERVER['SCRIPT_NAME']) == "core.php" || basename($_SERVER['SCRIPT_NAME']) == "rank.php" || basename($_SERVER['SCRIPT_NAME']) == "boost.php" || basename($_SERVER['SCRIPT_NAME']) == "except.php" || basename($_SERVER['SCRIPT_NAME']) == "msg.php" ? 'in collapse">' : 'collapse">'); ?>
<?PHP echo '<ul id="rank" class="'.(in_array(basename($_SERVER['SCRIPT_NAME']), array("core.php", "rank.php", "boost.php", "except.php", "msg.php")) ? 'in collapse">' : 'collapse">'); ?>
<?PHP echo '<li'.(basename($_SERVER['SCRIPT_NAME']) == "core.php" ? ' class="active">' : '>'); ?>
<a href="core.php" class="active"><i class="fas fa-cogs"></i>&nbsp;&nbsp;<?PHP echo $lang['winav3']; ?></a>
</li>
@@ -198,7 +198,7 @@ if(isset($_POST['switchexpert']) && isset($_SESSION[$rspathhex.'username']) && $
</li>
<li>
<a href="javascript:;" data-toggle="collapse" data-target="#stats"><i class="fas fa-chart-area"></i>&nbsp;&nbsp;<?PHP echo $lang['winav6']; ?>&nbsp;<i class="fas fa-caret-down"></i></a>
<?PHP echo '<ul id="stats" class="'.(basename($_SERVER['SCRIPT_NAME']) == "stats.php" || basename($_SERVER['SCRIPT_NAME']) == "ranklist.php" || basename($_SERVER['SCRIPT_NAME']) == "imprint.php" ? 'in collapse">' : 'collapse">'); ?>
<?PHP echo '<ul id="stats" class="'.(in_array(basename($_SERVER['SCRIPT_NAME']), array("stats.php", "ranklist.php", "imprint.php")) ? 'in collapse">' : 'collapse">'); ?>
<?PHP echo '<li'.(basename($_SERVER['SCRIPT_NAME']) == "stats.php" ? ' class="active expertelement">' : ' class="expertelement">'); ?>
<a href="stats.php"><i class="fas fa-chart-bar"></i>&nbsp;&nbsp;<?PHP echo $lang['winav13']; ?></a>
</li>
@@ -213,13 +213,16 @@ 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>&nbsp;&nbsp;<?PHP echo $lang['winav7']; ?>&nbsp;<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" || basename($_SERVER['SCRIPT_NAME']) == "export.php" ? 'in collapse">' : 'collapse">'); ?>
<?PHP echo '<ul id="admin" class="'.(in_array(basename($_SERVER['SCRIPT_NAME']), array("admin_addtime.php", "admin_remtime.php", "admin_delclient.php", "reset.php", "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>&nbsp;&nbsp;<?PHP echo $lang['wihladm1']; ?></a>
</li>
<?PHP echo '<li'.(basename($_SERVER['SCRIPT_NAME']) == "admin_remtime.php" ? ' class="active">' : '>'); ?>
<a href="admin_remtime.php"><i class="fas fa-minus"></i>&nbsp;&nbsp;<?PHP echo $lang['wihladm2']; ?></a>
</li>
<?PHP echo '<li'.(basename($_SERVER['SCRIPT_NAME']) == "admin_delclient.php" ? ' class="active">' : '>'); ?>
<a href="admin_delclient.php"><i class="fas fa-times"></i>&nbsp;&nbsp;<?PHP echo $lang['wihladm4']; ?></a>
</li>
<?PHP echo '<li'.(basename($_SERVER['SCRIPT_NAME']) == "reset.php" ? ' class="active expertelement">' : ' class="expertelement">'); ?>
<a href="reset.php"><i class="fas fa-sync"></i>&nbsp;&nbsp;<?PHP echo $lang['wihladm3']; ?></a>
</li>
@@ -231,13 +234,16 @@ if(isset($_POST['switchexpert']) && isset($_SESSION[$rspathhex.'username']) && $
<li class="divider"></li>
<li>
<a href="javascript:;" data-toggle="collapse" data-target="#addons"><i class="fas fa-puzzle-piece"></i>&nbsp;&nbsp;<?PHP echo $lang['winav12']; ?>&nbsp;<i class="fas fa-caret-down"></i></a>
<?PHP echo '<ul id="addons" class="'.(basename($_SERVER['SCRIPT_NAME']) == "addon_assign_groups.php" || basename($_SERVER['SCRIPT_NAME']) == "api.php" ? 'in collapse">' : 'collapse">'); ?>
<?PHP echo '<ul id="addons" class="'.(in_array(basename($_SERVER['SCRIPT_NAME']), array("addon_assign_groups.php", "api.php", "addon_channelinfo_toplist.php")) ? 'in collapse">' : 'collapse">'); ?>
<?PHP echo '<li'.(basename($_SERVER['SCRIPT_NAME']) == "api.php" ? ' class="active">' : '>'); ?>
<a href="api.php"><i class="fas fa-microchip"></i>&nbsp;&nbsp;<?PHP echo $lang['api']; ?></a>
</li>
<?PHP echo '<li'.(basename($_SERVER['SCRIPT_NAME']) == "addon_assign_groups.php" ? ' class="active">' : '>'); ?>
<a href="addon_assign_groups.php" class="active"><i class="fas fa-user-plus"></i>&nbsp;&nbsp;<?PHP echo $lang['stag0001']; ?></a>
</li>
<?PHP echo '<li'.(basename($_SERVER['SCRIPT_NAME']) == "addon_channelinfo_toplist.php" ? ' class="active">' : '>'); ?>
<a href="addon_channelinfo_toplist.php" class="active"><i class="fas fa-trophy"></i>&nbsp;&nbsp;<?PHP echo $lang['addonchtopl']; ?></a>
</li>
</ul>
</li>
<?PHP

View File

@@ -57,8 +57,17 @@ try {
$excgr = substr($excgr,0,-1);
if(!isset($err_lvl) || $err_lvl < 3) {
if ($mysqlcon->exec("INSERT INTO `$dbname`.`addons_config` (`param`,`value`) VALUES ('assign_groups_name','{$name}'), ('assign_groups_active','{$assign_groups_active}'), ('assign_groups_limit','{$limit}'), ('assign_groups_groupids','{$alwgr}'), ('assign_groups_excepted_groupids','{$excgr}') 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);
$sqlexec = $mysqlcon->prepare("INSERT INTO `$dbname`.`addons_config` (`param`,`value`) VALUES ('assign_groups_name', :assign_groups_name), ('assign_groups_active', :assign_groups_active), ('assign_groups_limit', :assign_groups_limit), ('assign_groups_groupids', :assign_groups_groupids), ('assign_groups_excepted_groupids', :assign_groups_excepted_groupids) ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`= :csrf_token;");
$sqlexec->bindParam(':assign_groups_name', $name, PDO::PARAM_STR);
$sqlexec->bindParam(':assign_groups_active', $assign_groups_active, PDO::PARAM_STR);
$sqlexec->bindParam(':assign_groups_limit', $limit, PDO::PARAM_STR);
$sqlexec->bindParam(':assign_groups_groupids', $alwgr, PDO::PARAM_STR);
$sqlexec->bindParam(':assign_groups_excepted_groupids', $excgr, PDO::PARAM_STR);
$sqlexec->bindParam(':csrf_token', $_POST['csrf_token']);
$sqlexec->execute();
if ($sqlexec->errorCode() != 0) {
$err_msg = print_r($sqlexec->errorInfo(), true);
$err_lvl = 3;
} elseif($addons_config['assign_groups_active']['value'] != $assign_groups_active && $assign_groups_active == 1) {
$err_msg = $lang['wisvsuc']." ".sprintf($lang['wisvres'], '&nbsp;&nbsp;<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>&nbsp;'.$lang['wibot7'].'</button></form>');

View File

@@ -0,0 +1,259 @@
<?PHP
require_once('_preload.php');
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(($channellist = $mysqlcon->query("SELECT * FROM `$dbname`.`channel` ORDER BY `pid`,`channel_order`,`channel_name` ASC")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
$err_msg = print_r($mysqlcon->errorInfo(), true);
$err_lvl = 3;
}
$channelinfo_toplist_active = 0;
if (isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
if (isset($_POST['channelinfo_toplist_active'])) $channelinfo_toplist_active = 1;
if(is_array($_POST['channelid'])) $_POST['channelid'] = $_POST['channelid'][0];
if(!isset($err_lvl) || $err_lvl < 3) {
$sqlexec = $mysqlcon->prepare("INSERT INTO `$dbname`.`addons_config` (`param`,`value`) VALUES ('channelinfo_toplist_active', :channelinfo_toplist_active), ('channelinfo_toplist_desc', :channelinfo_toplist_desc), ('channelinfo_toplist_delay', :channelinfo_toplist_delay), ('channelinfo_toplist_channelid', :channelinfo_toplist_channelid), ('channelinfo_toplist_modus', :channelinfo_toplist_modus) ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`= :csrf_token");
$sqlexec->bindParam(':channelinfo_toplist_active', $channelinfo_toplist_active, PDO::PARAM_STR);
$sqlexec->bindParam(':channelinfo_toplist_desc', $_POST['channelinfo_toplist_desc'], PDO::PARAM_STR);
$sqlexec->bindParam(':channelinfo_toplist_delay', $_POST['channelinfo_toplist_delay'], PDO::PARAM_STR);
$sqlexec->bindParam(':channelinfo_toplist_channelid', $_POST['channelid'], PDO::PARAM_STR);
$sqlexec->bindParam(':channelinfo_toplist_modus', $_POST['channelinfo_toplist_modus'], PDO::PARAM_STR);
$sqlexec->bindParam(':csrf_token', $_POST['csrf_token']);
$sqlexec->execute();
if ($sqlexec->errorCode() != 0) {
$err_msg = print_r($sqlexec->errorInfo(), true);
$err_lvl = 3;
} else {
$err_msg = $lang['wisvsuc']." ".sprintf($lang['wisvres'], '&nbsp;&nbsp;<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>&nbsp;'.$lang['wibot7'].'</button></form>');
$err_lvl = NULL;
}
}
$addons_config['channelinfo_toplist_active']['value'] = $channelinfo_toplist_active;
$addons_config['channelinfo_toplist_channelid']['value'] = $_POST['channelid'];
$addons_config['channelinfo_toplist_modus']['value'] = $_POST['channelinfo_toplist_modus'];
$addons_config['channelinfo_toplist_delay']['value'] = $_POST['channelinfo_toplist_delay'];
$addons_config['channelinfo_toplist_desc']['value'] = $_POST['channelinfo_toplist_desc'];
} 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['addonchtopl']; ?>
</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="#addonchtopldesc"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
<div class="panel-body">
</div>
</div>
</div>
<div class="col-md-3">
</div>
<div class="col-md-6">
<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['channelinfo_toplist_active']['value'] == '1') {
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="channelinfo_toplist_active" value="',$channelinfo_toplist_active,'">';
} else {
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="channelinfo_toplist_active" value="',$channelinfo_toplist_active,'">';
} ?>
</div>
</div>
<div class="row">&nbsp;</div>
<div class="row">&nbsp;</div>
</div>
<div class="col-md-3">
</div>
<div class="col-md-12">
<div class="panel-body">
<div class="form-group">
<label class="col-sm-2 control-label" data-toggle="modal" data-target="#addonchchdesc"><?php echo $lang['addonchch']; ?><i class="help-hover fas fa-question-circle"></i></label>
<div class="col-sm-10">
<?PHP
echo select_channel($channellist, $addons_config['channelinfo_toplist_channelid']['value']);
?>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" data-toggle="modal" data-target="#addonchmodesc"><?php echo $lang['addonchmo']; ?><i class="help-hover fas fa-question-circle"></i></label>
<div class="col-sm-10">
<select class="selectpicker show-tick form-control" id="basic" name="channelinfo_toplist_modus">
<?PHP
echo '<option value="1"'; if($addons_config['channelinfo_toplist_modus']['value']=="1") echo ' selected="selected"'; echo '>',$lang['addonchmo1'],'</option>';
echo '<option value="2"'; if($addons_config['channelinfo_toplist_modus']['value']=="2") echo ' selected="selected"'; echo '>',$lang['addonchmo2'],'</option>';
echo '<option value="3"'; if($addons_config['channelinfo_toplist_modus']['value']=="3") echo ' selected="selected"'; echo '>',$lang['addonchmo3'],'</option>';
echo '<option value="4"'; if($addons_config['channelinfo_toplist_modus']['value']=="4") echo ' selected="selected"'; echo '>',$lang['addonchmo4'],'</option>';
echo '<option value="5"'; if($addons_config['channelinfo_toplist_modus']['value']=="5") echo ' selected="selected"'; echo '>',$lang['addonchmo5'],'</option>';
echo '<option value="6"'; if($addons_config['channelinfo_toplist_modus']['value']=="6") echo ' selected="selected"'; echo '>',$lang['addonchmo6'],'</option>';
?>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" data-toggle="modal" data-target="#addonchdelaydesc"><?php echo $lang['addonchdelay']; ?><i class="help-hover fas fa-question-circle"></i></label>
<div class="col-sm-10">
<input type="text" class="form-control" name="channelinfo_toplist_delay" title="<?php echo $lang['addonchdescdesc31'].': '.date('Y-m-d H:i:s', $addons_config['channelinfo_toplist_lastupdate']['value']); ?>" value="<?php echo $addons_config['channelinfo_toplist_delay']['value']; ?>">
<script>
$("input[name='channelinfo_toplist_delay']").TouchSpin({
min: 0,
max: 65535,
verticalbuttons: true,
prefix: 'Sec.:'
});
</script>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label" data-toggle="modal" data-target="#addonchdescdesc"><?php echo $lang['addonchdesc']; ?><i class="help-hover fas fa-question-circle"></i></label>
<div class="col-sm-10">
<textarea class="form-control" rows="25" name="channelinfo_toplist_desc" maxlength="16000"><?php echo $addons_config['channelinfo_toplist_desc']['value']; ?></textarea>
</div>
</div>
</div>
</div>
</div>
<div class="row">&nbsp;</div>
<div class="row">
<div class="text-center">
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i>&nbsp;<?php echo $lang['wisvconf']; ?></button>
</div>
</div>
<div class="row">&nbsp;</div>
</div>
</form>
</div>
</div>
</div>
<div class="modal fade" id="addonchtopldesc" 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">&times;</span></button>
<h4 class="modal-title"><?php echo $lang['addonchtopl']; ?></h4>
</div>
<div class="modal-body">
<?php echo $lang['addonchtopldesc']; ?>
</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="addonchchdesc" 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">&times;</span></button>
<h4 class="modal-title"><?php echo $lang['addonchch']; ?></h4>
</div>
<div class="modal-body">
<?php echo $lang['addonchchdesc']; ?>
</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="addonchmodesc" 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">&times;</span></button>
<h4 class="modal-title"><?php echo $lang['addonchmo']; ?></h4>
</div>
<div class="modal-body">
<?php echo $lang['addonchmodesc']; ?>
</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="addonchdelaydesc" 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">&times;</span></button>
<h4 class="modal-title"><?php echo $lang['addonchdelay']; ?></h4>
</div>
<div class="modal-body">
<?php echo $lang['addonchdelaydesc']; ?>
</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 bd-example-modal-lg" id="addonchdescdesc" tabindex="-1">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title"><?php echo $lang['addonchdesc']; ?></h4>
</div>
<div class="modal-body">
<?php echo sprintf($lang['addonchdescdesc'].'<br><br>%1$s%63$s%2$s%64$s%3$s%1$s%4$s%2$s%4$s%3$s%1$s%5$s%2$s%6$s%3$s%1$s%7$s%2$s%8$s%3$s%1$s%9$s%2$s%10$s%3$s%1$s%11$s%2$s%12$s%3$s%1$s%13$s%2$s%14$s%3$s%1$s%15$s%2$s%16$s%3$s%1$s%17$s%2$s%18$s%3$s%1$s%19$s%2$s%20$s%3$s%1$s%21$s%2$s%22$s%3$s%1$s%4$s%2$s%4$s%3$s%1$s%23$s%2$s%24$s%3$s%1$s%25$s%2$s%26$s%3$s%1$s%27$s%2$s%28$s%3$s%1$s%29$s%2$s%30$s%3$s%1$s%31$s%2$s%32$s%3$s%1$s%33$s%2$s%34$s%3$s%1$s%35$s%2$s%36$s%3$s%1$s%37$s%2$s%38$s%3$s%1$s%4$s%2$s%4$s%3$s%1$s%39$s%2$s%40$s%3$s%1$s%41$s%2$s%42$s%3$s%1$s%43$s%2$s%44$s%3$s%1$s%45$s%2$s%46$s%3$s%1$s%47$s%2$s%48$s%3$s%1$s%49$s%2$s%50$s%3$s%1$s%51$s%2$s%52$s%3$s%1$s%53$s%2$s%54$s%3$s%1$s%55$s%2$s%56$s%3$s%1$s%57$s%2$s%58$s%3$s%1$s%59$s%2$s%60$s%3$s%1$s%4$s%2$s%4$s%3$s%1$s%61$s%2$s%62$s%3$s<br>', '<div class="row"><div class="col-md-5">', '</div><div class="col-md-7">', '</div></div>', '&nbsp;', '{$CLIENT_ACTIVE_TIME_ALL_XXX}', $lang['addonchdescdesc01'], '{$CLIENT_ACTIVE_TIME_LAST_MONTH_XXX}', $lang['addonchdescdesc02'], '{$CLIENT_ACTIVE_TIME_LAST_WEEK_XXX}', $lang['addonchdescdesc03'], '{$CLIENT_ONLINE_TIME_ALL_XXX}', $lang['addonchdescdesc04'], '{$CLIENT_ONLINE_TIME_LAST_MONTH_XXX}', $lang['addonchdescdesc05'], '{$CLIENT_ONLINE_TIME_LAST_WEEK_XXX}', $lang['addonchdescdesc06'], '{$CLIENT_IDLE_TIME_ALL_XXX}', $lang['addonchdescdesc07'], '{$CLIENT_IDLE_TIME_LAST_MONTH_XXX}', $lang['addonchdescdesc08'], '{$CLIENT_IDLE_TIME_LAST_WEEK_XXX}', $lang['addonchdescdesc09'], '{$CLIENT_CURRENT_CHANNEL_ID_XXX}', $lang['addonchdescdesc10'], '{$CLIENT_CURRENT_CHANNEL_NAME_XXX}', $lang['addonchdescdesc11'], '{$CLIENT_CURRENT_RANK_GROUP_ICON_URL_XXX}', $lang['addonchdescdesc12'], '{$CLIENT_CURRENT_RANK_GROUP_ID_XXX}', $lang['addonchdescdesc13'], '{$CLIENT_CURRENT_RANK_GROUP_NAME_XXX}', $lang['addonchdescdesc14'], '{$CLIENT_LAST_RANKUP_TIMEXXX}', $lang['addonchdescdesc15'], '{$CLIENT_NEXT_RANKUP_TIME_XXX}', $lang['addonchdescdesc16'], '{$CLIENT_RANK_POSITION_XXX}', $lang['addonchdescdesc17'], '{$CLIENT_COUNTRY_XXX}', $lang['addonchdescdesc18'], '{$CLIENT_CREATED_XXX}', $lang['addonchdescdesc20'], '{$CLIENT_DATABASE_ID_XXX}', $lang['addonchdescdesc22'], '{$CLIENT_DESCRIPTION_XXX}', $lang['addonchdescdesc23'], '{$CLIENT_LAST_SEEN_XXX}', $lang['addonchdescdesc24'], '{$CLIENT_NICKNAME_XXX}', $lang['addonchdescdesc25'], '{$CLIENT_ONLINE_STATUS_XXX}', $lang['addonchdescdesc26'], '{$CLIENT_PLATFORM_XXX}', $lang['addonchdescdesc27'], '{$CLIENT_TOTAL_CONNECTIONS_XXX}', $lang['addonchdescdesc28'], '{$CLIENT_UNIQUE_IDENTIFIER_XXX}', $lang['addonchdescdesc29'], '{$CLIENT_VERSION_XXX}', $lang['addonchdescdesc30'], '{$LAST_UPDATE_TIME}', $lang['addonchdescdesc31'], '<b>'.$lang['addonchdescdesc00'].'</b>', '<b>'.$lang['descr'].'</b>').'<br><br>'.sprintf($lang['addonchdesc2desc'], '<a href="https://www.smarty.net/docs/en/language.modifiers.tpl" target="_blank">https://www.smarty.net/docs/en/language.modifiers.tpl</a>', '<a href="https://www.smarty.net/docs/en/language.builtin.functions.tpl" target="_blank">https://www.smarty.net/docs/en/language.builtin.functions.tpl</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!"
}
});
$("[name='channelinfo_toplist_active']").bootstrapSwitch();
</script>
</body>
</html>
<?PHP
} catch(Throwable $ex) { }
?>

View File

@@ -0,0 +1,186 @@
<?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 = 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['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`,`lastseen` FROM `$dbname`.`user` $filter ORDER BY `name` ASC")->fetchAll(PDO::FETCH_ASSOC|PDO::FETCH_UNIQUE)) === false) {
$err_msg = "DB Error1: ".print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
}
if (isset($_POST['confirm']) && isset($db_csrf[$_POST['csrf_token']])) {
$allinsertdata = '';
$succmsg = '';
$del_arr = explode(';',$_POST['uuids']);
foreach($del_arr as $uuid) {
$allinsertdata .= "('".$uuid."', '4273093200', '0'),";
$succmsg .= sprintf($lang['wihladm44'], $user_arr[$uuid]['name'], $uuid, $user_arr[$uuid]['cldbid'])."<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']) && $_POST['user'] == NULL && isset($db_csrf[$_POST['csrf_token']])) {
$err_msg = $lang['errselusr']; $err_lvl = 3;
} elseif(isset($_POST['update']) && isset($db_csrf[$_POST['csrf_token']])) {
$err_msg = '<b>'.$lang['wihladm41'].'</b><br>'.$lang['wihladm42'].'<br><br>';
$uuids = '';
foreach($_POST['user'] as $uuid) {
$uuids .= $uuid.';';
$err_msg .= ' - '.sprintf("%s (UUID: %s; DBID: %s)",$user_arr[$uuid]['name'],$uuid,$user_arr[$uuid]['cldbid']).' - '.$lang['listseen'].' '.date('Y-m-d H:i:s',$user_arr[$uuid]['lastseen']).'<br>';
}
$uuids = substr($uuids,0,-1);
$err_msg .= '<br><br><form class="btn-group" name="confirm" action="admin_delclient.php" method="POST">
<input type="hidden" name="csrf_token" value="'.$csrf_token.'">
<input type="hidden" name="uuids" value="'.$uuids.'">
<button type="submit" class="btn btn-success btn-sm" name="confirm"><i class="fas fa-check"></i>&nbsp;'.$lang['wihladm43'].'</button></form>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<form class="btn-group" name="cancel" action="admin_delclient.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>&nbsp;'.$lang['wihladmrs14'].'</button></form>';
$err_lvl = 1;
} 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['wihladm4']; ?>
</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="#wihladm4desc"><?php echo $lang['wihladm0']; ?><i class="help-hover fas fa-question-circle"></i></label>
<div class="panel-body">
</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 '>&nbsp;hide</option>';
echo '<option data-icon="fas fa-eye" value="no"'; if(isset($_SESSION[$rspathhex.'showexcepted']) && $_SESSION[$rspathhex.'showexcepted'] == "no") echo " selected=selected"; echo '>&nbsp;show</option>';
?>
</select>
</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 $uuid => $user) {
echo '<option value="',$uuid,'" data-subtext="UUID: ',$uuid,'; DBID: ',$user['cldbid'],'">',htmlspecialchars($user['name']),'</option>';
}
?>
</select>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">&nbsp;</div>
<div class="row">
<div class="text-center">
<button type="submit" class="btn btn-primary" name="update"><i class="fas fa-save"></i>&nbsp;<?php echo $lang['wisvconf']; ?></button>
</div>
</div>
<div class="row">&nbsp;</div>
</div>
</form>
</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">&times;</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="wihladm4desc" 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">&times;</span></button>
<h4 class="modal-title"><?php echo $lang['wihladm4']; ?></h4>
</div>
<div class="modal-body">
<?php echo $lang['wihladm4desc']; ?>
</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">&times;</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) { }
?>

View File

@@ -31,7 +31,7 @@ try {
$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) {
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('stats_api_keys',".$mysqlcon->quote($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 {

View File

@@ -19,7 +19,7 @@ try {
$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) {
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;

View File

@@ -40,7 +40,7 @@ try {
$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)) {
if(in_array($job_check['database_export']['timestamp'], ["0","3","4"], true)) {
$err_msg .= '</pre><br>';
if($job_check['database_export']['timestamp'] == 4) {
$err_msg .= "Exported file successfully.";
@@ -50,12 +50,12 @@ try {
}
$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>&nbsp;', '</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>&nbsp;', '</button></form>').'<br><br>'.$lang['wihladmrs8'];
$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>&nbsp;', '</button></form>').'<br><br>'.$lang['wihladmrs8'].'<br><br>'.sprintf($lang['wihladmrs17'], '<form class="btn-group" name="cancel" action="export.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>&nbsp;', '</button></form>');
}
}
if (isset($_POST['confirm']) && isset($db_csrf[$_POST['csrf_token']])) {
if(in_array($job_check['database_export']['timestamp'], ["0","4"], true)) {
if(in_array($job_check['database_export']['timestamp'], ["0","3","4"], true)) {
if ($mysqlcon->exec("INSERT INTO `$dbname`.`job_check` (`job_name`,`timestamp`) VALUES ('database_export','0') ON DUPLICATE KEY UPDATE `timestamp`=VALUES(`timestamp`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true);
$err_lvl = 3;
@@ -67,6 +67,19 @@ try {
$err_msg = $lang['errukwn'];
$err_lvl = 3;
}
} elseif (isset($_POST['cancel']) && isset($db_csrf[$_POST['csrf_token']])) {
if(in_array($job_check['database_export']['timestamp'], ["0","1","2","4"], true)) {
if ($mysqlcon->exec("INSERT INTO `$dbname`.`job_check` (`job_name`,`timestamp`) VALUES ('database_export','3') ON DUPLICATE KEY UPDATE `timestamp`=VALUES(`timestamp`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
$err_msg = $lang['isntwidbmsg'].print_r($mysqlcon->errorInfo(), true);
$err_lvl = 3;
} else {
$err_msg = $lang['wihladmrs18'];
$err_lvl = NULL;
}
} else {
$err_msg = $lang['errukwn'];
$err_lvl = 3;
}
} elseif (isset($_POST['delete']) && isset($db_csrf[$_POST['csrf_token']])) {
if(substr($_POST['delete'],0,10) == "db_export_" && unlink($cfg['logs_path'].$_POST['delete'])) {
$err_msg = sprintf($lang['wihladmex3'], $_POST['delete']);

View File

@@ -86,7 +86,7 @@ try {
exit;
} elseif(isset($_POST['username'])) {
$nowtime = time();
enter_logfile($cfg,5,sprintf($lang['brute1'], getclientip(), $_POST['username']));
enter_logfile($cfg,5,sprintf($lang['brute1'], getclientip(), htmlspecialchars($_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'];

View File

@@ -25,6 +25,7 @@ try {
$cfg['default_header_xss'] = htmlspecialchars($_POST['default_header_xss'], ENT_QUOTES);
if (isset($_POST['default_header_contenttyp'])) $cfg['default_header_contenttyp'] = 1; else $cfg['default_header_contenttyp'] = 0;
$cfg['default_header_frame'] = htmlspecialchars($_POST['default_header_frame'], ENT_QUOTES);
if (isset($_POST['default_cmdline_sec_switch'])) $cfg['default_cmdline_sec_switch'] = 1; else $cfg['default_cmdline_sec_switch'] = 0;
$cfg['logs_timezone'] = $_POST['logs_timezone'];
$cfg['default_date_format'] = $_POST['default_date_format'];
$cfg['logs_path'] = addslashes($_POST['logs_path']);
@@ -37,7 +38,7 @@ try {
if (isset($_POST['rankup_clean_clients_switch'])) $cfg['rankup_clean_clients_switch'] = 1; else $cfg['rankup_clean_clients_switch'] = 0;
$cfg['rankup_clean_clients_period'] = $_POST['rankup_clean_clients_period'];
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('logs_timezone','{$cfg['logs_timezone']}'),('default_date_format','{$cfg['default_date_format']}'),('logs_path','{$cfg['logs_path']}'),('logs_debug_level','{$cfg['logs_debug_level']}'),('logs_rotation_size','{$cfg['logs_rotation_size']}'),('default_language','{$cfg['default_language']}'),('version_update_channel','{$cfg['version_update_channel']}'),('rankup_hash_ip_addresses_mode','{$cfg['rankup_hash_ip_addresses_mode']}'),('default_session_sametime','{$cfg['default_session_sametime']}'),('default_header_origin','{$cfg['default_header_origin']}'),('default_header_xss','{$cfg['default_header_xss']}'),('default_header_contenttyp','{$cfg['default_header_contenttyp']}'),('default_header_frame','{$cfg['default_header_frame']}'),('rankup_client_database_id_change_switch','{$cfg['rankup_client_database_id_change_switch']}'),('rankup_clean_clients_switch','{$cfg['rankup_clean_clients_switch']}'),('rankup_clean_clients_period','{$cfg['rankup_clean_clients_period']}') ON DUPLICATE KEY UPDATE `value`=VALUES(`value`); DELETE FROM `$dbname`.`csrf_token` WHERE `token`='{$_POST['csrf_token']}'") === false) {
if ($mysqlcon->exec("INSERT INTO `$dbname`.`cfg_params` (`param`,`value`) VALUES ('logs_timezone','{$cfg['logs_timezone']}'),('default_date_format','{$cfg['default_date_format']}'),('logs_path','{$cfg['logs_path']}'),('logs_debug_level','{$cfg['logs_debug_level']}'),('logs_rotation_size','{$cfg['logs_rotation_size']}'),('default_language','{$cfg['default_language']}'),('version_update_channel','{$cfg['version_update_channel']}'),('rankup_hash_ip_addresses_mode','{$cfg['rankup_hash_ip_addresses_mode']}'),('default_session_sametime','{$cfg['default_session_sametime']}'),('default_header_origin','{$cfg['default_header_origin']}'),('default_header_xss','{$cfg['default_header_xss']}'),('default_header_contenttyp','{$cfg['default_header_contenttyp']}'),('default_header_frame','{$cfg['default_header_frame']}'),('default_cmdline_sec_switch','{$cfg['default_cmdline_sec_switch']}'),('rankup_client_database_id_change_switch','{$cfg['rankup_client_database_id_change_switch']}'),('rankup_clean_clients_switch','{$cfg['rankup_clean_clients_switch']}'),('rankup_clean_clients_period','{$cfg['rankup_clean_clients_period']}') 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 {
@@ -259,6 +260,17 @@ try {
</div>
</div>
<div class="row">&nbsp;</div>
<div class="form-group">
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wicmdlinesecdesc"><?php echo $lang['wicmdlinesec']; ?><i class="help-hover fas fa-question-circle"></i></label>
<div class="col-sm-8">
<?PHP if ($cfg['default_cmdline_sec_switch'] == 1) {
echo '<input class="switch-animate" type="checkbox" checked data-size="mini" name="default_cmdline_sec_switch" value="',$cfg['default_cmdline_sec_switch'],'">';
} else {
echo '<input class="switch-animate" type="checkbox" data-size="mini" name="default_cmdline_sec_switch" value="',$cfg['default_cmdline_sec_switch'],'">';
} ?>
</div>
</div>
<div class="row">&nbsp;</div>
<div class="form-group">
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wichdbiddesc"><?php echo $lang['wichdbid']; ?><i class="help-hover fas fa-question-circle"></i></label>
<div class="col-lg-8">
@@ -457,6 +469,22 @@ try {
</div>
</div>
</div>
<div class="modal fade" id="wicmdlinesecdesc" 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">&times;</span></button>
<h4 class="modal-title"><?php echo $lang['wicmdlinesec']; ?></h4>
</div>
<div class="modal-body">
<?php echo $lang['wicmdlinesecdesc']; ?>
</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="witszdesc" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
@@ -605,6 +633,7 @@ try {
}
});
$("[name='default_header_contenttyp']").bootstrapSwitch();
$("[name='default_cmdline_sec_switch']").bootstrapSwitch();
$("[name='rankup_client_database_id_change_switch']").bootstrapSwitch();
$("[name='rankup_clean_clients_switch']").bootstrapSwitch();
</script>

View File

@@ -14,7 +14,14 @@ try {
$err_lvl = 3;
}
if(($channellist = $mysqlcon->query("SELECT * FROM `$dbname`.`channel` ORDER BY `pid`,`channel_order`,`channel_name` ASC")->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(is_array($_POST['channelid'])) $_POST['channelid'] = $_POST['channelid'][0];
$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;
@@ -28,6 +35,7 @@ try {
$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']);
$cfg['teamspeak_verification_channel_id'] = $_POST['channelid'];
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);
@@ -192,18 +200,13 @@ try {
</div>
</div>
<div class="row">&nbsp;</div>
<div class="form-group">
<div class="form-group expertelement">
<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>
<?PHP
echo select_channel($channellist, $cfg['teamspeak_verification_channel_id']);
?>
</div>
</div>
<div class="row">&nbsp;</div>

View File

@@ -17,9 +17,15 @@ try {
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(($channellist = $mysqlcon->query("SELECT * FROM `$dbname`.`channel` ORDER BY `pid`,`channel_order`,`channel_name` ASC")->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['webinterface_admin_client_unique_id_list'] = '';
if(is_array($_POST['channelid'])) $_POST['channelid'] = $_POST['channelid'][0];
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']);
@@ -31,7 +37,7 @@ try {
$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_default_channel_id'] = $_POST['channelid'];
$cfg['teamspeak_query_command_delay'] = $_POST['teamspeak_query_command_delay'];
$cfg['teamspeak_avatar_download_delay']= $_POST['teamspeak_avatar_download_delay'];
@@ -155,15 +161,9 @@ try {
<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>
<?PHP
echo select_channel($channellist, $cfg['teamspeak_default_channel_id']);
?>
</div>
</div>
<div class="row expertelement">&nbsp;</div>