mirror of
https://github.com/jcampbell1/simple-file-manager.git
synced 2025-02-20 22:00:04 +01:00
feat: default sort ordering is directory first, then name
This commit is contained in:
35
index.php
35
index.php
@@ -69,21 +69,26 @@ if($_GET['do'] == 'list') {
|
|||||||
$result = [];
|
$result = [];
|
||||||
$files = array_diff(scandir($directory), ['.','..']);
|
$files = array_diff(scandir($directory), ['.','..']);
|
||||||
foreach ($files as $entry) if (!is_entry_ignored($entry, $allow_show_folders, $hidden_patterns)) {
|
foreach ($files as $entry) if (!is_entry_ignored($entry, $allow_show_folders, $hidden_patterns)) {
|
||||||
$i = $directory . '/' . $entry;
|
$i = $directory . '/' . $entry;
|
||||||
$stat = stat($i);
|
$stat = stat($i);
|
||||||
$result[] = [
|
$result[] = [
|
||||||
'mtime' => $stat['mtime'],
|
'mtime' => $stat['mtime'],
|
||||||
'size' => $stat['size'],
|
'size' => $stat['size'],
|
||||||
'name' => basename($i),
|
'name' => basename($i),
|
||||||
'path' => preg_replace('@^\./@', '', $i),
|
'path' => preg_replace('@^\./@', '', $i),
|
||||||
'is_dir' => is_dir($i),
|
'is_dir' => is_dir($i),
|
||||||
'is_deleteable' => $allow_delete && ((!is_dir($i) && is_writable($directory)) ||
|
'is_deleteable' => $allow_delete && ((!is_dir($i) && is_writable($directory)) ||
|
||||||
(is_dir($i) && is_writable($directory) && is_recursively_deleteable($i))),
|
(is_dir($i) && is_writable($directory) && is_recursively_deleteable($i))),
|
||||||
'is_readable' => is_readable($i),
|
'is_readable' => is_readable($i),
|
||||||
'is_writable' => is_writable($i),
|
'is_writable' => is_writable($i),
|
||||||
'is_executable' => is_executable($i),
|
'is_executable' => is_executable($i),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
usort($result,function($f1,$f2){
|
||||||
|
$f1_key = ($f1['is_dir']?:2) . $f1['name'];
|
||||||
|
$f2_key = ($f2['is_dir']?:2) . $f2['name'];
|
||||||
|
return $f1_key > $f2_key;
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
err(412,"Not a Directory");
|
err(412,"Not a Directory");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user