2 ob_start("ob_gzhandler", 1);
3 $buildlogs_server = "buildlogs.pld-linux.org";
5 $fail_or_ok = array( "FAIL", "OK" );
7 $database = 'sqlite:/home/services/ftp/buildlogs2.db';
8 $root_directory = "/home/services/ftp/pub/pld-buildlogs";
11 // $database, $root_directory and others are taken from buildlogs.inc
12 include('buildlogs.inc');
14 /* It should be set */
16 $langs["en_US"]["charset"]="ISO-8859-1";
17 $langs["pl_PL"]["charset"]="ISO-8859-2";
20 if (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"]))
22 $rows=explode(";",$_SERVER["HTTP_ACCEPT_LANGUAGE"]);
23 $rows=explode(",",$rows[0]);
24 $lang_detected=rtrim($rows[0]);
25 } else if (preg_match("/opera/i",$_SERVER["HTTP_USER_AGENT"]))
27 $lang_detected=preg_replace("/.*\[(.*)\].*/i","\\1",$_SERVER["HTTP_USER_AGENT"]);
31 $lang_detected=preg_replace("/^pl$/i","pl_PL",$lang_detected);
33 if (isset($lang_detected) && isset($langs[$lang_detected]))
38 if (isset($_GET["lang"]))$_SESSION["lang"]=$_GET["lang"];
39 if (isset($_SESSION["lang"]))$lang=$_SESSION["lang"];
42 setlocale(LC_ALL,$lang);
43 bindtextdomain("messages","locale");
44 textdomain("messages");
46 if (isset($_GET["dist"]) && isset($_GET["arch"]))
48 $dist = basename($_GET["dist"]);
49 $arch = basename($_GET["arch"]);
52 if (isset($_POST["dist"])) $dist = basename($_POST["dist"]);
53 if (isset($_POST["arch"])) $arch = basename($_POST["arch"]);
55 if (isset($_GET["name"])) {
56 $name_url = urlencode($_GET["name"]);
57 $name = basename($_GET["name"]);
59 if (isset($_GET["ok"]))$ok=(int)$_GET["ok"];
61 if (isset($_GET["ns"]))$ns=(int)$_GET["ns"];
63 if (isset($_GET["cnt"]))$cnt=(int)$_GET["cnt"];
65 if (isset($_GET["action"]))$action=$_GET["action"];
67 if (isset($_GET["off"]))$off=(int)$_GET["off"];
69 if (isset($_GET["id"]))$id=$_GET["id"];
71 if (isset($_POST["str"]))$str=$_POST["str"];
72 if (isset($_POST["action"]))$action=$_POST["action"];
79 echo '<' . '?xml version="1.0" encoding="' . _("ISO-8859-1") .'"?' . ">\n";
80 echo '<' . '?xml-stylesheet href="#internalStyle" type="text/css"?' . ">\n";
82 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
83 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
84 <html xmlns="http://www.w3.org/1999/xhtml">
86 <title>PLD Build Logs</title>
87 <?php echo '<meta http-equiv="Content-type" content="text/html; charset=' . _("ISO-8859-1") .'"/>' ."\n";?>
88 <style type="text/css"><!--
89 A { text-decoration: none; }
90 A:hover { text-decoration: underline; }
91 H1 { font-family: arial,helvetica,sans-serif;
94 H2 { font-family: arial,helvetica,sans-serif;
97 BODY,TD { font-family: arial,helvetica,sans-serif;
99 TH { font-family: arial,helvetica,sans-serif;
102 /* error lines from build logs */
104 background-color: #b00;
111 background-color: #161;
116 <!-- Diffrent color for visited link doesn't make much sense here...
117 this page is autogenerated and it might be misleading after some
118 build log changes. -->
119 <body bgcolor="#ffffff" text="#000000" link="#5f26cd" vlink="#5f26cd">
125 echo "<table cellpadding=\"10\"><tr><td bgcolor=\"#000000\">".
126 "<font color=\"#cccccc\"><pre style=\"width: 2048px;overflow: scroll\">";
131 echo "</pre></font></td></tr></table>\n";
136 echo "</body></html>";
142 echo "Fatal error: $msg";
150 global $arch, $dist, $ok;
151 global $big_url, $ns;
152 global $off, $cnt, $root_directory, $url;
154 $big_url = "$url?dist=$dist&arch=$arch&ok=$ok&ns=$ns&cnt=$cnt";
157 echo "<h1>"._("Listing of")." $dist/$arch/OK "
158 ."(<a href=\"$big_url&ok=0\">"._("fail")."</a>)</h1>\n";
160 echo "<h1>"._("Listing of")." $dist/$arch/FAIL "
161 ."(<a href=\"$big_url&ok=1\">"._("ok")."</a>)</h1>\n";
164 echo "<div align=\"center\"><table cols=\"4\" border=\"0\" cellspacing=\"1\" ".
165 "cellpadding=\"3\" bgcolor=\"#000000\" width=\"90%\">\n";
166 echo "<tr><th bgcolor=\"#CCCCFF\" align=\"right\" width=\"1%\">"._("No.")."</th>".
167 "<th bgcolor=\"#CCCCFF\" align=\"left\" width=\"80%\">"._("Log File").
168 "[<a href=\"$big_url&ns=1\">"._("sort")."</a>]</th>".
169 "<th bgcolor=\"#CCCCFF\" align=\"right\" width=\"15%\">"._("Size")."</th> ".
170 "<th bgcolor=\"#CCCCFF\" align=\"left\">"._("Age").
171 "[<a href=\"$big_url&ns=0\">"._("sort")."</a>]</th>".
174 if ($ns != 1) $ns = 0;
175 if (!isset($ok)) $ok = 0;
176 // if (!isset($off)) $off = 0;
177 // if (!isset($cnt)) $cnt = 50;
178 if ($ns == 0) $order = "mtime DESC";
179 else $order = "name";
181 $query = "SELECT log_id, dist, arch, ok, name, mtime, size, id FROM logs WHERE "
182 . "dist = '$dist' AND arch = '$arch' AND ok = $ok ORDER BY $order LIMIT $cnt OFFSET $off";
185 $dbh = new PDO("$database");
186 } catch (PDOException $e) {
187 mydie("new PDO: " . $e->getMessage());
191 foreach ($dbh->query("$query") as $row) {
192 $name = $row["name"];
194 $dist = $row["dist"];
195 $arch = $row["arch"];
197 $name_url = urlencode($name);
198 $t = $now - $row["mtime"];
208 $t = $t . " " . ngettext("day","days",$t);
211 $t = $t . " " . ngettext("hour","hours",$t);
215 $t = $t . " " . ngettext("minute","minutes",$t);
217 $u = "$url?dist=$dist&arch=$arch&ok=$ok&name=$name_url&id=$id";
218 echo "<tr><td bgcolor=\"#CCCCCC\" align=\"right\">".($i+1).".</td>".
219 "<td bgcolor=\"#CCCCCC\"><a href=\"$u\">$f</a> ".
220 "[<a href=\"$u&action=text\">"._("text")."</a> | ".
221 "<a href=\"$u&action=tail\">"._("tail")."</a>]".
222 "</td><td bgcolor=\"#CCCCCC\" align=\"right\">".
223 "$s</td><td bgcolor=\"#CCCCCC\">$t</td></tr>\n";
227 echo "</table></div>\n";
229 $backarr = "<<< ";
230 $back = _("Page back");
231 $forward = _("Page forward");
232 $forwardarr = " >>>";
234 echo "<p><table width=\"90%\" align=\"center\"><tr><td align=\"left\" width=\"1%\">";
237 $noff = $off - $count;
240 $hrefurl = "<a href=\"$big_url&off=$noff\">";
241 echo "$hrefurl$backarr</a></td><td align=\"left\">$hrefurl$back</a>";
243 echo "$backarr</td><td align=\"left\">$back";
246 echo "</td>\n<td align=\"center\">";
248 if (isset($dist) && isset($arch)) {
249 echo "[<a href=\"$big_url&action=qa\">"._("View <quot>rpm -qa</quot> of builder")."</a>]";
254 echo "</td>\n<td align=right>";
255 if ($cnt == $count) {
259 $hrefurl = "<a href=\"$big_url&off=$noff\">";
260 echo "$hrefurl$forward</a></td><td align=right width=1%>$hrefurl$forwardarr</a>";
262 echo "$forward</td><td align=right width=1%>$forwardarr";
264 echo "</td>\n</tr></table></p>";
269 global $ok, $dist, $arch, $name, $name_url, $id;
271 if (isset($name) && isset($ok) && isset($arch) && isset($dist)) {
272 if (isset($id) && $id != '') {
273 $name = $name . ",$id";
275 $w = $ok ? "OK" : "FAIL";
276 return "$dist/$arch/$w/$name.bz2";
280 function dump_log($tail)
282 global $ok, $url, $dist, $arch, $name, $name_url;
283 global $root_directory, $big_url, $ns, $id, $cnt, $off;
284 global $buildlogs_server;
291 $df = preg_replace("/.*\/([^\/]*)$/", "\\1", $f);
292 $df = preg_replace("/\.(bz2|gz)$/", "", $df);
296 echo "<table border=\"0\" cellpadding=\"3\" cellspacing=\"1\" bgcolor=\"#000000\">";
298 function one_item($h, $t) {
299 echo "<tr><td bgcolor=\"#ccccff\">$h:</td>".
300 "<td bgcolor=\"#cccccc\">$t</td></tr>";
303 function href($h, $c) {
304 return "<a href=\"$h\">$c</a>";
307 one_item(_("Status"), ($ok == 1 ?
308 "<font color=\"green\"><b>"._("OK")."</b></font>" :
309 "<font color=\"red\"><b>"._("Failed")."</b></a>"));
310 one_item(_("Source URL"),
311 href("ftp://$buildlogs_server/$f",
312 "ftp://$buildlogs_server/$f"));
314 $big_url = "$url?dist=$dist&arch=$arch&ok=$ok&ns=$ns&cnt=$cnt";
315 $bu = "$big_url&off=$off";
317 one_item(_("text/plain URL"),
318 href("$bu&name=$name_url&id=$id&action=text",
321 one_item(_("full text"),
322 href("$bu&name=$name_url&id=$id",
326 if (isset($dist) && isset($arch)) {
327 one_item(_("rpm -qa of builder"), href("$bu&action=qa", _("View!")));
329 one_item(_("rpm -qa of builder"), _("Not available"));
331 one_item("Date", date("Y/m/d H:i:s", filemtime("$root_directory/$f")));
333 echo "<tr><td>Here:</td><td>" .
334 "<a href=\"$url?idx=$idx&ok=$ok&id=$id\">".
335 "http://" . getenv("SERVER_NAME") .
336 getenv("SCRIPT_NAME") . "?idx=$idx&ok=$ok&id=$id</a>" .
342 # what can I say beside PHP suxx? how the fuck should I create
343 # bidirectional pipe? gotta use wget
345 if (preg_match("/\.bz2$/", $f)) {
347 } elseif (preg_match("/\.gz$/", $f)) {
353 $cmd = "$filter '$root_directory/$f'";
355 $cmd = "$cmd | tail -n 100";
356 $fd = popen($cmd, "r");
359 while (($s = fgets($fd, 102400)) != false) {
360 if (strlen($s) > 800) {
361 $s = chunk_split($s, 800, "\n ");
364 $s = htmlspecialchars($s);
366 if (preg_match("/errors?:/i", $s)) {
367 $s = "<span class=error>$s</span>";
368 } elseif (substr($s, 0, 2) == "+ ") {
370 $s = "<span class=verbose>$s</span>";
371 } elseif (preg_match("/^Executing\(%(?P<section>\w+)\)/", $s, $m)) {
373 $s = "<span class=section id={$m['section']}>$s</span>";
374 $toc[] = $m['section'];
375 } elseif (preg_match("/^Processing files: (?P<pkg>(?P<name>.+)-[^-]+-[^-]+)/", $s, $m)) {
377 $s = "<span class=section id=files-{$m['name']}>$s</span>";
378 $toc[] = "files ".$m['name'];
383 $code = ob_get_contents();
387 echo "<h2>"._("Toc:")."</h2>";
388 echo "<ul class=toc>";
389 foreach ($toc as $section) {
390 $id = str_replace(" ", "-", $section);
391 echo "<li><a href=#{$id}>{$section}</a></li>";
396 echo "<h2>"._("Content:")."</h2>";
406 [<a href="<?php echo $bu; ?>"><?=_("Back to list of logs")?></a>]
409 [<a href="<?php echo "$bu&action=qa"
410 ?>"><?=_("View rpm -qa of builder")?></a>]
420 global $root_directory;
421 global $buildlogs_server;
423 header("Content-type: text/plain");
429 echo "# src : ftp://$buildlogs_server/$f\n";
431 date("Y/m/d H:i:s", filemtime("$root_directory/$f")) . "\n";
433 if (preg_match("/\.bz2$/", $f)) {
435 } elseif (preg_match("/\.gz$/", $f)) {
441 $cmd = "$filter '$root_directory/$f'";
442 $fd = popen($cmd, "r");
443 while (($s = fgets($fd, 1000)) != false) {
449 function list_archs()
451 global $addr, $url, $cnt,$ok,$ns;
456 $big_url = "$url?ok=$ok&ns=$ns&cnt=$cnt";
458 echo "<table width=\"100%\" border=\"0\">\n";
459 echo "<tr><td bgcolor=\"#cccccc\" nowrap=\"nowrap\">"._("Failed")."</td><td bgcolor=\"#cccccc\">"._("Ok")."</td></tr>\n";
460 foreach ($addr as $dist => $ddist) {
461 foreach ($ddist as $arch) {
462 echo "<tr><td nowrap=\"nowrap\">".
463 "<a href=\"$url?dist=$dist&arch=$arch&ok=0&cnt=$cnt\">
464 $dist/$arch</a></td><td nowrap=\"nowrap\">".
465 "[<a href=\"$url?dist=$dist&arch=$arch&ok=1&cnt=$cnt\">OK</a>]</td>".
466 #"<td>[<a href=\"$url?idx=$i&action=qa\">qa</a>]</td>".
470 echo "</table><hr />\n";
472 echo "<div align=\"center\">";
473 echo "<a href=\"$big_url&action=adv_search\">"._("Advanced Search")."</a><br />\n";
475 echo "<a href=\"$url\">main()</a><hr />\n";
476 echo "<a href=\"http://www.pld-linux.org/\"><img src=\"powpld.png\" ".
477 "alt=\""._("Powered by PLD Linux")."\" border=\"0\" /></a><br />\n" .
479 "<a href=\"mailto:feedback@pld-linux.org\">PLD Team</a><br />\n".
484 echo "<div align=\"center\"><small>";
485 $pow = array("vim", "php", "brain", "power", "electricity",
486 "coffee", "ufo", "penguin", "GNOME", "ELF", "DWARF",
487 "voodoo magic", "Linux", "x-files", "X", "foobar",
488 "/dev/null", "/dev/zero", "/dev/drzewo",
489 "Leppe'", "matrix", "Neo", "PDP-11",
490 "Ken", "GNU antilope", "PDP-7", "ITS", "Multics",
491 "foobarbaz", "ed", "Joe", "Unix conspiracy",
492 "overclock", "The Right Thing",
493 "The Bad Thing", "Star Treck", "NSA", "NASA",
494 "achelon", "VAX", "Real Programmer",
495 "Real Operating System", "Real Computer",
496 "computron", "bogon", "quantum bogodynamics",
497 "BOFH", "/dev/ill", "nasi tu byli",
498 "Paranoid Android", "Lunatic Corp", "Parallel thinking",
499 "sfistak", "Linus", "The Golden Path", "Dark Side of the Force",
500 "Przewodniczacego Lepper-a", "KDE", "Microsoft Windows 2003", "sqlite3",
501 "synergy", "six Cray XMT Supercomputers"
502 # feel free to add sth if you change this file ;)
504 echo _("Powered by")." ";
506 for ($i = 0; $i < $max; $i++) {
507 $x = rand(0, count($pow) - 1);
508 if ($pow[$x] == "") $i--;
509 else echo $pow[$x] . ($i == $max - 1 ? "." : ", ");
512 echo "</small></div>";
514 echo "<div align=\"center\"><small>";
515 echo "Your IP: " . $_SERVER['REMOTE_ADDR'];
516 echo "</small></div>";
518 if (isset($dist) && isset($arch)) {
519 echo "<form action=\"index.php\" method=\"post\">";
520 echo "<input type=\"hidden\" name=\"dist\" value=\"$dist\" />";
521 echo "<input type=\"hidden\" name=\"arch\" value=\"$arch\" />";
522 echo "<input type=\"hidden\" name=\"action\" value=\"sqa\" />";
523 echo "<input type=\"text\" size=\"14\" name=\"str\" /><br />";
524 echo "<input type=\"submit\" name=\"submit\" value=\""._("Search rpmqa!")."\" />";
533 if (!isset($dist) || !isset($arch))
536 $addr = "http://ftp.pld-linux.org/dists/$dist/.stat/builder/$dist/rpmqa-$arch.txt";
538 $addr = "http://ftp.pld-linux.org/branches/titanium/.stat/builder/$dist/rpmqa-$arch.txt";
540 return fopen("$addr", "r");
545 global $url, $str, $dist, $arch;
548 echo "<h1>"._("Search results for")." '$str' "._("in")." $dist/$arch</h1>";
553 echo _("Sorry, cannot open.");
555 while (($s = fgets($f, 1000)) != false) {
556 if (stristr($s, $str))
564 function dump_qa($plain)
566 global $url, $dist, $arch;
571 header("Content-type: text/plain");
572 echo _("# rpm -qa of")." $dist/$arch\n";
574 echo "<h1>"._("rpm -qa of")." $a</h1>";
575 echo "<a href=\"$url?dist=$dist&arch=$arch&action=qatxt\">"._("text/plain version")."</a>";
580 echo _("Sorry, cannot open.");
582 while (($s = fgets($f, 1000)) != false) {
592 function adv_search()
594 global $database, $addr, $fail_or_ok, $url, $_POST, $off, $cnt, $root_directory, $ok, $ns;
596 $big_url = "$url?ok=$ok&ns=$ns&cnt=$cnt";
598 echo "<script><!--\n".
599 "function checkboxToggle() {\n".
600 "for (var i=0;i<document.forms[0].elements.length;i++) {\n".
601 "var e = document.forms[0].elements[i];\n".
602 "if ((e.name != 'all') && (e.type=='checkbox'))\n".
603 "e.checked = document.forms[0].all.checked;\n".
604 "}\n }\n -->\n </script>\n";
606 /* Shut up warnings */
607 if (!isset($_POST["n2"])) $_POST["n2"] = "";
608 if (!isset($_POST["age1"])) $_POST["age1"] = "";
609 if (!isset($_POST["age2"])) $_POST["age2"] = "";
610 if (!isset($_POST["size1"])) $_POST["size1"] = "";
611 if (!isset($_POST["size2"])) $_POST["size2"] = "";
613 echo "<form action=\"index.php?action=adv_search\" method=\"post\">";
615 echo "<div align=\"center\">";
616 echo "<table border=\"0\">\n";
618 echo "<td>"._("Package name")."</td>\n";
619 echo "<td><input type=\"text\" size=\"20\" name=\"n2\" value=\"". $_POST["name"] ."\"/></td>\n";
623 echo "<td>"._("Days")."</td>\n";
624 echo "<td>"._("From").": <input type=\"text\" size=\"20\" name=\"age1\" value=\"". $_POST["age1"] ."\" /></td>\n";
625 echo "<td>"._("To").": <input type=\"text\" size=\"20\" name=\"age2\" value=\"". $_POST["age2"] ."\" /></td>\n";
629 echo "<td>"._("Size")."</td>\n";
630 echo "<td>"._("From").": <input type=\"text\" size=\"20\" name=\"size1\" value=\"". $_POST["size1"] ."\" /></td>\n";
631 echo "<td>"._("To").": <input type=\"text\" size=\"20\" name=\"size2\" value=\"". $_POST["size2"] ."\" /></td>\n";
635 echo "<td>"._("Search logs:")."</td>\n";
639 echo "<td>"._("Failed")."</td>\n";
640 echo "<td>"._("OK")."</td>\n";
644 foreach ($addr as $dist => $ddist) {
645 foreach ($ddist as $arch) {
648 if (!isset($_POST["$name"])) {
651 $check=" checked='checked'";
653 echo "<td><input name=\"$name\" id=\"$name\" type=\"checkbox\"$check /><label for=\"$name\">". "$dist/$arch" ."</label></td>\n";
655 if (!isset($_POST["$n2"])) {
658 $check=" checked='checked'";
660 echo "<td><input name=\"$name\" id=\"$name\" type=\"checkbox\"$check /><label for=\"$name\">". "$dist/$arch" ."</label></td>\n";
667 echo "<td><label><input name=\"all\" type=\"checkbox\" checked=\"on\" onClick=\"checkboxToggle()\">"._("Toggle checkboxes")."</label> <input type=\"submit\" name=\"submit\" value=\""._("Search!")."\" /></td>";
672 // if (isset($_POST["name"]) || isset($_POST["age1"]) || isset($_POST["age2"]) ||
673 // isset($_POST["size1"]) || isset($_POST["size2"])
674 if (($_POST["n2"]!="") || ($_POST["age1"]!="") || ($_POST["age2"]!="") ||
675 ($_POST["size1"]!="") || ($_POST["size2"]!=""))
677 $query = "SELECT log_id, dist, arch, ok, name, size, mtime, id FROM logs WHERE 1 ";
678 if ($_POST["n2"] != "") {
679 $n = addslashes($_POST["n2"]);
680 $query .= "AND name LIKE '$n%' ";
684 if ($_POST["age1"] != "") {
685 $age = $now - (int)$_POST["age1"] * 24 * 3600;
686 $query .= "AND mtime > $age ";
689 if ($_POST["age2"] != "") {
690 $age = $now - (int)$_POST["age2"] * 24 * 3600;
691 $query .= "AND mtime < $age ";
694 if ($_POST["size1"] != "") {
695 $size = (int)$_POST["size1"];
696 $query .= "AND size > $size ";
699 if ($_POST["size2"] != "") {
700 $size = (int)$_POST["size2"];
701 $query .= "AND size < $size ";
706 foreach ($addr as $dist => $ddist) {
707 foreach ($ddist as $arch) {
708 for ($j = 0; $j < 2; $j++) {
709 if (isset($_POST["as" . $j . "_" .$i])) {
710 $query .= "$or (dist = '$dist' AND arch = '$arch' AND ok = $j)";
717 if ($or == " OR ") $query .= ")";
718 // if (!isset($cnt)) $cnt = 50;
719 // if (!isset($off)) $off = 0;
720 if (!isset($ns)) $ns = 0;
723 $query .= " ORDER BY mtime DESC";
726 $query .= " ORDER BY name";
729 $query .= " ORDER BY dist, arch, name";
732 $query .= " LIMIT $cnt OFFSET $off ";
735 $dbh = new PDO("$database");
736 } catch (PDOException $e) {
737 mydie("new PDO: " . $e->getMessage());
739 $result = $dbh->query("$query")->fetchAll();
741 if ($result == FALSE) {
742 echo _("Nothing found");
744 echo "<table border=\"0\" cellspacing=\"1\" ".
745 "cellpadding=3 bgcolor=\"#000000\" width=\"90%\">\n";
746 echo "<tr><th bgcolor=\"#CCCCFF\" align=\"left\" width=\"10%\">"._("Builder").
747 "[<a href=\"$big_url&ns=2\">"._("sort")."</a>]</th>";
748 echo "<th bgcolor=\"#CCCCFF\" align=\"left\" width=\"60%\">"._("Log File").
749 "[<a href=\"$big_url&ns=1\">"._("sort")."</a>]</th>".
750 "<th bgcolor=\"#CCCCFF\" align=\"right\" width=\"15%\">"._("Size")."</th> ".
751 "<th bgcolor=\"#CCCCFF\" align=\"left\">"._("Age").
752 "[<a href=\"$big_url&ns=0\">"._("sort")."</a>]</th>".
755 // for ($i = $off; $i < $off + $count; $i++) {
756 foreach ($result as $row) {
757 $dist = $row["dist"];
758 $arch = $row["arch"];
759 $name = $row["name"];
760 $name_url = urlencode($name);
763 $t = $now - $row["mtime"];
771 $t = $t . " " . ngettext("day","days",$t);
774 $t = $t . " " . ngettext("hour","hours",$t);
778 $t = $t . " " . ngettext("minute","minutes",$t);
781 // $big_url = "$url?idx=$i&ok=$j&ns=$ns&cnt=$cnt";
783 $u = "$url?dist=$dist&arch=$arch&name=$name_url&ok=$ok&id=$id";
784 $b = "$url?dist=$dist&arch=$arch&ok=$ok&ns=$ns&off=$off&cnt=$cnt";
786 $builder = "$dist/$arch/". $fail_or_ok[$ok];
788 echo "<td bgcolor=\"#CCCCCC\"><a href=\"$b\">$builder</a></td>";
789 echo "<td bgcolor=\"#CCCCCC\"><a href=\"$u\">$f</a> ".
790 "[<a href=\"$u&action=text\">"._("text")."</a> | ".
791 "<a href=\"$u&action=tail\">"._("tail")."</a>]".
792 "</td><td bgcolor=\"#CCCCCC\" align=\"right\">".
793 "$s</td><td bgcolor=\"#CCCCCC\">$t</td></tr>\n";
796 echo "</table></div>\n";
798 $backarr = "<<< ";
799 $back = _("Page back");
800 $forward = _("Page forward");
801 $forwardarr = " >>>";
806 echo "<p><table width=\"90%\" align=\"center\"><tr><td align=left width=1%>";
812 $hrefurl = "<a href=\"$big_url&off=$noff\">";
813 echo "$hrefurl$backarr</a></td><td align=left>$hrefurl$back</a>";
815 echo "$backarr</td><td align=left>$back";
818 echo "</td>\n<td align=\"center\">";
819 echo "</td>\n<td align=\"right\">";
821 if ($off + $cnt < count($list))
826 $hrefurl = "<a href=\"$big_url&off=$noff\">";
827 echo "$hrefurl$forward</a></td><td align=\"right\" width=\"1%\">$hrefurl$forwardarr</a>";
831 echo "$forward</td><td align=\"right\" width=\"1%\">$forwardarr";
834 echo "</td>\n</tr></table></p>";
838 echo _("Enter something!");
840 echo "</div></form>\n";
846 <table border="0" width="100%"><tr><td width="20%"> </td><td>
847 <h1><?=_("Welcome!")?></h1>
848 <p><?=_("Welcome to PLD Build Logs WWW interface.")?></p><p>
849 <?=_("Feel free to email bug reports, complaints and feature requests ")?>
850 <!-- ech... niech strace... -->
851 <a href="mailto:feedback@pld-linux.org"><?=_("to us")?></a>. <?=_("Positive opinions are also")?>
852 <a href="mailto:feedback@pld-linux.org"><?=_("welcome")?></a> ;)</p>
853 <p>Version: $Id: index.php,v 1.17 2012/03/21 01:29:44 glen Exp $</p>
854 </td><td width="20%"> </td></tr>
859 header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
860 header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
861 header("Cache-Control: no-cache, must-revalidate");
862 header("Pragma: no-cache");
865 if ($action == "text") {
867 } else if ($action == "adv_search") {
871 } else if ($action == "qatxt") {
875 echo "<table cellpadding=\"10\" width=\"100%\"><tr><td valign=\"top\" width=\"10%\">";
877 echo "</td><td valign=\"top\">";
881 else if ($action == "sqa")
883 else if (isset($id) || isset($name))
884 dump_log($action == "tail");
885 else if (isset($dist))
889 echo "</td></tr></table>";