<?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'

	$pageTitle 		= "Project Dash Leaders";
	$pageKeywords	= "";
	$pageAuthor		= "";
	
	include( $_SERVER['DOCUMENT_ROOT']."/org/foundation/scripts/staff_xml.php" );
	$leaders_as_html = "";
	$staff = & get_staff();
	foreach ($staff as $member) {
	    if( $member->name == "Ward Cunningham"
	     || $member->name == "Bjorn Freeman-Benson" ) {
			$member->to_html($leaders_as_html);
		}
	}
	
	$staff = get_staff_as_html();
	
	# Paste your HTML content between the EOHTML markers!	
	$html = <<<EOHTML

	<div id="midcolumn">
		<div class="homeitem3col">
			<h3>Project Dash Leaders</h3>
			<ul class="midlist">
			$leaders_as_html
			</ul>
		</div>
	</div>

EOHTML;

	# Generate the web page
	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>
