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

    $pageTitle       = "Downloading Photran - Archived Releases";
    $pageKeywords    = "photran, download";
    $pageAuthor      = "Jeffrey Overbey";
    
    # Paste your HTML content between the EOHTML markers!    
    $html = <<<EOHTML

<div id="maincontent">
  <div id="midcolumn">
    <h1>$pageTitle</h1>

    <div class="homeitem3col">
      <b>IMPORTANT:</b> These are <b>old</b> builds of Photran and are
      made available for archival purposes only.  They are <i>unsupported</i>
      and have bugs that are not present in the current release.  Please
      use the <a href="download.php">current release</a> for production work.
    </div>

    <div class="homeitem3col">
      <h3>Photran 8.2</h3>

      <p>Photran 8.2 was released as part of the Eclipse Luna release train, along with <a target="_blank" href="http://wiki.eclipse.org/PTP/release_notes/8.0">PTP 8.0</a>.
      Eclipse 4.4 (Luna) was released on June 25, 2014.
      A list of new features is available in the <a target="_blank" href="http://wiki.eclipse.org/PTP/new_and_noteworthy/8.0.0#Fortran_.28Photran.29">New &amp; Noteworthy</a>,
      and comprehensive <a target="_blank" href="http://wiki.eclipse.org/PTP/photran/documentation">documentation</a>
      is available.
      
      <p><b>Photran 8.2 requires Eclipse 4.4 (Kepler) and CDT 8.4.</b>

      <ul>
         <li>If you have not installed Photran before, or if you run into any problems during installation, please read the
             <a href="http://wiki.eclipse.org/PTP/photran/documentation/photran8installation">installation instructions</a>.
         <li>If you are familiar with the installation procedure, Photran can be installed from the Eclipse Luna update site:<br>
             <b>http://download.eclipse.org/releases/luna</b>
      </ul>
    </div>

    <div class="homeitem3col">
      <h3>Photran 7.0</h3>

      <p>Photran 7.0 was released as part of the Eclipse Indigo release train, along with <a target="_blank" href="http://wiki.eclipse.org/PTP/release_notes/5.0">PTP 5.0</a>.
      Eclipse 3.6 (Indigo) was released on June 23, 2010.
      A list of new features is available in the <a target="_blank" href="http://wiki.eclipse.org/PTP/new_and_noteworthy/5.0.0#Photran">New &amp; Noteworthy</a>,
      and comprehensive <a target="_blank" href="http://wiki.eclipse.org/PTP/photran/documentation">documentation</a>
      is available.
      
      <p><b>Photran 7 requires Eclipse 3.7 (Indigo) and CDT 8.0.</b>

      <ul>
         <li>If you have not installed Photran before, or if you run into any problems during installation, please read the
             <a href="http://wiki.eclipse.org/PTP/photran/documentation/photran7installation">installation instructions</a>.
         <li>If you are familiar with the installation procedure, Photran can be installed from the Eclipse Indigo update site:<br>
             <b>http://download.eclipse.org/releases/indigo</b>
      </ul>
    </div>
    		
    <div class="homeitem3col">
      <h3>Photran 6.0</h3>

      <p>Photran 6.0 was released as part of the Eclipse Helios release train, along with <a target="_blank" href="http://wiki.eclipse.org/PTP/release_notes/4.0">PTP 4.0</a>,
      on June 23, 2010.
      A list of new features is available in the <a target="_blank" href="http://wiki.eclipse.org/PTP/new_and_noteworthy/4.0.0#Photran">New &amp; Noteworthy</a>,
      and comprehensive <a target="_blank" href="http://wiki.eclipse.org/PTP/photran/documentation">documentation</a>
      is available.
      
      <p><b>Photran 6 requires Eclipse 3.6 (Helios) and CDT 7.0.</b>

      <ul>
         <li>If you have not installed Photran before, or if you run into any problems during installation, please read the
             <a href="http://wiki.eclipse.org/PTP/photran/documentation/photran6#Installing_Photran">installation instructions</a>
             from the Photran User's Guide.</a>
         <li>If you are familiar with the installation procedure, Photran can be installed from the Eclipse Helios update site:<br>
             <b>http://download.eclipse.org/releases/helios</b>
      </ul>
    </div>
    
    <div class="homeitem3col">
      <h3>Photran 5.0</h3>

      <p>Photran 5.0 was released alongside <a target="_blank" href="http://wiki.eclipse.org/PTP/release_notes/3.0">PTP 3.0</a> on December 5, 2009, and requires Eclipse 3.5 (Galileo) and CDT 6.0.
      A list of new features is available in the <a target="_blank" href="http://wiki.eclipse.org/PTP/new_and_noteworthy/3.0.0#Photran">New &amp; Noteworthy</a>,
      and comprehensive <a target="_blank" href="http://wiki.eclipse.org/PTP/photran/documentation">documentation</a>
      is available.

      <ul>
         <li>If you have not installed Photran before, or if you run into any problems during installation, please read the
             <a href="http://wiki.eclipse.org/PTP/photran/documentation/photran5#Installing_Photran">installation instructions</a>
             from the Photran User's Guide.</a>
         <li>If you are familiar with the installation procedure, Photran is installed from the remote update site<br>
             <b>http://download.eclipse.org/tools/ptp/releases/galileo</b>
      </ul>
    </div>

    <div class="homeitem3col">
      <h3>Photran 5.0 Prereleases</h3>
      
      <p>Prerelease builds of Photran 5.0 are available from
      <a href="http://wiki.eclipse.org/PTP/builds/photran/5.0.0">http://wiki.eclipse.org/PTP/builds/photran/5.0.0</a>
    </div>
    
    <div class="homeitem3col">
      <h3>Photran 4.0 and Earlier: Versions and System Requirements</h3>
      
      <p>Versions of Photran up to and including 4.0 beta 3
      are available in two flavors.
      Regardless of which one you install, you will need to have a
      <span style="font-family: monospace;">make</span>
      utility and a Fortran compiler in your system path in order to compile
      and build Fortran programs.</p>
      <ol>
        <li>The <span style="font-style: italic;">full version</span>
        contains the Eclipse Platform with CDT and Photran, including
        Fortran refactoring support.
        Simply decompress the downloaded file, then run the included
        <span style="font-family: monospace;">eclipse</span>
        executable.  A Java 1.5 JVM is required.
        <li>The <span style="font-style: italic;">Photran feature</span>
        can be added to an existing Eclipse installation,
        <span style="font-style: italic;">as long as CDT is already
        installed.</span>
        <li>For version 4.0, a Photran feature without program analysis and refactoring support
        is also available.  This will run on a Java 1.4 JVM, but the Rename
        and Introduce Implicit None refactorings will not be available,
        Open Declaration will not work, and less information will be
        available in the Outline view.
      </ol>
    </div>
    
    <div class="homeitem3col">
      <h3>Photran 4.0 Beta 3 for Eclipse 3.3.1.1 and CDT 4.0.1</h3>
      
      <h4>Full Versions</h4>
      <ul>
         <li>     <a
 href="http://archive.eclipse.org/photran/photran-4.0-beta3-incubation-full-linux.tgz">Full
Photran for Linux/GTK</a>
         <li>     <a
 href="http://archive.eclipse.org/photran/photran-4.0-beta3-incubation-full-linux-x86_64.tgz">Full
Photran for Linux/GTK x86_64</a>
         <li>     <a
 href="http://archive.eclipse.org/photran/photran-4.0-beta3-incubation-full-win32.zip">Full
Photran for Windows</a>
         <li>     <a
 href="http://archive.eclipse.org/photran/photran-4.0-beta3-incubation-full-solaris.zip">Full
Photran for Solaris</a>
         <li>     <a
 href="http://archive.eclipse.org/photran/photran-4.0-beta3-incubation-full-macosx.tgz">Full
Photran for Mac OS X 10.4</a>
      </ul>
      
      <h4><small>&nbsp;<br></small>Eclipse Features</h4>
      <ul>
         <li>     <a
 href="http://archive.eclipse.org/photran/photran-4.0-beta3-incubation.zip">Photran
Feature (Complete)</a> (requires Eclipse 3.3, CDT 4.0, and Java 1.5)
         <li>     <small><a
 href="http://archive.eclipse.org/photran/photran-novpg-4.0-beta3-incubation.zip">Photran
Feature <i>Without</i> Analysis &amp; Refactoring</a> (for Java 1.4)</small>
      </ul>
    </div>

    <div class="homeitem3col">
      <h3>Photran 4.0 Beta 2 for Eclipse 3.3.1 and CDT 4.0.1</h3>
      
      <h4>Full Versions</h4>
      <ul>
         <li>     <a
 href="http://archive.eclipse.org/photran/photran-4.0-beta2-full-linux.tgz">Full
Photran for Linux/GTK</a>
         <li>     <a
 href="http://archive.eclipse.org/photran/photran-4.0-beta2-full-linux-x86_64.tgz">Full
Photran for Linux/GTK x86_64</a>
         <li>     <a
 href="http://archive.eclipse.org/photran/photran-4.0-beta2-full-win32.zip">Full
Photran for Windows</a>
         <li>     <a
 href="http://archive.eclipse.org/photran/photran-4.0-beta2-full-solaris.zip">Full
Photran for Solaris</a>
         <li>     <a
 href="http://archive.eclipse.org/photran/photran-4.0-beta2-full-macosx.tgz">Full
Photran for Mac OS X 10.4</a>
      </ul>
      
      <h4><small>&nbsp;<br></small>Eclipse Features</h4>
      <ul>
         <li>     <a
 href="http://archive.eclipse.org/photran/photran-4.0-beta2.zip">Photran
Feature (Complete)</a> (requires Eclipse 3.3.1, CDT 4.0.1, and Java 1.5)
         <li>     <small><a
 href="http://archive.eclipse.org/photran/photran-novpg-4.0-beta2.zip">Photran
Feature <i>Without</i> Analysis &amp; Refactoring</a> (for Java 1.4)</small>
      </ul>
    </div>
    
    <div class="homeitem3col">
      <h3>Photran 4.0 Beta 1 for Eclipse 3.2.2 and CDT 3.1.2</h3>
      
      <h4>Full Versions</h4>
      <ul>
         <li>     <a
 href="http://archive.eclipse.org/photran/photran-4.0-beta1-full-linux.tgz">Full
Photran for Linux/GTK</a>
         <li>     <a
 href="http://archive.eclipse.org/photran/photran-4.0-beta1-full-linux-x86_64.tgz">Full
Photran for Linux/GTK x86_64</a>
         <li>     <a
 href="http://archive.eclipse.org/photran/photran-4.0-beta1-full-win32.zip">Full
Photran for Windows</a>
         <li>     <a
 href="http://archive.eclipse.org/photran/photran-4.0-beta1-full-solaris.zip">Full
Photran for Solaris</a>
         <li>     <a
 href="http://archive.eclipse.org/photran/photran-4.0-beta1-full-macosx.tgz">Full
Photran for Mac OS X 10.4</a>
      </ul>
      
      <h4><small>&nbsp;<br></small>Eclipse Features</h4>
      <ul>
         <li>     <a
 href="http://archive.eclipse.org/photran/photran-4.0-beta1.zip">Photran
Feature</a> (requires Eclipse 3.2 and CDT 3.1)
         <li>     <a
 href="http://archive.eclipse.org/photran/photran-refactoring-4.0-beta1.zip">Refactoring
Feature</a> (add-on for Photran 4.0)
      </ul>
    </div>

    <div class="homeitem3col">
      <h3>Photran 3.1 Beta 2 for Eclipse 3.1 and CDT 3.1.1</h3>
      <p><i>A &quot;full release&quot; of Photran 3.1 was never
      released; Photran 3.1 Beta 2 was followed immediately by
      Photran 4.0 Beta 1.</i></p>
      <p>Photran 3.1 is available in two flavors.</p>
      <ol>
        <li>The <span style="font-style: italic;">full
version</span>
contains the Eclipse Platform 3.2 with Photran 3.1 and CDT 3.1.1
preinstalled.
Simply decompress the downloaded file, then run the included <span
 style="font-family: monospace;">eclipse</span>
executable.</li>
        <li>The <span style="font-style: italic;">Photran
feature</span> can be added to an existing Eclipse 3.2
installation, <span style="font-style: italic;">as long
as CDT 3.1.1 is already installed.</span></li>
      </ol>
      <p>In either case, you will need to have a <span
 style="font-family: monospace;">make</span>
utility and Fortran compiler in your system path in order to compile
and build
Fortran programs.</p>
      <center>
      <table style="background-color: rgb(221, 221, 221);"
 border="0" cellpadding="2" cellspacing="1">
        <tbody>
          <tr>
            <td width="100%">
            <table style="width: 100%;" border="1"
 cellpadding="10" cellspacing="0">
              <tbody>
                <tr>
                  <td style="width: 100%; white-space: nowrap;"><b>&bull;
                  <a
 href="http://archive.eclipse.org/photran/photran-3.1-beta2.zip">Photran
Feature&nbsp;3.1 Beta 2</a></b><br>
&nbsp;&nbsp;&nbsp;(requires Eclipse 3.2 and CDT 3.1.1)
                  <hr style="width: 100%; height: 2px;">
                  <p><b>&bull; <a
 href="http://archive.eclipse.org/photran/photran-3.1-beta2-full-linux.tgz">Full
Photran 3.1 Beta 2
for Linux/GTK</a></b> </p>
                  <p><b>&bull; <a
 href="http://archive.eclipse.org/photran/photran-3.1-beta2-full-linux-x86_64.tgz">Full
Photran 3.1 Beta 2
for Linux/GTK x86_64</a></b> </p>
                  <p><b>&bull; <a
 href="http://archive.eclipse.org/photran/photran-3.1-beta2-full-linux-ia64.tgz">Full
Photran 3.1 Beta 2
for Linux/GTK IA64</a></b> </p>
                  <p><b>&bull; <a
 href="http://archive.eclipse.org/photran/photran-3.1-beta2-full-win32.zip">Full
Photran 3.1 Beta 2
for Windows</a></b> </p>
                  <p><b>&bull; <a
 href="http://archive.eclipse.org/photran/photran-3.1-beta2-full-solaris.zip">Full
Photran 3.1 Beta 2
for Solaris</a></b> </p>
                  <p><b>&bull; <a
 href="http://archive.eclipse.org/photran/photran-3.1-beta2-full-macosx.tgz">Full
Photran 3.1 Beta 2
for Mac OS X 10.4</a><br>
                  </b></p>
                  </td>
                </tr>
              </tbody>
            </table>
            </td>
          </tr>
        </tbody>
      </table>
      </center>
    </div>

    <div class="homeitem3col">
      <h3>Photran 3.0 for Eclipse 3.1</h3>
      <p><b>Important.</b> Photran 3.0 includes
a modified version of CDT 3.0 which has been extended to support
Fortran. You <span style="font-style: italic;">must</span>
use the supplied version of CDT; installing an
ordinary CDT 3.0 release will break Photran. (This problem will be
eliminated in a few months as we are working with the CDT team to
integrate our multi-language extensions into the CDT proper.)</p>
      <p><span style="font-style: italic;">The current 3.1
beta (above)
fixes a number of bugs present in the 3.0 release. &nbsp;If you are
having problems with Photran 3.0, please try the current beta before
posting to the mailing list or entering a bug in Bugzilla.
&nbsp;Thanks.</span></p>
      <center>
      <table style="background-color: rgb(221, 221, 221);"
 border="0" cellpadding="2" cellspacing="1">
        <tbody>
          <tr>
            <td width="100%">
            <table style="width: 100%;" border="1"
 cellpadding="10" cellspacing="0">
              <tbody>
                <tr>
                  <td style="width: 100%; white-space: nowrap;"><b>&bull;
                  <a
 href="http://archive.eclipse.org/photran/photran-3.0.0-bundle.msi">Photran
3.0.0
Windows Bundle</a></b><br>
&nbsp;&nbsp;&nbsp;(includes Photran, g95, gdb, GNU make)
                  <p><b>&bull; <a
 href="http://archive.eclipse.org/photran/photran-3.0.0-full-linux.tgz">Full
Photran 3.0.0
for Linux/GTK</a></b> </p>
                  <p><b>&bull; <a
 href="http://archive.eclipse.org/photran/photran-3.0.0-full-linux-x86_64.tgz">Full
Photran 3.0.0
for Linux/GTK x86_64</a></b> </p>
                  <p><b>&bull; <a
 href="http://archive.eclipse.org/photran/photran-3.0.0-full-win32.zip">Full
Photran 3.0.0
for Windows</a></b> </p>
                  <p><b>&bull; <a
 href="http://archive.eclipse.org/photran/photran-3.0.0-full-solaris.zip">Full
Photran 3.0.0
for Solaris</a></b> </p>
                  <p><b>&bull; <a
 href="http://archive.eclipse.org/photran/photran-3.0.0-full-macosx.tgz">Full
Photran 3.0.0
for Mac OS X 10.3</a><br>
                  </b></p>
                  </td>
                </tr>
              </tbody>
            </table>
          </tr>
        </tbody>
      </table>
      </center>
    </div>

    <div class="homeitem3col">
      <h3>Photran 2.1 for Eclipse 3.0</h3>
      <p><b>Important.</b>Photran 2.1 cannot be installed alongside CDT; a separate Eclipse installation is required.</p>
      <center>
      <table style="background-color: rgb(221, 221, 221);"
 border="0" cellpadding="2" cellspacing="1">
        <tbody>
          <tr>
            <td width="100%">
            <table style="width: 100%;" border="1"
 cellpadding="10" cellspacing="0">
              <tbody>
                <tr>
                  <td style="width: 100%; white-space: nowrap;"><b>&bull;
                  <a
 href="http://archive.eclipse.org/photran/photran-2.1.0-full-linux.tgz">Full
Photran 2.1.0
for Linux/GTK</a></b>
                  <p><b>&bull; <a
 href="http://archive.eclipse.org/photran/photran-2.1.0-full-win32.zip">Full
Photran 2.1.0
for Windows</a></b> </p>
                  <p><b>&bull; <a
 href="http://archive.eclipse.org/photran/photran-2.1.0-full-solaris.tgz">Full
Photran 2.1.0
for Solaris</a></b> </p>
                  <p><b>&bull; <a
 href="http://archive.eclipse.org/photran/photran-2.1.0-full-macosx.tgz">Full
Photran 2.1.0
for Mac OS X 10.3</a><br>
                  </b></p>
                  <hr style="width: 100%; height: 2px;">
                  <p><b>&bull; <a
 href="http://archive.eclipse.org/photran/photran-2.1.0.zip">Photran
Feature 2.1.0
for Eclipse 3.0.1</a></b></p>
                  </td>
                </tr>
              </tbody>
            </table>
            </td>
          </tr>
        </tbody>
      </table>
      </center>
    </div>

  </div>
  <div id="rightcolumn">
    <!--div class="sideitem">
      <h6>Incubation</h6>
      <div align="center">
        <a href="/projects/what-is-incubation.php">
          <img align="center" src="/images/egg-incubation.png" border="0" alt="Incubation" />
        </a>
      </div>
   </div-->

  </div>
</div>    
EOHTML;

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