From 7fb5b5973f7f12f7ea4de8e7716474dc5014d416 Mon Sep 17 00:00:00 2001 From: shish Date: Wed, 4 Jul 2007 01:22:26 +0000 Subject: [PATCH] fix single-tag + metadata search git-svn-id: file:///home/shish/svn/shimmie2/branches/branch_2.0@215 7f39781d-f577-437e-ae19-be835c7a54ca --- core/database.class.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/core/database.class.php b/core/database.class.php index 0dced354..f43b3ecb 100644 --- a/core/database.class.php +++ b/core/database.class.php @@ -121,11 +121,20 @@ class Database { $database_fails = false; // MySQL 4.0 fails at subqueries if(count($tag_search->variables) == 0 || $database_fails) { $query = new Querylet("SELECT * FROM images "); + + if(strlen($img_search->sql) > 0) { + $query->append_sql("WHERE 1=1 "); + $query->append($img_search); + } } else if(count($tag_search->variables) == 1 && $positive_tag_count == 1) { $query = new Querylet( "SELECT * FROM images WHERE images.id IN (SELECT image_id FROM tags WHERE tag = ?) ", $tag_search->variables); + + if(strlen($img_search->sql) > 0) { + $query->append($img_search); + } } else { $s_tag_array = array_map("sql_escape", $tag_search->variables); @@ -144,11 +153,11 @@ class Database { ) ); $query = new Querylet("SELECT * FROM ({$subquery->sql}) AS images ", $subquery->variables); - } - if(strlen($img_search->sql) > 0) { - $query->append_sql("WHERE 1=1 "); - $query->append($img_search); + if(strlen($img_search->sql) > 0) { + $query->append_sql("WHERE 1=1 "); + $query->append($img_search); + } } return $query;