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");
360 while (($s = fgets($fd, 102400)) != false) {
361 if (strlen($s) > 800) {
362 $s = chunk_split($s, 800, "\n ");
365 $s = htmlspecialchars($s);
367 if (preg_match("/errors?:/i", $s)) {
369 $toc[] = "error $err_count";
371 $s = "<span class=error id=error-$err_count>$s</span>";
372 } elseif (substr($s, 0, 2) == "+ ") {
374 $s = "<span class=verbose>$s</span>";
375 } elseif (preg_match("/^Executing\(%(?P<section>\w+)\)/", $s, $m)) {
377 $toc[] = $m['section'];
379 $s = "<span class=section id={$m['section']}>$s</span>";
380 } elseif (preg_match("/^Processing files: (?P<pkg>(?P<name>.+)-[^-]+-[^-]+)/", $s, $m)) {
382 $toc[] = "files ".$m['name'];
384 $s = "<span class=section id=files-{$m['name']}>$s</span>";
389 $code = ob_get_contents();
393 echo "<h2>"._("Toc:")."</h2>";
394 echo "<ul class=toc>";
395 foreach ($toc as $i => $section) {
396 $id = str_replace(" ", "-", $section);
397 echo "<li><a href=#{$id}>{$section}</a></li>";
398 echo "<code>{$err[$i]}</code>";
403 echo "<h2>"._("Content:")."</h2>";
413 [<a href="<?php echo $bu; ?>"><?=_("Back to list of logs")?></a>]
416 [<a href="<?php echo "$bu&action=qa"
417 ?>"><?=_("View rpm -qa of builder")?></a>]
427 global $root_directory;
428 global $buildlogs_server;
430 header("Content-type: text/plain");
436 echo "# src : ftp://$buildlogs_server/$f\n";
438 date("Y/m/d H:i:s", filemtime("$root_directory/$f")) . "\n";
440 if (preg_match("/\.bz2$/", $f)) {
442 } elseif (preg_match("/\.gz$/", $f)) {
448 $cmd = "$filter '$root_directory/$f'";
449 $fd = popen($cmd, "r");
450 while (($s = fgets($fd, 1000)) != false) {
456 function list_archs()
458 global $addr, $url, $cnt,$ok,$ns;
463 $big_url = "$url?ok=$ok&ns=$ns&cnt=$cnt";
465 echo "<table width=\"100%\" border=\"0\">\n";
466 echo "<tr><td bgcolor=\"#cccccc\" nowrap=\"nowrap\">"._("Failed")."</td><td bgcolor=\"#cccccc\">"._("Ok")."</td></tr>\n";
467 foreach ($addr as $dist => $ddist) {
468 foreach ($ddist as $arch) {
469 echo "<tr><td nowrap=\"nowrap\">".
470 "<a href=\"$url?dist=$dist&arch=$arch&ok=0&cnt=$cnt\">
471 $dist/$arch</a></td><td nowrap=\"nowrap\">".
472 "[<a href=\"$url?dist=$dist&arch=$arch&ok=1&cnt=$cnt\">OK</a>]</td>".
473 #"<td>[<a href=\"$url?idx=$i&action=qa\">qa</a>]</td>".
477 echo "</table><hr />\n";
479 echo "<div align=\"center\">";
480 echo "<a href=\"$big_url&action=adv_search\">"._("Advanced Search")."</a><br />\n";
482 echo "<a href=\"$url\">main()</a><hr />\n";
483 echo "<a href=\"http://www.pld-linux.org/\"><img src=\"powpld.png\" ".
484 "alt=\""._("Powered by PLD Linux")."\" border=\"0\" /></a><br />\n" .
486 "<a href=\"mailto:feedback@pld-linux.org\">PLD Team</a><br />\n".
491 echo "<div align=\"center\"><small>";
492 $pow = array("vim", "php", "brain", "power", "electricity",
493 "coffee", "ufo", "penguin", "GNOME", "ELF", "DWARF",
494 "voodoo magic", "Linux", "x-files", "X", "foobar",
495 "/dev/null", "/dev/zero", "/dev/drzewo",
496 "Leppe'", "matrix", "Neo", "PDP-11",
497 "Ken", "GNU antilope", "PDP-7", "ITS", "Multics",
498 "foobarbaz", "ed", "Joe", "Unix conspiracy",
499 "overclock", "The Right Thing",
500 "The Bad Thing", "Star Treck", "NSA", "NASA",
501 "achelon", "VAX", "Real Programmer",
502 "Real Operating System", "Real Computer",
503 "computron", "bogon", "quantum bogodynamics",
504 "BOFH", "/dev/ill", "nasi tu byli",
505 "Paranoid Android", "Lunatic Corp", "Parallel thinking",
506 "sfistak", "Linus", "The Golden Path", "Dark Side of the Force",
507 "Przewodniczacego Lepper-a", "KDE", "Microsoft Windows 2003", "sqlite3",
508 "synergy", "six Cray XMT Supercomputers"
509 # feel free to add sth if you change this file ;)
511 echo _("Powered by")." ";
513 for ($i = 0; $i < $max; $i++) {
514 $x = rand(0, count($pow) - 1);
515 if ($pow[$x] == "") $i--;
516 else echo $pow[$x] . ($i == $max - 1 ? "." : ", ");
519 echo "</small></div>";
521 echo "<div align=\"center\"><small>";
522 echo "Your IP: " . $_SERVER['REMOTE_ADDR'];
523 echo "</small></div>";
525 if (isset($dist) && isset($arch)) {
526 echo "<form action=\"index.php\" method=\"post\">";
527 echo "<input type=\"hidden\" name=\"dist\" value=\"$dist\" />";
528 echo "<input type=\"hidden\" name=\"arch\" value=\"$arch\" />";
529 echo "<input type=\"hidden\" name=\"action\" value=\"sqa\" />";
530 echo "<input type=\"text\" size=\"14\" name=\"str\" /><br />";
531 echo "<input type=\"submit\" name=\"submit\" value=\""._("Search rpmqa!")."\" />";
540 if (!isset($dist) || !isset($arch))
542 $addr = "http://ftp1.pld-linux.org/dists/$dist/.stat/builder/$dist/rpmqa-$arch.txt";
543 return fopen("$addr", "r");
548 global $url, $str, $dist, $arch;
551 echo "<h1>"._("Search results for")." '$str' "._("in")." $dist/$arch</h1>";
556 echo _("Sorry, cannot open.");
558 while (($s = fgets($f, 1000)) != false) {
559 if (stristr($s, $str))
567 function dump_qa($plain)
569 global $url, $dist, $arch;
574 header("Content-type: text/plain");
575 echo _("# rpm -qa of")." $dist/$arch\n";
577 echo "<h1>"._("rpm -qa of")." $a</h1>";
578 echo "<a href=\"$url?dist=$dist&arch=$arch&action=qatxt\">"._("text/plain version")."</a>";
583 echo _("Sorry, cannot open.");
585 while (($s = fgets($f, 1000)) != false) {
595 function adv_search()
597 global $database, $addr, $fail_or_ok, $url, $_POST, $off, $cnt, $root_directory, $ok, $ns;
599 $big_url = "$url?ok=$ok&ns=$ns&cnt=$cnt";
601 echo "<script><!--\n".
602 "function checkboxToggle() {\n".
603 "for (var i=0;i<document.forms[0].elements.length;i++) {\n".
604 "var e = document.forms[0].elements[i];\n".
605 "if ((e.name != 'all') && (e.type=='checkbox'))\n".
606 "e.checked = document.forms[0].all.checked;\n".
607 "}\n }\n -->\n </script>\n";
609 /* Shut up warnings */
610 if (!isset($_POST["n2"])) $_POST["n2"] = "";
611 if (!isset($_POST["age1"])) $_POST["age1"] = "";
612 if (!isset($_POST["age2"])) $_POST["age2"] = "";
613 if (!isset($_POST["size1"])) $_POST["size1"] = "";
614 if (!isset($_POST["size2"])) $_POST["size2"] = "";
616 echo "<form action=\"index.php?action=adv_search\" method=\"post\">";
618 echo "<div align=\"center\">";
619 echo "<table border=\"0\">\n";
621 echo "<td>"._("Package name")."</td>\n";
622 echo "<td><input type=\"text\" size=\"20\" name=\"n2\" value=\"". $_POST["name"] ."\"/></td>\n";
626 echo "<td>"._("Days")."</td>\n";
627 echo "<td>"._("From").": <input type=\"text\" size=\"20\" name=\"age1\" value=\"". $_POST["age1"] ."\" /></td>\n";
628 echo "<td>"._("To").": <input type=\"text\" size=\"20\" name=\"age2\" value=\"". $_POST["age2"] ."\" /></td>\n";
632 echo "<td>"._("Size")."</td>\n";
633 echo "<td>"._("From").": <input type=\"text\" size=\"20\" name=\"size1\" value=\"". $_POST["size1"] ."\" /></td>\n";
634 echo "<td>"._("To").": <input type=\"text\" size=\"20\" name=\"size2\" value=\"". $_POST["size2"] ."\" /></td>\n";
638 echo "<td>"._("Search logs:")."</td>\n";
642 echo "<td>"._("Failed")."</td>\n";
643 echo "<td>"._("OK")."</td>\n";
647 foreach ($addr as $dist => $ddist) {
648 foreach ($ddist as $arch) {
651 if (!isset($_POST["$name"])) {
654 $check=" checked='checked'";
656 echo "<td><input name=\"$name\" id=\"$name\" type=\"checkbox\"$check /><label for=\"$name\">". "$dist/$arch" ."</label></td>\n";
658 if (!isset($_POST["$n2"])) {
661 $check=" checked='checked'";
663 echo "<td><input name=\"$name\" id=\"$name\" type=\"checkbox\"$check /><label for=\"$name\">". "$dist/$arch" ."</label></td>\n";
670 echo "<td><label><input name=\"all\" type=\"checkbox\" checked=\"on\" onClick=\"checkboxToggle()\">"._("Toggle checkboxes")."</label> <input type=\"submit\" name=\"submit\" value=\""._("Search!")."\" /></td>";
675 // if (isset($_POST["name"]) || isset($_POST["age1"]) || isset($_POST["age2"]) ||
676 // isset($_POST["size1"]) || isset($_POST["size2"])
677 if (($_POST["n2"]!="") || ($_POST["age1"]!="") || ($_POST["age2"]!="") ||
678 ($_POST["size1"]!="") || ($_POST["size2"]!=""))
680 $query = "SELECT log_id, dist, arch, ok, name, size, mtime, id FROM logs WHERE 1 ";
681 if ($_POST["n2"] != "") {
682 $n = addslashes($_POST["n2"]);
683 $query .= "AND name LIKE '$n%' ";
687 if ($_POST["age1"] != "") {
688 $age = $now - (int)$_POST["age1"] * 24 * 3600;
689 $query .= "AND mtime > $age ";
692 if ($_POST["age2"] != "") {
693 $age = $now - (int)$_POST["age2"] * 24 * 3600;
694 $query .= "AND mtime < $age ";
697 if ($_POST["size1"] != "") {
698 $size = (int)$_POST["size1"];
699 $query .= "AND size > $size ";
702 if ($_POST["size2"] != "") {
703 $size = (int)$_POST["size2"];
704 $query .= "AND size < $size ";
709 foreach ($addr as $dist => $ddist) {
710 foreach ($ddist as $arch) {
711 for ($j = 0; $j < 2; $j++) {
712 if (isset($_POST["as" . $j . "_" .$i])) {
713 $query .= "$or (dist = '$dist' AND arch = '$arch' AND ok = $j)";
720 if ($or == " OR ") $query .= ")";
721 // if (!isset($cnt)) $cnt = 50;
722 // if (!isset($off)) $off = 0;
723 if (!isset($ns)) $ns = 0;
726 $query .= " ORDER BY mtime DESC";
729 $query .= " ORDER BY name";
732 $query .= " ORDER BY dist, arch, name";
735 $query .= " LIMIT $cnt OFFSET $off ";
738 $dbh = new PDO("$database");
739 } catch (PDOException $e) {
740 mydie("new PDO: " . $e->getMessage());
742 $result = $dbh->query("$query")->fetchAll();
744 if ($result == FALSE) {
745 echo _("Nothing found");
747 echo "<table border=\"0\" cellspacing=\"1\" ".
748 "cellpadding=3 bgcolor=\"#000000\" width=\"90%\">\n";
749 echo "<tr><th bgcolor=\"#CCCCFF\" align=\"left\" width=\"10%\">"._("Builder").
750 "[<a href=\"$big_url&ns=2\">"._("sort")."</a>]</th>";
751 echo "<th bgcolor=\"#CCCCFF\" align=\"left\" width=\"60%\">"._("Log File").
752 "[<a href=\"$big_url&ns=1\">"._("sort")."</a>]</th>".
753 "<th bgcolor=\"#CCCCFF\" align=\"right\" width=\"15%\">"._("Size")."</th> ".
754 "<th bgcolor=\"#CCCCFF\" align=\"left\">"._("Age").
755 "[<a href=\"$big_url&ns=0\">"._("sort")."</a>]</th>".
758 // for ($i = $off; $i < $off + $count; $i++) {
759 foreach ($result as $row) {
760 $dist = $row["dist"];
761 $arch = $row["arch"];
762 $name = $row["name"];
763 $name_url = urlencode($name);
766 $t = $now - $row["mtime"];
774 $t = $t . " " . ngettext("day","days",$t);
777 $t = $t . " " . ngettext("hour","hours",$t);
781 $t = $t . " " . ngettext("minute","minutes",$t);
784 // $big_url = "$url?idx=$i&ok=$j&ns=$ns&cnt=$cnt";
786 $u = "$url?dist=$dist&arch=$arch&name=$name_url&ok=$ok&id=$id";
787 $b = "$url?dist=$dist&arch=$arch&ok=$ok&ns=$ns&off=$off&cnt=$cnt";
789 $builder = "$dist/$arch/". $fail_or_ok[$ok];
791 echo "<td bgcolor=\"#CCCCCC\"><a href=\"$b\">$builder</a></td>";
792 echo "<td bgcolor=\"#CCCCCC\"><a href=\"$u\">$f</a> ".
793 "[<a href=\"$u&action=text\">"._("text")."</a> | ".
794 "<a href=\"$u&action=tail\">"._("tail")."</a>]".
795 "</td><td bgcolor=\"#CCCCCC\" align=\"right\">".
796 "$s</td><td bgcolor=\"#CCCCCC\">$t</td></tr>\n";
799 echo "</table></div>\n";
801 $backarr = "<<< ";
802 $back = _("Page back");
803 $forward = _("Page forward");
804 $forwardarr = " >>>";
809 echo "<p><table width=\"90%\" align=\"center\"><tr><td align=left width=1%>";
815 $hrefurl = "<a href=\"$big_url&off=$noff\">";
816 echo "$hrefurl$backarr</a></td><td align=left>$hrefurl$back</a>";
818 echo "$backarr</td><td align=left>$back";
821 echo "</td>\n<td align=\"center\">";
822 echo "</td>\n<td align=\"right\">";
824 if ($off + $cnt < count($list))
829 $hrefurl = "<a href=\"$big_url&off=$noff\">";
830 echo "$hrefurl$forward</a></td><td align=\"right\" width=\"1%\">$hrefurl$forwardarr</a>";
834 echo "$forward</td><td align=\"right\" width=\"1%\">$forwardarr";
837 echo "</td>\n</tr></table></p>";
841 echo _("Enter something!");
843 echo "</div></form>\n";
849 <table border="0" width="100%"><tr><td width="20%"> </td><td>
850 <h1><?=_("Welcome!")?></h1>
851 <p><?=_("Welcome to PLD Build Logs WWW interface.")?></p><p>
852 <?=_("Feel free to email bug reports, complaints and feature requests ")?>
853 <!-- ech... niech strace... -->
854 <a href="mailto:feedback@pld-linux.org"><?=_("to us")?></a>. <?=_("Positive opinions are also")?>
855 <a href="mailto:feedback@pld-linux.org"><?=_("welcome")?></a> ;)</p>
856 <p>Version: $Id: index.php,v 1.20 2012/06/22 12:11:12 arekm Exp $</p>
857 </td><td width="20%"> </td></tr>
862 header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
863 header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
864 header("Cache-Control: no-cache, must-revalidate");
865 header("Pragma: no-cache");
868 if ($action == "text") {
870 } else if ($action == "adv_search") {
874 } else if ($action == "qatxt") {
878 echo "<table cellpadding=\"10\" width=\"100%\"><tr><td valign=\"top\" width=\"10%\">";
880 echo "</td><td valign=\"top\">";
884 else if ($action == "sqa")
886 else if (isset($id) || isset($name))
887 dump_log($action == "tail");
888 else if (isset($dist))
892 echo "</td></tr></table>";