saistart analytics, fixed sai log user counting
This commit is contained in:
parent
710c995fb9
commit
2a2330b6d2
18
sai/modules/saimod_sys_log/qq/SYS_SAIMOD_LOG_ANALYTICS.php
Normal file
18
sai/modules/saimod_sys_log/qq/SYS_SAIMOD_LOG_ANALYTICS.php
Normal file
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
namespace SYSTEM\DBD;
|
||||
|
||||
class SYS_SAIMOD_LOG_ANALYTICS extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'SELECT DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP('.\SYSTEM\DBD\system_log::FIELD_TIME.') - MOD(UNIX_TIMESTAMP('.\SYSTEM\DBD\system_log::FIELD_TIME.'),?)),"%Y/%m/%d %H:%i:%s") as day,'
|
||||
.'count(*) as count,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_USER.') as user_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_IP.') as ip_unique'
|
||||
.' FROM '.\SYSTEM\DBD\system_log::NAME_MYS
|
||||
.' GROUP BY day'
|
||||
.' ORDER BY day DESC'
|
||||
.' LIMIT 1;'
|
||||
);}}
|
||||
@ -7,7 +7,7 @@ class SYS_SAIMOD_LOG_BASIC_VISITOR extends \SYSTEM\DB\QP {
|
||||
//pg
|
||||
'SELECT to_char(to_timestamp(extract(epoch from '.\SYSTEM\DBD\system_log::FIELD_TIME.')::int - (extract(epoch from '.\SYSTEM\DBD\system_log::FIELD_TIME.')::int % $1)), \'YYYY/MM/DD HH24:MI:SS\') as day,'
|
||||
.'count(*) as count,'
|
||||
.'count(distinct "'.\SYSTEM\DBD\system_log::FIELD_USER.'") as user_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_USER.') as user_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_IP.') as ip_unique'
|
||||
.' FROM '.\SYSTEM\DBD\system_log::NAME_PG
|
||||
.' GROUP BY day'
|
||||
@ -16,7 +16,7 @@ class SYS_SAIMOD_LOG_BASIC_VISITOR extends \SYSTEM\DB\QP {
|
||||
//mys
|
||||
'SELECT DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP('.\SYSTEM\DBD\system_log::FIELD_TIME.') - MOD(UNIX_TIMESTAMP('.\SYSTEM\DBD\system_log::FIELD_TIME.'),?)),"%Y/%m/%d %H:%i:%s") as day,'
|
||||
.'count(*) as count,'
|
||||
.'count(distinct "'.\SYSTEM\DBD\system_log::FIELD_USER.'") as user_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_USER.') as user_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_IP.') as ip_unique'
|
||||
.' FROM '.\SYSTEM\DBD\system_log::NAME_MYS
|
||||
.' GROUP BY day'
|
||||
|
||||
@ -7,7 +7,7 @@ class SYS_SAIMOD_LOG_UNIQUE_BASIC extends \SYSTEM\DB\QP {
|
||||
//pg
|
||||
'SELECT to_char(to_timestamp(extract(epoch from '.\SYSTEM\DBD\system_log::FIELD_TIME.')::int - (extract(epoch from '.\SYSTEM\DBD\system_log::FIELD_TIME.')::int % $1)), \'YYYY/MM/DD HH24:MI:SS\') as day,'
|
||||
.'count(*) as count,'
|
||||
.'count(distinct "'.\SYSTEM\DBD\system_log::FIELD_USER.'") as user_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_USER.') as user_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_IP.') as ip_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_SERVER_NAME.') as server_name_unique'
|
||||
.' FROM '.\SYSTEM\DBD\system_log::NAME_PG
|
||||
@ -17,7 +17,7 @@ class SYS_SAIMOD_LOG_UNIQUE_BASIC extends \SYSTEM\DB\QP {
|
||||
//mys
|
||||
'SELECT DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP('.\SYSTEM\DBD\system_log::FIELD_TIME.') - MOD(UNIX_TIMESTAMP('.\SYSTEM\DBD\system_log::FIELD_TIME.'),?)),"%Y/%m/%d %H:%i:%s") as day,'
|
||||
.'count(*) as count,'
|
||||
.'count(distinct "'.\SYSTEM\DBD\system_log::FIELD_USER.'") as user_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_USER.') as user_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_IP.') as ip_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_SERVER_NAME.') as server_name_unique'
|
||||
.' FROM '.\SYSTEM\DBD\system_log::NAME_MYS
|
||||
|
||||
@ -7,7 +7,7 @@ class SYS_SAIMOD_LOG_UNIQUE_REFERER extends \SYSTEM\DB\QP {
|
||||
//pg
|
||||
'SELECT to_char(to_timestamp(extract(epoch from '.\SYSTEM\DBD\system_log::FIELD_TIME.')::int - (extract(epoch from '.\SYSTEM\DBD\system_log::FIELD_TIME.')::int % $1)), \'YYYY/MM/DD HH24:MI:SS\') as day,'
|
||||
.'count(*) as count,'
|
||||
.'count(distinct "'.\SYSTEM\DBD\system_log::FIELD_USER.'") as user_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_USER.') as user_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_IP.') as ip_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_HTTP_REFERER.') as http_referer_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_HTTP_USER_AGENT.') as http_user_agent_unique'
|
||||
@ -18,7 +18,7 @@ class SYS_SAIMOD_LOG_UNIQUE_REFERER extends \SYSTEM\DB\QP {
|
||||
//mys
|
||||
'SELECT DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP('.\SYSTEM\DBD\system_log::FIELD_TIME.') - MOD(UNIX_TIMESTAMP('.\SYSTEM\DBD\system_log::FIELD_TIME.'),?)),"%Y/%m/%d %H:%i:%s") as day,'
|
||||
.'count(*) as count,'
|
||||
.'count(distinct "'.\SYSTEM\DBD\system_log::FIELD_USER.'") as user_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_USER.') as user_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_IP.') as ip_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_HTTP_REFERER.') as http_referer_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_HTTP_USER_AGENT.') as http_user_agent_unique'
|
||||
|
||||
@ -5,6 +5,23 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule {
|
||||
\SYSTEM\DBD\SYS_SAIMOD_LOG_TRUNCATE::QQ();
|
||||
return \SYSTEM\LOG\JsonResult::ok();}
|
||||
|
||||
public static function analytics(){
|
||||
$vars = array();
|
||||
$data = \SYSTEM\DBD\SYS_SAIMOD_LOG_ANALYTICS::Q1(array(86400));
|
||||
$vars['log_today'] = $data['count'];
|
||||
$vars['ip_today'] = $data['ip_unique'];
|
||||
$vars['user_today'] = $data['user_unique'];
|
||||
$data = \SYSTEM\DBD\SYS_SAIMOD_LOG_ANALYTICS::Q1(array(604800));
|
||||
$vars['log_week'] = $data['count'];
|
||||
$vars['ip_week'] = $data['ip_unique'];
|
||||
$vars['user_week'] = $data['user_unique'];
|
||||
$data = \SYSTEM\DBD\SYS_SAIMOD_LOG_ANALYTICS::Q1(array(2692000));
|
||||
$vars['log_month'] = $data['count'];
|
||||
$vars['ip_month'] = $data['ip_unique'];
|
||||
$vars['user_month'] = $data['user_unique'];
|
||||
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_log/tpl/saimod_sys_log_analytics.tpl'), $vars);
|
||||
}
|
||||
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_log_action_stats(){
|
||||
$vars = array();
|
||||
$vars['dbfile_entries'] = '';
|
||||
@ -13,6 +30,8 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule {
|
||||
foreach($scanned_directory as $file){
|
||||
$vars['dbfile_entries'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_log/tpl/saimod_sys_log_stats_menu.tpl'), array('file' => $file));}
|
||||
}
|
||||
//positioning problem
|
||||
//$vars['analytics'] = self::analytics();
|
||||
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_log/tpl/saimod_sys_log_stats.tpl'), $vars);}
|
||||
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_log_action_stats_name_class_system($filter,$db){
|
||||
@ -99,7 +118,7 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule {
|
||||
$res = $con->prepare('unique_basic',
|
||||
'SELECT datetime(strftime("%s",'.\SYSTEM\DBD\system_log::FIELD_TIME.') - strftime("%s",'.\SYSTEM\DBD\system_log::FIELD_TIME.')%:filter,"unixepoch", "localtime") as day,'
|
||||
.'count(*) as count,'
|
||||
.'count(distinct "'.\SYSTEM\DBD\system_log::FIELD_USER.'") as user_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_USER.') as user_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_IP.') as ip_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_SERVER_NAME.') as server_name_unique'
|
||||
.' FROM '.\SYSTEM\DBD\system_log::NAME_MYS
|
||||
@ -169,7 +188,7 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule {
|
||||
$res = $con->prepare('unique_referer',
|
||||
'SELECT datetime(strftime("%s",'.\SYSTEM\DBD\system_log::FIELD_TIME.') - strftime("%s",'.\SYSTEM\DBD\system_log::FIELD_TIME.')%:filter,"unixepoch", "localtime") as day,'
|
||||
.'count(*) as count,'
|
||||
.'count(distinct "'.\SYSTEM\DBD\system_log::FIELD_USER.'") as user_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_USER.') as user_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_IP.') as ip_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_HTTP_REFERER.') as http_referer_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_HTTP_USER_AGENT.') as http_user_agent_unique'
|
||||
@ -193,7 +212,7 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule {
|
||||
$res = $con->prepare('basic_visitor',
|
||||
'SELECT datetime(strftime("%s",'.\SYSTEM\DBD\system_log::FIELD_TIME.') - strftime("%s",'.\SYSTEM\DBD\system_log::FIELD_TIME.')%:filter,"unixepoch", "localtime") as day,'
|
||||
.'count(*) as count,'
|
||||
.'count(distinct "'.\SYSTEM\DBD\system_log::FIELD_USER.'") as user_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_USER.') as user_unique,'
|
||||
.'count(distinct '.\SYSTEM\DBD\system_log::FIELD_IP.') as ip_unique'
|
||||
.' FROM '.\SYSTEM\DBD\system_log::NAME_MYS
|
||||
.' GROUP BY day'
|
||||
|
||||
26
sai/modules/saimod_sys_log/tpl/saimod_sys_log_analytics.tpl
Normal file
26
sai/modules/saimod_sys_log/tpl/saimod_sys_log_analytics.tpl
Normal file
@ -0,0 +1,26 @@
|
||||
<table class="table table-hover table-condensed sai_table">
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>Today</th>
|
||||
<th>Week</th>
|
||||
<th>Month</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Log</th>
|
||||
<td>${log_today}</td>
|
||||
<td>${log_week}</td>
|
||||
<td>${log_month}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>IPs</th>
|
||||
<td>${ip_today}</td>
|
||||
<td>${ip_week}</td>
|
||||
<td>${ip_month}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Users</th>
|
||||
<td>${user_today}</td>
|
||||
<td>${user_week}</td>
|
||||
<td>${user_month}</td>
|
||||
</tr>
|
||||
</table>
|
||||
@ -6,7 +6,7 @@
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="tab_stats">
|
||||
<select id="vis_filter_time">
|
||||
<option value="2592000">30d</option>
|
||||
<option value="2692000">30d</option>
|
||||
<option value="1209600">14d</option>
|
||||
<option value="604800">7d</option>
|
||||
<option value="172800">2d</option>
|
||||
|
||||
@ -32,6 +32,7 @@ class saistart_sys_sai extends \SYSTEM\SAI\SaiModule {
|
||||
$vars['project_url'] = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL);
|
||||
$vars['todo_entries'] = \SYSTEM\SAI\saimod_sys_todo::sai_mod__SYSTEM_SAI_saimod_sys_todo_action_todolist();
|
||||
$vars['log_entries'] = \SYSTEM\SAI\saimod_sys_log::sai_mod__SYSTEM_SAI_saimod_sys_log_action_filter();
|
||||
$vars['analytics'] = \SYSTEM\SAI\saimod_sys_log::analytics();
|
||||
$vars['logout'] = \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'modules/saistart_sys_sai/tpl/logout.tpl'));
|
||||
$vars = array_merge($vars,\SYSTEM\SAI\saimod_sys_todo::statistics());
|
||||
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'modules/saistart_sys_sai/tpl/content_loggedin.tpl'), $vars);
|
||||
|
||||
@ -11,14 +11,7 @@
|
||||
</div>
|
||||
<div class="well" id="analytics">
|
||||
<h2 class="muted"><a href="#!log">Analytics</a></h2>
|
||||
<b>IPs today:</b> ${ip_today}<br/>
|
||||
<b>Users today:</b> ${user_today}<br/>
|
||||
<br/>
|
||||
<b>IPs this week:</b> ${ip_week}<br/>
|
||||
<b>Users this week:</b> ${user_week}<br/>
|
||||
<br/>
|
||||
<b>IPs this month:</b> ${ip_month}<br/>
|
||||
<b>Users this month:</b> ${user_month}
|
||||
${analytics}
|
||||
</div>
|
||||
<div class="well" id="git">
|
||||
<h2 class="muted">Git</h2>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user