Exemple #1
0
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);
    }
}