<?php
/*******************************************************************************
 * Copyright (c) 2011 Eclipse Foundation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    Wayne Beaton (Eclipse Foundation)- initial API and implementation
 *******************************************************************************/
$theme = "Nova";
$App->Promotion = TRUE;

$App->AddExtraHtmlHeader("<style>#midcolumn {background-image:url(/images/draft.gif);background-size:100%}</style>");

$Nav->addNavSeparator("Security", 'index.php');
$Nav->addCustomNav("Email the Security Team", "mailto:security@eclipse.org", "_self", 2);
$Nav->addCustomNav("Policy", "policy.php", "_self", 2);
$Nav->addCustomNav("Known Vulnerabilities", "known.php", "_self", 2);
$Nav->addNavSeparator("Projects", "/projects");
$Nav->addCustomNav("List of Projects", "/projects/listofprojects.php", "_self", 2);
$Nav->addCustomNav("Project Tools", "/projects/tools", "_self", 2);

$Nav->setHTMLBlock("<div style=\"border:solid;border-width:1px;border-color:gray;margin:5px;margin-top:15px;padding:5px\">This is a draft site. Please add your input on <a href=\"https://bugs.eclipse.org/bugs/show_bug.cgi?id=337004\">Bug 337004</a></div>");
?>