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'; |