| <?php |
| /* path, project's downloads path, downloads page path, includes path, and vanity name */ |
| $PR = substr($projDetails[0],1); |
| $projectDownloadsPath = $projDetails[0]; |
| $projectDownloadsPagePath = $projDetails[1]; |
| $projectIncludesPath = $projDetails[2]; |
| $projectName = $projDetails[3]; |
| |
| $isWWWserver = (preg_match("/^(?:www.|)eclipse.org$/", $_SERVER["SERVER_NAME"])); |
| $isBuildServer = preg_match("/^(build|emft).eclipse.org$/", $_SERVER["SERVER_NAME"]) || preg_match("/^emf(?:\.torolab\.ibm\.com)$/", $_SERVER["SERVER_NAME"]); |
| $doPhoenix = is_file($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); |
| |
| if ($isWWWserver || $doPhoenix) |
| { |
| 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(); |
| if (is_file($App->getProjectCommon())) |
| { |
| include ($App->getProjectCommon()); |
| } |
| $PWD = $App->getDownloadBasePath() . "/$PR/"; |
| $jdPWD = "http://download.eclipse.org/$PR/"; |
| } |
| else |
| { |
| if (is_dir("../../../../$PR/")) |
| { |
| $PWD = "../../../../$PR/"; // in a javadoc folder in the /modeling/mdt area |
| } |
| else |
| if (is_dir("../../../$PR/")) |
| { |
| $PWD = "../../../$PR/"; // in the web folder in /modeling/mdt/ |
| } |
| $jdPWD = $PWD; |
| } |
| |
| $subprojs = loadSubDirs($PWD, "(.+)"); |
| |
| // REDIRECT to latest version of javadoc for the specified path |
| if ($_GET["project"] && $_GET["page"]) |
| { |
| /* http://www.eclipse.org/modeling/emf/javadoc/?project=emf&page=org/eclipse/emf/ecore/package-summary.html&anchor=details |
| * http://www.eclipse.org/modeling/mdt/javadoc/?project=xsd&page=org/eclipse/xsd/package-summary.html&anchor=details */ |
| $vers = array (); |
| foreach ($subprojs as $projct) |
| { |
| if ($_GET["project"]==$projct) |
| { |
| $vers = loadSubDirs($PWD . $projct . "/javadoc", "(\d\.\d|\d\.\d\.\d+)"); |
| break; |
| } |
| } |
| if (sizeof($vers) > 0) |
| { |
| rsort($vers); |
| $redirect = "Location: " . $jdPWD . $projct . "/javadoc/" . $vers[0] . "/" . str_replace("//", "/", str_replace("..", "", $_GET["page"]) . "#" . $_GET["anchor"]); |
| //print $redirect; |
| header($redirect); |
| exit; |
| } |
| } |
| |
| if ($doPhoenix) |
| { |
| ob_start(); |
| } |
| else |
| { |
| print '<html>' . "\n" . |
| '<head>' . "\n" . |
| ' <title>' . $projectName . ' Javadoc</title>' . "\n" . |
| ' <link rel="stylesheet" type="text/css" href="http://' . ($isBuildServer ? $_SERVER["SERVER_NAME"] : "www.eclipse.org") . '/modeling/includes/downloads.css"/>' . "\n" . |
| '</head>' . "\n" . |
| '<body>' . "\n"; |
| } |
| |
| print '<div id="midcolumn"> |
| <div class="homeitem3col"> |
| <h3>' . $projectName . ' Javadoc</h3> |
| <ul> |
| '; |
| |
| $trans = array(); // flipped $projects array |
| if (sizeof($subprojs) > 0) |
| { |
| sort($subprojs); |
| reset($subprojs); |
| if (isset ($projects) && is_array($projects)) |
| { |
| $trans = array_flip($projects); |
| } |
| foreach ($subprojs as $subproj) |
| { |
| if (in_array($subproj, $projects)) |
| { |
| $label = $trans ? $trans[$subproj] : $subproj; |
| |
| $didprint = 0; |
| print '<li><b> ' . $label . '</b><a name="' . $subproj . '"></a>' . "\n"; |
| if ($PR == "modeling/mdt" && $subproj == "xsd") |
| { |
| $didprint = 1; |
| print '<ul><li><i><a href="/modeling/emf/javadoc/">See EMF Javadoc</a>.</i></li></ul>'; |
| } |
| else |
| { |
| $vers = loadSubDirs("$PWD$subproj/javadoc", ""); |
| rsort($vers); |
| reset($vers); |
| foreach ($vers as $ver) |
| { |
| if (preg_match("/[^0-9.]+/", $ver)) |
| { |
| $vers2 = loadSubDirs("$PWD$subproj/javadoc/" . $ver, ""); |
| rsort($vers2); |
| reset($vers2); |
| if (sizeof($vers2) > 0) |
| { |
| $didprint = 1; |
| print "<ul>\n"; |
| } |
| foreach ($vers2 as $ver2) |
| { |
| print '<li><a href="' . $jdPWD . $subproj . '/javadoc/' . $ver . '/' . $ver2 . '/">' . $ver . ' ' . $ver2 . '</a></li>' . "\n"; |
| } |
| if (sizeof($vers2) > 0) |
| { |
| print "</ul>\n"; |
| } |
| } |
| else |
| { |
| $didprint = 1; |
| print '<ul><li><a href="' . $jdPWD . $subproj . '/javadoc/' . $ver . '/">' . $subproj . ' ' . $ver . '</a></li></ul>' . "\n"; |
| } |
| } |
| if ($didprint == 0) |
| { |
| print "<ul><li><i>None available.</i></li></ul>"; |
| } |
| } |
| print '</li>' . "\n"; |
| } |
| } |
| } |
| else |
| { |
| print "<li>No javadoc found!</li>"; |
| } |
| print "</ul>\n"; |
| print "</div></div>\n"; |
| |
| $tprojs = loadSubDirs("../../", ".*"); |
| if ($tprojs && sizeof($tprojs) > 0) |
| { |
| sort($tprojs); reset($tprojs); |
| print "<div id=\"rightcolumn\">\n"; |
| print '<div class="sideitem">'."\n". "<h6>Online Javadoc</h6>"; |
| print '<ul>'."\n"; |
| foreach ($tprojs as $tproj) |
| { |
| $sprojs = loadSubDirs($PWD . "/../../modeling/" . $tproj, ".*"); |
| if ($sprojs && sizeof($sprojs) > 0 && is_dir("../../$tproj/javadoc/")) |
| { |
| print '<li><a href="/modeling/'.$tproj.'/javadoc/">' . strtoupper($tproj) . "</a></li>\n"; |
| sort($sprojs); reset($sprojs); |
| print '<ul>'."\n"; |
| foreach ($sprojs as $sproj) |
| { |
| if (is_dir($PWD . "/../../modeling/" . $tproj . "/" . $sproj . "/javadoc") && !is_link($PWD . "/../../modeling/" . $tproj . "/" . $sproj)) |
| { |
| print '<li><a href="/modeling/'.$tproj.'/javadoc/#' . $sproj . '">' . $sproj . "</a></li>\n"; |
| } |
| } |
| print '</ul>'."\n"; |
| } |
| } |
| print "</ul>\n"; |
| print "</div></div>\n"; |
| } |
| |
| if ($doPhoenix) |
| { |
| $html = ob_get_contents(); |
| ob_end_clean(); |
| |
| $pageTitle = "Modeling - " . ($projectName ? $projectName . " -" : "") . " Javadoc"; |
| $pageKeywords = ""; |
| $pageAuthor = "Nick Boldt"; |
| |
| $App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="http://' . ($isBuildServer ? $_SERVER["SERVER_NAME"] : "www.eclipse.org") . '/modeling/includes/downloads.css"/>' . "\n"); |
| $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html); |
| } |
| else |
| { |
| print "</body></html>\n"; |
| } |
| |
| function loadSubDirs($dir, $ext) |
| { |
| $stuff = array (); |
| |
| if (is_dir($dir) && is_readable($dir)) |
| { |
| $handle = opendir($dir); |
| while (($file = readdir($handle)) !== false) |
| { |
| if (preg_match("/$ext$/", $file) && !preg_match("/^\.{1,2}$/", $file) && is_dir("$dir/$file")) |
| { |
| $stuff[] = $file; |
| |
| } |
| } |
| closedir($handle); |
| } |
| |
| return $stuff; |
| } |
| ?> |