aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_trashbin/lib/helper.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_trashbin/lib/helper.php')
-rw-r--r--apps/files_trashbin/lib/helper.php83
1 files changed, 26 insertions, 57 deletions
diff --git a/apps/files_trashbin/lib/helper.php b/apps/files_trashbin/lib/helper.php
index 9c24332a964..e6ca73520a6 100644
--- a/apps/files_trashbin/lib/helper.php
+++ b/apps/files_trashbin/lib/helper.php
@@ -27,6 +27,10 @@ class Helper
if ($dirContent === false) {
return $result;
}
+
+ list($storage, $internalPath) = $view->resolvePath($dir);
+ $absoluteDir = $view->getAbsolutePath($dir);
+
if (is_resource($dirContent)) {
while (($entryName = readdir($dirContent)) !== false) {
if (!\OC\Files\Filesystem::isIgnoredDir($entryName)) {
@@ -40,76 +44,41 @@ class Helper
$parts = explode('/', ltrim($dir, '/'));
$timestamp = substr(pathinfo($parts[0], PATHINFO_EXTENSION), 1);
}
- $result[] = array(
- 'id' => $id,
- 'timestamp' => $timestamp,
- 'mime' => \OC_Helper::getFileNameMimeType($id),
+ $i = array(
+ 'name' => $id,
+ 'mtime' => $timestamp,
+ 'mimetype' => \OC_Helper::getFileNameMimeType($id),
'type' => $view->is_dir($dir . '/' . $entryName) ? 'dir' : 'file',
- 'location' => $dir,
+ 'directory' => ($dir === '/') ? '' : $dir,
);
+ $result[] = new FileInfo($absoluteDir . '/' . $i['name'], $storage, $internalPath . '/' . $i['name'], $i);
}
}
closedir($dirContent);
}
- $files = array();
- $id = 0;
- list($storage, $internalPath) = $view->resolvePath($dir);
- $absoluteDir = $view->getAbsolutePath($dir);
- foreach ($result as $r) {
- $i = array();
- $i['id'] = $id++;
- $i['name'] = $r['id'];
- $i['date'] = \OCP\Util::formatDate($r['timestamp']);
- $i['timestamp'] = $r['timestamp'];
- $i['etag'] = $r['timestamp']; // add fake etag, it is only needed to identify the preview image
- $i['mimetype'] = $r['mime'];
- $i['type'] = $r['type'];
- if ($i['type'] === 'file') {
- $fileinfo = pathinfo($r['id']);
- $i['basename'] = $fileinfo['filename'];
- $i['extension'] = isset($fileinfo['extension']) ? ('.'.$fileinfo['extension']) : '';
- }
- $i['directory'] = $r['location'];
- if ($i['directory'] === '/') {
- $i['directory'] = '';
- }
- $i['permissions'] = \OCP\PERMISSION_READ;
- if (\OCP\App::isEnabled('files_encryption')) {
- $i['isPreviewAvailable'] = false;
- } else {
- $i['isPreviewAvailable'] = \OC::$server->getPreviewManager()->isMimeSupported($r['mime']);
- }
- $i['icon'] = \OCA\Files\Helper::determineIcon($i);
- $files[] = new FileInfo($absoluteDir . '/' . $i['name'], $storage, $internalPath . '/' . $i['name'], $i);
- }
-
- usort($files, array('\OCA\Files\Helper', 'fileCmp'));
+ usort($result, array('\OCA\Files\Helper', 'fileCmp'));
- return $files;
+ return $result;
}
/**
- * Splits the given path into a breadcrumb structure.
- * @param string $dir path to process
- * @return array where each entry is a hash of the absolute
- * directory path and its name
+ * Format file infos for JSON
+ * @param \OCP\Files\FileInfo[] $fileInfos file infos
*/
- public static function makeBreadcrumb($dir){
- // Make breadcrumb
- $pathtohere = '';
- $breadcrumb = array();
- foreach (explode('/', $dir) as $i) {
- if ($i !== '') {
- if ( preg_match('/^(.+)\.d[0-9]+$/', $i, $match) ) {
- $name = $match[1];
- } else {
- $name = $i;
- }
- $pathtohere .= '/' . $i;
- $breadcrumb[] = array('dir' => $pathtohere, 'name' => $name);
+ public static function formatFileInfos($fileInfos) {
+ $files = array();
+ $id = 0;
+ foreach ($fileInfos as $i) {
+ $entry = \OCA\Files\Helper::formatFileInfo($i);
+ $entry['id'] = $id++;
+ $entry['etag'] = $entry['mtime']; // add fake etag, it is only needed to identify the preview image
+ $entry['permissions'] = \OCP\PERMISSION_READ;
+ if (\OCP\App::isEnabled('files_encryption')) {
+ $entry['isPreviewAvailable'] = false;
}
+ $files[] = $entry;
}
- return $breadcrumb;
+ return $files;
}
}