# # # patch "downloads.php" # from [191de3aa8027579aa7cd28e19bbb9669abb2d731] # to [24ae2a1bc46378a172b9540f0ea957435206536e] # # patch "res/styles.css" # from [c7e4ea0eca7f8437eeb0432457562123a688c7a3] # to [1e47aca026a150190bfa6672bd71a35d60e58d91] # ============================================================ --- downloads.php 191de3aa8027579aa7cd28e19bbb9669abb2d731 +++ downloads.php 24ae2a1bc46378a172b9540f0ea957435206536e @@ -15,41 +15,77 @@ $releaseDirs = scandir($basedir, 1); $webdir = "/downloads"; $basedir = dirname(__FILE__) . "/downloads"; $releaseDirs = scandir($basedir, 1); -$latestFiles = array_flip(array_keys($matchers)); -$matchedPlatforms = array(); -foreach ($releaseDirs as $dir) +function getLatestFiles() { - if (!is_dir("$basedir/$dir") || $dir == "." || $dir == "..") - continue; + global $matchers, $webdir, $basedir, $releaseDirs; - if (count($matchedPlatforms) == count($matchers)) - break; + $latestFiles = array(); + $matchedPlatforms = array(); - $files = scandir("$basedir/$dir", 1); - $release = $dir; - $newlyMatchedPlatforms = array(); + foreach ($releaseDirs as $dir) + { + if (!is_dir("$basedir/$dir") || $dir == "." || $dir == "..") + continue; - foreach ($files as $file) - { - foreach ($matchers as $platform => $matcher) + // a little optimization + if (count($matchedPlatforms) == count($matchers)) + break; + + $files = scandir("$basedir/$dir", 1); + $release = $dir; + $newlyMatchedPlatforms = array(); + + foreach ($files as $file) { - - if (preg_match(str_replace("%version%", $release, $matcher), $file) && - !in_array($platform, $matchedPlatforms)) + foreach ($matchers as $platform => $matcher) { - if (!is_array($latestFiles[$platform])) + if (preg_match(str_replace("%version%", $release, $matcher), $file) && + !in_array($platform, $matchedPlatforms)) { - $latestFiles[$platform] = array(); + if (!isset($latestFiles[$platform])) + { + $latestFiles[$platform] = array(); + } + $latestFiles[$platform][] = "$release/$file"; + $newlyMatchedPlatforms[] = $platform; } - $latestFiles[$platform][] = "$release/$file"; - $newlyMatchedPlatforms[] = $platform; } } + $matchedPlatforms = array_merge($matchedPlatforms, $newlyMatchedPlatforms); } - $matchedPlatforms = array_merge($matchedPlatforms, $newlyMatchedPlatforms); + + return $latestFiles; } +function getAllFiles($platform) +{ + global $matchers, $webdir, $basedir, $releaseDirs; + + $matcher = $matchers[$platform]; + $allFiles = array(); + + foreach ($releaseDirs as $dir) + { + if (!is_dir("$basedir/$dir") || $dir == "." || $dir == "..") + continue; + + $files = scandir("$basedir/$dir", 1); + $release = $dir; + + foreach ($files as $file) + { + if (preg_match(str_replace("%version%", $release, $matcher), $file)) + { + $allFiles[] = "$release/$file"; + } + } + } + + rsort($allFiles); + return $allFiles; +} + $page_title = "Downloads"; require_once("header.inc.php"); @@ -58,7 +94,17 @@ require_once("header.inc.php");

Latest monotone downloads by platform

- +

No files found

- $name
- » more packages for $release + $name ($size, SHA1 $sha1)
+ » all packages for this platform END; endforeach; endforeach; ?>
+ +

No files found

+ +
$platform +END; + foreach ($allFiles as $file): + $name = basename($file); + $release = dirname($file); + $size = round(filesize("$basedir/$file") / (1024*1024), 2)."MB"; + $sha1 = sha1_file("$basedir/$file"); + echo << + $name ($size, SHA1 $sha1)
+ +END; + endforeach; + ?>
+ +

« back to overview

+ +