X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=phpfspot.git;a=blobdiff_plain;f=phpfspot.class.php;h=837e3e1db4ffb86ce91fb9f7738705b4d3bde4c2;hp=826fafd2d1101b792306590de0cd032731443a7d;hb=1dc0e2e565d3c8b49e1074acd5875ffb63b085c9;hpb=642996d363598ad9b919f261e39c04f25ebabeb1 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 ?>