|
From: <luc...@us...> - 2014-12-19 22:36:35
|
Revision: 12910
http://sourceforge.net/p/xoops/svn/12910
Author: luciorota
Date: 2014-12-19 22:36:32 +0000 (Fri, 19 Dec 2014)
Log Message:
-----------
improved subscr filter in admin side
Modified Paths:
--------------
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/subscr.php
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/templates/admin/xnewsletter_admin_subscrs_list.tpl
XoopsModules/xnewsletter/branches/luciorota/xnewsletter/xoops_version.php
Modified: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/subscr.php
===================================================================
--- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/subscr.php 2014-12-19 20:01:08 UTC (rev 12909)
+++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/admin/subscr.php 2014-12-19 22:36:32 UTC (rev 12910)
@@ -102,34 +102,46 @@
$GLOBALS['xoopsTpl']->assign('subsrCount', $subsrCount);
if ($subsrCount > 0) {
$subscrCriteria = new CriteriaCompo();
- // get filtered subscrs criteria
// get filter parameters
- $filter_subscr = XoopsRequest::getString('filter_subscr', '=');
+ $filter_subscr_criteria = XoopsRequest::getString('filter_subscr_criteria', '=');
$filter_subscr_firstname = XoopsRequest::getString('filter_subscr_firstname', '');
$filter_subscr_lastname = XoopsRequest::getString('filter_subscr_lastname', '');
$filter_subscr_email = XoopsRequest::getString('filter_subscr_email', '');
- if ($filter_subscr == 'LIKE' && !$filter_subscr_firstname == '') {
- $filter_subscr_firstname = "%{$filter_subscr_firstname}%";
- }
- if ($filter_subscr == 'LIKE' && !$filter_subscr_lastname == '') {
- $filter_subscr_lastname = "%{$filter_subscr_lastname}%";
- }
- if ($filter_subscr == 'LIKE' && !$filter_subscr_email == '') {
- $filter_subscr_email = "%{$filter_subscr_email}%";
- }
- if ($filter_subscr_firstname == '' && $filter_subscr_lastname == '' && $filter_subscr_email == '') {
- $op = 'list_subscrs';
- }
if ($apply_filter == true) {
+ switch ($filter_subscr_criteria) {
+ case 'CONTAINS':
+ $pre = '%';
+ $post = '%';
+ $function = 'LIKE';
+ break;
+ case 'MATCHES':
+ $pre = '';
+ $post = '';
+ $function = '=';
+ break;
+ case 'STARTSWITH':
+ $pre = '';
+ $post = '%';
+ $function = 'LIKE';
+ break;
+ case 'ENDSWITH':
+ $pre = '%';
+ $post = '';
+ $function = 'LIKE';
+ break;
+ }
+ if ($filter_subscr_firstname == '' && $filter_subscr_lastname == '' && $filter_subscr_email == '') {
+ $op = 'list_subscrs';
+ }
// apply filter
if ($filter_subscr_firstname != '') {
- $subscrCriteria->add(new Criteria('subscr_firstname', $filter_subscr_firstname, $filter_subscr));
+ $subscrCriteria->add(new Criteria('subscr_firstname', $pre . $filter_subscr_firstname . $post, $function));
}
if ($filter_subscr_lastname != '') {
- $subscrCriteria->add(new Criteria('subscr_lastname', $filter_subscr_lastname, $filter_subscr));
+ $subscrCriteria->add(new Criteria('subscr_lastname', $pre . $filter_subscr_lastname . $post, $function));
}
if ($filter_subscr_email != '') {
- $subscrCriteria->add(new Criteria('subscr_email', $filter_subscr_email, $filter_subscr));
+ $subscrCriteria->add(new Criteria('subscr_email', $pre . $filter_subscr_email . $post, $function));
}
}
$GLOBALS['xoopsTpl']->assign('apply_filter', $apply_filter);
@@ -149,7 +161,7 @@
if ($subsrFilterCount > $limit) {
include_once XOOPS_ROOT_PATH . '/class/pagenav.php';
$linklist = "op={$op}";
- $linklist .= "&filter_subscr={$filter_subscr}";
+ $linklist .= "&filter_subscr_criteria={$filter_subscr_criteria}";
$linklist .= "&filter_subscr_firstname={$filter_subscr_firstname}";
$linklist .= "&filter_subscr_lastname={$filter_subscr_lastname}";
$linklist .= "&filter_subscr_email={$filter_subscr_email}";
@@ -160,13 +172,14 @@
}
$GLOBALS['xoopsTpl']->assign('subscrs_pagenav', $pagenav);
//
- if ($filter_subscr == 'LIKE') {
- //clean up var for refill form
- $filter_subscr_firstname = str_replace('%', '', $filter_subscr_firstname);
- $filter_subscr_lastname = str_replace('%', '', $filter_subscr_lastname);
- $filter_subscr_email = str_replace('%', '', $filter_subscr_email);
- }
- $GLOBALS['xoopsTpl']->assign('filter_subscr', $filter_subscr);
+ $filter_subscr_criteria_select = new XoopsFormSelect(_AM_XNEWSLETTER_LETTER_TITLE, 'filter_subscr_criteria', $filter_subscr_criteria, 1, false);
+ $filter_subscr_criteria_select->addOption('CONTAINS', _CONTAINS);
+ $filter_subscr_criteria_select->addOption('MATCHES', _MATCHES);
+ $filter_subscr_criteria_select->addOption('STARTSWITH', _STARTSWITH);
+ $filter_subscr_criteria_select->addOption('ENDSWITH', _ENDSWITH);
+ $GLOBALS['xoopsTpl']->assign('filter_subscr_criteria_select', $filter_subscr_criteria_select->render());
+ //
+ $GLOBALS['xoopsTpl']->assign('filter_subscr_criteria', $filter_subscr_criteria);
$GLOBALS['xoopsTpl']->assign('filter_subscr_firstname', $filter_subscr_firstname);
$GLOBALS['xoopsTpl']->assign('filter_subscr_lastname', $filter_subscr_lastname);
$GLOBALS['xoopsTpl']->assign('filter_subscr_email', $filter_subscr_email);
Modified: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/templates/admin/xnewsletter_admin_subscrs_list.tpl
===================================================================
--- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/templates/admin/xnewsletter_admin_subscrs_list.tpl 2014-12-19 20:01:08 UTC (rev 12909)
+++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/templates/admin/xnewsletter_admin_subscrs_list.tpl 2014-12-19 22:36:32 UTC (rev 12910)
@@ -20,37 +20,38 @@
}
</script>
+<table class='outer width100' cellspacing='1'>
+ <tr class='odd'>
+ <td>
+ <form id='form_filter' enctype='multipart/form-data' method='post' action='' name='form_filter'>
+ <{$smarty.const._AM_XNEWSLETTER_SUBSCR_FIRSTNAME}>
+ <input type='text' id='filter_subscr_firstname' maxlength='50' size='15' title='' name='filter_subscr_firstname' value='<{$filter_subscr_firstname}>'>
+
+ <{$smarty.const._AM_XNEWSLETTER_SUBSCR_LASTNAME}>
+ <input type='text' id='filter_subscr_lastname' maxlength='50' size='15' title='' name='filter_subscr_lastname' value='<{$filter_subscr_lastname}>'>
+
+ <{$smarty.const._AM_XNEWSLETTER_SUBSCR_EMAIL}>
+ <input type='text' id='filter_subscr_email' maxlength='255' size='40' title='' name='filter_subscr_email' value='<{$filter_subscr_email}>'>
+ <{$smarty.const._SEARCH}>
+ <{$filter_subscr_criteria_select}>
+<!--
+ <select id='filter_subscr' title='<{$smarty.const._SEARCH}>' name='filter_subscr' size='1'>
+ <option value='=' <{if ($filter_subscr == "=")}> selected='selected'<{/if}>><{$smarty.const._AM_XNEWSLETTER_SEARCH_EQUAL}></option>
+ <option value='LIKE' <{if ($filter_subscr == "LIKE")}> selected='selected'<{/if}>><{$smarty.const._AM_XNEWSLETTER_SEARCH_CONTAINS}></option>
+ </select>
+-->
+ <input type='submit' id='filter_submit' class='formButton' title='<{$smarty.const._SEARCH}>' value='<{$smarty.const._SEARCH}>' name='filter_submit'>
+ <input type='hidden' id='op' name='op' value='list_subscrs' >
+ <input type='hidden' id='filter_op' name='apply_filter' value='1' >
+ </form>
+ </td>
+ </tr>
+</table>
+
<table class='outer' cellspacing='1'>
<tr>
<td align='left' colspan='9'><{$smarty.const._AM_XNEWSLETTER_THEREARE_SUBSCR|replace:'%s':$subsrCount}></td>
</tr>
-<form id='form_filter' enctype='multipart/form-data' method='post' action='' name='form_filter'>
- <tr>
- <td class='center'> </td>
- <td colspan='2'><{$smarty.const._SEARCH}>:
- <select id='filter_subscr' title='<{$smarty.const._SEARCH}>' name='filter_subscr' size='1'>
- <option value='=' <{if ($filter_subscr == "=")}> selected='selected'<{/if}>><{$smarty.const._AM_XNEWSLETTER_SEARCH_EQUAL}></option>
- <option value='LIKE' <{if ($filter_subscr == "LIKE")}> selected='selected'<{/if}>><{$smarty.const._AM_XNEWSLETTER_SEARCH_CONTAINS}></option>
- </select>
- </td>
- <td>
- <input id='filter_subscr_firstname' type='text' value='<{$filter_subscr_firstname}>' maxlength='50' size='15' title='' name='filter_subscr_firstname'>
- </td>
- <td>
- <input id='filter_subscr_lastname' type='text' value='<{$filter_subscr_lastname}>' maxlength='50' size='15' title='' name='filter_subscr_lastname'>
- </td>
- <td>
- <input id='filter_subscr_email' type='text' value='<{$filter_subscr_email}>' maxlength='255' size='40' title='' name='filter_subscr_email'>
- </td>
- <td> </td>
- <td> </td>
- <td class='center'>
- <input id='filter_submit' class='formButton' type='submit' title='<{$smarty.const._SEARCH}>' value='<{$smarty.const._SEARCH}>' name='filter_submit'>
- </td>
-</tr>
-<input type='hidden' id='op' name='op' value='list_subscrs' >
-<input type='hidden' id='filter_op' name='apply_filter' value='1' >
-</form>
<form id='form_action' onsubmit='return check(this);' enctype='multipart/form-data' method='post' action='' name='form_action'>
<tr>
<th class='center'><input type='checkbox' name='togglers[]' title='<{$smarty.const._ALL}>' onClick='toggle(this);'></th>
Modified: XoopsModules/xnewsletter/branches/luciorota/xnewsletter/xoops_version.php
===================================================================
--- XoopsModules/xnewsletter/branches/luciorota/xnewsletter/xoops_version.php 2014-12-19 20:01:08 UTC (rev 12909)
+++ XoopsModules/xnewsletter/branches/luciorota/xnewsletter/xoops_version.php 2014-12-19 22:36:32 UTC (rev 12910)
@@ -49,7 +49,7 @@
// About
$modversion['module_status'] = 'Beta 1';
-$modversion['release_date'] = '2014/12/16';
+$modversion['release_date'] = '2014/12/19';
$modversion['module_website_url'] = 'wedega.com';
$modversion['module_website_name'] = 'Webdesign Gabor';
$modversion['min_php'] = '5.3.7';
|