function createFromXml() { global $url, $SITE_ROOT, $server, $root; $prj = new EcProject(); if (array_key_exists("xml", $_REQUEST) && $_REQUEST["xml"] != "") { $xmlFn = "ec/xml/{$_REQUEST["xml"]}"; $prj->parse(file_get_contents($xmlFn)); } elseif (array_key_exists("name", $_POST)) { $prj->name = $_POST["name"]; $prj->submission_id = strtolower($prj->name); } elseif (array_key_exists("raw_xml", $_POST)) { $prj->parse($_POST["raw_xml"]); } if (!$prj->name || $prj->name == "") { flash("No project name provided"); header("location: http://{$server}/{$root}/createProject.html"); } $prj->isListed = $_REQUEST["listed"] == "true"; $prj->isPublic = $_REQUEST["public"] == "true"; $prj->publicSubmission = true; $res = $prj->post(); if ($res !== true) { die($res); } $res = $prj->setManagers($_POST["managers"]); if ($res !== true) { die($res); } $res = $prj->setCurators($_POST["curators"]); if ($res !== true) { die($res); } // TODO : add submitter $prj->setProjectPermissions($submitters,1); if ($res === true) { $server = trim($_SERVER["HTTP_HOST"], "/"); $root = trim($SITE_ROOT, "/"); header("location: http://{$server}/{$root}/" . preg_replace("/create.*\$/", $prj->name, $url)); } else { $vals = array("error" => $res); echo applyTemplate("base.html", "error.html", $vals); } }