gallery: fix FS hooks

remotes/origin/stable4
Bartek Przybylski 14 years ago
parent 8df0650658
commit 5a106d1036
  1. 1
      apps/gallery/lib/album.php
  2. 10
      apps/gallery/lib/hooks_handlers.php

@ -54,6 +54,7 @@ class OC_Gallery_Album {
public static function removeByPath($path, $owner) {
$album = self::find($owner, null, $path);
$album = $album->fetchRow();
error_log($path . '--' . $album['album_name']);
self::remove($owner, $album['album_name']);
OC_Gallery_Photo::removeByAlbumId($album['album_id']);
// find and remove any gallery which might be stored lower in dir hierarchy

@ -58,12 +58,18 @@ class OC_Gallery_Hooks_Handlers {
return OC_Gallery_Album::find(OC_User::getUser(), null, $path);
}
public static function pathInRoot($path) {
$root = OC_Appconfig::getValue('gallery', 'root', '/');
return substr($path, 0, strlen($path)>strlen($root)?strlen($root):strlen($path)) == $root;
}
public static function addPhotoFromPath($params) {
$fullpath = $params[OC_Filesystem::signal_param_path];
if (!self::isPhoto($fullpath)) return;
$path = substr($fullpath, 0, strrpos($fullpath, '/'));
if (!self::pathInRoot($path)) return;
OC_Gallery_Scanner::scanDir($path, $albums);
}
@ -71,8 +77,8 @@ class OC_Gallery_Hooks_Handlers {
public static function removePhoto($params) {
$path = $params[OC_Filesystem::signal_param_path];
if (OC_Filesystem::is_dir($path) && self::directoryContainsPhotos($path)) {
OC_Gallery_Album::removeByPath($path, OC_User::getUser());
OC_Gallery_Photo::removeByPath($path.'/%');
if(!self::pathInRoot($path)) return;
OC_Gallery_Album::removeByPath($path.'/', OC_User::getUser());
} elseif (self::isPhoto($path)) {
OC_Gallery_Photo::removeByPath($path);
}

Loading…
Cancel
Save