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

	#*****************************************************************************
	#
	# template.php
	#
	# Author: 		Igor Vinnykov
	# Date:			2007-11-23
	#
	# Description: Autogenerated for eclipse.org site pages from Eclipse IDE help
	#
	#
	#****************************************************************************
	
	#
	# Begin: page-specific settings.  Change these. 
	$pageTitle 		= "Eclipse Subversive - Documentation";
	$pageKeywords	= "Subversive, Subversion, SVN, Team Provider, documentation, user guid";
	$pageAuthor		= "Igor Vinnykov";
		
	# Paste your HTML content between the EOHTML markers!	
	$html = <<<EOHTML

	<div id="midcolumn" style="width:95%">

<h3>Special thanks</h3>
	<p>Subversive Team really appreciates the help done by the community members, who provided us patches for Subversive.</p>
	<table border="1" cellpadding="5" cellspacing="0" width="100%" bgcolor="EFEFEF">
		<tr>
			<td widht="33%" align="left" valign="center">Sergey Vasilchenko</td>
			<td widht="33%" align="left" valign="center">Panagiotis Korros</td>
			<td align="left" valign="center">Tobias Bosch</td>
		</tr>
		<tr>
			<td widht="33%" align="left" valign="center">Alessandro Nistico</td>
			<td widht="33%" align="left" valign="center">Ken Geis</td>
			<td align="left" valign="center">Dann Martens</td>
		</tr>
		<tr>
			<td widht="33%" align="left" valign="center">Takashi Okamoto</td>
			<td widht="33%" align="left" valign="center">Pavel Zuev</td>
			<td align="left" valign="center">Rene Link</td>
		</tr>
		<tr>
			<td widht="33%" align="left" valign="center">Rob Clark</td>
			<td colspan="2"  widht="33%" align="left" valign="center">Zend Technologies Team</td>
		</tr>
	</table>
	<p>Thank you very much, you've done some kind of a wonderful work. And, of cause, we'd like to say a lot of kind words to all the people, who sent there  bug reports and  tips for improvements. Thank you all.</p>
	<br/>
	<br/>
	</div>	

EOHTML;


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