summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2009-12-30 15:33:22 -0800
committerTim Almdal <tnalmdal@shaw.ca>2009-12-30 15:33:22 -0800
commit7af844606d79d1f987c6d754f5c5db64d86acc47 (patch)
treef6ad08028dcd101cda12e55a68c48632c4877e59
parent399c5c21f6da5dc02e55be6d5b453b43ae4cf158 (diff)
The problem occurs because the square brackets are treated as special characters in the glob to find the children. This patch escapes the square brackets. Fixes ticket #855
-rw-r--r--modules/server_add/controllers/server_add.php4
1 files changed, 3 insertions, 1 deletions
diff --git a/modules/server_add/controllers/server_add.php b/modules/server_add/controllers/server_add.php
index 6ff00812..f6e3a4dd 100644
--- a/modules/server_add/controllers/server_add.php
+++ b/modules/server_add/controllers/server_add.php
@@ -42,13 +42,15 @@ class Server_Add_Controller extends Admin_Controller {
// Make a tree with the parents back up to the authorized path, and all the children under the
// current path.
+ Kohana_Log::add("error", $path);
if (server_add::is_valid_path($path)) {
$tree->parents[] = $path;
while (server_add::is_valid_path(dirname($tree->parents[0]))) {
array_unshift($tree->parents, dirname($tree->parents[0]));
}
- foreach (glob("$path/*") as $file) {
+ $glob_path = str_replace(array("{", "}", "[", "]"), array("\{", "\}", "\[", "\]"), $path);
+ foreach (glob("$glob_path/*") as $file) {
if (!is_readable($file)) {
continue;
}