From d18b9f6ea43b2a9b7bf9d2a71710edc67ec7f705 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 18 Feb 2014 15:39:35 +0100 Subject: [PATCH] use a FileInfo object of the directory when generting the filelist --- apps/files/ajax/list.php | 5 +++-- apps/files/index.php | 5 +++-- apps/files/lib/helper.php | 22 ---------------------- lib/private/files/filesystem.php | 9 +-------- 4 files changed, 7 insertions(+), 34 deletions(-) diff --git a/apps/files/ajax/list.php b/apps/files/ajax/list.php index 0be38c3b96..c8286bc15c 100644 --- a/apps/files/ajax/list.php +++ b/apps/files/ajax/list.php @@ -11,7 +11,8 @@ OCP\JSON::checkLoggedIn(); // Load the files $dir = isset( $_GET['dir'] ) ? $_GET['dir'] : ''; $dir = \OC\Files\Filesystem::normalizePath($dir); -if (!\OC\Files\Filesystem::is_dir($dir . '/')) { +$dirInfo = \OC\Files\Filesystem::getFileInfo($dir); +if (!$dirInfo->getType() === 'dir') { header("HTTP/1.0 404 Not Found"); exit(); } @@ -20,7 +21,7 @@ $doBreadcrumb = isset($_GET['breadcrumb']); $data = array(); $baseUrl = OCP\Util::linkTo('files', 'index.php') . '?dir='; -$permissions = \OCA\Files\Helper::getDirPermissions($dir); +$permissions = $dirInfo->getPermissions(); // Make breadcrumb if($doBreadcrumb) { diff --git a/apps/files/index.php b/apps/files/index.php index dd63f29bc2..f8f1618e78 100644 --- a/apps/files/index.php +++ b/apps/files/index.php @@ -37,8 +37,9 @@ OCP\App::setActiveNavigationEntry('files_index'); // Load the files $dir = isset($_GET['dir']) ? stripslashes($_GET['dir']) : ''; $dir = \OC\Files\Filesystem::normalizePath($dir); +$dirInfo = \OC\Files\Filesystem::getFileInfo($dir); // Redirect if directory does not exist -if (!\OC\Files\Filesystem::is_dir($dir . '/')) { +if (!$dirInfo->getType() === 'dir') { header('Location: ' . OCP\Util::getScriptName() . ''); exit(); } @@ -92,7 +93,7 @@ $breadcrumbNav = new OCP\Template('files', 'part.breadcrumb', ''); $breadcrumbNav->assign('breadcrumb', $breadcrumb); $breadcrumbNav->assign('baseURL', OCP\Util::linkTo('files', 'index.php') . '?dir='); -$permissions = \OCA\Files\Helper::getDirPermissions($dir); +$permissions = $dirInfo->getPermissions(); if ($needUpgrade) { OCP\Util::addscript('files', 'upgrade'); diff --git a/apps/files/lib/helper.php b/apps/files/lib/helper.php index 01fc65d76b..ac8a2ad320 100644 --- a/apps/files/lib/helper.php +++ b/apps/files/lib/helper.php @@ -112,26 +112,4 @@ class Helper } return $breadcrumb; } - - /** - * Returns the numeric permissions for the given directory. - * @param string $dir directory without trailing slash - * @return numeric permissions - */ - public static function getDirPermissions($dir){ - $permissions = \OCP\PERMISSION_READ; - if (\OC\Files\Filesystem::isCreatable($dir . '/')) { - $permissions |= \OCP\PERMISSION_CREATE; - } - if (\OC\Files\Filesystem::isUpdatable($dir . '/')) { - $permissions |= \OCP\PERMISSION_UPDATE; - } - if (\OC\Files\Filesystem::isDeletable($dir . '/')) { - $permissions |= \OCP\PERMISSION_DELETE; - } - if (\OC\Files\Filesystem::isSharable($dir . '/')) { - $permissions |= \OCP\PERMISSION_SHARE; - } - return $permissions; - } } diff --git a/lib/private/files/filesystem.php b/lib/private/files/filesystem.php index a83e9aa86d..aa7f632c5f 100644 --- a/lib/private/files/filesystem.php +++ b/lib/private/files/filesystem.php @@ -727,14 +727,7 @@ class Filesystem { * @param string $path * @param boolean $includeMountPoints whether to add mountpoint sizes, * defaults to true - * @return array - * - * returns an associative array with the following keys: - * - size - * - mtime - * - mimetype - * - encrypted - * - versioned + * @return \OC\Files\FileInfo */ public static function getFileInfo($path, $includeMountPoints = true) { return self::$defaultInstance->getFileInfo($path, $includeMountPoints);