getProjectCommon()); # Begin: page-specific settings. Change these. $pageTitle = "Equinox Downloads"; $pageKeywords = "equinox, osgi, framework, runtime, download"; $pageAuthor = "Equinox committers"; include('dlconfig.php'); #echo ("DOCUMENT_ROOT: " . $_SERVER['DOCUMENT_ROOT']."
"); $aDirectory = dir("drops"); while ($anEntry = $aDirectory->read()) { // Short cut because we know aDirectory only contains other directories. if ($anEntry != "." && $anEntry!=".." && $anEntry!="TIME") { // do not count hidden directories in computation // allows non-hidden ones to still show up as "most recent" else will be blank. if (!file_exists("drops/".$anEntry."/buildHidden")) { $parts = explode("-", $anEntry); if (count($parts) == 3) { //$buckets[$parts[0]][] = $anEntry; $timePart = $parts[2]; $year = substr($timePart, 0, 4); $month = substr($timePart, 4, 2); $day = substr($timePart, 6, 2); $hour = substr($timePart,8,2); $minute = substr($timePart,10,2); // special logic adds 1 second if build id contains "RC" ... this was // added for the M build case, where there is an M build and and RC version that // have same time stamp. One second should not effect displayed values. $isRC = strpos($anEntry, "RC"); if ($isRC === false) { $timeStamp = mktime($hour, $minute, 0, $month, $day, $year); } else { $timeStamp = mktime($hour, $minute, 1, $month, $day, $year); } $buckets[$parts[0]][$timeStamp] = $anEntry; $timeStamps[$anEntry] = date("D, j M Y -- H:i (O)", $timeStamp); if (isset($latestTimeStamp) && array_key_exists($parts[0], $latestTimeStamp)) { if ($timeStamp > $latestTimeStamp[$parts[0]]) { $latestTimeStamp[$parts[0]] = $timeStamp; $latestFile[$parts[0]] = $anEntry; } } else { $latestTimeStamp[$parts[0]] = $timeStamp; $latestFile[$parts[0]] = $anEntry; } } if (count($parts) == 2) { $buildType=substr($parts[0],0,1); //$buckets[$buildType][] = $anEntry; $datePart = substr($parts[0],1); $timePart = $parts[1]; $year = substr($datePart, 0, 4); $month = substr($datePart, 4, 2); $day = substr($datePart, 6, 2); $hour = substr($timePart,0,2); $minute = substr($timePart,2,2); $isRC = strpos($anEntry, "RC"); if ($isRC === false) { $timeStamp = mktime($hour, $minute, 0, $month, $day, $year); } else { $timeStamp = mktime($hour, $minute, 1, $month, $day, $year); } $buckets[$buildType[0]][$timeStamp] = $anEntry; $timeStamps[$anEntry] = date("D, j M Y -- H:i (O)", $timeStamp); if (isset($latestTimeStamp) && array_key_exists($buildType,$latestTimeStamp)) { if ($timeStamp > $latestTimeStamp[$buildType]) { $latestTimeStamp[$buildType] = $timeStamp; $latestFile[$buildType] = $anEntry; } } else { $latestTimeStamp[$buildType] = $timeStamp; $latestFile[$buildType] = $anEntry; } } } } } $html = <<

$pageTitle

Older releases are available in the Equinox archived builds site.

Latest Builds

EOHTML; foreach($dropType as $value) { $prefix=$typeToPrefix[$value]; if (array_key_exists($prefix, $latestFile)) { $fileName = $latestFile[$prefix]; $parts = explode("-", $fileName); // Uncomment the line below if we need click through licenses. // echo ""; // Comment the line below if we need click through licenses. if (count($parts)==3) $html .= << EOHTML; if (count($parts)==2) $html .= << EOHTML; $html .= <<$value EOHTML; } } $html .= << EOHTML; foreach($dropType as $value) { $prefix=$typeToPrefix[$value]; $html .= <<$value
$parts[1]$parts[1]$fileName$timeStamps[$fileName]
EOHTML; if (array_key_exists($prefix,$buckets)) { $aBucket = $buckets[$prefix]; if (isset($aBucket)) { krsort($aBucket); foreach($aBucket as $innerValue) { $parts = explode("-", $innerValue); $html .= << EOHTML; // Uncomment the line below if we need click through licenses. // echo ""; // Comment the line below if we need click through licenses. if (count ($parts)==3) $html .= <<$parts[1] EOHTML; if (count ($parts)==2) $html .= <<$innerValue EOHTML; $html .= <<$timeStamps[$innerValue] EOHTML; } } } $html .= << EOHTML; } $html .= << EOHTML; generateRapPage( $App, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html ); ?>
$parts[1]