|
From: <ir...@us...> - 2013-03-20 22:24:07
|
Revision: 11270
http://sourceforge.net/p/xoops/svn/11270
Author: irmtfan
Date: 2013-03-20 22:24:04 +0000 (Wed, 20 Mar 2013)
Log Message:
-----------
add page admin (yes/no) to table logs in database for recognizing admin pages
Modified Paths:
--------------
XoopsModules/userlog/trunk/userlog/admin/setting.php
XoopsModules/userlog/trunk/userlog/class/log.php
XoopsModules/userlog/trunk/userlog/class/setting.php
XoopsModules/userlog/trunk/userlog/docs/changelog.txt
XoopsModules/userlog/trunk/userlog/language/english/admin.php
XoopsModules/userlog/trunk/userlog/language/english/help/help.html
XoopsModules/userlog/trunk/userlog/sql/mysql.sql
XoopsModules/userlog/trunk/userlog/templates/userlog_admin_logs.html
Modified: XoopsModules/userlog/trunk/userlog/admin/setting.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/admin/setting.php 2013-03-20 19:35:42 UTC (rev 11269)
+++ XoopsModules/userlog/trunk/userlog/admin/setting.php 2013-03-20 22:24:04 UTC (rev 11270)
@@ -91,9 +91,9 @@
$logsetObj->setVar("name",$name);
$logsetObj->setVar("logby",$logby);
$logsetObj->setVar("unique_id",$unique_id);
- // select views means store uid, groups, script name, pagetitle, module, module_name, item name, item id in Database
+ // select views means store uid, groups, script name, pagetitle, pageadmin, module, module_name, item name, item id in Database
if (in_array("views",$option)) {
- $option = array_merge(array("uid", "groups", "script","pagetitle","module","module_name","item_name","item_id"),$option);
+ $option = array_merge(array("uid", "groups", "script","pagetitle","pageadmin","module","module_name","item_name","item_id"),$option);
}
// always log id and time
if(!empty($option[0])) {
Modified: XoopsModules/userlog/trunk/userlog/class/log.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/class/log.php 2013-03-20 19:35:42 UTC (rev 11269)
+++ XoopsModules/userlog/trunk/userlog/class/log.php 2013-03-20 22:24:04 UTC (rev 11270)
@@ -52,6 +52,7 @@
$this->initVar("script", XOBJ_DTYPE_TXTBOX, null, true, 50);
$this->initVar("referer", XOBJ_DTYPE_TXTBOX, null, true, 255);
$this->initVar("pagetitle", XOBJ_DTYPE_TXTBOX, null, false, 255);
+ $this->initVar("pageadmin", XOBJ_DTYPE_INT, null, false);
$this->initVar("module", XOBJ_DTYPE_TXTBOX, null, true, 25);
$this->initVar("module_name", XOBJ_DTYPE_TXTBOX, null, true, 25);
$this->initVar("item_name", XOBJ_DTYPE_TXTBOX, null, false, 10);
@@ -160,8 +161,8 @@
$sortItem = ($sort == "module_count") ? "module_name" : $sort;
$criteria->setSort($sortItem);
$criteria->setOrder($order);
- $fields = array("uid","groups","pagetitle","module","module_name","script","item_name","item_id");
- $criteria->setGroupby("uid, groups, module, script, item_name, item_id");
+ $fields = array("uid","groups","pagetitle","pageadmin","module","module_name","script","item_name","item_id");
+ $criteria->setGroupby("uid, groups, pageadmin, module, script, item_name, item_id");
list($loglogsObj, $itemViews) = $this->userlog->getHandler('log')->getLogsCounts($criteria,$fields);
$criteria->setGroupby("module");
@@ -176,7 +177,7 @@
if(!empty($item_id)) {
$link = "modules/" . $module_dirname."/".$loglogObj->script() . "?".$loglogObj->item_name()."=".$item_id;
} elseif($module_dirname != "system-root") {
- $link = "modules/" . $module_dirname."/".$loglogObj->script();
+ $link = "modules/" . $module_dirname . ($loglogObj->pageadmin() ? "/admin/" : "/") .$loglogObj->script();
} else {
$link = $loglogObj->script();
}
Modified: XoopsModules/userlog/trunk/userlog/class/setting.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/class/setting.php 2013-03-20 19:35:42 UTC (rev 11269)
+++ XoopsModules/userlog/trunk/userlog/class/setting.php 2013-03-20 22:24:04 UTC (rev 11270)
@@ -251,6 +251,10 @@
"title" => _AM_USERLOG_PAGETITLE,
"value" => isset($GLOBALS['xoopsTpl']) ? $GLOBALS['xoopsTpl']->get_template_vars("xoops_pagetitle") : ""
),
+ "pageadmin" => array( "type" => "bool",
+ "title" => _AM_USERLOG_PAGEADMIN,
+ "value" => (isset($GLOBALS['xoopsOption']['pagetype']) && $GLOBALS['xoopsOption']['pagetype'] == "admin") ? 1 : 0
+ ),
"module" => array( "type" => "text",
"title" => _AM_USERLOG_MODULE,
"value" => $this->userlog->getLogModule()->getVar("dirname")
@@ -340,12 +344,14 @@
$query_types = array("="=>"",">"=>"GT", "<"=>"LT");
foreach($headers as $ele=>$def) {
switch ($ele) {
+ case "pageadmin":
case "admin":
- $el[$ele] = new XoopsFormRadio(_AM_USERLOG_ADMIN, "options[{$ele}]",isset($options[$ele]) ? $options[$ele] : '');
+ $defEl = "_AM_USERLOG_". strtoupper($ele); // if constant is defined in translation - it is good for now
+ $el[$ele] = new XoopsFormRadio(constant($defEl), "options[{$ele}]",isset($options[$ele]) ? $options[$ele] : '');
$el[$ele]->addOption(1,_YES);
$el[$ele]->addOption(0,_NO);
$el[$ele]->addOption('',_ALL);
- $el[$ele]->setDescription(_AM_USERLOG_ADMIN_FORM);
+ $el[$ele]->setDescription(constant($defEl . "_FORM"));
$form->addElement($el[$ele]);
break;
default:
Modified: XoopsModules/userlog/trunk/userlog/docs/changelog.txt
===================================================================
--- XoopsModules/userlog/trunk/userlog/docs/changelog.txt 2013-03-20 19:35:42 UTC (rev 11269)
+++ XoopsModules/userlog/trunk/userlog/docs/changelog.txt 2013-03-20 22:24:04 UTC (rev 11270)
@@ -1,5 +1,6 @@
Userlog
Changelog:
+- add page admin (yes/no) to table logs in database for recognizing admin pages(2013/03/21)
- change version to ALPHA 2(2013/03/19)
- enhance admin/logs.php template to show admin(y/n), group names, user link, user ip link to whois, ...(2013/03/19)
- add HomePage to module scope. It will be for all root scripts like ROOT/admin.php(2013/03/19)
Modified: XoopsModules/userlog/trunk/userlog/language/english/admin.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/language/english/admin.php 2013-03-20 19:35:42 UTC (rev 11269)
+++ XoopsModules/userlog/trunk/userlog/language/english/admin.php 2013-03-20 22:24:04 UTC (rev 11270)
@@ -39,6 +39,8 @@
define("_AM_USERLOG_UID_DSC","User ID number");
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. e.g.: webmasters, moderator in forums");
+define("_AM_USERLOG_PAGEADMIN","Is Page admin?(y/n)");
+define("_AM_USERLOG_PAGEADMIN_DSC","True if page is in admin side.");
define("_AM_USERLOG_GROUPS","Groups");
define("_AM_USERLOG_GROUPS_DSC","All Groups");
define("_AM_USERLOG_UNAME","Username");
@@ -82,7 +84,7 @@
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? 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 dirname, module name, 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,pageadmin, module dirname, module name, 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? Selecting nothing means whole website");
Modified: XoopsModules/userlog/trunk/userlog/language/english/help/help.html
===================================================================
--- XoopsModules/userlog/trunk/userlog/language/english/help/help.html 2013-03-20 19:35:42 UTC (rev 11269)
+++ XoopsModules/userlog/trunk/userlog/language/english/help/help.html 2013-03-20 22:24:04 UTC (rev 11270)
@@ -38,7 +38,7 @@
(eg: uid=1, gid=3 (anonymous), ip=66.249.66.1) enter 0 means all users.<br />
<br />
<b>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 dirname, module name, item name, item ID in Database.<br />
+select log user views means store uid, groups, script name, pagetitle, pageadmin, module dirname, module name, item name, item ID in Database.<br />
<br />
<b>Log scope:</b> if you want to log users activities in some specific module, you can do it here.<br />
select nothing means all website.<br />
Modified: XoopsModules/userlog/trunk/userlog/sql/mysql.sql
===================================================================
--- XoopsModules/userlog/trunk/userlog/sql/mysql.sql 2013-03-20 19:35:42 UTC (rev 11269)
+++ XoopsModules/userlog/trunk/userlog/sql/mysql.sql 2013-03-20 22:24:04 UTC (rev 11270)
@@ -16,6 +16,7 @@
script varchar(20) NOT NULL default '',
referer varchar(255) NOT NULL default '',
pagetitle varchar(255) NOT NULL default '',
+ pageadmin smallint(1) unsigned NOT NULL default 0,
module varchar(25) NOT NULL default '',
module_name varchar(25) NOT NULL default '',
item_name varchar(10) NOT NULL default '',
@@ -33,7 +34,7 @@
PRIMARY KEY (log_id),
KEY log_id_uid (log_id, uid),
KEY uid (uid, uname, user_ip),
- KEY views (uid, groups, script, pagetitle(20), module, item_name, item_id)
+ KEY views (uid, groups, script, pagetitle(20),pageadmin, module, item_name, item_id)
) ENGINE=MyISAM;
# --------------------------------------------------------
Modified: XoopsModules/userlog/trunk/userlog/templates/userlog_admin_logs.html
===================================================================
--- XoopsModules/userlog/trunk/userlog/templates/userlog_admin_logs.html 2013-03-20 19:35:42 UTC (rev 11269)
+++ XoopsModules/userlog/trunk/userlog/templates/userlog_admin_logs.html 2013-03-20 22:24:04 UTC (rev 11270)
@@ -74,7 +74,7 @@
<input title="<{$smarty.const._ALL}>" type="checkbox" name="id_check" id="id_check" value="1" onclick="xoopsCheckAll('select', 'id_check');" />
</div>
<{foreach item=title key=header from=$headers}>
- <div title="<{$title}>" class="width<{if $header == "admin" || $header == "log_id" || $header == "uid" || $header == "item_name" || $header == "item_id"}>1<{else}><{$widthC}><{/if}> floatleft center" style="height: 15px; overflow: hidden;">
+ <div title="<{$title}>" class="width<{if $header == "admin" || $header == "pageadmin" || $header == "log_id" || $header == "uid" || $header == "item_name" || $header == "item_id"}>1<{else}><{$widthC}><{/if}> floatleft center" style="height: 15px; overflow: hidden;">
<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}>
@@ -87,14 +87,14 @@
<input type="checkbox" name="log_id[]" id="log_id[<{$log_id}>]" value="<{$log_id}>" />
</div>
<{foreach item=title key=header from=$headers}>
- <div title="<{$log.$header}>" class="width<{if $header == "admin" || $header == "log_id" || $header == "uid" || $header == "item_name" || $header == "item_id"}>1<{else}><{$widthC}><{/if}> floatleft center" style="height: 15px; overflow: hidden;">
+ <div title="<{$log.$header}>" class="width<{if $header == "admin" || $header == "pageadmin" || $header == "log_id" || $header == "uid" || $header == "item_name" || $header == "item_id"}>1<{else}><{$widthC}><{/if}> floatleft center" style="height: 15px; overflow: hidden;">
<{if $header == "uname"}>
<a href="<{$xoops_url}>/userinfo.php?uid=<{$log.uid}>"><{$log.uname}></a>
<{elseif $header == "user_ip"}>
<a href="http://www.whois.sc/<{$log.user_ip}>"><{$log.user_ip}></a>
- <{elseif $header == "admin"}>
- <{if $log.admin == 1}><{$smarty.const._YES}><{else}><{$smarty.const._NO}><{/if}>
+ <{elseif $header == "admin" || $header == "pageadmin"}>
+ <{if $log.$header == 1}><{$smarty.const._YES}><{else}><{$smarty.const._NO}><{/if}>
<{elseif $header == "item_id"}>
<{if $log.item_id gt 0}><{$log.item_id}><{/if}>
<{else}>
|