From 0511ed2236b1fab9bc9c23b6c3bbee82ee4efdb5 Mon Sep 17 00:00:00 2001 From: plegall Date: Mon, 16 Jun 2014 13:53:16 +0000 Subject: feature 3091: search.php (advanced search), display a list of known authors instead of a text field. git-svn-id: http://piwigo.org/svn/trunk@28707 68402e56-0260-453c-a942-63ccdbb3a9ee --- search.php | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) (limited to 'search.php') diff --git a/search.php b/search.php index 821412730..2846d52ed 100644 --- a/search.php +++ b/search.php @@ -83,13 +83,17 @@ if (isset($_POST['submit'])) ); } - if ($_POST['search_author']) + if (isset($_POST['authors']) and is_array($_POST['authors']) and count($_POST['authors']) > 0) { + $authors = array(); + + foreach ($_POST['authors'] as $author) + { + $authors[] = strip_tags($author); + } + $search['fields']['author'] = array( - 'words' => preg_split( - '/\s+/', - strip_tags($_POST['search_author']) - ), + 'words' => $authors, 'mode' => 'OR', ); } @@ -210,6 +214,29 @@ if (count($available_tags) > 0) ); } +// authors +$query = ' +SELECT + author, + COUNT(*) AS counter + FROM '.IMAGES_TABLE.' AS i + JOIN '.IMAGE_CATEGORY_TABLE.' AS ic ON ic.image_id = i.id + '.get_sql_condition_FandF( + array( + 'forbidden_categories' => 'category_id', + 'visible_categories' => 'category_id', + 'visible_images' => 'ic.image_id' + ), + ' WHERE ' + ).' + AND author IS NOT NULL + GROUP BY author + ORDER BY author +;'; +$authors = query2array($query); + +$template->assign('AUTHORS', $authors); + //------------------------------------------------------------- categories form $query = ' SELECT id,name,global_rank,uppercats -- cgit v1.2.3