<?php
/* extra sidebar stuff appended at the bottom */
function sidebar()
{
	global $PR, $projct, $isBuildServer;

	if ($isBuildServer)
	{
	?>
	<div class="sideitem">
		<h6>Actions</h6>
		<ul>
		<?php if ($projct == "ocl") { ?>
			<li>MDT: <a href="/<?php print $PR; ?>/<?php print $projct; ?>/build/">Build</a>,
				 <a href="/<?php print $PR; ?>/<?php print $projct; ?>/build/clean.php">Clean</a>,
				 <a href="/<?php print $PR; ?>/<?php print $projct; ?>/build/promo.php">Promote</a></li>
			<li>QTV: <a href="/modeling/emf/query/build/">Build</a>,
					 <a href="/modeling/emf/query/build/promo.php">Promote</a></li>
		<?php } else { ?>
			<li><a href="/<?php print $PR; ?>/<?php print $projct; ?>/build/">Build</a>,
					 <a href="/<?php print $PR; ?>/<?php print $projct; ?>/build/promo.php">Promote</a></li>
		<?php } ?>
			<li><a href="/<?php print $PR; ?>/downloads/?project=<?php print $projct ? $projct : "uml2"; ?>&amp;showAll=0&amp;showMax=5&amp;sortBy=date">See Recent Builds</a></li>
		</ul>
	</div>

	<div class="sideitem">
		<h6>Info</h6>
		<ul>
			<li><a href="https://bugs.eclipse.org/bugs/buglist.cgi?product=MDT&amp;component=<?php echo $projct; ?>&amp;bug_status=ASSIGNED">Assigned Bugs</a></li>
			<li><a href="https://bugs.eclipse.org/bugs/buglist.cgi?product=MDT&amp;component=<?php echo $projct; ?>&amp;bug_status=RESOLVED&changedin=7">Resolved Bugs This Week</a></li>
			<li><a href="http://www.eclipse.org/modeling/mdt/searchcvs.php?q=branch%3A+HEAD+days%3A+7">Development This Week</a></li>
			<li><a href="http://www.eclipse.org/modeling/mdt/searchcvs.php?q=branch%3A+R+days%3A+7">Maintenance This Week</a></li>
			<!-- <li><a href="http://emf.torolab.ibm.com/<?php print $PR; ?>/downloads/downloads.php">Download Stats</a></li> -->
		</ul>
	</div>
	<?php
	}
}
?>
