|
From: <ir...@us...> - 2013-03-07 02:37:36
|
Revision: 11173
http://sourceforge.net/p/xoops/svn/11173
Author: irmtfan
Date: 2013-03-07 02:37:32 +0000 (Thu, 07 Mar 2013)
Log Message:
-----------
- add more GUI facilities to admin/logs.php. a complete toggle formhead can remember the last status for each admin, reset button, up/down.
- fix small bug in saving logs in file
Modified Paths:
--------------
XoopsModules/userlog/trunk/userlog/admin/logs.php
XoopsModules/userlog/trunk/userlog/admin/menu.php
XoopsModules/userlog/trunk/userlog/class/form/simpleform.php
XoopsModules/userlog/trunk/userlog/class/log.php
XoopsModules/userlog/trunk/userlog/class/setting.php
XoopsModules/userlog/trunk/userlog/class/userlog.php
XoopsModules/userlog/trunk/userlog/docs/changelog.txt
XoopsModules/userlog/trunk/userlog/docs/readme.txt
XoopsModules/userlog/trunk/userlog/language/english/admin.php
XoopsModules/userlog/trunk/userlog/templates/userlog_admin_logs.html
Added Paths:
-----------
XoopsModules/userlog/trunk/userlog/templates/css/
XoopsModules/userlog/trunk/userlog/templates/css/index.html
XoopsModules/userlog/trunk/userlog/templates/css/style.css
XoopsModules/userlog/trunk/userlog/templates/js/
XoopsModules/userlog/trunk/userlog/templates/js/index.html
XoopsModules/userlog/trunk/userlog/templates/js/userlog.js
Modified: XoopsModules/userlog/trunk/userlog/admin/logs.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/admin/logs.php 2013-03-06 23:15:46 UTC (rev 11172)
+++ XoopsModules/userlog/trunk/userlog/admin/logs.php 2013-03-07 02:37:32 UTC (rev 11173)
@@ -197,6 +197,7 @@
$fileEl = $loglogObj->buildFileSelectEle($file, true);// multiselect = true
$fileEl->setDescription(_AM_USERLOG_FILE_DSC);
}
+// limit, sort, order
$limitEl = new XoopsFormText(_AM_USERLOG_LOGS_PERPAGE, "limitentry", 10, 255, $limitentry);
$limitEl->setDescription(sprintf(_AM_USERLOG_LOGS_PERPAGE_DSC, $Userlog->getConfig("logs_perpage")));
$sortEl = new XoopsFormSelect(_AM_USERLOG_SORT,"sortentry", $sortentry);
@@ -206,9 +207,9 @@
$orderEl->addOption("DESC", _DESCENDING);
$orderEl->addOption("ASC", _ASCENDING);
$orderEl->setDescription(_AM_USERLOG_ORDER_DSC);
-
-$submitEl = new XoopsFormButton(_SUBMIT, 'submit', _SUBMIT, 'submit');
-
+// submit logs
+$submitEl = new XoopsFormButton(_SUBMIT, 'submitlogs', _SUBMIT, 'submit');
+// add elements
$form->addElement($engineEl);
if ($engine == "file") {
$form->addElement($fileEl);
@@ -237,11 +238,34 @@
$orderEl->setExtra("onchange=\"document.forms.logsnav.submit()\"");
$orderEl->setClass("floatleft left");
$formNav->addElement($orderEl);
-$submitEl = new XoopsFormButton('', 'submit()', _GO, 'submit');
+$submitEl = new XoopsFormButton('', 'submitlogsnav', _GO, 'submit');
$submitEl->setClass("floatleft left");
$formNav->addElement($submitEl);
$GLOBALS['xoopsTpl']->assign('formNav', $formNav->render());
// END form navigation
+$formHead = new UserlogSimpleForm(_AM_USERLOG_LOGFORM,'logshead','logs.php', 'get');
+foreach($elements as $key=>$ele) {
+ $ele->setClass("floatleft left");
+ $formHead->addElement($elements[$key]);
+}
+// add class hidden to formHead
+if ($engine == "file") {
+ $fileEl->setClass("hidden");
+ $formHead->addElement($fileEl);
+}
+$engineEl->setClass("hidden");
+$formHead->addElement($engineEl);
+$limitEl->setClass("hidden");
+$formHead->addElement($limitEl);
+$sortEl->setClass("hidden");
+$formHead->addElement($sortEl);
+$orderEl->setClass("hidden");
+$formHead->addElement($orderEl);
+// add submit to formHead
+$submitEl = new XoopsFormButton('', 'submitlogshead', _SUBMIT, 'submit');
+$formHead->addElement($submitEl);
+$formHead->setExtra("onsubmit=\"preventSubmitEmptyInput('options[');\"");
+$GLOBALS['xoopsTpl']->assign('formHead', $formHead->render());
$indexAdmin = new ModuleAdmin(); // add this just to include the css file to template
$GLOBALS['xoopsTpl']->assign('logo',$indexAdmin->addNavigation('logs.php'));
@@ -251,7 +275,20 @@
unset($headers[$option]);
}
$GLOBALS['xoopsTpl']->assign('headers', $headers);
-
+// get TOGGLE cookie
+$toggles = $Userlog->getCookie("TOGGLE");
+$expand = (count($toggles) > 0) ? ( (in_array('formhead', $toggles)) ? false : true ) : true;
+if ($expand) {
+ $formHeadToggle["toggle"] = "toggle_block";
+ $formHeadToggle["icon"] = "green";
+ $formHeadToggle["alt"] = _AM_USERLOG_HIDE_FORM;
+} else {
+ $formHeadToggle["toggle"] = "toggle_none";
+ $formHeadToggle["icon"] = "green_off";
+ $formHeadToggle["alt"] = _AM_USERLOG_SHOW_FORM;
+}
+$xoopsTpl->assign('formHeadToggle', $formHeadToggle);
+// template
$template_main = "userlog_admin_logs.html";
if ( !empty($template_main) ) {
$GLOBALS['xoopsTpl']->display("db:{$template_main}");
Modified: XoopsModules/userlog/trunk/userlog/admin/menu.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/admin/menu.php 2013-03-06 23:15:46 UTC (rev 11172)
+++ XoopsModules/userlog/trunk/userlog/admin/menu.php 2013-03-07 02:37:32 UTC (rev 11173)
@@ -49,4 +49,11 @@
$i++;
$adminmenu[$i]['title'] = _AM_USERLOG_ABOUT;
$adminmenu[$i]['link'] = "admin/about.php";
-$adminmenu[$i]["icon"] = '../../' . $pathIcon32 . '/about.png';
\ No newline at end of file
+$adminmenu[$i]["icon"] = '../../' . $pathIcon32 . '/about.png';
+// add js, css, toggle_cookie to admin pages
+global $xoTheme;
+$Userlog = Userlog::getInstance(false);
+$xoTheme->addScript("modules/" . USERLOG_DIRNAME . "/templates/js/" . USERLOG_DIRNAME . ".js");
+$xoTheme->addStylesheet("modules/" . USERLOG_DIRNAME . "/templates/css/style.css");
+$toggle_script="var toggle_cookie=\"" . $Userlog->cookiePrefix . "TOGGLE" . "\";";
+$xoTheme->addScript( null, array ('type' => 'text/javascript'), $toggle_script);
\ No newline at end of file
Modified: XoopsModules/userlog/trunk/userlog/class/form/simpleform.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/class/form/simpleform.php 2013-03-06 23:15:46 UTC (rev 11172)
+++ XoopsModules/userlog/trunk/userlog/class/form/simpleform.php 2013-03-07 02:37:32 UTC (rev 11173)
@@ -37,7 +37,8 @@
*/
function render()
{
- $ret = $this->getTitle() . "<form name='" . $this->getName() . "' id='" . $this->getName() . "' action='" . $this->getAction() . "' method='" . $this->getMethod() . "'" . $this->getExtra() . ">\n";
+ $ret = ($this->getTitle() ? "<div class=\" center head \">" . $this->getTitle() . "</div>" : "");
+ $ret.= "<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() . "</div>";
Modified: XoopsModules/userlog/trunk/userlog/class/log.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/class/log.php 2013-03-06 23:15:46 UTC (rev 11172)
+++ XoopsModules/userlog/trunk/userlog/class/log.php 2013-03-07 02:37:32 UTC (rev 11173)
@@ -224,6 +224,7 @@
// if type is text
if (!empty($val_arr[0]) && intval($val_arr[0]) == 0) {
foreach ($logs as $id => $log) {
+ if (is_array($log[$op])) $log[$op] = json_encode($log[$op]);
foreach($val_arr as $qry) {
// if !QUERY eg: !logs.php,views.php
if (substr($qry,0,1) == "!") {
@@ -348,10 +349,10 @@
}
public function buildFileSelectEle($currentFile = null, $multi = false)
{
- $fileEl = new XoopsFormSelect(_AM_USERLOG_FILE,"file", $currentFile, 3, $multi);
if (empty($currentFile[0])) {
$currentFile = $this->userlog->getWorkingFile();
}
+ $fileEl = new XoopsFormSelect(_AM_USERLOG_FILE,"file", $currentFile, 3, $multi);
list($allFiles,$totalFiles) = $this->userlog->getAllLogFiles();
if (empty($totalFiles)) return $fileEl;
$log_file_name = $this->userlog->getConfig('logfilename');
Modified: XoopsModules/userlog/trunk/userlog/class/setting.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/class/setting.php 2013-03-06 23:15:46 UTC (rev 11172)
+++ XoopsModules/userlog/trunk/userlog/class/setting.php 2013-03-07 02:37:32 UTC (rev 11173)
@@ -340,13 +340,14 @@
if (defined($defEl . "_FORM")) {
$el[$ele.$type] = new XoopsFormText(constant($defEl), "options[{$ele}{$type}]", 10, 255, !empty($options[$ele.$type]) ? $options[$ele.$type] : null);
$el[$ele.$type]->setDescription(sprintf(constant($defEl . "_FORM"), $ele, $ele));
- // http://stackoverflow.com/questions/8029532/how-to-prevent-submitting-the-html-forms-input-field-value-if-it-empty
- $el[$ele.$type]->customValidationCode[]= "if (document.getElementById('options[{$ele}{$type}]').value == \"\") { document.getElementById('options[{$ele}{$type}]').setAttribute('name', ''); }\n";
$form->addElement($el[$ele.$type]);
}
}
}
- return array($form,$el,$headers);
+ // http://stackoverflow.com/questions/8029532/how-to-prevent-submitting-the-html-forms-input-field-value-if-it-empty
+ // http://stackoverflow.com/questions/2617480/how-to-get-all-elements-which-name-starts-with-some-string
+ $el["log_id"]->customValidationCode[]="preventSubmitEmptyInput('options[');"; // check all input tags
+ return array($form ,$el ,$headers);
}
function cleanCache() {
$files = glob(XOOPS_VAR_PATH.'/caches/xoops_cache/*' . USERLOG_DIRNAME . '*.*');
Modified: XoopsModules/userlog/trunk/userlog/class/userlog.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/class/userlog.php 2013-03-06 23:15:46 UTC (rev 11172)
+++ XoopsModules/userlog/trunk/userlog/class/userlog.php 2013-03-07 02:37:32 UTC (rev 11173)
@@ -32,11 +32,13 @@
public $debug;
public $debugArray = array();
public $logext = "log";
+ public $cookiePrefix = "";
protected function __construct($debug)
{
$this->debug = $debug;
$this->dirname = USERLOG_DIRNAME;
+ $this->cookiePrefix = USERLOG_DIRNAME . '_'. (($this->getUser()) ? $this->getUser()->getVar('uid') : '');
}
static function &getInstance($debug = false)
@@ -156,6 +158,12 @@
xoops_load('XoopsLocal');
return XoopsLocal::formatTimestamp($intTime, $dateFormat, $timeoffset);
}
+ public function getCookie($name = "TOGGLE")
+ {
+ $toggles = UserlogRequest::getString($this->cookiePrefix . $name,null, 'cookie');
+ return explode(",",$toggles);
+ }
+
public function probCheck($prob = 11)
{
mt_srand((double)microtime()*1000000);
Modified: XoopsModules/userlog/trunk/userlog/docs/changelog.txt
===================================================================
--- XoopsModules/userlog/trunk/userlog/docs/changelog.txt 2013-03-06 23:15:46 UTC (rev 11172)
+++ XoopsModules/userlog/trunk/userlog/docs/changelog.txt 2013-03-07 02:37:32 UTC (rev 11173)
@@ -1,5 +1,6 @@
Userlog
Changelog:
+- add more GUI facilities to admin/logs.php. a complete toggle formhead can remember the last status for each admin, reset button, up/down. (2013/03/07)
- add number of items to display and fix script_name bug in views block.(2013/03/05)
- add delete/purge for engine=db(2013/03/04)
- add log status. active/idle(2013/03/04)
Modified: XoopsModules/userlog/trunk/userlog/docs/readme.txt
===================================================================
--- XoopsModules/userlog/trunk/userlog/docs/readme.txt 2013-03-06 23:15:46 UTC (rev 11172)
+++ XoopsModules/userlog/trunk/userlog/docs/readme.txt 2013-03-07 02:37:32 UTC (rev 11173)
@@ -44,3 +44,18 @@
[/code]
Then go to your database and change the field options length in newblocks table to higher number than 255.
+3- When the URL or The REFERER is longer than 255 characters you have a warning and log will not be stored in database but it will be stored in file.
+You can see this warning:
+[code]
+Warning: Insert failed in method 'cleanVars' of object 'UserlogLog' in file /class/model/write.php line 280
+[/code]
+It is because I decide to limit URL/Referer to 255 characters because of better performance.
+solution:
+If you really need to save URLs with more characters than 255. do the following.
+a) go to userlog/class/log.php and change the below indicate lines to your desired values.
+[code]
+ $this->initVar("url", XOBJ_DTYPE_TXTBOX, null, true, 500); // change this
+ $this->initVar("script", XOBJ_DTYPE_TXTBOX, null, true, 50);
+ $this->initVar("referer", XOBJ_DTYPE_TXTBOX, null, true, 500);// change this
+[/code]
+b) go to your database and change 'url' and 'referer' fields in table mod_userlog_log to your desired values.
\ No newline at end of file
Modified: XoopsModules/userlog/trunk/userlog/language/english/admin.php
===================================================================
--- XoopsModules/userlog/trunk/userlog/language/english/admin.php 2013-03-06 23:15:46 UTC (rev 11172)
+++ XoopsModules/userlog/trunk/userlog/language/english/admin.php 2013-03-07 02:37:32 UTC (rev 11173)
@@ -182,6 +182,11 @@
define("_AM_USERLOG_LOG_DELETE_SUCCESS_QUERY","%1\$d logs deleted successfully with '%2\$s' query.");
define("_AM_USERLOG_LOG_DELETE_ERROR","Error. you input an invalid criteria for delete.");
define("_AM_USERLOG_LOG_DELETE_ERRORSELECT","You select nothing to delete.");
+// logs.php template
+define("_AM_USERLOG_SHOW_FORM","Show head form");
+define("_AM_USERLOG_HIDE_FORM","Hide head form");
+define("_AM_USERLOG_UP","Go up");
+define("_AM_USERLOG_DOWN","Go down");
// views block
define("_AM_USERLOG_VIEW_ALL","All views");
Added: XoopsModules/userlog/trunk/userlog/templates/css/index.html
===================================================================
--- XoopsModules/userlog/trunk/userlog/templates/css/index.html (rev 0)
+++ XoopsModules/userlog/trunk/userlog/templates/css/index.html 2013-03-07 02:37:32 UTC (rev 11173)
@@ -0,0 +1 @@
+ <script>history.go(-1);</script>
\ No newline at end of file
Added: XoopsModules/userlog/trunk/userlog/templates/css/style.css
===================================================================
--- XoopsModules/userlog/trunk/userlog/templates/css/style.css (rev 0)
+++ XoopsModules/userlog/trunk/userlog/templates/css/style.css 2013-03-07 02:37:32 UTC (rev 11173)
@@ -0,0 +1,33 @@
+.toggle_block, .toggle_none {
+ -moz-transition-property: all;
+ -moz-transition-duration: 1s;
+ -moz-transition-timing-function: ease-in-out;
+ -moz-transition-delay: 0s;
+ -webkit-transition-property: all;
+ -webkit-transition-duration: 1s;
+ -webkit-transition-timing-function: ease-in-out;
+ -webkit-transition-delay: 0s;
+ -ms-transition-property: all;
+ -ms-transition-duration: 1s;
+ -ms-transition-timing-function: ease-in-out;
+ -ms-transition-delay: 0s;
+ -o-transition-property: all;
+ -o-transition-duration: 1s;
+ -o-transition-timing-function: ease-in-out;
+ -o-transition-delay: 0s;
+ transition: all 1s ease-in-out 0s;
+}
+
+.toggle_block{
+ visibility:visible;
+ opacity: 1;
+ top: auto;
+}
+.toggle_none, .toggle_none div, .toggle_none div div {
+ opacity: 0;
+ top: 0;
+ height:0;
+ visibility:hidden;
+}
+/* .hidden is defined in xoops.css but i add it in rare cases that user dont have that in his/her xoops.css */
+.hidden{ visibility:hidden; position:absolute; top:0; left:0; }
Added: XoopsModules/userlog/trunk/userlog/templates/js/index.html
===================================================================
--- XoopsModules/userlog/trunk/userlog/templates/js/index.html (rev 0)
+++ XoopsModules/userlog/trunk/userlog/templates/js/index.html 2013-03-07 02:37:32 UTC (rev 11173)
@@ -0,0 +1 @@
+ <script>history.go(-1);</script>
\ No newline at end of file
Added: XoopsModules/userlog/trunk/userlog/templates/js/userlog.js
===================================================================
--- XoopsModules/userlog/trunk/userlog/templates/js/userlog.js (rev 0)
+++ XoopsModules/userlog/trunk/userlog/templates/js/userlog.js 2013-03-07 02:37:32 UTC (rev 11173)
@@ -0,0 +1,129 @@
+function isOneChecked($name) {
+ // All <input> tags...
+ var chx = document.getElementsByName($name);
+ for (var i=0; i<chx.length; i++) {
+ // If you have more than one checkbox group, also check the name attribute
+ // for the one you want as in && chx[i].name == 'choose'
+ // Return true from the function on first match of a checked item
+ if (chx[i].type == 'checkbox' && chx[i].checked) {
+ return true;
+ }
+ }
+ // End of the loop, return false
+ return false;
+}
+// http://stackoverflow.com/questions/2617480/how-to-get-all-elements-which-name-starts-with-some-string
+function preventSubmitEmptyInput($prefix) {
+ var eles = [];
+ var inputs = document.getElementsByTagName("input");
+ for(var i = 0; i < inputs.length; i++) {
+ if(inputs[i].name.indexOf($prefix) == 0) {
+ eles.push(inputs[i]);
+ }
+ }
+ for(var i = 0; i < eles.length; i++) {
+ if (eles[i].value =='') {
+ eles[i].setAttribute('name', '');
+ }
+ }
+ return true;
+}
+// START irmtfan - improve: add alt, title, id and innerHTML - recognize a IMG tag for src
+function ToggleBlock(blockid, icon, src_expand, src_collapse, alt_expand, alt_collapse, class_expand, class_collapse)
+{
+ var Img_tag='IMG';
+ var el=document.getElementById(blockid);
+ if (el.className == class_expand)
+ {
+ el.className = class_collapse;
+ if (icon.nodeName == Img_tag) {
+ icon.src = src_collapse;
+ }
+ icon.alt= alt_collapse;
+ icon.id = findBaseName(src_collapse);
+ SaveCollapsed(blockid, true);
+ }
+ else
+ {
+ el.className = class_expand;
+ if (icon.nodeName == Img_tag) {
+ icon.src = src_expand;
+ }
+ icon.alt= alt_expand;
+ icon.id = findBaseName(src_expand);
+ SaveCollapsed(blockid, false);
+ }
+ icon.title = icon.alt;
+ if (icon.nodeName != Img_tag){
+ icon.innerHTML=icon.alt; // to support IE7&8 use innerHTML istead of textContent
+ }
+ document.getElementById(blockid + "text").innerHTML=icon.alt;
+}
+// source: http://stackoverflow.com/questions/1991608/find-base-name-in-url-in-javascript
+function findBaseName(url) {
+ var fileName = url.substring(url.lastIndexOf('/') + 1);
+ var dot = fileName.lastIndexOf('.');
+ return dot == -1 ? fileName : fileName.substring(0, dot);
+}
+// END irmtfan - improve: add alt, title and innerHTML - recognize a IMG tag for src
+function SaveCollapsed(objid, addcollapsed)
+{
+ var collapsed = GetCookie(toggle_cookie);
+ var tmp = "";
+ if (collapsed != null)
+ {
+ collapsed = collapsed.split(",");
+ for (i in collapsed)
+ {
+ if (collapsed[i] != objid && collapsed[i] != "")
+ {
+ tmp = tmp + collapsed[i];
+ tmp = tmp + ",";
+ }
+ }
+ }
+
+ if (addcollapsed)
+ {
+ tmp = tmp + objid;
+ }
+
+ expires = new Date();
+ expires.setTime(expires.getTime() + (1000 * 86400 * 365));
+ SetCookie(toggle_cookie, tmp, expires);
+}
+
+function SetCookie(name, value, expires)
+{
+ if (!expires)
+ {
+ expires = new Date();
+ }
+ document.cookie = name + "=" + escape(value) + "; expires=" + expires.toGMTString() + "; path=/";
+}
+
+function GetCookie(name)
+{
+ cookie_name = name + "=";
+ cookie_length = document.cookie.length;
+ cookie_begin = 0;
+ while (cookie_begin < cookie_length)
+ {
+ value_begin = cookie_begin + cookie_name.length;
+ if (document.cookie.substring(cookie_begin, value_begin) == cookie_name)
+ {
+ var value_end = document.cookie.indexOf (";", value_begin);
+ if (value_end == -1)
+ {
+ value_end = cookie_length;
+ }
+ return unescape(document.cookie.substring(value_begin, value_end));
+ }
+ cookie_begin = document.cookie.indexOf(" ", cookie_begin) + 1;
+ if (cookie_begin == 0)
+ {
+ break;
+ }
+ }
+ return null;
+}
\ No newline at end of file
Modified: XoopsModules/userlog/trunk/userlog/templates/userlog_admin_logs.html
===================================================================
--- XoopsModules/userlog/trunk/userlog/templates/userlog_admin_logs.html 2013-03-06 23:15:46 UTC (rev 11172)
+++ XoopsModules/userlog/trunk/userlog/templates/userlog_admin_logs.html 2013-03-07 02:37:32 UTC (rev 11173)
@@ -6,16 +6,33 @@
<{else}>
<{$smarty.const._AM_USERLOG_LOG_ERROR}>
<{/if}>
+ <{if $options}>
+ <span class="xo-buttons">
+ <a class="ui-corner-all tooltip" title="<{$smarty.const._RESET}>" href="logs.php?op=<{if $query_entry}><{$query_entry}><{/if}>">
+ <img src="<{xoModuleIcons16 on.png}>" alt="<{$smarty.const._RESET}>" title="<{$smarty.const._RESET}>" /><{$smarty.const._RESET}>
+ </a>
+ </span>
+ <{/if}>
+ <div class="cursorpointer bold" onclick="ToggleBlock('formhead',(this.firstElementChild || this.children[0]) , '<{xoModuleIcons16 green.gif}>', '<{xoModuleIcons16 green_off.gif}>','<{$smarty.const._AM_USERLOG_HIDE_FORM}>','<{$smarty.const._AM_USERLOG_SHOW_FORM}>','toggle_block','toggle_none')">
+ <img id="<{$formHeadToggle.icon}>" src="<{if $formHeadToggle.icon == 'green'}><{xoModuleIcons16 green.gif}><{else}><{xoModuleIcons16 green_off.gif}><{/if}>" alt="<{$formHeadToggle.alt}>" title="<{$formHeadToggle.alt}>" /><span id="formheadtext"><{$formHeadToggle.alt}></span>
+ </div>
</div>
<div class="floatright left"><{$formNav}></div>
<div class="clear"></div>
</div>
+<div class="even border x-small">
+ <div id="formhead" class="<{$formHeadToggle.toggle}>">
+ <{$formHead}>
+ <div class="clear"></div>
+ </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':''}>
<{assign var=tt value=$op|replace:$header:''|replace:'GT':'>'|replace:'LT':'<'}>
- <{$headers.$header}><{$tt}>=<b><{$val}></b><br/>
+ <{if $headers.$header}><{$headers.$header}><{$tt}><{else}><{$headers.request_method}>[<{$op}>]<{/if}>=<b><{$val}></b><br/>
<{/foreach}>
</div>
<{/if}>
@@ -24,7 +41,8 @@
<div class="outer">
<form name="delete" action="logs.php?op=del&confirm=1<{if $query_page}>&<{$query_page}><{/if}><{if $query_entry}><{$query_entry}><{/if}>" method="POST" onsubmit="javascript: return deleteSubmitValid('log_id[]');">
<div class="floatleft">
- <input id="submit" class="formButton" type="submit" name="submit" value="<{$smarty.const._AM_USERLOG_LOG_DELETE_SELECT}>" title="<{$smarty.const._AM_USERLOG_LOG_DELETE_SELECT}>" />
+ <a href="#submitdeleteDown"><img src="<{xoModuleIcons16 down.png}>" alt="<{$smarty.const._AM_USERLOG_DOWN}>" title="<{$smarty.const._AM_USERLOG_DOWN}>" /></a>
+ <input id="submitdeleteUp" class="formButton" type="submit" name="submitdelete" value="<{$smarty.const._AM_USERLOG_LOG_DELETE_SELECT}>" title="<{$smarty.const._AM_USERLOG_LOG_DELETE_SELECT}>" />
</div>
<{if $pages gt 1}>
<div class="floatright xo-buttons">
@@ -37,7 +55,7 @@
<div class="clear"></div>
<div class="head boxshadow1 border xx-small">
<div class="width1 floatleft center">
- <{$smarty.const._ALL}>: <input type="checkbox" name="id_check" id="id_check" value="1" onclick="xoopsCheckAll('delete', 'id_check');" />
+ <input title="<{$smarty.const._ALL}>" type="checkbox" name="id_check" id="id_check" value="1" onclick="xoopsCheckAll('delete', 'id_check');" />
</div>
<{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;">
@@ -59,7 +77,8 @@
</div>
<{/foreach}>
<div class="floatleft">
- <input id="submit" class="formButton" type="submit" name="submit" value="<{$smarty.const._AM_USERLOG_LOG_DELETE_SELECT}>" title="<{$smarty.const._AM_USERLOG_LOG_DELETE_SELECT}>" />
+ <a href="#submitdeleteUp"><img src="<{xoModuleIcons16 up.png}>" alt="<{$smarty.const._AM_USERLOG_UP}>" title="<{$smarty.const._AM_USERLOG_UP}>" /></a>
+ <input id="submitdeleteDown" class="formButton" type="submit" name="submitdelete" value="<{$smarty.const._AM_USERLOG_LOG_DELETE_SELECT}>" title="<{$smarty.const._AM_USERLOG_LOG_DELETE_SELECT}>" />
</div>
<{if $pages gt 1}>
<div class="floatright xo-buttons">
@@ -75,20 +94,6 @@
<{/if}>
<{$form}>
<script type="text/javascript">
-function isOneChecked($name) {
- // All <input> tags...
- var chx = document.getElementsByName($name);
- for (var i=0; i<chx.length; i++) {
- // If you have more than one checkbox group, also check the name attribute
- // for the one you want as in && chx[i].name == 'choose'
- // Return true from the function on first match of a checked item
- if (chx[i].type == 'checkbox' && chx[i].checked) {
- return true;
- }
- }
- // End of the loop, return false
- return false;
-}
function deleteSubmitValid($name) {
if (isOneChecked($name)) {
return confirm('<{$smarty.const._AM_USERLOG_LOG_DELETE_CONFIRM}>');
|