diff options
author | Bartek Przybylski <bart.p.pl@gmail.com> | 2012-01-15 15:31:17 +0100 |
---|---|---|
committer | Bartek Przybylski <bart.p.pl@gmail.com> | 2012-01-15 15:31:37 +0100 |
commit | 07cf709eeb0be12376a1e471aa37bfd2cd8a9caf (patch) | |
tree | 289d21573350ef7df72f42f7a3bdf6118421ba09 /apps/gallery/ajax | |
parent | 63d9c1a8179bdefa6c4b6f089af6ce91cd11a46a (diff) | |
download | nextcloud-server-07cf709eeb0be12376a1e471aa37bfd2cd8a9caf.tar.gz nextcloud-server-07cf709eeb0be12376a1e471aa37bfd2cd8a9caf.zip |
better scanning model for gallery, more feedback to user while scanning
Diffstat (limited to 'apps/gallery/ajax')
-rw-r--r-- | apps/gallery/ajax/galleryOp.php | 40 |
1 files changed, 31 insertions, 9 deletions
diff --git a/apps/gallery/ajax/galleryOp.php b/apps/gallery/ajax/galleryOp.php index a62f0fe3f5b..f162fe2bc46 100644 --- a/apps/gallery/ajax/galleryOp.php +++ b/apps/gallery/ajax/galleryOp.php @@ -37,39 +37,61 @@ function handleRemove($name) { OC_Gallery_Album::remove(OC_User::getUser(), $name); } -function handleGetThumbnails($albumname) -{ +function handleGetThumbnails($albumname) { OC_JSON::checkLoggedIn(); $photo = new OC_Image(); $photo->loadFromFile(OC::$CONFIG_DATADIRECTORY.'/../gallery/'.$albumname.'.png'); $photo->show(); } -function handleGalleryScanning() -{ +function handleGalleryScanning() { OC_JSON::checkLoggedIn(); OC_Gallery_Scanner::cleanup(); OC_JSON::success(array('albums' => OC_Gallery_Scanner::scan('/'))); } +function handleFilescan() { + OC_JSON::checkLoggedIn(); + $pathlist = OC_Gallery_Scanner::find_paths('/'); + sort($pathlist); + OC_JSON::success(array('paths' => $pathlist)); +} + +function handlePartialCreate($path) { + OC_JSON::checkLoggedIn(); + if (empty($path)) OC_JSON::error(array('cause' => 'No path specified')); + if (!OC_Filesystem::is_dir($path)) OC_JSON::error(array('cause' => 'Invalid path given')); + + $album = OC_Gallery_Album::find(OC_User::getUser(), null, $path); + $albums; + OC_Gallery_Scanner::scanDir($path, $albums); + OC_JSON::success(array('album_details' => $albums)); +} + if ($_GET['operation']) { switch($_GET['operation']) { - case "rename": + case 'rename': handleRename($_GET['oldname'], $_GET['newname']); OC_JSON::success(array('newname' => $_GET['newname'])); break; - case "remove": + case 'remove': handleRemove($_GET['name']); OC_JSON::success(); break; - case "get_covers": + case 'get_covers': handleGetThumbnails($_GET['albumname']); break; - case "scan": + case 'scan': handleGalleryScanning(); break; + case 'filescan': + handleFilescan(); + break; + case 'partial_create': + handlePartialCreate($_GET['path']); + break; default: - OC_JSON::error(array('cause' => "Unknown operation")); + OC_JSON::error(array('cause' => 'Unknown operation')); } } ?> |