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;
105 <!-- Diffrent color for visited link doesn't make much sense here...
106 this page is autogenerated and it might be misleading after some
107 build log changes. -->
108 <body bgcolor="#ffffff" text="#000000" link="#5f26cd" vlink="#5f26cd">
114 echo "<table cellpadding=\"10\"><tr><td bgcolor=\"#000000\">".
115 "<font color=\"#cccccc\"><pre style=\"width: 2048px;overflow: scroll\">";
120 echo "</pre></font></td></tr></table>\n";
125 echo "</body></html>";
131 echo "Fatal error: $msg";
139 global $arch, $dist, $ok;
140 global $big_url, $ns;
141 global $off, $cnt, $root_directory, $url;
143 $big_url = "$url?dist=$dist&arch=$arch&ok=$ok&ns=$ns&cnt=$cnt";
146 echo "<h1>"._("Listing of")." $dist/$arch/OK "
147 ."(<a href=\"$big_url&ok=0\">"._("fail")."</a>)</h1>\n";
149 echo "<h1>"._("Listing of")." $dist/$arch/FAIL "
150 ."(<a href=\"$big_url&ok=1\">"._("ok")."</a>)</h1>\n";
153 echo "<div align=\"center\"><table cols=\"4\" border=\"0\" cellspacing=\"1\" ".
154 "cellpadding=\"3\" bgcolor=\"#000000\" width=\"90%\">\n";
155 echo "<tr><th bgcolor=\"#CCCCFF\" align=\"right\" width=\"1%\">"._("No.")."</th>".
156 "<th bgcolor=\"#CCCCFF\" align=\"left\" width=\"80%\">"._("Log File").
157 "[<a href=\"$big_url&ns=1\">"._("sort")."</a>]</th>".
158 "<th bgcolor=\"#CCCCFF\" align=\"right\" width=\"15%\">"._("Size")."</th> ".
159 "<th bgcolor=\"#CCCCFF\" align=\"left\">"._("Age").
160 "[<a href=\"$big_url&ns=0\">"._("sort")."</a>]</th>".
163 if ($ns != 1) $ns = 0;
164 if (!isset($ok)) $ok = 0;
165 // if (!isset($off)) $off = 0;
166 // if (!isset($cnt)) $cnt = 50;
167 if ($ns == 0) $order = "mtime DESC";
168 else $order = "name";
170 $query = "SELECT log_id, dist, arch, ok, name, mtime, size, id FROM logs WHERE "
171 . "dist = '$dist' AND arch = '$arch' AND ok = $ok ORDER BY $order LIMIT $cnt OFFSET $off";
174 $dbh = new PDO("$database");
175 } catch (PDOException $e) {
176 mydie("new PDO: " . $e->getMessage());
180 foreach ($dbh->query("$query") as $row) {
181 $name = $row["name"];
183 $dist = $row["dist"];
184 $arch = $row["arch"];
186 $name_url = urlencode($name);
187 $t = $now - $row["mtime"];
197 $t = $t . " " . ngettext("day","days",$t);
200 $t = $t . " " . ngettext("hour","hours",$t);
204 $t = $t . " " . ngettext("minute","minutes",$t);
206 $u = "$url?dist=$dist&arch=$arch&ok=$ok&name=$name_url&id=$id";
207 echo "<tr><td bgcolor=\"#CCCCCC\" align=\"right\">".($i+1).".</td>".
208 "<td bgcolor=\"#CCCCCC\"><a href=\"$u\">$f</a> ".
209 "[<a href=\"$u&action=text\">"._("text")."</a> | ".
210 "<a href=\"$u&action=tail\">"._("tail")."</a>]".
211 "</td><td bgcolor=\"#CCCCCC\" align=\"right\">".
212 "$s</td><td bgcolor=\"#CCCCCC\">$t</td></tr>\n";
216 echo "</table></div>\n";
218 $backarr = "<<< ";
219 $back = _("Page back");
220 $forward = _("Page forward");
221 $forwardarr = " >>>";
223 echo "<p><table width=\"90%\" align=\"center\"><tr><td align=\"left\" width=\"1%\">";
226 $noff = $off - $count;
229 $hrefurl = "<a href=\"$big_url&off=$noff\">";
230 echo "$hrefurl$backarr</a></td><td align=\"left\">$hrefurl$back</a>";
232 echo "$backarr</td><td align=\"left\">$back";
235 echo "</td>\n<td align=\"center\">";
237 if (isset($dist) && isset($arch)) {
238 echo "[<a href=\"$big_url&action=qa\">"._("View <quot>rpm -qa</quot> of builder")."</a>]";
243 echo "</td>\n<td align=right>";
244 if ($cnt == $count) {
248 $hrefurl = "<a href=\"$big_url&off=$noff\">";
249 echo "$hrefurl$forward</a></td><td align=right width=1%>$hrefurl$forwardarr</a>";
251 echo "$forward</td><td align=right width=1%>$forwardarr";
253 echo "</td>\n</tr></table></p>";
258 global $ok, $dist, $arch, $name, $name_url, $id;
260 if (isset($name) && isset($ok) && isset($arch) && isset($dist)) {
261 if (isset($id) && $id != '') {
262 $name = $name . ",$id";
264 $w = $ok ? "OK" : "FAIL";
265 return "$dist/$arch/$w/$name.bz2";
269 function dump_log($tail)
271 global $ok, $url, $dist, $arch, $name, $name_url;
272 global $root_directory, $big_url, $ns, $id, $cnt, $off;
273 global $buildlogs_server;
280 $df = preg_replace("/.*\/([^\/]*)$/", "\\1", $f);
281 $df = preg_replace("/\.(bz2|gz)$/", "", $df);
285 echo "<table border=\"0\" cellpadding=\"3\" cellspacing=\"1\" bgcolor=\"#000000\">";
287 function one_item($h, $t) {
288 echo "<tr><td bgcolor=\"#ccccff\">$h:</td>".
289 "<td bgcolor=\"#cccccc\">$t</td></tr>";
292 function href($h, $c) {
293 return "<a href=\"$h\">$c</a>";
296 one_item(_("Status"), ($ok == 1 ?
297 "<font color=\"green\"><b>"._("OK")."</b></font>" :
298 "<font color=\"red\"><b>"._("Failed")."</b></a>"));
299 one_item(_("Source URL"),
300 href("ftp://$buildlogs_server/$f",
301 "ftp://$buildlogs_server/$f"));
303 $big_url = "$url?dist=$dist&arch=$arch&ok=$ok&ns=$ns&cnt=$cnt";
304 $bu = "$big_url&off=$off";
306 one_item(_("text/plain URL"),
307 href("$bu&name=$name_url&id=$id&action=text",
310 one_item(_("full text"),
311 href("$bu&name=$name_url&id=$id",
315 if (isset($dist) && isset($arch)) {
316 one_item(_("rpm -qa of builder"), href("$bu&action=qa", _("View!")));
318 one_item(_("rpm -qa of builder"), _("Not available"));
320 one_item("Date", date("Y/m/d H:i:s", filemtime("$root_directory/$f")));
322 echo "<tr><td>Here:</td><td>" .
323 "<a href=\"$url?idx=$idx&ok=$ok&id=$id\">".
324 "http://" . getenv("SERVER_NAME") .
325 getenv("SCRIPT_NAME") . "?idx=$idx&ok=$ok&id=$id</a>" .
328 echo "</table><h2>"._("Content:")."</h2>";
331 # what can I say beside PHP suxx? how the fuck should I create
332 # bidirectional pipe? gotta use wget
334 if (preg_match("/\.bz2$/", $f)) {
336 } elseif (preg_match("/\.gz$/", $f)) {
342 $cmd = "$filter '$root_directory/$f'";
344 $cmd = "$cmd | tail -n 100";
345 $fd = popen($cmd, "r");
347 while (($s = fgets($fd, 102400)) != false) {
348 if (strlen($s) > 800) {
349 $s = chunk_split($s, 800, "\n ");
352 $s = htmlspecialchars($s);
362 [<a href="<?php echo $bu; ?>"><?=_("Back to list of logs")?></a>]
365 [<a href="<?php echo "$bu&action=qa"
366 ?>"><?=_("View rpm -qa of builder")?></a>]
376 global $root_directory;
377 global $buildlogs_server;
379 header("Content-type: text/plain");
385 echo "# src : ftp://$buildlogs_server/$f\n";
387 date("Y/m/d H:i:s", filemtime("$root_directory/$f")) . "\n";
389 if (preg_match("/\.bz2$/", $f)) {
391 } elseif (preg_match("/\.gz$/", $f)) {
397 $cmd = "$filter '$root_directory/$f'";
398 $fd = popen($cmd, "r");
399 while (($s = fgets($fd, 1000)) != false) {
405 function list_archs()
407 global $addr, $url, $cnt,$ok,$ns;
412 $big_url = "$url?ok=$ok&ns=$ns&cnt=$cnt";
414 echo "<table width=\"100%\" border=\"0\">\n";
415 echo "<tr><td bgcolor=\"#cccccc\" nowrap=\"nowrap\">"._("Failed")."</td><td bgcolor=\"#cccccc\">"._("Ok")."</td></tr>\n";
416 foreach ($addr as $dist => $ddist) {
417 foreach ($ddist as $arch) {
418 echo "<tr><td nowrap=\"nowrap\">".
419 "<a href=\"$url?dist=$dist&arch=$arch&ok=0&cnt=$cnt\">
420 $dist/$arch</a></td><td nowrap=\"nowrap\">".
421 "[<a href=\"$url?dist=$dist&arch=$arch&ok=1&cnt=$cnt\">OK</a>]</td>".
422 #"<td>[<a href=\"$url?idx=$i&action=qa\">qa</a>]</td>".
426 echo "</table><hr />\n";
428 echo "<div align=\"center\">";
429 echo "<a href=\"$big_url&action=adv_search\">"._("Advanced Search")."</a><br />\n";
431 echo "<a href=\"$url\">main()</a><hr />\n";
432 echo "<a href=\"http://www.pld-linux.org/\"><img src=\"powpld.png\" ".
433 "alt=\""._("Powered by PLD Linux")."\" border=\"0\" /></a><br />\n" .
435 "<a href=\"mailto:feedback@pld-linux.org\">PLD Team</a><br />\n".
440 echo "<div align=\"center\"><small>";
441 $pow = array("vim", "php", "brain", "power", "electricity",
442 "coffee", "ufo", "penguin", "GNOME", "ELF", "DWARF",
443 "voodoo magic", "Linux", "x-files", "X", "foobar",
444 "/dev/null", "/dev/zero", "/dev/drzewo",
445 "Leppe'", "matrix", "Neo", "PDP-11",
446 "Ken", "GNU antilope", "PDP-7", "ITS", "Multics",
447 "foobarbaz", "ed", "Joe", "Unix conspiracy",
448 "overclock", "The Right Thing",
449 "The Bad Thing", "Star Treck", "NSA", "NASA",
450 "achelon", "VAX", "Real Programmer",
451 "Real Operating System", "Real Computer",
452 "computron", "bogon", "quantum bogodynamics",
453 "BOFH", "/dev/ill", "nasi tu byli",
454 "Paranoid Android", "Lunatic Corp", "Parallel thinking",
455 "sfistak", "Linus", "The Golden Path", "Dark Side of the Force",
456 "Przewodniczacego Lepper-a", "KDE", "Microsoft Windows 2003", "sqlite3",
457 "synergy", "six Cray XMT Supercomputers"
458 # feel free to add sth if you change this file ;)
460 echo _("Powered by")." ";
462 for ($i = 0; $i < $max; $i++) {
463 $x = rand(0, count($pow) - 1);
464 if ($pow[$x] == "") $i--;
465 else echo $pow[$x] . ($i == $max - 1 ? "." : ", ");
468 echo "</small></div>";
470 echo "<div align=\"center\"><small>";
471 echo "Your IP: " . $_SERVER['REMOTE_ADDR'];
472 echo "</small></div>";
474 if (isset($dist) && isset($arch)) {
475 echo "<form action=\"index.php\" method=\"post\">";
476 echo "<input type=\"hidden\" name=\"dist\" value=\"$dist\" />";
477 echo "<input type=\"hidden\" name=\"arch\" value=\"$arch\" />";
478 echo "<input type=\"hidden\" name=\"action\" value=\"sqa\" />";
479 echo "<input type=\"text\" size=\"14\" name=\"str\" /><br />";
480 echo "<input type=\"submit\" name=\"submit\" value=\""._("Search rpmqa!")."\" />";
489 if (!isset($dist) || !isset($arch))
492 $addr = "http://ftp.pld-linux.org/dists/$dist/.stat/builder/$dist/rpmqa-$arch.txt";
494 $addr = "http://ftp.pld-linux.org/branches/titanium/.stat/builder/$dist/rpmqa-$arch.txt";
496 return fopen("$addr", "r");
501 global $url, $str, $dist, $arch;
504 echo "<h1>"._("Search results for")." '$str' "._("in")." $dist/$arch</h1>";
509 echo _("Sorry, cannot open.");
511 while (($s = fgets($f, 1000)) != false) {
512 if (stristr($s, $str))
520 function dump_qa($plain)
522 global $url, $dist, $arch;
527 header("Content-type: text/plain");
528 echo _("# rpm -qa of")." $dist/$arch\n";
530 echo "<h1>"._("rpm -qa of")." $a</h1>";
531 echo "<a href=\"$url?dist=$dist&arch=$arch&action=qatxt\">"._("text/plain version")."</a>";
536 echo _("Sorry, cannot open.");
538 while (($s = fgets($f, 1000)) != false) {
548 function adv_search()
550 global $database, $addr, $fail_or_ok, $url, $_POST, $off, $cnt, $root_directory, $ok, $ns;
552 $big_url = "$url?ok=$ok&ns=$ns&cnt=$cnt";
554 echo "<script><!--\n".
555 "function checkboxToggle() {\n".
556 "for (var i=0;i<document.forms[0].elements.length;i++) {\n".
557 "var e = document.forms[0].elements[i];\n".
558 "if ((e.name != 'all') && (e.type=='checkbox'))\n".
559 "e.checked = document.forms[0].all.checked;\n".
560 "}\n }\n -->\n </script>\n";
562 /* Shut up warnings */
563 if (!isset($_POST["n2"])) $_POST["n2"] = "";
564 if (!isset($_POST["age1"])) $_POST["age1"] = "";
565 if (!isset($_POST["age2"])) $_POST["age2"] = "";
566 if (!isset($_POST["size1"])) $_POST["size1"] = "";
567 if (!isset($_POST["size2"])) $_POST["size2"] = "";
569 echo "<form action=\"index.php?action=adv_search\" method=\"post\">";
571 echo "<div align=\"center\">";
572 echo "<table border=\"0\">\n";
574 echo "<td>"._("Package name")."</td>\n";
575 echo "<td><input type=\"text\" size=\"20\" name=\"n2\" value=\"". $_POST["name"] ."\"/></td>\n";
579 echo "<td>"._("Days")."</td>\n";
580 echo "<td>"._("From").": <input type=\"text\" size=\"20\" name=\"age1\" value=\"". $_POST["age1"] ."\" /></td>\n";
581 echo "<td>"._("To").": <input type=\"text\" size=\"20\" name=\"age2\" value=\"". $_POST["age2"] ."\" /></td>\n";
585 echo "<td>"._("Size")."</td>\n";
586 echo "<td>"._("From").": <input type=\"text\" size=\"20\" name=\"size1\" value=\"". $_POST["size1"] ."\" /></td>\n";
587 echo "<td>"._("To").": <input type=\"text\" size=\"20\" name=\"size2\" value=\"". $_POST["size2"] ."\" /></td>\n";
591 echo "<td>"._("Search logs:")."</td>\n";
595 echo "<td>"._("Failed")."</td>\n";
596 echo "<td>"._("OK")."</td>\n";
600 foreach ($addr as $dist => $ddist) {
601 foreach ($ddist as $arch) {
604 if (!isset($_POST["$name"])) {
607 $check=" checked='checked'";
609 echo "<td><input name=\"$name\" id=\"$name\" type=\"checkbox\"$check /><label for=\"$name\">". "$dist/$arch" ."</label></td>\n";
611 if (!isset($_POST["$n2"])) {
614 $check=" checked='checked'";
616 echo "<td><input name=\"$name\" id=\"$name\" type=\"checkbox\"$check /><label for=\"$name\">". "$dist/$arch" ."</label></td>\n";
623 echo "<td><label><input name=\"all\" type=\"checkbox\" checked=\"on\" onClick=\"checkboxToggle()\">"._("Toggle checkboxes")."</label> <input type=\"submit\" name=\"submit\" value=\""._("Search!")."\" /></td>";
628 // if (isset($_POST["name"]) || isset($_POST["age1"]) || isset($_POST["age2"]) ||
629 // isset($_POST["size1"]) || isset($_POST["size2"])
630 if (($_POST["n2"]!="") || ($_POST["age1"]!="") || ($_POST["age2"]!="") ||
631 ($_POST["size1"]!="") || ($_POST["size2"]!=""))
633 $query = "SELECT log_id, dist, arch, ok, name, size, mtime, id FROM logs WHERE 1 ";
634 if ($_POST["n2"] != "") {
635 $n = addslashes($_POST["n2"]);
636 $query .= "AND name LIKE '$n%' ";
640 if ($_POST["age1"] != "") {
641 $age = $now - (int)$_POST["age1"] * 24 * 3600;
642 $query .= "AND mtime > $age ";
645 if ($_POST["age2"] != "") {
646 $age = $now - (int)$_POST["age2"] * 24 * 3600;
647 $query .= "AND mtime < $age ";
650 if ($_POST["size1"] != "") {
651 $size = (int)$_POST["size1"];
652 $query .= "AND size > $size ";
655 if ($_POST["size2"] != "") {
656 $size = (int)$_POST["size2"];
657 $query .= "AND size < $size ";
662 foreach ($addr as $dist => $ddist) {
663 foreach ($ddist as $arch) {
664 for ($j = 0; $j < 2; $j++) {
665 if (isset($_POST["as" . $j . "_" .$i])) {
666 $query .= "$or (dist = '$dist' AND arch = '$arch' AND ok = $j)";
673 if ($or == " OR ") $query .= ")";
674 // if (!isset($cnt)) $cnt = 50;
675 // if (!isset($off)) $off = 0;
676 if (!isset($ns)) $ns = 0;
679 $query .= " ORDER BY mtime DESC";
682 $query .= " ORDER BY name";
685 $query .= " ORDER BY dist, arch, name";
688 $query .= " LIMIT $cnt OFFSET $off ";
691 $dbh = new PDO("$database");
692 } catch (PDOException $e) {
693 mydie("new PDO: " . $e->getMessage());
695 $result = $dbh->query("$query")->fetchAll();
697 if ($result == FALSE) {
698 echo _("Nothing found");
700 echo "<table border=\"0\" cellspacing=\"1\" ".
701 "cellpadding=3 bgcolor=\"#000000\" width=\"90%\">\n";
702 echo "<tr><th bgcolor=\"#CCCCFF\" align=\"left\" width=\"10%\">"._("Builder").
703 "[<a href=\"$big_url&ns=2\">"._("sort")."</a>]</th>";
704 echo "<th bgcolor=\"#CCCCFF\" align=\"left\" width=\"60%\">"._("Log File").
705 "[<a href=\"$big_url&ns=1\">"._("sort")."</a>]</th>".
706 "<th bgcolor=\"#CCCCFF\" align=\"right\" width=\"15%\">"._("Size")."</th> ".
707 "<th bgcolor=\"#CCCCFF\" align=\"left\">"._("Age").
708 "[<a href=\"$big_url&ns=0\">"._("sort")."</a>]</th>".
711 // for ($i = $off; $i < $off + $count; $i++) {
712 foreach ($result as $row) {
713 $dist = $row["dist"];
714 $arch = $row["arch"];
715 $name = $row["name"];
716 $name_url = urlencode($name);
719 $t = $now - $row["mtime"];
727 $t = $t . " " . ngettext("day","days",$t);
730 $t = $t . " " . ngettext("hour","hours",$t);
734 $t = $t . " " . ngettext("minute","minutes",$t);
737 // $big_url = "$url?idx=$i&ok=$j&ns=$ns&cnt=$cnt";
739 $u = "$url?dist=$dist&arch=$arch&name=$name_url&ok=$ok&id=$id";
740 $b = "$url?dist=$dist&arch=$arch&ok=$ok&ns=$ns&off=$off&cnt=$cnt";
742 $builder = "$dist/$arch/". $fail_or_ok[$ok];
744 echo "<td bgcolor=\"#CCCCCC\"><a href=\"$b\">$builder</a></td>";
745 echo "<td bgcolor=\"#CCCCCC\"><a href=\"$u\">$f</a> ".
746 "[<a href=\"$u&action=text\">"._("text")."</a> | ".
747 "<a href=\"$u&action=tail\">"._("tail")."</a>]".
748 "</td><td bgcolor=\"#CCCCCC\" align=\"right\">".
749 "$s</td><td bgcolor=\"#CCCCCC\">$t</td></tr>\n";
752 echo "</table></div>\n";
754 $backarr = "<<< ";
755 $back = _("Page back");
756 $forward = _("Page forward");
757 $forwardarr = " >>>";
762 echo "<p><table width=\"90%\" align=\"center\"><tr><td align=left width=1%>";
768 $hrefurl = "<a href=\"$big_url&off=$noff\">";
769 echo "$hrefurl$backarr</a></td><td align=left>$hrefurl$back</a>";
771 echo "$backarr</td><td align=left>$back";
774 echo "</td>\n<td align=\"center\">";
775 echo "</td>\n<td align=\"right\">";
777 if ($off + $cnt < count($list))
782 $hrefurl = "<a href=\"$big_url&off=$noff\">";
783 echo "$hrefurl$forward</a></td><td align=\"right\" width=\"1%\">$hrefurl$forwardarr</a>";
787 echo "$forward</td><td align=\"right\" width=\"1%\">$forwardarr";
790 echo "</td>\n</tr></table></p>";
794 echo _("Enter something!");
796 echo "</div></form>\n";
802 <table border="0" width="100%"><tr><td width="20%"> </td><td>
803 <h1><?=_("Welcome!")?></h1>
804 <p><?=_("Welcome to PLD Build Logs WWW interface.")?></p><p>
805 <?=_("Feel free to email bug reports, complaints and feature requests ")?>
806 <!-- ech... niech strace... -->
807 <a href="mailto:feedback@pld-linux.org"><?=_("to us")?></a>. <?=_("Positive opinions are also")?>
808 <a href="mailto:feedback@pld-linux.org"><?=_("welcome")?></a> ;)</p>
809 <p>Version: $Id: index.php,v 1.13 2010/05/23 17:03:07 adamg Exp $</p>
810 </td><td width="20%"> </td></tr>
815 header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
816 header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
817 header("Cache-Control: no-cache, must-revalidate");
818 header("Pragma: no-cache");
821 if ($action == "text") {
823 } else if ($action == "adv_search") {
827 } else if ($action == "qatxt") {
831 echo "<table cellpadding=\"10\" width=\"100%\"><tr><td valign=\"top\" width=\"10%\">";
833 echo "</td><td valign=\"top\">";
837 else if ($action == "sqa")
839 else if (isset($id) || isset($name))
840 dump_log($action == "tail");
841 else if (isset($dist))
845 echo "</td></tr></table>";