On Wednesday 10 March 2010 19:50:25 Nathan Wayde wrote: > Please don't make it name-only by default, the search is crappy enough > already without the extra effort to make it kinda-work-sorta. I think is better to search by name as default. Anyway, I am attaching a patch that only add search by name, so this is up to Loui.
-- Andrea
From 503ba3b72d4d8bbf39ba6909b1eb6c4127db127f Mon Sep 17 00:00:00 2001 From: Andrea Scarpino <[email protected]> Date: Wed, 10 Mar 2010 20:00:36 +0100 Subject: [PATCH] add search only by name --- web/lib/pkgfuncs.inc | 10 ++++++++-- web/template/pkg_search_form.php | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/web/lib/pkgfuncs.inc b/web/lib/pkgfuncs.inc index a4a2dfc..1d1516f 100644 --- a/web/lib/pkgfuncs.inc +++ b/web/lib/pkgfuncs.inc @@ -365,7 +365,8 @@ function package_details($id=0, $SID="") { * v - number of votes * m - maintainer username * SeB- property that search string (K) represents - * values: nd - package name&description + * values: n - package name + * nd - package name & description * m - package maintainer's username * s - package submitter's username * do_Orphans - boolean. whether to search packages @@ -466,12 +467,17 @@ function pkg_search_page($SID="") { if ($_GET["SeB"] == "m") { $q.= "AND Users.Username = '".$_GET['K']."' "; } + # Search by submitter elseif ($_GET["SeB"] == "s") { // FIXME: this shouldn't be making 2 queries // kill the call to uid_from_username $q.= "AND SubmitterUID = ".uid_from_username($_GET['K'])." "; - // the default behavior, query the name/description + # Search by name } + elseif ($_GET["SeB"] == "n") { + $q.= "AND (Name LIKE '%".$_GET['K']."%' "; + } + # Search by name and description (Default) else { $q.= "AND (Name LIKE '%".$_GET['K']."%' OR "; $q.= "Description LIKE '%".$_GET['K']."%') "; diff --git a/web/template/pkg_search_form.php b/web/template/pkg_search_form.php index 567db5a..e101c12 100644 --- a/web/template/pkg_search_form.php +++ b/web/template/pkg_search_form.php @@ -39,7 +39,7 @@ <label><?php print __("Search by"); ?></label> <select name='SeB'> <?php - $searchby = array('nd' => 'Name', 'm' => 'Maintainer', 's' => 'Submitter'); + $searchby = array('n' => 'Name', 'nd' => 'Name & Desc', 'm' => 'Maintainer', 's' => 'Submitter'); foreach ($searchby as $k => $v): if ($_REQUEST['SeB'] == $k): ?> -- 1.7.0.2
