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 scan($eventSource) { $paths = self::findPaths(); $eventSource->send('count', count($paths) + 1); $owner = OCP\USER::getUser(); foreach ($paths as $path) { $name = self::createName($path); $images = self::findFiles($path); $result = OC_Gallery_Album::find($owner, null, $path); // don't duplicate galleries with same path if (!($albumId = $result->fetchRow())) { OC_Gallery_Album::create($owner, $name, $path); $result = OC_Gallery_Album::find($owner, $name, $path); $albumId = $result->fetchRow(); } $albumId = $albumId['album_id']; foreach ($images as $img) { $result = OC_Gallery_Photo::find($albumId, $img); if (!$result->fetchRow()) { OC_Gallery_Photo::create($albumId, $img); } } if (count($images)) { self::createThumbnails($name, $images); } $eventSource->send('scanned', ''); } self::createIntermediateAlbums(); $eventSource->send('scanned', ''); $eventSource->send('done', 1); }
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)); } } }