summaryrefslogtreecommitdiffstats
path: root/apps/gallery
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2012-03-07 17:31:01 +0100
committerRobin Appelman <icewind@owncloud.com>2012-03-07 17:31:01 +0100
commitd8d293966852e28168c3ec42c79c2a271a8c8ade (patch)
tree5cb50197bf94f2fa0eb0a094b243a56bbfe3678c /apps/gallery
parent1d88ab57ec31c33e2edcd2bd7e54868927e999e0 (diff)
downloadnextcloud-server-d8d293966852e28168c3ec42c79c2a271a8c8ade.tar.gz
nextcloud-server-d8d293966852e28168c3ec42c79c2a271a8c8ade.zip
dont use numRows and fix some of the gallary hooks
Diffstat (limited to 'apps/gallery')
-rw-r--r--apps/gallery/ajax/galleryOp.php4
-rw-r--r--apps/gallery/lib/album.php7
-rw-r--r--apps/gallery/lib/hooks_handlers.php31
-rw-r--r--apps/gallery/lib/scanner.php8
4 files changed, 29 insertions, 21 deletions
diff --git a/apps/gallery/ajax/galleryOp.php b/apps/gallery/ajax/galleryOp.php
index 74ac905d072..f33eb46041b 100644
--- a/apps/gallery/ajax/galleryOp.php
+++ b/apps/gallery/ajax/galleryOp.php
@@ -102,9 +102,9 @@ function handleGetGallery($path) {
while ($r = $result->fetchRow()) {
$album_name = $r['album_name'];
- $tmp_res = OC_Gallery_Photo::find($r['album_id']);
+ $size=OC_Gallery_Album::getAlbumSize($r['album_id']);
- $a[] = array('name' => utf8_encode($album_name), 'numOfItems' => min($tmp_res->numRows(), 10));
+ $a[] = array('name' => utf8_encode($album_name), 'numOfItems' => min($size, 10));
}
$result = OC_Gallery_Photo::find($album_details['album_id']);
diff --git a/apps/gallery/lib/album.php b/apps/gallery/lib/album.php
index 317e8209de4..5adb57b554d 100644
--- a/apps/gallery/lib/album.php
+++ b/apps/gallery/lib/album.php
@@ -107,6 +107,13 @@ class OC_Gallery_Album {
rename($thumbpath.$oldname.'.png', $thumbpath.$newname.'.png');
}
+ public static function getAlbumSize($id){
+ $sql = 'SELECT COUNT(*) as size FROM *PREFIX*gallery_photos WHERE album_id = ?';
+ $stmt = OC_DB::prepare($sql);
+ $result=$stmt->execute(array($id))->fetchRow();
+ return $result['size'];
+ }
+
}
?>
diff --git a/apps/gallery/lib/hooks_handlers.php b/apps/gallery/lib/hooks_handlers.php
index 046866e5c5d..3c101b1f8a1 100644
--- a/apps/gallery/lib/hooks_handlers.php
+++ b/apps/gallery/lib/hooks_handlers.php
@@ -37,7 +37,7 @@ class OC_Gallery_Hooks_Handlers {
}
private static function directoryContainsPhotos($dirpath) {
- $dirhandle = opendir(OC::$CONFIG_DATADIRECTORY.$dirpath);
+ $dirhandle = OC_Filesystem::opendir($dirpath.'/');
if ($dirhandle != FALSE) {
while (($filename = readdir($dirhandle)) != FALSE) {
if ($filename[0] == '.') continue;
@@ -76,9 +76,9 @@ 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)) {
+ if (OC_Filesystem::is_dir($path.'/') && self::directoryContainsPhotos($path)) {
if(!self::pathInRoot($path)) return;
- OC_Gallery_Album::removeByPath($path.'/', OC_User::getUser());
+ OC_Gallery_Album::removeByPath($path, OC_User::getUser());
} elseif (self::isPhoto($path)) {
OC_Gallery_Photo::removeByPath($path);
}
@@ -87,11 +87,11 @@ class OC_Gallery_Hooks_Handlers {
public static function renamePhoto($params) {
$oldpath = $params[OC_Filesystem::signal_param_oldpath];
$newpath = $params[OC_Filesystem::signal_param_newpath];
- if (OC_Filesystem::is_dir($newpath) && self::directoryContainsPhotos($newpath)) {
+ if (OC_Filesystem::is_dir($newpath.'/') && self::directoryContainsPhotos($newpath)) {
OC_Gallery_Album::changePath($oldpath, $newpath, OC_User::getUser());
- } elseif (!self::isPhoto($newpath)) {
- $olddir = substr($oldpath, 0, strrpos($oldpath, '/'));
- $newdir = substr($newpath, 0, strrpos($newpath, '/'));
+ } elseif (self::isPhoto($newpath)) {
+ $olddir = dirname($oldpath);
+ $newdir = dirname($newpath);
if ($olddir == '') $olddir = '/';
if ($newdir == '') $newdir = '/';
if (!self::isPhoto($newpath)) return;
@@ -101,25 +101,26 @@ class OC_Gallery_Hooks_Handlers {
$oldAlbumId;
if ($olddir == $newdir) {
// album changing is not needed
- $album = OC_Gallery_Album::find(OC_User::getUser(), null, $olddir);
- if ($album->numRows() == 0) {
- $album = self::createAlbum($newdir);
+ $albums = OC_Gallery_Album::find(OC_User::getUser(), null, $olddir);
+ $album = $albums->fetchRow();
+ if (!$album) {
+ $albums = self::createAlbum($newdir);
+ $album = $albums->fetchRow();
}
- $album = $album->fetchRow();
$newAlbumId = $oldAlbumId = $album['album_id'];
} else {
$newalbum = OC_Gallery_Album::find(OC_User::getUser(), null, $newdir);
$oldalbum = OC_Gallery_Album::find(OC_User::getUser(), null, $olddir);
- if ($newalbum->numRows() == 0) {
+ if (!($newalbum = $newalbum->fetchRow())) {
$newalbum = self::createAlbum($newdir);
+ $newalbum = $newalbum->fetchRow();
}
- $newalbum = $newalbum->fetchRow();
- if ($oldalbum->numRows() == 0) {
+ $oldalbum = $oldalbum->fetchRow();
+ if (!$oldalbum) {
OC_Gallery_Photo::create($newalbum['album_id'], $newpath);
return;
}
- $oldalbum = $oldalbum->fetchRow();
$newAlbumId = $newalbum['album_id'];
$oldAlbumId = $oldalbum['album_id'];
diff --git a/apps/gallery/lib/scanner.php b/apps/gallery/lib/scanner.php
index 1e8fdb63fb3..dbe1abff10e 100644
--- a/apps/gallery/lib/scanner.php
+++ b/apps/gallery/lib/scanner.php
@@ -62,15 +62,15 @@ class OC_Gallery_Scanner {
$result = OC_Gallery_Album::find(OC_User::getUser(), /*$current_album['name']*/ null, $path);
// don't duplicate galleries with same path (bug oc-33)
- if ($result->numRows() == 0 && count($current_album['images'])) {
- OC_Gallery_Album::create(OC_User::getUser(), $current_album['name'], $path);
+ if (!($albumId = $result->fetchRow()) && count($current_album['images'])) {
+ OC_Gallery_Album::create(OC_User::getUser(), $current_album['name'], $path);
$result = OC_Gallery_Album::find(OC_User::getUser(), $current_album['name']);
+ $albumId = $result->fetchRow();
}
- $albumId = $result->fetchRow();
$albumId = $albumId['album_id'];
foreach ($current_album['images'] as $img) {
$result = OC_Gallery_Photo::find($albumId, $img);
- if ($result->numRows() == 0) {
+ if (!$result->fetchRow()) {
OC_Gallery_Photo::create($albumId, $img);
}
}