clearStacks() public method

Clear all of this gallery's key image stacks from the VFS and the gallery's data store.
public clearStacks ( )
Exemplo n.º 1
0
 /**
  * Empties a gallery of all images.
  *
  * @param Ansel_Gallery $gallery  The ansel gallery to empty.
  *
  * @throws Ansel_Exception
  */
 public function emptyGallery(Ansel_Gallery $gallery)
 {
     $gallery->clearStacks();
     $images = $gallery->listImages();
     foreach ($images as $image) {
         // Pretend we are a stack so we don't update the images count
         // for every image deletion, since we know the end result will
         // be zero.
         try {
             $gallery->removeImage($image, true);
         } catch (Horde_Exception_NotFound $e) {
             // Don't worry about missing images since we are deleting them
             // anyway.
             Horde::log($e->getMessage(), 'ERR');
         }
     }
     $gallery->set('images', 0, true);
     // Clear the OtherGalleries widget cache
     if ($GLOBALS['conf']['ansel_cache']['usecache']) {
         $GLOBALS['injector']->getInstance('Horde_Cache')->expire('Ansel_OtherGalleries' . $gallery->get('owner'));
         $GLOBALS['injector']->getInstance('Horde_Cache')->expire('Ansel_Gallery' . $gallery->id);
     }
 }