function handleGetGallery($token, $path) { $owner = OC_Gallery_Sharing::getTokenOwner($token); $apath = OC_Gallery_Sharing::getPath($token); if ($path == false) { $root = $apath; } else { $root = rtrim($apath, '/') . $path; } $r = OC_Gallery_Album::find($owner, null, $root); $albums = array(); $photos = array(); $albumId = -1; if ($row = $r->fetchRow()) { $albumId = $row['album_id']; } if ($albumId != -1) { if (OC_Gallery_Sharing::isRecursive($token)) { $r = OC_Gallery_Album::find($owner, null, null, $root); while ($row = $r->fetchRow()) { $albums[] = $row['album_name']; } } $r = OC_Gallery_Photo::find($albumId); while ($row = $r->fetchRow()) { $photos[] = $row['file_path']; } } OCP\JSON::success(array('albums' => $albums, 'photos' => $photos)); }
public static function createIntermediateAlbums() { $paths = self::findPaths(); for ($i = 1; $i < count($paths); $i++) { $prevLen = strlen($paths[$i - 1]); if (strncmp($paths[$i - 1], $paths[$i], $prevLen) == 0) { $s = substr($paths[$i], $prevLen); if (strrpos($s, '/') != 0) { $a = explode('/', trim($s, '/')); $p = $paths[$i - 1]; foreach ($a as $e) { $p .= ($p == '/' ? '' : '/') . $e; OC_Gallery_Album::create(OCP\USER::getUser(), $e, $p); $arr = OC_FileCache::searchByMime('image', '', OC_Filesystem::getRoot() . $p); $step = floor(count($arr) / 10); if ($step == 0) { $step = 1; } $na = array(); for ($j = 0; $j < count($arr); $j += $step) { $na[] = $p . $arr[$j]; } if (count($na)) { self::createThumbnails($e, $na); } } } } } }
function handleShare($path, $share, $recursive) { $recursive = $recursive == 'true' ? 1 : 0; $owner = OCP\USER::getUser(); $root = OCP\Config::getUserValue(OCP\USER::getUser(), 'gallery', 'root', '/'); $path = utf8_decode(rtrim($root . $path, '/')); if ($path == '') { $path = '/'; } $r = OC_Gallery_Album::find($owner, null, $path); if ($row = $r->fetchRow()) { $albumId = $row['album_id']; } else { OCP\JSON::error(array('cause' => 'Couldn\'t find requested gallery')); exit; } if ($share == false) { OC_Gallery_Sharing::remove($albumId); OCP\JSON::success(array('sharing' => false)); } else { // share, yeah \o/ $r = OC_Gallery_Sharing::getEntryByAlbumId($albumId); if ($row = $r->fetchRow()) { // update entry OC_Gallery_Sharing::updateSharingByToken($row['token'], $recursive); OCP\JSON::success(array('sharing' => true, 'token' => $row['token'], 'recursive' => $recursive == 1 ? true : false)); } else { // and new sharing entry $date = new DateTime(); $token = md5($owner . $date->getTimestamp()); OC_Gallery_Sharing::addShared($token, intval($albumId), $recursive); OCP\JSON::success(array('sharing' => true, 'token' => $token, 'recursive' => $recursive == 1 ? true : false)); } } }
<?php /** * ownCloud - gallery application * * @author Bartek Przybylski * @copyright 2012 Bartek Przybylski bart.p.pl@gmail.com * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE * License as published by the Free Software Foundation; either * version 3 of the License, or any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU AFFERO GENERAL PUBLIC LICENSE for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library. If not, see <http://www.gnu.org/licenses/>. * */ OCP\JSON::checkLoggedIn(); OCP\JSON::checkAppEnabled('gallery'); OCP\JSON::callCheck(); OC_Gallery_Album::create(OCP\USER::getUser(), $_GET['album_name']); OCP\JSON::success(array('name' => $_GET['album_name']));