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); } } } } } }
<?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']));