summaryrefslogtreecommitdiffstats
path: root/apps/gallery/ajax
diff options
context:
space:
mode:
authorBartek Przybylski <bart.p.pl@gmail.com>2012-01-15 15:31:17 +0100
committerBartek Przybylski <bart.p.pl@gmail.com>2012-01-15 15:31:37 +0100
commit07cf709eeb0be12376a1e471aa37bfd2cd8a9caf (patch)
tree289d21573350ef7df72f42f7a3bdf6118421ba09 /apps/gallery/ajax
parent63d9c1a8179bdefa6c4b6f089af6ce91cd11a46a (diff)
downloadnextcloud-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.php40
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'));
}
}
?>