Skip to content
Snippets Groups Projects
Commit d8d29396 authored by Robin Appelman's avatar Robin Appelman
Browse files

dont use numRows and fix some of the gallary hooks

parent 1d88ab57
No related branches found
No related tags found
No related merge requests found
......@@ -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']);
......
......@@ -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'];
}
}
?>
......@@ -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();
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'];
......
......@@ -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'])) {
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 = $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);
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment