|
From: <ir...@us...> - 2013-03-06 03:32:58
|
Revision: 11165
http://sourceforge.net/p/xoops/svn/11165
Author: irmtfan
Date: 2013-03-06 03:32:56 +0000 (Wed, 06 Mar 2013)
Log Message:
-----------
some cleanup and comments. add logo in admin navigation
Modified Paths:
--------------
XoopsModules/userlog/trunk/userlog/admin/addon/perm.php
XoopsModules/userlog/trunk/userlog/admin/logs.php
XoopsModules/userlog/trunk/userlog/admin/setting.php
XoopsModules/userlog/trunk/userlog/class/log.php
XoopsModules/userlog/trunk/userlog/class/stats.php
XoopsModules/userlog/trunk/userlog/class/userlog.php
XoopsModules/userlog/trunk/userlog/templates/userlog_admin_logs.html
XoopsModules/userlog/trunk/userlog/templates/userlog_admin_sets.html
Modified: XoopsModules/userlog/trunk/userlog/admin/addon/perm.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/admin/addon/perm.php 2013-03-06 00:09:27 UTC (rev 11164)
+++ XoopsModules/userlog/trunk/userlog/admin/addon/perm.php 2013-03-06 03:32:56 UTC (rev 11165)
@@ -24,16 +24,19 @@
// Here you can set ADDITIONAL permission in file for webmasters in your website, ONLY if you want to limit the access to userlog module to some of them.
// Webmasters that dont have access cannot:
-// 1- go to the userllog/admin
-// 2- go to the userlog preferences
-// 3- installl, uninstall or update userlog
+// 1- go to the userlog > admin
+// 2- go to the userlog > preferences
+// 3- install, uninstall or update userlog
// 4- dump any table in system -> maintenance -> dump
// empty array means nothing.
+// Note: you can delete this file if you dont need it.
+
// if you add uid of webmasters or those users who have admin permissions in userlog module, other admins will not have permission anymore.
+// e.g.: $perm["super"]["user"] = array(1,234,23451); // it means only users with uid=1,234,23451 have access and other webmasters dont have access.
$perm["super"]["uid"] = array();
-// e.g.: $perm["super"]["user"] = array(1,234,23451); // it means only users with uid=1,234,23451 have access and other webmasters dont have access.
-// if you add groups with admin permission in whole site (webmasters) or admin permission in userlog module, other admin groups dont have permission
+
+// if you add groups with admin permission in whole site (webmasters) or admin permission in userlog module, other admin groups dont have access.
// e.g.: $perm["super"]["group"] = array(1,7,9); // it means only groups 1,7,9 have access and other groups dont have access.
$perm["super"]["group"] = array();
Modified: XoopsModules/userlog/trunk/userlog/admin/logs.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/admin/logs.php 2013-03-06 00:09:27 UTC (rev 11164)
+++ XoopsModules/userlog/trunk/userlog/admin/logs.php 2013-03-06 03:32:56 UTC (rev 11165)
@@ -35,15 +35,17 @@
$engine = UserlogRequest::getString('engine',$Userlog->getConfig("engine"));
$file = UserlogRequest::getArray('file', '');
$opentry = UserlogRequest::getString('op');
-
+
+// formnav in the upper section
+include_once USERLOG_ROOT_PATH . '/class/form/simpleform.php';
+$formNav = new UserlogSimpleForm('','logsnav','logs.php', 'get');
+
$logsetObj = UserlogSetting::getInstance();
+// START build Criteria for database
// get var types int, text, bool , ...
$type_vars = $logsetObj->getOptions("", "type");
//$query_types = array("="=>"",">"=>"GT", "<"=>"LT");
$criteria = new CriteriaCompo();
-// formnav in the upper section
-include_once USERLOG_ROOT_PATH . '/class/form/simpleform.php';
-$formNav = new UserlogSimpleForm('','logsnav','logs.php', 'get');
foreach($options as $key=>$val) {
// if user input an empty variable unset it
if (empty($val)) {
@@ -68,7 +70,7 @@
}
$criteria_q[$key] = new CriteriaCompo();
$val_arr = explode(",", $val);
- $query_array[$key] = "options[{$key}]={$val}";
+ $query_array[$key] = "options[{$key}]={$val}"; // to keep options in url. very important
// if type is text
if ($type_vars[$op] == "text") {
foreach($val_arr as $qry) {
@@ -91,8 +93,6 @@
$criteria_q[$key]->add(new Criteria($op, "(" . $val . ")", "IN"));
}
}
- // save vars
- $vars[$key] = $val;
// add criteria
$criteria->add($criteria_q[$key]);
// add hiddens to formnav
@@ -100,20 +100,21 @@
$formNav->addElement($hidOptionsEl);
unset($hidOptionsEl);
}
+// END build Criteria for database
+
// parse query page
if ( !empty($query_array) ) {
$query_page = implode("&", array_values($query_array));
}
+// create query entry
$query_entry = "&engine=" . $engine . "&limitentry=" . $limitentry . "&sortentry=" . $sortentry . "&orderentry=" . $orderentry;
if ($engine == "file") {
foreach($file as $oneFile) {
$query_entry .= "&file[]=" . $oneFile;
}
}
-// get logs from engine: 1- db 2- file
-$loglogObj = UserlogLog::getInstance();
-// delete/purge
+// START delete/purge
$confirm = UserlogRequest::getString('confirm',0);
if ($opentry == "del" && !empty($confirm)) {
$log_id = UserlogRequest::getArray('log_id');
@@ -135,6 +136,10 @@
redirect_header("logs.php?op=" . $query_entry . (!empty($query_page) ? "&" . $query_page : ''), 1, _AM_USERLOG_LOG_DELETE_ERROR);
}
}
+// END delete/purge
+
+// get logs from engine: 1- db 2- file
+$loglogObj = UserlogLog::getInstance();
if( $engine == 'db' ) {
$logs = $Userlog->getHandler('log')->getLogs($limitentry,$startentry,$criteria,$sortentry,$orderentry ,null, false);
$totalLogs = $Userlog->getHandler('log')->getLogsCount($criteria);
@@ -142,12 +147,13 @@
list($logs, $totalLogs) = $loglogObj->getLogsFromFiles($file, $limitentry, $startentry, $options, $sortentry,$orderentry);
}
-// pagenav
+// pagenav to template
$pagenav = new XoopsPageNav($totalLogs, $limitentry, $startentry, 'startentry', $query_entry . (!empty($query_page) ? "&" . $query_page : ''));
if ( !empty($pagenav) ) {
$GLOBALS['xoopsTpl']->assign("pagenav",$pagenav->renderNav());
}
+// options/entries to template
$GLOBALS['xoopsTpl']->assign('options', $options);
$GLOBALS['xoopsTpl']->assign('totalLogs', $totalLogs);
$GLOBALS['xoopsTpl']->assign('pages', ceil($totalLogs/$limitentry));
@@ -158,29 +164,37 @@
$GLOBALS['xoopsTpl']->assign('sortentry', $sortentry);
$GLOBALS['xoopsTpl']->assign('orderentry', $orderentry);
+// skip these headers because we can merge it to request method column
$skips = array("get", "post", "request", "files", "env");
-// prepared for display
-$logs = $loglogObj->ArrayToDisplay($logs, $skips);
+// prepared for display. timestamps and var_export
+$logs = $loglogObj->arrayToDisplay($logs, $skips);
-// assign logs
+// logs to template
$GLOBALS['xoopsTpl']->assign('logs', $logs);
+
+// query page
if ( !empty($query_page) ) {
$GLOBALS['xoopsTpl']->assign('query_page', $query_page);
}
+// query entry
if ( !empty($query_entry) ) {
$GLOBALS['xoopsTpl']->assign('query_entry', $query_entry);
}
+// var types to template
$GLOBALS['xoopsTpl']->assign('types', $type_vars);
-// form
-list($form, $els, $headers) =$logsetObj->logForm($options);
+// START main form
+// form, elements, headers
+list($form, $elements, $headers) = $logsetObj->logForm($options);
+// engine element
$engineEl = new XoopsFormSelect(_AM_USERLOG_ENGINE,"engine", $engine);
$engineEl->addOption("db", _AM_USERLOG_ENGINE_DB);
$engineEl->addOption("file", _AM_USERLOG_ENGINE_FILE);
$engineEl->setDescription(_AM_USERLOG_ENGINE_DSC);
+// file element
if ($engine == "file") {
- $fileEl = $loglogObj->buildFileSelectEle($file, true);
+ $fileEl = $loglogObj->buildFileSelectEle($file, true);// multiselect = true
$fileEl->setDescription(_AM_USERLOG_FILE_DSC);
}
$limitEl = new XoopsFormText(_AM_USERLOG_LOGS_PERPAGE, "limitentry", 10, 255, $limitentry);
@@ -204,8 +218,9 @@
$form->addElement($orderEl);
$form->addElement($submitEl);
$GLOBALS['xoopsTpl']->assign('form', $form->render());
-
-// add formnav after adding form
+// END main form
+// START form navigation
+// add formnav after adding main form
if ($engine == "file") {
$fileEl->setClass("floatleft left");
$fileEl->setExtra("onchange=\"document.forms.logsnav.submit()\"");
@@ -226,16 +241,19 @@
$submitEl->setClass("floatleft left");
$formNav->addElement($submitEl);
$GLOBALS['xoopsTpl']->assign('formNav', $formNav->render());
+// END form navigation
-$indexAdmin = new ModuleAdmin();
-//headers
+$indexAdmin = new ModuleAdmin(); // add this just to include the css file to template
+$GLOBALS['xoopsTpl']->assign('logo',$indexAdmin->addNavigation('logs.php'));
+
+//headers skip then to template
foreach($skips as $option) {
unset($headers[$option]);
}
$GLOBALS['xoopsTpl']->assign('headers', $headers);
+
$template_main = "userlog_admin_logs.html";
if ( !empty($template_main) ) {
$GLOBALS['xoopsTpl']->display("db:{$template_main}");
}
-
xoops_cp_footer();
\ No newline at end of file
Modified: XoopsModules/userlog/trunk/userlog/admin/setting.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/admin/setting.php 2013-03-06 00:09:27 UTC (rev 11164)
+++ XoopsModules/userlog/trunk/userlog/admin/setting.php 2013-03-06 03:32:56 UTC (rev 11165)
@@ -228,6 +228,7 @@
}
if ( !empty($indexAdmin) ) {
$GLOBALS['xoopsTpl']->assign("addset",$indexAdmin->renderButton("left"));
+ $GLOBALS['xoopsTpl']->assign('logo',$indexAdmin->addNavigation('setting.php'));
}
if ( !empty($template_main) ) {
$GLOBALS['xoopsTpl']->display("db:{$template_main}");
Modified: XoopsModules/userlog/trunk/userlog/class/log.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/class/log.php 2013-03-06 00:09:27 UTC (rev 11164)
+++ XoopsModules/userlog/trunk/userlog/class/log.php 2013-03-06 03:32:56 UTC (rev 11165)
@@ -122,7 +122,7 @@
return $ret;
}
- public function ArrayToDisplay($logs, $skips)
+ public function arrayToDisplay($logs, $skips)
{
foreach($logs as $log_id=>$log) {
$logs[$log_id]["log_time"] = $this->userlog->formatTime($logs[$log_id]["log_time"]);
@@ -149,12 +149,10 @@
public function storeFile($tolog)
{
- $logext = "log";
+ $log_file = $this->userlog->getWorkingFile();
$log_file_name = $this->userlog->getConfig('logfilepath') .'/'. USERLOG_DIRNAME . '/' . $this->userlog->getConfig('logfilename');
- $log_file = $log_file_name.".".$logext;
-
if (filesize($log_file) > $this->userlog->getConfig('maxlogfilesize')) {
- $old_file = $log_file_name."_".date('Y-m-d_H-i-s').".".$logext;
+ $old_file = $log_file_name ."_".date('Y-m-d_H-i-s') . "." . $this->userlog->logext;
if(!$result=rename($log_file, $old_file)) {
$this->setErrors('ERROR renaming ({$log_file_name})');
return false;
@@ -194,6 +192,8 @@
{
$logs = array();
$logsStr = $this->readFiles($log_file);
+ // if no logs return empty array and total = 0
+ if(empty($logsStr)) return array(array(), 0);
foreach ($logsStr as $id=>$log) {
$logArr = json_decode($log, true);
// check if data is correct in file before do anything more
@@ -328,9 +328,7 @@
public function readFile($log_file = null)
{
if (!$log_file) {
- $logext = "log";
- $log_file_name = $this->userlog->getConfig('logfilepath') .'/'. USERLOG_DIRNAME . '/' . $this->userlog->getConfig('logfilename');
- $log_file = $log_file_name.".".$logext;
+ $log_file = $this->userlog->getWorkingFile();
}
// file open/read
$fileHandler = XoopsFile::getHandler();
@@ -350,16 +348,14 @@
}
public function buildFileSelectEle($currentFile = null, $multi = false)
{
- $logext = "log";
+ $fileEl = new XoopsFormSelect(_AM_USERLOG_FILE,"file", $currentFile, 3, $multi);
if (empty($currentFile[0])) {
- $log_file_name = $this->userlog->getConfig('logfilepath') .'/'. USERLOG_DIRNAME . '/' . $this->userlog->getConfig('logfilename');
- $currentFile = $log_file_name.".".$logext;
+ $currentFile = $this->userlog->getWorkingFile();
}
list($allFiles,$totalFiles) = $this->userlog->getAllLogFiles();
- if (empty($totalFiles)) return false;
+ if (empty($totalFiles)) return $fileEl;
$log_file_name = $this->userlog->getConfig('logfilename');
- $working_file = $log_file_name.".".$logext;
- $fileEl = new XoopsFormSelect(_AM_USERLOG_FILE,"file", $currentFile, 3, $multi);
+ $working_file = $log_file_name . "." . $this->userlog->logext;
$fileEl->addOption("all", _AM_USERLOG_STATS_FILEALL);
foreach($allFiles as $path=>$files) {
$fileEl->addOption($path, ">" . $path);
Modified: XoopsModules/userlog/trunk/userlog/class/stats.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/class/stats.php 2013-03-06 00:09:27 UTC (rev 11164)
+++ XoopsModules/userlog/trunk/userlog/class/stats.php 2013-03-06 03:32:56 UTC (rev 11165)
@@ -97,10 +97,9 @@
$this->update("set", 0, $sets);
break;
case "file":
- $logext = "log";
list($allFiles,$totalFiles) = $this->userlog->getAllLogFiles();
foreach($allFiles as $path=>$files) {
- $log_file = $path . '/' . $this->userlog->getConfig('logfilename').".".$logext;
+ $log_file = $path . '/' . $this->userlog->getConfig('logfilename') . "." . $this->userlog->logext;
$this->update("file" ,0 ,count($files) ,false ,$log_file); // update working file in all paths (now 2)
}
// update all files in db link='all'
Modified: XoopsModules/userlog/trunk/userlog/class/userlog.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/class/userlog.php 2013-03-06 00:09:27 UTC (rev 11164)
+++ XoopsModules/userlog/trunk/userlog/class/userlog.php 2013-03-06 03:32:56 UTC (rev 11165)
@@ -31,7 +31,8 @@
public $config;
public $debug;
public $debugArray = array();
-
+ public $logext = "log";
+
protected function __construct($debug)
{
$this->debug = $debug;
@@ -110,18 +111,23 @@
$allConfigs = $this->module->getInfo('config');
$currentPath = $this->getConfig("logfilepath");
$logPaths = array_keys($allConfigs[3]["options"]);
- $logext = "log";
$allFiles = array();
$totalFiles = 0;
foreach($logPaths as $path) {
$folderHandler = XoopsFile::getHandler("folder",$path . "/" . USERLOG_DIRNAME);
- $allFiles[$path . "/" . USERLOG_DIRNAME] = $folderHandler->find(".*" . $logext);
+ $allFiles[$path . "/" . USERLOG_DIRNAME] = $folderHandler->find(".*" . $this->logext);
$totalFiles += count($allFiles[$path . "/" . USERLOG_DIRNAME]);
}
if(empty($totalFiles)) return array(array(), 0);
return array($allFiles, $totalFiles);
}
+ public function getWorkingFile()
+ {
+ $logFileName = $this->getConfig('logfilepath') .'/'. USERLOG_DIRNAME . '/' . $this->getConfig('logfilename');
+ return $logFileName . "." . $this->logext;
+ }
+
public function getFromKeys($array, $keys = null)
{
if (empty($keys)) return $array; // all keys
Modified: XoopsModules/userlog/trunk/userlog/templates/userlog_admin_logs.html
===================================================================
--- XoopsModules/userlog/trunk/userlog/templates/userlog_admin_logs.html 2013-03-06 00:09:27 UTC (rev 11164)
+++ XoopsModules/userlog/trunk/userlog/templates/userlog_admin_logs.html 2013-03-06 03:32:56 UTC (rev 11165)
@@ -1,3 +1,4 @@
+<{$logo}>
<div class="odd border x-small">
<div class="floatleft left">
<{if $logs}>
Modified: XoopsModules/userlog/trunk/userlog/templates/userlog_admin_sets.html
===================================================================
--- XoopsModules/userlog/trunk/userlog/templates/userlog_admin_sets.html 2013-03-06 00:09:27 UTC (rev 11164)
+++ XoopsModules/userlog/trunk/userlog/templates/userlog_admin_sets.html 2013-03-06 03:32:56 UTC (rev 11165)
@@ -1,3 +1,4 @@
+<{$logo}>
<{if $sets}>
<div class="outer">
<div class="head border x-small">
|