} } else { $feedback = '<p class="Error">' . $strAclError . '</p>'; } } } break; case 'save_task_list': $is_new_project = false; $project = $projects->get_project($project_id); $responsible_user_id = $project['res_user_id']; $user = $GO_USERS->get_user($responsible_user_id); require_once $GO_CONFIG->class_path . 'filesystem.class.inc'; $fs = new filesystem(); $project_folder = '/projects/'; if (!$fs->chroot_file_exists($project_folder) && !$fs->chroot_mkdir($project_folder)) { error_log("GO: Create {$project_folder} error"); unset($project_folder); } else { $project_folder = $project_folder . "{$project_id}"; if (!$fs->chroot_file_exists($project_folder)) { if (!$fs->chroot_mkdir($project_folder)) { error_log("GO: Create {$project_folder} error"); unset($project_folder); } else { $is_new_project = true; } } } $tid = 1; $max_task_id = $_REQUEST["max_task_id"];
$GO_SECURITY->authenticate(); $GO_MODULES->authenticate('filesystem'); require $GO_LANGUAGE->get_language_file('filesystem'); $email_module = $GO_MODULES->get_module('email'); if ($email_module && (!$GO_SECURITY->has_permission($GO_SECURITY->user_id, $email_module['acl_read']) || !$GO_SECURITY->has_permission($GO_SECURITY->user_id, $email_module['acl_write']))) { $email_module = false; } $GO_HANDLER = isset($GO_HANDLER) ? $GO_HANDLER : 'download.php'; $GO_MULTI_SELECT = isset($GO_MULTI_SELECT) ? $GO_MULTI_SELECT : true; $target_frame = isset($target_frame) ? $target_frame : '_self'; require_once $GO_CONFIG->class_path . 'filesystem.class.inc'; $fs = new filesystem(); //set path to browse $home_path = '/users/' . $_SESSION['GO_SESSION']['username']; if (!isset($_SESSION['GO_FILESYSTEM_PATH'])) { if ($fs->chroot_file_exists($home_path) || ($fs->chroot_file_exists('/users/') || $fs->chroot_mkdir('/users/', $GO_CONFIG->create_mode)) && $fs->chroot_mkdir($home_path, $GO_CONFIG->create_mode)) { $_SESSION['GO_FILESYSTEM_PATH'] = $home_path; } else { die('Failed creating home directory. Check server configuration. See if "' . $GO_CONFIG->file_storage_path . '" exists and is writable for the webserver.'); } } $path = isset($_REQUEST['path']) ? smartstrip($_REQUEST['path']) : $_SESSION['GO_FILESYSTEM_PATH']; $urlencoded_path = urlencode($path); $return_to_path = isset($_REQUEST['return_to_path']) ? smartstrip($_REQUEST['return_to_path']) : $path; //create filesystem and filetypes object require_once $GO_CONFIG->class_path . 'filetypes.class.inc'; $filetypes = new filetypes(); $fs_settings = $fs->get_settings($GO_SECURITY->user_id); //define task to peform $task = isset($_REQUEST['task']) ? $_REQUEST['task'] : ''; $_SESSION['cut_files'] = isset($_SESSION['cut_files']) ? $_SESSION['cut_files'] : array();