From 7f2a6f5d8e5b38b0cb36154c0995b21ac84c5bf3 Mon Sep 17 00:00:00 2001 From: Romain d'Alverny Date: Thu, 13 Jan 2011 14:19:51 +0000 Subject: use single quotes when possible; build string before echo()ing them --- index.php | 203 ++++++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 118 insertions(+), 85 deletions(-) (limited to 'index.php') diff --git a/index.php b/index.php index 6a7bc3e..0e270fa 100644 --- a/index.php +++ b/index.php @@ -10,10 +10,10 @@ error_reporting(E_ALL); -$upload_dir = "/home/schedbot/uploads"; +$upload_dir = '/home/schedbot/uploads'; $max_modified = 2; -$title = "Mageia build system status"; -$tz = new DateTimeZone("UTC"); +$title = 'Mageia build system status'; +$tz = new DateTimeZone('UTC'); # Temporary until initial mirror is ready chdir("data"); @@ -30,40 +30,100 @@ preg_match_all("!^\./(\w+)/((\w+)/(\w+)/(\w+)/(\d+)\.(\w+)\.(\w+)\.(\d+))_?(.+)( $pkgs = array(); foreach ($matches as $val) { - if ($_GET["user"] && ($_GET["user"] != $val[7])) { - continue; + + if ($_GET['user'] && ($_GET['user'] != $val[7])) { + continue; } $key = $val[6] . $val[7]; if (!is_array($pkgs[$key])) { - $pkgs[$key] = array(); - $pkgs[$key]["status"] = array(); - $pkgs[$key]["path"] = $val[2]; - $pkgs[$key]["version"] = $val[3]; - $pkgs[$key]["media"] = $val[4]; - $pkgs[$key]["section"] = $val[5]; - $pkgs[$key]["user"] = $val[7]; - $pkgs[$key]["host"] = $val[8]; - $pkgs[$key]["job"] = $val[9]; + + $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]; - $pkgs[$key]["status"][$status] = 1; + $pkgs[$key]['status'][$status] = 1; $ext = $val[11]; - if ($ext == ".src.rpm.info") { + if ($ext == '.src.rpm.info') { preg_match("!^(?:@\d+:)?(.*)!", $data, $name); - $pkgs[$key]["package"] = $name[1]; - } else if ($ext == ".src") { - $pkgs[$key]["status"]["src"] = 1; - } else if ($ext == ".youri") { - $pkgs[$key]["status"]["youri"] = 1; - } else if ($ext == ".lock") { + $pkgs[$key]['package'] = $name[1]; + } else if ($ext == '.src') { + $pkgs[$key]['status']['src'] = 1; + } else if ($ext == '.youri') { + $pkgs[$key]['status']['youri'] = 1; + } else if ($ext == '.lock') { // parse build bot from $data - $pkgs[$key]["status"]["build"] = 1; + $pkgs[$key]['status']['build'] = 1; } } // sort by key in reverse order to have more recent pkgs first krsort($pkgs); + +/** + * @param array $pkg + * + * @return string +*/ +function pkg_gettype($pkg) { + if (array_key_exists("rejected", $pkg["status"])) + return "rejected"; + if (array_key_exists("youri", $pkg["status"])) { + if (array_key_exists("src", $pkg["status"])) + return "youri"; + else + return "uploaded"; + } + if (array_key_exists("failure", $pkg["status"])) + return "failure"; + if (array_key_exists("done", $pkg["status"])) + return "partial"; + if (array_key_exists("build", $pkg["status"])) + return "building"; + if (array_key_exists("todo", $pkg["status"])) + return "todo"; + return "unknown"; +} + +/** + * @param integer $num + * + * @return string +*/ +function plural($num) { + if ($num > 1) + return "s"; +} + +/** + * @param string $key + * + * @return string +*/ +function key2date($key) { + global $tz; + $date = DateTime::createFromFormat("YmdHis", $key+0, $tz); + $diff = time() - $date->getTimestamp(); + if ($diff<60) + return $diff . " second" . plural($diff) . " ago"; + $diff = round($diff/60); + if ($diff<60) + return $diff . " minute" . plural($diff) . " ago"; + $diff = round($diff/60); + if ($diff<24) + return $diff . " hour" . plural($diff) . " ago"; + $diff = round($diff/24); + + return $diff . " day" . plural($diff) . " ago"; +} ?> @@ -101,51 +161,11 @@ krsort($pkgs);

1) - return "s"; -} - -function key2date($key) { - global $tz; - $date = DateTime::createFromFormat("YmdHis", $key+0, $tz); - $diff = time() - $date->getTimestamp(); - if ($diff<60) - return $diff . " second" . plural($diff) . " ago"; - $diff = round($diff/60); - if ($diff<60) - return $diff . " minute" . plural($diff) . " ago"; - $diff = round($diff/60); - if ($diff<24) - return $diff . " hour" . plural($diff) . " ago"; - $diff = round($diff/24); - return $diff . " day" . plural($diff) . " ago"; -} # Temporary until initial mirror is ready echo sprintf( '

%d src.rpm rebuilt for Mageia out of %d - (List of Mandriva packages still present).

', + (list of Mandriva packages still present).

', 'data/src.mga.txt', $nb_rpm_mga, 'data/src.txt', $nb_rpm, @@ -156,30 +176,43 @@ echo sprintf( echo '', ''; +$s = ''; +$tmpl = << + + + + + + +T; foreach ($pkgs as $key => $p) { - $p["type"] = pkg_gettype($p); - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; + + $s .= ''; } +echo $s; ?>
SubmittedUserPackageTargetMediaStatus
%s%s%s%s%s/%s
" . key2date($key) . "" . $p["user"] . "" . $p["package"] . "" . $p["version"] . "" . $p["media"] . "/" . $p["section"] . "\n"; - $typelink = ""; - if ($p["type"] == "failure") { - $typelink = "/uploads/" . $p["type"] . "/" . $p["path"]; - } else if ($p["type"] == "rejected") { - $typelink = "/uploads/" . $p["type"] . "/" . $p["path"] . ".youri"; + $p['type'] = pkg_gettype($p); + + $s .= sprintf($tmpl, + $p['type'], + key2date($key), + $p['user'], $p['user'], + $p['package'], + $p['version'], + $p['media'], $p['section'] + ); + + $typelink = ''; + if ($p['type'] == 'failure') { + $typelink = '/uploads/' . $p['type'] . '/' . $p['path']; + } elseif ($p['type'] == 'rejected') { + $typelink = '/uploads/' . $p['type'] . '/' . $p['path'] . '.youri'; } - echo ""; - if ($typelink) - echo ""; - echo $p["type"]; - if ($typelink) - echo ""; - echo "
'; + $s .= ($typelink != '') ? + sprintf('%s', $typelink, $p['type']) : + $p['type']; + + $s .= '
-- cgit v1.2.1