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

	#*****************************************************************************
	#
	# sample_3col.php
	#
	# Author: 		Denis Roy
	# Date:			2005-11-07
	#
	# Description: Type your page comments here - these are not sent to the browser
	#
	#
	#****************************************************************************
	
	#
	# Begin: page-specific settings.  Change these. 
	$pageTitle 		= "Plug-in Catalogue";
	$pageKeywords	= "plug-ins, catalogue";
	$pageAuthor		= "Mike Milinkovich, Nov. 26, 2005";
	
	# Add page-specific Nav bars here
	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
	# $Nav->addNavSeparator("My Page Links", 	"downloads.php");
	# $Nav->addCustomNav("My Link", "mypage.php", "_self", 1);
	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank", 1);

	# End: page-specific settings
	#
		
	# Paste your HTML content between the EOHTML markers!	
	$html = <<<EOHTML

	<div id="midcolumn">
		<h1>$pageTitle</h1>
		<p>The Eclipse ecosystem makes available a wide variety of plug-ins to add function
		on top of the Eclipse Platform</p>
		<p>Don&rsquo;t forget to also look at the many <a href="pluginsites.php">community plug-in sites</a>
		that are out there!</p>
		<blockquote>
		<ul>
  			<li><a href="osplugins.php">Open source projects and plug-ins</a></li>
  			<li><a href="commercialplugins.php">Commercial projects and plug-ins</a></li>
  			<li><a href="team.php">Team repository providers</a></li>
		</ul>
		</blockquote>	
	</div>		
	<div id="rightcolumn">
		<div class="sideitem">
			<h6>Related Links</h6>
			<ul>
				<li><a href="pluginsites.php">Community Plug-in Sites</a></li>
				<li><a href="commercialplugins.php">Commercial Projects and Plug-ins</a></li>
				<li><a href="osplugins.php">Open Source Projects and Plug-ins</a></li>
				<li><a href="team.php">Team Repository providers</a></li>
			</ul>
		</div>
	</div>


EOHTML;


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