<?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       = "Photran Internals";
    $pageKeywords    = "photran, contributing, internals";
    $pageAuthor      = "Jeffrey Overbey";
    
    # Paste your HTML content between the EOHTML markers!    
    $html = <<<EOHTML

<div id="maincontent">
  <div id="midcolumn">
    <h1>$pageTitle</h1>
    
    <p>Photran is an open source project.  We welcome code contributions (and research
    collaborations) from others.  Here are some starting points...</p>

    <div class="homeitem3col">
      <h3>Photran Developer Resources</h3>
      <ul>
        <!--li><a href="newcontributors.php">Suggestions for New Contributors</a></li-->
        <li><big><b>Photran Developer's Guide</b></big></a> (PDF)
            <ul>
              <li><a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.ptp/photran/org.eclipse.photran-dev-docs/dev-guide/dev-guide-general.pdf?cvsroot=Tools_Project">Part
                  I: General Information</a> &nbsp;&nbsp; <font color="red">&lt;&lt;&lt;&lt; Read This!</font></li>
              <li><a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.ptp/photran/org.eclipse.photran-dev-docs/dev-guide/dev-guide-specialized.pdf?cvsroot=Tools_Project">Part
                  II: Specialized Topics</a></li>
              <li>Excerpts:
                  <ul>
                    <li><a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.ptp/photran/org.eclipse.photran-dev-docs/dev-guide/cvs-instructions.pdf?cvsroot=Tools_Project">How
                        to Check Out Photran from CVS and Compile It</a></li>
                    <li><a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.ptp/photran/org.eclipse.photran-dev-docs/dev-guide/images/photran_architecture.pdf?cvsroot=Tools_Project">Photran
                        Architecture Diagram (PDF)</a></li>
                  </ul></li>
            </ul></li>
        <li><a href="https://dev.eclipse.org/mailman/listinfo/photran-dev">Contributor
            Mailing List (photran-dev)</a></li>
        <li><a href="https://bugs.eclipse.org/bugs/buglist.cgi?priority=P1;priority=P2;priority=P3;priority=P4;priority=P5;columnlist=bug_severity%2Cpriority%2Cop_sys%2Cassigned_to%2Cbug_status%2Ctarget_milestone%2Cshort_desc;classification=Tools;query_format=advanced;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;component=Photran.Debugger%20%26%20Console%20View;component=Photran.Documentation;component=Photran.Editor%20%26%20Outline%20View;component=Photran.For%20Internal%20Use;component=Photran.Managed%20Make;component=Photran.Problems%20View%20%26%20Error%20Markers;component=Photran.Refactoring%20Engine;component=Photran.Unknown;component=Photran.Windows%20Installer%20%28.msi%20package%29;product=PTP">Open
            Bugs</a></li>
        <li><a href="http://wiki.eclipse.org/PTP/photran/refactorings">Refactorings Planned/Implemented</a></li>
        <li><a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.ptp/photran/?cvsroot=Tools_Project">View
            Current Sources in CVS (Web Interface)</a></li>
        <li><a href="http://dev.eclipse.org/newslists/news.eclipse.technology.photran/maillist.html"><font color="#808080">Archive
            of Now-Defunct Photran Newsgroup</font></a></li>
      </ul>
    </div>
    
    <!--div class="homeitem3col">
      <h3>Eclipse Foundation Resources</h3>
      <ul>
        <li><a href="https://dev.eclipse.org/committers/">Committer Login</a></li>
        <li><a href="http://www.eclipse.org/articles/Article-UI-Guidelines/Index.html">Eclipse User Interface Guidelines</a></li>
        <li><a href="http://dev.eclipse.org/conventions.html">Eclipse Naming, Coding, and JavaDoc Conventions</a></li>
        <li><a href="http://www.eclipse.org/tools/docs/project-guide.html">Eclipse.org Infrastructure&nbsp;for Tools Projects</a></li>
        <li><a href="http://www.eclipse.org/legal/newcommitter.php">New Committer Form</a></li>
      </ul>
    </div-->

  </div>
</div>    
EOHTML;

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