<?php
/**
 * Copyright (c) 2016, 2017, 2018 Eclipse Foundation and others.
 *
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 *
 * Contributors:
 *   Christopher Guindon (Eclipse Foundation) - Initial implementation
 *   Eric Poirier (Eclipse Foundation)
 *
 * SPDX-License-Identifier: EPL-2.0
 */

require_once ($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php");

$theme = NULL;

$Nav = new Nav();
$Nav->addNavSeparator("About Us", "/org/");
$Nav->addCustomNav("Annual Report", "/org/foundation/reports/annual_report.php", "_self", 1);
$Nav->addCustomNav("Foundation", "/org/foundation/", "_self", 1);
$Nav->addCustomNav("Governance", "/org/documents/", "_self", 1);
$Nav->addCustomNav("Legal Resources", "/legal/", "_self", 1);
$Nav->addCustomNav("Contact Us", "/org/foundation/contact.php", "_self", 1);

$Nav->addNavSeparator("ECA", "/legal/ECA.php");
$Nav->addCustomNav("Sign", "https://accounts.eclipse.org/user/eca", "_self", 1);
$Nav->addCustomNav("Validation Tool", "/contribute/cla", "_self", 1);

$Nav->addNavSeparator("EPL-2.0", "/legal/epl-2.0");
$Nav->addCustomNav("Plain HTML", "/org/documents/epl-2.0/EPL-2.0.html", "_self", 1);
$Nav->addCustomNav("Plain Text", "/org/documents/epl-2.0/EPL-2.0.txt", "_self", 1);
$Nav->addCustomNav("PDF", "/org/documents/epl-2.0/EPL-2.0.pdf", "_self", 1);
$Nav->addCustomNav("FAQ", "/legal/epl-2.0/faq.php", "_self", 1);

$Nav->addNavSeparator("EPL-1.0", "/org/documents/epl-v10.php");
$Nav->addCustomNav("Plain HTML", "/org/documents/epl-v10.html", "_self", 1);
$Nav->addCustomNav("Plain Text", "/org/documents/epl-1.0/EPL-1.0.txt", "_self", 1);
$Nav->addCustomNav("FAQ", "/legal/eplfaq.php", "_self", 1);

$Nav->addNavSeparator("Licenses", "/legal/licenses.php");
$Nav->addCustomNav("Approved 3rd Party", "/legal/licenses.php#approved", "_self", 1);
$Nav->addCustomNav("Non Approved", "/legal/licenses.php#nonapproved", "_self", 1);
$Nav->addCustomNav("Docs &amp; examples", "/legal/noncodelicenses.php", "_self", 1);
