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

	#*****************************************************************************
	#
	# downloads.php
	#
	# Author: 		Igor Vinnykov
	# Date:			2007-11-16
	#
	# Description: Primary download page
	#
	#
	#****************************************************************************
	
	#
	# Begin: page-specific settings.  Change these. 
	$pageTitle 		= "Eclipse Subversive - IP Log";
	$pageKeywords	= "Subversive, Subversion, SVN, Team Provider IP Log";
	$pageAuthor		= "Igor Vinnykov";
	
	# Paste your HTML content between the EOHTML markers!	
	$html = <<<EOHTML

<STYLE TYPE="text/css">
table {
	border-collapse: collapse;
}
td {
	border: 0px;
	padding: 0px;
}
.datatable tr {
	vertical-align: top;
}
.datatable td {
	border: 1px solid #666699;
	padding: 3px 10px 3px 10px;	
}
.datatable th {
	white-space: nowrap;
	text-align: left;
	background-color: #666699;
	color: #FFFFFF;
	font-weight: bold;
	border: 1px solid #666699;	
	padding: 3px 10px 3px 10px;
}
</STYLE>	
	
	<div id="midcolumn">
		<table width="100%" cellpadding="0" cellspacing="0" border="0">
			<tr>
				<td width="100%">
					<h1>Subversive IP Log</h1>				
				</td>
			</tr>
			<tr>
				<td>
					<h2>Committers</h2>				
				</td>
			</tr>			
			<tr>
				<td>
					<strong>Active Committers</strong>				
				</td>
			</tr>			
			<tr>
				<td>
					<table class="datatable" cellpadding="0" cellspacing="0">
						<tr>
							<th>Committer name</th>
							<th>Unix login name</th>
							<th>Active since</th>
							<th>Organization</th>
						</tr>
						<tr>
							<td>Alexei Goncharov</td>
							<td>agoncharo</td>
							<td>December 2007</td>
							<td>Polarion Software</td>			
						</tr>
						<tr>
							<td>Alexander Gurov</td>
							<td>agurov</td>
							<td>Initial committer</td>				
							<td>Polarion Software</td>			
						</tr>			
						<tr>
							<td>Sergiy Logvin</td>
							<td>slogvin</td>
							<td>Initial committer</td>				
							<td>Polarion Software</td>			
						</tr>			
						<tr>
							<td>Igor Vinnykov</td>
							<td>ivinnykov</td>
							<td>Initial committer</td>				
							<td>Polarion Software</td>			
						</tr>			
					</table>				
				</td>
			</tr>
			<tr>
				<td>
					<br/>				
					<strong>Initial Code Contribution</strong>				
				</td>
			</tr>			
			<tr>
				<td>
					<table class="datatable" cellpadding="0" cellspacing="0">
						<tr>
							<th>Name including version</th>
							<th>IPZilla #</th>
							<th>State</th>
							<th>Location</th>
							<th>License</th>
							<th>Usage</th>
						</tr>
						<tr>
							<td>Initial code contribution</td>
							<td><a href="http://dev.eclipse.org/ipzilla/show_bug.cgi?id=1542">1542</a></td>
							<td>approved_all_projects</td>
							<td>/trunk</td>
							<td>EPL</td>				
							<td>Initial code contribution</td>
						</tr>			
					</table>				
				</td>
			</tr>			
			<tr>
				<td>
					<br/>				
					<strong>Inactive Committers</strong>				
				</td>
			</tr>
			<tr>
				<td>
					<table class="datatable" cellpadding="0" cellspacing="0">
						<tr>
							<th>Committer name</th>
							<th>Unix login name</th>
							<th>Inactive since</th>
						</tr>
						<tr>
							<td>Michal Dobisek</td>
							<td>mdobisek</td>
							<td>May 2007</td>
						</tr>
						<tr>
							<td>Alexey Mikoyan</td>
							<td>amikoyan</td>
							<td>March 2007</td>				
						</tr>			
					</table>				
				</td>
			</tr>
			<tr>
				<td>
					<br/>
					<br/>				
					<h2>Contributors</h2>				
				</td>
			</tr>
			<tr>
				<td>
					<table class="datatable" cellpadding="0" cellspacing="0">
						<tr>
							<th>Bug #</th>
							<th>Contributor's name</th>
							<th>Contribution size</th>
							<th>Committer</th>
							<th>Description</th>
						</tr>
						<tr>
							<td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=210272">210272</a></td>
							<td nowrap>Alexei Goncharov</td>
							<td>Small</td>
							<td nowrap>Alexander Gurov</td>
							<td>Compare after refactoring problems</td>				
						</tr>
						<tr>
							<td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=210387">210387</a></td>
							<td nowrap>Alexei Goncharov</td>
							<td>Small</td>
							<td nowrap>Alexander Gurov</td>
							<td>Error while representing the remote content of the folder with incorrect externals property</td>				
						</tr>
						<tr>
							<td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=210797">210797</a></td>
							<td nowrap>Alexei Goncharov</td>
							<td>Small</td>
							<td nowrap>Alexander Gurov</td>
							<td>Spellchecking support in Commit dialog and Add/edit commit template is absent</td>				
						</tr>						
					</table>				
				</td>
			</tr>
			<tr>
				<td>
					<br/>
					<br/>
					<h2>Third Party Software</h2>				
				</td>
			</tr>																		
			<tr>
				<td>
					There are no third party software dependencies
				</td>
			</tr>	
			<tr>
				<td>
					<br/>
					<br/>				
				</td>
			</tr>		
		</table>
	</div>	

	<div id="rightcolumn">
        $sidebar		
	</div>

EOHTML;


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