log working with statesystem
This commit is contained in:
parent
e7c6bc9779
commit
c19f9ad6c8
@ -25,7 +25,7 @@ SYSTEM.prototype.hashchange = function () {
|
|||||||
system.go_state(system.start_state);
|
system.go_state(system.start_state);
|
||||||
//user callback
|
//user callback
|
||||||
if(system.hash_change){
|
if(system.hash_change){
|
||||||
system.hash_change(system.cur_state().split('(')[0]);}
|
system.hash_change(system.cur_state().split(';')[0].split('(')[0]);}
|
||||||
};
|
};
|
||||||
SYSTEM.prototype.handle_call_pages_page = function (html,entry,id,forced,cached) {
|
SYSTEM.prototype.handle_call_pages_page = function (html,entry,id,forced,cached) {
|
||||||
var url = entry['url']+(window.location.search.substr(1) ? '&'+window.location.search.substr(1) : '' );
|
var url = entry['url']+(window.location.search.substr(1) ? '&'+window.location.search.substr(1) : '' );
|
||||||
@ -76,6 +76,13 @@ SYSTEM.prototype.handle_call_pages_page = function (html,entry,id,forced,cached)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//try 2 call function even when no js is loaded(substates do that)
|
||||||
|
var fn = window[entry['func']];
|
||||||
|
if(call_func && typeof fn === 'function'){
|
||||||
|
call_func = false;
|
||||||
|
fn();
|
||||||
|
system.log_info('call func: '+entry['func']);
|
||||||
|
}
|
||||||
//update state
|
//update state
|
||||||
this.state[entry['div']] = url;
|
this.state[entry['div']] = url;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -22,15 +22,27 @@ class State {
|
|||||||
$row['url'] = \SYSTEM\PAGE\replace::replace($row['url'], $vars);
|
$row['url'] = \SYSTEM\PAGE\replace::replace($row['url'], $vars);
|
||||||
$row['url'] = \SYSTEM\PAGE\replace::clean($row['url']);
|
$row['url'] = \SYSTEM\PAGE\replace::clean($row['url']);
|
||||||
//clean url of empty variables
|
//clean url of empty variables
|
||||||
$row['url'] = preg_replace('/&.*?=(&|$)/', '&', $row['url']);
|
//$row['url'] = preg_replace('/&.*?=(&|$)/', '&', $row['url']);
|
||||||
$row['url'] = preg_replace('/&$/', '', $row['url']);
|
$row['url'] = preg_replace('/[^=&]+=(&|$)/', '&', $row['url']);
|
||||||
|
$row['url'] = preg_replace('/&&$/', '', $row['url']);
|
||||||
$row['css'] = $row['js'] = array();
|
$row['css'] = $row['js'] = array();
|
||||||
if(\class_exists($row['php_class']) && \method_exists($row['php_class'], 'css') && \is_callable($row['php_class'].'::css')){
|
if(\class_exists($row['php_class']) && \method_exists($row['php_class'], 'css') && \is_callable($row['php_class'].'::css')){
|
||||||
$row['css'] = array_merge($row['css'], call_user_func($row['php_class'].'::css'));}
|
$row['css'] = array_merge($row['css'], call_user_func($row['php_class'].'::css'));}
|
||||||
if(\class_exists($row['php_class']) && \method_exists($row['php_class'], 'js') && \is_callable($row['php_class'].'::js')){
|
if(\class_exists($row['php_class']) && \method_exists($row['php_class'], 'js') && \is_callable($row['php_class'].'::js')){
|
||||||
$row['js'] = array_merge($row['js'], call_user_func($row['php_class'].'::js'));}
|
$row['js'] = array_merge($row['js'], call_user_func($row['php_class'].'::js'));}
|
||||||
$row['php_class'] = '';
|
$row['php_class'] = '';
|
||||||
$result[] = $row;
|
|
||||||
|
$skip = false;
|
||||||
|
for($i=0;$i<count($result);$i++){
|
||||||
|
if($result[$i]['div'] == $row['div']){
|
||||||
|
$skip = true;
|
||||||
|
if($row['type'] == 1){
|
||||||
|
$result[$i] = $row;}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!$skip){
|
||||||
|
$result[] = $row;}
|
||||||
}
|
}
|
||||||
return $returnasjson ? \SYSTEM\LOG\JsonResult::toString($result) : $result;
|
return $returnasjson ? \SYSTEM\LOG\JsonResult::toString($result) : $result;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,60 +1,18 @@
|
|||||||
google.load("visualization", "1", {packages:["corechart"]});
|
google.load("visualization", "1", {packages:["corechart"]});
|
||||||
function init_saimod_sys_log() {
|
function init_saimod_sys_log() {
|
||||||
$('#tabs_log a').click(function (e) {
|
$('#tabs_log a').click(function (e) {
|
||||||
e.preventDefault();
|
$('#tabs_log li').each(function(){
|
||||||
$(this).tab('show');
|
|
||||||
load_log_tab($(this).attr('action'));
|
|
||||||
});
|
|
||||||
|
|
||||||
load_log_tab("log");
|
|
||||||
};
|
|
||||||
|
|
||||||
function load_log_tab(action){
|
|
||||||
$('img#loader').show();
|
|
||||||
switch(action){
|
|
||||||
case 'log':
|
|
||||||
$('#tab_log').load('./sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_log&action='+action, function(){
|
|
||||||
register_log();
|
|
||||||
register_error();
|
|
||||||
$('img#loader').hide();});
|
|
||||||
return;
|
|
||||||
case 'stats':
|
|
||||||
$('#tab_stats').load('./sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_log&action='+action, function(){
|
|
||||||
register_stats();
|
|
||||||
$('img#loader').hide();});
|
|
||||||
return;
|
|
||||||
default:
|
|
||||||
$('img#loader').hide();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function register_error(){
|
|
||||||
$('.sai_log_error').click(function(){
|
|
||||||
$('img#loader').show();
|
|
||||||
$('#table_log').load('./sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_log&action=error&error='+$(this).attr('error'), function(){
|
|
||||||
$('img#loader').hide();})});
|
|
||||||
}
|
|
||||||
|
|
||||||
function load_table_log(filter){
|
|
||||||
$('img#loader').show();
|
|
||||||
$('#table_log').load('./sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_log&action=filter&filter='+filter, function(){
|
|
||||||
register_error();
|
|
||||||
$('img#loader').hide();});
|
|
||||||
}
|
|
||||||
|
|
||||||
var filter = "%";
|
|
||||||
function register_log(){
|
|
||||||
$('#refresh_error_table').click(function(){
|
|
||||||
load_table_log(filter);});
|
|
||||||
$("#error_filter a").click(function(){
|
|
||||||
$('#error_filter li').each(function(){
|
|
||||||
$(this).removeClass('active');});
|
$(this).removeClass('active');});
|
||||||
$(this).parent().addClass('active');
|
$(this).parent().addClass('active');
|
||||||
filter = $(this).attr('filter');
|
|
||||||
load_table_log($(this).attr('filter'));
|
|
||||||
});
|
});
|
||||||
}
|
if(system.cur_state() === 'log(stats)'){
|
||||||
function register_stats(){
|
$('#tabs_log li').each(function(){
|
||||||
|
$(this).removeClass('active');});
|
||||||
|
$('#menu_stats').parent().addClass('active');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function init_saimod_sys_log_stats() {
|
||||||
load_visualisation();
|
load_visualisation();
|
||||||
$('#vis_filter_time').change(function(){
|
$('#vis_filter_time').change(function(){
|
||||||
load_visualisation();})
|
load_visualisation();})
|
||||||
@ -66,7 +24,6 @@ function register_stats(){
|
|||||||
load_visualisation();
|
load_visualisation();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function load_visualisation(){
|
function load_visualisation(){
|
||||||
$('img#loader').show();
|
$('img#loader').show();
|
||||||
var name = $('#vis_filter_type').val();;
|
var name = $('#vis_filter_type').val();;
|
||||||
|
|||||||
@ -290,6 +290,7 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule {
|
|||||||
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_log/tpl/saimod_sys_log_error.tpl'), $vars);}
|
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_log/tpl/saimod_sys_log_error.tpl'), $vars);}
|
||||||
|
|
||||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_log_action_filter($filter = "%"){
|
public static function sai_mod__SYSTEM_SAI_saimod_sys_log_action_filter($filter = "%"){
|
||||||
|
$filter_ = $filter;
|
||||||
$filter = str_replace('\\', '\\\\', $filter);
|
$filter = str_replace('\\', '\\\\', $filter);
|
||||||
$count = \SYSTEM\DBD\SYS_SAIMOD_LOG_FILTER_COUNT::Q1(array($filter));
|
$count = \SYSTEM\DBD\SYS_SAIMOD_LOG_FILTER_COUNT::Q1(array($filter));
|
||||||
$res = \SYSTEM\DBD\SYS_SAIMOD_LOG_FILTER::QQ(array($filter));
|
$res = \SYSTEM\DBD\SYS_SAIMOD_LOG_FILTER::QQ(array($filter));
|
||||||
@ -305,14 +306,9 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule {
|
|||||||
$vars = array();
|
$vars = array();
|
||||||
$vars['count'] = $count['count'];
|
$vars['count'] = $count['count'];
|
||||||
$vars['table'] = $table;
|
$vars['table'] = $table;
|
||||||
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_log/tpl/saimod_sys_log_table.tpl'), $vars);
|
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_log/tpl/saimod_sys_log_filter.tpl'),
|
||||||
}
|
array( 'table' => \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_log/tpl/saimod_sys_log_table.tpl'), $vars),
|
||||||
|
'error_filter' => self::generate_error_filters($filter_)));
|
||||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_log_action_log(){
|
|
||||||
$vars = array();
|
|
||||||
$vars['table'] = self::sai_mod__SYSTEM_SAI_saimod_sys_log_action_filter();
|
|
||||||
$vars['error_filter'] = self::generate_error_filters();
|
|
||||||
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_log/tpl/saimod_sys_log_filter.tpl'), $vars);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static function time_elapsed_string($ptime){
|
private static function time_elapsed_string($ptime){
|
||||||
@ -335,11 +331,11 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static function generate_error_filters(){
|
private static function generate_error_filters($filter){
|
||||||
$res = \SYSTEM\DBD\SYS_SAIMOD_LOG_FILTERS::QQ();
|
$res = \SYSTEM\DBD\SYS_SAIMOD_LOG_FILTERS::QQ();
|
||||||
$result = '';
|
$result = '';
|
||||||
while($row = $res->next()){
|
while($row = $res->next()){
|
||||||
$result .= '<li><a href="#!log" filter="'.$row['class'].'">'.$row['class'].'</a></li>';}
|
$result .= '<li'.($filter == $row['class'] ? ' class="active"' : '').'><a href="#!log;filter.'.$row['class'].'">'.$row['class'].'</a></li>';}
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,13 +2,12 @@
|
|||||||
<hr>
|
<hr>
|
||||||
<div class="tabbable">
|
<div class="tabbable">
|
||||||
<ul class="nav nav-tabs" id="tabs_log">
|
<ul class="nav nav-tabs" id="tabs_log">
|
||||||
<li class="active"><a href="#tab_log" action="log">Log</a></li>
|
<li class="active"><a href="#!log">Log</a></li>
|
||||||
<li><a href="#tab_stats" action="stats">Statistics</a></li>
|
<li><a href="#!log(stats)" id="menu_stats">Statistics</a></li>
|
||||||
<img id="loader" src="${PICPATH}ajax-loader.gif" style="margin-left: 10px; margin-top: 10px; display: none; float: left"/>
|
<img id="loader" src="${PICPATH}ajax-loader.gif" style="margin-left: 10px; margin-top: 10px; display: none; float: left"/>
|
||||||
<button id="refresh_error_table" class="btn-success" style="margin-right: 15px; height: 32px; font-size: 13px; float: right;">Refresh</button>
|
<button id="refresh_error_table" class="btn-success" style="margin-right: 15px; height: 32px; font-size: 13px; float: right;">Refresh</button>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="tab-content">
|
<div class="tab-content">
|
||||||
<div class="tab-pane active" id="tab_log"></div>
|
<div class="tab-pane active" id="tab_log"></div>
|
||||||
<div class="tab-pane" id="tab_stats" style="overflow: hidden;"></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -1,4 +1,4 @@
|
|||||||
<tr class="sai_log_error ${class_row}" error="${ID}">
|
<tr class="sai_log_error ${class_row}" onClick="document.location = '#!log(error);error.${ID}';">
|
||||||
<td>${time}</td>
|
<td>${time}</td>
|
||||||
<td>${class}</td>
|
<td>${class}</td>
|
||||||
<td style="word-break: break-all;">${message}</td>
|
<td style="word-break: break-all;">${message}</td>
|
||||||
|
|||||||
@ -14,7 +14,7 @@ $(document).ready(function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
function sys_hashchange(state){
|
function sys_hashchange(state){
|
||||||
$('#sai_navbar li, #project_navbar li').each(function(){
|
$('.nav li,#sai_navbar li, #project_navbar li').each(function(){
|
||||||
$(this).removeClass('active');});
|
$(this).removeClass('active');});
|
||||||
$('#menu_'+state).parent().addClass('active');
|
$('#menu_'+state).parent().addClass('active');
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user