nextcloud/apps/files/ajax/rawlist.php

57 lines
1.5 KiB
PHP
Raw Normal View History

2012-04-02 21:39:24 +04:00
<?php
// only need filesystem apps
$RUNTIME_APPTYPES=array('filesystem');
// Init owncloud
2012-08-29 02:50:12 +04:00
require_once 'lib/template.php';
2012-04-02 21:39:24 +04:00
2012-05-03 14:23:29 +04:00
OCP\JSON::checkLoggedIn();
2012-04-02 21:39:24 +04:00
// Load the files
$dir = isset( $_GET['dir'] ) ? $_GET['dir'] : '';
$mimetypes = isset($_GET['mimetypes']) ? array_unique(json_decode($_GET['mimetypes'], true)) : '';
2012-04-02 21:39:24 +04:00
// make filelist
$files = array();
2013-05-17 06:54:08 +04:00
// If a type other than directory is requested first load them.
if($mimetypes && !in_array('httpd/unix-directory', $mimetypes)) {
2013-05-17 06:54:08 +04:00
foreach( \OC\Files\Filesystem::getDirectoryContent( $dir, 'httpd/unix-directory' ) as $i ) {
$i["date"] = OCP\Util::formatDate($i["mtime"] );
$i['mimetype_icon'] = \mimetype_icon('dir');
2013-05-17 06:54:08 +04:00
$files[] = $i;
}
}
if (is_array($mimetypes) && count($mimetypes)) {
foreach ($mimetypes as $mimetype) {
foreach( \OC\Files\Filesystem::getDirectoryContent( $dir, $mimetype ) as $i ) {
$i["date"] = OCP\Util::formatDate($i["mtime"]);
$i['mimetype_icon'] = $i['type'] === 'dir' ?
\mimetype_icon('dir') :
\mimetype_icon($i['mimetype']);
$files[] = $i;
}
}
} else {
foreach( \OC\Files\Filesystem::getDirectoryContent( $dir ) as $i ) {
$i["date"] = OCP\Util::formatDate($i["mtime"]);
$i['mimetype_icon'] = $i['type'] === 'dir' ?
\mimetype_icon('dir') :
\mimetype_icon($i['mimetype']);
$files[] = $i;
}
2012-04-02 21:39:24 +04:00
}
2013-09-06 01:17:53 +04:00
// Sort by name
function cmp($a, $b) {
if ($a['name'] === $b['name']) {
return 0;
}
return ($a['name'] < $b['name']) ? -1 : 1;
}
usort($files, 'cmp');
2013-09-06 01:17:53 +04:00
OC_JSON::success(array('data' => $files));