#121 show past of ts usage in saimod teamspeak
This commit is contained in:
parent
42583fbb5b
commit
3d1d42fda8
5
mojotrollz/path/PLOG.php
Normal file
5
mojotrollz/path/PLOG.php
Normal file
@ -0,0 +1,5 @@
|
||||
<?php
|
||||
class PLOG extends \SYSTEM\PATH {
|
||||
public function __construct($subpath = '') {
|
||||
parent::__construct(new \SYSTEM\PROOT(), '../../log/mojotrollz/', $subpath);}
|
||||
}
|
||||
@ -2,6 +2,6 @@
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_servers/autoload.inc';
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_server_handling/autoload.inc';
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_teamspeak/autoload.inc';
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_beta/autoload.inc';
|
||||
//require_once dirname(__FILE__).'/saimod_mojotrollz_beta/autoload.inc';
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_downloads/autoload.inc';
|
||||
require_once dirname(__FILE__).'/saimod_mojotrollz_npc_vendor_template/autoload.inc';
|
||||
@ -1,28 +1,33 @@
|
||||
function init_saimod_mojotrollz_teamspeak(){
|
||||
load_visualisation_mojotrollz_teamspeak('vis_ts', 'stats_ts', '#filter_vis_ts', 'Players on Teamspeak', 900,400);
|
||||
load_visualisation_mojotrollz_teamspeak('vis_ts', 'stats', '#filter_vis_ts', 'Players on Teamspeak', 700,400);
|
||||
$('#filter_vis_ts').on('change',function(){
|
||||
load_visualisation_mojotrollz_teamspeak('vis_ts', 'stats_ts', '#filter_vis_ts', 'Players on Teamspeak', 900,400);
|
||||
load_visualisation_mojotrollz_teamspeak('vis_ts', 'stats', '#filter_vis_ts', 'Players on Teamspeak', 700,400);
|
||||
})
|
||||
}
|
||||
|
||||
function load_visualisation_mojotrollz_teamspeak(div, stats, filter, name, width, height){
|
||||
$.getJSON('./sai.php?sai_mod=.SAI.saimod_mojotrollz_teamspeak&action='+stats+'&filter='+$(filter).val(),function(json){
|
||||
function load_visualisation_mojotrollz_teamspeak(div, action, filter, name, width, height){
|
||||
var db = $(filter).attr('db') == null ? '' : '&db='+$(filter).attr('db');
|
||||
$.getJSON('./sai.php?sai_mod=.SAI.saimod_mojotrollz_teamspeak&action='+action+'&filter='+$(filter).val()+db,function(json){
|
||||
if(!json || json.status != true || !json.result){
|
||||
return;}
|
||||
json = json.result;
|
||||
var data = new google.visualization.DataTable();
|
||||
first = true;
|
||||
$.each(json[0], function(key, value){
|
||||
if(first){
|
||||
data.addColumn('datetime',key);
|
||||
first = false;
|
||||
} else {
|
||||
data.addColumn('number',key);
|
||||
}
|
||||
});
|
||||
$.each(json, function(key, value){first = true; data.addRow($.map(value, function(v) { if(first){first=false;return [new Date(v)];}else{return [(v == null || parseFloat(v) <= 0) ? parseFloat(0) : parseFloat(v)];}}));});
|
||||
|
||||
var options = {title: name, aggregationTarget: 'category', selectionMode: 'multiple', curveType: 'function', /*focusTarget: 'category',*/ chartArea:{left:40,top:40}, vAxis:{logScale: false}, interpolateNulls: false, width: width, height: height};
|
||||
new google.visualization.LineChart(document.getElementById(div)).draw(data, options);
|
||||
if(json.length > 0){
|
||||
var data = new google.visualization.DataTable();
|
||||
first = true;
|
||||
$.each(json[0], function(key, value){
|
||||
if(first){
|
||||
data.addColumn('datetime',key);
|
||||
first = false;
|
||||
} else {
|
||||
data.addColumn('number',key);
|
||||
}
|
||||
});
|
||||
$.each(json, function(key, value){first = true; data.addRow($.map(value, function(v) { if(first){first=false;return [new Date(v)];}else{return [(v == null || parseFloat(v) <= 0) ? parseFloat(0) : parseFloat(v)];}}));});
|
||||
|
||||
var options = {title: name, aggregationTarget: 'category', selectionMode: 'multiple', curveType: 'function', /*focusTarget: 'category',*/ chartArea:{left:40,top:40}, vAxis:{logScale: false}, interpolateNulls: false, width: width, height: height};
|
||||
new google.visualization.LineChart(document.getElementById(div)).draw(data, options);
|
||||
} else {
|
||||
$('#'+div).html('No Data!');
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -1,8 +1,16 @@
|
||||
<?php
|
||||
namespace SAI;
|
||||
class saimod_mojotrollz_teamspeak extends \SYSTEM\SAI\SaiModule {
|
||||
public static function sai_mod__SAI_saimod_mojotrollz_teamspeak(){
|
||||
public static function sai_mod__SAI_saimod_mojotrollz_teamspeak($db = null){
|
||||
$vars = array();
|
||||
$vars['db'] = $db;
|
||||
$vars['db_nav'] = '';
|
||||
if(file_exists((new \PLOG())->SERVERPATH())){
|
||||
$scanned_directory = array_diff(scandir((new \PLOG())->SERVERPATH()), array('..', '.'));
|
||||
foreach($scanned_directory as $file){
|
||||
$vars['db_nav'] .= \SYSTEM\PAGE\replace::replaceFile((new \PSAI('saimod_mojotrollz_teamspeak/tpl/db_menu.tpl'))->SERVERPATH(),
|
||||
array('db' => str_replace('.','_',$file), 'active' => str_replace('.','_',$file) == $db ? 'active' : '' ));}
|
||||
}
|
||||
return \SYSTEM\PAGE\replace::replaceFile(dirname(__FILE__).'/tpl/main.tpl', $vars);}
|
||||
public static function html_li_menu(){return '<li class=""><a data-toggle="tooltip" data-placement="left" title="Mojotrollz Teamspeak" href="#!mojotrollz_teamspeak"><span class="glyphicon glyphicon-headphones" aria-hidden="true"></span> Teamspeak</a></li>';}
|
||||
public static function right_public(){return false;}
|
||||
@ -10,6 +18,23 @@ class saimod_mojotrollz_teamspeak extends \SYSTEM\SAI\SaiModule {
|
||||
public static function js(){return array(new \PSAI('saimod_mojotrollz_teamspeak/js/saimod_mojotrollz_teamspeak.js'));}
|
||||
//public static function css(){}
|
||||
|
||||
public static function sai_mod__SAI_saimod_mojotrollz_teamspeak_action_stats_ts($filter = 600){
|
||||
return \SYSTEM\LOG\JsonResult::toString(\SQL\STATS_TS::QA(array($filter)));}
|
||||
public static function sai_mod__SAI_saimod_mojotrollz_teamspeak_action_stats($filter = 600,$db = null){
|
||||
if(!$db){
|
||||
return \SYSTEM\LOG\JsonResult::toString(\SQL\STATS_TS::QA(array($filter)));}
|
||||
|
||||
$result = array();
|
||||
$con = new \SYSTEM\DB\Connection(new \SYSTEM\DB\DBInfoSQLite((new \PLOG(str_replace('_','.',$db)))->SERVERPATH()));
|
||||
$res = $con->prepare('stats_ts',
|
||||
'SELECT datetime(strftime("%s",'.\SYSTEM\SQL\system_log::FIELD_TIME.') - strftime("%s",'.\SYSTEM\SQL\system_log::FIELD_TIME.')%:filter,"unixepoch", "localtime") as day,'
|
||||
.'avg('.\SYSTEM\SQL\system_log::FIELD_CODE.') online'
|
||||
.' FROM '.\SYSTEM\SQL\system_log::NAME_MYS
|
||||
.' WHERE '.\SYSTEM\SQL\system_log::NAME_MYS.'.'.\SYSTEM\SQL\system_log::FIELD_CLASS.' LIKE "%PLAYER_COUNT_TS"'
|
||||
.' GROUP BY day'
|
||||
.' ORDER BY day DESC'
|
||||
.' LIMIT 30;',
|
||||
array(':filter' => $filter));
|
||||
while($row = $res->next()){
|
||||
$result[] = $row;}
|
||||
return \SYSTEM\LOG\JsonResult::toString($result);
|
||||
}
|
||||
}
|
||||
@ -1,2 +1,4 @@
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5500, 42, 0, 0, '_SAI_saimod_mojotrollz_teamspeak', 'action', NULL);
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5501, 42, 3, 5500, NULL, 'filter', 'INT');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5501, 42, 3, 5500, 'stats', 'filter', 'INT');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5502, 42, 3, 5500, 'stats', 'db', 'STRING');
|
||||
REPLACE INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (5503, 42, 3, 0, '_SAI_saimod_mojotrollz_teamspeak', 'db', 'STRING');
|
||||
@ -1 +1 @@
|
||||
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (550, 42, 'mojotrollz_teamspeak', 'mojotrollz_teamspeak', -1, 0, 0, '#content', './sai.php?sai_mod=.SAI.saimod_mojotrollz_teamspeak', 'init_saimod_mojotrollz_teamspeak', '\\SAI\\saimod_mojotrollz_teamspeak');
|
||||
REPLACE INTO `system_page` (`id`, `group`, `name`, `state`, `parent_id`, `login`, `type`, `div`, `url`, `func`, `php_class`) VALUES (550, 42, 'mojotrollz_teamspeak', 'mojotrollz_teamspeak', -1, 0, 0, '#content', './sai.php?sai_mod=.SAI.saimod_mojotrollz_teamspeak&db=${db}', 'init_saimod_mojotrollz_teamspeak', '\\SAI\\saimod_mojotrollz_teamspeak');
|
||||
@ -0,0 +1 @@
|
||||
<li class="${active}"><a href="#!mojotrollz_teamspeak;db.${db}">${db}</a></li>
|
||||
@ -1,26 +1,28 @@
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading"><h4>Mojotrollz Teamspeak</h4></div>
|
||||
<div class="panel-body">
|
||||
<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 class="tab-pane active" id="tab_ts_nav">
|
||||
<div class="tabbable tabs-left subtabs">
|
||||
<ul class="nav nav-stacked nav-pills col-md-3">
|
||||
<li class="active"><a href="#!mojotrollz_teamspeak">Current Month</a></li>
|
||||
${db_nav}
|
||||
</ul>
|
||||
<div class="tab-content col-md-9">
|
||||
<div class="tab-pane active" id="tab_stats">
|
||||
<div id="vis_ts"></div>
|
||||
<select id="filter_vis_ts" db="${db}">
|
||||
<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>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Loading…
x
Reference in New Issue
Block a user