<?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($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'

	#*****************************************************************************
	#
	# friends.php
	#
	# Author: 		Nathan Gervais
	# Date:			2009-05-21
	#
	# Description:  Galileo Friends Landing Page
	#
	#
	#****************************************************************************
	
	#
	# Begin: page-specific settings.  Change these. 
	$pageTitle 		= "Friends of Eclipse";
	$pageKeywords	= "Friends of Eclipse, Helios";
	$pageAuthor		= "Nathan Gervais";
	include('scripts/wantedFunctions.php');
	# Paste your HTML content between the EOHTML markers!	
	ob_start();
	?>
	<div id="fullcolumn"  class="clearfix">
		
		<h1>Thank you Friends of Helios!</h1>
		<div style="width:700px; margin;0px auto;">
		<p>A big thank you to all <b>487</b> of our Friends of Helios. The funds raised will be used to
		support the Eclipse community through services such as providing more bandwidth for users and
		committers, sponsoring Eclipse events around the world and purchasing additional hardware
		to host Eclipse projects. Your generousity is very much appreciated.  Helios wouldn't be the
		same without you!</p>
		</div>
		<div class="monolith">
			<?=sideDonorList(500, FALSE);?>
		</div>
	</div>
	<?
	$html = ob_get_clean();
	$html = mb_convert_encoding($html, "HTML-ENTITIES", 'auto');
	$App->AddExtraHtmlHeader('<link type="text/css" href="/helios/style.css" rel="stylesheet"/>');
	# Generate the web page
	$App->generatePage($theme, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>