summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Unterkircher <unki@netshadow.at>2008-10-04 09:43:22 +0200
committerAndreas Unterkircher <unki@netshadow.at>2008-10-04 09:43:22 +0200
commitad8f72f790097776757dfcd3eda84272fb17d142 (patch)
treed3b67f1a0d16a1fb0fb1cfa29f5ccbaedd218734
parent7a065517afecaf0ca45df09c86c1ada201800a25 (diff)
make get_random_tag_photo() behave correct when show_tags is set, fixes #81
Signed-off-by: Andreas Unterkircher <unki@netshadow.at>
-rw-r--r--phpfspot.class.php50
-rw-r--r--phpfspot_img.php2
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 */