Initial revision
diff --git a/tools/bddb/brlog.php b/tools/bddb/brlog.php
new file mode 100644
index 0000000..6e98c9c
--- /dev/null
+++ b/tools/bddb/brlog.php
@@ -0,0 +1,106 @@
+<?php // php pages made with phpMyBuilder <http://kyber.dk/phpMyBuilder> ?>
+<?php
+	// (C) Copyright 2001
+	// Murray Jensen <Murray.Jensen@cmst.csiro.au>
+	// CSIRO Manufacturing Science and Technology, Preston Lab
+
+	// list page (hymod_bddb / boards)
+
+	require("defs.php");
+
+	pg_head("$bddb_label - Browse Board Log");
+
+	if (!isset($serno) || $serno == 0)
+		die("serial number not specified!");
+
+	function print_cell($str) {
+		if ($str == '')
+			$str = '&nbsp;';
+		echo "\t<td>$str</td>\n";
+	}
+?>
+<table align=center border=1 cellpadding=10>
+<tr>
+<th>serno / edit</th>
+<th>ethaddr</th>
+<th>date</th>
+<th>batch</th>
+<th>type</th>
+<th>rev</th>
+<th>location</th>
+</tr>
+<?php
+	$r=mysql_query("select * from boards where serno=$serno");
+
+	while($row=mysql_fetch_array($r)){
+		foreach ($columns as $key) {
+			if (!key_in_array($key, $row))
+				$row[$key] = '';
+		}
+
+		echo "<tr>\n";
+		print_cell("<a href=\"edit.php?serno=$row[serno]\">$row[serno]</a>");
+		print_cell($row['ethaddr']);
+		print_cell($row['date']);
+		print_cell($row['batch']);
+		print_cell($row['type']);
+		print_cell($row['rev']);
+		print_cell($row['location']);
+		echo "</tr>\n";
+	}
+
+	mysql_free_result($r);
+?>
+</table>
+<hr></hr>
+<p></p>
+<?php
+	$limit=abs(isset($limit)?$limit:20);
+	$offset=abs(isset($offset)?$offset:0);
+	$lr=mysql_query("select count(*) as n from log where serno=$serno");
+	$lrow=mysql_fetch_array($lr);
+	if($lrow['n']>$limit){
+		$preoffset=max(0,$offset-$limit);
+		$postoffset=$offset+$limit;
+		echo "<table width=\"100%\">\n<tr align=center>\n";
+		printf("<td><%sa href=\"%s?serno=$serno&offset=%d\"><img border=0 alt=\"&lt;\" src=\"/icons/left.gif\"></a></td>\n", $offset>0?"":"no", $PHP_SELF, $preoffset);
+		printf("<td><%sa href=\"%s?serno=$serno&offset=%d\"><img border=0 alt=\"&gt;\" src=\"/icons/right.gif\"></a></td>\n", $postoffset<$lrow['n']?"":"no", $PHP_SELF, $postoffset);
+		echo "</tr>\n</table>\n";
+	}
+	mysql_free_result($lr);
+?>
+<table width="100%" border=1 cellpadding=10>
+<tr valign=top>
+<th>logno / edit</th>
+<th>date</th>
+<th width="70%">details</th>
+</tr>
+<?php
+	$r=mysql_query("select * from log where serno=$serno order by logno limit $offset,$limit");
+
+	while($row=mysql_fetch_array($r)){
+		echo "<tr>\n";
+		print_cell("<a href=\"edlog.php?serno=$row[serno]&logno=$row[logno]\">$row[logno]</a>");
+		print_cell($row['date']);
+		print_cell("<pre>" . urldecode($row['details']) . "</pre>");
+		echo "</tr>\n";
+	}
+
+	mysql_free_result($r);
+?>
+</table>
+<hr></hr>
+<p></p>
+<table width="100%">
+<tr>
+  <td align=center>
+    <a href="newlog.php?serno=<?php echo "$serno"; ?>">Add to Log</a>
+  </td>
+  <td align=center>
+    <a href="index.php">Back to Start</a>
+  </td>
+</tr>
+</table>
+<?php
+	pg_foot();
+?>