<?php
/*******************************************************************************
 * Copyright (c) 2014 Eclipse Foundation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    Anne Haugommard (Atos) - Initial implementation
 *    Antonio Campesino (Atos) - Adding compatible releases and milestones
 *******************************************************************************/
	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());	
	$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="/gendoc/public/css/pages.css" media="screen"/><link rel="shortcut icon" href="/gendoc/public/images/favicon.ico" />');
#	$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="styles.css"/>' . "\n\t");
#	$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="_styles.css"/>' . "\n\t");

  $variables['hide_breadcrumbs'] = true;
  $App->setThemeVariables($variables);

	
	#### Project dependant variables ####
	$projectTitle = "Gendoc";
	$pageTitle = "Gendoc";
	$pageAuthor = "Anne Haugommard";
	$pageKeywords = "Gendoc, downloads, release";

	
$html = <<<EOHTML
			<div id="midcolumn">
			<h3>Releases</h3>
			
	  <ul class="fa-ul hidden-print"> 
        <li> <i class="fa fa-angle-double-right orange fa-fw"></i><a href="http://download.eclipse.org/gendoc/updates/releases/0.7.0">Gendoc v0.7.0 </a> ( or download as <a href="http://www.eclipse.org/downloads/download.php?file=/gendoc/releases/0.7.0/org.eclipse.gendoc.incubation.update-site-0.6.0.zip">archive</a>)
			<ul>
				<li><a href='https://projects.eclipse.org/projects/modeling.gendoc/releases/0.7.0/bugs'>Release content</a></li>
			</ul>
		</li>
      </ul>   	
	  <ul class="fa-ul hidden-print"> 
        <li> <i class="fa fa-angle-double-right orange fa-fw"></i><a href="http://download.eclipse.org/gendoc/updates/releases/0.6.0">Gendoc v0.6.0 </a> ( or download as <a href="http://www.eclipse.org/downloads/download.php?file=/gendoc/releases/0.6.0/org.eclipse.gendoc.incubation.update-site-0.6.0.zip">archive</a>)
			<ul>
				<li><a href='https://projects.eclipse.org/projects/modeling.gendoc/releases/0.6.0/bugs'>Release content</a></li>
			</ul>
		</li>
      </ul>   	
      <ul class="fa-ul hidden-print"> 
        <li> <i class="fa fa-angle-double-right orange fa-fw"></i><a href="http://download.eclipse.org/gendoc/updates/releases/0.5.0/">Gendoc v0.5.1 </a>update site ( or download as <a href="http://www.eclipse.org/downloads/download.php?file=/gendoc/releases/0.5.1/org.eclipse.gendoc.incubation.update-site-0.5.1.zip">archive</a>)</li>
        </li>
      </ul>   
	  
	  <ul class="fa-ul hidden-print"> 
        <li> <i class="fa fa-angle-double-right orange fa-fw"></i><a href="http://download.eclipse.org/gendoc/updates/releases/0.5.1-juno/">Gendoc v0.5.1-juno </a>update site ( or download as <a href="http://www.eclipse.org/downloads/download.php?file=/gendoc/releases/0.5.1-juno/org.eclipse.gendoc.incubation.update-site-0.5.1-juno.zip">archive</a>)</li>
			<ul>
			<li> Compatibility with Capella 1.0.2 </li> 
			<li class="bugzilla-record bugzilla-Normal bugzilla-fixed bugzilla-resolved"><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=496192">496192</a> Provide a juno update site <span>[resolved/fixed]</span></li>
			</ul>
		</li>
      </ul>   
			<ul class="fa-ul hidden-print"> 
        <li> <i class="fa fa-angle-double-right orange fa-fw"></i>Gendoc v0.5.0 </a>update site ( download as <a href="http://www.eclipse.org/downloads/download.php?file=/gendoc/releases/0.5/org.eclipse.gendoc.incubation.update-site-0.5.0.zip">archive</a>)</li>
        </li>
      </ul>      
	  See how to add a new update site to your Eclipse installation <a href='http://help.eclipse.org/juno/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/tasks-127.htm'>on Eclipse Help page </a>.
   
      <!--h3>Milestones Releases</h3>
	  <ul class="fa-ul hidden-print"> 
        <li> <i class="fa fa-angle-double-right orange fa-fw"></i><a href="http://download.eclipse.org/gendoc/updates/releases/0.7.0/oxygen">Gendoc v0.7.0-M2</a> ( or download as <a href="http://www.eclipse.org/downloads/download.php?file=/gendoc/releases/0.7.0/oxygen/org.eclipse.gendoc.incubation.update-site-0.7.0-oxygen.zip">archive</a>)
			<ul>
				<li><a href='https://projects.eclipse.org/projects/modeling.gendoc/releases/0.7.0/bugs'>Release content</a></li>
			</ul>
		</li>
      </ul-->   	
      
      <h3>Older Eclipse Platform  Compatible Releases</h3>
	     Gendoc releases and update site for older eclipse releases:
	  <ul class="fa-ul hidden-print"> 
        <li><i class="fa fa-angle-double-right orange fa-fw"></i><b>Neon:</b> <a href="http://download.eclipse.org/gendoc/updates/releases/0.7.0/neon">Gendoc v0.7.0</a> 
        	( or download as <a href="http://www.eclipse.org/downloads/download.php?file=/gendoc/releases/0.7.0/neon/org.eclipse.gendoc.incubation.update-site-0.7.0-neon.zip">archive</a>) (Capella 1.2.x)
			<ul>
				<li>Compatibility with <b>Papyrus 2.0.x</b></li> 
				<li>Compatibility with <b>Sirius 5.1.x / Capella 1.2.x</b></li> 
			</ul>
		</li>
        <li><i class="fa fa-angle-double-right orange fa-fw"></i><b>Mars:</b> <a href="http://download.eclipse.org/gendoc/updates/releases/0.7.0/mars">Gendoc v0.7.0</a> 
        	( or download as <a href="http://www.eclipse.org/downloads/download.php?file=/gendoc/releases/0.7.0/mars/org.eclipse.gendoc.incubation.update-site-0.7.0-mars.zip">archive</a>) (Capella 1.1.x)
			<ul>
				<li>Compatibility with <b>Papyrus 1.1.x</b></li> 
				<li>Compatibility with <b>Sirius 4.1.x / Capella 1.1.x</b></li> 
			</ul>
		</li>
        <li><i class="fa fa-angle-double-right orange fa-fw"></i><b>Juno:</b> <a href="http://download.eclipse.org/gendoc/updates/releases/0.7.0/juno">Gendoc v0.7.0</a> 
        	( or download as <a href="http://www.eclipse.org/downloads/download.php?file=/gendoc/releases/0.7.0/juno/org.eclipse.gendoc.incubation.update-site-0.7.0-juno.zip">archive</a>) (Capella 1.0.x)
			<ul>
				<li>Compatibility with <b>Papyrus 0.9.2</b></li> 
				<li>Compatibility with <b>Sirius 3.1.x / Capella 1.0.x</b></li> 
			</ul>
		</li>
	  </ul>
	  
      <h3>Latest nightly build</h3>
			Gendoc update site from latest nightly build is available at the following URL : 
	  <ul class="fa-ul hidden-print"> 
        <li><i class="fa fa-angle-double-right orange fa-fw"></i><b>Oxygen</b>: <b>http://download.eclipse.org/gendoc/updates/nightly/latest</b></li>
	  </ul>
			Gendoc update site from latest nightly build for <b>older Eclipse</b> releases:
	  <ul class="fa-ul hidden-print"> 
        <li><i class="fa fa-angle-double-right orange fa-fw"></i><b>Neon</b>: <b>http://download.eclipse.org/gendoc/updates/nightly/latest/neon</b></li>
        <li><i class="fa fa-angle-double-right orange fa-fw"></i><b>Mars</b>: <b>http://download.eclipse.org/gendoc/updates/nightly/latest/mars</b></li>
        <li><i class="fa fa-angle-double-right orange fa-fw"></i><b>Juno</b>: <b>http://download.eclipse.org/gendoc/updates/nightly/latest/juno</b></li>
	  </ul>

	  </div>
      
      <div id="rightcolumn">				                  
        <div style="height:100px">				 				                  
        </div>				                  
        <div class="sideitem">					                      
          <h6><center>Incubation Phase</center>                      
          </h6>					                      
          <center>					                          
            <a href="http://www.eclipse.org/projects/what-is-incubation.php">					                              
              <img width="70" border="0" alt="Incubation" src="http://www.eclipse.org/images/egg-incubation.png">					</a>					                      
          </center>				                  
        </div>
      </div>	


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