aboutsummaryrefslogtreecommitdiffstats
path: root/search.php
diff options
context:
space:
mode:
authorplegall <plg@piwigo.org>2014-06-16 13:53:16 +0000
committerplegall <plg@piwigo.org>2014-06-16 13:53:16 +0000
commit0511ed2236b1fab9bc9c23b6c3bbee82ee4efdb5 (patch)
tree39d968320efbfd7f6ff79843a47cbac3cf49a21b /search.php
parentaacdb5a8bd5ed9936bc6d44a60b8b86a4e12283c (diff)
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
Diffstat (limited to 'search.php')
-rw-r--r--search.php37
1 files changed, 32 insertions, 5 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