diff --git a/mojotrollz/path/PLOG.php b/mojotrollz/path/PLOG.php new file mode 100644 index 0000000..8a6be8b --- /dev/null +++ b/mojotrollz/path/PLOG.php @@ -0,0 +1,5 @@ + 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!'); + } }); } \ No newline at end of file diff --git a/mojotrollz/sai/saimod_mojotrollz_teamspeak/saimod_mojotrollz_teamspeak.php b/mojotrollz/sai/saimod_mojotrollz_teamspeak/saimod_mojotrollz_teamspeak.php index c9b9fbd..af9effa 100644 --- a/mojotrollz/sai/saimod_mojotrollz_teamspeak/saimod_mojotrollz_teamspeak.php +++ b/mojotrollz/sai/saimod_mojotrollz_teamspeak/saimod_mojotrollz_teamspeak.php @@ -1,8 +1,16 @@ 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 '
  •   Teamspeak
  • ';} 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); + } } \ No newline at end of file diff --git a/mojotrollz/sai/saimod_mojotrollz_teamspeak/sql/mysql/system_api.sql b/mojotrollz/sai/saimod_mojotrollz_teamspeak/sql/mysql/system_api.sql index 81085e4..554fac0 100644 --- a/mojotrollz/sai/saimod_mojotrollz_teamspeak/sql/mysql/system_api.sql +++ b/mojotrollz/sai/saimod_mojotrollz_teamspeak/sql/mysql/system_api.sql @@ -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'); \ No newline at end of file +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'); \ No newline at end of file diff --git a/mojotrollz/sai/saimod_mojotrollz_teamspeak/sql/mysql/system_page.sql b/mojotrollz/sai/saimod_mojotrollz_teamspeak/sql/mysql/system_page.sql index 13f62a7..a783641 100644 --- a/mojotrollz/sai/saimod_mojotrollz_teamspeak/sql/mysql/system_page.sql +++ b/mojotrollz/sai/saimod_mojotrollz_teamspeak/sql/mysql/system_page.sql @@ -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'); \ No newline at end of file +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'); \ No newline at end of file diff --git a/mojotrollz/sai/saimod_mojotrollz_teamspeak/tpl/db_menu.tpl b/mojotrollz/sai/saimod_mojotrollz_teamspeak/tpl/db_menu.tpl new file mode 100644 index 0000000..bb6c8e8 --- /dev/null +++ b/mojotrollz/sai/saimod_mojotrollz_teamspeak/tpl/db_menu.tpl @@ -0,0 +1 @@ +
  • ${db}
  • \ No newline at end of file diff --git a/mojotrollz/sai/saimod_mojotrollz_teamspeak/tpl/main.tpl b/mojotrollz/sai/saimod_mojotrollz_teamspeak/tpl/main.tpl index ae1ba6f..ad4e258 100644 --- a/mojotrollz/sai/saimod_mojotrollz_teamspeak/tpl/main.tpl +++ b/mojotrollz/sai/saimod_mojotrollz_teamspeak/tpl/main.tpl @@ -1,26 +1,28 @@

    Mojotrollz Teamspeak

    -
    - +
    +
    + +
    +
    +
    + +
    +
    +
    +
    \ No newline at end of file