/* set application name and version information */
$this->cfg->product = "phpfspot";
- $this->cfg->version = "1.4";
+ $this->cfg->version = "1.5";
$this->sort_orders= array(
'date_asc' => 'Date ↑',
if(isset($_SESSION['searchfor_tag']))
unset($_SESSION['searchfor_tag']);
+ // has the user requested to hide this tag, and still someone,
+ // somehow tries to add it, don't allow this.
+ if(!isset($this->cfg->hide_tags) &&
+ in_array($this->get_tag_name($tag), $this->cfg->hide_tags))
+ return "ok";
+
if(!in_array($tag, $_SESSION['selected_tags']))
array_push($_SESSION['selected_tags'], $tag);
-
return "ok";
} // addTag()
$tags = Array();
- while($row = $this->db->db_fetch_object($result))
+ while($row = $this->db->db_fetch_object($result)) {
+ if(isset($this->cfg->hide_tags) && in_array($row['name'], $this->cfg->hide_tags))
+ continue;
$tags[$row['id']] = $row['name'];
+ }
return $tags;
{
$all = Array();
- $result = $this->db->db_query("
- SELECT id
- FROM photos
- ");
-
+ $query_str = "
+ SELECT p.id
+ FROM photos p
+ ";
+
+ /* if show_tags is set, only return details for photos which
+ are specified to be shown
+ */
+ if(isset($this->cfg->show_tags) && !empty($this->cfg->show_tags)) {
+ $query_str.= "
+ INNER JOIN photo_tags pt
+ ON p.id=pt.photo_id
+ INNER JOIN tags t
+ ON pt.tag_id=t.id
+ WHERE
+ t.name IN ('".implode("','",$this->cfg->show_tags)."')";
+ }
+
+ $result = $this->db->db_query($query_str);
+
while($row = $this->db->db_fetch_object($result)) {
array_push($all, $row['id']);
}
} // get_mime_info()
+ /**
+ * return tag-name by tag-idx
+ *
+ * this function returns the tag-name for the requested
+ * tag specified by tag-idx.
+ * @param integer $idx
+ * @return string
+ */
+ public function get_tag_name($idx)
+ {
+ if($result = $this->db->db_fetchSingleRow("
+ SELECT name
+ FROM tags
+ WHERE
+ id LIKE '". $idx ."'")) {
+
+ return $result['name'];
+
+ }
+
+ return 0;
+
+ } // get_tag_name()
+
} // class PHPFSPOT
?>