release 1.3.14

This commit is contained in:
Newcomer1989
2020-12-14 20:07:50 +01:00
parent e474b3feb8
commit 5961fb9c22
295 changed files with 16423 additions and 15297 deletions

View File

@@ -1,9 +1,12 @@
<?PHP
$job_check = $mysqlcon->query("SELECT * FROM `$dbname`.`job_check`")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC);
if((time() - $job_check['last_update']['timestamp']) < 259200 && !isset($_SESSION[$rspathhex.'upinfomsg'])) {
if(!isset($err_msg)) {
$err_msg = '<i class="fas fa-info-circle"></i>&nbsp;'.sprintf($lang['upinf2'], date("Y-m-d H:i",$job_check['last_update']['timestamp']), '<i class="fas fa-book"></i>&nbsp;<a href="//ts-ranksystem.com/?changelog" target="_blank">', '</a>'); $err_lvl = 1;
$_SESSION[$rspathhex.'upinfomsg'] = 1;
if(($job_check = $mysqlcon->query("SELECT * FROM `$dbname`.`job_check`")->fetchAll(PDO::FETCH_UNIQUE|PDO::FETCH_ASSOC)) === false) {
$err_msg = print_r($mysqlcon->errorInfo(), true); $err_lvl = 3;
} else {
if((time() - $job_check['last_update']['timestamp']) < 259200 && !isset($_SESSION[$rspathhex.'upinfomsg'])) {
if(!isset($err_msg)) {
$err_msg = '<i class="fas fa-info-circle"></i>&nbsp;'.sprintf($lang['upinf2'], date("Y-m-d H:i",$job_check['last_update']['timestamp']), '<i class="fas fa-book"></i>&nbsp;<a href="//ts-ranksystem.com/?changelog" target="_blank">', '</a>'); $err_lvl = 1;
$_SESSION[$rspathhex.'upinfomsg'] = 1;
}
}
}
@@ -108,12 +111,13 @@ if(isset($_POST['switchexpert']) && isset($_SESSION[$rspathhex.'username']) && $
<?PHP
if($cfg['webinterface_advanced_mode'] == 1) {
echo '<input name="switchexpert" value="0" type="hidden">';
echo '<input class="switch-animate" id="switchexpert" name="switchexpert" value="checked" type="checkbox" data-size="mini" data-label-text="Expert Mode" checked>';
echo '<input class="switch-animate" id="switchexpert" name="switchexpert" value="checked" type="checkbox" data-size="mini" data-label-width="100" data-label-text="Expert Mode" checked>';
} else {
echo '<input class="switch-animate" id="switchexpert" name="switchexpert" value="check" type="checkbox" data-size="mini" data-label-text="Expert Mode">';
echo '<input class="switch-animate" id="switchexpert" name="switchexpert" value="check" type="checkbox" data-size="mini" data-label-width="100" data-label-text="Expert Mode">';
}
?>
</form>
<script>$("[id='switchexpert']").bootstrapSwitch();</script>
</li>
<li class="divider"></li>
<?PHP if($_SERVER['SERVER_PORT'] == 443 || $_SERVER['SERVER_PORT'] == 80) {
@@ -140,18 +144,21 @@ if(isset($_POST['switchexpert']) && isset($_SESSION[$rspathhex.'username']) && $
echo '<li><a href="//',$_SERVER['SERVER_NAME'],':',$_SERVER['SERVER_PORT'],substr(dirname($_SERVER['SCRIPT_NAME']),0,-12),'stats/"><i class="fas fa-chart-bar"></i>&nbsp;',$lang['winav6'],'</a></li>';
} ?>
<li class="dropdown">
<a href="" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-globe-europe"></i>&nbsp;<b class="caret"></b></a>
<ul class="dropdown-menu">
<?PHP
$dropdownlist = '';
if(is_dir(substr(__DIR__,0,-12).'languages/')) {
foreach(scandir(substr(__DIR__,0,-12).'languages/') as $file) {
if ('.' === $file || '..' === $file || is_dir($file)) continue;
$sep_lang = preg_split("/[._]/", $file);
if(isset($sep_lang[0]) && $sep_lang[0] == 'core' && isset($sep_lang[1]) && strlen($sep_lang[1]) == 2 && isset($sep_lang[4]) && strtolower($sep_lang[4]) == 'php') {
echo '<li><a href="?lang='.$sep_lang[1].'"><span class="flag-icon flag-icon-'.$sep_lang[3].'"></span>&nbsp;&nbsp;'.strtoupper($sep_lang[1]).' - '.$sep_lang[2].'</a></li>';
if($_SESSION[$rspathhex.'language'] == $sep_lang[1]) {
$dropdownfront = '<a href="" class="dropdown-toggle" data-toggle="dropdown"><span class="flag-icon flag-icon-'.$sep_lang[3].'"></span>&nbsp;<b class="caret"></b></a><ul class="dropdown-menu">';
}
$dropdownlist .= '<li><a href="?lang='.$sep_lang[1].'"><span class="flag-icon flag-icon-'.$sep_lang[3].'"></span>&nbsp;&nbsp;'.strtoupper($sep_lang[1]).' - '.$sep_lang[2].'</a></li>';
}
}
}
echo $dropdownfront,$dropdownlist;
?>
</ul>
</li>

View File

@@ -26,31 +26,53 @@ try {
$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);
$limit = $alwgr = $excgr = $name = '';
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;
foreach($_POST['assign_groups_limit'] as $rowid => $value) {
$name .= isset($_POST["assign_groups_name"][$rowid]) ? $_POST["assign_groups_name"][$rowid].';' : ';';
$limit .= isset($_POST["assign_groups_limit"][$rowid]) ? intval($_POST["assign_groups_limit"][$rowid]).';' : '1;';
if(isset($_POST['assign_groups_groupids'][$rowid])) {
foreach ($_POST['assign_groups_groupids'][$rowid] as $group) {
$alwgr .= $group.',';
}
$alwgr = substr($alwgr,0,-1);
} else {
$err_msg = $lang['stag0010'];
$err_lvl = 3;
}
$alwgr .= ';';
if(isset($_POST['assign_groups_excepted_groupids'][$rowid])) {
foreach ($_POST['assign_groups_excepted_groupids'][$rowid] as $group) {
$excgr .= $group.',';
}
$excgr = substr($excgr,0,-1);
} else {
}
$excgr .= ';';
}
$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'];
$name = substr($name,0,-1);
$limit = substr($limit,0,-1);
$alwgr = substr($alwgr,0,-1);
$excgr = substr($excgr,0,-1);
if(!isset($err_lvl)) {
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);
$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>');
$err_lvl = NULL;
} else {
$err_msg = $lang['wisvsuc'];
$err_lvl = NULL;
}
}
$addons_config['assign_groups_groupids']['value'] = $alwgr;
$addons_config['assign_groups_excepted_groupids']['value'] = $excgr;
$addons_config['assign_groups_name']['value'] = $name;
$addons_config['assign_groups_limit']['value'] = $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>';
@@ -82,26 +104,113 @@ try {
<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['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 class="row">&nbsp;</div>
<div class="row">&nbsp;</div>
</div>
<div class="col-md-3">
</div>
<div class="col-md-6 hidden onlyforcount" id="template" name="onlyforcount">
<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-1 delete" name="delete"><i class="fas fa-trash" style="margin-top:10px;cursor:pointer;" title="delete this block"></i></div>
<label class="col-sm-3 control-label" data-toggle="modal" data-target="#stag0021"><?php echo $lang['stag0020']; ?><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,'">';
} ?>
<input type="text" class="form-control" data-pattern="^[a-zA-Z0-9]{1,64}$" data-error="No special characters allowed!" name="temp_assign_groups_name[]" value="" minlength="2" maxlength="65535">
</div>
</div>
<div class="row">&nbsp;</div>
<div class="row">&nbsp;</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[]">
<select class="selectpicker form-control" data-live-search="true" data-actions-box="true" multiple name="temp_assign_groups_groupids[]">
<?PHP
$assign_groups_groupids = explode(',', $addons_config['assign_groups_groupids']['value']);
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="&nbsp;&nbsp;<img src=\'../tsicons/',$iconid,$groupParam['ext'],'\' width=\'16\' height=\'16\'>&nbsp;&nbsp;',$groupParam['sgidname'],'&nbsp;<span class=\'text-muted small\'>SGID:&nbsp;',$groupID,$grouptype,'</span>" value="',$groupID,'"',$disabled,'></option>';
}
}
?>
</select>
</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 assign_groups_limit" name="temp_assign_groups_limit[]" value="1">
<script>
$("input[name='assign_groups_limit[]']").TouchSpin({
min: 1,
max: 65534,
verticalbuttons: true,
prefix: 'No.'
});
</script>
</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="temp_assign_groups_excepted_groupids[]">
<?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="&nbsp;&nbsp;<img src=\'../tsicons/',$iconid,$groupParam['ext'],'\' width=\'16\' height=\'16\'>&nbsp;&nbsp;',$groupParam['sgidname'],'&nbsp;<span class=\'text-muted small\'>SGID:&nbsp;',$groupID,$grouptype,'</span>" value="',$groupID,'"',$disabled,'></option>';
}
}
?>
</select>
</div>
</div>
</div>
</div>
</div>
<?PHP
$alwgr = explode(';',$addons_config['assign_groups_groupids']['value']);
$limit = explode(';',$addons_config['assign_groups_limit']['value']);
$excgr = explode(';',$addons_config['assign_groups_excepted_groupids']['value']);
if(isset($addons_config['assign_groups_name']['value'])) {
$name = explode(';',$addons_config['assign_groups_name']['value']);
} else {
$name = '';
}
foreach($alwgr as $rowid => $value) {
?>
<div class="col-md-6" name="onlyforcount">
<div class="panel panel-default">
<div class="panel-body">
<div class="form-group">
<div class="col-sm-1 delete" name="delete"><i class="fas fa-trash" style="margin-top:10px;cursor:pointer;" title="delete this block"></i></div>
<label class="col-sm-3 control-label" data-toggle="modal" data-target="#stag0021"><?php echo $lang['stag0020']; ?><i class="help-hover fas fa-question-circle"></i></label>
<div class="col-sm-8">
<input type="text" class="form-control" data-pattern="^[a-zA-Z0-9]{1,64}$" data-error="No special characters allowed!" name="assign_groups_name[]" value="<?php echo $name[$rowid]; ?>" minlength="2" maxlength="65535">
</div>
</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<?PHP if(!isset($alwgr[$rowid]) || $alwgr[$rowid]==NULL) echo " form-control-danger"; ?>" data-live-search="true" data-actions-box="true" multiple name="assign_groups_groupids[<?PHP echo $rowid; ?>][]">
<?PHP
$assign_groups_groupids = explode(',', $alwgr[$rowid]);
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";
@@ -119,9 +228,9 @@ try {
<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']; ?>">
<input type="text" class="form-control" name="assign_groups_limit[]" value="<?php echo $limit[$rowid]; ?>">
<script>
$("input[name='assign_groups_limit']").TouchSpin({
$("input[name='assign_groups_limit[]']").TouchSpin({
min: 1,
max: 65534,
verticalbuttons: true,
@@ -133,9 +242,9 @@ try {
<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[]">
<select class="selectpicker form-control" data-live-search="true" data-actions-box="true" multiple name="assign_groups_excepted_groupids[<?PHP echo $rowid; ?>][]">
<?PHP
$assign_groups_excepted_groupids = explode(',', $addons_config['assign_groups_excepted_groupids']['value']);
$assign_groups_excepted_groupids = explode(',', $excgr[$rowid]);
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";
@@ -153,6 +262,29 @@ try {
</div>
</div>
</div>
<?PHP
}
?>
<div class="col-md-6" id="addboostgroup">
<div class="panel panel-default">
<div class="panel-body">
<div class="row">&nbsp;</div>
<div class="row">&nbsp;</div>
<div class="row">&nbsp;</div>
<div class="row">&nbsp;</div>
<div class="row text-center">
<span class="d-inline-block" ata-toggle="tooltip" title="Add new block 'assign group'">
<button class="btn btn-primary" onclick="addboostgroup()" style="margin-top: 5px;" type="button"><i class="fas fa-plus"></i></button>
</span>
</div>
<div class="row">&nbsp;</div>
<div class="row">&nbsp;</div>
<div class="row">&nbsp;</div>
<div class="row">&nbsp;</div>
</div>
</div>
</div>
</div>
<div class="row">&nbsp;</div>
<div class="row">
@@ -246,6 +378,55 @@ try {
</div>
</div>
</div>
<div class="modal fade" id="stag0021" 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['stag0020']; ?></h4>
</div>
<div class="modal-body">
<?php echo $lang['stag0021']; ?>
</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='assign_groups_active']").bootstrapSwitch();
function addboostgroup() {
var $clone = $("div[id='template']").last().clone();
$clone.removeClass("hidden");
$clone.insertBefore("#addboostgroup");
var $cnt = $("div[name='onlyforcount']").length;
$cnt = $cnt - 2;
$clone.find('.bootstrap-select').replaceWith(function() { return $('select', this); });
$clone.find('select').selectpicker('val', '');
$("select[name='temp_assign_groups_groupids[]']").last().attr('name', 'assign_groups_groupids[' + $cnt + '][]');
$("input[name='temp_assign_groups_limit[]']").last().attr('name', 'assign_groups_limit[]');
$("input[name='temp_assign_groups_name[]']").last().attr('name', 'assign_groups_name[]');
$("select[name='temp_assign_groups_excepted_groupids[]']").last().attr('name', 'assign_groups_excepted_groupids[' + $cnt + '][]');
$clone.find('.assign_groups_limit').TouchSpin({min: 1,max: 65534,verticalbuttons: true,prefix: 'No.'});
$clone.find('.assign_groups_limit').removeClass("assign_groups_limit");
};
$(document).on("click", ".delete", function(){
$(this).parent().parent().parent().parent().remove();
});
</script>
</body>
</html>
<?PHP

View File

@@ -152,7 +152,7 @@ try {
<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">
<input id="switchexpert1" class="switch-animate" type="checkbox" data-size="mini" value="switchexpert1" data-label-width="100" data-label-text="<?php echo $lang['wigrpimp'] ?>" data-off-text="OFF">
</div>
</h1>
</div>
@@ -271,7 +271,7 @@ try {
<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">
<input id="switchexpert2" class="switch-animate" type="checkbox" checked data-size="mini" alue="switchexpert2" data-label-width="100" data-label-text="<?php echo $lang['wigrpimp'] ?>" data-on-text="ON">
</div>
</h1>
</div>
@@ -389,7 +389,7 @@ try {
if (document.contains(document.getElementById("noentry"))) {
document.getElementById("noentry").remove();
}
$clone.find('.bootstrap-touchspin').replaceWith(function() { return $('input', this); });;
$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.:'});
};
@@ -406,6 +406,7 @@ try {
document.getElementById("old").classList.add("hidden");
$('#switchexpert1').bootstrapSwitch('state', false, false);
});
$("[id='switchexpert1']").bootstrapSwitch();
</script>
</body>
</html>

View File

@@ -141,7 +141,7 @@ try {
<?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"; ?>
<?PHP echo human_readable_size(filesize($cfg['logs_path'].$file),$lang); ?>
</div>
<div class="col-sm-3">
<?PHP echo md5_file($cfg['logs_path'].$file); ?>

View File

@@ -259,6 +259,9 @@ try {
</div>
</div>
</div>
<script>
$("[name='stats_imprint_switch']").bootstrapSwitch();
</script>
</body>
</html>
<?PHP

View File

@@ -219,6 +219,9 @@ try {
</div>
</div>
</div>
<script>
$("[name='rankup_message_to_user_switch']").bootstrapSwitch();
</script>
</body>
</html>
<?PHP

View File

@@ -604,6 +604,9 @@ try {
$('#default_header_origin_value').attr('name', '');
}
});
$("[name='default_header_contenttyp']").bootstrapSwitch();
$("[name='rankup_client_database_id_change_switch']").bootstrapSwitch();
$("[name='rankup_clean_clients_switch']").bootstrapSwitch();
</script>
</body>
</html>

View File

@@ -36,6 +36,7 @@ try {
}
}
$errcnf = 0;
if(isset($groupslist) && $groupslist != NULL) {
if(isset($cfg['rankup_definition']) && $cfg['rankup_definition'] != NULL) {
foreach($cfg['rankup_definition'] as $time => $value) {
@@ -144,7 +145,7 @@ try {
<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">
<input id="switchexpert1" class="switch-animate" type="checkbox" data-size="mini" value="switchexpert1" data-label-width="100" data-label-text="<?php echo $lang['wigrpimp'] ?>" data-off-text="OFF">
</div>
</h1>
</div>
@@ -234,7 +235,7 @@ try {
<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">
<input id="switchexpert2" class="switch-animate" type="checkbox" checked data-size="mini" value="switchexpert2" data-label-width="100" data-label-text="<?php echo $lang['wigrpimp'] ?>" data-on-text="ON">
</div>
</h1>
</div>
@@ -323,8 +324,11 @@ try {
prefix: 'Sec.:'
});
function addrankupgroup() {
$("[name='rankupkeep[]']").last().bootstrapSwitch('destroy', true);
var $clone = $("div[name='rankupgroup']").last().clone();
$("[name='rankupkeep[]']").last().bootstrapSwitch();
$clone.insertBefore("#addrankupgroup");
$("[name='rankupkeep[]']").last().bootstrapSwitch();
$clone.find('.bootstrap-select').replaceWith(function() { return $('select', this); });
$clone.find('select').selectpicker('val', '');
$clone.find('.bootstrap-touchspin').replaceWith(function() { return $('input', this); });;
@@ -359,6 +363,8 @@ try {
document.getElementById("old").classList.add("hidden");
$('#switchexpert1').bootstrapSwitch('state', false, false);
});
$("[name='rankupkeep[]']").bootstrapSwitch();
$("[id='switchexpert1']").bootstrapSwitch();
</script>
</body>
</html>

View File

@@ -34,8 +34,10 @@ try {
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'];
$cfg['stats_column_default_order_2'] = $_POST['stats_column_default_order_2'];
$cfg['stats_column_default_sort_2'] = $_POST['stats_column_default_sort_2'];
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) {
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_column_default_order_2','{$cfg['stats_column_default_order_2']}'),('stats_column_default_sort_2','{$cfg['stats_column_default_sort_2']}'),('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 {
@@ -257,6 +259,42 @@ try {
</select>
</div>
</div>
<div class="row">&nbsp;</div>
<div class="form-group">
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishdef2desc"><?php echo $lang['wishdef2']; ?><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_2">
<?PHP
echo '<option data-icon="fas fa-hashtag" data-subtext="[default]" value="rank"'.($cfg['stats_column_default_sort_2'] === '1' ? ' selected="selected"' : '').'>&nbsp;'.$lang['listrank'].'</option>';
echo '<option data-icon="fas fa-user" value="name"'.($cfg['stats_column_default_sort_2'] === 'name' ? ' selected="selected"' : '').'>&nbsp;'.$lang['listnick'].'</option>';
echo '<option data-icon="fas fa-id-card" value="uuid"'.($cfg['stats_column_default_sort_2'] === 'uuid' ? ' selected="selected"' : '').'>&nbsp;'.$lang['listuid'].'</option>';
echo '<option data-icon="fas fa-database" value="cldbid"'.($cfg['stats_column_default_sort_2'] === 'cldbid' ? ' selected="selected"' : '').'>&nbsp;'.$lang['listcldbid'].'</option>';
echo '<option data-icon="fas fa-user-clock" value="lastseen"'.($cfg['stats_column_default_sort_2'] === 'lastseen' ? ' selected="selected"' : '').'>&nbsp;'.$lang['listseen'].'</option>';
echo '<option data-icon="fas fa-globe-europe" value="nation"'.($cfg['stats_column_default_sort_2'] === 'nation' ? ' selected="selected"' : '').'>&nbsp;'.$lang['listnat'].'</option>';
echo '<option data-icon="fas fa-tag" value="version"'.($cfg['stats_column_default_sort_2'] === 'version' ? ' selected="selected"' : '').'>&nbsp;'.$lang['listver'].'</option>';
echo '<option data-icon="fas fa-server" value="platform"'.($cfg['stats_column_default_sort_2'] === 'platform' ? ' selected="selected"' : '').'>&nbsp;'.$lang['listpla'].'</option>';
echo '<option data-icon="fas fa-hourglass-start" value="count"'.($cfg['stats_column_default_sort_2'] === 'count' ? ' selected="selected"' : '').'>&nbsp;'.$lang['listsumo'].'</option>';
echo '<option data-icon="fas fa-hourglass-end" value="idle"'.($cfg['stats_column_default_sort_2'] === 'idle' ? ' selected="selected"' : '').'>&nbsp;'.$lang['listsumi'].'</option>';
echo '<option data-icon="fas fa-hourglass-half" value="active"'.($cfg['stats_column_default_sort_2'] === 'active' ? ' selected="selected"' : '').'>&nbsp;'.$lang['listsuma'].'</option>';
echo '<option data-icon="fas fa-clipboard-check" value="grpid"'.($cfg['stats_column_default_sort_2'] === 'grpid' ? ' selected="selected"' : '').'>&nbsp;'.$lang['listacsg'].'</option>';
echo '<option data-icon="fas fa-history" value="grpidsince"'.($cfg['stats_column_default_sort_2'] === 'grpidsince' ? ' selected="selected"' : '').'>&nbsp;'.$lang['listgrps'].'</option>';
echo '<option data-icon="fas fa-clock" value="nextup"'.($cfg['stats_column_default_sort_2'] === 'nextup' ? ' selected="selected"' : '').'>&nbsp;'.$lang['listnxup'].'</option>';
echo '<option data-icon="fas fa-clipboard-list" value="active"'.($cfg['stats_column_default_sort_2'] === 'active' ? ' selected="selected"' : '').'>&nbsp;'.$lang['listnxsg'].'</option>';
?>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label" data-toggle="modal" data-target="#wishsort2desc"><?php echo $lang['wishsort2']; ?><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_2">
<?PHP
echo '<option data-subtext="[ASC]" data-icon="fas fa-sort-asc" value="asc"'.($cfg['stats_column_default_order_2'] === 'asc' ? ' selected="selected"' : '').'>&nbsp;'.$lang['asc'].'</option>';
echo '<option data-subtext="[DESC]" data-icon="fas fa-sort-desc" value="desc"'.($cfg['stats_column_default_order_2'] === 'desc' ? ' selected="selected"' : '').'>&nbsp;'.$lang['desc'].'</option>';
?>
</select>
</div>
</div>
</div>
</div>
<div class="panel-body expertelement">
@@ -343,6 +381,38 @@ try {
</div>
</div>
</div>
<div class="modal fade" id="wishdef2desc" 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['wishdef2']; ?></h4>
</div>
<div class="modal-body">
<?php echo $lang['wishdef2desc']; ?>
</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="wishsort2desc" 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['wishsort2']; ?></h4>
</div>
<div class="modal-body">
<?php echo $lang['wishsort2desc']; ?>
</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">
@@ -375,6 +445,25 @@ try {
</div>
</div>
</div>
<script>
$("[name='stats_column_rank_switch']").bootstrapSwitch();
$("[name='stats_column_client_name_switch']").bootstrapSwitch();
$("[name='stats_column_unique_id_switch']").bootstrapSwitch();
$("[name='stats_column_client_db_id_switch']").bootstrapSwitch();
$("[name='stats_column_last_seen_switch']").bootstrapSwitch();
$("[name='stats_column_nation_switch']").bootstrapSwitch();
$("[name='stats_column_version_switch']").bootstrapSwitch();
$("[name='stats_column_platform_switch']").bootstrapSwitch();
$("[name='stats_column_online_time_switch']").bootstrapSwitch();
$("[name='stats_column_idle_time_switch']").bootstrapSwitch();
$("[name='stats_column_active_time_switch']").bootstrapSwitch();
$("[name='stats_column_current_server_group_switch']").bootstrapSwitch();
$("[name='stats_column_next_rankup_switch']").bootstrapSwitch();
$("[name='stats_column_next_server_group_switch']").bootstrapSwitch();
$("[name='stats_column_current_group_since_switch']").bootstrapSwitch();
$("[name='stats_show_excepted_clients_switch']").bootstrapSwitch();
$("[name='stats_show_clients_in_highest_rank_switch']").bootstrapSwitch();
</script>
</body>
</html>
<?PHP

View File

@@ -376,6 +376,12 @@ try {
</div>
</div>
</div>
<script>
$("[name='reset_group_withdraw']").bootstrapSwitch();
$("[name='reset_webspace_cache']").bootstrapSwitch();
$("[name='reset_usage_graph']").bootstrapSwitch();
$("[name='reset_stop_after']").bootstrapSwitch();
</script>
</body>
</html>
<?PHP

View File

@@ -4,10 +4,6 @@ require_once('_preload.php');
try {
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);
}
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;
@@ -18,15 +14,15 @@ try {
$err_lvl = 3;
}
if (($last_access['webinterface_access_last'] + 1) >= time()) {
$again = $last_access['webinterface_access_last'] + 2 - time();
if (($cfg['webinterface_access_last'] + 1) >= time()) {
$again = $cfg['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;
$err_msg = sprintf($lang['wirtpw1'], '<a href="https://github.com/Newcomer1989/TSN-Ranksystem/wiki#reset-password-webinterface" target="_blank">https://github.com/Newcomer1989/TSN-Ranksystem/wiki#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;
$newcount = $cfg['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');
@@ -48,6 +44,7 @@ try {
$pwd = substr(str_shuffle('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789#*+;:-_~?=%&!()'),0,12);
$cfg['webinterface_pass'] = password_hash($pwd, PASSWORD_DEFAULT);
$err_msg = '';
foreach($allclients as $client) {
if(array_key_exists(htmlspecialchars($client['client_unique_identifier'], ENT_QUOTES), $cfg['webinterface_admin_client_unique_id_list'])) {

View File

@@ -338,6 +338,9 @@ try {
</div>
</div>
</div>
<script>
$("[name='stats_show_site_navigation_switch']").bootstrapSwitch();
</script>
</body>
</html>
<?PHP

View File

@@ -418,6 +418,7 @@ try {
pattern: "There should be an error in your value, please check all could be right!"
}
});
$("[name='teamspeak_query_encrypt_switch']").bootstrapSwitch();
</script>
</body>
</html>