/** * @throws ProjectIDMissingException * @throws ProjectSecurityAccessDeniedException */ public static function move() { global $project_security, $user; if ($_GET['project_id']) { $project = new Project($_GET['project_id']); if ($user->get_user_id() == $project->get_owner_id() or $project_security->is_access(7, false) == true) { if ($_GET['nextpage'] == 1) { if (is_numeric($_POST['type'])) { $page_1_passed = true; } else { $page_1_passed = false; $error = "You must make a selection."; } } elseif ($_GET['nextpage'] > 1) { $page_1_passed = true; } else { $page_1_passed = false; $error = ""; } if ($page_1_passed == false) { $template = new HTMLTemplate("project/admin/move_page_1.html"); $paramquery = $_GET; $paramquery['nextpage'] = "1"; $params = http_build_query($paramquery, '', '&'); $template->set_var("params", $params); $template->set_var("error", $error); $template->output(); } else { if ($_POST['type'] == 1) { if ($_GET['nextpage'] == 2) { if (is_numeric($_POST['ou'])) { $page_2_passed = true; } else { $page_2_passed = false; $error = "You must select an organisation unit."; } } elseif ($_GET['nextpage'] > 3) { $page_2_passed = true; } else { $page_2_passed = false; $error = ""; } if ($page_2_passed == false) { $template = new HTMLTemplate("project/admin/move_page_2_ou.html"); $paramquery = $_GET; $paramquery['nextpage'] = "2"; $params = http_build_query($paramquery, '', '&'); $template->set_var("params", $params); $template->set_var("error", $error); $organisation_unit_array = OrganisationUnit::list_entries(); $result = array(); $counter = 0; foreach ($organisation_unit_array as $key => $value) { $organisation_unit = new OrganisationUnit($value); $result[$counter]['value'] = $value; $result[$counter]['content'] = $organisation_unit->get_name(); $counter++; } $template->set_var("option", $result); $template->set_var("type", $_POST['type']); $template->output(); } else { $project = new Project($_GET['project_id']); $paramquery = $_GET; unset($paramquery['nextpage']); $paramquery['run'] = "admin"; $params = http_build_query($paramquery); if ($project->move_to_organisation_unit($_POST['ou'])) { Common_IO::step_proceed($params, "Move Project", "Operation Successful", null); } else { Common_IO::step_proceed($params, "Move Project", "Operation Failed", null); } } } else { if ($_GET['nextpage'] == 2) { if (is_numeric($_POST['project'])) { $page_2_passed = true; } else { $page_2_passed = false; $error = "You must select a project."; } } elseif ($_GET['nextpage'] > 3) { $page_2_passed = true; } else { $page_2_passed = false; $error = ""; } if ($page_2_passed == false) { $template = new HTMLTemplate("project/admin/move_page_2_project.html"); $paramquery = $_GET; $paramquery['nextpage'] = "2"; $params = http_build_query($paramquery, '', '&'); $template->set_var("params", $params); $template->set_var("error", $error); $result = array(); $counter = 0; $project = new Project(null); $project_array = $project->get_project_tree(); foreach ($project_array as $key => $value) { $project = new Project($value['id']); for ($i = 1; $i <= $value['layer']; $i++) { $pre_content .= " "; } $result[$counter]['value'] = $value['id']; $result[$counter]['content'] = $pre_content . "" . $project->get_name(); $counter++; unset($pre_content); } if (!$result) { $result[$counter]['value'] = "0"; $result[$counter]['content'] = "NO PROJECT FOUND!"; } $template->set_var("option", $result); $template->set_var("type", $_POST['type']); $template->output(); } else { $project = new Project($_GET['project_id']); $paramquery = $_GET; unset($paramquery['nextpage']); $paramquery['run'] = "admin"; $params = http_build_query($paramquery); if ($project->move_to_project($_POST['project'])) { Common_IO::step_proceed($params, "Move Project", "Operation Successful", null); } else { Common_IO::step_proceed($params, "Move Project", "Operation Failed", null); } } } } } else { throw new ProjectSecurityAccessDeniedException(); } } else { throw new ProjectIDMissingException(); } }