From 1dc0e2e565d3c8b49e1074acd5875ffb63b085c9 Mon Sep 17 00:00:00 2001 From: Andreas Unterkircher Date: Sun, 13 Jan 2008 10:57:43 +0100 Subject: issue98, add function to clean up phpfspot database Signed-off-by: Andreas Unterkircher --- phpfspot.class.php | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'phpfspot.class.php') diff --git a/phpfspot.class.php b/phpfspot.class.php index 826fafd..837e3e1 100644 --- a/phpfspot.class.php +++ b/phpfspot.class.php @@ -2370,6 +2370,40 @@ class PHPFSPOT { } // 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'], ','); + } + } + + $this->cfg_db->db_exec(" + DELETE FROM images + WHERE img_idx IN (". implode($to_delete) .") + "); + + } // cleanup_phpfspot_db() + } // class PHPFSPOT ?> -- cgit v1.2.3-18-g5258