diff --git a/core/src/plugins/action.powerfs/class.PowerFSController.php b/core/src/plugins/action.powerfs/class.PowerFSController.php index 8002d69ae3..7f99169735 100644 --- a/core/src/plugins/action.powerfs/class.PowerFSController.php +++ b/core/src/plugins/action.powerfs/class.PowerFSController.php @@ -138,6 +138,7 @@ public function switchAction($action, $httpVars, $fileVars) $replaceSearch = array($rootDir, "\\"); $replaceReplace = array("", "/"); foreach ($selection->getFiles() as $selectionFile) { + $baseFile = $selectionFile; $args[] = '"'.substr($selectionFile, strlen($dir)+($dir=="/"?0:1)).'"'; $selectionFile = fsAccessWrapper::getRealFSReference($urlBase.$selectionFile); $todo[] = ltrim(str_replace($replaceSearch, $replaceReplace, $selectionFile), "/"); @@ -147,6 +148,12 @@ public function switchAction($action, $httpVars, $fileVars) $todo[] = str_replace($replaceSearch, $replaceReplace, $name); } } + if(trim($baseFile, "/") == ""){ + // ROOT IS SELECTED, FIX IT + $args = array(basename($rootDir)); + $rootDir = dirname($rootDir); + break; + } } $cmdSeparator = ((PHP_OS == "WIN32" || PHP_OS == "WINNT" || PHP_OS == "Windows")? "&" : ";"); //$archiveName = SystemTextEncoding::fromUTF8($httpVars["archive_name"]);