]> source.dussan.org Git - nextcloud-server.git/commitdiff
Update rawlist to work with new fileinfo object
authorRobin Appelman <icewind@owncloud.com>
Thu, 27 Feb 2014 13:04:19 +0000 (14:04 +0100)
committerRobin Appelman <icewind@owncloud.com>
Thu, 27 Feb 2014 13:04:19 +0000 (14:04 +0100)
apps/files/ajax/rawlist.php
lib/private/files/filesystem.php

index 40da32b223a4cf37259476dafc714f3617db80ef..89c21a172fc1408b59e67057c0cfc85f4d528683 100644 (file)
@@ -1,12 +1,12 @@
 <?php
 
 // only need filesystem apps
-$RUNTIME_APPTYPES=array('filesystem');
+$RUNTIME_APPTYPES = array('filesystem');
 
 OCP\JSON::checkLoggedIn();
 
 // Load the files
-$dir = isset( $_GET['dir'] ) ? $_GET['dir'] : '';
+$dir = isset($_GET['dir']) ? $_GET['dir'] : '';
 $mimetypes = isset($_GET['mimetypes']) ? json_decode($_GET['mimetypes'], true) : '';
 
 // Clean up duplicates from array and deal with non-array requests
@@ -18,43 +18,40 @@ if (is_array($mimetypes)) {
 
 // make filelist
 $files = array();
+/**
+ * @var \OCP\Files\FileInfo[] $files
+ */
 // If a type other than directory is requested first load them.
-if($mimetypes && !in_array('httpd/unix-directory', $mimetypes)) {
-       foreach( \OC\Files\Filesystem::getDirectoryContent( $dir, 'httpd/unix-directory' ) as $file ) {
-               $file['directory'] = $dir;
-               $file['isPreviewAvailable'] = \OC::$server->getPreviewManager()->isMimeSupported($file['mimetype']);
-               $file["date"] = OCP\Util::formatDate($file["mtime"]);
-               $file['mimetype_icon'] = \OCA\Files\Helper::determineIcon($file);
-               $files[] = $file;
-       }
+if ($mimetypes && !in_array('httpd/unix-directory', $mimetypes)) {
+       $files = array_merge($files, \OC\Files\Filesystem::getDirectoryContent($dir, 'httpd/unix-directory'));
 }
 
 if (is_array($mimetypes) && count($mimetypes)) {
        foreach ($mimetypes as $mimetype) {
-               foreach( \OC\Files\Filesystem::getDirectoryContent( $dir, $mimetype ) as $file ) {
-                       $file['directory'] = $dir;
-                       $file['isPreviewAvailable'] = \OC::$server->getPreviewManager()->isMimeSupported($file['mimetype']);
-                       $file["date"] = OCP\Util::formatDate($file["mtime"]);
-                       $file['mimetype_icon'] = \OCA\Files\Helper::determineIcon($file);
-                       $files[] = $file;
-               }
+               $files = array_merge($files, \OC\Files\Filesystem::getDirectoryContent($dir, $mimetype));
        }
 } else {
-       foreach( \OC\Files\Filesystem::getDirectoryContent( $dir ) as $file ) {
-               $file['directory'] = $dir;
-               $file['isPreviewAvailable'] = \OC::$server->getPreviewManager()->isMimeSupported($file['mimetype']);
-               $file["date"] = OCP\Util::formatDate($file["mtime"]);
-               $file['mimetype_icon'] = \OCA\Files\Helper::determineIcon($file);
-               $files[] = $file;
-       }
+       $files = array_merge($files, \OC\Files\Filesystem::getDirectoryContent($dir));
+}
+
+$result = array();
+foreach ($files as $file) {
+       $fileData = array();
+       $fileData['directory'] = $dir;
+       $fileData['name'] = $file->getName();
+       $fileData['type'] = $file->getType();
+       $fileData['path'] = $file['path'];
+       $fileData['id'] = $file->getId();
+       $fileData['size'] = $file->getSize();
+       $fileData['mtime'] = $file->getMtime();
+       $fileData['mimetype'] = $file->getMimetype();
+       $fileData['isPreviewAvailable'] = \OC::$server->getPreviewManager()->isMimeSupported($file->getMimetype());
+       $fileData["date"] = OCP\Util::formatDate($file->getMtime());
+       $fileData['mimetype_icon'] = \OCA\Files\Helper::determineIcon($file);
+       $result[] = $fileData;
 }
 
 // Sort by name
-usort($files, function ($a, $b) {
-       if ($a['name'] === $b['name']) {
-                return 0;
-       }
-       return ($a['name'] < $b['name']) ? -1 : 1;
-});
+usort($result, array('\OCA\Files\Helper', 'fileCmp'));
 
-OC_JSON::success(array('data' => $files));
+OC_JSON::success(array('data' => $result));
index 7f7b6f7f4682bdc8e04ee12accb35c06cd45aa16..6478854eae8c6593bd26922dc61d0334ea605bb2 100644 (file)
@@ -761,7 +761,7 @@ class Filesystem {
         *
         * @param string $directory path under datadirectory
         * @param string $mimetype_filter limit returned content to this mimetype or mimepart
-        * @return array
+        * @return \OC\Files\FileInfo[]
         */
        public static function getDirectoryContent($directory, $mimetype_filter = '') {
                return self::$defaultInstance->getDirectoryContent($directory, $mimetype_filter);