<?php
/**
 * Copyright (c) 2005, 2018 Eclipse Foundation.
 *
 * 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:
 * Eric Poirier (Eclipse Foundation)
 */

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

$theme = NULL;
$App->Promotion = TRUE;

$Nav = new Nav();
$Nav->addNavSeparator("About Us", "index.php");
$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);
