Search engine redesign, second part :

improvement: in category.php, an icon opening a popup display the list of
search rules.

modification: function get_search_array is responsible of search rules
retrieving from database. This function is called from get_sql_search_clause
and from search_rules.php

modification: ability to search multiple authors. Warning: this version of
search tool can't search author names including any blank space.


git-svn-id: http://piwigo.org/svn/trunk@1015 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
plegall
2006-01-27 22:40:51 +00:00
parent a8fd5ee6cf
commit 61668e4cf7
9 changed files with 378 additions and 30 deletions
+25 -17
View File
@@ -772,6 +772,30 @@ function prepend_append_array_items($array, $prepend_str, $append_str)
return $array;
}
/**
* returns search rules stored into a serialized array in "search"
* table. Each search rules set is numericaly identified.
*
* @param int search_id
* @return array
*/
function get_search_array($search_id)
{
if (!is_numeric($search_id))
{
die('Search id must be an integer');
}
$query = '
SELECT rules
FROM '.SEARCH_TABLE.'
WHERE id = '.$search_id.'
;';
list($serialized_rules) = mysql_fetch_row(pwg_query($query));
return unserialize($serialized_rules);
}
/**
* returns the SQL clause from a search identifier
*
@@ -783,24 +807,8 @@ function prepend_append_array_items($array, $prepend_str, $append_str)
*/
function get_sql_search_clause($search_id)
{
if (!is_numeric($search_id))
{
die('Search id must be an integer');
}
$search = get_search_array($search_id);
$query = '
SELECT rules
FROM '.SEARCH_TABLE.'
WHERE id = '.$_GET['search'].'
;';
list($serialized_rules) = mysql_fetch_row(pwg_query($query));
$search = unserialize($serialized_rules);
// echo '<pre>';
// print_r($search);
// echo '</pre>';
// SQL where clauses are stored in $clauses array during query
// construction
$clauses = array();