|
From: <ir...@us...> - 2013-02-28 02:20:31
|
Revision: 11120
http://sourceforge.net/p/xoops/svn/11120
Author: irmtfan
Date: 2013-02-28 02:20:26 +0000 (Thu, 28 Feb 2013)
Log Message:
-----------
add pagination, sort, order form and up/down arrow to admin/logs.php
bug fix: stats update when file type have a link
fix some definitions
Modified Paths:
--------------
XoopsModules/userlog/trunk/userlog/admin/index.php
XoopsModules/userlog/trunk/userlog/admin/logs.php
XoopsModules/userlog/trunk/userlog/class/stats.php
XoopsModules/userlog/trunk/userlog/language/english/admin.php
XoopsModules/userlog/trunk/userlog/language/english/help/help.html
XoopsModules/userlog/trunk/userlog/language/english/modinfo.php
XoopsModules/userlog/trunk/userlog/templates/userlog_admin_logs.html
XoopsModules/userlog/trunk/userlog/xoops_version.php
Added Paths:
-----------
XoopsModules/userlog/trunk/userlog/class/form/
XoopsModules/userlog/trunk/userlog/class/form/index.html
XoopsModules/userlog/trunk/userlog/class/form/simpleform.php
Modified: XoopsModules/userlog/trunk/userlog/admin/index.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/admin/index.php 2013-02-27 21:09:27 UTC (rev 11119)
+++ XoopsModules/userlog/trunk/userlog/admin/index.php 2013-02-28 02:20:26 UTC (rev 11120)
@@ -35,8 +35,8 @@
$statsObj->updateAll("file", 100); // prob = 100
$stats = $statsObj->getAll();
-// if nothing in database - start with a setting!
-if (empty($stats)) {
+// if no set in database - start with a setting!
+if ($stats["set"][0]["value"] == 0) {
$indexAdmin->addItemButton(_AM_USERLOG_SET_ADD,"setting.php");
} else {
$indexAdmin->addInfoBox(_AM_USERLOG_STATS_ABSTRACT);
@@ -48,7 +48,8 @@
// use sprintf in moduleadmin: sprintf($text, "<span style='color : " . $color . "; font-weight : bold;'>" . $value . "</span>")
$indexAdmin->addInfoBoxLine(_AM_USERLOG_STATS_ABSTRACT,
sprintf(_AM_USERLOG_STATS_TYPE_PERIOD, "%s\1", $types[$type], constant("_AM_USERLOG_" . strtoupper($periods[$period]))),
- $arr2["value"] );
+ $arr2["value"],
+ $arr2["value"] ? 'GREEN' : 'RED');
}
}
$indexAdmin->addInfoBox(_AM_USERLOG_SUMMARY);
Modified: XoopsModules/userlog/trunk/userlog/admin/logs.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/admin/logs.php 2013-02-27 21:09:27 UTC (rev 11119)
+++ XoopsModules/userlog/trunk/userlog/admin/logs.php 2013-02-28 02:20:26 UTC (rev 11120)
@@ -38,6 +38,9 @@
//$query_types = array("="=>"",">"=>"GT", "<"=>"LT");
$criteria = new CriteriaCompo();
//$criteria->add(new Criteria(1, 1));
+// 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)) {
@@ -89,12 +92,20 @@
$vars[$key] = $val;
// add criteria
$criteria->add($criteria_q[$key]);
+ // add hiddens to formnav
+ $hidOptionsEl = new XoopsFormHidden("options[{$key}]", $val);
+ $formNav->addElement($hidOptionsEl);
+ unset($hidOptionsEl);
}
$logs = $Userlog->getHandler('log')->getLogs($limitentry,$startentry,$criteria,$sortentry,$orderentry ,null, false);
$totalLogs = $Userlog->getHandler('log')->getLogsCount($criteria);
+if ( !empty($query_array) ) {
+ $query_page = implode("&", array_values($query_array));
+}
+$query_entry = "&limitentry=" . $limitentry . "&sortentry=" . $sortentry . "&orderentry=" . $orderentry;
// pagenav
-$pagenav = new XoopsPageNav($totalLogs, $limitentry, $startentry, 'startentry');
+$pagenav = new XoopsPageNav($totalLogs, $limitentry, $startentry, 'startentry', $query_entry . (!empty($query_page) ? "&" . $query_page : ''));
if ( !empty($pagenav) ) {
$GLOBALS['xoopsTpl']->assign("pagenav",$pagenav->renderNav());
}
@@ -124,8 +135,8 @@
}
// assign logs
$GLOBALS['xoopsTpl']->assign('logs', $logs);
-if ( !empty($query_array) ) {
- $GLOBALS['xoopsTpl']->assign('query_page', implode("&", array_values($query_array)));
+if ( !empty($query_page) ) {
+ $GLOBALS['xoopsTpl']->assign('query_page', $query_page);
}
$GLOBALS['xoopsTpl']->assign('types', $type_vars);
@@ -150,6 +161,20 @@
$form->addElement($submitEl);
$GLOBALS['xoopsTpl']->assign('form', $form->render());
+// add formnav after adding form
+$limitEl->setClass("floatleft left");
+$formNav->addElement($limitEl);
+$sortEl->setExtra("onchange=\"document.forms.logsnav.submit()\"");
+$sortEl->setClass("floatleft left");
+$formNav->addElement($sortEl);
+$orderEl->setExtra("onchange=\"document.forms.logsnav.submit()\"");
+$orderEl->setClass("floatleft left");
+$formNav->addElement($orderEl);
+$submitEl = new XoopsFormButton('', 'submit()', _GO, 'submit');
+$submitEl->setClass("floatleft left");
+$formNav->addElement($submitEl);
+$GLOBALS['xoopsTpl']->assign('formNav', $formNav->render());
+
//headers
foreach($skips as $option) {
unset($headers[$option]);
Added: XoopsModules/userlog/trunk/userlog/class/form/index.html
===================================================================
--- XoopsModules/userlog/trunk/userlog/class/form/index.html (rev 0)
+++ XoopsModules/userlog/trunk/userlog/class/form/index.html 2013-02-28 02:20:26 UTC (rev 11120)
@@ -0,0 +1 @@
+ <script>history.go(-1);</script>
\ No newline at end of file
Added: XoopsModules/userlog/trunk/userlog/class/form/simpleform.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/class/form/simpleform.php (rev 0)
+++ XoopsModules/userlog/trunk/userlog/class/form/simpleform.php 2013-02-28 02:20:26 UTC (rev 11120)
@@ -0,0 +1,51 @@
+<?php
+/**
+ * XOOPS simple form
+ *
+ * You may not change or alter any portion of this comment or credits
+ * of supporting developers from this source code or any supporting source code
+ * which is considered copyrighted (c) material of the original comment or credit authors.
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * @copyright The XOOPS Project http://sourceforge.net/projects/xoops/
+ * @license GNU GPL 2 (http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
+ * @package kernel
+ * @subpackage form
+ * @since 2.0.0
+ * @author Kazumi Ono (AKA onokazu) http://www.myweb.ne.jp/, http://jp.xoops.org/
+ * @version $Id: simpleform.php 8066 2011-11-06 05:09:33Z beckmi $
+ */
+
+defined('XOOPS_ROOT_PATH') or die('Restricted access');
+
+/**
+ * base class
+ */
+xoops_load('XoopsForm');
+
+/**
+ * Form that will output as a simple HTML form with minimum formatting
+ */
+class UserlogSimpleForm extends XoopsForm
+{
+ /**
+ * create HTML to output the form with minimal formatting
+ *
+ * @return string
+ */
+ function render()
+ {
+ $ret = $this->getTitle() . "\n<form name='" . $this->getName() . "' id='" . $this->getName() . "' action='" . $this->getAction() . "' method='" . $this->getMethod() . "'" . $this->getExtra() . ">\n";
+ foreach ($this->getElements() as $ele) {
+ if (!$ele->isHidden()) {
+ $ret .= "<div class=\"" . $ele->getClass() . "\"><strong>" . $ele->getCaption() . "</strong>" . $ele->render() . "\n</div>";
+ } else {
+ $ret .= $ele->render() . "\n";
+ }
+ }
+ $ret .= "</form>\n";
+ return $ret;
+ }
+}
\ No newline at end of file
Modified: XoopsModules/userlog/trunk/userlog/class/stats.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/class/stats.php 2013-02-27 21:09:27 UTC (rev 11119)
+++ XoopsModules/userlog/trunk/userlog/class/stats.php 2013-02-28 02:20:26 UTC (rev 11120)
@@ -96,13 +96,11 @@
case "set":
// total
$sets = $this->userlog->getHandler('setting')->getCount();
- if (empty($sets)) return false;
$this->update("set", 0, $sets);
break;
case "file":
$logext = "log";
$log_file_paths = array(XOOPS_VAR_PATH .'/'. USERLOG_DIRNAME,XOOPS_UPLOAD_PATH .'/'. USERLOG_DIRNAME);
-
$allFiles = 0;
$dirnum = 2; // assume 2 pathes are exist
foreach($log_file_paths as $log_file_path) {
@@ -169,7 +167,9 @@
public function update($type = 'log', $period = 0, $value = null, $increment = false, $link = '')
{
// if there is nothing to add to db
- if (empty($value) && empty($link)) return false;
+ if (empty($value) && !empty($increment)) return false;
+ // for file we should have a link
+ if ($type == "file" && empty($link)) return false;
$criteria = new CriteriaCompo();
$criteria->add(new Criteria('stats_type', $type), "AND");
$criteria->add(new Criteria('stats_period', $period), "AND");
Modified: XoopsModules/userlog/trunk/userlog/language/english/admin.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/language/english/admin.php 2013-02-27 21:09:27 UTC (rev 11119)
+++ XoopsModules/userlog/trunk/userlog/language/english/admin.php 2013-02-28 02:20:26 UTC (rev 11120)
@@ -33,8 +33,8 @@
define("_AM_USERLOG_LOG_TIME_DSC","Time of log record");
define("_AM_USERLOG_UID","User id");
define("_AM_USERLOG_UID_DSC","User id number");
-define("_AM_USERLOG_ADMIN","isAdmin?(y/n)");
-define("_AM_USERLOG_ADMIN_DSC","true if user is admin in this area");
+define("_AM_USERLOG_ADMIN","is Admin?(y/n)");
+define("_AM_USERLOG_ADMIN_DSC","true if user is admin in all or any section of your website that have been logged. eg: webmasters, moderator in forums");
define("_AM_USERLOG_GROUPS","Groups");
define("_AM_USERLOG_GROUPS_DSC","All Groups");
define("_AM_USERLOG_UNAME","Username");
@@ -71,15 +71,15 @@
define("_AM_USERLOG_SET_NAME","Setting name");
define("_AM_USERLOG_SET_NAME_DSC","Type a name for this setting in your own language");
define("_AM_USERLOG_SET_LOGBY","Log by");
-define("_AM_USERLOG_SET_LOGBY_DSC","Log user activities by fetching? priority: IF exist uid log it ELSEIF exist gid log it ELSEIf exist ip log it");
+define("_AM_USERLOG_SET_LOGBY_DSC","Log user activities by fetching this value from users table in database? priority: IF exist uid log it ELSEIF exist gid log it ELSEIf exist ip log it ELSE if Unique id = 0 log all users ELSE dont log");
define("_AM_USERLOG_SET_UNIQUE_ID","Unique id");
define("_AM_USERLOG_SET_UNIQUE_ID_DSC","Unique id (eg: uid=1, gid=3 (anonymous), ip=66.249.66.1) 0=all users");
define("_AM_USERLOG_SET_GID","Group id");
define("_AM_USERLOG_SET_IP","Visitor ip");
define("_AM_USERLOG_SET_OPTIONS","options");
-define("_AM_USERLOG_SET_OPTIONS_DSC","Log which user/page data? Note: no option means all options. no store option (File and/or Database) means Database. select views means store uid, groups, script name, pagetitle, module, item name, item id in Database");
+define("_AM_USERLOG_SET_OPTIONS_DSC","Log which user/page data? Notice: selecting no option means all options. Selecting no store option (File and/or Database) means Database. Selecting views means store uid, groups, script name, pagetitle, module, item name, item id in Database");
define("_AM_USERLOG_SET_SCOPE","Log scope");
-define("_AM_USERLOG_SET_SCOPE_DSC","Log users activities in which modules? select nothing means whole website");
+define("_AM_USERLOG_SET_SCOPE_DSC","Log users activities in which modules? Select nothing means whole website");
// setting.php add/edit
define("_AM_USERLOG_SET_ERROR","Error. You input a wrong data!");
@@ -157,7 +157,7 @@
// END DO NOT TOUCH
// logs.php error
-define("_AM_USERLOG_LOG_ERROR","No Log is found in database.");
+define("_AM_USERLOG_LOG_ERROR","No Log is found in database with this criteria.");
define("_AM_USERLOG_LOG_STATUS","%s\1 logs are found.");
define("_AM_USERLOG_LOG_PAGE","Pages");
Modified: XoopsModules/userlog/trunk/userlog/language/english/help/help.html
===================================================================
--- XoopsModules/userlog/trunk/userlog/language/english/help/help.html 2013-02-27 21:09:27 UTC (rev 11119)
+++ XoopsModules/userlog/trunk/userlog/language/english/help/help.html 2013-02-28 02:20:26 UTC (rev 11120)
@@ -2,10 +2,11 @@
<h1 class="head">Help: <a class="ui-corner-all tooltip" href="<{$xoops_url}>/modules/userlog/admin/index.php" title="Back to the administration of Userlog"> Userlog <img src="<{xoAdminIcons home.png}>" alt="Back to the administration of Userlog"/></a></h1>
<h4 class="odd">Description</h4>
<p class="even">
-Userlog is a node logger which can log your user/visitor activities in your site.
-This is a very useful tool for webmasters in busy sites. for example you can log your other admins navigation.
-current nodes for logging are: user id, user group and visitor ip.
-You can store logs in database, in file or both.
+Userlog is a node logger which can log your user/visitor activities in your site.<br />
+This is a very useful tool for webmasters in busy sites. for example you can log your other admins navigation.<br />
+Current nodes for logging are: user id, user group and visitor ip.<br />
+You can store logs in database, in file or both.<br /><br />
+<b>Attention: userlog module will only work in admin part of modules use the moduleadmin class.</b><br /><br />
</p>
<h4 class="odd">Userlog preferences</h4>
After installtion we strongly recommend you to go to preferences.<br /><br />
@@ -36,7 +37,7 @@
<b>Setting Unique id</b>: here you must choose one unique id (node id) to be logged.<br />
(eg: uid=1, gid=3 (anonymous), ip=66.249.66.1) enter 0 means all users.<br />
<br />
-<b>Setting options:</b> you can select which user or page data you want to be logged. Also here you can choose 3 settings. store in file? store in db? and log user views?<br />
+<b>Setting options:</b> you can select which user or page data you want to be logged. Also here you can choose 3 settings. store in file? store in database? and log user views?<br />
select log user views means store uid, groups, script name, pagetitle, module, item name, item id in Database.<br />
<br />
<b>Setting scope:</b> if you want to log users activities in some specific module here you can do it.<br />
Modified: XoopsModules/userlog/trunk/userlog/language/english/modinfo.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/language/english/modinfo.php 2013-02-27 21:09:27 UTC (rev 11119)
+++ XoopsModules/userlog/trunk/userlog/language/english/modinfo.php 2013-02-28 02:20:26 UTC (rev 11120)
@@ -27,20 +27,20 @@
// configs
// config logfile
-define("_MI_USERLOG_CONFCAT_LOGFILE","Log file (Set if you need to store logs in file otherwise foget it)");
+define("_MI_USERLOG_CONFCAT_LOGFILE","Log file (Set if you need to store logs in file otherwise forget it)");
define("_MI_USERLOG_CONFCAT_LOGFILE_DSC","Preferences for log file");
define("_MI_USERLOG_CONFCAT_FORMAT","Format");
define("_MI_USERLOG_CONFCAT_FORMAT_DSC","Preferences for format");
define("_MI_USERLOG_CONFCAT_PAGENAV","Page navigation");
define("_MI_USERLOG_CONFCAT_PAGENAV_DSC","Preferences for page navigation");
-define("_MI_USERLOG_CONFCAT_LOGDB","Log database (Set if you need to store logs in database otherwise foget it)");
+define("_MI_USERLOG_CONFCAT_LOGDB","Log database (Set if you need to store logs in database otherwise forget it)");
define("_MI_USERLOG_CONFCAT_LOGDB_DSC","Preferences for Log database");
define("_MI_USERLOG_MAXLOGFILESIZE","Maximum file size for current working log file (in bytes)");
define("_MI_USERLOG_MAXLOGFILESIZE_DSC","Advise: Set it below 1MB because some servers set limitations for viewing large files in Cpanel.");
define("_MI_USERLOG_LOGFILEPATH","Log file full path");
define("_MI_USERLOG_LOGFILEPATH_DSC","Advise: a path outside wwwroot is safe from browsing by everybody");
define("_MI_USERLOG_LOGFILENAME","Current working Log file name");
-define("_MI_USERLOG_LOGFILENAME_DSC","Older log files will be stored with this prefix. Log_file_name_date('Y-m-d_H-i-s').log");
+define("_MI_USERLOG_LOGFILENAME_DSC","Older log files will be stored with this prefix: Log_file_name_date('Y-m-d_H-i-s').log");
// config format
define("_MI_USERLOG_DATEFORMAT","Date format");
define("_MI_USERLOG_DATEFORMAT_DSC","If you leave it empty, this module will use Core default");
@@ -50,10 +50,10 @@
define("_MI_USERLOG_LOGS_PERPAGE","Number of logs per page");
define("_MI_USERLOG_LOGS_PERPAGE_DSC","The default value for viewing logs");
// config logdb
-define("_MI_USERLOG_MAXLOGS","Maximum logs stored in db");
-define("_MI_USERLOG_MAXLOGS_DSC","logs will be deleted from db after this number");
-define("_MI_USERLOG_MAXLOGSPERIOD","Maximum period that logs stored in db. 0 = store forever");
-define("_MI_USERLOG_MAXLOGSPERIOD_DSC","logs older than this period will be deleted from database. Positive for days and negative for hours. advise: use a high number");
+define("_MI_USERLOG_MAXLOGS","Maximum logs stored in database");
+define("_MI_USERLOG_MAXLOGS_DSC","logs will be deleted from database after this number");
+define("_MI_USERLOG_MAXLOGSPERIOD","Maximum period that logs stored in database. 0 = store forever");
+define("_MI_USERLOG_MAXLOGSPERIOD_DSC","logs older than this period will be deleted from database. Positive for days and negative for hours. Advise: use a high number");
// blocks
define("_MI_USERLOG_BLOCK_VIEWS","All views in site");
Modified: XoopsModules/userlog/trunk/userlog/templates/userlog_admin_logs.html
===================================================================
--- XoopsModules/userlog/trunk/userlog/templates/userlog_admin_logs.html 2013-02-27 21:09:27 UTC (rev 11119)
+++ XoopsModules/userlog/trunk/userlog/templates/userlog_admin_logs.html 2013-02-28 02:20:26 UTC (rev 11120)
@@ -1,8 +1,15 @@
-<{if $logs}>
<div class="odd border x-small">
-<{$status}> <{$pages}> <{$smarty.const._AM_USERLOG_LOG_PAGE}>.
-<{$smarty.const._AM_USERLOG_SORT}>:<{$sortentry}> <{$smarty.const._AM_USERLOG_ORDER}>:<{$orderentry}>
+<div class="floatleft left">
+ <{if $logs}>
+ <{$status}> <{$pages}> <{$smarty.const._AM_USERLOG_LOG_PAGE}>
+ <{else}>
+ <{$smarty.const._AM_USERLOG_LOG_ERROR}>
+ <{/if}>
</div>
+<div class="floatright left"><{$formNav}></div>
+<div class="clear"></div>
+</div>
+<{if $options}>
<div class="even border x-small">
<{foreach item=val key=op from=$options}>
<{assign var=header value=$op|replace:'GT':''|replace:'LT':''}>
@@ -10,12 +17,14 @@
<{$headers.$header}><{$tt}>=<b><{$val}></b><br/>
<{/foreach}>
</div>
+<{/if}>
+<{if $logs}>
<{assign var=widthC value=5}>
<div class="outer">
- <div class="head border xx-small">
+ <div class="head boxshadow1 border xx-small">
<{foreach item=title key=header from=$headers}>
<div title="<{$title}>" class="width<{if $header == "admin" || $header == "log_id" || $header == "uid"}>1<{else}><{$widthC}><{/if}> floatleft center" style="height: 15px; overflow: hidden;">
- <a title="<{$title}>" href="logs.php?sortentry=<{$header}>&<{$query_page}>" alt="<{$title}>"><{$title}></a>
+ <a class="ui-corner-all tooltip" title="<{$title}>" href="logs.php?limitentry=<{$limitentry}>&sortentry=<{$header}><{if $query_page}>&<{$query_page}><{/if}><{if $sortentry eq $header}>&orderentry=<{if $orderentry eq 'DESC'}>ASC<{else}>DESC<{/if}><{/if}> " alt="<{$title}>"><{if $sortentry eq $header}><img src="<{if $orderentry eq 'DESC'}><{xoModuleIcons16 DESC.png}><{else}><{xoModuleIcons16 ASC.png}><{/if}>"/><{/if}><{$title}></a>
</div>
<{/foreach}>
<div class="clear"></div>
@@ -29,8 +38,6 @@
</div>
<{/foreach}>
</div>
-<{else}>
- <{$smarty.const._AM_USERLOG_LOG_ERROR}>
<{/if}>
<{$pagenav}>
<{$form}>
\ No newline at end of file
Modified: XoopsModules/userlog/trunk/userlog/xoops_version.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/xoops_version.php 2013-02-27 21:09:27 UTC (rev 11119)
+++ XoopsModules/userlog/trunk/userlog/xoops_version.php 2013-02-28 02:20:26 UTC (rev 11120)
@@ -27,7 +27,7 @@
$modversion['version'] = '1';
$modversion['author'] = 'xoops.org (irmtfan)';
$modversion['nickname'] = 'irmtfan';
-$modversion['credits'] = 'The XOOPS Project Team, trabis, irmtfan';
+$modversion['credits'] = 'The XOOPS Project Team, trabis, irmtfan, mamba, tatane, Cesag';
$modversion['license'] = 'GNU GPL 2.0';
$modversion['license_url'] = 'www.gnu.org/licenses/gpl-2.0.html/';
$modversion['official'] = 0;
|