saimod server handling now allows graph scaling, beta page better organized, logout & login functionality

This commit is contained in:
Ulf Gebhardt 2015-12-29 04:19:15 +01:00
parent f423fbbf88
commit f49c126e79
9 changed files with 522 additions and 30 deletions

View File

@ -5,15 +5,16 @@ class default_beta extends \SYSTEM\PAGE\Page {
$this->key=$key;}
public function html(){
if(!\SAI\saimod_mojotrollz_beta::code_check($this->key)){
$vars = \SYSTEM\PAGE\text::tag('mojotrollz');
$vars = array();
$vars['invalid_key'] = ($this->key && !\SYSTEM\SECURITY\Security::isLoggedIn()) ? '<p><font color="red">Your key is invalid or already in use!</font></p>' : '';
$vars['beta_area'] = \SYSTEM\SECURITY\Security::isLoggedIn() ?
\SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PPAGE(),'default_beta/tpl/beta_loggedin.tpl'), array('email' => \SYSTEM\SECURITY\Security::getUser()->email)) :
\SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PPAGE(),'default_beta/tpl/beta_loggedin.tpl'), array('email' => \SYSTEM\SECURITY\Security::getUser()->email,'username' => \SYSTEM\SECURITY\Security::getUser()->username)) :
\SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PPAGE(),'default_beta/tpl/beta_loggedout.tpl'));
$vars = array_merge($vars,\SYSTEM\PAGE\text::tag('basic'),\SYSTEM\PAGE\text::tag('mojotrollz'));
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PPAGE(),'default_beta/tpl/beta.tpl'), $vars);
}
$vars = \SYSTEM\PAGE\text::tag('basic');
$vars['key'] = $this->key;
$vars = array_merge($vars,\SYSTEM\PAGE\text::tag('basic'),\SYSTEM\PAGE\text::tag('mojotrollz'));
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new PPAGE(),'default_beta/tpl/beta_register.tpl'), $vars);
}
public static function js(){

View File

@ -35,4 +35,36 @@ function init_beta(){
event.preventDefault();
}
});
$("#login_form input").not("[type=submit]").jqBootstrapValidation({
preventSubmit: true,
submitError: function($form, event, errors) {},
submitSuccess: function($form, event){
$.get('./api.php?call=account&action=login&username='+$('#bt_login_user').val()+'&password_sha='+$.sha1($('#bt_login_password').val())+'&password_md5='+$.md5($('#bt_login_password').val()), function (data) {
if(data == 1){
$('.help-block').html("Login successfull.</br>");
location.reload(true);
} else {
$('.help-block').html("Login not successfull.</br> User & Password combination wrong.")
}
});
event.preventDefault();
}
});
$("#logout_form input").not("[type=submit]").jqBootstrapValidation({
preventSubmit: true,
submitError: function($form, event, errors) {},
submitSuccess: function($form, event){
$.get('./api.php?call=account&action=logout', function (data) {
if(data == 1){
$('.help-block').html("Logout successfull.</br>");
location.reload(true);
} else {
$('.help-block').html("Logout not successfull.</br>")
}
});
event.preventDefault();
}
});
}

View File

@ -1,22 +1,17 @@
<div class="row-fluid">
<div class="col-md-12 mojotrollz_col mojotrollz_col_content">
<div class="row">
<div class="col-md-9">
<div class="col-md-8">
<h2>Mojotrollz Beta</h2>
${invalid_key}
</div>
<div class="col-md-3">
<h3><b>Join the Beta Here</b></h3>
<div class="col-md-8">
${mojotrollz_progressive}
</div>
<div class="col-md-9">
On this page you will find Information about our progressive Beta Content.
<br>
<b>You require a Beta-Key to register.</b>
<div class="col-md-4">
${beta_area}
</div>
${beta_area}
</div>
<hr>
${mojotrollz_progressive}
</div>
</div>

View File

@ -1,4 +1,18 @@
<div class="col-md-3">
You are part of the Beta! <br>
You are logged in as <b>${email}</b>
<div class="panel panel-success">
<div class="panel-heading"><h4>You are part of the Beta!</h4></div>
<div class="panel-body">
You are logged in as <b>${email}</b><br>
Your Website Account-Name is: <b>${username}</b>
</div>
</div>
<div class="panel panel-default">
<div class="panel-body">
<form class="textbox" style="padding:10px" id="logout_form">
<div class="control-group">
<div class="help-block"></div>
<input type="hidden" />
<button class="btn-sm btn btn-primary" style="width: 95%;" type="submit" id="logout_submit"><span class="glyphicon glyphicon-log-out" aria-hidden="true"></span> ${basic_logout}</button>
</div>
</form>
</div>
</div>

View File

@ -1,5 +1,39 @@
<div class="col-md-3">
<input id="input_beta_key" type="text" maxlength="6" placeholder="Enter Your Beta Key" style="width: 95%;"/>
<br><br>
<button id="btn_beta" class="btn btn-success btn-lg" style="width: 95%;">Join the Mojotribe</button>
<div class="panel panel-success">
<div class="panel-heading"><h4>Join the Beta Here</h4></div>
<div class="panel-body">
<input id="input_beta_key" type="text" maxlength="6" placeholder="Enter Your Beta Key" style="width: 95%;"/>
<br><br>
<button id="btn_beta" class="btn btn-success btn-lg" style="width: 95%;">Join the Mojotribe</button>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading"><h4>Login</h4></div>
<div class="panel-body">
<form class="textbox" id="login_form">
<div class="control-group">
<div class="controls">
<input type="text"
size="30"
style="margin-bottom: 15px; width: 95%;"
id="bt_login_user"
placeholder="${basic_placeholder_username}"
minlength="3" data-validation-minlength-message="Username too short."
maxlength="16" data-validation-maxlength-message="Username too long."
required data-validation-required-message="Username required."/>
</div>
<div class="controls">
<input type="password"
size="30"
style="margin-bottom: 15px; width: 95%;"
id="bt_login_password"
placeholder="${basic_placeholder_password}"
minlength="5" data-validation-minlength-message="Password too short."
maxlength="16" data-validation-maxlength-message="Password too long."
required data-validation-required-message="Password required."/>
</div>
<div class="help-block"></div>
<button class="btn-sm btn btn-primary" style="width: 95%;" type="submit" id="login_submit"><span class="glyphicon glyphicon-log-in" aria-hidden="true"></span> ${basic_login}</button>
</div>
</form>
</div>
</div>

View File

@ -81,4 +81,348 @@ mojotrollz_download_first{
.ontop{
z-index: 3;
}
.panel {
margin-bottom: 20px;
background-color: #2e3338;
border: 1px solid transparent;
border-radius: 4px;
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
padding: 15px;
}
.panel-heading {
padding: 10px 15px;
border-bottom: 1px solid transparent;
border-top-right-radius: 3px;
border-top-left-radius: 3px;
}
.panel-heading > .dropdown .dropdown-toggle {
color: inherit;
}
.panel-title {
margin-top: 0;
margin-bottom: 0;
font-size: 16px;
color: inherit;
}
.panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
color: inherit;
}
.panel-footer {
padding: 10px 15px;
background-color: #3e444c;
border-top: 1px solid rgba(0, 0, 0, 0.6);
border-bottom-right-radius: 3px;
border-bottom-left-radius: 3px;
}
.panel > .list-group,
.panel > .panel-collapse > .list-group {
margin-bottom: 0;
}
.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
border-width: 1px 0;
border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
border-top: 0;
border-top-right-radius: 3px;
border-top-left-radius: 3px;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
border-bottom: 0;
border-bottom-right-radius: 3px;
border-bottom-left-radius: 3px;
}
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
border-top-right-radius: 0;
border-top-left-radius: 0;
}
.panel-heading + .list-group .list-group-item:first-child {
border-top-width: 0;
}
.list-group + .panel-footer {
border-top-width: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
padding-left: 15px;
padding-right: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
border-top-right-radius: 3px;
border-top-left-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
border-top-left-radius: 3px;
border-top-right-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
border-top-left-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
border-top-right-radius: 3px;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
border-bottom-right-radius: 3px;
border-bottom-left-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
border-bottom-left-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
border-bottom-right-radius: 3px;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
border-top: 1px solid #1c1e22;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
border-bottom: 0;
}
.panel > .table-responsive {
border: 0;
margin-bottom: 0;
}
.panel-group {
margin-bottom: 20px;
}
.panel-group .panel {
margin-bottom: 0;
border-radius: 4px;
}
.panel-group .panel + .panel {
margin-top: 5px;
}
.panel-group .panel-heading {
border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
border-top: 1px solid rgba(0, 0, 0, 0.6);
}
.panel-group .panel-footer {
border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
border-bottom: 1px solid rgba(0, 0, 0, 0.6);
}
.panel-default {
border-color: rgba(0, 0, 0, 0.6);
}
.panel-default > .panel-heading {
color: #c8c8c8;
background-color: #3e444c;
border-color: rgba(0, 0, 0, 0.6);
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
border-top-color: rgba(0, 0, 0, 0.6);
}
.panel-default > .panel-heading .badge {
color: #3e444c;
background-color: #c8c8c8;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: rgba(0, 0, 0, 0.6);
}
.panel-primary {
border-color: rgba(0, 0, 0, 0.6);
}
.panel-primary > .panel-heading {
color: #ffffff;
background-color: #7a8288;
border-color: rgba(0, 0, 0, 0.6);
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
border-top-color: rgba(0, 0, 0, 0.6);
}
.panel-primary > .panel-heading .badge {
color: #7a8288;
background-color: #ffffff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: rgba(0, 0, 0, 0.6);
}
.panel-success {
border-color: rgba(0, 0, 0, 0.6);
}
.panel-success > .panel-heading {
color: #ffffff;
background-color: #62c462;
border-color: rgba(0, 0, 0, 0.6);
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
border-top-color: rgba(0, 0, 0, 0.6);
}
.panel-success > .panel-heading .badge {
color: #62c462;
background-color: #ffffff;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: rgba(0, 0, 0, 0.6);
}
.panel-info {
border-color: rgba(0, 0, 0, 0.6);
}
.panel-info > .panel-heading {
color: #ffffff;
background-color: #5bc0de;
border-color: rgba(0, 0, 0, 0.6);
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
border-top-color: rgba(0, 0, 0, 0.6);
}
.panel-info > .panel-heading .badge {
color: #5bc0de;
background-color: #ffffff;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: rgba(0, 0, 0, 0.6);
}
.panel-warning {
border-color: rgba(0, 0, 0, 0.6);
}
.panel-warning > .panel-heading {
color: #ffffff;
background-color: #f89406;
border-color: rgba(0, 0, 0, 0.6);
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
border-top-color: rgba(0, 0, 0, 0.6);
}
.panel-warning > .panel-heading .badge {
color: #f89406;
background-color: #ffffff;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: rgba(0, 0, 0, 0.6);
}
.panel-danger {
border-color: rgba(0, 0, 0, 0.6);
}
.panel-danger > .panel-heading {
color: #ffffff;
background-color: #ee5f5b;
border-color: rgba(0, 0, 0, 0.6);
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
border-top-color: rgba(0, 0, 0, 0.6);
}
.panel-danger > .panel-heading .badge {
color: #ee5f5b;
background-color: #ffffff;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: rgba(0, 0, 0, 0.6);
}

View File

@ -1,8 +1,18 @@
function init_saimod_mojotrollz_server(){
{
load_visualisation_mojotrollz_server('vis_tbc', 'stats_tbc', 'Players on WoW-TBC', 400,250);
load_visualisation_mojotrollz_server('vis_classic', 'stats_classic', 'Players on WoW-Classic', 400,250);
load_visualisation_mojotrollz_server('vis_ts', 'stats_ts', 'Players on Teamspeak', 900,400);
load_visualisation_mojotrollz_server('vis_ts', 'stats_ts', '#filter_vis_ts', 'Players on Teamspeak', 900,400);
load_visualisation_mojotrollz_server('vis_tbc', 'stats_tbc', '#filter_vis_tbc', 'Players on WoW-TBC', 400,250);
load_visualisation_mojotrollz_server('vis_classic', 'stats_classic', '#filter_vis_classic', 'Players on WoW-Classic', 400,250);
$('#filter_vis_ts').on('change',function(){
load_visualisation_mojotrollz_server('vis_ts', 'stats_ts', '#filter_vis_ts', 'Players on Teamspeak', 900,400);
})
$('#filter_vis_tbc').on('change',function(){
load_visualisation_mojotrollz_server('vis_tbc', 'stats_tbc', '#filter_vis_tbc', 'Players on WoW-TBC', 400,250);
})
$('#filter_vis_classic').on('change',function(){
load_visualisation_mojotrollz_server('vis_classic', 'stats_classic', '#filter_vis_classic', 'Players on WoW-Classic', 400,250);
})
}
{
$('#btn_update').click(function(){
@ -1209,8 +1219,8 @@ function growl_end_error(message){
});
}
function load_visualisation_mojotrollz_server(div, stats, name, width, height){
$.getJSON('./sai.php?sai_mod=.SAI.saimod_mojotrollz_server_handling&action='+stats,function(json){
function load_visualisation_mojotrollz_server(div, stats, filter, name, width, height){
$.getJSON('./sai.php?sai_mod=.SAI.saimod_mojotrollz_server_handling&action='+stats+'&filter='+$(filter).val(),function(json){
if(!json || json.status != true || !json.result){
return;}
json = json.result;

View File

@ -1,5 +1,7 @@
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5100, 42, 0, 0, '_SAI_saimod_mojotrollz_server_handling', 'action', NULL);
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5110, 42, 2, 5100, 'revert', 'path', 'STRING');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5111, 42, 3, 5100, 'revert', 'submodule', 'STRING');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5115, 42, 2, 5100, 'remove', 'path', 'STRING');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5116, 42, 3, 5100, 'remove', 'submodule', 'STRING');
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5100, 42, 0, 0, '_SAI_saimod_mojotrollz_server_handling', 'action', NULL);
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5110, 42, 2, 5100, 'revert', 'path', 'STRING');
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5111, 42, 3, 5100, 'revert', 'submodule', 'STRING');
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5115, 42, 2, 5100, 'remove', 'path', 'STRING');
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5116, 42, 3, 5100, 'remove', 'submodule', 'STRING');
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5120, 42, 3, 5100, NULL, 'filter', 'INT');

View File

@ -6,6 +6,26 @@
<br>
<br>
<div id="vis_ts"></div>
<select id="filter_vis_ts">
<option value="2692000">30d</option>
<option value="1209600">14d</option>
<option value="604800">7d</option>
<option value="172800">2d</option>
<option value="86400">1d</option>
<option value="43200">12h</option>
<option value="21600">6h</option>
<option value="14400">4h</option>
<option value="7200">2h</option>
<option value="3600">1h</option>
<option value="1800">30m</option>
<option value="600" selected>10m</option>
<option value="300">5m</option>
<option value="60">1m</option>
<option value="30">30s</option>
<option value="10">10s</option>
<option value="5">5s</option>
<option value="1">1s</option>
</select>
</div>
</div>
<div class="row">
@ -36,6 +56,26 @@
</tr>
</table>
<div id="vis_classic"></div>
<select id="filter_vis_classic">
<option value="2692000">30d</option>
<option value="1209600">14d</option>
<option value="604800">7d</option>
<option value="172800">2d</option>
<option value="86400">1d</option>
<option value="43200">12h</option>
<option value="21600">6h</option>
<option value="14400">4h</option>
<option value="7200">2h</option>
<option value="3600">1h</option>
<option value="1800">30m</option>
<option value="600" selected>10m</option>
<option value="300">5m</option>
<option value="60">1m</option>
<option value="30">30s</option>
<option value="10">10s</option>
<option value="5">5s</option>
<option value="1">1s</option>
</select>
</div>
</div>
<div class="panel panel-default">
@ -178,6 +218,26 @@
</tr>
</table>
<div id="vis_tbc"></div>
<select id="filter_vis_tbc">
<option value="2692000">30d</option>
<option value="1209600">14d</option>
<option value="604800">7d</option>
<option value="172800">2d</option>
<option value="86400">1d</option>
<option value="43200">12h</option>
<option value="21600">6h</option>
<option value="14400">4h</option>
<option value="7200">2h</option>
<option value="3600">1h</option>
<option value="1800">30m</option>
<option value="600" selected>10m</option>
<option value="300">5m</option>
<option value="60">1m</option>
<option value="30">30s</option>
<option value="10">10s</option>
<option value="5">5s</option>
<option value="1">1s</option>
</select>
</div>
</div>
<div class="panel panel-default">