<?php
/**
 * Copyright (c) 2015, 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:
 *   Nathan Gervais (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");

$Nav = new Nav();
$Nav->addNavSeparator("Helios", "");
$Nav->addCustomNav("Download Now", "/downloads/packages/release/helios/sr2", "_self", 1);
$Nav->addCustomNav("Helios Projects", "/projects/releases/releases.php?release=helios", "_self", 1);
$Nav->addCustomNav("Blogathon", "/helios/blogathon/reviews.php", "_self", 1);
$Nav->addCustomNav("Virtual Conference", "/helios/heliosinaction.php", "_self", 1);
$Nav->addCustomNav("Friends of Helios", "/helios/friends.php", "_self", 1);
$Theme->setNav($Nav);

$App->Promotion = TRUE;

$App->setOutDated ( '2011-11-11', '<a href="https://projects.eclipse.org/releases/helios">Helios</a> is a past version of Eclipse. Please visit our <a href="/downloads/">download</a> page for the latest version of Eclipse. ' );
