<?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       = "Mailing Lists";
    $pageKeywords    = "photran, mailing lists, listserv, e-mail";
    $pageAuthor      = "Jeffrey Overbey";

    #require_once($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php");
    #$projectInfo = new ProjectInfo("photran");
    
    # Paste your HTML content between the EOHTML markers!    
    $html = <<<EOHTML
<div id="maincontent">
  <div id="midcolumn">
    <h1>$pageTitle</h1>
    
      <p><span style="font-weight: bold;">Photran.</span>
&nbsp;There is a general, medium-volume <span
 style="font-style: italic;">photran</span> mailing
list suitable for discussion, questions, comments, etc.
      <ul>
        <li><a
 href="https://dev.eclipse.org/mailman/listinfo/photran">subscribe/unsubscribe</a></li>
        <li><a
 href="http://dev.eclipse.org/mhonarc/lists/photran/maillist.html">view
archives</a></li>
      </ul></p>
      <!--p><span style="font-weight: bold;">Photran-announce.</span>
&nbsp;New releases will be announced on the very low volume <span
 style="font-style: italic;">photran-announce</span>
list.
      <ul>
        <li><a
 href="https://dev.eclipse.org/mailman/listinfo/photran-announce">subscribe/unsubscribe</a></li>
        <li><a
 href="http://dev.eclipse.org/mhonarc/lists/photran-announce/maillist.html">view
archives</a></li>
      </ul></p-->
      <p><span style="font-weight: bold;">PTP-announce.</span>
&nbsp;Since Photran is a component of the Parallel Tools Platform,
new releases are announced on the very low volume <span
 style="font-style: italic;">ptp-announce</span>
list.
      <ul>
        <li><a
 href="https://dev.eclipse.org/mailman/listinfo/ptp-announce">subscribe/unsubscribe</a></li>
        <li><a
 href="http://dev.eclipse.org/mhonarc/lists/ptp-announce/maillist.html">view
archives</a></li>
      </ul></p>

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