Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function expireFeedImages(AgaviRequestDataHolder $rd)
- {
- $feed_images_module = new Exo_CMS_Module();
- $feed_images_module = $this->getContext()->getModel('Exo_CMS_ModuleFinder')->getModule("feed_images");
- $feed_images_field_id = $feed_images_module->getInputElement("id");
- $con = Propel::getConnection();
- $candidates = $con->prepare("SELECT i.id, i.language".
- " FROM feed_images i LEFT JOIN feed_images_feeds fi ON i.id=fi.feed_images_id".
- " WHERE fi.feed_images_id IS NULL");
- try
- {
- $state_deleted = Exo_CMS_ModuleEntry::STATE_DELETED;
- $con->beginTransaction();
- $candidates->execute();
- $candidates->setFetchMode(PDO::FETCH_NUM);
- foreach ($candidates as $row)
- {
- $image = $feed_images_module->loadEntry($row[0], $row[1]);
- if ($image)
- {
- $values = array("image" => array("delete_binary" => 1));
- $image->hydrate($values);
- $image->store();
- $image->delete();
- exit;
- }
- }
- $candidates->closeCursor();
- $stmnt = $con->prepare("DELETE cms_history".
- " FROM feed_images, cms_history".
- " WHERE feed_images.state=:STATE".
- " AND feed_images.id=cms_history.object_id");
- $stmnt->bindParam(":STATE", $state_deleted, PDO::PARAM_INT);
- $stmnt->execute();
- $stmnt->closeCursor();
- $stmnt = $con->prepare("DELETE cms_id_sequence".
- " FROM feed_images, cms_id_sequence".
- " WHERE feed_images.state=:STATE".
- " AND feed_images.id=cms_id_sequence.id");
- $stmnt->bindParam(":STATE", $state_deleted, PDO::PARAM_INT);
- $stmnt->execute();
- $stmnt->closeCursor();
- $stmnt = $con->prepare("DELETE FROM feed_images WHERE feed_images.state=:STATE");
- $stmnt->bindParam(":STATE", $state_deleted, PDO::PARAM_INT);
- $stmnt->execute();
- $stmnt->closeCursor();
- $con->commit();
- }
- catch(Exception $e)
- {
- $con->rollBack();
- throw $e;
- }
- }
Add Comment
Please, Sign In to add comment