<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include("_projectCommon.php");    # All on the same line to unclutter the user's desktop'

	#*****************************************************************************
	#
	# index.php
	#
	# Author: 		Denis Roy
	# Date:			2005-10-11
	#
	# Description: Main eclipse.org page
	#
	#****************************************************************************

	#
	# Begin: page-specific settings.  Change these.
	$pageTitle 		= "Eclipse.org home";
	$pageKeywords	= "eclipse,project,plug-ins,plugins,java,ide,swt,refactoring,free java ide,tools,platform,open source,development environment,development,ide";
	$pageAuthor		= "Eclipse Foundation, Inc.";

	# Add page-specific Nav bars here
	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank)
	# $Nav->addCustomNav("My Link", "mypage.php", "_self");
	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank");

	# End: page-specific settings
	#

	# Place your html content in a file called content/en_pagename.php
	include("content/en_" . $App->getScriptName());


	# Generate the web page
	// Date in the past
	header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
	// always modified
	header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
	// HTTP/1.1
	header("cache-Control: no-store, no-cache, must-revalidate");
	header("cache-Control: post-check=0, pre-check=0", false);
	// HTTP/1.0
	header("Pragma: no-cache");

	$App->PageRSS = "//feeds.feedburner.com/eclipse/fnews";
	$App->PageRSSTitle = "Eclipse Foundation News";
	$html = mb_convert_encoding($html, "HTML-ENTITIES", 'auto');
	$App->Promotion = TRUE;
	$App->setjQueryVersion('1.5.1');
	$App->AddExtraHtmlHeader('<script type="text/javascript" src="/home/scripts/jquery.carousel.min.js"></script>');
	$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="/home/content/nova.css?abc"/>');
	$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="/home/content/10years.css"/>');
	$App->AddExtraHtmlHeader('<!--[if IE 6]><link rel="stylesheet" type="text/css" href="/home/content/ie6_nova.css" media="screen"/><![endif]-->');
	$App->AddExtraHtmlHeader('<!--[if IE 7]><link rel="stylesheet" type="text/css" href="/home/content/ie7_nova.css" media="screen"/><![endif]-->');
	$App->generatePage("Nova", $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>