<?php
/**
 * Copyright (c) 2015, 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:
 *   Nathan Gervais (Eclipse Foundation) - Initial implementation
 *   Eric Poirier (Eclipse Foundation)
 *
 * SPDX-License-Identifier: EPL-2.0
 */

// Set the theme for your project's web pages.
// See the Committer Tools "How Do I" for list of themes
// https://dev.eclipse.org/committers/
// Optional: defaults to system theme

$App->Promotion = FALSE;

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