FROM photo_tags pt1
INNER JOIN photo_tags pt2
ON pt1.photo_id=pt2.photo_id
- INNER JOIN tags t1
- ON pt1.tag_id=t1.id
+ INNER JOIN tags t
+ ON pt1.tag_id=t.id
INNER JOIN photos p
ON pt1.photo_id=p.id
INNER JOIN tags t2
ON pt2.tag_id=t2.id
- WHERE t1.name LIKE '%". $_SESSION['searchfor'] ."%' ";
+ WHERE t.name LIKE '%". $_SESSION['searchfor'] ."%' ";
if(isset($additional_where_cond))
$query_str.= "AND ". $additional_where_cond ." ";
} // check_config_options()
+ /**
+ * cleanup phpfspot own database
+ *
+ * When photos are getting delete from F-Spot, there will remain
+ * remain some residues in phpfspot own database. This function
+ * will try to wipe them out.
+ */
+ public function cleanup_phpfspot_db()
+ {
+ $to_delete = Array();
+
+ $result = $this->cfg_db->db_query("
+ SELECT img_idx
+ FROM images
+ ORDER BY img_idx ASC
+ ");
+
+ while($row = $this->cfg_db->db_fetch_object($result)) {
+ if(!$this->db->db_fetchSingleRow("
+ SELECT id
+ FROM photos
+ WHERE id='". $row['img_idx'] ."'")) {
+
+ array_push($to_delete, $row['img_idx'], ',');
+ }
+ }
+
+ print count($to_delete) ." unnecessary objects will be removed from phpfspot's database.\n";
+
+ $this->cfg_db->db_exec("
+ DELETE FROM images
+ WHERE img_idx IN (". implode($to_delete) .")
+ ");
+
+ } // cleanup_phpfspot_db()
+
} // class PHPFSPOT
?>