[Mageia-sysadm] [283] use single quotes when possible; build string before echo()ing them

root at mageia.org root at mageia.org
Thu Jan 13 15:19:51 CET 2011


Revision: 283
Author:   rda
Date:     2011-01-13 15:19:51 +0100 (Thu, 13 Jan 2011)
Log Message:
-----------
use single quotes when possible; build string before echo()ing them

Modified Paths:
--------------
    build_system/web/index.php

Modified: build_system/web/index.php
===================================================================
--- build_system/web/index.php	2011-01-13 13:53:06 UTC (rev 282)
+++ build_system/web/index.php	2011-01-13 14:19:51 UTC (rev 283)
@@ -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 = '<a href="http://mageia.org/">Mageia</a> build system status';
+$tz = new DateTimeZone('UTC');
 
 # Temporary until initial mirror is ready
 chdir("data");
@@ -30,40 +30,100 @@
 
 $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";
+}
 ?>
 <html lang="en">
 <head>
@@ -101,51 +161,11 @@
     <h1><?php echo $title ?></h1>
 
 <?php
-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";
-}
 
-function plural($num) {
-    if ($num > 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(
     '<p><a href="%s">%d src.rpm</a> rebuilt for Mageia out of <a href="%s">%d</a>
-    (<a href="%s">List of Mandriva packages still present</a>).</p>',
+    (<a href="%s">list of Mandriva packages still present</a>).</p>',
 
     'data/src.mga.txt', $nb_rpm_mga,
     'data/src.txt', $nb_rpm,
@@ -156,30 +176,43 @@
 echo '<table>',
     '<tr><th>Submitted</th><th>User</th><th>Package</th><th>Target</th><th>Media</th><th colspan="2">Status</th></tr>';
 
+$s = '';
+$tmpl = <<<T
+<tr class="%s">
+    <td>%s</td>
+    <td><a href="?user=%s">%s</a></td>
+    <td>%s</td>
+    <td>%s</td>
+    <td>%s/%s</td>
+    <td class="status-box"></td>
+T;
 foreach ($pkgs as $key => $p) {
-    $p["type"] = pkg_gettype($p);
-    echo "<tr class=" . $p["type"] . ">\n";
-    echo "<td>" . key2date($key) . "</td>\n";
-    echo "<td><a href='?user=" . $p["user"] . "'>" . $p["user"] . "</a></td>\n";
-    echo "<td>" . $p["package"] . "</td>\n";
-    echo "<td>" . $p["version"] . "</td>\n";
-    echo "<td>" . $p["media"] . "/" . $p["section"] . "</td>\n";
-    echo "<td class='status-box' />\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 "<td>";
-    if ($typelink)
-        echo "<a href='$typelink'>";
-    echo $p["type"];
-    if ($typelink)
-        echo "</a>";
-    echo "</td>\n";
-    echo "</tr>\n";
+
+    $s .= '<td>';
+    $s .= ($typelink != '') ?
+        sprintf('<a href="%s">%s</a>', $typelink, $p['type']) :
+        $p['type'];
+
+    $s .= '</td></tr>';
 }
+echo $s;
 ?>
 </table>
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/mageia-sysadm/attachments/20110113/6ee0e965/attachment-0001.html>


More information about the Mageia-sysadm mailing list