From ad8f72f790097776757dfcd3eda84272fb17d142 Mon Sep 17 00:00:00 2001 From: Andreas Unterkircher Date: Sat, 4 Oct 2008 09:43:22 +0200 Subject: [PATCH 1/1] make get_random_tag_photo() behave correct when show_tags is set, fixes #81 Signed-off-by: Andreas Unterkircher --- phpfspot.class.php | 50 ++++++++++++++++++++++++++-------------------- phpfspot_img.php | 2 +- 2 files changed, 29 insertions(+), 23 deletions(-) diff --git a/phpfspot.class.php b/phpfspot.class.php index 18c1c52..ba33c89 100644 --- a/phpfspot.class.php +++ b/phpfspot.class.php @@ -404,7 +404,7 @@ class PHPFSPOT { $query_str=" SELECT DISTINCT t1.id as id, t1.name as name - FROM + FROM photo_tags pt1 INNER JOIN photo_tags pt2 ON pt1.photo_id=pt2.photo_id @@ -3139,30 +3139,36 @@ class PHPFSPOT { { $all = Array(); - $query_str = " - SELECT p.id - FROM photos p - INNER JOIN photo_tags pt - ON p.id=pt.photo_id - "; - if(isset($this->cfg->show_tags) && !empty($this->cfg->show_tags)) { $query_str.= " - INNER JOIN tags t - ON pt.tag_id=t.id - "; + SELECT + DISTINCT pt1.photo_id as id + FROM + photo_tags pt1 + INNER JOIN photo_tags + pt2 ON pt1.photo_id=pt2.photo_id + INNER JOIN tags t1 + ON t1.id=pt1.tag_id + INNER JOIN tags t2 + ON t2.id=pt2.tag_id + WHERE + pt1.tag_id LIKE '". $tagidx ."' + AND + t2.name IN ('".implode("','",$this->cfg->show_tags)."') + ORDER BY + t1.sort_priority ASC"; + } + else { + $query_str = " + SELECT + p.id + FROM + photos p + INNER JOIN photo_tags pt + ON p.id=pt.photo_id + WHERE + pt.tag_id LIKE '". $tagidx ."'"; } - $query_str.= " - WHERE - pt.tag_id LIKE '". $tagidx ."' - "; - - /*if(isset($this->cfg->show_tags) && !empty($this->cfg->show_tags)) { - $query_str.= " - AND - t.name IN ('".implode("','",$this->cfg->show_tags)."') - "; - }*/ $result = $this->db->db_query($query_str); diff --git a/phpfspot_img.php b/phpfspot_img.php index bb7e93f..b695204 100644 --- a/phpfspot_img.php +++ b/phpfspot_img.php @@ -163,7 +163,7 @@ class PHPFSPOT_IMG { $this->parent->gen_thumb($idx); } - $version = $this->parent­>get_latest_version($idx); + $version = $this->parent->get_latest_version($idx); $fullpath = $this->parent->get_thumb_path($width, $idx, $version); /* if the thumb file does not exist, create it */ -- 2.25.1