<?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());

#
# Begin: page-specific settings.  Change these. 
$pageTitle 	= "Henshin - Downloads";
$pageKeywords	= "EMF, Henshin, model transformation, Downloads";
$pageAuthor	= "Christian Krause";
	
# 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", 3);
# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank", 3);
# End: page-specific settings
#

#$release = "0.9.4";
#$qualifier = "R201211061446";
#$nightly = "0.9.5";

#$release = "0.9.6";
#$qualifier = "R201302280302";
#$nightly = "0.9.7";

#$release = "0.9.8";
#$qualifier = "R201305281500";
#$nightly = "0.9.9";

$release = "0.9.10";
$qualifier = "R201312010522";
$nightly = "0.9.11";

$drops = "http://www.eclipse.org/downloads/download.php?file=/modeling/emft/henshin/downloads/drops";
$html = <<<EOHTML

<div id="maincontent">
<div id="midcolumn">

<h1>$pageTitle</h1>

<p>
Downloading drops is currently not supported. Please use one of our
<a href="install.php">update sites</a> for installation.
</p>

<!--
<h2>Latest Stable Release</h2>
<p>
<table>
<tr>
<td>
<a href="$drops/$release/$qualifier/Henshin-SDK-Incubation-$release.zip"><img src="go-bottom.png"></a>
</td>
<td>
<a href="$drops/$release/$qualifier/Henshin-SDK-Incubation-$release.zip">Henshin SDK $release</a>
</td>
</tr>
</table>
</p>

<h2>Latest Nightly Build</h2>
<p>
<table>
<tr>
<td>
<a href="$drops/$nightly/N-SNAPSHOT/Henshin-SDK-Incubation-N-SNAPSHOT.zip"><img src="go-bottom.png"></a>
</td>
<td>
<a href="$drops/$nightly/N-SNAPSHOT/Henshin-SDK-Incubation-N-SNAPSHOT.zip">Henshin SDK $nightly SNAPSHOT</a>
</td>
</tr>
</table>
</p>
-->

</div>
</div>

EOHTML;

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

?>
