summaryrefslogtreecommitdiffstats
path: root/test_index.php
diff options
context:
space:
mode:
Diffstat (limited to 'test_index.php')
-rw-r--r--test_index.php103
1 files changed, 11 insertions, 92 deletions
diff --git a/test_index.php b/test_index.php
index 40a523b..7bf0ccd 100644
--- a/test_index.php
+++ b/test_index.php
@@ -47,101 +47,20 @@ $date_gen = date('c');
$matches = get_submitted_packages($upload_dir);
-// next block: INPUT: $matches, $_GET['package'] if set
-
-$pkgs = array();
-$hosts = array();
-
-$buildtime_total = array();
-$build_dates = array();
-
-foreach ($matches as $val) {
-
- if (isset($_GET['user']) && ($_GET['user'] != $val[7])) {
- continue;
- }
- $key = $val[6] . $val[7];
- if (!is_array($pkgs[$key])) {
-
- $pkgs[$key] = array(
- 'status' => array(),
- 'path' => $val[2],
- 'version' => $val[3],
- 'media' => $val[4],
- 'section' => $val[5],
- 'user' => $val[7],
- 'host' => $val[8],
- 'job' => $val[9]
- );
- }
- $status = $val[1];
- $data = $val[10];
- if (preg_match("/@(\d+):/", $data, $revision)) {
- $pkgs[$key]['revision'] = $revision[1];
- }
-
- $pkgs[$key]['status'][$status] = 1;
- $ext = $val[11];
-
- if ($ext == '.src.rpm.info') {
- preg_match("!^(?:@\d+:)?(.*)!", $data, $name);
- $pkgs[$key]['package'] = $name[1];
- } else if ($ext == '.src.rpm') {
- $pkgs[$key]['status']['src'] = 1;
- } else if ($ext == '.upload') {
- $pkgs[$key]['status']['upload'] = 1;
- } else if ($ext == '.lock') {
- preg_match("!(.*)\.iurt\.(.*)\.\d+\.\d+!", $data, $buildhost);
- if (!$hosts[$buildhost[2]]) {
- $hosts[$buildhost[2]]= array();
- }
- $hosts[$buildhost[2]][$buildhost[1]] = $key;
- if ($pkgs[$key]['status']['build']) {
- array_push($pkgs[$key]['status']['build'], $buildhost[2]);
- } else {
- $pkgs[$key]['status']['build'] = array($buildhost[2]);
- }
- } else if ($ext == '.done') {
- // beware! this block is called twice for a given $key
-
- $pkgs[$key]['buildtime']['start'] = key2timestamp($val[6]);
- $pkgs[$key]['buildtime']['end'] = round($val[12]);
- $pkgs[$key]['buildtime']['diff'] = $pkgs[$key]['buildtime']['end'] - $pkgs[$key]['buildtime']['start'];
-
- @$build_dates[date('H', $pkgs[$key]['buildtime']['start'])] += 1;
-
- // keep obviously dubious values out of there
- // 12 hours is be an acceptable threshold given current BS global perfs
- // as of April 2011
- if ($pkgs[$key]['buildtime']['diff'] < 43200) {
- $buildtime_total[$key] = $pkgs[$key]['buildtime']['diff'];
- }
- }
-}
-
-// filter packages if a package name was provided
-if (isset($_GET['package'])) {
- foreach ($pkgs as $key => $pkg) {
- preg_match("/^(.*)-[^-]*-[^-]*$/", $pkg['package'], $name);
- if ($_GET['package'] != $name[1]) {
- unset($pkgs[$key]);
- }
- }
-}
-
-// sort by key in reverse order to have more recent pkgs first
-krsort($pkgs);
-ksort($build_dates);
-
-$build_count = count($buildtime_total);
-$buildtime_total = array_sum($buildtime_total);
-
-// above block. OUTPUT: $pkgs, $build_dates, $buildtime_total, $hosts
+list($pkgs, $hosts, $build_dates, $buildtime_total) = get_refined_packages_list(
+ $matches,
+ isset($_GET['package']) ? $_GET['package'] : null
+ isset($_GET['user']) ? $_GET['user'] : null
+);
list($stats, $users, $total, $pkgs) = build_stats($pkgs);
-$last_pkg = (isset($_GET['last']) && $total > 0) ? reset($pkgs) : null;
-publish_stats_headers($stats, $buildtime_total, $build_count, $last_pkg);
+publish_stats_headers(
+ $stats,
+ $buildtime_total,
+ $build_count,
+ (isset($_GET['last']) && $total > 0) ? reset($pkgs) : null
+);
?>
<!DOCTYPE html>