under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. */ require "../../Group-Office.php"; //load file management class $GO_SECURITY->authenticate(); $GO_MODULES->authenticate('filesystem'); require $GO_CONFIG->class_path . 'filetypes.class.inc'; require_once $GO_CONFIG->class_path . 'filesystem.class.inc'; require_once 'group_folders.inc'; $fs = new filesystem(); $filetypes = new filetypes(); $path = smartstrip($_REQUEST['path']); $group_folders = get_group_folders($GO_SECURITY->user_id, 0); if (is_group_folder($group_folders, $path) || $fs->has_read_permission($GO_SECURITY->user_id, $path) || $fs->has_write_permission($GO_SECURITY->user_id, $path)) { $filename = basename($path); $extension = get_extension($filename); $type = $filetypes->get_type($extension); $browser = detect_browser(); header('Content-Type: ' . $type['mime']); header('Content-Length: ' . filesize($path)); header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT'); if ($browser['name'] == 'MSIE') { header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="' . $filename . '"'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); } else { header('Content-Type: ' . $type['mime']); header('Pragma: no-cache');
$extension = get_extension($filename); if (!($type = $filetypes->get_type($extension))) { $filetypes->add_type($extesnion, $mime); } } if ($filename == '') { $filename = basename($_SESSION['email_tmp_file']); } else { $filename = smartstrip($filename); } if (isset($task) && $task == 'GO_HANDLER') { require $GO_CONFIG->class_path . 'filesystem.class.inc'; $fs = new filesystem(); if (file_exists(smartstrip($_REQUEST['path']) . '/' . $filename)) { $feedback = '<p class="Error">' . $fbNameExists . '</p>'; } elseif (!$fs->has_write_permission($GO_SECURITY->user_id, smartstrip($_REQUEST['path']))) { $feedback = '<p class="Error">' . $strAccessDenied . ': ' . smartstrip($_REQUEST['path']) . '</p>'; } else { $new_path = smartstrip($_REQUEST['path']) . '/' . $filename; if ($fs->move($_SESSION['email_tmp_file'], $new_path)) { $old_umask = umask(00); chmod($new_path, $GO_CONFIG->create_mode); umask($old_umask); unset($_SESSION['tmp_account_id']); unset($_SESSION['email_tmp_file']); echo "<script type=\"text/javascript\" language=\"javascript\">\n"; echo "window.close()\n"; echo "</script>\n"; } else { $feedback = '<p class="Error">' . $strSaveError . '</p>'; }
$_SESSION['cut_files'] = isset($_SESSION['cut_files']) ? $_SESSION['cut_files'] : array(); $_SESSION['cut_folders'] = isset($_SESSION['cut_folders']) ? $_SESSION['cut_folders'] : array(); $_SESSION['copy_folders'] = isset($_SESSION['copy_folders']) ? $_SESSION['copy_folders'] : array(); $_SESSION['copy_files'] = isset($_SESSION['copy_files']) ? $_SESSION['copy_files'] : array(); //vars used to remember files that are to be overwritten or not $overwrite_destination_path = isset($_POST['overwrite_destination_path']) ? smartstrip($_POST['overwrite_destination_path']) : ''; $overwrite_source_path = isset($_POST['overwrite_source_path']) ? smartstrip($_POST['overwrite_source_path']) : ''; $overwrite_all = isset($_POST['overwrite_all']) && $_POST['overwrite_all'] == 'true' ? 'true' : 'false'; $overwrite = isset($_POST['overwrite']) ? $_POST['overwrite'] : $overwrite_all; require_once 'group_folders.inc'; $group_folders = get_group_folders($GO_SECURITY->user_id, 0); $read_permission = $write_permission = true; if (!is_group_folder($group_folders, $path)) { //check read permissions and remember last browsed path $read_permission = $fs->has_read_permission($GO_SECURITY->user_id, $path); $write_permission = $fs->has_write_permission($GO_SECURITY->user_id, $path); } if (!$read_permission && !$write_permission) { $_SESSION['GO_FILESYSTEM_PATH'] = $home_path; $task = 'access_denied'; } else { if ($GO_CONFIG->window_mode != 'projects') { $_SESSION['GO_FILESYSTEM_PATH'] = $path; } } //cut paste or copy before output has started switch ($task) { case 'upload': if ($_SERVER['REQUEST_METHOD'] == 'POST') { $task = 'list'; if (isset($_FILES['file'])) {