SF.net SVN: postfixadmin:[1732] trunk
Brought to you by:
christian_boltz,
gingerdog
From: <chr...@us...> - 2014-11-02 23:04:23
|
Revision: 1732 http://sourceforge.net/p/postfixadmin/code/1732 Author: christian_boltz Date: 2014-11-02 23:04:15 +0000 (Sun, 02 Nov 2014) Log Message: ----------- list.php: - add search support: - new parameters: - search[$field] - value to search for - searchmode[$field] - search mode (=, <, > etc.) - reset_search - if given, empty $search and $searchmode - remember $search and $searchmode via session - display errormsg and infomsg from $handler, if any list.tpl: - display current search parameters and a "[x]" link to remove all search parameters This change doesn't add a search form, but you can use ?search[field]= and ?searchmode[field]= URL parameters Modified Paths: -------------- trunk/list.php trunk/templates/list.tpl Modified: trunk/list.php =================================================================== --- trunk/list.php 2014-11-02 22:45:22 UTC (rev 1731) +++ trunk/list.php 2014-11-02 23:04:15 UTC (rev 1732) @@ -53,9 +53,32 @@ } } -$handler->getList(''); +$search = safeget('search', safesession("search_$table", array())); +$searchmode = safeget('searchmode', safesession("searchmode_$table", array())); + +if (!is_array($search) || !is_array($searchmode)) { + # avoid injection of raw SQL if $search is a string instead of an array + die("Invalid parameter"); +} + +if (safeget('reset_search', 0)) { + $search = array(); + $searchmode = array(); +} +$_SESSION["search_$table"] = $search; +$_SESSION["searchmode_$table"] = $searchmode; + +if (count($search)) { + $handler->getList($search, $searchmode); +} else { + $handler->getList(''); +} $items = $handler->result(); +if (count($handler->errormsg)) flash_error($handler->errormsg); +if (count($handler->infomsg)) flash_error($handler->infomsg); + + if (safeget('output') == 'csv') { $out = fopen('php://output', 'w'); @@ -103,6 +126,8 @@ $smarty->assign('items', $items); $smarty->assign('id_field', $handler->getId_field()); $smarty->assign('formconf', $formconf); + $smarty->assign('search', $search); + $smarty->assign('searchmode', $searchmode); $smarty->display ('index.tpl'); Modified: trunk/templates/list.tpl =================================================================== --- trunk/templates/list.tpl 2014-11-02 22:45:22 UTC (rev 1731) +++ trunk/templates/list.tpl 2014-11-02 23:04:15 UTC (rev 1732) @@ -8,7 +8,20 @@ {#form_search#} </div> + {if ($search|count > 0)} + <div class='searchparams'> + <p>{$PALANG.searchparams} + {foreach key=key item=field from=$search} + <span>{if $struct.$key.label}{$struct.$key.label}{else}{$key}{/if} + {if isset($searchmode.$key)}{$searchmode.$key}{else}={/if} {$field} + </span> + {/foreach} + <span><a href="list.php?table={$table}&reset_search=1">[x]</a></span> + </div> + {/if} + + <div id="list"> <table border=0 id='admin_table'><!-- TODO: 'admin_table' needed because of CSS for table header --> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |