function fileDelete($args) { FilesHandler::parseDirArg($args, $currentDir, $parentDir); $currentPath = FilesHandler::getRealFilesDir($currentDir); import('lib.pkp.classes.file.FileManager'); $fileMgr = new FileManager(); if (@is_file($currentPath)) { $fileMgr->deleteFile($currentPath); } else { // TODO Use recursive delete (rmtree) instead? @$fileMgr->rmdir($currentPath); } Request::redirect(null, null, 'files', explode('/', $parentDir)); }
/** * Delete a file. * @param $args array * @param $request PKPRequest */ function fileDelete($args, &$request) { $this->validate(); $this->_parseDirArg($args, $currentDir, $parentDir); $currentPath = $this->_getRealFilesDir($request, $currentDir); import('lib.pkp.classes.file.FileManager'); $fileManager = new FileManager(); if (@is_file($currentPath)) { $fileManager->deleteFile($currentPath); } else { // TODO Use recursive delete (rmtree) instead? @$fileManager->rmdir($currentPath); } $request->redirect(null, null, null, 'files', explode('/', $parentDir)); }
function test_rmdir_recursive() { $res = FileManager::mkdir('rmdir_recursive_test'); $this->assertTrue($res); $this->assertTrue(is_dir('files/rmdir_recursive_test')); $res = FileManager::touch('rmdir_recursive_test/test.txt'); $this->assertTrue($res); $this->assertTrue(file_exists('files/rmdir_recursive_test/test.txt')); $res = FileManager::rmdir('rmdir_recursive_test'); $this->assertFalse($res); $this->assertEquals('Folder must be empty', FileManager::error()); $res = FileManager::rmdir('rmdir_recursive_test', true); $this->assertTrue($res); $this->assertFalse(is_dir('files/rmdir_recursive_test')); }