diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index 8958bc7839..a3a0ad42bc 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,8 @@ +2010-01-20 Ramon Novoa + + * godmode/setup/file_manager.php: Added support for file and empty + directory deletion. + 2010-01-20 Ramon Novoa * include/functions_fsgraph.php: Fixed paths for Fusion Charts. diff --git a/pandora_console/godmode/setup/file_manager.php b/pandora_console/godmode/setup/file_manager.php index 77c4d55132..09c51f348c 100644 --- a/pandora_console/godmode/setup/file_manager.php +++ b/pandora_console/godmode/setup/file_manager.php @@ -51,13 +51,12 @@ if ($upload_file) { if ($delete_file) { echo "

".__('Deleting file')."

"; - $file = (string) get_parameter ('filename'); - $directory = (string) get_parameter ('directory'); - - $full_filename = $directory.'/'.$file; - if (!is_dir ($full_filename)){ - echo "

".__('Deleting')." ".$full_filename."

"; - unlink ($full_filename); + $filename = (string) get_parameter ('filename'); + echo "

".__('Deleting')." ".$filename."

"; + if (is_dir ($filename)) { + rmdir ($filename); + } else { + unlink ($filename); } } @@ -146,7 +145,7 @@ $table->head[0] = ''; $table->head[1] = __('Name'); $table->head[2] = __('Last modification'); $table->head[3] = __('Size'); -$table->head[4] = ''; +$table->head[4] = __('Delete'); $prev_dir = split ("/", $directory); $prev_dir_str = ""; @@ -208,6 +207,18 @@ foreach ($files as $fileinfo) { $data[3] = format_filesize ($fileinfo['size']); } + # Delete button + if (is_writable ($fileinfo['realpath']) && + (! is_dir ($fileinfo['realpath']) || count (scandir ($fileinfo['realpath'])) < 3)) { + $data[4] = '
'; + $data[4] .= ''; + $data[4] .= print_input_hidden ('filename', $fileinfo['realpath'], true); + $data[4] .= print_input_hidden ('delete_file', 1, true); + $data[4] .= '
'; + } else { + $data[4] = ''; + } + array_push ($table->data, $data); }