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 ++++++++++++++++++++++++++++++++----- themes/default/template/search.tpl | 17 ++++++++++++++++- themes/default/theme.css | 1 - 3 files changed, 48 insertions(+), 7 deletions(-) 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 diff --git a/themes/default/template/search.tpl b/themes/default/template/search.tpl index 56c142182..09257ef96 100644 --- a/themes/default/template/search.tpl +++ b/themes/default/template/search.tpl @@ -3,6 +3,17 @@ {include file='include/resize.inc.tpl'} *} +{combine_script id='jquery.selectize' load='footer' path='themes/default/js/plugins/selectize.min.js'} +{combine_css id='jquery.selectize' path="themes/default/js/plugins/selectize.dark.css"} + +{footer_script} +jQuery(document).ready(function() { + jQuery("#authors").selectize({ + plugins: ['remove_button'] + }); +}); +{/footer_script} + {if isset($MENUBAR)}{$MENUBAR}{/if}
@@ -33,7 +44,11 @@ diff --git a/themes/default/theme.css b/themes/default/theme.css index 08114a392..bbf5e4091 100644 --- a/themes/default/theme.css +++ b/themes/default/theme.css @@ -507,7 +507,6 @@ SELECT.categoryList { FIELDSET { padding: 1em; margin: 1em; - overflow: hidden; /* <- makes Opera happy */ } .filter UL, -- cgit v1.2.3