]> git.pld-linux.org Git - projects/buildlogs.git/blobdiff - index.php
Space between words. Drop CVS id.
[projects/buildlogs.git] / index.php
index 8ccbd2339c6b8adf97fbe52bc6d5aa7c00671dcc..11558cdd43afdb0079b6bad379cc4e0a931def1e 100644 (file)
--- a/index.php
+++ b/index.php
@@ -1,15 +1,15 @@
 <?php
 ob_start("ob_gzhandler", 1);
 $buildlogs_server = "buildlogs.pld-linux.org";
-$url = "index2.php";
+$url = "index.php";
 $fail_or_ok = array( "FAIL", "OK" );
 /*
-$database = 'sqlite:/home/services/ftp/buildlogs.db';
+$database = 'sqlite:/home/services/ftp/buildlogs2.db';
 $root_directory = "/home/services/ftp/pub/pld-buildlogs";
 */
 
 // $database, $root_directory and others are taken from buildlogs.inc
-include('buildlogs2.inc');
+include('buildlogs.inc');
 
 /* It should be set */
 
@@ -53,6 +53,7 @@ if (isset($_POST["dist"])) $dist = basename($_POST["dist"]);
 if (isset($_POST["arch"])) $arch = basename($_POST["arch"]);
 
 if (isset($_GET["name"])) {
+  $name_url = urlencode($_GET["name"]);
        $name = basename($_GET["name"]);
 }
 if (isset($_GET["ok"]))$ok=(int)$_GET["ok"];
@@ -70,6 +71,9 @@ if (isset($_GET["id"]))$id=$_GET["id"];
 if (isset($_POST["str"]))$str=$_POST["str"];
 if (isset($_POST["action"]))$action=$_POST["action"];
 
+if ($arch == "src")
+       $arch = "SRPMS";
+
 function myheader()
 {
 echo '<' . '?xml version="1.0" encoding="' . _("ISO-8859-1") .'"?' . ">\n";
@@ -84,17 +88,31 @@ echo '<' . '?xml-stylesheet href="#internalStyle" type="text/css"?' . ">\n";
   <style type="text/css"><!--
 A { text-decoration: none; }
 A:hover { text-decoration: underline; }
-H1 { font-family: arial,helvetica,sans-serif; 
-     font-size: 20pt; 
+H1 { font-family: arial,helvetica,sans-serif;
+     font-size: 20pt;
      font-weight: bold;}
-H2 { font-family: arial,helvetica,sans-serif; 
-     font-size: 18pt; 
+H2 { font-family: arial,helvetica,sans-serif;
+     font-size: 18pt;
      font-weight: bold;}
-BODY,TD { font-family: arial,helvetica,sans-serif; 
+BODY,TD { font-family: arial,helvetica,sans-serif;
           font-size: 13pt; }
-TH { font-family: arial,helvetica,sans-serif; 
-     font-size: 13pt; 
+TH { font-family: arial,helvetica,sans-serif;
+     font-size: 13pt;
      font-weight: bold; }
+/* error lines from build logs */
+.error {
+       background-color: #b00;
+}
+.verbose {
+       color: #886;
+}
+.section {
+       color: #111;
+       background-color: #161;
+}
+.changelog a {
+       color: #fff;
+}
 //-->
 </style>
  </head>
@@ -108,7 +126,7 @@ TH { font-family: arial,helvetica,sans-serif;
 function start_pre()
 {
        echo "<table cellpadding=\"10\"><tr><td bgcolor=\"#000000\">".
-               "<font color=\"#cccccc\"><pre style=\"width: 2048px;overflow: scroll\">";
+               "<font color=\"#cccccc\"><pre style=\"white-space: pre-line; word-break: break-all;\">";
 }
 
 function end_pre()
@@ -174,7 +192,12 @@ function list_logs()
        $now = time();
        $i = $off;
        foreach ($dbh->query("$query") as $row) {
-               $f = $row["name"];
+    $name = $row["name"];
+    $id = $row["id"];
+    $dist = $row["dist"];
+    $arch = $row["arch"];
+               $f = $name;
+    $name_url = urlencode($name);
                $t = $now - $row["mtime"];
                $s = $row["size"];
                $h = $row["log_id"];
@@ -194,7 +217,7 @@ function list_logs()
                        $t = round($t);
                        $t = $t . "&nbsp;" . ngettext("minute","minutes",$t);
                }
-               $u = "$url?dist=$dist&amp;arch=$arch&amp;ok=$ok&amp;name=$name&amp;id=$id";
+               $u = "$url?dist=$dist&amp;arch=$arch&amp;ok=$ok&amp;name=$name_url&amp;id=$id";
                echo "<tr><td bgcolor=\"#CCCCCC\" align=\"right\">".($i+1).".</td>".
                     "<td bgcolor=\"#CCCCCC\"><a href=\"$u\">$f</a> ".
                     "[<a href=\"$u&amp;action=text\">"._("text")."</a> | ".
@@ -246,7 +269,7 @@ function list_logs()
 
 function file_name()
 {
-       global $ok, $dist, $arch, $name, $id;
+       global $ok, $dist, $arch, $name, $name_url, $id;
 
        if (isset($name) && isset($ok) && isset($arch) && isset($dist)) {
                if (isset($id) && $id != '') {
@@ -259,7 +282,7 @@ function file_name()
 
 function dump_log($tail)
 {
-       global $ok, $url, $dist, $arch;
+       global $ok, $url, $dist, $arch, $name, $name_url;
        global $root_directory, $big_url, $ns, $id, $cnt, $off;
        global $buildlogs_server;
 
@@ -270,10 +293,15 @@ function dump_log($tail)
 
        $df = preg_replace("/.*\/([^\/]*)$/", "\\1", $f);
        $df = preg_replace("/\.(bz2|gz)$/", "", $df);
+       list($name, $id) = explode(',', $df);
 
-       echo "<h1>$df</h1>";
+       if ($name != 'command') {
+               $gitweb_url = "http://git.pld-linux.org/?p=packages/$name.git;a=summary";
+               $name = "<a href=\"$gitweb_url\">$name</a>";
+       }
+       echo "<h1>$name <small>$id</small></h1>";
 
-       echo "<table border=\"0\" cellpadding=\"3\" cellspacing=\"1\" bgcolor=\"#000000\">";
+       echo "<table border=\"0\" cellpadding=\"3\" cellspacing=\"1\" bgcolor=\"#000000\" width=\"100%\">";
 
        function one_item($h, $t) {
                echo "<tr><td bgcolor=\"#ccccff\">$h:</td>".
@@ -284,22 +312,22 @@ function dump_log($tail)
                return "<a href=\"$h\">$c</a>";
        }
 
-       one_item(_("Status"), ($ok == 1 ?  
-                               "<font color=\"green\"><b>"._("OK")."</b></font>" : 
+       one_item(_("Status"), ($ok == 1 ?
+                               "<font color=\"green\"><b>"._("OK")."</b></font>" :
                                "<font color=\"red\"><b>"._("Failed")."</b></a>"));
-       one_item(_("Source URL"), 
-                href("ftp://$buildlogs_server/$f", 
+       one_item(_("Source URL"),
+                href("ftp://$buildlogs_server/$f",
                      "ftp://$buildlogs_server/$f"));
 
        $big_url = "$url?dist=$dist&amp;arch=$arch&amp;ok=$ok&amp;ns=$ns&amp;cnt=$cnt";
        $bu = "$big_url&amp;off=$off";
 
-       one_item(_("text/plain URL"), 
-                href("$bu&amp;id=$id&amp;action=text",
+       one_item(_("text/plain URL"),
+                href("$bu&amp;name=$name_url&amp;id=$id&amp;action=text",
                      _("View!")));
        if ($tail) {
-               one_item(_("full text"), 
-                        href("$bu&amp;id=$id",
+               one_item(_("full text"),
+                        href("$bu&amp;name=$name_url&amp;id=$id",
                              _("View!")));
        }
 
@@ -308,15 +336,14 @@ function dump_log($tail)
        } else {
                one_item(_("rpm -qa of builder"), _("Not available"));
         }
-       one_item("Data", date("Y/m/d H:i:s", filemtime("$root_directory/$f")));
+       one_item("Date", date("Y/m/d H:i:s", filemtime("$root_directory/$f")));
        /*
-       echo "<tr><td>Here:</td><td>" . 
+       echo "<tr><td>Here:</td><td>" .
                "<a href=\"$url?idx=$idx&amp;ok=$ok&amp;id=$id\">".
                "http://" . getenv("SERVER_NAME") .
                getenv("SCRIPT_NAME") . "?idx=$idx&amp;ok=$ok&amp;id=$id</a>" .
             "</td></tr>"; */
 
-       echo "</table><h2>"._("Content:")."</h2>";
 
 
        # what can I say beside PHP suxx? how the fuck should I create
@@ -330,22 +357,117 @@ function dump_log($tail)
                $filter = "cat";
        }
 
-       $cmd = "$filter $root_directory/$f";
-       if ($tail)
-               $cmd = "$cmd | tail -n 100";
+       $cmd = "$filter '$root_directory/$f'";
        $fd = popen($cmd, "r");
-       start_pre();
+       $toc = array();
+       $err = array();
+       $first_cut = false;
+       $first_cut_done = false;
+       $time = "";
+       $out_buf = array();
+       $out_buf_size = 0;
        while (($s = fgets($fd, 102400)) != false) {
-               if (strlen($s) > 800) {
-                       $s = chunk_split($s, 800, "\n    ");
-                       $s = trim($s);
-               }
+
+               $toc_elem = false;
+               $err_elem = false;
+
                $s = htmlspecialchars($s);
-               echo $s;
+               // highlight errors
+               if (preg_match("/(?:fail|error(s|\sCS\d+)?):/i", $s)) {
+                       $first_cut = true;
+                       $err_count++;
+                       $toc_elem = "error $err_count";
+                       $err_elem = $s;
+                       $s = "<span class=error id=error-$err_count>$s</span>";
+               } elseif (preg_match("/(?:undefined reference to|recipe for target '.*?' failed)/i", $s)) {
+                       $first_cut = true;
+                       $err_count++;
+                       $toc_elem = "error $err_count";
+                       $err_elem = $s;
+                       $s = "<span class=error id=error-$err_count>$s</span>";
+               } elseif (preg_match("#^\+ /usr/bin/make\b.*\b(?P<target>check)\b#", $s, $m)) {
+                       // rpm build section
+                       $toc_elem = "make {$m['target']}";
+                       $err_elem = $s;
+                       $s = "<span class=line id=make-{$m['target']}>$s</span>";
+               } elseif (preg_match('/^(?P<line>- For complete changelog see:) (?P<link>.+)$/', $s, $m)) {
+                       // rpm changelog link
+                       $link = "<a href=\"{$m['link']}\">{$m['link']}</a>";
+                       $s = "<span class=changelog>{$m['line']} $link<br/></span>";
+               } elseif (preg_match('/^(?P<line>\* \w{3} \w{3} [ \d]{2} \d{4} .*?) (?P<hash>[a-z0-9]{7})$/', $s, $m)) {
+                       // rpm changelogs
+                       $url = "http://git.pld-linux.org/?p=packages/{$name_url}.git;a=commitdiff;h={$m['hash']}";
+                       $link = "<a href=\"$url\">{$m['hash']}</a>";
+                       $s = "<span class=changelog>{$m['line']} $link<br/></span>";
+               } elseif (substr($s, 0, 2) == "+ ") {
+                       // shell verbose
+                       $s = "<span class=verbose>$s</span>";
+               } elseif (preg_match("/^Executing\(%(?P<section>\w+)\)/", $s, $m)) {
+                       // rpm build section
+                       $toc_elem = $m['section'];
+                       $err_elem = $s;
+                       $s = "<span class=section id={$m['section']}>$s</span>";
+               } elseif (preg_match("/^Processing files: (?P<pkg>(?P<name>.+)-[^-]+-[^-]+)/", $s, $m)) {
+                       $first_cut = true;
+                       // processing files
+                       $toc_elem = "files ".$m['name'];
+                       $err_elem = $s;
+                       $s = "<span class=section id=files-{$m['name']}>$s</span>";
+               } elseif (preg_match("/^ended at: (?P<date>.+), done in (?P<time>[\d:.]+)/", $s, $m)) {
+                       $time = $m['time'];
+               }
+
+               $out_buf[] = $s;
+               $out_buf_size++;
+
+               // if error/processing found truncate early but keep last 100 lines before error
+               if ($tail && $first_cut && !$first_cut_done && $out_buf_size > 100) {
+                       array_splice($out_buf, 0, $out_buf_size - 100);
+                       $out_buf_size = 100;
+                       $first_cut_done = true;
+               }
+
+               // if (not in tail mode) or (in tail mode but we have an error)
+               if (!$tail || $first_cut) {
+                       if ($toc_elem)
+                               $toc[] = $toc_elem;
+                       if ($err_elem)
+                               $err[] = $err_elem;
+               }
        }
-       end_pre();
        pclose($fd);
 
+       // no errors found, no processing found but we are in tail mode
+       if ($tail && !$first_cut_done && $out_buf_size > 100) {
+               array_splice($out_buf, 0, $out_buf_size - 100);
+               $out_buf_size = 100;
+       }
+
+       $code = join('', $out_buf);
+
+       if ($time) {
+               one_item(_("Runtime"), $time);
+       }
+
+       echo "</table>";
+
+       if (!empty($toc)) {
+               echo "<h2>"._("Toc:")."</h2>";
+               echo "<ul class=toc>";
+               foreach ($toc as $i => $section) {
+                       $id = str_replace(" ", "-", $section);
+                       echo "<li><a href=#{$id}>{$section}</a></li>";
+                       echo "<code>{$err[$i]}</code>";
+               }
+               echo "</ul>";
+       }
+
+       echo "<h2>"._("Content:")."</h2>";
+
+       start_pre();
+       echo $code;
+       end_pre();
+
 ?>
        <table width="100%">
         <tr>
@@ -353,7 +475,7 @@ function dump_log($tail)
           [<a href="<?php echo $bu; ?>"><?=_("Back to list of logs")?></a>]
          </td>
          <td align=right>
-          [<a href="<?php echo "$bu&amp;action=qa" 
+          [<a href="<?php echo "$bu&amp;action=qa"
                ?>"><?=_("View rpm -qa of builder")?></a>]
          </td>
         </tr>
@@ -374,18 +496,21 @@ function dump_text()
                return;
 
        echo "# src  : ftp://$buildlogs_server/$f\n";
-       echo "# date   : " .  
+       echo "# date   : " .
                        date("Y/m/d H:i:s", filemtime("$root_directory/$f")) . "\n";
 
        if (preg_match("/\.bz2$/", $f)) {
-               $filter = "bzcat";
+               if (is_executable("/usr/bin/lbzcat"))
+                       $filter = "lbzcat";
+               else
+                       $filter = "bzcat";
        } elseif (preg_match("/\.gz$/", $f)) {
                $filter = "zcat";
        } else {
                $filter = "cat";
        }
 
-  $cmd = "$filter $root_directory/$f";
+  $cmd = "$filter '$root_directory/$f'";
        $fd = popen($cmd, "r");
        while (($s = fgets($fd, 1000)) != false) {
                echo $s;
@@ -404,17 +529,17 @@ function list_archs()
 
        echo "<table width=\"100%\" border=\"0\">\n";
        echo "<tr><td bgcolor=\"#cccccc\" nowrap=\"nowrap\">"._("Failed")."</td><td bgcolor=\"#cccccc\">"._("Ok")."</td></tr>\n";
-  foreach ($addr as $ddist) {
-    $dist = key($addr);
-    foreach ($ddist as $arch) {
-               echo "<tr><td nowrap=\"nowrap\">".
-                    "<a href=\"$url?dist=$dist&amp;arch=$arch&amp;ok=0&amp;cnt=$cnt\">
-             $dist/$arch</a></td><td nowrap=\"nowrap\">".
-                    "[<a href=\"$url?dist=$dist&amp;arch=$arch&amp;ok=1&amp;cnt=$cnt\">OK</a>]</td>".
-                    #"<td>[<a href=\"$url?idx=$i&amp;action=qa\">qa</a>]</td>".
-                    "</tr>\n";
-    }
-  }
+       foreach ($addr as $dist => $ddist) {
+               echo "<tr><td colspan=2 nowrap=\"nowrap\"><hr/></td></tr>\n";
+               foreach ($ddist as $arch) {
+                       echo "<tr><td nowrap=\"nowrap\">".
+                               "<a href=\"$url?dist=$dist&amp;arch=$arch&amp;ok=0&amp;cnt=$cnt\">
+                               $dist/$arch</a></td><td nowrap=\"nowrap\">".
+                               "[<a href=\"$url?dist=$dist&amp;arch=$arch&amp;ok=1&amp;cnt=$cnt\">OK</a>]</td>".
+                               #"<td>[<a href=\"$url?idx=$i&amp;action=qa\">qa</a>]</td>".
+                               "</tr>\n";
+               }
+       }
        echo "</table><hr />\n";
        
        echo "<div align=\"center\">";
@@ -422,10 +547,10 @@ function list_archs()
        
        echo "<a href=\"$url\">main()</a><hr />\n";
        echo "<a href=\"http://www.pld-linux.org/\"><img src=\"powpld.png\" ".
-               "alt=\""._("Powered by PLD Linux")."\" border=\"0\" /></a><br />\n" .
-            "<small>(c) 2002 ".
+            "alt=\""._("Powered by PLD Linux")."\" border=\"0\" /></a><br />\n" .
+            "<small>(c) 2002-". date("Y") . " ". 
             "<a href=\"mailto:feedback@pld-linux.org\">PLD&nbsp;Team</a><br />\n".
-            '$Revision: 1.7 $'.
+            '$Revision: 1.37 $'.
             "</small></div>\n";
 
        # smile ;)
@@ -433,10 +558,10 @@ function list_archs()
        $pow = array("vim", "php", "brain", "power", "electricity",
                     "coffee", "ufo", "penguin", "GNOME", "ELF", "DWARF",
                     "voodoo magic", "Linux", "x-files", "X", "foobar",
-                    "/dev/null", "/dev/zero", "/dev/drzewo", 
+                    "/dev/null", "/dev/zero", "/dev/drzewo",
                     "Leppe'", "matrix", "Neo", "PDP-11",
                     "Ken", "GNU antilope", "PDP-7", "ITS", "Multics",
-                    "foobarbaz", "ed", "Joe", "Unix conspiracy", 
+                    "foobarbaz", "ed", "Joe", "Unix conspiracy",
                     "overclock", "The Right Thing",
                     "The Bad Thing", "Star Treck", "NSA", "NASA",
                     "achelon", "VAX", "Real Programmer",
@@ -446,7 +571,7 @@ function list_archs()
                     "Paranoid Android", "Lunatic Corp", "Parallel thinking",
                     "sfistak", "Linus", "The Golden Path", "Dark Side of the Force",
                     "Przewodniczacego Lepper-a", "KDE", "Microsoft Windows 2003", "sqlite3",
-         "synergy"
+         "synergy", "six Cray XMT Supercomputers"
                     # feel free to add sth if you change this file ;)
                     );
        echo _("Powered by")." ";
@@ -459,6 +584,10 @@ function list_archs()
        }
        echo "</small></div>";
 
+       echo "<div align=\"center\"><small>";
+               echo "Your IP: " . $_SERVER['REMOTE_ADDR'];
+       echo "</small></div>";
+
        if (isset($dist) && isset($arch)) {
        echo "<form action=\"index.php\" method=\"post\">";
        echo "<input type=\"hidden\" name=\"dist\" value=\"$dist\" />";
@@ -476,8 +605,7 @@ function get_qa()
 
        if (!isset($dist) || !isset($arch))
                return false;
-
-$addr = "http://ftp.pld-linux.org/dists/$dist/.stat/builder/$dist/rpmqa-$arch.txt";
+       $addr = "http://ftp1.pld-linux.org/dists/$dist/.stat/builder/$dist/rpmqa-$arch.txt";
     return fopen("$addr", "r");
 }
 
@@ -494,10 +622,15 @@ function search_qa()
                echo _("Sorry, cannot open.");
        } else {
                while (($s = fgets($f, 1000)) != false) {
+                       if (stristr($s, "Query done at:")) {
+                               echo "rpmqa database from " . strstr($s, ":") . "\n";
+                               continue;
+                       }
+
                        if (stristr($s, $str))
                                echo $s;
                }
-               echo "/* EOF */";
+               echo "\n/* EOF */";
        }
        end_pre();
 }
@@ -509,7 +642,7 @@ function dump_qa($plain)
        $f = get_qa();
 
        if ($plain) {
-               header("Content-type: text/plain"); 
+               header("Content-type: text/plain");
                echo _("# rpm -qa of")." $dist/$arch\n";
        } else {
                echo "<h1>"._("rpm -qa of")." $a</h1>";
@@ -545,7 +678,7 @@ function adv_search()
        "}\n }\n -->\n </script>\n";
 
 /* Shut up warnings */
-  if (!isset($_POST["name"])) $_POST["name"] = "";
+  if (!isset($_POST["n2"])) $_POST["n2"] = "";
   if (!isset($_POST["age1"])) $_POST["age1"] = "";
   if (!isset($_POST["age2"])) $_POST["age2"] = "";
   if (!isset($_POST["size1"])) $_POST["size1"] = "";
@@ -557,7 +690,7 @@ function adv_search()
   echo "<table border=\"0\">\n";
   echo "<tr>\n";
   echo "<td>"._("Package name")."</td>\n";
-  echo "<td><input type=\"text\" size=\"20\" name=\"name\" value=\"". $_POST["name"] ."\"/></td>\n";
+  echo "<td><input type=\"text\" size=\"20\" name=\"n2\" value=\"". $_POST["name"] ."\"/></td>\n";
   echo "</tr>\n";
 
   echo "<tr>\n";
@@ -582,43 +715,42 @@ function adv_search()
   echo "</tr>\n";
 
   $i = 1;
-  foreach ($addr as $ddist) {
-    $dist = key($addr);
+  foreach ($addr as $dist => $ddist) {
     foreach ($ddist as $arch) {
     echo "<tr>\n";
     $name="as0_".$i;
     if (!isset($_POST["$name"])) {
        $check = " ";
     } else {
-       $check=" checked=\"on\"";
+       $check=" checked='checked'";
     }
-    echo "<td><input name=\"$name\" id=\"$name\" type=\"checkbox\"$check /><label for=\"$name\">".$dist/$arch."</label></td>\n";
+    echo "<td><input name=\"$name\" id=\"$name\" type=\"checkbox\"$check /><label for=\"$name\">". "$dist/$arch" ."</label></td>\n";
     $name="as1_".$i;
-    if (!isset($_POST["$name"])) {
+    if (!isset($_POST["$n2"])) {
        $check = " ";
     } else {
-       $check=" checked=\"on\"";
+       $check=" checked='checked'";
     }
-    echo "<td><input name=\"$name\" id=\"$name\" type=\"checkbox\"$check /><label for=\"$name\">".$dist/$arch."</label></td>\n";
+    echo "<td><input name=\"$name\" id=\"$name\" type=\"checkbox\"$check /><label for=\"$name\">". "$dist/$arch" ."</label></td>\n";
     echo "</tr>\n";
     $i++;
     }
   }
        
   echo "<tr>\n";
-  echo "<td><input name=\"all\" type=\"checkbox\" checked=\"on\" onClick=\"checkboxToggle()\">"._("Toggle checkboxes")."&nbsp;<input type=\"submit\" name=\"submit\" value=\""._("Search!")."\" /></td>";
+  echo "<td><label><input name=\"all\" type=\"checkbox\" checked=\"on\" onClick=\"checkboxToggle()\">"._("Toggle checkboxes")."</label>&nbsp;<input type=\"submit\" name=\"submit\" value=\""._("Search!")."\" /></td>";
   echo "</tr>\n";
 
   echo "</table>\n";
 
 //     if (isset($_POST["name"]) || isset($_POST["age1"]) || isset($_POST["age2"]) ||
 //       isset($_POST["size1"]) || isset($_POST["size2"])
-  if (($_POST["name"]!="") || ($_POST["age1"]!="") || ($_POST["age2"]!="") ||
+  if (($_POST["n2"]!="") || ($_POST["age1"]!="") || ($_POST["age2"]!="") ||
     ($_POST["size1"]!="") || ($_POST["size2"]!=""))
   {
        $query = "SELECT log_id, dist, arch, ok, name, size, mtime, id FROM logs WHERE 1 ";
-       if ($_POST["name"] != "") {
-               $n = addslashes($_POST["name"]);
+       if ($_POST["n2"] != "") {
+               $n = addslashes($_POST["n2"]);
                $query .= "AND name LIKE '$n%' ";
        }
        $now = time();
@@ -645,12 +777,11 @@ function adv_search()
 
        $or = "AND (";
   $i = 1;
-  foreach ($addr as $ddist) {
-    $dist = key($addr);
+  foreach ($addr as $dist => $ddist) {
     foreach ($ddist as $arch) {
       for ($j = 0; $j < 2; $j++) {
                          if (isset($_POST["as" . $j . "_" .$i])) {
-                               $query .= "$or (dist = $dist AND arch = $arch AND ok = $j)";
+                               $query .= "$or (dist = '$dist' AND arch = '$arch' AND ok = $j)";
                                $or = " OR ";
                        }
                }
@@ -700,9 +831,9 @@ function adv_search()
       $dist = $row["dist"];
       $arch = $row["arch"];
       $name = $row["name"];
+      $name_url = urlencode($name);
       $id = $row["id"];
                        $f = $name;
-      if ($id != '') $f .= ",$id";
                        $t = $now - $row["mtime"];
                        $s = $row["size"];
                        $t /= 60;
@@ -723,7 +854,7 @@ function adv_search()
                        
 //                $big_url = "$url?idx=$i&amp;ok=$j&amp;ns=$ns&amp;cnt=$cnt";
       $ok = $row["ok"];
-                       $u = "$url?dist=$dist&amp;arch=$arch&amp;name=$name&amp;ok=$ok;&amp;id=$id";
+                       $u = "$url?dist=$dist&amp;arch=$arch&amp;name=$name_url&amp;ok=$ok&amp;id=$id";
                        $b = "$url?dist=$dist&amp;arch=$arch&amp;ok=$ok&amp;ns=$ns&amp;off=$off&amp;cnt=$cnt";
 
                        $builder = "$dist/$arch/". $fail_or_ok[$ok];
@@ -780,7 +911,7 @@ function adv_search()
   {
     echo _("Enter something!");
   }
-  echo "</form>\n";
+  echo "</div></form>\n";
 }
 
 function welcome()
@@ -791,9 +922,8 @@ function welcome()
 <p><?=_("Welcome to PLD Build Logs WWW interface.")?></p><p>
 <?=_("Feel free to email bug reports, complaints and feature requests ")?>
 <!-- ech... niech strace... -->
-<a href="mailto:feedback@pld-linux.org"><?=_("to us")?></a>. <?=_("Positive opinions are also")?> 
-<a href="mailto:feedback@pld-linux.org"><?=_("welcome")?></a> ;)</p>
-<p>Version: $Id: index.php,v 1.7 2007/11/28 12:42:52 witekfl Exp $</p>
+<a href="mailto:feedback@pld-linux.org"><?=_("to us")?></a>. <?=_("Positive opinions are also")?>
+ <a href="mailto:feedback@pld-linux.org"><?=_("welcome")?></a> ;)</p>
 </td><td width="20%">&nbsp;</td></tr>
 </table>
 <?php
This page took 0.114811 seconds and 4 git commands to generate.