. * */ class OC_Gallery_Album { public static function create($owner, $name, $path){ $stmt = OC_DB::prepare('INSERT INTO *PREFIX*gallery_albums (uid_owner, album_name, album_path) VALUES (?, ?, ?)'); $stmt->execute(array($owner, $name, $path)); } public static function rename($oldname, $newname, $owner) { $stmt = OC_DB::prepare('UPDATE OR IGNORE *PREFIX*gallery_albums SET album_name=? WHERE uid_owner=? AND album_name=?'); $stmt->execute(array($newname, $owner, $oldname)); } public static function remove($owner, $name=null) { $sql = 'DELETE FROM *PREFIX*gallery_albums WHERE uid_owner = ?'; $args = array($owner); if (!is_null($name)){ $sql .= ' AND album_name = ?'; $args[] = $name; } $stmt = OC_DB::prepare($sql); return $stmt->execute($args); } public static function removeByPath($path, $owner) { $album = self::find($owner, null, $path); $album = $album->fetchRow(); 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 $path = $path.'/%'; $stmt = OC_DB::prepare('SELECT * FROM *PREFIX*gallery_albums WHERE album_path LIKE ? AND uid_owner = ?'); $result = $stmt->execute(array($path, $owner)); while (($album = $result->fetchRow())) { OC_Gallery_Photo::removeByAlbumId($album['album_id']); self::remove($owner, $album['album_name']); } } public static function find($owner, $name=null, $path=null){ $sql = 'SELECT * FROM *PREFIX*gallery_albums WHERE uid_owner = ?'; $args = array($owner); if (!is_null($name)){ $sql .= ' AND album_name = ?'; $args[] = $name; } if (!is_null($path)){ $sql .= ' AND album_path = ?'; $args[] = $path; } $sql .= ' ORDER BY album_name ASC'; $stmt = OC_DB::prepare($sql); return $stmt->execute($args); } public static function changePath($oldname, $newname, $owner) { $stmt = OC_DB::prepare('UPDATE OR IGNORE *PREFIX*gallery_albums SET album_path=? WHERE uid_owner=? AND album_path=?'); $stmt->execute(array($newname, $owner, $oldname)); } public static function changeThumbnailPath($oldname, $newname) { require_once('../../../lib/base.php'); $thumbpath = OC::$CONFIG_DATADIRECTORY.'/../gallery/'; rename($thumbpath.$oldname.'.png', $thumbpath.$newname.'.png'); } } ?>