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/buildlogs.db';
8 $root_directory = "/home/services/ftp/pub/pld-buildlogs";
11 // $database, $root_directory and others are taken from buildlogs.inc
12 include('buildlogs2.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 = basename($_GET["name"]);
58 if (isset($_GET["ok"]))$ok=(int)$_GET["ok"];
60 if (isset($_GET["ns"]))$ns=(int)$_GET["ns"];
62 if (isset($_GET["cnt"]))$cnt=(int)$_GET["cnt"];
64 if (isset($_GET["action"]))$action=$_GET["action"];
66 if (isset($_GET["off"]))$off=(int)$_GET["off"];
68 if (isset($_GET["id"]))$id=$_GET["id"];
70 if (isset($_POST["str"]))$str=$_POST["str"];
71 if (isset($_POST["action"]))$action=$_POST["action"];
75 echo '<' . '?xml version="1.0" encoding="' . _("ISO-8859-1") .'"?' . ">\n";
76 echo '<' . '?xml-stylesheet href="#internalStyle" type="text/css"?' . ">\n";
78 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
79 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
80 <html xmlns="http://www.w3.org/1999/xhtml">
82 <title>PLD Build Logs</title>
83 <?php echo '<meta http-equiv="Content-type" content="text/html; charset=' . _("ISO-8859-1") .'"/>' ."\n";?>
84 <style type="text/css"><!--
85 A { text-decoration: none; }
86 A:hover { text-decoration: underline; }
87 H1 { font-family: arial,helvetica,sans-serif;
90 H2 { font-family: arial,helvetica,sans-serif;
93 BODY,TD { font-family: arial,helvetica,sans-serif;
95 TH { font-family: arial,helvetica,sans-serif;
101 <!-- Diffrent color for visited link doesn't make much sense here...
102 this page is autogenerated and it might be misleading after some
103 build log changes. -->
104 <body bgcolor="#ffffff" text="#000000" link="#5f26cd" vlink="#5f26cd">
110 echo "<table cellpadding=\"10\"><tr><td bgcolor=\"#000000\">".
111 "<font color=\"#cccccc\"><pre style=\"width: 2048px;overflow: scroll\">";
116 echo "</pre></font></td></tr></table>\n";
121 echo "</body></html>";
127 echo "Fatal error: $msg";
135 global $arch, $dist, $ok;
136 global $big_url, $ns;
137 global $off, $cnt, $root_directory, $url;
139 $big_url = "$url?dist=$dist&arch=$arch&ok=$ok&ns=$ns&cnt=$cnt";
142 echo "<h1>"._("Listing of")." $dist/$arch/OK "
143 ."(<a href=\"$big_url&ok=0\">"._("fail")."</a>)</h1>\n";
145 echo "<h1>"._("Listing of")." $dist/$arch/FAIL "
146 ."(<a href=\"$big_url&ok=1\">"._("ok")."</a>)</h1>\n";
149 echo "<div align=\"center\"><table cols=\"4\" border=\"0\" cellspacing=\"1\" ".
150 "cellpadding=\"3\" bgcolor=\"#000000\" width=\"90%\">\n";
151 echo "<tr><th bgcolor=\"#CCCCFF\" align=\"right\" width=\"1%\">"._("No.")."</th>".
152 "<th bgcolor=\"#CCCCFF\" align=\"left\" width=\"80%\">"._("Log File").
153 "[<a href=\"$big_url&ns=1\">"._("sort")."</a>]</th>".
154 "<th bgcolor=\"#CCCCFF\" align=\"right\" width=\"15%\">"._("Size")."</th> ".
155 "<th bgcolor=\"#CCCCFF\" align=\"left\">"._("Age").
156 "[<a href=\"$big_url&ns=0\">"._("sort")."</a>]</th>".
159 if ($ns != 1) $ns = 0;
160 if (!isset($ok)) $ok = 0;
161 // if (!isset($off)) $off = 0;
162 // if (!isset($cnt)) $cnt = 50;
163 if ($ns == 0) $order = "mtime DESC";
164 else $order = "name";
166 $query = "SELECT log_id, dist, arch, ok, name, mtime, size, id FROM logs WHERE "
167 . "dist = '$dist' AND arch = '$arch' AND ok = $ok ORDER BY $order LIMIT $cnt OFFSET $off";
170 $dbh = new PDO("$database");
171 } catch (PDOException $e) {
172 mydie("new PDO: " . $e->getMessage());
176 foreach ($dbh->query("$query") as $row) {
178 $t = $now - $row["mtime"];
188 $t = $t . " " . ngettext("day","days",$t);
191 $t = $t . " " . ngettext("hour","hours",$t);
195 $t = $t . " " . ngettext("minute","minutes",$t);
197 $u = "$url?dist=$dist&arch=$arch&ok=$ok&name=$name&id=$id";
198 echo "<tr><td bgcolor=\"#CCCCCC\" align=\"right\">".($i+1).".</td>".
199 "<td bgcolor=\"#CCCCCC\"><a href=\"$u\">$f</a> ".
200 "[<a href=\"$u&action=text\">"._("text")."</a> | ".
201 "<a href=\"$u&action=tail\">"._("tail")."</a>]".
202 "</td><td bgcolor=\"#CCCCCC\" align=\"right\">".
203 "$s</td><td bgcolor=\"#CCCCCC\">$t</td></tr>\n";
207 echo "</table></div>\n";
209 $backarr = "<<< ";
210 $back = _("Page back");
211 $forward = _("Page forward");
212 $forwardarr = " >>>";
214 echo "<p><table width=\"90%\" align=\"center\"><tr><td align=\"left\" width=\"1%\">";
217 $noff = $off - $count;
220 $hrefurl = "<a href=\"$big_url&off=$noff\">";
221 echo "$hrefurl$backarr</a></td><td align=\"left\">$hrefurl$back</a>";
223 echo "$backarr</td><td align=\"left\">$back";
226 echo "</td>\n<td align=\"center\">";
228 if (isset($dist) && isset($arch)) {
229 echo "[<a href=\"$big_url&action=qa\">"._("View <quot>rpm -qa</quot> of builder")."</a>]";
234 echo "</td>\n<td align=right>";
235 if ($cnt == $count) {
239 $hrefurl = "<a href=\"$big_url&off=$noff\">";
240 echo "$hrefurl$forward</a></td><td align=right width=1%>$hrefurl$forwardarr</a>";
242 echo "$forward</td><td align=right width=1%>$forwardarr";
244 echo "</td>\n</tr></table></p>";
249 global $ok, $dist, $arch, $name, $id;
251 if (isset($name) && isset($ok) && isset($arch) && isset($dist)) {
252 if (isset($id) && $id != '') {
253 $name = $name . ",$id";
255 $w = $ok ? "OK" : "FAIL";
256 return "$dist/$arch/$w/$name.bz2";
260 function dump_log($tail)
262 global $ok, $url, $dist, $arch;
263 global $root_directory, $big_url, $ns, $id, $cnt, $off;
264 global $buildlogs_server;
271 $df = preg_replace("/.*\/([^\/]*)$/", "\\1", $f);
272 $df = preg_replace("/\.(bz2|gz)$/", "", $df);
276 echo "<table border=\"0\" cellpadding=\"3\" cellspacing=\"1\" bgcolor=\"#000000\">";
278 function one_item($h, $t) {
279 echo "<tr><td bgcolor=\"#ccccff\">$h:</td>".
280 "<td bgcolor=\"#cccccc\">$t</td></tr>";
283 function href($h, $c) {
284 return "<a href=\"$h\">$c</a>";
287 one_item(_("Status"), ($ok == 1 ?
288 "<font color=\"green\"><b>"._("OK")."</b></font>" :
289 "<font color=\"red\"><b>"._("Failed")."</b></a>"));
290 one_item(_("Source URL"),
291 href("ftp://$buildlogs_server/$f",
292 "ftp://$buildlogs_server/$f"));
294 $big_url = "$url?dist=$dist&arch=$arch&ok=$ok&ns=$ns&cnt=$cnt";
295 $bu = "$big_url&off=$off";
297 one_item(_("text/plain URL"),
298 href("$bu&id=$id&action=text",
301 one_item(_("full text"),
302 href("$bu&id=$id",
306 if (isset($dist) && isset($arch)) {
307 one_item(_("rpm -qa of builder"), href("$bu&action=qa", _("View!")));
309 one_item(_("rpm -qa of builder"), _("Not available"));
311 one_item("Data", date("Y/m/d H:i:s", filemtime("$root_directory/$f")));
313 echo "<tr><td>Here:</td><td>" .
314 "<a href=\"$url?idx=$idx&ok=$ok&id=$id\">".
315 "http://" . getenv("SERVER_NAME") .
316 getenv("SCRIPT_NAME") . "?idx=$idx&ok=$ok&id=$id</a>" .
319 echo "</table><h2>"._("Content:")."</h2>";
322 # what can I say beside PHP suxx? how the fuck should I create
323 # bidirectional pipe? gotta use wget
325 if (preg_match("/\.bz2$/", $f)) {
327 } elseif (preg_match("/\.gz$/", $f)) {
333 $cmd = "$filter $root_directory/$f";
335 $cmd = "$cmd | tail -n 100";
336 $fd = popen($cmd, "r");
338 while (($s = fgets($fd, 102400)) != false) {
339 if (strlen($s) > 800) {
340 $s = chunk_split($s, 800, "\n ");
343 $s = htmlspecialchars($s);
353 [<a href="<?php echo $bu; ?>"><?=_("Back to list of logs")?></a>]
356 [<a href="<?php echo "$bu&action=qa"
357 ?>"><?=_("View rpm -qa of builder")?></a>]
367 global $root_directory;
368 global $buildlogs_server;
370 header("Content-type: text/plain");
376 echo "# src : ftp://$buildlogs_server/$f\n";
378 date("Y/m/d H:i:s", filemtime("$root_directory/$f")) . "\n";
380 if (preg_match("/\.bz2$/", $f)) {
382 } elseif (preg_match("/\.gz$/", $f)) {
388 $cmd = "$filter $root_directory/$f";
389 $fd = popen($cmd, "r");
390 while (($s = fgets($fd, 1000)) != false) {
396 function list_archs()
398 global $addr, $url, $cnt,$ok,$ns;
403 $big_url = "$url?ok=$ok&ns=$ns&cnt=$cnt";
405 echo "<table width=\"100%\" border=\"0\">\n";
406 echo "<tr><td bgcolor=\"#cccccc\" nowrap=\"nowrap\">"._("Failed")."</td><td bgcolor=\"#cccccc\">"._("Ok")."</td></tr>\n";
407 for ($i = 1; $i < count($addr); $i++) {
408 $dist = $addr[$i]['dist'];
409 $arch = $addr[$i]['arch'];
410 echo "<tr><td nowrap=\"nowrap\">".
411 "<a href=\"$url?dist=$dist&arch=$arch&ok=0&cnt=$cnt\">$addr[$i]</a></td><td nowrap=\"nowrap\">".
412 "[<a href=\"$url?dist=$dist&arch=$arch&ok=1&cnt=$cnt\">OK</a>]</td>".
413 #"<td>[<a href=\"$url?idx=$i&action=qa\">qa</a>]</td>".
416 echo "</table><hr />\n";
418 echo "<div align=\"center\">";
419 echo "<a href=\"$big_url&action=adv_search\">"._("Advanced Search")."</a><br />\n";
421 echo "<a href=\"$url\">main()</a><hr />\n";
422 echo "<a href=\"http://www.pld-linux.org/\"><img src=\"powpld.png\" ".
423 "alt=\""._("Powered by PLD Linux")."\" border=\"0\" /></a><br />\n" .
425 "<a href=\"mailto:feedback@pld-linux.org\">PLD Team</a><br />\n".
430 echo "<div align=\"center\"><small>";
431 $pow = array("vim", "php", "brain", "power", "electricity",
432 "coffee", "ufo", "penguin", "GNOME", "ELF", "DWARF",
433 "voodoo magic", "Linux", "x-files", "X", "foobar",
434 "/dev/null", "/dev/zero", "/dev/drzewo",
435 "Leppe'", "matrix", "Neo", "PDP-11",
436 "Ken", "GNU antilope", "PDP-7", "ITS", "Multics",
437 "foobarbaz", "ed", "Joe", "Unix conspiracy",
438 "overclock", "The Right Thing",
439 "The Bad Thing", "Star Treck", "NSA", "NASA",
440 "achelon", "VAX", "Real Programmer",
441 "Real Operating System", "Real Computer",
442 "computron", "bogon", "quantum bogodynamics",
443 "BOFH", "/dev/ill", "nasi tu byli",
444 "Paranoid Android", "Lunatic Corp", "Parallel thinking",
445 "sfistak", "Linus", "The Golden Path", "Dark Side of the Force",
446 "Przewodniczacego Lepper-a", "KDE", "Microsoft Windows 2003", "sqlite3",
448 # feel free to add sth if you change this file ;)
450 echo _("Powered by")." ";
452 for ($i = 0; $i < $max; $i++) {
453 $x = rand(0, count($pow) - 1);
454 if ($pow[$x] == "") $i--;
455 else echo $pow[$x] . ($i == $max - 1 ? "." : ", ");
458 echo "</small></div>";
460 if (isset($dist) && isset($arch)) {
461 echo "<form action=\"index.php\" method=\"post\">";
462 echo "<input type=\"hidden\" name=\"dist\" value=\"$dist\" />";
463 echo "<input type=\"hidden\" name=\"arch\" value=\"$arch\" />";
464 echo "<input type=\"hidden\" name=\"action\" value=\"sqa\" />";
465 echo "<input type=\"text\" size=\"14\" name=\"str\" /><br />";
466 echo "<input type=\"submit\" name=\"submit\" value=\""._("Search rpmqa!")."\" />";
475 if (!isset($dist) || !isset($arch))
478 $addr = "http://ftp.pld-linux.org/dists/$dist/.stat/builder/$dist/rpmqa-$arch.txt";
479 return fopen("$addr", "r");
484 global $url, $str, $dist, $arch;
487 echo "<h1>"._("Search results for")." '$str' "._("in")." $dist/$arch</h1>";
492 echo _("Sorry, cannot open.");
494 while (($s = fgets($f, 1000)) != false) {
495 if (stristr($s, $str))
503 function dump_qa($plain)
505 global $url, $dist, $arch;
510 header("Content-type: text/plain");
511 echo _("# rpm -qa of")." $dist/$arch\n";
513 echo "<h1>"._("rpm -qa of")." $a</h1>";
514 echo "<a href=\"$url?dist=$dist&arch=$arch&action=qatxt\">"._("text/plain version")."</a>";
519 echo _("Sorry, cannot open.");
521 while (($s = fgets($f, 1000)) != false) {
531 function adv_search()
533 global $database, $addr, $fail_or_ok, $url, $_POST, $off, $cnt, $root_directory, $ok, $ns;
535 $big_url = "$url?ok=$ok&ns=$ns&cnt=$cnt";
537 echo "<script><!--\n".
538 "function checkboxToggle() {\n".
539 "for (var i=0;i<document.forms[0].elements.length;i++) {\n".
540 "var e = document.forms[0].elements[i];\n".
541 "if ((e.name != 'all') && (e.type=='checkbox'))\n".
542 "e.checked = document.forms[0].all.checked;\n".
543 "}\n }\n -->\n </script>\n";
545 /* Shut up warnings */
546 if (!isset($_POST["name"])) $_POST["name"] = "";
547 if (!isset($_POST["age1"])) $_POST["age1"] = "";
548 if (!isset($_POST["age2"])) $_POST["age2"] = "";
549 if (!isset($_POST["size1"])) $_POST["size1"] = "";
550 if (!isset($_POST["size2"])) $_POST["size2"] = "";
552 echo "<form action=\"index.php?action=adv_search\" method=\"post\">";
554 echo "<div align=\"center\">";
555 echo "<table border=\"0\">\n";
557 echo "<td>"._("Package name")."</td>\n";
558 echo "<td><input type=\"text\" size=\"20\" name=\"name\" value=\"". $_POST["name"] ."\"/></td>\n";
562 echo "<td>"._("Days")."</td>\n";
563 echo "<td>"._("From").": <input type=\"text\" size=\"20\" name=\"age1\" value=\"". $_POST["age1"] ."\" /></td>\n";
564 echo "<td>"._("To").": <input type=\"text\" size=\"20\" name=\"age2\" value=\"". $_POST["age2"] ."\" /></td>\n";
568 echo "<td>"._("Size")."</td>\n";
569 echo "<td>"._("From").": <input type=\"text\" size=\"20\" name=\"size1\" value=\"". $_POST["size1"] ."\" /></td>\n";
570 echo "<td>"._("To").": <input type=\"text\" size=\"20\" name=\"size2\" value=\"". $_POST["size2"] ."\" /></td>\n";
574 echo "<td>"._("Search logs:")."</td>\n";
578 echo "<td>"._("Failed")."</td>\n";
579 echo "<td>"._("OK")."</td>\n";
582 for ($i = 1; $i < count($addr); $i++)
586 $dist = $addr[$i]['dist'];
587 $arch = $addr[$i]['arch'];
588 if (!isset($_POST["$name"])) {
591 $check=" checked=\"on\"";
593 echo "<td><input name=\"$name\" id=\"$name\" type=\"checkbox\"$check /><label for=\"$name\">".$dist/$arch."</label></td>\n";
595 if (!isset($_POST["$name"])) {
598 $check=" checked=\"on\"";
600 echo "<td><input name=\"$name\" id=\"$name\" type=\"checkbox\"$check /><label for=\"$name\">".$dist/$arch."</label></td>\n";
605 echo "<td><input name=\"all\" type=\"checkbox\" checked=\"on\" onClick=\"checkboxToggle()\">"._("Toggle checkboxes")." <input type=\"submit\" name=\"submit\" value=\""._("Search!")."\" /></td>";
610 // if (isset($_POST["name"]) || isset($_POST["age1"]) || isset($_POST["age2"]) ||
611 // isset($_POST["size1"]) || isset($_POST["size2"])
612 if (($_POST["name"]!="") || ($_POST["age1"]!="") || ($_POST["age2"]!="") ||
613 ($_POST["size1"]!="") || ($_POST["size2"]!=""))
615 $query = "SELECT log_id, dist, arch, ok, name, size, mtime, id FROM logs WHERE 1 ";
616 if ($_POST["name"] != "") {
617 $n = addslashes($_POST["name"]);
618 $query .= "AND name LIKE '$n%' ";
622 if ($_POST["age1"] != "") {
623 $age = $now - (int)$_POST["age1"] * 24 * 3600;
624 $query .= "AND mtime > $age ";
627 if ($_POST["age2"] != "") {
628 $age = $now - (int)$_POST["age2"] * 24 * 3600;
629 $query .= "AND mtime < $age ";
632 if ($_POST["size1"] != "") {
633 $size = (int)$_POST["size1"];
634 $query .= "AND size > $size ";
637 if ($_POST["size2"] != "") {
638 $size = (int)$_POST["size2"];
639 $query .= "AND size < $size ";
643 for ($i = 1; $i < count($addr); $i++) {
644 for ($j = 0; $j < 2; $j++) {
645 if (isset($_POST["as" . $j . "_" .$i])) {
646 $query .= "$or (dist = $addr[$i]['dist'] AND arch = $addr[$i]['arch'] AND ok = $j)";
651 if ($or == " OR ") $query .= ")";
652 // if (!isset($cnt)) $cnt = 50;
653 // if (!isset($off)) $off = 0;
654 if (!isset($ns)) $ns = 0;
657 $query .= " ORDER BY mtime DESC";
660 $query .= " ORDER BY name";
663 $query .= " ORDER BY dist, arch, name";
666 $query .= " LIMIT $cnt OFFSET $off ";
669 $dbh = new PDO("$database");
670 } catch (PDOException $e) {
671 mydie("new PDO: " . $e->getMessage());
673 $result = $dbh->query("$query")->fetchAll();
675 if ($result == FALSE) {
676 echo _("Nothing found");
678 echo "<table border=\"0\" cellspacing=\"1\" ".
679 "cellpadding=3 bgcolor=\"#000000\" width=\"90%\">\n";
680 echo "<tr><th bgcolor=\"#CCCCFF\" align=\"left\" width=\"10%\">"._("Builder").
681 "[<a href=\"$big_url&ns=2\">"._("sort")."</a>]</th>";
682 echo "<th bgcolor=\"#CCCCFF\" align=\"left\" width=\"60%\">"._("Log File").
683 "[<a href=\"$big_url&ns=1\">"._("sort")."</a>]</th>".
684 "<th bgcolor=\"#CCCCFF\" align=\"right\" width=\"15%\">"._("Size")."</th> ".
685 "<th bgcolor=\"#CCCCFF\" align=\"left\">"._("Age").
686 "[<a href=\"$big_url&ns=0\">"._("sort")."</a>]</th>".
689 // for ($i = $off; $i < $off + $count; $i++) {
690 foreach ($result as $row) {
691 $dist = $row["dist"];
692 $arch = $row["arch"];
693 $name = $row["name"];
696 if ($id != '') $f .= ",$id";
697 $t = $now - $row["mtime"];
705 $t = $t . " " . ngettext("day","days",$t);
708 $t = $t . " " . ngettext("hour","hours",$t);
712 $t = $t . " " . ngettext("minute","minutes",$t);
715 // $big_url = "$url?idx=$i&ok=$j&ns=$ns&cnt=$cnt";
717 $u = "$url?dist=$dist&arch=$arch&name=$name&ok=$ok;&id=$id";
718 $b = "$url?dist=$dist&arch=$arch&ok=$ok&ns=$ns&off=$off&cnt=$cnt";
720 $builder = "$dist/$arch/". $fail_or_ok[$ok];
722 echo "<td bgcolor=\"#CCCCCC\"><a href=\"$b\">$builder</a></td>";
723 echo "<td bgcolor=\"#CCCCCC\"><a href=\"$u\">$f</a> ".
724 "[<a href=\"$u&action=text\">"._("text")."</a> | ".
725 "<a href=\"$u&action=tail\">"._("tail")."</a>]".
726 "</td><td bgcolor=\"#CCCCCC\" align=\"right\">".
727 "$s</td><td bgcolor=\"#CCCCCC\">$t</td></tr>\n";
730 echo "</table></div>\n";
732 $backarr = "<<< ";
733 $back = _("Page back");
734 $forward = _("Page forward");
735 $forwardarr = " >>>";
740 echo "<p><table width=\"90%\" align=\"center\"><tr><td align=left width=1%>";
746 $hrefurl = "<a href=\"$big_url&off=$noff\">";
747 echo "$hrefurl$backarr</a></td><td align=left>$hrefurl$back</a>";
749 echo "$backarr</td><td align=left>$back";
752 echo "</td>\n<td align=\"center\">";
753 echo "</td>\n<td align=\"right\">";
755 if ($off + $cnt < count($list))
760 $hrefurl = "<a href=\"$big_url&off=$noff\">";
761 echo "$hrefurl$forward</a></td><td align=\"right\" width=\"1%\">$hrefurl$forwardarr</a>";
765 echo "$forward</td><td align=\"right\" width=\"1%\">$forwardarr";
768 echo "</td>\n</tr></table></p>";
772 echo _("Enter something!");
780 <table border="0" width="100%"><tr><td width="20%"> </td><td>
781 <h1><?=_("Welcome!")?></h1>
782 <p><?=_("Welcome to PLD Build Logs WWW interface.")?></p><p>
783 <?=_("Feel free to email bug reports, complaints and feature requests ")?>
784 <!-- ech... niech strace... -->
785 <a href="mailto:feedback@pld-linux.org"><?=_("to us")?></a>. <?=_("Positive opinions are also")?>
786 <a href="mailto:feedback@pld-linux.org"><?=_("welcome")?></a> ;)</p>
787 <p>Version: $Id: index.php,v 1.7 2007/11/28 12:42:52 witekfl Exp $</p>
788 </td><td width="20%"> </td></tr>
793 header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
794 header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
795 header("Cache-Control: no-cache, must-revalidate");
796 header("Pragma: no-cache");
799 if ($action == "text") {
801 } else if ($action == "adv_search") {
805 } else if ($action == "qatxt") {
809 echo "<table cellpadding=\"10\" width=\"100%\"><tr><td valign=\"top\" width=\"10%\">";
811 echo "</td><td valign=\"top\">";
815 else if ($action == "sqa")
817 else if (isset($id) || isset($name))
818 dump_log($action == "tail");
819 else if (isset($dist))
823 echo "</td></tr></table>";