summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/server_add/controllers/server_add.php9
1 files changed, 6 insertions, 3 deletions
diff --git a/modules/server_add/controllers/server_add.php b/modules/server_add/controllers/server_add.php
index fe511b46..dd6c5d00 100644
--- a/modules/server_add/controllers/server_add.php
+++ b/modules/server_add/controllers/server_add.php
@@ -133,7 +133,7 @@ class Server_Add_Controller extends Controller {
}
private function _get_children($path) {
- $file_list = array();
+ $directory_list = $file_list = array();
$files = new DirectoryIterator($path);
foreach ($files as $file) {
if ($file->isDot() || $file->isLink()) {
@@ -142,7 +142,7 @@ class Server_Add_Controller extends Controller {
$filename = $file->getFilename();
if ($filename[0] != ".") {
if ($file->isDir()) {
- $file_list[$filename] = array("path" => $file->getPathname(), "is_dir" => true);
+ $directory_list[$filename] = array("path" => $file->getPathname(), "is_dir" => true);
} else {
$extension = strtolower(substr(strrchr($filename, '.'), 1));
if ($file->isReadable() &&
@@ -152,6 +152,9 @@ class Server_Add_Controller extends Controller {
}
}
}
- return $file_list;
+
+ ksort($directory_list);
+ ksort($file_list);
+ return array_merge($directory_list, $file_list);
}
} \ No newline at end of file