aboutsummaryrefslogtreecommitdiffstats
path: root/ports-mgmt/tinderbox
diff options
context:
space:
mode:
authoritetcu <itetcu@FreeBSD.org>2008-12-28 04:29:35 +0800
committeritetcu <itetcu@FreeBSD.org>2008-12-28 04:29:35 +0800
commit808e351ef6be6854621a746a5826d74a5e3737a9 (patch)
treed79f78e02d75c9ffb157980518c01f7a3469f478 /ports-mgmt/tinderbox
parent2de3b0d61f5b6b658ee5ef30a690c63c3d2bc094 (diff)
downloadfreebsd-ports-gnome-808e351ef6be6854621a746a5826d74a5e3737a9.tar.gz
freebsd-ports-gnome-808e351ef6be6854621a746a5826d74a5e3737a9.tar.zst
freebsd-ports-gnome-808e351ef6be6854621a746a5826d74a5e3737a9.zip
Bring in new features and bugfixes from CVS:
- Remove the listBuildPortsQueue error when there are no ports in the queue. - Teach sendBuildCompletionMail how to lookup a user by both name and ID. This will fix the problem where tinderd doesn't send build completion mail. - Add a -u argument to addBuildPortsQueueEntry to set a user name of a queue entry. - Introduce 2 inc_tinderbox config vars, reload_interval_latest and reload_interval_current which allow to set the reload interval for "Current And Latest Builds" page while no port is building and while a port is building respectively. - Use the canonical PHP tag instead of short tags to make Tinderbox more flexible in where it can be deployed. - Introduce logfile markup support. The data base stores regular expressions for things you like to flag in build logs (e.g. GCC warnings indicating missing prototypes). The frontend parse the logs and colorize matching lines. If a port failed to build the port_fail_pattern is automatically highlighted. The frontend allow you to toggle the display of line numbers and toggle which patterns are highlighted. To enable the logfile markup create the logfile_patterns table (see the last table in scripts/sql/schema.[mysql|pgsql].pre) and load the default patterns from scripts/sql/values.lp into the newly created table. Bump PORTREVISION.
Diffstat (limited to 'ports-mgmt/tinderbox')
-rw-r--r--ports-mgmt/tinderbox/Makefile6
-rw-r--r--ports-mgmt/tinderbox/files/patch-3.1.2_to_20081227.diff3857
-rw-r--r--ports-mgmt/tinderbox/pkg-plist8
3 files changed, 3871 insertions, 0 deletions
diff --git a/ports-mgmt/tinderbox/Makefile b/ports-mgmt/tinderbox/Makefile
index c7a263d9ebb9..06a6ee46256e 100644
--- a/ports-mgmt/tinderbox/Makefile
+++ b/ports-mgmt/tinderbox/Makefile
@@ -6,6 +6,7 @@
PORTNAME= tinderbox
PORTVERSION= 3.1.2
+PORTREVISION= 1
CATEGORIES= ports-mgmt
MASTER_SITES= http://tinderbox.marcuscom.com/:SOURCES \
http://T32.TecNik93.com/FreeBSD/ports/${PORTNAME}/sources/:SOURCES,FAVICON
@@ -32,6 +33,8 @@ SUB_FILES= pkg-message
MAN1= tc-configCcache.1 tc-configDistfile.1 tc-configGet.1 \
tc-configJail.1 tc-configTinderd.1 tc-init.1
+PATCH_STRIP= -p2
+
.include <bsd.port.pre.mk>
.if !defined(WITH_PGSQL) && defined(WITHOUT_MYSQL)
@@ -94,6 +97,9 @@ post-extract:
@${CP} ${_DISTDIR}/favicon.ico ${WRKSRC}/webui
.endif
+post-patch:
+ @cd ${WRKSRC} && ${FIND} . -name '*.orig' -exec ${RM} {} \;
+
do-install:
@${MKDIR} ${PREFIX}/tinderbox/scripts
@${ECHO_CMD} "Installing man pages ..."
diff --git a/ports-mgmt/tinderbox/files/patch-3.1.2_to_20081227.diff b/ports-mgmt/tinderbox/files/patch-3.1.2_to_20081227.diff
new file mode 100644
index 000000000000..3301952179ba
--- /dev/null
+++ b/ports-mgmt/tinderbox/files/patch-3.1.2_to_20081227.diff
@@ -0,0 +1,3857 @@
+Index: portstools/tinderbox/README
+diff -u portstools/tinderbox/README:1.78.2.2 portstools/tinderbox/README:1.78.2.3
+--- portstools/tinderbox/README:1.78.2.2 Sat Nov 8 23:32:58 2008
++++ portstools/tinderbox/README Fri Dec 5 14:36:27 2008
+@@ -1,4 +1,4 @@
+-$MCom: portstools/tinderbox/README,v 1.78.2.2 2008/11/09 04:32:58 marcus Exp $
++$MCom: portstools/tinderbox/README,v 1.78.2.3 2008/12/05 19:36:27 marcus Exp $
+
+ BASIC INSTALLATION AND USAGE INSTRUCTIONS
+
+@@ -35,6 +35,10 @@
+ This code should not require "register_globals=on" in your php.ini, but
+ there have been sporadic reports of it failing without this set.
+
++If you will be sending emails from Tinderbox (e.g. build failure or build
++completion emails) you must install net/p5-Net to get the Net::SMTP Perl
++module.
++
+ Installation:
+ -------------
+
+Index: portstools/tinderbox/lib/tc_command.pl
+diff -u portstools/tinderbox/lib/tc_command.pl:1.150.2.6 portstools/tinderbox/lib/tc_command.pl:1.150.2.9
+--- portstools/tinderbox/lib/tc_command.pl:1.150.2.6 Sat Nov 15 13:12:24 2008
++++ portstools/tinderbox/lib/tc_command.pl Wed Dec 10 17:49:43 2008
+@@ -24,7 +24,7 @@
+ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ # SUCH DAMAGE.
+ #
+-# $MCom: portstools/tinderbox/lib/tc_command.pl,v 1.150.2.6 2008/11/15 18:12:24 marcus Exp $
++# $MCom: portstools/tinderbox/lib/tc_command.pl,v 1.150.2.9 2008/12/10 22:49:43 beat Exp $
+ #
+
+ my $pb;
+@@ -210,8 +210,8 @@
+ "addBuildPortsQueueEntry" => {
+ func => \&addBuildPortsQueueEntry,
+ help => "Adds a Port to the Ports to Build Queue",
+- usage => "-b <build name> -d <port directory> [-p <priority>]",
+- optstr => 'b:d:p:',
++ usage => "-b <build name> -d <port directory> [-p <priority>] [-u <username>]",
++ optstr => 'b:d:p:u:',
+ },
+ "addPortFailPattern" => {
+ func => \&addPortFailPattern,
+@@ -1431,6 +1431,7 @@
+
+ sub addBuildPortsQueueEntry {
+ my $admin;
++ my $user;
+ my $user_id;
+
+ if (!$opts->{'b'} || !$opts->{'d'}) {
+@@ -1445,10 +1446,19 @@
+
+ my $build = $ds->getBuildByName($opts->{'b'});
+
+- if ($admin = $ds->getWwwAdmin()) {
+- $user_id = $admin->getId();
++ if ($opts->{'u'}) {
++ if ($ds->isValidUser($opts->{'u'})) {
++ $user = $ds->getUserByName($opts->{'u'});
++ $user_id = $user->getId();
++ } else {
++ $user_id = 0;
++ }
+ } else {
+- $user_id = 0;
++ if ($admin = $ds->getWwwAdmin()) {
++ $user_id = $admin->getId();
++ } else {
++ $user_id = 0;
++ }
+ }
+
+ $ds->addBuildPortsQueueEntry($build, $opts->{'d'}, $priority, $user_id);
+@@ -1685,10 +1695,6 @@
+ "Failed to list BuildPortsQueue: "
+ . $ds->getError()
+ . "\n");
+- } else {
+- cleanup($ds, 1,
+- "There are no more queued ports for this host in the datastore.\n"
+- );
+ }
+ }
+
+@@ -2823,10 +2829,15 @@
+ if (defined($user)) {
+ push @users, $user;
+ } else {
+- cleanup($ds, 1,
+- "User "
+- . $opts->{'u'}
+- . " is not in the datastore.");
++ $user = $ds->getUserById($opts->{'u'});
++ if (defined($user)) {
++ push @users, $user;
++ } else {
++ cleanup($ds, 1,
++ "User "
++ . $opts->{'u'}
++ . " is not in the datastore.");
++ }
+ }
+
+ } else {
+Index: portstools/tinderbox/sql/genschema
+diff -u portstools/tinderbox/sql/genschema:1.1.2.1 portstools/tinderbox/sql/genschema:1.1.2.2
+--- portstools/tinderbox/sql/genschema:1.1.2.1 Fri Sep 5 07:16:29 2008
++++ portstools/tinderbox/sql/genschema Sun Dec 21 12:27:29 2008
+@@ -24,7 +24,7 @@
+ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ # SUCH DAMAGE.
+ #
+-# $MCom: portstools/tinderbox/sql/genschema,v 1.1.2.1 2008/09/05 11:16:29 beat Exp $
++# $MCom: portstools/tinderbox/sql/genschema,v 1.1.2.2 2008/12/21 17:27:29 beat Exp $
+ #
+ # Create a full-blown schema from a series of files, reducing duplication
+ #
+@@ -48,6 +48,6 @@
+ # Kick out the generated schema
+ #
+ cat schema.${dbtype}.pre \
+- values.config values.hooks values.pfr values.pfp \
+- schema.${dbtype}.post
++ values.config values.hooks values.lp values.pfr \
++ values.pfp schema.${dbtype}.post
+ exit 0
+Index: portstools/tinderbox/sql/schema.mysql.pre
+diff -u portstools/tinderbox/sql/schema.mysql.pre:1.68.2.1 portstools/tinderbox/sql/schema.mysql.pre:1.68.2.2
+--- portstools/tinderbox/sql/schema.mysql.pre:1.68.2.1 Sun Oct 5 06:37:18 2008
++++ portstools/tinderbox/sql/schema.mysql.pre Sun Dec 21 12:27:29 2008
+@@ -144,3 +144,12 @@
+ hook_cmd varchar(255),
+ hook_description TEXT
+ );
++
++DROP TABLE IF EXISTS logfile_patterns;
++CREATE TABLE logfile_patterns (
++ logfile_pattern_id int(11) NOT NULL PRIMARY KEY,
++ logfile_pattern_tag VARCHAR(30) NOT NULL,
++ logfile_pattern_severity ENUM('error','warning','information') DEFAULT 'information',
++ logfile_pattern_expr TEXT,
++ logfile_pattern_color VARCHAR(20) NOT NULL
++);
+Index: portstools/tinderbox/sql/schema.pgsql.pre
+diff -u portstools/tinderbox/sql/schema.pgsql.pre:1.45.2.2 portstools/tinderbox/sql/schema.pgsql.pre:1.45.2.3
+--- portstools/tinderbox/sql/schema.pgsql.pre:1.45.2.2 Sun Oct 5 06:37:18 2008
++++ portstools/tinderbox/sql/schema.pgsql.pre Sun Dec 21 12:27:29 2008
+@@ -141,3 +141,12 @@
+ hook_cmd VARCHAR(255),
+ hook_description TEXT
+ );
++
++-- DROP TABLE logfile_patterns CASCADE;
++CREATE TABLE logfile_patterns (
++ logfile_pattern_id INTEGER PRIMARY KEY,
++ logfile_pattern_tag VARCHAR(30) NOT NULL,
++ logfile_pattern_severity VARCHAR(12) CHECK (logfile_pattern_severity IN ('error','warning','information')) DEFAULT 'information',
++ logfile_pattern_expr TEXT,
++ logfile_pattern_color VARCHAR(20) NOT NULL
++);
+Index: portstools/tinderbox/sql/values.lp
+diff -u /dev/null portstools/tinderbox/sql/values.lp:1.2.2.1
+--- /dev/null Sat Dec 27 14:20:59 2008
++++ portstools/tinderbox/sql/values.lp Sun Dec 21 12:27:29 2008
+@@ -0,0 +1,22 @@
++INSERT INTO logfile_patterns VALUES ( 10, 'File not found', 'error', '/No such file or directory/', 'Red' );
++INSERT INTO logfile_patterns VALUES ( 500, 'Declaration prototype', 'warning', '/warning: function declaration isn\'t a prototype/', 'Violet' );
++INSERT INTO logfile_patterns VALUES ( 510, 'No prototype', 'warning', '/warning: no previous prototype for \'.*\'/', 'Violet' );
++INSERT INTO logfile_patterns VALUES ( 520, 'Implicit function', 'warning', '/warning: implicit declaration of function \'.*\'/', 'Magenta' );
++INSERT INTO logfile_patterns VALUES ( 530, 'Nested declaration', 'warning', '/warning: nested extern declaration of \'.*\'/', 'Magenta' );
++INSERT INTO logfile_patterns VALUES ( 540, 'ISO C90', 'warning', '/warning: ISO C90 does not support \'.*\'|warning: C.. style comments are not allowed in ISO C90|warning: ISO C90 forbids mixed declarations and code/', 'Orange' );
++INSERT INTO logfile_patterns VALUES ( 550, 'ISO C', 'warning', '/warning: ISO C doesn\'t support unnamed structs/', 'Orange' );
++INSERT INTO logfile_patterns VALUES ( 560, 'GCC', 'warning', '/warning: type of bit-field \'.*\' is a GCC extension/', 'Orange' );
++INSERT INTO logfile_patterns VALUES ( 570, 'Pointer target type', 'warning', '/warning: passing argument . of \'.*\' discards qualifiers from pointer target type|warning: assignment discards qualifiers from pointer target type/', 'OrangeRed' );
++INSERT INTO logfile_patterns VALUES ( 580, 'Pointer signedness', 'warning', '/warning: pointer targets in passing argument . of \'.*\' differ in signedness/', 'OrangeRed' );
++INSERT INTO logfile_patterns VALUES ( 590, 'Incompatible pointer', 'warning', '/warning: passing argument . of \'.*\' from incompatible pointer type/', 'OrangeRed' );
++INSERT INTO logfile_patterns VALUES ( 600, 'Expected format', 'warning', '/warning: format \'.*\' expects type \'.*\', but argument . has type \'.*\'/', 'OrangeRed' );
++INSERT INTO logfile_patterns VALUES ( 610, 'Conversion', 'warning', '/warning: deprecated conversion from .* to .*/', 'OrangeRed' );
++INSERT INTO logfile_patterns VALUES ( 620, 'Signed comparison', 'warning', '/warning: comparison between signed and unsigned/', 'OrangeRed' );
++INSERT INTO logfile_patterns VALUES ( 630, 'Comp. always false', 'warning', '/warning: comparison is always false due to limited range of data type/', 'OrangeRed' );
++INSERT INTO logfile_patterns VALUES ( 640, 'Different size cast', 'warning', '/warning: cast from pointer to integer of different size/', 'OrangeRed' );
++INSERT INTO logfile_patterns VALUES ( 1000, 'Unused param/var', 'information', '/warning: unused variable \'.*\'|warning: unused parameter \'.*\'/', 'Blue' );
++INSERT INTO logfile_patterns VALUES ( 1010, 'Definition not used/defined', 'information', '/warning: \'.*\' defined but not used|warning: .* is not defined/', 'Blue' );
++INSERT INTO logfile_patterns VALUES ( 1020, 'Enum', 'information', '/warning: enumeration value \'.*\' not handled in switch|warning: comma at end of enumerator list/', 'Blue' );
++INSERT INTO logfile_patterns VALUES ( 1030, 'Warn_unused_result', 'information', '/warning: ignoring return value of .*, declared with attribute warn_unused_result/', 'Blue' );
++INSERT INTO logfile_patterns VALUES ( 1040, 'Declaration', 'information', '/warning: declaration does not declare anything/', 'Blue' );
++INSERT INTO logfile_patterns VALUES ( 1050, 'Semicolon', 'information', '/warning: extra semicolon in struct or union specified/', 'Blue' );
+Index: portstools/tinderbox/webui/favicon.ico
+Index: portstools/tinderbox/webui/inc_tinderbox.php.dist
+diff -u portstools/tinderbox/webui/inc_tinderbox.php.dist:1.10.2.1 portstools/tinderbox/webui/inc_tinderbox.php.dist:1.10.2.2
+--- portstools/tinderbox/webui/inc_tinderbox.php.dist:1.10.2.1 Sun Nov 2 04:14:38 2008
++++ portstools/tinderbox/webui/inc_tinderbox.php.dist Wed Dec 10 18:03:28 2008
+@@ -1,8 +1,19 @@
+ <?php
+
+ # Configurable options
++
++# page title
+ $tinderbox_name = 'Example Tinderbox';
++# used in page header
+ $tinderbox_title = 'Example Tinderbox';
++
++# reload interval for "Current And Latest Builds" page while no port is
++# building in miliseconds
++$reload_interval_latest='300000';
++# reload interval for "Current And Latest Builds" page while a port is building
++# in miliseconds
++$reload_interval_current='60000';
++
+ $wwwrootdir = dirname( __FILE__ );
+ $rootdir = realpath( $wwwrootdir . '/../..' );
+ $protocol = isset( $_SERVER['HTTPS'] ) ? 'https' : 'http';
+Index: portstools/tinderbox/webui/index.php
+diff -u portstools/tinderbox/webui/index.php:1.24.2.3 portstools/tinderbox/webui/index.php:1.24.2.4
+--- portstools/tinderbox/webui/index.php:1.24.2.3 Sun Nov 2 06:07:12 2008
++++ portstools/tinderbox/webui/index.php Sun Dec 21 12:27:29 2008
+@@ -24,7 +24,7 @@
+ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ # SUCH DAMAGE.
+ #
+-# $MCom: portstools/tinderbox/webui/index.php,v 1.24.2.3 2008/11/02 11:07:12 beat Exp $
++# $MCom: portstools/tinderbox/webui/index.php,v 1.24.2.4 2008/12/21 17:27:29 beat Exp $
+ #
+
+ $starttimer = explode( ' ', microtime() );
+@@ -32,6 +32,7 @@
+ require_once 'module/moduleBuilds.php';
+ require_once 'module/moduleBuildPorts.php';
+ require_once 'module/moduleConfig.php';
++require_once 'module/moduleLogs.php';
+ require_once 'module/modulePorts.php';
+ require_once 'module/modulePortFailureReasons.php';
+ require_once 'module/moduleSession.php';
+@@ -44,6 +45,7 @@
+ $moduleBuilds = new moduleBuilds();
+ $moduleBuildPorts = new moduleBuildPorts();
+ $moduleConfig = new moduleConfig();
++$moduleLogs = new moduleLogs();
+ $modulePorts = new modulePorts();
+ $modulePortFailureReasons = new modulePortFailureReasons();
+ $moduleSession = new moduleSession();
+@@ -153,6 +155,13 @@
+ case 'latest_buildports_rss':
+ $display = $moduleRss->display_latest_buildports();
+ break;
++ case 'display_markup_log': $build = $_REQUEST['build'];
++ $id = $_REQUEST['id'];
++ if ( !isset( $_REQUEST['build'] ) || !isset( $_REQUEST['id'] ) ) {
++ die( 'Build or port id missing.' );
++ }
++ $display = $moduleLogs->markup_log( $build, $id);
++ break;
+ case 'list_builds':
+ default: $display = $moduleBuilds->display_list_builds();
+ break;
+Index: portstools/tinderbox/webui/core/LogfilePattern.php
+diff -u /dev/null portstools/tinderbox/webui/core/LogfilePattern.php:1.2.2.1
+--- /dev/null Sat Dec 27 14:20:59 2008
++++ portstools/tinderbox/webui/core/LogfilePattern.php Sun Dec 21 12:27:29 2008
+@@ -0,0 +1,67 @@
++<?php
++#-
++# Copyright (c) 2004-2005 FreeBSD GNOME Team <freebsd-gnome@FreeBSD.org>
++# Copyright (c) 2008 Beat Gätzi <beat@chruetertee.ch>
++# All rights reserved.
++#
++# Redistribution and use in source and binary forms, with or without
++# modification, are permitted provided that the following conditions
++# are met:
++# 1. Redistributions of source code must retain the above copyright
++# notice, this list of conditions and the following disclaimer.
++# 2. Redistributions in binary form must reproduce the above copyright
++# notice, this list of conditions and the following disclaimer in the
++# documentation and/or other materials provided with the distribution.
++#
++# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
++# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
++# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++# SUCH DAMAGE.
++#
++# $MCom: portstools/tinderbox/webui/core/LogfilePattern.php,v 1.2.2.1 2008/12/21 17:27:29 beat Exp $
++#
++
++require_once 'TinderObject.php';
++
++class LogfilePattern extends TinderObject {
++
++ function LogfilePattern( $argv = array() ) {
++ $object_hash = array(
++ 'logfile_pattern_id' => '',
++ 'logfile_pattern_tag' => '',
++ 'logfile_pattern_severity' => '',
++ 'logfile_pattern_expr' => '',
++ 'logfile_pattern_color' => ''
++ );
++
++ $this->TinderObject( $object_hash, $argv );
++ }
++
++ function getId() {
++ return $this->logfile_pattern_id;
++ }
++
++ function getTag() {
++ return $this->logfile_pattern_tag;
++ }
++
++ function getSeverity() {
++ return $this->logfile_pattern_severity;
++ }
++
++ function getExpr() {
++ return $this->logfile_pattern_expr;
++ }
++
++ function getColor() {
++ return $this->logfile_pattern_color;
++ }
++}
++?>
+Index: portstools/tinderbox/webui/core/PortFailPattern.php
+diff -u /dev/null portstools/tinderbox/webui/core/PortFailPattern.php:1.2.2.1
+--- /dev/null Sat Dec 27 14:20:59 2008
++++ portstools/tinderbox/webui/core/PortFailPattern.php Sun Dec 21 12:27:29 2008
+@@ -0,0 +1,62 @@
++<?php
++#-
++# Copyright (c) 2004-2005 FreeBSD GNOME Team <freebsd-gnome@FreeBSD.org>
++# Copyright (c) 2008 Beat Gätzi <beat@chruetertee.ch>
++# All rights reserved.
++#
++# Redistribution and use in source and binary forms, with or without
++# modification, are permitted provided that the following conditions
++# are met:
++# 1. Redistributions of source code must retain the above copyright
++# notice, this list of conditions and the following disclaimer.
++# 2. Redistributions in binary form must reproduce the above copyright
++# notice, this list of conditions and the following disclaimer in the
++# documentation and/or other materials provided with the distribution.
++#
++# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
++# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
++# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++# SUCH DAMAGE.
++#
++# $MCom: portstools/tinderbox/webui/core/PortFailPattern.php,v 1.2.2.1 2008/12/21 17:27:29 beat Exp $
++#
++
++require_once 'TinderObject.php';
++
++class PortFailPattern extends TinderObject {
++
++ function PortFailPattern( $argv = array() ) {
++ $object_hash = array(
++ 'port_fail_pattern_id' => '',
++ 'port_fail_pattern_expr' => '',
++ 'port_fail_pattern_reason' => '',
++ 'port_fail_pattern_parent' => ''
++ );
++
++ $this->TinderObject( $object_hash, $argv );
++ }
++
++ function getId() {
++ return $this->port_fail_pattern_id;
++ }
++
++ function getExpr() {
++ return $this->port_fail_pattern_expr;
++ }
++
++ function getReason() {
++ return $this->port_fail_pattern_reason;
++ }
++
++ function getParent() {
++ return $this->port_fail_pattern_parent;
++ }
++}
++?>
+Index: portstools/tinderbox/webui/core/TinderboxDS.php
+diff -u portstools/tinderbox/webui/core/TinderboxDS.php:1.36.2.1 portstools/tinderbox/webui/core/TinderboxDS.php:1.36.2.2
+--- portstools/tinderbox/webui/core/TinderboxDS.php:1.36.2.1 Sun Nov 16 12:54:58 2008
++++ portstools/tinderbox/webui/core/TinderboxDS.php Sun Dec 21 12:27:29 2008
+@@ -24,7 +24,7 @@
+ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ # SUCH DAMAGE.
+ #
+-# $MCom: portstools/tinderbox/webui/core/TinderboxDS.php,v 1.36.2.1 2008/11/16 17:54:58 marcus Exp $
++# $MCom: portstools/tinderbox/webui/core/TinderboxDS.php,v 1.36.2.2 2008/12/21 17:27:29 beat Exp $
+ #
+
+ require_once 'DB.php';
+@@ -32,8 +32,10 @@
+ require_once 'BuildPortsQueue.php';
+ require_once 'Config.php';
+ require_once 'Jail.php';
++ require_once 'LogfilePattern.php';
+ require_once 'Port.php';
+ require_once 'PortsTree.php';
++ require_once 'PortFailPattern.php';
+ require_once 'PortFailReason.php';
+ require_once 'User.php';
+ require_once 'inc_ds.php';
+@@ -42,10 +44,12 @@
+ $objectMap = array(
+ "Build" => "builds",
+ "BuildPortsQueue" => "build_ports_queue",
++ "LogfilePattern" => "logfile_patterns",
+ "Config" => "config",
+ "Jail" => "jails",
+ "Port" => "ports",
+ "PortsTree" => "ports_trees",
++ "PortFailPattern" => "port_fail_patterns",
+ "PortFailReason" => "port_fail_reasons",
+ "User" => "users",
+ );
+@@ -691,6 +695,10 @@
+ return $this->getObjects("Build", $params);
+ }
+
++ function getLogfilePatterns($params = array()) {
++ return $this->getObjects("LogfilePattern", $params);
++ }
++
+ function getPorts($params = array()) {
+ return $this->getObjects("Port", $params);
+ }
+@@ -699,6 +707,10 @@
+ return $this->getObjects("Jail", $params);
+ }
+
++ function getPortFailPatterns($params = array()) {
++ return $this->getObjects("PortFailPattern", $params);
++ }
++
+ function getPortFailReasons($params = array()) {
+ return $this->getObjects("PortFailReason", $params);
+ }
+@@ -723,12 +735,24 @@
+ return $builds;
+ }
+
++ function getAllLogfilePatterns() {
++ $patterns = $this->getLogfilePatterns();
++
++ return $patterns;
++ }
++
+ function getAllJails() {
+ $jails = $this->getJails();
+
+ return $jails;
+ }
+
++ function getAllPortFailPatterns() {
++ $results = $this->getPortFailPatterns();
++
++ return $results;
++ }
++
+ function getAllPortFailReasons() {
+ $results = $this->getPortFailReasons();
+
+Index: portstools/tinderbox/webui/module/module.php
+diff -u portstools/tinderbox/webui/module/module.php:1.4 portstools/tinderbox/webui/module/module.php:1.4.2.1
+--- portstools/tinderbox/webui/module/module.php:1.4 Mon Dec 26 17:41:41 2005
++++ portstools/tinderbox/webui/module/module.php Wed Dec 10 18:03:29 2008
+@@ -24,7 +24,7 @@
+ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ # SUCH DAMAGE.
+ #
+-# $MCom: portstools/tinderbox/webui/module/module.php,v 1.4 2005/12/26 22:41:41 marcus Exp $
++# $MCom: portstools/tinderbox/webui/module/module.php,v 1.4.2.1 2008/12/10 23:03:29 beat Exp $
+ #
+
+ require_once 'core/functions.php';
+@@ -42,6 +42,16 @@
+ global $tinderbox_name;
+ global $tinderbox_title;
+ global $display_login;
++ global $reload_interval_latest;
++ global $reload_interval_current;
++
++ if ( !isset( $reload_interval_latest ) ) {
++ $reload_interval_latest = 300000;
++ }
++
++ if ( !isset( $reload_interval_current ) ) {
++ $reload_interval_current = 60000;
++ }
+
+ $this->template_assign( 'templatesuri', $templatesuri );
+ $this->template_assign( 'tinderbox_name', $tinderbox_name );
+Index: portstools/tinderbox/webui/module/moduleLogs.php
+diff -u /dev/null portstools/tinderbox/webui/module/moduleLogs.php:1.5.2.1
+--- /dev/null Sat Dec 27 14:20:59 2008
++++ portstools/tinderbox/webui/module/moduleLogs.php Sun Dec 21 12:27:30 2008
+@@ -0,0 +1,148 @@
++<?php
++#-
++# Copyright (c) 2008 Beat Gätzi <beat@chruetertee.ch>
++# All rights reserved.
++#
++# Redistribution and use in source and binary forms, with or without
++# modification, are permitted provided that the following conditions
++# are met:
++# 1. Redistributions of source code must retain the above copyright
++# notice, this list of conditions and the following disclaimer
++# 2. Redistributions in binary form must reproduce the above copyright
++# notice, this list of conditions and the following disclaimer in the
++# documentation and/or other materials provided with the distribution.
++#
++# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
++# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
++# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++# SUCH DAMAGE.
++#
++# $MCom: portstools/tinderbox/webui/module/moduleLogs.php,v 1.5.2.1 2008/12/21 17:27:30 beat Exp $
++#
++
++require_once 'module/module.php';
++require_once 'module/modulePorts.php';
++
++class moduleLogs extends module {
++
++ function moduleLogs() {
++ $this->module();
++ $this->modulePorts = new modulePorts();
++ }
++
++ function markup_log( $build_id, $id ) {
++ global $rootdir, $logdir;
++ global $with_timer, $starttimer;
++
++ $ports = $this->TinderboxDS->getAllPortsByPortID( $id );
++ $build = $this->TinderboxDS->getBuildByName( $build_id );
++
++ foreach ( $ports as $port ) {
++ if ( $port->getBuildID() == $build->getID() ) {
++ $build_port = $port;
++ break;
++ }
++ }
++
++ list( $data ) = $this->modulePorts->get_list_data( $build_id, array( $build_port ) );
++
++ $patterns = array();
++
++ if ( $build_port->getLastStatus() == 'FAIL' ) {
++ foreach ( $this->TinderboxDS->getAllPortFailPatterns() as $pattern ) {
++ if ( $pattern->getExpr() != '.*' ) {
++ $patterns[$pattern->getId()]['id'] = $pattern->getId();
++ $patterns[$pattern->getId()]['tag'] = $pattern->getReason();
++ $patterns[$pattern->getId()]['severity'] = 'error';
++ $patterns[$pattern->getId()]['expr'] = '/' . addcslashes( $pattern->getExpr(), '/' ) . '/';
++ $patterns[$pattern->getId()]['color'] = 'red';
++ $patterns[$pattern->getId()]['counter'] = 0;
++ }
++ }
++ } else {
++ foreach( $this->TinderboxDS->getAllLogfilePatterns() as $pattern ) {
++ $patterns[$pattern->getId()]['id'] = $pattern->getId();
++ $patterns[$pattern->getId()]['tag'] = $pattern->getTag();
++ $patterns[$pattern->getId()]['severity'] = $pattern->getSeverity();
++ $patterns[$pattern->getId()]['expr'] = $pattern->getExpr();
++ $patterns[$pattern->getId()]['color'] = $pattern->getColor();
++ $patterns[$pattern->getId()]['counter'] = 0;
++ }
++ }
++
++ if ( !( is_file( $data['port_logfile_path'] ) ) ) {
++ die( 'File cannot be opened for reading.' );
++ }
++
++ $file_name = realpath( $data['port_logfile_path'] );
++
++ if ( strpos( $file_name, $logdir ) !== 0 ) {
++ die( 'So long, and thanks for all the fish' );
++ }
++
++ $lines = array();
++ $stats = array();
++ $colors = array();
++ $counts = array();
++ $displaystats = array();
++
++ $fh = fopen( $file_name, 'r' );
++
++ for ( $lnr = 1; ! feof( $fh ); $lnr++ ) {
++ $line = fgets( $fh );
++
++ $lines[$lnr] = htmlentities( rtrim( $line ) );
++ $colors[$lnr] = '';
++
++ foreach ( $patterns as $pattern ) {
++ if ( !preg_match( $pattern['expr'], $line ) )
++ continue;
++
++ $colors[$lnr] = $pattern['color'];
++
++ if ( !isset( $stats[$pattern['severity']] ) ) {
++ $stats[$pattern['severity']] = array();
++ $counts[$pattern['severity']] = 0;
++ $displaystats[$pattern['severity']] = true;
++ if ( isset( $_COOKIE[$pattern['severity']] ) && $_COOKIE[$pattern['severity']] == '0' )
++ $displaystats[$pattern['severity']] = false;
++ }
++
++ if ( !isset( $stats[$pattern['severity']][$pattern['tag']] ) )
++ $stats[$pattern['severity']][$pattern['tag']] = array();
++
++ $stats[$pattern['severity']][$pattern['tag']][] = $lnr;
++ $counts[$pattern['severity']]++;
++ }
++ }
++
++ $displaystats['linenumber'] = true;
++ if ( isset( $_COOKIE['linenumber'] ) && $_COOKIE['linenumber'] == '0' )
++ $displaystats['linenumber'] = false;
++
++ $this->template_assign( 'lines', $lines );
++ $this->template_assign( 'stats', $stats );
++ $this->template_assign( 'colors', $colors );
++ $this->template_assign( 'counts', $counts );
++ $this->template_assign( 'displaystats', $displaystats );
++ $this->template_assign( 'build', $build_id );
++ $this->template_assign( 'id', $id );
++ $this->template_assign( 'data', $data );
++
++ $elapsed_time = '';
++ if ( isset( $with_timer ) && $with_timer == 1 )
++ $elapsed_time = get_ui_elapsed_time( $starttimer );
++
++ $this->template_assign( 'ui_elapsed_time', $elapsed_time );
++
++ return $this->template_parse( 'display_markup_log.tpl' );
++ }
++}
++?>
+Index: portstools/tinderbox/webui/module/modulePorts.php
+diff -u portstools/tinderbox/webui/module/modulePorts.php:1.12 portstools/tinderbox/webui/module/modulePorts.php:1.12.2.1
+--- portstools/tinderbox/webui/module/modulePorts.php:1.12 Fri Jan 25 15:12:50 2008
++++ portstools/tinderbox/webui/module/modulePorts.php Sun Dec 21 12:27:30 2008
+@@ -24,7 +24,7 @@
+ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ # SUCH DAMAGE.
+ #
+-# $MCom: portstools/tinderbox/webui/module/modulePorts.php,v 1.12 2008/01/25 20:12:50 marcus Exp $
++# $MCom: portstools/tinderbox/webui/module/modulePorts.php,v 1.12.2.1 2008/12/21 17:27:30 beat Exp $
+ #
+
+ require_once 'module/module.php';
+@@ -81,6 +81,7 @@
+
+ function get_list_data( $build_name, $ports ) {
+ global $loguri;
++ global $logdir;
+ global $errorloguri;
+ global $pkguri;
+
+@@ -103,6 +104,7 @@
+ $port_id = $port->getId();
+ $port_last_built_version = $port->getLastBuiltVersion();
+ $port_logfilename = $port->getLogfileName();
++ $port_logfile_path = $logdir . '/' . $build_name . '/' . $port_logfilename;
+ $port_link_logfile = $loguri . '/' . $build_name . '/' . $port_logfilename;
+ $port_link_package = $pkguri . '/' . $build_name . '/All/' . $port_last_built_version . $package_suffix;
+ $port_last_run_duration = $port->getLastRunDuration();
+@@ -153,6 +155,7 @@
+ 'port_directory' => $port->getDirectory(),
+ 'port_maintainer' => prettyEmail( $port->getMaintainer() ).' ',
+ 'port_id' => $port_id,
++ 'port_logfile_path' => $port_logfile_path,
+ 'port_last_built_version' => $port_last_built_version,
+ 'port_last_built' => prettyDatetime( $port->getLastBuilt() ),
+ 'port_last_successful_built' => prettyDatetime( $port->getLastSuccessfulBuilt() ),
+Index: portstools/tinderbox/webui/templates/default/config.tpl
+diff -u portstools/tinderbox/webui/templates/default/config.tpl:1.5 portstools/tinderbox/webui/templates/default/config.tpl:1.5.2.1
+--- portstools/tinderbox/webui/templates/default/config.tpl:1.5 Fri Oct 12 22:28:48 2007
++++ portstools/tinderbox/webui/templates/default/config.tpl Thu Dec 18 16:06:36 2008
+@@ -1,21 +1,21 @@
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+ <head>
+-<!-- $MCom: portstools/tinderbox/webui/templates/default/config.tpl,v 1.5 2007/10/13 02:28:48 ade Exp $ //-->
+-<title><?=$tinderbox_name?></title>
+-<link href="<?=$templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
++<!-- $MCom: portstools/tinderbox/webui/templates/default/config.tpl,v 1.5.2.1 2008/12/18 21:06:36 beat Exp $ //-->
++<title><?php echo $tinderbox_name?></title>
++<link href="<?php echo $templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+-<h1><?=$tinderbox_title?> Config</h1>
+-<?if($errors){?>
++<h1><?php echo $tinderbox_title?> Config</h1>
++<?php if($errors){?>
+ <p style="color:#FF0000">
+- <?foreach($errors as $error){?>
+- <?=$error?><br />
+- <?}?>
++ <?php foreach($errors as $error){?>
++ <?php echo $error?><br />
++ <?php }?>
+ </p>
+-<?} else {?>
++<?php } else {?>
+ <h2>configured builds:</h2>
+-<?if(!$no_build_list){?>
++<?php if(!$no_build_list){?>
+ <table>
+ <tr>
+ <th>Name</th>
+@@ -24,23 +24,23 @@
+ <th>Ports Tree Name</th>
+ </tr>
+
+- <?foreach($build_data as $row) {?>
++ <?php foreach($build_data as $row) {?>
+ <tr>
+- <td><?=$row['build_name']?></td>
+- <td><?=$row['build_description']?></td>
+- <td><?=$row['jail_name']?></td>
+- <td><?=$row['ports_tree_name']?></td>
++ <td><?php echo $row['build_name']?></td>
++ <td><?php echo $row['build_description']?></td>
++ <td><?php echo $row['jail_name']?></td>
++ <td><?php echo $row['ports_tree_name']?></td>
+ </tr>
+- <?}?>
++ <?php }?>
+
+ </table>
+-<?}else{?>
++<?php }else{?>
+ <p>There are no builds configured.</p>
+-<?}?>
++<?php }?>
+
+
+ <h2>configured jails:</h2>
+-<?if(!$no_jail_list){?>
++<?php if(!$no_jail_list){?>
+ <table>
+ <tr>
+ <th>Name</th>
+@@ -52,26 +52,26 @@
+ <th>Src Mount</th>
+ </tr>
+
+- <?foreach($jail_data as $row) {?>
++ <?php foreach($jail_data as $row) {?>
+ <tr>
+- <td><?=$row['jail_name']?></td>
+- <td><?=$row['jail_arch']?></td>
+- <td><?=$row['jail_description']?></td>
+- <td><?=$row['jail_last_built']?></td>
+- <td><?=$row['jail_tag']?></td>
+- <td><?=$row['jail_update_cmd']?></td>
+- <td><?=$row['jail_src_mount']?></td>
++ <td><?php echo $row['jail_name']?></td>
++ <td><?php echo $row['jail_arch']?></td>
++ <td><?php echo $row['jail_description']?></td>
++ <td><?php echo $row['jail_last_built']?></td>
++ <td><?php echo $row['jail_tag']?></td>
++ <td><?php echo $row['jail_update_cmd']?></td>
++ <td><?php echo $row['jail_src_mount']?></td>
+ </tr>
+- <?}?>
++ <?php }?>
+
+ </table>
+-<?}else{?>
++<?php }else{?>
+ <p>There are no jails configured.</p>
+-<?}?>
++<?php }?>
+
+
+ <h2>configured ports trees:</h2>
+-<?if(!$no_ports_tree_list){?>
++<?php if(!$no_ports_tree_list){?>
+ <table>
+ <tr>
+ <th>Name</th>
+@@ -82,46 +82,46 @@
+ <th>Ports Mount</th>
+ </tr>
+
+- <?foreach($ports_tree_data as $row) {?>
++ <?php foreach($ports_tree_data as $row) {?>
+ <tr>
+- <td><?=$row['ports_tree_name']?></td>
+- <td><?=$row['ports_tree_description']?></td>
+- <td><?=$row['ports_tree_last_built']?></td>
+- <td><?=$row['ports_tree_update_cmd']?></td>
+- <td><?=$row['ports_tree_cvsweb_url']?></td>
+- <td><?=$row['ports_tree_ports_mount']?></td>
++ <td><?php echo $row['ports_tree_name']?></td>
++ <td><?php echo $row['ports_tree_description']?></td>
++ <td><?php echo $row['ports_tree_last_built']?></td>
++ <td><?php echo $row['ports_tree_update_cmd']?></td>
++ <td><?php echo $row['ports_tree_cvsweb_url']?></td>
++ <td><?php echo $row['ports_tree_ports_mount']?></td>
+ </tr>
+- <?}?>
++ <?php }?>
+
+ </table>
+-<?}else{?>
++<?php }else{?>
+ <p>There are no ports trees configured.</p>
+-<?}?>
++<?php }?>
+
+ <h2>further configurations:</h2>
+-<?if(!$no_config_option_list){?>
++<?php if(!$no_config_option_list){?>
+ <table>
+ <tr>
+ <th>Name</th>
+ <th>Value</th>
+ </tr>
+
+- <?foreach($config_option_data as $row) {?>
++ <?php foreach($config_option_data as $row) {?>
+ <tr>
+- <td><?=$row['config_option_name']?></td>
+- <td><?=$row['config_option_value']?></td>
++ <td><?php echo $row['config_option_name']?></td>
++ <td><?php echo $row['config_option_value']?></td>
+ </tr>
+- <?}?>
++ <?php }?>
+
+ </table>
+-<?}else{?>
++<?php }else{?>
+ <p>There are no further configurations.</p>
+-<?}?>
++<?php }?>
+
+
+
+-<?}?>
++<?php }?>
+ <p><a href="index.php">Back to homepage</a></p>
+-<?=$display_login?>
++<?php echo $display_login?>
+ </body>
+ </html>
+Index: portstools/tinderbox/webui/templates/default/current_buildports.tpl
+diff -u portstools/tinderbox/webui/templates/default/current_buildports.tpl:1.5.2.1 portstools/tinderbox/webui/templates/default/current_buildports.tpl:1.5.2.3
+--- portstools/tinderbox/webui/templates/default/current_buildports.tpl:1.5.2.1 Sun Nov 2 04:02:24 2008
++++ portstools/tinderbox/webui/templates/default/current_buildports.tpl Thu Dec 18 16:06:36 2008
+@@ -1,10 +1,10 @@
+-<!-- $MCom: portstools/tinderbox/webui/templates/default/current_buildports.tpl,v 1.5.2.1 2008/11/02 09:02:24 beat Exp $ //-->
+-<?if(!$no_list){?>
+- <?if($build_name){?>
+- <h1>Current Builds in <?=$build_name?></h1>
+- <?}else{?>
++<!-- $MCom: portstools/tinderbox/webui/templates/default/current_buildports.tpl,v 1.5.2.3 2008/12/18 21:06:36 beat Exp $ //-->
++<?php if(!$no_list){?>
++ <?php if($build_name){?>
++ <h1>Current Builds in <?php echo $build_name?></h1>
++ <?php }else{?>
+ <h1>Current Builds</h1>
+- <?}?>
++ <?php }?>
+ <table>
+ <tr>
+ <th>Build</th>
+@@ -13,17 +13,17 @@
+ <th>Duration</th>
+ <th>ETA</th>
+ </tr>
+- <?foreach($data as $row) {?>
++ <?php foreach($data as $row) {?>
+ <tr>
+- <td><a href="index.php?action=list_buildports&amp;build=<?=$row['build_name']?>"><?=$row['build_name']?></a></td>
+- <td><?=$row['target_port']?></td>
+- <td><?=$row['port_current_version']?></td>
+- <td><?=time_difference_from_now($row['build_last_updated'])?></td>
+- <td><?=is_string($row['build_eta'])?$row['build_eta']:time_elapsed($row['build_eta'])?></td>
++ <td><a href="index.php?action=list_buildports&amp;build=<?php echo $row['build_name']?>"><?php echo $row['build_name']?></a></td>
++ <td><?php echo $row['target_port']?></td>
++ <td><?php echo $row['port_current_version']?></td>
++ <td><?php echo time_difference_from_now($row['build_last_updated'])?></td>
++ <td><?php echo is_string($row['build_eta'])?$row['build_eta']:time_elapsed($row['build_eta'])?></td>
+ </tr>
+- <?}?>
++ <?php }?>
+ </table>
+ <script language="JavaScript">
+- setTimeout("reloadpage()", 60000)
++ setTimeout("reloadpage()", <?php echo $reload_interval_current ?>)
+ </script>
+-<?}?>
++<?php }?>
+Index: portstools/tinderbox/webui/templates/default/describe_port.tpl
+diff -u portstools/tinderbox/webui/templates/default/describe_port.tpl:1.6 portstools/tinderbox/webui/templates/default/describe_port.tpl:1.6.2.2
+--- portstools/tinderbox/webui/templates/default/describe_port.tpl:1.6 Fri Jan 25 15:12:50 2008
++++ portstools/tinderbox/webui/templates/default/describe_port.tpl Sun Dec 21 12:27:30 2008
+@@ -1,29 +1,29 @@
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+ <head>
+-<!-- $MCom: portstools/tinderbox/webui/templates/default/describe_port.tpl,v 1.6 2008/01/25 20:12:50 marcus Exp $ //-->
+-<title><?=$tinderbox_name?></title>
+-<link href="<?=$templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
++<!-- $MCom: portstools/tinderbox/webui/templates/default/describe_port.tpl,v 1.6.2.2 2008/12/21 17:27:30 beat Exp $ //-->
++<title><?php echo $tinderbox_name?></title>
++<link href="<?php echo $templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+-<h1><?=$tinderbox_title?> - <?=$port_name?></h1>
+-<?if(!$no_list){?>
++<h1><?php echo $tinderbox_title?> - <?php echo $port_name?></h1>
++<?php if(!$no_list){?>
+ <table>
+ <tr>
+ <td>Directory</td>
+- <td><?=$port_dir?> (
+- <?for($i=0;$i<count($ports_trees_links);$i++) {?>
+- <a href="<?=$ports_trees_links[$i]['cvsweb']?>/<?=$port_dir?><?=$ports_trees_links[$i]['cvsweb_querystr']?>"><?=$ports_trees_links[$i]['name']?></a>
+- <?}?>
++ <td><?php echo $port_dir?> (
++ <?php for($i=0;$i<count($ports_trees_links);$i++) {?>
++ <a href="<?php echo $ports_trees_links[$i]['cvsweb']?>/<?php echo $port_dir?><?php echo $ports_trees_links[$i]['cvsweb_querystr']?>"><?php echo $ports_trees_links[$i]['name']?></a>
++ <?php }?>
+ )</td>
+ </tr>
+ <tr>
+ <td>Comment</td>
+- <td><?=$port_comment?></td>
++ <td><?php echo $port_comment?></td>
+ </tr>
+ <tr>
+ <td>Maintainer</td>
+- <td><a href="mailto:<?=$port_maintainer?>"><?=$port_maintainer?></a></td>
++ <td><a href="mailto:<?php echo $port_maintainer?>"><?php echo $port_maintainer?></a></td>
+ </tr>
+ </table>
+ <p>&nbsp;</p>
+@@ -37,32 +37,33 @@
+ <th>Last Successful Build</th>
+ <th>Duration</th>
+ </tr>
+- <?foreach($data as $row) {?>
++ <?php foreach($data as $row) {?>
+ <tr>
+- <td><a href="index.php?action=list_buildports&amp;build=<?=$row['build_name']?>"><?=$row['build_name']?></a></td>
+- <td><?=$row['port_last_built_version']?></td>
+- <td class="<?=$row['status_field_class']?>"><?=$row['status_field_letter']?></td>
++ <td><a href="index.php?action=list_buildports&amp;build=<?php echo $row['build_name']?>"><?php echo $row['build_name']?></a></td>
++ <td><?php echo $row['port_last_built_version']?></td>
++ <td class="<?php echo $row['status_field_class']?>"><?php echo $row['status_field_letter']?></td>
+ <td>
+- <?if($row['port_link_logfile']){?>
+- <a href="<?=$row['port_link_logfile']?>">log</a>
+- <?}?>
+- <?if($row['port_link_package']){?>
+- <a href="<?=$row['port_link_package']?>">package</a>
+- <?}?>
++ <?php if($row['port_link_logfile']){?>
++ <a href="<?php echo $row['port_link_logfile']?>">log</a>
++ <a href="index.php?action=display_markup_log&amp;build=<?php echo $row['build_name']?>&amp;id=<?php echo $row['port_id']?>">markup</a>
++ <?php }?>
++ <?php if($row['port_link_package']){?>
++ <a href="<?php echo $row['port_link_package']?>">package</a>
++ <?php }?>
+ </td>
+- <td><?=$row['port_last_built']?></td>
+- <td><?=$row['port_last_successful_built']?></td>
+- <td><?=time_elapsed($row['port_last_run_duration'])?></td>
++ <td><?php echo $row['port_last_built']?></td>
++ <td><?php echo $row['port_last_successful_built']?></td>
++ <td><?php echo time_elapsed($row['port_last_run_duration'])?></td>
+ </tr>
+- <?}?>
++ <?php }?>
+ </table>
+-<?}else{?>
++<?php }else{?>
+ <p>Invalid port ID.</p>
+-<?}?>
++<?php }?>
+
+-<p>Local time: <?=$local_time?></p>
+-<p style="color:#FF0000;font-size:10px;"><?=$ui_elapsed_time?></p>
+-<?=$display_login?>
++<p>Local time: <?php echo $local_time?></p>
++<p style="color:#FF0000;font-size:10px;"><?php echo $ui_elapsed_time?></p>
++<?php echo $display_login?>
+ <p><a href="index.php">Back to homepage</a></p>
+ </body>
+ </html>
+Index: portstools/tinderbox/webui/templates/default/display_login.tpl
+diff -u portstools/tinderbox/webui/templates/default/display_login.tpl:1.7.2.1 portstools/tinderbox/webui/templates/default/display_login.tpl:1.7.2.2
+--- portstools/tinderbox/webui/templates/default/display_login.tpl:1.7.2.1 Wed Sep 10 12:52:30 2008
++++ portstools/tinderbox/webui/templates/default/display_login.tpl Thu Dec 18 16:06:36 2008
+@@ -1,12 +1,12 @@
+-<?if(!$user_name){?>
++<?php if(!$user_name){?>
+ <form method="post" action="index.php">
+-<?if($errors){?>
++<?php if($errors){?>
+ <p style="color:#FF0000">
+- <?foreach($errors as $error){?>
+- <?=$error?><br />
+- <?}?>
++ <?php foreach($errors as $error){?>
++ <?php echo $error?><br />
++ <?php }?>
+ </p>
+-<?}?>
++<?php }?>
+ <table>
+ <tr>
+ <td>Username</td>
+@@ -22,13 +22,13 @@
+ </table>
+ <p style="font-size:10px;"><b>Note:</b> The Tinderbox web interface requires cookies to be enabled.</p>
+ </form>
+-<?}else{?>
++<?php }else{?>
+ <table>
+ <tr>
+ <td><form method="post" action="index.php">
+ <table class="noborder" style="margin-top:10px">
+ <tr>
+- <td class="noborder">Welcome <?=$user_name?>!</td>
++ <td class="noborder">Welcome <?php echo $user_name?>!</td>
+ <td class="noborder"><input type="submit" name="do_logout" value="logout" /></td>
+ </tr>
+ </table>
+@@ -38,23 +38,23 @@
+ <td><form method="post" action="index.php">
+ <table class="noborder">
+ <tr><td class="noborder"><a href="index.php?action=list_tinderd_queue" style="margin-left:10px">Tinderd Queue</a></td></tr>
+- <?if($is_www_admin==1){?>
++ <?php if($is_www_admin==1){?>
+ <tr><td class="noborder"><a href="index.php?action=config" style="margin-left:10px">Tinderbox Config</a></td></tr>
+ <tr><td class="noborder">
+ <input type="hidden" name="action" value="display_modify_user" />
+ <select name="modify_user_id" style="margin-left:10px">
+- <?foreach($all_users as $user){?>
+- <option value="<?=$user['user_id']?>" <?if ($user_name == $user['user_name']) {?>selected="selected"<?}?>><?=$user['user_name']?></option>
+- <?}?>
++ <?php foreach($all_users as $user){?>
++ <option value="<?php echo $user['user_id']?>" <?php if ($user_name == $user['user_name']) {?>selected="selected"<?php }?>><?php echo $user['user_name']?></option>
++ <?php }?>
+ </select>
+ <input type="submit" name="display_modify_user" value="Modify User" />
+ </td></tr>
+ <tr><td class="noborder"><a href="index.php?action=display_add_user" style="margin-left:10px">Add User</a></td></tr>
+- <?}else{?>
+- <tr><td class="noborder"><a href="index.php?action=display_modify_user&amp;modify_user_id=<?=$user_id?>" style="margin-left:10px">Modify User</a></td></tr>
+- <?}?>
++ <?php }else{?>
++ <tr><td class="noborder"><a href="index.php?action=display_modify_user&amp;modify_user_id=<?php echo $user_id?>" style="margin-left:10px">Modify User</a></td></tr>
++ <?php }?>
+ </table>
+ </form></td>
+ </tr>
+ </table>
+-<?}?>
++<?php }?>
+Index: portstools/tinderbox/webui/templates/default/display_markup_log.tpl
+diff -u /dev/null portstools/tinderbox/webui/templates/default/display_markup_log.tpl:1.3.2.1
+--- /dev/null Sat Dec 27 14:20:59 2008
++++ portstools/tinderbox/webui/templates/default/display_markup_log.tpl Sun Dec 21 12:27:30 2008
+@@ -0,0 +1,64 @@
++<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
++<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
++<head>
++ <!-- $MCom: portstools/tinderbox/webui/templates/default/display_markup_log.tpl,v 1.3.2.1 2008/12/21 17:27:30 beat Exp $ //-->
++ <title><?php echo $tinderbox_name?></title>
++ <link href="<?php echo $templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
++ <script type="text/javascript" src="<?php echo $templatesuri?>/tinderstyle.js"></script>
++</head>
++<body>
++ <h1><?php echo $data['port_directory']?> log</h1>
++ <p><a href="<?php echo $data['port_link_logfile']?>">raw log</a></p>
++
++<?php foreach ($stats as $severity => $tags) { ?>
++ <div>
++ <label>
++ <input type="checkbox" id="<?php echo $severity?>"<?php if ($displaystats[$severity]) echo ' checked="checked"'?> />
++ <span class="<?php echo $severity?>"> <?php echo $severity?>s (<?php echo $counts[$severity]?>)</span>
++ </label>
++ <table class="log" id="<?php echo $severity?>_table"<?php if (! $displaystats[$severity]) echo ' style="display:none"'?>>
++ <?php foreach ($tags as $tag => $lnrs) { ?>
++ <tr>
++ <th colspan="2" class="line"><?php echo $tag?> (<?php echo count($lnrs)?>)</th>
++ </tr>
++ <?php foreach ($lnrs as $lnr) { ?>
++ <tr>
++ <td class="num"><a href="#<?php echo $lnr?>"><?php echo $lnr?></a></td>
++ <td class="line"><a href="#<?php echo $lnr?>" style="color: <?php echo $colors[$lnr]?>"><?php echo $lines[$lnr]?></a></td>
++ </tr>
++ <?php } ?>
++ <?php } ?>
++ </table>
++ </div>
++<?php } ?>
++
++<div>
++ <label><input type="checkbox" id="linenumber"<?php if ($displaystats['linenumber']) echo ' checked="checked"'?> /> show line numbers</label>
++</div>
++
++<table id="log_table">
++ <tr id="l0">
++ <th<?php if (! $displaystats['linenumber']) echo ' style="display:none"'?>>Nr</th>
++ <th>Line</th>
++ </tr>
++<?php foreach ($lines as $lnr => $line){?>
++ <tr id="l<?php echo $lnr?>">
++ <td<?php if (! $displaystats['linenumber']) echo ' style="display:none"'?>><a href="#<?php echo $lnr?>"><?php echo $lnr?></a></td>
++ <td style="color:<?php echo $colors[$lnr]?>"><a name="<?php echo $lnr?>"></a><?php echo $line?></td>
++ </tr>
++<?php }?>
++</table>
++
++<script type= "text/javascript">
++ /* <![CDATA[ */
++ var log_colorlines = {error: {}, warning: {}, information: {}};
++<?php foreach ($stats as $severity => $tags) {
++ foreach ($tags as $tag => $lnrs) {
++ foreach ($lnrs as $lnr) { ?>
++ log_colorlines["<?php echo $severity?>"][<?php echo $lnr?>] = "<?php echo $colors[$lnr]?>";
++<?php }}} ?>
++ window.onload = log_ini;
++ /* ]]> */
++</script>
++</body>
++</html>
+Index: portstools/tinderbox/webui/templates/default/failed_buildports.tpl
+diff -u portstools/tinderbox/webui/templates/default/failed_buildports.tpl:1.8 portstools/tinderbox/webui/templates/default/failed_buildports.tpl:1.8.2.2
+--- portstools/tinderbox/webui/templates/default/failed_buildports.tpl:1.8 Thu Aug 14 21:07:58 2008
++++ portstools/tinderbox/webui/templates/default/failed_buildports.tpl Sun Dec 21 12:27:30 2008
+@@ -1,30 +1,30 @@
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+ <head>
+-<!-- $MCom: portstools/tinderbox/webui/templates/default/failed_buildports.tpl,v 1.8 2008/08/15 01:07:58 marcus Exp $ //-->
+-<title><?=$tinderbox_name?></title>
+-<link href="<?=$templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
++<!-- $MCom: portstools/tinderbox/webui/templates/default/failed_buildports.tpl,v 1.8.2.2 2008/12/21 17:27:30 beat Exp $ //-->
++<title><?php echo $tinderbox_name?></title>
++<link href="<?php echo $templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+
+ <h1>
+
+- <?if($reason){?>
+- Build by reason: <?=$reason?>
+- <?}else{?>
+- <?if($build_name){?>
+- Build Failures in <?=$build_name?>
+- <?}else{?>
++ <?php if($reason){?>
++ Build by reason: <?php echo $reason?>
++ <?php }else{?>
++ <?php if($build_name){?>
++ Build Failures in <?php echo $build_name?>
++ <?php }else{?>
+ All Build Failures
+- <?}?>
+- <?if($maintainer){?>
+- for <?=$maintainer?>
+- <?}?>
+- <?}?>
++ <?php }?>
++ <?php if($maintainer){?>
++ for <?php echo $maintainer?>
++ <?php }?>
++ <?php }?>
+ </h1>
+
+
+-<?if(!$no_list){?>
++<?php if(!$no_list){?>
+ <table>
+ <tr>
+ <th>Build</th>
+@@ -37,37 +37,38 @@
+ <th>Last Successful Build</th>
+ </tr>
+
+- <?foreach($data as $row) {?>
++ <?php foreach($data as $row) {?>
+ <tr>
+- <td><a href="index.php?action=list_buildports&amp;build=<?=$row['build_name']?>"><?=$row['build_name']?></a></td>
+- <td><a href="index.php?action=describe_port&amp;id=<?=$row['port_id']?>"><?=$row['port_directory']?></a></td>
+- <td><?=$row['port_last_built_version']?></td>
+- <td class="<?=$row['status_field_class']?>"><?=$row['status_field_letter']?></td>
+- <?$reason=$row['port_last_fail_reason']?>
+- <td class="<?="fail_reason_".$port_fail_reasons[$reason]['type']?>">
+- <?$href=($port_fail_reasons[$reason]['link']) ? "index.php?action=display_failure_reasons&amp;failure_reason_tag=$reason#$reason" : "#"?>
+- <a href="<?=$href?>" class="<?="fail_reason_".$port_fail_reasons[$reason]['type']?>" title="<?=$port_fail_reasons[$reason]['descr']?>"><?=$reason?></a>
++ <td><a href="index.php?action=list_buildports&amp;build=<?php echo $row['build_name']?>"><?php echo $row['build_name']?></a></td>
++ <td><a href="index.php?action=describe_port&amp;id=<?php echo $row['port_id']?>"><?php echo $row['port_directory']?></a></td>
++ <td><?php echo $row['port_last_built_version']?></td>
++ <td class="<?php echo $row['status_field_class']?>"><?php echo $row['status_field_letter']?></td>
++ <?php $reason=$row['port_last_fail_reason']?>
++ <td class="<?php echo "fail_reason_".$port_fail_reasons[$reason]['type']?>">
++ <?php $href=($port_fail_reasons[$reason]['link']) ? "index.php?action=display_failure_reasons&amp;failure_reason_tag=$reason#$reason" : "#"?>
++ <a href="<?php echo $href?>" class="<?php echo "fail_reason_".$port_fail_reasons[$reason]['type']?>" title="<?php echo $port_fail_reasons[$reason]['descr']?>"><?php echo $reason?></a>
+ </td>
+ <td>
+- <?if($row['port_link_logfile']){?>
+- <a href="<?=$row['port_link_logfile']?>">log</a>
+- <?}?>
+- <?if($row['port_link_package']){?>
+- <a href="<?=$row['port_link_package']?>">package</a>
+- <?}?>
++ <?php if($row['port_link_logfile']){?>
++ <a href="<?php echo $row['port_link_logfile']?>">log</a>
++ <a href="index.php?action=display_markup_log&amp;build=<?php echo $row['build_name']?>&amp;id=<?php echo $row['port_id']?>">markup</a>
++ <?php }?>
++ <?php if($row['port_link_package']){?>
++ <a href="<?php echo $row['port_link_package']?>">package</a>
++ <?php }?>
+ </td>
+- <td><?=$row['port_last_built']?></td>
+- <td><?=$row['port_last_successful_built']?></td>
++ <td><?php echo $row['port_last_built']?></td>
++ <td><?php echo $row['port_last_successful_built']?></td>
+ </tr>
+- <?}?>
++ <?php }?>
+ </table>
+-<?}else{?>
++<?php }else{?>
+ <p>There are no build failures at the moment.</p>
+-<?}?>
++<?php }?>
+
+-<p>Local time: <?=$local_time?></p>
+-<p style="color:#FF0000;font-size:10px;"><?=$ui_elapsed_time?></p>
+-<?=$display_login?>
++<p>Local time: <?php echo $local_time?></p>
++<p style="color:#FF0000;font-size:10px;"><?php echo $ui_elapsed_time?></p>
++<?php echo $display_login?>
+ <p><a href="index.php">Back to homepage</a></p>
+ </body>
+ </html>
+Index: portstools/tinderbox/webui/templates/default/latest_buildports.tpl
+diff -u portstools/tinderbox/webui/templates/default/latest_buildports.tpl:1.10 portstools/tinderbox/webui/templates/default/latest_buildports.tpl:1.10.2.3
+--- portstools/tinderbox/webui/templates/default/latest_buildports.tpl:1.10 Fri Jan 25 15:12:50 2008
++++ portstools/tinderbox/webui/templates/default/latest_buildports.tpl Sun Dec 21 12:27:30 2008
+@@ -1,26 +1,26 @@
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+ <head>
+-<!-- $MCom: portstools/tinderbox/webui/templates/default/latest_buildports.tpl,v 1.10 2008/01/25 20:12:50 marcus Exp $ //-->
++<!-- $MCom: portstools/tinderbox/webui/templates/default/latest_buildports.tpl,v 1.10.2.3 2008/12/21 17:27:30 beat Exp $ //-->
+ <script language="JavaScript">
+ function reloadpage() {
+ document.location.reload();
+ }
+- setTimeout("reloadpage()", 300000)
++ setTimeout("reloadpage()", <?php echo $reload_interval_latest ?>)
+ </script>
+-<title><?=$tinderbox_name?></title>
+-<link href="<?=$templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
++<title><?php echo $tinderbox_name?></title>
++<link href="<?php echo $templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+-<?=$current_builds?>
++<?php echo $current_builds?>
+
+- <?if($build_name){?>
+- <h1>Latest Builds in <?=$build_name?></h1>
+- <?}else{?>
++ <?php if($build_name){?>
++ <h1>Latest Builds in <?php echo $build_name?></h1>
++ <?php }else{?>
+ <h1>Latest Builds</h1>
+- <?}?>
++ <?php }?>
+
+-<?if(!$no_list){?>
++<?php if(!$no_list){?>
+ <table>
+ <tr>
+ <th>Build</th>
+@@ -34,38 +34,39 @@
+ <th>Duration</th>
+ </tr>
+
+- <?foreach($data as $row) {?>
++ <?php foreach($data as $row) {?>
+ <tr>
+- <td><a href="index.php?action=list_buildports&amp;build=<?=$row['build_name']?>"><?=$row['build_name']?></a></td>
+- <td><a href="index.php?action=describe_port&amp;id=<?=$row['port_id']?>"><?=$row['port_directory']?></a></td>
+- <td><?=$row['port_last_built_version']?></td>
+- <td class="<?=$row['status_field_class']?>"><?=$row['status_field_letter']?></td>
+- <?$reason=$row['port_last_fail_reason']?>
+- <td class="<?="fail_reason_".$port_fail_reasons[$reason]['type']?>">
+- <?$href=($port_fail_reasons[$reason]['link']) ? "index.php?action=display_failure_reasons&amp;failure_reason_tag=$reason#$reason" : "#"?>
+- <a href="<?=$href?>" class="<?="fail_reason_".$port_fail_reasons[$reason]['type']?>" title="<?=$port_fail_reasons[$reason]['descr']?>"><?=$reason?></a>
++ <td><a href="index.php?action=list_buildports&amp;build=<?php echo $row['build_name']?>"><?php echo $row['build_name']?></a></td>
++ <td><a href="index.php?action=describe_port&amp;id=<?php echo $row['port_id']?>"><?php echo $row['port_directory']?></a></td>
++ <td><?php echo $row['port_last_built_version']?></td>
++ <td class="<?php echo $row['status_field_class']?>"><?php echo $row['status_field_letter']?></td>
++ <?php $reason=$row['port_last_fail_reason']?>
++ <td class="<?php echo "fail_reason_".$port_fail_reasons[$reason]['type']?>">
++ <?php $href=($port_fail_reasons[$reason]['link']) ? "index.php?action=display_failure_reasons&amp;failure_reason_tag=$reason#$reason" : "#"?>
++ <a href="<?php echo $href?>" class="<?php echo "fail_reason_".$port_fail_reasons[$reason]['type']?>" title="<?php echo $port_fail_reasons[$reason]['descr']?>"><?php echo $reason?></a>
+ </td>
+ <td>
+- <?if($row['port_link_logfile']){?>
+- <a href="<?=$row['port_link_logfile']?>">log</a>
+- <?}?>
+- <?if($row['port_link_package']){?>
+- <a href="<?=$row['port_link_package']?>">package</a>
+- <?}?>
++ <?php if($row['port_link_logfile']){?>
++ <a href="<?php echo $row['port_link_logfile']?>">log</a>
++ <a href="index.php?action=display_markup_log&amp;build=<?php echo $row['build_name']?>&amp;id=<?php echo $row['port_id']?>">markup</a>
++ <?php }?>
++ <?php if($row['port_link_package']){?>
++ <a href="<?php echo $row['port_link_package']?>">package</a>
++ <?php }?>
+ </td>
+- <td><?=$row['port_last_built']?></td>
+- <td><?=$row['port_last_successful_built']?></td>
+- <td><?=time_elapsed($row['port_last_run_duration'])?></td>
++ <td><?php echo $row['port_last_built']?></td>
++ <td><?php echo $row['port_last_successful_built']?></td>
++ <td><?php echo time_elapsed($row['port_last_run_duration'])?></td>
+ </tr>
+- <?}?>
++ <?php }?>
+ </table>
+-<?}else{?>
++<?php }else{?>
+ <p>No ports are being built.</p>
+-<?}?>
++<?php }?>
+
+-<p>Local time: <?=$local_time?></p>
+-<p style="color:#FF0000;font-size:10px;"><?=$ui_elapsed_time?></p>
+-<?=$display_login?>
++<p>Local time: <?php echo $local_time?></p>
++<p style="color:#FF0000;font-size:10px;"><?php echo $ui_elapsed_time?></p>
++<?php echo $display_login?>
+ <p><a href="index.php">Back to homepage</a></p>
+ </body>
+ </html>
+Index: portstools/tinderbox/webui/templates/default/list_buildports.tpl
+diff -u portstools/tinderbox/webui/templates/default/list_buildports.tpl:1.11.2.1 portstools/tinderbox/webui/templates/default/list_buildports.tpl:1.11.2.3
+--- portstools/tinderbox/webui/templates/default/list_buildports.tpl:1.11.2.1 Sun Nov 2 04:37:11 2008
++++ portstools/tinderbox/webui/templates/default/list_buildports.tpl Sun Dec 21 12:27:30 2008
+@@ -1,116 +1,117 @@
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+ <head>
+-<!-- $MCom: portstools/tinderbox/webui/templates/default/list_buildports.tpl,v 1.11.2.1 2008/11/02 09:37:11 beat Exp $ //-->
+-<title><?=$tinderbox_name?></title>
+-<link href="<?=$templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
+-<link rel="alternate" type="application/rss+xml" title="<?=$tinderbox_name?> (RSS)" href="index.php?action=latest_buildports_rss" />
++<!-- $MCom: portstools/tinderbox/webui/templates/default/list_buildports.tpl,v 1.11.2.3 2008/12/21 17:27:30 beat Exp $ //-->
++<title><?php echo $tinderbox_name?></title>
++<link href="<?php echo $templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
++<link rel="alternate" type="application/rss+xml" title="<?php echo $tinderbox_name?> (RSS)" href="index.php?action=latest_buildports_rss" />
+ </head>
+ <body>
+-<h1><?=$tinderbox_title?> - <?=$build_name?></h1>
++<h1><?php echo $tinderbox_title?> - <?php echo $build_name?></h1>
+ <table>
+ <tr>
+ <td>Description</td>
+- <td><?=$build_description?></td>
++ <td><?php echo $build_description?></td>
+ </tr>
+ <tr>
+ <td>System</td>
+- <td>FreeBSD <?=$jail_name?> (<?=$jail_tag?>) updated on <?=$jail_lastbuilt?></td>
++ <td>FreeBSD <?php echo $jail_name?> (<?php echo $jail_tag?>) updated on <?php echo $jail_lastbuilt?></td>
+ </tr>
+ <tr>
+ <td>Ports Tree</td>
+- <td><?=$ports_tree_description?> updated on <?=$ports_tree_lastbuilt?></td>
++ <td><?php echo $ports_tree_description?> updated on <?php echo $ports_tree_lastbuilt?></td>
+ </tr>
+ </table>
+ <form method="get" action="index.php">
+ <p>
+- <a href="index.php?action=latest_buildports&amp;build=<?=$build_name?>">Current and latest builds in this build</a><br />
+- <a href="index.php?action=failed_buildports&amp;build=<?=$build_name?>">Failed builds in this build</a><br />
++ <a href="index.php?action=latest_buildports&amp;build=<?php echo $build_name?>">Current and latest builds in this build</a><br />
++ <a href="index.php?action=failed_buildports&amp;build=<?php echo $build_name?>">Failed builds in this build</a><br />
+ <input type="hidden" name="action" value="failed_buildports" />
+- <input type="hidden" name="build" value="<?=$build_name?>" />
++ <input type="hidden" name="build" value="<?php echo $build_name?>" />
+ Failed builds in this build for the maintainer <select name="maintainer">
+ <option></option>
+- <?foreach($maintainers as $maintainer) {?>
+- <option><?=$maintainer?></option>
+- <?}?>
++ <?php foreach($maintainers as $maintainer) {?>
++ <option><?php echo $maintainer?></option>
++ <?php }?>
+ </select>
+ <input type="submit" name="Go" value="Go" /><br />
+ <a href="index.php">Back to homepage</a>
+ </p>
+ </form>
+
+-<?if(!$no_list){?>
++<?php if(!$no_list){?>
+ <table>
+ <tr>
+ <th>
+- <a href="<?= build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "port_directory") ?>">Port Directory</a>
++ <a href="<?php echo build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "port_directory") ?>">Port Directory</a>
+ </th>
+ <th>
+- <a href="<?= build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "port_maintainer") ?>">Maintainer</a>
++ <a href="<?php echo build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "port_maintainer") ?>">Maintainer</a>
+ </th>
+ <th>
+- <a href="<?= build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "last_built_version") ?>">Version</a>
++ <a href="<?php echo build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "last_built_version") ?>">Version</a>
+ </th>
+ <th style="width: 20px">&nbsp;</th>
+ <th>
+- <a href="<?= build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "last_fail_reason") ?>">Reason</a>
++ <a href="<?php echo build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "last_fail_reason") ?>">Reason</a>
+ </th>
+ <th>&nbsp;</th>
+ <th>
+- <a href="<?= build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "last_built") ?>">Last Build Attempt</a>
++ <a href="<?php echo build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "last_built") ?>">Last Build Attempt</a>
+ </th>
+ <th>
+- <a href="<?= build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "last_successful_built") ?>">Last Successful Build</a>
++ <a href="<?php echo build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "last_successful_built") ?>">Last Successful Build</a>
+ </th>
+ </tr>
+- <?foreach($data as $row) {?>
++ <?php foreach($data as $row) {?>
+ <tr>
+- <td><a href="index.php?action=describe_port&amp;id=<?=$row['port_id']?>"><?=$row['port_directory']?></a></td>
+- <td><?=$row['port_maintainer']?></td>
+- <td><?=$row['port_last_built_version']?></td>
+- <td class="<?=$row['status_field_class']?>"><?=$row['status_field_letter']?></td>
+- <?$reason=$row['port_last_fail_reason']?>
+- <td class="<?="fail_reason_".$port_fail_reasons[$reason]['type']?>">
+- <?$href=($port_fail_reasons[$reason]['link']) ? "index.php?action=display_failure_reasons&amp;failure_reason_tag=$reason#$reason" : "#"?>
+- <a href="<?=$href?>" class="<?="fail_reason_".$port_fail_reasons[$reason]['type']?>" title="<?=$port_fail_reasons[$reason]['descr']?>"><?=$reason?></a>
++ <td><a href="index.php?action=describe_port&amp;id=<?php echo $row['port_id']?>"><?php echo $row['port_directory']?></a></td>
++ <td><?php echo $row['port_maintainer']?></td>
++ <td><?php echo $row['port_last_built_version']?></td>
++ <td class="<?php echo $row['status_field_class']?>"><?php echo $row['status_field_letter']?></td>
++ <?php $reason=$row['port_last_fail_reason']?>
++ <td class="<?php echo "fail_reason_".$port_fail_reasons[$reason]['type']?>">
++ <?php $href=($port_fail_reasons[$reason]['link']) ? "index.php?action=display_failure_reasons&amp;failure_reason_tag=$reason#$reason" : "#"?>
++ <a href="<?php echo $href?>" class="<?php echo "fail_reason_".$port_fail_reasons[$reason]['type']?>" title="<?php echo $port_fail_reasons[$reason]['descr']?>"><?php echo $reason?></a>
+ </td>
+ <td>
+- <?if($row['port_link_logfile']){?>
+- <a href="<?=$row['port_link_logfile']?>">log</a>
+- <?}?>
+- <?if($row['port_link_package']){?>
+- <a href="<?=$row['port_link_package']?>">package</a>
+- <?}?>
++ <?php if($row['port_link_logfile']){?>
++ <a href="<?php echo $row['port_link_logfile']?>">log</a>
++ <a href="index.php?action=display_markup_log&amp;build=<?php echo $row['build_name']?>&amp;id=<?php echo $row['port_id']?>">markup</a>
++ <?php }?>
++ <?php if($row['port_link_package']){?>
++ <a href="<?php echo $row['port_link_package']?>">package</a>
++ <?php }?>
+ </td>
+- <td><?=$row['port_last_built']?></td>
+- <td><?=$row['port_last_successful_built']?></td>
++ <td><?php echo $row['port_last_built']?></td>
++ <td><?php echo $row['port_last_successful_built']?></td>
+ </tr>
+- <?}?>
++ <?php }?>
+ </table>
+- <p>Total: <?=count($data)?></p>
+-<?}else{?>
++ <p>Total: <?php echo count($data)?></p>
++<?php }else{?>
+ <p>No ports are being built.</p>
+-<?}?>
++<?php }?>
+
+-<p>Local time: <?=$local_time?></p>
++<p>Local time: <?php echo $local_time?></p>
+
+ <form method="get" action="index.php">
+ <p>
+- <a href="index.php?action=latest_buildports&amp;build=<?=$build_name?>">Current and latest builds in this build</a><br />
+- <a href="index.php?action=failed_buildports&amp;build=<?=$build_name?>">Failed builds in this build</a><br />
++ <a href="index.php?action=latest_buildports&amp;build=<?php echo $build_name?>">Current and latest builds in this build</a><br />
++ <a href="index.php?action=failed_buildports&amp;build=<?php echo $build_name?>">Failed builds in this build</a><br />
+ <input type="hidden" name="action" value="failed_buildports" />
+- <input type="hidden" name="build" value="<?=$build_name?>" />
++ <input type="hidden" name="build" value="<?php echo $build_name?>" />
+ Failed builds in this build for the maintainer <select name="maintainer">
+ <option></option>
+- <?foreach($maintainers as $maintainer) {?>
+- <option><?=$maintainer?></option>
+- <?}?>
++ <?php foreach($maintainers as $maintainer) {?>
++ <option><?php echo $maintainer?></option>
++ <?php }?>
+ </select>
+ <input type="submit" name="Go" value="Go" /><br />
+ <a href="index.php">Back to homepage</a>
+ </p>
+ </form>
+-<p style="color:#FF0000;font-size:10px;"><?=$ui_elapsed_time?></p>
+-<?=$display_login?>
++<p style="color:#FF0000;font-size:10px;"><?php echo $ui_elapsed_time?></p>
++<?php echo $display_login?>
+ </body>
+ </html>
+Index: portstools/tinderbox/webui/templates/default/list_builds.tpl
+diff -u portstools/tinderbox/webui/templates/default/list_builds.tpl:1.10.2.2 portstools/tinderbox/webui/templates/default/list_builds.tpl:1.10.2.3
+--- portstools/tinderbox/webui/templates/default/list_builds.tpl:1.10.2.2 Sun Nov 2 04:37:11 2008
++++ portstools/tinderbox/webui/templates/default/list_builds.tpl Thu Dec 18 16:06:36 2008
+@@ -1,4 +1,4 @@
+-<?
++<?php
+ $legend = array(
+ "S = Number of ports built successfully",
+ "U = Number of ports with unknown status",
+@@ -12,23 +12,23 @@
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+ <head>
+-<!-- $MCom: portstools/tinderbox/webui/templates/default/list_builds.tpl,v 1.10.2.2 2008/11/02 09:37:11 beat Exp $ //-->
+-<title><?=$tinderbox_name?></title>
+-<link href="<?=$templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
+-<link rel="alternate" type="application/rss+xml" title="<?=$tinderbox_name?> (RSS)" href="index.php?action=latest_buildports_rss" />
++<!-- $MCom: portstools/tinderbox/webui/templates/default/list_builds.tpl,v 1.10.2.3 2008/12/18 21:06:36 beat Exp $ //-->
++<title><?php echo $tinderbox_name?></title>
++<link href="<?php echo $templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
++<link rel="alternate" type="application/rss+xml" title="<?php echo $tinderbox_name?> (RSS)" href="index.php?action=latest_buildports_rss" />
+ </head>
+ <body>
+-<h1><?=$tinderbox_title?></h1>
+-<? if (is_array($legend) && count($legend) > 0) { ?>
++<h1><?php echo $tinderbox_title?></h1>
++<?php if (is_array($legend) && count($legend) > 0) { ?>
+ <div id="legend">
+ <ul>
+- <? foreach ($legend as $items) { ?>
+- <li><?=$items?></li>
+- <? } ?>
++ <?php foreach ($legend as $items) { ?>
++ <li><?php echo $items?></li>
++ <?php } ?>
+ </ul>
+ </div>
+-<? } ?>
+-<?if(!$no_list){?>
++<?php } ?>
++<?php if(!$no_list){?>
+ <table>
+ <tr>
+ <th style="width: 20px">&nbsp;</th>
+@@ -44,77 +44,77 @@
+ <th>Build Packages</th>
+ </tr>
+
+- <?foreach($data as $row) {?>
++ <?php foreach($data as $row) {?>
+ <tr>
+- <td class="<?=$row['status_field_class']?>">&nbsp;</td>
+- <td><a href="index.php?action=list_buildports&amp;build=<?=$row['name']?>"><?=$row['name']?></a></td>
+- <td><?=$row['description']?></td>
++ <td class="<?php echo $row['status_field_class']?>">&nbsp;</td>
++ <td><a href="index.php?action=list_buildports&amp;build=<?php echo $row['name']?>"><?php echo $row['name']?></a></td>
++ <td><?php echo $row['description']?></td>
+ <td align="center">
+- <?if ($row['results']['SUCCESS'] != '-') {?>
+- <a href="index.php?action=buildports_by_reason&amp;build=<?=$row['name']?>&amp;reason=SUCCESS">
+- <?}?>
+- <span title="success"><?=$row['results']['SUCCESS']?></span>
+- <?if ($row['results']['SUCCESS'] != '-') {?>
++ <?php if ($row['results']['SUCCESS'] != '-') {?>
++ <a href="index.php?action=buildports_by_reason&amp;build=<?php echo $row['name']?>&amp;reason=SUCCESS">
++ <?php }?>
++ <span title="success"><?php echo $row['results']['SUCCESS']?></span>
++ <?php if ($row['results']['SUCCESS'] != '-') {?>
+ </a>
+- <?}?>
++ <?php }?>
+ </td>
+ <td align="center">
+- <?if ($row['results']['UNKNOWN'] != '-') {?>
+- <a href="index.php?action=buildports_by_reason&amp;build=<?=$row['name']?>&amp;reason=UNKNOWN">
+- <?}?>
+- <span title="unknown"><?=$row['results']['UNKNOWN']?></span>
+- <?if ($row['results']['UNKNOWN'] != '-') {?>
++ <?php if ($row['results']['UNKNOWN'] != '-') {?>
++ <a href="index.php?action=buildports_by_reason&amp;build=<?php echo $row['name']?>&amp;reason=UNKNOWN">
++ <?php }?>
++ <span title="unknown"><?php echo $row['results']['UNKNOWN']?></span>
++ <?php if ($row['results']['UNKNOWN'] != '-') {?>
+ </a>
+- <?}?>
++ <?php }?>
+ </td>
+ <td align="center">
+- <?if ($row['results']['FAIL'] != '-') {?>
+- <a href="index.php?action=failed_buildports&amp;build=<?=$row['name']?>">
+- <?}?>
+- <span title="fail"><?=$row['results']['FAIL']?></span>
+- <?if ($row['results']['FAIL'] != '-') {?>
++ <?php if ($row['results']['FAIL'] != '-') {?>
++ <a href="index.php?action=failed_buildports&amp;build=<?php echo $row['name']?>">
++ <?php }?>
++ <span title="fail"><?php echo $row['results']['FAIL']?></span>
++ <?php if ($row['results']['FAIL'] != '-') {?>
+ </a>
+- <?}?>
++ <?php }?>
+ </td>
+ <td align="center">
+- <?if ($row['results']['DEPEND'] != '-') {?>
+- <a href="index.php?action=buildports_by_reason&amp;build=<?=$row['name']?>&amp;reason=DEPEND">
+- <?}?>
+- <span title="depend"><?=$row['results']['DEPEND']?></span>
+- <?if ($row['results']['DEPEND'] != '-') {?>
++ <?php if ($row['results']['DEPEND'] != '-') {?>
++ <a href="index.php?action=buildports_by_reason&amp;build=<?php echo $row['name']?>&amp;reason=DEPEND">
++ <?php }?>
++ <span title="depend"><?php echo $row['results']['DEPEND']?></span>
++ <?php if ($row['results']['DEPEND'] != '-') {?>
+ </a>
+- <?}?>
++ <?php }?>
+ </td>
+ <td align="center">
+- <?if ($row['results']['LEFTOVERS'] != '-') {?>
+- <a href="index.php?action=buildports_by_reason&amp;build=<?=$row['name']?>&amp;reason=LEFTOVERS">
+- <?}?>
+- <span title="leftovers"><?=$row['results']['LEFTOVERS']?></span>
+- <?if ($row['results']['LEFTOVERS'] != '-') {?>
++ <?php if ($row['results']['LEFTOVERS'] != '-') {?>
++ <a href="index.php?action=buildports_by_reason&amp;build=<?php echo $row['name']?>&amp;reason=LEFTOVERS">
++ <?php }?>
++ <span title="leftovers"><?php echo $row['results']['LEFTOVERS']?></span>
++ <?php if ($row['results']['LEFTOVERS'] != '-') {?>
+ </a>
+- <?}?>
++ <?php }?>
+ </td>
+- <td align="center"><span title="remake"><?=$row['results']['REMAKE']?></span></td>
++ <td align="center"><span title="remake"><?php echo $row['results']['REMAKE']?></span></td>
+ <td align="center">
+- <?if ($row['results']['TOTAL'] != '-') {?>
+- <a href="index.php?action=list_buildports&amp;build=<?=$row['name']?>">
+- <?}?>
+- <span title="total"><?=$row['results']['TOTAL']?></span>
+- <?if ($row['results']['TOTAL'] != '-') {?>
++ <?php if ($row['results']['TOTAL'] != '-') {?>
++ <a href="index.php?action=list_buildports&amp;build=<?php echo $row['name']?>">
++ <?php }?>
++ <span title="total"><?php echo $row['results']['TOTAL']?></span>
++ <?php if ($row['results']['TOTAL'] != '-') {?>
+ </a>
+- <?}?>
++ <?php }?>
+ </td>
+- <?if($row['packagedir']){?>
+- <td><a href="<?=$row['packagedir']?>">Package Directory</a></td>
+- <?}else{?>
++ <?php if($row['packagedir']){?>
++ <td><a href="<?php echo $row['packagedir']?>">Package Directory</a></td>
++ <?php }else{?>
+ <td><i>No packages for this build</i></td>
+- <?}?>
++ <?php }?>
+ </tr>
+- <?}?>
++ <?php }?>
+ </table>
+-<?}else{?>
++<?php }else{?>
+ <p>There are no builds configured.</p>
+-<?}?>
++<?php }?>
+
+ <form method="get" action="index.php">
+ <p>
+@@ -124,13 +124,13 @@
+ <input type="hidden" name="action" value="failed_buildports" />
+ All Build Failures for the maintainer <select name="maintainer">
+ <option></option>
+-<?foreach($maintainers as $maintainer) {?>
+- <option><?=$maintainer?></option>
+-<?}?>
++<?php foreach($maintainers as $maintainer) {?>
++ <option><?php echo $maintainer?></option>
++<?php }?>
+ </select>
+ <input type="submit" name="Go" value="Go" />
+ </p>
+ </form>
+-<?=$display_login?>
++<?php echo $display_login?>
+ </body>
+ </html>
+Index: portstools/tinderbox/webui/templates/default/list_failure_reasons.tpl
+diff -u portstools/tinderbox/webui/templates/default/list_failure_reasons.tpl:1.4 portstools/tinderbox/webui/templates/default/list_failure_reasons.tpl:1.4.2.1
+--- portstools/tinderbox/webui/templates/default/list_failure_reasons.tpl:1.4 Fri Jan 25 15:12:50 2008
++++ portstools/tinderbox/webui/templates/default/list_failure_reasons.tpl Thu Dec 18 16:06:36 2008
+@@ -1,9 +1,9 @@
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+ <head>
+-<!-- $MCom: portstools/tinderbox/webui/templates/default/list_failure_reasons.tpl,v 1.4 2008/01/25 20:12:50 marcus Exp $ //-->
+-<title><?=$tinderbox_name?></title>
+-<link href="<?=$templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
++<!-- $MCom: portstools/tinderbox/webui/templates/default/list_failure_reasons.tpl,v 1.4.2.1 2008/12/18 21:06:36 beat Exp $ //-->
++<title><?php echo $tinderbox_name?></title>
++<link href="<?php echo $templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+
+@@ -21,18 +21,18 @@
+ <th>Type</th>
+ </tr>
+
+- <?foreach($port_fail_reasons as $reason) {?>
++ <?php foreach($port_fail_reasons as $reason) {?>
+ <tr>
+- <td><a name="<?=$reason['tag']?>" href="javascript:history.back()"><?=$reason['tag']?></a></td>
+- <td><?=$reason['descr']?></td>
+- <td class="<?="fail_reason_".$reason['type']?>"><?=$reason['type']?></td>
++ <td><a name="<?php echo $reason['tag']?>" href="javascript:history.back()"><?php echo $reason['tag']?></a></td>
++ <td><?php echo $reason['descr']?></td>
++ <td class="<?php echo "fail_reason_".$reason['type']?>"><?php echo $reason['type']?></td>
+ </tr>
+- <?}?>
++ <?php }?>
+ </table>
+
+-<p>Local time: <?=$local_time?></p>
+-<p style="color:#FF0000;font-size:10px;"><?=$ui_elapsed_time?></p>
+-<?=$display_login?>
++<p>Local time: <?php echo $local_time?></p>
++<p style="color:#FF0000;font-size:10px;"><?php echo $ui_elapsed_time?></p>
++<?php echo $display_login?>
+ <p><a href="index.php">Back to homepage</a></p>
+ </body>
+ </html>
+Index: portstools/tinderbox/webui/templates/default/list_tinderd_queue.tpl
+diff -u portstools/tinderbox/webui/templates/default/list_tinderd_queue.tpl:1.11.2.1 portstools/tinderbox/webui/templates/default/list_tinderd_queue.tpl:1.11.2.2
+--- portstools/tinderbox/webui/templates/default/list_tinderd_queue.tpl:1.11.2.1 Sun Nov 2 06:07:13 2008
++++ portstools/tinderbox/webui/templates/default/list_tinderd_queue.tpl Thu Dec 18 16:06:36 2008
+@@ -1,12 +1,12 @@
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+ <head>
+-<!-- $MCom: portstools/tinderbox/webui/templates/default/list_tinderd_queue.tpl,v 1.11.2.1 2008/11/02 11:07:13 beat Exp $ //-->
+-<title><?=$tinderbox_name?></title>
+-<link href="<?=$templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
++<!-- $MCom: portstools/tinderbox/webui/templates/default/list_tinderd_queue.tpl,v 1.11.2.2 2008/12/18 21:06:36 beat Exp $ //-->
++<title><?php echo $tinderbox_name?></title>
++<link href="<?php echo $templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+-<h1><?=$tinderbox_title?> - Tinderd Administration</h1>
++<h1><?php echo $tinderbox_title?> - Tinderd Administration</h1>
+ <form method="get" action="index.php">
+ <input type="hidden" name="action" value="list_tinderd_queue" />
+ <table>
+@@ -17,9 +17,9 @@
+ <td>
+ <select name="filter_build_id">
+ <option></option>
+-<?foreach($all_builds as $build) {?>
+- <option value="<?=$build['build_id']?>" <?if ($build_id == $build['build_id']) {?>selected="selected"<?}?> ><?=$build['build_name']?></option>
+-<?}?>
++<?php foreach($all_builds as $build) {?>
++ <option value="<?php echo $build['build_id']?>" <?php if ($build_id == $build['build_id']) {?>selected="selected"<?php }?> ><?php echo $build['build_name']?></option>
++<?php }?>
+ </select>
+ </td>
+ </tr>
+@@ -31,13 +31,13 @@
+ </table>
+ </form>
+
+-<?if($errors){?>
++<?php if($errors){?>
+ <p style="color:#FF0000">
+- <?foreach($errors as $error){?>
+- <?=$error?><br />
+- <?}?>
++ <?php foreach($errors as $error){?>
++ <?php echo $error?><br />
++ <?php }?>
+ </p>
+-<?}?>
++<?php }?>
+
+ <table>
+ <tr>
+@@ -52,91 +52,91 @@
+ <th>&nbsp;</th>
+ </tr>
+
+-<?if(!$no_list){?>
++<?php if(!$no_list){?>
+
+- <?foreach($entries as $row) {?>
++ <?php foreach($entries as $row) {?>
+ <form method="post" action="index.php">
+ <input type="hidden" name="action" value="change_tinderd_queue" />
+- <input type="hidden" name="entry_id" value="<?=$row['entry_id']?>" />
+- <input type="hidden" name="filter_build_id" value="<?=$build_id?>" />
++ <input type="hidden" name="entry_id" value="<?php echo $row['entry_id']?>" />
++ <input type="hidden" name="filter_build_id" value="<?php echo $build_id?>" />
+ <tr>
+ <td>
+- <?if($row['modify'] == 1){?>
++ <?php if($row['modify'] == 1){?>
+ <select name="build_id">
+- <?foreach($all_builds as $build) {?>
+- <option value="<?=$build['build_id']?>" <?if ($row['build'] == $build['build_name']) {?>selected<?}?> ><?=$build['build_name']?></option>
+- <?}?>
++ <?php foreach($all_builds as $build) {?>
++ <option value="<?php echo $build['build_id']?>" <?php if ($row['build'] == $build['build_name']) {?>selected<?php }?> ><?php echo $build['build_name']?></option>
++ <?php }?>
+ </select>
+- <?}else{?>
+- <?=$row['build']?>
+- <?}?>
++ <?php }else{?>
++ <?php echo $row['build']?>
++ <?php }?>
+ </td>
+ <td>
+- <?if($row['modify'] == 1){?>
++ <?php if($row['modify'] == 1){?>
+ <select name="priority">
+- <?foreach($row['all_prio'] as $prio) {?>
+- <option value="<?=$prio?>" <?if ($row['priority'] == $prio) {?>selected<?}?> ><?=$prio?></option>
+- <?}?>
++ <?php foreach($row['all_prio'] as $prio) {?>
++ <option value="<?php echo $prio?>" <?php if ($row['priority'] == $prio) {?>selected<?php }?> ><?php echo $prio?></option>
++ <?php }?>
+ </select>
+- <?}else{?>
+- <?=$row['priority']?>
+- <?}?>
+- </td>
+- <td><?=$row['directory']?></td>
+- <td><?=$row['user']?></td>
+- <td class="<?=$row['status_field_class']?>">&nbsp;</td>
++ <?php }else{?>
++ <?php echo $row['priority']?>
++ <?php }?>
++ </td>
++ <td><?php echo $row['directory']?></td>
++ <td><?php echo $row['user']?></td>
++ <td class="<?php echo $row['status_field_class']?>">&nbsp;</td>
+ <td align="center">
+- <?if($row['modify'] == 1){?>
+- <input type="checkbox" name="email_on_completion" value="1" <?if($row['email_on_completion'] == 1 ) {?>checked="checked"<?}?> />
+- <?}else{?>
+- <?if($row['email_on_completion'] == 1 ) {?>X"<?}?>
+- <?}?>
++ <?php if($row['modify'] == 1){?>
++ <input type="checkbox" name="email_on_completion" value="1" <?php if($row['email_on_completion'] == 1 ) {?>checked="checked"<?php }?> />
++ <?php }else{?>
++ <?php if($row['email_on_completion'] == 1 ) {?>X"<?php }?>
++ <?php }?>
+ </td>
+ <td>
+- <?if($row['modify'] == 1){?>
++ <?php if($row['modify'] == 1){?>
+ <input type="submit" name="change_tinderd_queue" value="save" />
+- <?}?>
++ <?php }?>
+ </td>
+ <td>
+- <?if($row['delete'] == 1){?>
++ <?php if($row['delete'] == 1){?>
+ <input type="submit" name="change_tinderd_queue" value="delete" />
+- <?}?>
++ <?php }?>
+ </td>
+ <td>
+- <?if($row['modify'] == 1){?>
++ <?php if($row['modify'] == 1){?>
+ <input type="submit" name="change_tinderd_queue" value="reset status" />
+- <?}?>
++ <?php }?>
+ </td>
+ </tr>
+ </form>
+- <?}?>
+-<?}?>
++ <?php }?>
++<?php }?>
+ <form method="post" action="index.php">
+ <input type="hidden" name="action" value="add_tinderd_queue" />
+- <input type="hidden" name="entry_id" value="<?=$row['entry_id']?>" />
+- <input type="hidden" name="filter_build_id" value="<?=$build_id?>" />
++ <input type="hidden" name="entry_id" value="<?php echo $row['entry_id']?>" />
++ <input type="hidden" name="filter_build_id" value="<?php echo $build_id?>" />
+ <tr>
+ <td>
+ <br />
+ <select name="new_build_id">
+- <?foreach($all_builds as $build) {?>
+- <option value="<?=$build['build_id']?>" <?if ($new_build_id == $build['build_id']) {?>selected<?}?> ><?=$build['build_name']?></option>
+- <?}?>
++ <?php foreach($all_builds as $build) {?>
++ <option value="<?php echo $build['build_id']?>" <?php if ($new_build_id == $build['build_id']) {?>selected<?php }?> ><?php echo $build['build_name']?></option>
++ <?php }?>
+ </select>
+ </td>
+ <td>
+ <br />
+ <select name="new_priority">
+- <?foreach($all_prio as $prio) {?>
+- <option value="<?=$prio?>" <?if ($new_priority == $prio) {?>selected<?}?> ><?=$prio?></option>
+- <?}?>
++ <?php foreach($all_prio as $prio) {?>
++ <option value="<?php echo $prio?>" <?php if ($new_priority == $prio) {?>selected<?php }?> ><?php echo $prio?></option>
++ <?php }?>
+ </select>
+ </td>
+- <td><br /><input type="text" size="20" name="new_port_directory" value="<?=$new_port_directory?>" /></td>
++ <td><br /><input type="text" size="20" name="new_port_directory" value="<?php echo $new_port_directory?>" /></td>
+ <td>&nbsp;</td>
+ <td>&nbsp;</td>
+ <td align="center">
+- <input type="checkbox" name="new_email_on_completion" value="1" <?if($new_email_on_completion == 1 ) {?>checked="checked"<?}?> />
++ <input type="checkbox" name="new_email_on_completion" value="1" <?php if($new_email_on_completion == 1 ) {?>checked="checked"<?php }?> />
+ </td>
+ <td colspan="3"><br /><input type="submit" name="add_tinderd_queue" value="add" /></td>
+ </tr>
+@@ -146,7 +146,7 @@
+ <p>
+ <form method="post" action="index.php">
+ <input type="hidden" name="action" value="delete_tinderd_queue" />
+- <input type="hidden" name="filter_build_id" value="<?=$build_id?>" />
++ <input type="hidden" name="filter_build_id" value="<?php echo $build_id?>" />
+ <input type="submit" name="delete_tinderd_queue" value="delete all built" />
+ <input type="submit" name="delete_tinderd_queue" value="delete all" />
+ </form>
+@@ -154,6 +154,6 @@
+ <p>
+ <a href="index.php">Back to homepage</a>
+ </p>
+-<?=$display_login?>
++<?php echo $display_login?>
+ </body>
+ </html>
+Index: portstools/tinderbox/webui/templates/default/please_login.tpl
+diff -u portstools/tinderbox/webui/templates/default/please_login.tpl:1.2 portstools/tinderbox/webui/templates/default/please_login.tpl:1.2.2.1
+--- portstools/tinderbox/webui/templates/default/please_login.tpl:1.2 Tue Feb 21 11:24:56 2006
++++ portstools/tinderbox/webui/templates/default/please_login.tpl Thu Dec 18 16:06:36 2008
+@@ -1,15 +1,15 @@
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+ <head>
+-<!-- $MCom: portstools/tinderbox/webui/templates/default/please_login.tpl,v 1.2 2006/02/21 16:24:56 ade Exp $ //-->
+-<title><?=$tinderbox_name?></title>
+-<link href="<?=$templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
++<!-- $MCom: portstools/tinderbox/webui/templates/default/please_login.tpl,v 1.2.2.1 2008/12/18 21:06:36 beat Exp $ //-->
++<title><?php echo $tinderbox_name?></title>
++<link href="<?php echo $templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+-<h1><?=$tinderbox_title?></h1>
++<h1><?php echo $tinderbox_title?></h1>
+ <p style="color:#FF0000">Please login!</p>
+ <p><a href="javascript:history.back()">Back</a><br />
+ <a href="index.php">Back to homepage</a></p>
+-<?=$display_login?>
++<?php echo $display_login?>
+ </body>
+ </html>
+Index: portstools/tinderbox/webui/templates/default/rss.tpl
+diff -u portstools/tinderbox/webui/templates/default/rss.tpl:1.2.2.1 portstools/tinderbox/webui/templates/default/rss.tpl:1.2.2.2
+--- portstools/tinderbox/webui/templates/default/rss.tpl:1.2.2.1 Sun Nov 2 04:37:11 2008
++++ portstools/tinderbox/webui/templates/default/rss.tpl Thu Dec 18 16:06:36 2008
+@@ -1,20 +1,20 @@
+-<?='<'?>?xml version="1.0" encoding="ISO-8859-1"?>
++<?php echo '<'?>?xml version="1.0" encoding="ISO-8859-1"?>
+
+ <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
+ <channel>
+- <title><?=$tinderbox_title?></title>
+- <link><?=$wwwrooturi?></link>
+- <lastBuildDate><?=$lastBuildDate?></lastBuildDate>
+- <generator><?=$tinderbox_name?></generator>
++ <title><?php echo $tinderbox_title?></title>
++ <link><?php echo $wwwrooturi?></link>
++ <lastBuildDate><?php echo $lastBuildDate?></lastBuildDate>
++ <generator><?php echo $tinderbox_name?></generator>
+ <ttl>10</ttl>
+-<?foreach($data as $row) {?>
++<?php foreach($data as $row) {?>
+ <item>
+- <title>[<?=$row['jail_name']?>] - <?=$row['port_directory']?> - <?=$row['port_last_status']?> - <?=str_replace(preg_replace('@^.+/@', '', $row['port_directory']).'-', '', $row['port_last_built_version'])?></title>
+- <link><?=$row['port_link_logfile']?></link>
+- <pubDate><?=$row['port_last_built']?></pubDate>
+- <author><?=$row['build_name']?> => <?=$row['jail_name']?></author>
+- <description><?=$row['port_directory']?> => <?=$row['port_last_status']?> [<?=$row['build_name']?>|<?=$row['jail_name']?>] -- <?=$row['port_link_logfile']?></description>
++ <title>[<?php echo $row['jail_name']?>] - <?php echo $row['port_directory']?> - <?php echo $row['port_last_status']?> - <?php echo str_replace(preg_replace('@^.+/@', '', $row['port_directory']).'-', '', $row['port_last_built_version'])?></title>
++ <link><?php echo $row['port_link_logfile']?></link>
++ <pubDate><?php echo $row['port_last_built']?></pubDate>
++ <author><?php echo $row['build_name']?> => <?php echo $row['jail_name']?></author>
++ <description><?php echo $row['port_directory']?> => <?php echo $row['port_last_status']?> [<?php echo $row['build_name']?>|<?php echo $row['jail_name']?>] -- <?php echo $row['port_link_logfile']?></description>
+ </item>
+-<?}?>
++<?php }?>
+ </channel>
+ </rss>
+Index: portstools/tinderbox/webui/templates/default/tinderstyle.css
+diff -u portstools/tinderbox/webui/templates/default/tinderstyle.css:1.10 portstools/tinderbox/webui/templates/default/tinderstyle.css:1.10.2.1
+--- portstools/tinderbox/webui/templates/default/tinderstyle.css:1.10 Sat Jun 16 20:05:47 2007
++++ portstools/tinderbox/webui/templates/default/tinderstyle.css Sun Dec 21 12:27:30 2008
+@@ -1,8 +1,11 @@
+-<!-- $MCom: portstools/tinderbox/webui/templates/default/tinderstyle.css,v 1.10 2007/06/17 00:05:47 ade Exp $ //-->
++<!-- $MCom: portstools/tinderbox/webui/templates/default/tinderstyle.css,v 1.10.2.1 2008/12/21 17:27:30 beat Exp $ //-->
+
+ body { background-color: white }
+ table { border: 2px solid black; border-collapse: collapse }
+
++table.pattern { background-color: #FFF; border-style: none; }
++table.pattern td { border-width: 0px; }
++
+ a { color: darkblue; }
+ a:visited { color: darkblue; }
+
+Index: portstools/tinderbox/webui/templates/default/tinderstyle.js
+diff -u /dev/null portstools/tinderbox/webui/templates/default/tinderstyle.js:1.1.2.1
+--- /dev/null Sat Dec 27 14:20:59 2008
++++ portstools/tinderbox/webui/templates/default/tinderstyle.js Sun Dec 21 12:27:30 2008
+@@ -0,0 +1,88 @@
++/**
++ * setProperty()
++ */
++var setProperty = function(name, value)
++{
++ var expires = new Date();
++ expires.setDate(expires.getDate() + 365);
++ expires = expires.toGMTString();
++ document.cookie = name + '=' + escape(value) + '; expires=' + expires;
++}
++
++/**
++ * getProperty()
++ */
++var getProperty = function(name)
++{
++ if (document.cookie.length < 1)
++ return false;
++
++ var cArr = document.cookie.split('; ');
++
++ for (var i = 0; i < cArr.length; i++) {
++ var eq = cArr[i].indexOf('=');
++ if (cArr[i].substring(0, eq) == name)
++ return unescape(cArr[i].substring(eq + 1));
++ }
++
++ return false;
++}
++
++var log_lines = [];
++
++/**
++ * log_show()
++ */
++var log_show = function(severity, action)
++{
++ if (typeof severity == 'object') {
++ severity = this.id;
++ action = this.checked;
++ }
++ if (severity == 'linenumber') {
++ var display = action ? '' : 'none';
++ for (var i = 0; i < log_lines.length; i++)
++ log_lines[i][0].style.display = display;
++ }
++ else {
++ document.getElementById(severity+'_table').style.display = action ? '' : 'none';
++ for (var lnr in log_colorlines[severity])
++ log_lines[lnr][1].style.color = action ? log_colorlines[severity][lnr] : '';
++ }
++
++ setProperty(severity, action ? 1 : 0);
++}
++
++/**
++ * log_ini()
++ */
++var log_ini = function()
++{
++ var table = document.getElementById('log_table'), tbody, lnr, switches;
++
++ for (var i = 0; i < table.childNodes.length; i++) {
++ if (table.childNodes[i].tagName != 'TBODY')
++ continue;
++ tbody = table.childNodes[i];
++ }
++
++ for (var i = 0; i < tbody.childNodes.length; i++) {
++ if (tbody.childNodes[i].tagName != 'TR')
++ continue;
++
++ lnr = tbody.childNodes[i].id.replace(/^l/, '');
++ log_lines[lnr] = [];
++
++ for (var j = 0; j < tbody.childNodes[i].childNodes.length; j++) {
++ if (tbody.childNodes[i].childNodes[j].tagName != 'TH'
++ && tbody.childNodes[i].childNodes[j].tagName != 'TD')
++ continue;
++
++ log_lines[lnr].push(tbody.childNodes[i].childNodes[j]);
++ }
++ }
++
++ switches = document.getElementsByTagName('input');
++ for (var i = 0; i < switches.length; i++)
++ switches[i].onclick = log_show;
++}
+Index: portstools/tinderbox/webui/templates/default/user_admin.tpl
+diff -u portstools/tinderbox/webui/templates/default/user_admin.tpl:1.6 portstools/tinderbox/webui/templates/default/user_admin.tpl:1.6.2.1
+--- portstools/tinderbox/webui/templates/default/user_admin.tpl:1.6 Sat Jun 16 20:05:47 2007
++++ portstools/tinderbox/webui/templates/default/user_admin.tpl Thu Dec 18 16:06:36 2008
+@@ -1,37 +1,37 @@
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+ <head>
+-<!-- $MCom: portstools/tinderbox/webui/templates/default/user_admin.tpl,v 1.6 2007/06/17 00:05:47 ade Exp $ //-->
+-<title><?=$tinderbox_name?></title>
+-<link href="<?=$templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
++<!-- $MCom: portstools/tinderbox/webui/templates/default/user_admin.tpl,v 1.6.2.1 2008/12/18 21:06:36 beat Exp $ //-->
++<title><?php echo $tinderbox_name?></title>
++<link href="<?php echo $templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
+-<h1><?=$tinderbox_title?> - User Administration</h1>
++<h1><?php echo $tinderbox_title?> - User Administration</h1>
+
+-<?if($errors){?>
++<?php if($errors){?>
+ <p style="color:#FF0000">
+- <?foreach($errors as $error){?>
+- <?=$error?><br />
+- <?}?>
++ <?php foreach($errors as $error){?>
++ <?php echo $error?><br />
++ <?php }?>
+ </p>
+-<?}?>
++<?php }?>
+
+ <form method="post" action="index.php">
+-<?=$user_properties?>
++<?php echo $user_properties?>
+ <p><br /></p>
+-<?=$user_permissions?>
++<?php echo $user_permissions?>
+ <p>
+-<?if($add==true){?>
++<?php if($add==true){?>
+ <input type="hidden" name="action" value="add_user" />
+ <input type="submit" name="action_user" value="add" />
+-<?}elseif($modify==true){?>
++<?php }elseif($modify==true){?>
+ <input type="hidden" name="action" value="modify_user" />
+ <input type="submit" name="action_user" value="modify" />
+ <input type="submit" name="action_user" value="delete" />
+-<?}?>
++<?php }?>
+ </p>
+ </form>
+ <p><a href="index.php">Back to homepage</a></p>
+-<?=$display_login?>
++<?php echo $display_login?>
+ </body>
+ </html>
+Index: portstools/tinderbox/webui/templates/default/user_permissions.tpl
+diff -u portstools/tinderbox/webui/templates/default/user_permissions.tpl:1.5 portstools/tinderbox/webui/templates/default/user_permissions.tpl:1.5.2.1
+--- portstools/tinderbox/webui/templates/default/user_permissions.tpl:1.5 Fri Oct 12 22:28:48 2007
++++ portstools/tinderbox/webui/templates/default/user_permissions.tpl Thu Dec 18 16:06:36 2008
+@@ -9,30 +9,30 @@
+ <th>Allow<br />Priority<br />&lt; 5</th>
+ </tr>
+
+- <?if($www_admin){?>
+- <?foreach($all_builds as $build) {?>
++ <?php if($www_admin){?>
++ <?php foreach($all_builds as $build) {?>
+ <tr>
+- <td><?=$build['build_name']?></td>
+- <td align="center"><input type="checkbox" name="permission_object[<?=$build['build_id']?>][PERM_ADD_QUEUE]" <?if(isset($permission_object[$build['build_id']]['PERM_ADD_QUEUE'])){?>checked="checked"<?}?> /></td>
+- <td align="center"><input type="checkbox" name="permission_object[<?=$build['build_id']?>][PERM_MODIFY_OWN_QUEUE]" <?if(isset($permission_object[$build['build_id']]['PERM_MODIFY_OWN_QUEUE'])){?>checked="checked"<?}?> /></td>
+- <td align="center"><input type="checkbox" name="permission_object[<?=$build['build_id']?>][PERM_DELETE_OWN_QUEUE]" <?if(isset($permission_object[$build['build_id']]['PERM_DELETE_OWN_QUEUE'])){?>checked="checked"<?}?> /></td>
+- <td align="center"><input type="checkbox" name="permission_object[<?=$build['build_id']?>][PERM_MODIFY_OTHER_QUEUE]" <?if(isset($permission_object[$build['build_id']]['PERM_MODIFY_OTHER_QUEUE'])){?>checked="checked"<?}?> /></td>
+- <td align="center"><input type="checkbox" name="permission_object[<?=$build['build_id']?>][PERM_DELETE_OTHER_QUEUE]" <?if(isset($permission_object[$build['build_id']]['PERM_DELETE_OTHER_QUEUE'])){?>checked="checked"<?}?> /></td>
+- <td align="center"><input type="checkbox" name="permission_object[<?=$build['build_id']?>][PERM_PRIO_LOWER_5]" <?if(isset($permission_object[$build['build_id']]['PERM_PRIO_LOWER_5'])){?>checked="checked"<?}?> /></td>
++ <td><?php echo $build['build_name']?></td>
++ <td align="center"><input type="checkbox" name="permission_object[<?php echo $build['build_id']?>][PERM_ADD_QUEUE]" <?php if(isset($permission_object[$build['build_id']]['PERM_ADD_QUEUE'])){?>checked="checked"<?php }?> /></td>
++ <td align="center"><input type="checkbox" name="permission_object[<?php echo $build['build_id']?>][PERM_MODIFY_OWN_QUEUE]" <?php if(isset($permission_object[$build['build_id']]['PERM_MODIFY_OWN_QUEUE'])){?>checked="checked"<?php }?> /></td>
++ <td align="center"><input type="checkbox" name="permission_object[<?php echo $build['build_id']?>][PERM_DELETE_OWN_QUEUE]" <?php if(isset($permission_object[$build['build_id']]['PERM_DELETE_OWN_QUEUE'])){?>checked="checked"<?php }?> /></td>
++ <td align="center"><input type="checkbox" name="permission_object[<?php echo $build['build_id']?>][PERM_MODIFY_OTHER_QUEUE]" <?php if(isset($permission_object[$build['build_id']]['PERM_MODIFY_OTHER_QUEUE'])){?>checked="checked"<?php }?> /></td>
++ <td align="center"><input type="checkbox" name="permission_object[<?php echo $build['build_id']?>][PERM_DELETE_OTHER_QUEUE]" <?php if(isset($permission_object[$build['build_id']]['PERM_DELETE_OTHER_QUEUE'])){?>checked="checked"<?php }?> /></td>
++ <td align="center"><input type="checkbox" name="permission_object[<?php echo $build['build_id']?>][PERM_PRIO_LOWER_5]" <?php if(isset($permission_object[$build['build_id']]['PERM_PRIO_LOWER_5'])){?>checked="checked"<?php }?> /></td>
+ </tr>
+- <?}?>
+- <?}else{?>
+- <?foreach($all_builds as $build) {?>
++ <?php }?>
++ <?php }else{?>
++ <?php foreach($all_builds as $build) {?>
+ <tr>
+- <td><?=$build['build_name']?></td>
+- <td align="center"><?if($permission_object[$build['build_id']]['PERM_ADD_QUEUE']){?>X<?}?></td>
+- <td align="center"><?if($permission_object[$build['build_id']]['PERM_MODIFY_OWN_QUEUE']){?>X<?}?></td>
+- <td align="center"><?if($permission_object[$build['build_id']]['PERM_DELETE_OWN_QUEUE']){?>X<?}?></td>
+- <td align="center"><?if($permission_object[$build['build_id']]['PERM_MODIFY_OTHER_QUEUE']){?>X<?}?></td>
+- <td align="center"><?if($permission_object[$build['build_id']]['PERM_DELETE_OTHER_QUEUE']){?>X<?}?></td>
+- <td align="center"><?if($permission_object[$build['build_id']]['PERM_PRIO_LOWER_5']){?>X<?}?></td>
++ <td><?php echo $build['build_name']?></td>
++ <td align="center"><?php if($permission_object[$build['build_id']]['PERM_ADD_QUEUE']){?>X<?php }?></td>
++ <td align="center"><?php if($permission_object[$build['build_id']]['PERM_MODIFY_OWN_QUEUE']){?>X<?php }?></td>
++ <td align="center"><?php if($permission_object[$build['build_id']]['PERM_DELETE_OWN_QUEUE']){?>X<?php }?></td>
++ <td align="center"><?php if($permission_object[$build['build_id']]['PERM_MODIFY_OTHER_QUEUE']){?>X<?php }?></td>
++ <td align="center"><?php if($permission_object[$build['build_id']]['PERM_DELETE_OTHER_QUEUE']){?>X<?php }?></td>
++ <td align="center"><?php if($permission_object[$build['build_id']]['PERM_PRIO_LOWER_5']){?>X<?php }?></td>
+ </tr>
+- <?}?>
+- <?}?>
++ <?php }?>
++ <?php }?>
+
+ </table>
+Index: portstools/tinderbox/webui/templates/default/user_properties.tpl
+diff -u portstools/tinderbox/webui/templates/default/user_properties.tpl:1.3 portstools/tinderbox/webui/templates/default/user_properties.tpl:1.3.4.1
+--- portstools/tinderbox/webui/templates/default/user_properties.tpl:1.3 Mon Jul 11 12:18:38 2005
++++ portstools/tinderbox/webui/templates/default/user_properties.tpl Thu Dec 18 16:06:36 2008
+@@ -6,13 +6,13 @@
+ <th>Enable<br />for WWW</th>
+ </tr>
+ <tr>
+- <?if($www_admin){?>
+- <td align="center"><input type="text" size="20" name="user_name" value="<?=$user_name?>" /></td>
+- <?}else{?>
+- <td align="center"><input type="hidden" name="user_name" value="<?=$user_name?>"><?=$user_name?></td>
+- <?}?>
+- <td align="center"><input type="text" size="20" name="user_email" value="<?=$user_email?>" /></td>
+- <td align="center"><input type="password" size="20" name="user_password" value="<?=$user_password?>" /></td>
+- <td align="center"><input type="hidden" name="user_id" value="<?=$user_id?>"><input type="checkbox" name="www_enabled" value="1" <?if($www_enabled == 1 ) {?>checked="checked"<?}?> /></td>
++ <?php if($www_admin){?>
++ <td align="center"><input type="text" size="20" name="user_name" value="<?php echo $user_name?>" /></td>
++ <?php }else{?>
++ <td align="center"><input type="hidden" name="user_name" value="<?php echo $user_name?>"><?php echo $user_name?></td>
++ <?php }?>
++ <td align="center"><input type="text" size="20" name="user_email" value="<?php echo $user_email?>" /></td>
++ <td align="center"><input type="password" size="20" name="user_password" value="<?php echo $user_password?>" /></td>
++ <td align="center"><input type="hidden" name="user_id" value="<?php echo $user_id?>"><input type="checkbox" name="www_enabled" value="1" <?php if($www_enabled == 1 ) {?>checked="checked"<?php }?> /></td>
+ </tr>
+ </table>
+Index: portstools/tinderbox/webui/templates/paefchen/config.tpl
+diff -u portstools/tinderbox/webui/templates/paefchen/config.tpl:1.1 portstools/tinderbox/webui/templates/paefchen/config.tpl:1.1.2.1
+--- portstools/tinderbox/webui/templates/paefchen/config.tpl:1.1 Sat Jan 19 15:18:36 2008
++++ portstools/tinderbox/webui/templates/paefchen/config.tpl Thu Dec 18 16:06:37 2008
+@@ -1,18 +1,18 @@
+-<?
++<?php
+ $topmenu = array();
+ $header_title = 'Config';
+ include 'header.inc.tpl';
+ ?>
+ <!-- $Paefchen: FreeBSD/tinderbox/webui/templates/paefchen/config.tpl,v 1.1 2008/01/05 12:25:17 as Exp $ //-->
+-<?if($errors){?>
++<?php if($errors){?>
+ <p style="color:#FF0000">
+- <?foreach($errors as $error){?>
+- <?=$error?><br />
+- <?}?>
++ <?php foreach($errors as $error){?>
++ <?php echo $error?><br />
++ <?php }?>
+ </p>
+-<?} else {?>
++<?php } else {?>
+ <h2>configured builds:</h2>
+-<?if(!$no_build_list){?>
++<?php if(!$no_build_list){?>
+ <table>
+ <tr>
+ <th>Name</th>
+@@ -21,23 +21,23 @@
+ <th>Ports Tree Name</th>
+ </tr>
+
+- <?foreach($build_data as $row) {?>
++ <?php foreach($build_data as $row) {?>
+ <tr>
+- <td><?=$row['build_name']?></td>
+- <td><?=$row['build_description']?></td>
+- <td><?=$row['jail_name']?></td>
+- <td><?=$row['ports_tree_name']?></td>
++ <td><?php echo $row['build_name']?></td>
++ <td><?php echo $row['build_description']?></td>
++ <td><?php echo $row['jail_name']?></td>
++ <td><?php echo $row['ports_tree_name']?></td>
+ </tr>
+- <?}?>
++ <?php }?>
+
+ </table>
+-<?}else{?>
++<?php }else{?>
+ <p>There are no builds configured.</p>
+-<?}?>
++<?php }?>
+
+
+ <h2>configured jails:</h2>
+-<?if(!$no_jail_list){?>
++<?php if(!$no_jail_list){?>
+ <table>
+ <tr>
+ <th>Name</th>
+@@ -49,26 +49,26 @@
+ <th>Src Mount</th>
+ </tr>
+
+- <?foreach($jail_data as $row) {?>
++ <?php foreach($jail_data as $row) {?>
+ <tr>
+- <td><?=$row['jail_name']?></td>
+- <td><?=$row['jail_arch']?></td>
+- <td><?=$row['jail_description']?></td>
+- <td><?=$row['jail_last_built']?></td>
+- <td><?=$row['jail_tag']?></td>
+- <td><?=$row['jail_update_cmd']?></td>
+- <td><?=$row['jail_src_mount']?></td>
++ <td><?php echo $row['jail_name']?></td>
++ <td><?php echo $row['jail_arch']?></td>
++ <td><?php echo $row['jail_description']?></td>
++ <td><?php echo $row['jail_last_built']?></td>
++ <td><?php echo $row['jail_tag']?></td>
++ <td><?php echo $row['jail_update_cmd']?></td>
++ <td><?php echo $row['jail_src_mount']?></td>
+ </tr>
+- <?}?>
++ <?php }?>
+
+ </table>
+-<?}else{?>
++<?php }else{?>
+ <p>There are no jails configured.</p>
+-<?}?>
++<?php }?>
+
+
+ <h2>configured ports trees:</h2>
+-<?if(!$no_ports_tree_list){?>
++<?php if(!$no_ports_tree_list){?>
+ <table>
+ <tr>
+ <th>Name</th>
+@@ -79,41 +79,41 @@
+ <th>Ports Mount</th>
+ </tr>
+
+- <?foreach($ports_tree_data as $row) {?>
++ <?php foreach($ports_tree_data as $row) {?>
+ <tr>
+- <td><?=$row['ports_tree_name']?></td>
+- <td><?=$row['ports_tree_description']?></td>
+- <td><?=$row['ports_tree_last_built']?></td>
+- <td><?=$row['ports_tree_update_cmd']?></td>
+- <td><?=$row['ports_tree_cvsweb_url']?></td>
+- <td><?=$row['ports_tree_ports_mount']?></td>
++ <td><?php echo $row['ports_tree_name']?></td>
++ <td><?php echo $row['ports_tree_description']?></td>
++ <td><?php echo $row['ports_tree_last_built']?></td>
++ <td><?php echo $row['ports_tree_update_cmd']?></td>
++ <td><?php echo $row['ports_tree_cvsweb_url']?></td>
++ <td><?php echo $row['ports_tree_ports_mount']?></td>
+ </tr>
+- <?}?>
++ <?php }?>
+
+ </table>
+-<?}else{?>
++<?php }else{?>
+ <p>There are no ports trees configured.</p>
+-<?}?>
++<?php }?>
+
+ <h2>further configurations:</h2>
+-<?if(!$no_config_option_list){?>
++<?php if(!$no_config_option_list){?>
+ <table>
+ <tr>
+ <th>Name</th>
+ <th>Value</th>
+ </tr>
+
+- <?foreach($config_option_data as $row) {?>
++ <?php foreach($config_option_data as $row) {?>
+ <tr>
+- <td><?=$row['config_option_name']?></td>
+- <td><?=$row['config_option_value']?></td>
++ <td><?php echo $row['config_option_name']?></td>
++ <td><?php echo $row['config_option_value']?></td>
+ </tr>
+- <?}?>
++ <?php }?>
+
+ </table>
+-<?}else{?>
++<?php }else{?>
+ <p>There are no further configurations.</p>
+-<?
++<?php
+ }
+ }
+ include 'footer.inc.tpl';
+Index: portstools/tinderbox/webui/templates/paefchen/current_buildports.tpl
+diff -u portstools/tinderbox/webui/templates/paefchen/current_buildports.tpl:1.1.2.1 portstools/tinderbox/webui/templates/paefchen/current_buildports.tpl:1.1.2.3
+--- portstools/tinderbox/webui/templates/paefchen/current_buildports.tpl:1.1.2.1 Sun Nov 2 04:02:28 2008
++++ portstools/tinderbox/webui/templates/paefchen/current_buildports.tpl Thu Dec 18 16:06:37 2008
+@@ -1,5 +1,5 @@
+ <!-- $Paefchen: FreeBSD/tinderbox/webui/templates/paefchen/current_buildports.tpl,v 1.1 2008/01/05 12:25:17 as Exp $ //-->
+-<?if(!$no_list){?>
++<?php if(!$no_list){?>
+ <h2 id="current">Current</h2>
+ <table>
+ <tr>
+@@ -9,17 +9,17 @@
+ <th>Duration</th>
+ <th>ETA</th>
+ </tr>
+- <?foreach($data as $row) {?>
++ <?php foreach($data as $row) {?>
+ <tr>
+- <td><a href="index.php?action=list_buildports&amp;build=<?=$row['build_name']?>"><?=$row['build_name']?></a></td>
+- <td><?=$row['target_port']?></td>
+- <td><?=$row['port_current_version']?></td>
+- <td><?=time_difference_from_now($row['build_last_updated'])?></td>
+- <td><?=is_string($row['build_eta'])?$row['build_eta']:time_elapsed($row['build_eta'])?></td>
++ <td><a href="index.php?action=list_buildports&amp;build=<?php echo $row['build_name']?>"><?php echo $row['build_name']?></a></td>
++ <td><?php echo $row['target_port']?></td>
++ <td><?php echo $row['port_current_version']?></td>
++ <td><?php echo time_difference_from_now($row['build_last_updated'])?></td>
++ <td><?php echo is_string($row['build_eta'])?$row['build_eta']:time_elapsed($row['build_eta'])?></td>
+ </tr>
+- <?}?>
++ <?php }?>
+ </table>
+ <script language="JavaScript">
+- setTimeout("reloadpage()", 60000)
++ setTimeout("reloadpage()", <?php echo $reload_interval_current ?>)
+ </script>
+-<?}?>
++<?php }?>
+Index: portstools/tinderbox/webui/templates/paefchen/describe_port.tpl
+diff -u portstools/tinderbox/webui/templates/paefchen/describe_port.tpl:1.1 portstools/tinderbox/webui/templates/paefchen/describe_port.tpl:1.1.2.2
+--- portstools/tinderbox/webui/templates/paefchen/describe_port.tpl:1.1 Sat Jan 19 15:18:36 2008
++++ portstools/tinderbox/webui/templates/paefchen/describe_port.tpl Sun Dec 21 12:27:30 2008
+@@ -1,27 +1,27 @@
+-<?
++<?php
+ $topmenu = array();
+ $header_title = $port_name;
+ include 'header.inc.tpl';
+ ?>
+ <!-- $Paefchen: FreeBSD/tinderbox/webui/templates/paefchen/describe_port.tpl,v 1.1 2008/01/05 12:25:17 as Exp $ //-->
+-<?if(!$no_list){?>
++<?php if(!$no_list){?>
+ <div class="description">
+ <table>
+ <tr>
+ <th>Directory</th>
+- <td><?=$port_dir?> (
+- <?for($i=0;$i<count($ports_trees_links);$i++) {?>
+- <a href="<?=$ports_trees_links[$i]['cvsweb']?>/<?=$port_dir?><?=$ports_trees_links[$i]['cvsweb_querystr']?>"><?=$ports_trees_links[$i]['name']?></a>
+- <?}?>
++ <td><?php echo $port_dir?> (
++ <?php for($i=0;$i<count($ports_trees_links);$i++) {?>
++ <a href="<?php echo $ports_trees_links[$i]['cvsweb']?>/<?php echo $port_dir?><?php echo $ports_trees_links[$i]['cvsweb_querystr']?>"><?php echo $ports_trees_links[$i]['name']?></a>
++ <?php }?>
+ )</td>
+ </tr>
+ <tr>
+ <th>Comment</th>
+- <td><?=$port_comment?></td>
++ <td><?php echo $port_comment?></td>
+ </tr>
+ <tr>
+ <th>Maintainer</th>
+- <td><a href="mailto:<?=$port_maintainer?>"><?=$port_maintainer?></a></td>
++ <td><a href="mailto:<?php echo $port_maintainer?>"><?php echo $port_maintainer?></a></td>
+ </tr>
+ </table>
+ </div>
+@@ -35,28 +35,29 @@
+ <th>Last Successful Build</th>
+ <th>Duration</th>
+ </tr>
+- <?foreach($data as $row) {?>
++ <?php foreach($data as $row) {?>
+ <tr>
+- <td><a href="index.php?action=list_buildports&amp;build=<?=$row['build_name']?>"><?=$row['build_name']?></a></td>
+- <td><?=$row['port_last_built_version']?></td>
+- <td class="<?=$row['status_field_class']?>"><?=$row['status_field_letter']?></td>
++ <td><a href="index.php?action=list_buildports&amp;build=<?php echo $row['build_name']?>"><?php echo $row['build_name']?></a></td>
++ <td><?php echo $row['port_last_built_version']?></td>
++ <td class="<?php echo $row['status_field_class']?>"><?php echo $row['status_field_letter']?></td>
+ <td>
+- <?if($row['port_link_logfile']){?>
+- <a href="<?=$row['port_link_logfile']?>">log</a>
+- <?}?>
+- <?if($row['port_link_package']){?>
+- <a href="<?=$row['port_link_package']?>">package</a>
+- <?}?>
++ <?php if($row['port_link_logfile']){?>
++ <a href="<?php echo $row['port_link_logfile']?>">log</a>
++ <a href="index.php?action=display_markup_log&amp;build=<?php echo $row['build_name']?>&amp;id=<?php echo $row['port_id']?>">markup</a>
++ <?php }?>
++ <?php if($row['port_link_package']){?>
++ <a href="<?php echo $row['port_link_package']?>">package</a>
++ <?php }?>
+ </td>
+- <td><?=$row['port_last_built']?></td>
+- <td><?=$row['port_last_successful_built']?></td>
+- <td><?=time_elapsed($row['port_last_run_duration'])?></td>
++ <td><?php echo $row['port_last_built']?></td>
++ <td><?php echo $row['port_last_successful_built']?></td>
++ <td><?php echo time_elapsed($row['port_last_run_duration'])?></td>
+ </tr>
+- <?}?>
++ <?php }?>
+ </table>
+-<?}else{?>
++<?php }else{?>
+ <p>Invalid port ID.</p>
+-<? }
++<?php }
+ $footer_legend = array(
+ 'port_success' => 'Success',
+ 'port_default' => 'Default',
+Index: portstools/tinderbox/webui/templates/paefchen/display_login.tpl
+diff -u portstools/tinderbox/webui/templates/paefchen/display_login.tpl:1.2.2.1 portstools/tinderbox/webui/templates/paefchen/display_login.tpl:1.2.2.2
+--- portstools/tinderbox/webui/templates/paefchen/display_login.tpl:1.2.2.1 Wed Sep 10 12:52:30 2008
++++ portstools/tinderbox/webui/templates/paefchen/display_login.tpl Thu Dec 18 16:06:37 2008
+@@ -1,16 +1,16 @@
+ <!-- $Paefchen: FreeBSD/tinderbox/webui/templates/paefchen/display_login.tpl,v 1.3 2008/01/07 04:16:24 as Exp $ //-->
+-<!-- user_name:<?=$user_name?>;user_id:<?=$user_id?>;is_www_admin:<?=$is_www_admin?> //-->
+-<? if (empty($user_name)) { ?>
++<!-- user_name:<?php echo $user_name?>;user_id:<?php echo $user_id?>;is_www_admin:<?php echo $is_www_admin?> //-->
++<?php if (empty($user_name)) { ?>
+ <form method="post" action="index.php">
+ <fieldset>
+ <label>Login</label>
+- <? if ($errors) { ?>
++ <?php if ($errors) { ?>
+ <p style="color:#FF0000">
+- <? foreach($errors as $error){ ?>
+- <?=$error?><br />
+- <? } ?>
++ <?php foreach($errors as $error){ ?>
++ <?php echo $error?><br />
++ <?php } ?>
+ </p>
+- <?}?>
++ <?php }?>
+ <table>
+ <tr>
+ <td>Username</td>
+@@ -27,17 +27,17 @@
+ </table>
+ </fieldset>
+ </form>
+-<? } else if (! empty($user_name) && $is_www_admin == 1) { ?>
++<?php } else if (! empty($user_name) && $is_www_admin == 1) { ?>
+ <form method="post" action="index.php">
+ <fieldset>
+ <label>Modify User</label>
+ <input type="hidden" name="action" value="display_modify_user" />
+ <select name="modify_user_id">
+- <?foreach($all_users as $user){?>
+- <option value="<?=$user['user_id']?>" <?if ($user_name == $user['user_name']) {?>selected="selected"<?}?>><?=$user['user_name']?></option>
+- <? } ?>
++ <?php foreach($all_users as $user){?>
++ <option value="<?php echo $user['user_id']?>" <?php if ($user_name == $user['user_name']) {?>selected="selected"<?php }?>><?php echo $user['user_name']?></option>
++ <?php } ?>
+ </select>
+ <input type="submit" name="display_modify_user" value="Modify User" />
+ </fieldset>
+ </form>
+-<? } ?>
++<?php } ?>
+Index: portstools/tinderbox/webui/templates/paefchen/display_markup_log.tpl
+diff -u /dev/null portstools/tinderbox/webui/templates/paefchen/display_markup_log.tpl:1.3.2.1
+--- /dev/null Sat Dec 27 14:20:59 2008
++++ portstools/tinderbox/webui/templates/paefchen/display_markup_log.tpl Sun Dec 21 12:27:30 2008
+@@ -0,0 +1,61 @@
++<?php
++$header_title = "$directory log";
++$topmenu = array(
++ $data['port_directory'] => "index.php?action=describe_port&amp;id=$id",
++ 'raw log' => $data['port_link_logfile']
++);
++include 'header.inc.tpl';
++?>
++
++<?php foreach ($stats as $severity => $tags) { ?>
++ <label>
++ <input type="checkbox" id="<?php echo $severity?>"<?php if ($displaystats[$severity]) echo ' checked="checked"'?> />
++ <span class="<?php echo $severity?>"> <?php echo $severity?>s (<?php echo $counts[$severity]?>)</span>
++ </label>
++ <table class="log" id="<?php echo $severity?>_table"<?php if (! $displaystats[$severity]) echo ' style="display:none"'?>>
++ <?php foreach ($tags as $tag => $lnrs) { ?>
++ <tr>
++ <th colspan="2" class="line"><?php echo $tag?> (<?php echo count($lnrs)?>)</th>
++ </tr>
++ <?php foreach ($lnrs as $lnr) { ?>
++ <tr>
++ <td class="num"><a href="#<?php echo $lnr?>"><?php echo $lnr?></a></td>
++ <td class="line"><a href="#<?php echo $lnr?>" style="color: <?php echo $colors[$lnr]?>"><?php echo $lines[$lnr]?></a></td>
++ </tr>
++ <?php } ?>
++ <?php } ?>
++ </table>
++<?php } ?>
++
++<div>
++ <label><input type="checkbox" id="linenumber"<?php if ($displaystats['linenumber']) echo ' checked="checked"'?> /> show line numbers</label>
++</div>
++
++<table class="log" id="log_table">
++ <tr id="l0">
++ <th class="num"<?php if (! $displaystats['linenumber']) echo ' style="display:none"'?>>Nr</th>
++ <th class="line">Line</th>
++ </tr>
++<?php foreach ($lines as $lnr => $line){?>
++ <tr id="l<?php echo $lnr?>">
++ <td class="num"<?php if (! $displaystats['linenumber']) echo ' style="display:none"'?>><a href="#<?php echo $lnr?>"><?php echo $lnr?></a></td>
++ <td class="line" style="color:<?php echo $colors[$lnr]?>"><a name="<?php echo $lnr?>"></a><?php echo $line?></td>
++ </tr>
++<?php }?>
++</table>
++
++<script type= "text/javascript">
++ /* <![CDATA[ */
++ var log_colorlines = {error: {}, warning: {}, information: {}};
++<?php foreach ($stats as $severity => $tags) {
++ foreach ($tags as $tag => $lnrs) {
++ foreach ($lnrs as $lnr) { ?>
++ log_colorlines["<?php echo $severity?>"][<?php echo $lnr?>] = "<?php echo $colors[$lnr]?>";
++<?php }}} ?>
++ window.onload = log_ini;
++ /* ]]> */
++</script>
++
++<?php
++include 'footer.inc.tpl';
++?>
+Index: portstools/tinderbox/webui/templates/paefchen/failed_buildports.tpl
+diff -u portstools/tinderbox/webui/templates/paefchen/failed_buildports.tpl:1.2 portstools/tinderbox/webui/templates/paefchen/failed_buildports.tpl:1.2.2.2
+--- portstools/tinderbox/webui/templates/paefchen/failed_buildports.tpl:1.2 Thu Aug 14 21:07:58 2008
++++ portstools/tinderbox/webui/templates/paefchen/failed_buildports.tpl Sun Dec 21 12:27:30 2008
+@@ -1,4 +1,4 @@
+-<?
++<?php
+ $topmenu = array();
+ $header_title = $build_name
+ ? "Build Failures in $build_name"
+@@ -10,7 +10,7 @@
+ include 'header.inc.tpl';
+ ?>
+ <!-- $Paefchen: FreeBSD/tinderbox/webui/templates/paefchen/failed_buildports.tpl,v 1.1 2008/01/05 12:25:17 as Exp $ //-->
+-<?if(!$no_list){?>
++<?php if(!$no_list){?>
+ <table>
+ <tr>
+ <th>Build</th>
+@@ -22,33 +22,34 @@
+ <th>Last Build Attempt</th>
+ <th>Last Successful Build</th>
+ </tr>
+-<?foreach($data as $row) {?>
++<?php foreach($data as $row) {?>
+ <tr>
+- <td><a href="index.php?action=list_buildports&amp;build=<?=$row['build_name']?>"><?=$row['build_name']?></a></td>
+- <td><a href="index.php?action=describe_port&amp;id=<?=$row['port_id']?>"><?=$row['port_directory']?></a></td>
+- <td><?=$row['port_last_built_version']?></td>
+- <td class="<?=$row['status_field_class']?>"><?=$row['status_field_letter']?></td>
+- <?$reason=$row['port_last_fail_reason']?>
+- <td class="<?="fail_reason_".$port_fail_reasons[$reason]['type']?>">
+- <?$href=($port_fail_reasons[$reason]['link']) ? "index.php?action=display_failure_reasons&amp;failure_reason_tag=$reason#$reason" : "#"?>
+- <a href="<?=$href?>" class="<?="fail_reason_".$port_fail_reasons[$reason]['type']?>" title="<?=$port_fail_reasons[$reason]['descr']?>"><?=$reason?></a>
++ <td><a href="index.php?action=list_buildports&amp;build=<?php echo $row['build_name']?>"><?php echo $row['build_name']?></a></td>
++ <td><a href="index.php?action=describe_port&amp;id=<?php echo $row['port_id']?>"><?php echo $row['port_directory']?></a></td>
++ <td><?php echo $row['port_last_built_version']?></td>
++ <td class="<?php echo $row['status_field_class']?>"><?php echo $row['status_field_letter']?></td>
++ <?php $reason=$row['port_last_fail_reason']?>
++ <td class="<?php echo "fail_reason_".$port_fail_reasons[$reason]['type']?>">
++ <?php $href=($port_fail_reasons[$reason]['link']) ? "index.php?action=display_failure_reasons&amp;failure_reason_tag=$reason#$reason" : "#"?>
++ <a href="<?php echo $href?>" class="<?php echo "fail_reason_".$port_fail_reasons[$reason]['type']?>" title="<?php echo $port_fail_reasons[$reason]['descr']?>"><?php echo $reason?></a>
+ </td>
+ <td>
+- <?if($row['port_link_logfile']){?>
+- <a href="<?=$row['port_link_logfile']?>">log</a>
+- <?}?>
+- <?if($row['port_link_package']){?>
+- <a href="<?=$row['port_link_package']?>">package</a>
+- <?}?>
++ <?php if($row['port_link_logfile']){?>
++ <a href="<?php echo $row['port_link_logfile']?>">log</a>
++ <a href="index.php?action=display_markup_log&amp;build=<?php echo $row['build_name']?>&amp;id=<?php echo $row['port_id']?>">markup</a>
++ <?php }?>
++ <?php if($row['port_link_package']){?>
++ <a href="<?php echo $row['port_link_package']?>">package</a>
++ <?php }?>
+ </td>
+- <td><?=$row['port_last_built']?></td>
+- <td><?=$row['port_last_successful_built']?></td>
++ <td><?php echo $row['port_last_built']?></td>
++ <td><?php echo $row['port_last_successful_built']?></td>
+ </tr>
+-<?}?>
++<?php }?>
+ </table>
+-<?}else{?>
++<?php }else{?>
+ <p>There are no build failures at the moment.</p>
+-<? }
++<?php }
+ $footer_legend = array(
+ 'port_success' => 'Success',
+ 'port_default' => 'Default',
+Index: portstools/tinderbox/webui/templates/paefchen/footer.inc.tpl
+diff -u portstools/tinderbox/webui/templates/paefchen/footer.inc.tpl:1.2 portstools/tinderbox/webui/templates/paefchen/footer.inc.tpl:1.2.2.1
+--- portstools/tinderbox/webui/templates/paefchen/footer.inc.tpl:1.2 Fri Jan 25 15:12:50 2008
++++ portstools/tinderbox/webui/templates/paefchen/footer.inc.tpl Thu Dec 18 16:06:37 2008
+@@ -1,5 +1,5 @@
+ <!-- $Paefchen: FreeBSD/tinderbox/webui/templates/paefchen/footer.inc.tpl,v 1.1 2008/01/05 12:25:17 as Exp $ //-->
+-<?=$display_login?>
++<?php echo $display_login?>
+ </div>
+ <div id="footer">
+ <div class="left">
+@@ -7,20 +7,20 @@
+ <li><a href="index.php">home</a></li>
+ <li><a href="javascript:history.back()">back</a></li>
+ <li><a href="#top">top</a></li>
+- <li>Localtime: <?=date('Y-m-d H:i:s')?></li>
+- <li><?=$ui_elapsed_time?></li>
++ <li>Localtime: <?php echo date('Y-m-d H:i:s')?></li>
++ <li><?php echo $ui_elapsed_time?></li>
+ </ul>
+ </div>
+ <div class="right">
+-<? if (is_array($footer_legend)) { ?>
+-<? foreach($footer_legend as $css_class => $legend_title) { ?>
++<?php if (is_array($footer_legend)) { ?>
++<?php foreach($footer_legend as $css_class => $legend_title) { ?>
+ <table>
+ <tr>
+- <td class="<?=$css_class?>" style="width:10px;"></td>
+- <td><?=$legend_title?></td>
++ <td class="<?php echo $css_class?>" style="width:10px;"></td>
++ <td><?php echo $legend_title?></td>
+ </tr>
+ </table>
+-<? }} ?>
++<?php }} ?>
+ </div>
+ </div>
+ </body>
+Index: portstools/tinderbox/webui/templates/paefchen/header.inc.tpl
+diff -u portstools/tinderbox/webui/templates/paefchen/header.inc.tpl:1.2.2.1 portstools/tinderbox/webui/templates/paefchen/header.inc.tpl:1.2.2.3
+--- portstools/tinderbox/webui/templates/paefchen/header.inc.tpl:1.2.2.1 Sun Nov 2 04:37:12 2008
++++ portstools/tinderbox/webui/templates/paefchen/header.inc.tpl Sun Dec 21 12:27:30 2008
+@@ -1,4 +1,4 @@
+-<?
++<?php
+ if (preg_match('@<!-- (\w+):(\w+);(\w+):(\d*);(\w+):(\d*) //-->@', $display_login, $match)) {
+ list(,, $user_name,, $user_id,, $is_www_admin) = $match;
+ }
+@@ -8,57 +8,58 @@
+ <!-- $Paefchen: FreeBSD/tinderbox/webui/templates/paefchen/header.inc.tpl,v 1.3 2008/01/07 03:53:59 as Exp $ //-->
+ <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+ <head>
+- <title><?=$tinderbox_name?><? if (! empty($header_title)) print " - ".$header_title; ?></title>
+- <link href="<?=$templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
++ <title><?php echo $tinderbox_name?><?php if (! empty($header_title)) print " - ".$header_title; ?></title>
++ <link href="<?php echo $templatesuri?>/tinderstyle.css" rel="stylesheet" type="text/css" />
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+- <link rel="alternate" type="application/rss+xml" title="<?=$tinderbox_name?> (RSS)" href="index.php?action=latest_buildports_rss" />
++ <link rel="alternate" type="application/rss+xml" title="<?php echo $tinderbox_name?> (RSS)" href="index.php?action=latest_buildports_rss" />
++ <script type="text/javascript" src="<?php echo $templatesuri?>/tinderstyle.js"></script>
+ </head>
+ <body>
+ <div id="header">
+ <div class="left">
+- <h1><a href="index.php"><?=$tinderbox_title?></a><? if (! empty($header_title)) print " - ".$header_title; ?></h1>
++ <h1><a href="index.php"><?php echo $tinderbox_title?></a><?php if (! empty($header_title)) print " - ".$header_title; ?></h1>
+ </div>
+ <div class="right">
+- <? if (! empty($user_name)) { ?>
+- <h1>Welcome <?=$user_name?>!</h1>
+- <? } ?>
++ <?php if (! empty($user_name)) { ?>
++ <h1>Welcome <?php echo $user_name?>!</h1>
++ <?php } ?>
+ </div>
+ </div>
+ <div id="topmenu">
+ <a id="top"></a>
+ <div class="left">
+-<? if (is_array($topmenu) && count($topmenu) > 0) { ?>
++<?php if (is_array($topmenu) && count($topmenu) > 0) { ?>
+ <ul>
+- <? foreach ($topmenu as $menu_title => $menu_url) { ?>
+- <li><a href="<?=$menu_url?>"><?=$menu_title?></a></li>
+- <? } ?>
++ <?php foreach ($topmenu as $menu_title => $menu_url) { ?>
++ <li><a href="<?php echo $menu_url?>"><?php echo $menu_title?></a></li>
++ <?php } ?>
+ </ul>
+-<? } ?>
++<?php } ?>
+ </div>
+ <div class="right">
+-<? if (! empty($user_name)) { ?>
++<?php if (! empty($user_name)) { ?>
+ <form method="post" action="index.php">
+ <ul>
+ <li><a href="index.php?action=list_tinderd_queue">Queue</a></li>
+- <? if ($is_www_admin == 1) { ?>
++ <?php if ($is_www_admin == 1) { ?>
+ <li><a href="index.php?action=config">Config</a></li>
+ <li><a href="index.php?action=display_add_user">Add User</a></li>
+- <? } ?>
+- <li><a href="index.php?action=display_modify_user&amp;modify_user_id=<?=$user_id?>">Modify Me</a></li>
++ <?php } ?>
++ <li><a href="index.php?action=display_modify_user&amp;modify_user_id=<?php echo $user_id?>">Modify Me</a></li>
+ <li><input type="submit" name="do_logout" value="Logout" /></li>
+ </ul>
+ </form>
+-<? } ?>
++<?php } ?>
+ </div>
+ </div>
+- <? if (is_array($legend) && count($legend) > 0) { ?>
++ <?php if (is_array($legend) && count($legend) > 0) { ?>
+ <div id="legend">
+ <ul>
+- <? foreach ($legend as $items) { ?>
+- <li><?=$items?></li>
+- <? } ?>
++ <?php foreach ($legend as $items) { ?>
++ <li><?php echo $items?></li>
++ <?php } ?>
+ </ul>
+ </div>
+- <? } ?>
++ <?php } ?>
+ <div id="content">
+
+Index: portstools/tinderbox/webui/templates/paefchen/latest_buildports.tpl
+diff -u portstools/tinderbox/webui/templates/paefchen/latest_buildports.tpl:1.1 portstools/tinderbox/webui/templates/paefchen/latest_buildports.tpl:1.1.2.3
+--- portstools/tinderbox/webui/templates/paefchen/latest_buildports.tpl:1.1 Sat Jan 19 15:18:36 2008
++++ portstools/tinderbox/webui/templates/paefchen/latest_buildports.tpl Sun Dec 21 12:27:30 2008
+@@ -1,4 +1,4 @@
+-<?
++<?php
+ $header_title = "Current and Latest Builds";
+ if ($build_name)
+ $header_title .= " in $build_name";
+@@ -14,11 +14,11 @@
+ function reloadpage() {
+ document.location.reload();
+ }
+- setTimeout("reloadpage()", 300000)
++ setTimeout("reloadpage()", <?php echo $reload_interval_latest ?>)
+ //-->
+ </script>
+-<?=$current_builds?>
+-<?if(!$no_list){?>
++<?php echo $current_builds?>
++<?php if(!$no_list){?>
+ <h2 id="latest">Latest</h2>
+ <table>
+ <tr>
+@@ -33,35 +33,36 @@
+ <th>Duration</th>
+ </tr>
+
+- <?foreach($data as $row) {?>
++ <?php foreach($data as $row) {?>
+ <tr>
+- <td><a href="index.php?action=list_buildports&amp;build=<?=$row['build_name']?>"><?=$row['build_name']?></a></td>
+- <td><a href="index.php?action=describe_port&amp;id=<?=$row['port_id']?>"><?=$row['port_directory']?></a></td>
+- <td><?=$row['port_last_built_version']?></td>
+- <td class="<?=$row['status_field_class']?>"><?=$row['status_field_letter']?></td>
+- <?$reason=$row['port_last_fail_reason']?>
+- <td class="<?="fail_reason_".$port_fail_reasons[$reason]['type']?>">
+- <?$href=($port_fail_reasons[$reason]['link']) ? "index.php?action=display_failure_reasons&amp;failure_reason_tag=$reason#$reason" : "#"?>
+- <a href="<?=$href?>" class="<?="fail_reason_".$port_fail_reasons[$reason]['type']?>" title="<?=$port_fail_reasons[$reason]['descr']?>"><?=$reason?></a>
++ <td><a href="index.php?action=list_buildports&amp;build=<?php echo $row['build_name']?>"><?php echo $row['build_name']?></a></td>
++ <td><a href="index.php?action=describe_port&amp;id=<?php echo $row['port_id']?>"><?php echo $row['port_directory']?></a></td>
++ <td><?php echo $row['port_last_built_version']?></td>
++ <td class="<?php echo $row['status_field_class']?>"><?php echo $row['status_field_letter']?></td>
++ <?php $reason=$row['port_last_fail_reason']?>
++ <td class="<?php echo "fail_reason_".$port_fail_reasons[$reason]['type']?>">
++ <?php $href=($port_fail_reasons[$reason]['link']) ? "index.php?action=display_failure_reasons&amp;failure_reason_tag=$reason#$reason" : "#"?>
++ <a href="<?php echo $href?>" class="<?php echo "fail_reason_".$port_fail_reasons[$reason]['type']?>" title="<?php echo $port_fail_reasons[$reason]['descr']?>"><?php echo $reason?></a>
+ </td>
+ <td>
+- <?if($row['port_link_logfile']){?>
+- <a href="<?=$row['port_link_logfile']?>">log</a>
+- <?}?>
+- <?if($row['port_link_package']){?>
+- <a href="<?=$row['port_link_package']?>">package</a>
+- <?}?>
++ <?php if($row['port_link_logfile']){?>
++ <a href="<?php echo $row['port_link_logfile']?>">log</a>
++ <a href="index.php?action=display_markup_log&amp;build=<?php echo $row['build_name']?>&amp;id=<?php echo $row['port_id']?>">markup</a>
++ <?php }?>
++ <?php if($row['port_link_package']){?>
++ <a href="<?php echo $row['port_link_package']?>">package</a>
++ <?php }?>
+ </td>
+- <td><?=$row['port_last_built']?></td>
+- <td><?=$row['port_last_successful_built']?></td>
+- <td><?=time_elapsed($row['port_last_run_duration'])?></td>
++ <td><?php echo $row['port_last_built']?></td>
++ <td><?php echo $row['port_last_successful_built']?></td>
++ <td><?php echo time_elapsed($row['port_last_run_duration'])?></td>
+ </tr>
+- <?}?>
++ <?php }?>
+ </table>
+-<?}else{?>
++<?php }else{?>
+ <p>No ports are being built.</p>
+-<?}?>
+-<?
++<?php }?>
++<?php
+ $footer_legend = array(
+ 'port_success' => 'Success',
+ 'port_default' => 'Default',
+Index: portstools/tinderbox/webui/templates/paefchen/list_buildports.tpl
+diff -u portstools/tinderbox/webui/templates/paefchen/list_buildports.tpl:1.2 portstools/tinderbox/webui/templates/paefchen/list_buildports.tpl:1.2.2.2
+--- portstools/tinderbox/webui/templates/paefchen/list_buildports.tpl:1.2 Sat May 17 11:15:47 2008
++++ portstools/tinderbox/webui/templates/paefchen/list_buildports.tpl Sun Dec 21 12:27:30 2008
+@@ -1,4 +1,4 @@
+-<?
++<?php
+ $topmenu = array(
+ "Current and latest builds in this build" => "index.php?action=latest_buildports&amp;build=$build_name",
+ "Failed builds in this build" => "index.php?action=failed_buildports&amp;build=$build_name"
+@@ -7,7 +7,7 @@
+ include 'header.inc.tpl';
+ ?>
+ <!-- $Paefchen: FreeBSD/tinderbox/webui/templates/paefchen/list_buildports.tpl,v 1.2 2008/01/07 03:53:59 as Exp $ //-->
+-<h1><?=$build_name?> » <?=$build_description?></h1>
++<h1><?php echo $build_name?> » <?php echo $build_description?></h1>
+ <div class="description">
+ <table>
+ <tr>
+@@ -17,13 +17,13 @@
+ </tr>
+ <tr>
+ <th>System</th>
+- <td>FreeBSD <?=$jail_name?> (<?=$jail_tag?>)</td>
+- <td><?=$jail_lastbuilt?></td>
++ <td>FreeBSD <?php echo $jail_name?> (<?php echo $jail_tag?>)</td>
++ <td><?php echo $jail_lastbuilt?></td>
+ </tr>
+ <tr>
+ <th>Ports Tree</th>
+- <td><?=$ports_tree_description?></td>
+- <td><?=$ports_tree_lastbuilt?></td>
++ <td><?php echo $ports_tree_description?></td>
++ <td><?php echo $ports_tree_lastbuilt?></td>
+ </tr>
+ </table>
+ </div>
+@@ -37,12 +37,12 @@
+ <tr>
+ <td>
+ <input type="hidden" name="action" value="failed_buildports" />
+- <input type="hidden" name="build" value="<?=$build_name?>" />
++ <input type="hidden" name="build" value="<?php echo $build_name?>" />
+ <select name="maintainer">
+ <option></option>
+-<?foreach($maintainers as $maintainer) {?>
+- <option><?=$maintainer?></option>
+-<?}?>
++<?php foreach($maintainers as $maintainer) {?>
++ <option><?php echo $maintainer?></option>
++<?php }?>
+ </select>
+ <input type="submit" name="Go" value="Go" />
+ </td>
+@@ -51,58 +51,59 @@
+ </form>
+ </div>
+
+-<?if(!$no_list){?>
++<?php if(!$no_list){?>
+ <table>
+ <tr>
+ <th>
+- <a href="<?= build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "port_directory") ?>">Port Directory</a>
++ <a href="<?php echo build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "port_directory") ?>">Port Directory</a>
+ </th>
+ <th>
+- <a href="<?= build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "port_maintainer") ?>">Maintainer</a>
++ <a href="<?php echo build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "port_maintainer") ?>">Maintainer</a>
+ </th>
+ <th>
+- <a href="<?= build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "last_built_version") ?>">Version</a>
++ <a href="<?php echo build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "last_built_version") ?>">Version</a>
+ </th>
+ <th style="width: 20px">&nbsp;</th>
+ <th>
+- <a href="<?= build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "last_fail_reason") ?>">Reason</a>
++ <a href="<?php echo build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "last_fail_reason") ?>">Reason</a>
+ </th>
+ <th>&nbsp;</th>
+ <th>
+- <a href="<?= build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "last_built") ?>">Last Build Attempt</a>
++ <a href="<?php echo build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "last_built") ?>">Last Build Attempt</a>
+ </th>
+ <th>
+- <a href="<?= build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "last_successful_built") ?>">Last Successful Build</a>
++ <a href="<?php echo build_query_string($_SERVER['PHP_SELF'], $querystring, "sort", "last_successful_built") ?>">Last Successful Build</a>
+ </th>
+ </tr>
+- <?foreach($data as $row) {?>
++ <?php foreach($data as $row) {?>
+ <tr>
+- <td><a href="index.php?action=describe_port&amp;id=<?=$row['port_id']?>"><?=$row['port_directory']?></a></td>
+- <td><?=$row['port_maintainer']?></td>
+- <td><?=$row['port_last_built_version']?></td>
+- <td class="<?=$row['status_field_class']?>"><?=$row['status_field_letter']?></td>
+- <?$reason=$row['port_last_fail_reason']?>
+- <td class="<?="fail_reason_".$port_fail_reasons[$reason]['type']?>">
+- <?$href=($port_fail_reasons[$reason]['link']) ? "index.php?action=display_failure_reasons&amp;failure_reason_tag=$reason#$reason" : "#"?>
+- <a href="<?=$href?>" class="<?="fail_reason_".$port_fail_reasons[$reason]['type']?>" title="<?=$port_fail_reasons[$reason]['descr']?>"><?=$reason?></a>
++ <td><a href="index.php?action=describe_port&amp;id=<?php echo $row['port_id']?>"><?php echo $row['port_directory']?></a></td>
++ <td><?php echo $row['port_maintainer']?></td>
++ <td><?php echo $row['port_last_built_version']?></td>
++ <td class="<?php echo $row['status_field_class']?>"><?php echo $row['status_field_letter']?></td>
++ <?php $reason=$row['port_last_fail_reason']?>
++ <td class="<?php echo "fail_reason_".$port_fail_reasons[$reason]['type']?>">
++ <?php $href=($port_fail_reasons[$reason]['link']) ? "index.php?action=display_failure_reasons&amp;failure_reason_tag=$reason#$reason" : "#"?>
++ <a href="<?php echo $href?>" class="<?php echo "fail_reason_".$port_fail_reasons[$reason]['type']?>" title="<?php echo $port_fail_reasons[$reason]['descr']?>"><?php echo $reason?></a>
+ </td>
+ <td>
+- <?if($row['port_link_logfile']){?>
+- <a href="<?=$row['port_link_logfile']?>">log</a>
+- <?}?>
+- <?if($row['port_link_package']){?>
+- <a href="<?=$row['port_link_package']?>">package</a>
+- <?}?>
++ <?php if($row['port_link_logfile']){?>
++ <a href="<?php echo $row['port_link_logfile']?>">log</a>
++ <a href="index.php?action=display_markup_log&amp;build=<?php echo $row['build_name']?>&amp;id=<?php echo $row['port_id']?>">markup</a>
++ <?php }?>
++ <?php if($row['port_link_package']){?>
++ <a href="<?php echo $row['port_link_package']?>">package</a>
++ <?php }?>
+ </td>
+- <td><?=$row['port_last_built']?></td>
+- <td><?=$row['port_last_successful_built']?></td>
++ <td><?php echo $row['port_last_built']?></td>
++ <td><?php echo $row['port_last_successful_built']?></td>
+ </tr>
+- <?}?>
++ <?php }?>
+ </table>
+-<p>Total: <?=count($data)?></p>
+-<?}else{?>
++<p>Total: <?php echo count($data)?></p>
++<?php }else{?>
+ <p>No ports are being built.</p>
+-<?}?>
++<?php }?>
+
+ <div class="subcontent">
+ <form method="get" action="index.php">
+@@ -113,12 +114,12 @@
+ <tr>
+ <td>
+ <input type="hidden" name="action" value="failed_buildports" />
+- <input type="hidden" name="build" value="<?=$build_name?>" />
++ <input type="hidden" name="build" value="<?php echo $build_name?>" />
+ <select name="maintainer">
+ <option></option>
+-<?foreach($maintainers as $maintainer) {?>
+- <option><?=$maintainer?></option>
+-<?}?>
++<?php foreach($maintainers as $maintainer) {?>
++ <option><?php echo $maintainer?></option>
++<?php }?>
+ </select>
+ <input type="submit" name="Go" value="Go" /><br />
+ </td>
+@@ -126,7 +127,7 @@
+ </table>
+ </form>
+ </div>
+-<?
++<?php
+ $footer_legend = array(
+ 'port_success' => 'Success',
+ 'port_default' => 'Default',
+Index: portstools/tinderbox/webui/templates/paefchen/list_builds.tpl
+diff -u portstools/tinderbox/webui/templates/paefchen/list_builds.tpl:1.5.2.1 portstools/tinderbox/webui/templates/paefchen/list_builds.tpl:1.5.2.2
+--- portstools/tinderbox/webui/templates/paefchen/list_builds.tpl:1.5.2.1 Sun Sep 7 09:56:28 2008
++++ portstools/tinderbox/webui/templates/paefchen/list_builds.tpl Thu Dec 18 16:06:37 2008
+@@ -1,4 +1,4 @@
+-<?
++<?php
+ $topmenu = array(
+ "Current And Latest Builds" => "index.php?action=latest_buildports",
+ "Failed builds in this build" => "index.php?action=failed_buildports",
+@@ -18,7 +18,7 @@
+ include 'header.inc.tpl';
+ ?>
+ <!-- $Paefchen: FreeBSD/tinderbox/webui/templates/paefchen/list_builds.tpl,v 1.2 2008/01/07 03:53:59 as Exp $ //-->
+-<?if(!$no_list){?>
++<?php if(!$no_list){?>
+ <table>
+ <tr>
+ <th style="width: 20px">&nbsp;</th>
+@@ -34,78 +34,78 @@
+ <th>Build Packages</th>
+ </tr>
+
+- <?foreach($data as $row) {?>
++ <?php foreach($data as $row) {?>
+ <tr>
+- <td class="<?=$row['status_field_class']?>">&nbsp;</td>
+- <td><a href="index.php?action=list_buildports&amp;build=<?=$row['name']?>"><?=$row['name']?></a></td>
+- <td><?=$row['description']?></td>
++ <td class="<?php echo $row['status_field_class']?>">&nbsp;</td>
++ <td><a href="index.php?action=list_buildports&amp;build=<?php echo $row['name']?>"><?php echo $row['name']?></a></td>
++ <td><?php echo $row['description']?></td>
+ <td align="center">
+- <?if ($row['results']['SUCCESS'] != '-') {?>
+- <a href="index.php?action=buildports_by_reason&amp;build=<?=$row['name']?>&amp;reason=SUCCESS">
+- <?}?>
+- <span title="success"><?=$row['results']['SUCCESS']?></span>
+- <?if ($row['results']['SUCCESS'] != '-') {?>
++ <?php if ($row['results']['SUCCESS'] != '-') {?>
++ <a href="index.php?action=buildports_by_reason&amp;build=<?php echo $row['name']?>&amp;reason=SUCCESS">
++ <?php }?>
++ <span title="success"><?php echo $row['results']['SUCCESS']?></span>
++ <?php if ($row['results']['SUCCESS'] != '-') {?>
+ </a>
+- <?}?>
++ <?php }?>
+ </td>
+ <td align="center">
+- <?if ($row['results']['UNKNOWN'] != '-') {?>
+- <a href="index.php?action=buildports_by_reason&amp;build=<?=$row['name']?>&amp;reason=UNKNOWN">
+- <?}?>
+- <span title="unknown"><?=$row['results']['UNKNOWN']?></span>
+- <?if ($row['results']['UNKNOWN'] != '-') {?>
++ <?php if ($row['results']['UNKNOWN'] != '-') {?>
++ <a href="index.php?action=buildports_by_reason&amp;build=<?php echo $row['name']?>&amp;reason=UNKNOWN">
++ <?php }?>
++ <span title="unknown"><?php echo $row['results']['UNKNOWN']?></span>
++ <?php if ($row['results']['UNKNOWN'] != '-') {?>
+ </a>
+- <?}?>
++ <?php }?>
+ </td>
+ <td align="center">
+- <?if ($row['results']['FAIL'] != '-') {?>
+- <a href="index.php?action=failed_buildports&amp;build=<?=$row['name']?>">
+- <?}?>
+- <span title="fail"><?=$row['results']['FAIL']?></span>
+- <?if ($row['results']['FAIL'] != '-') {?>
++ <?php if ($row['results']['FAIL'] != '-') {?>
++ <a href="index.php?action=failed_buildports&amp;build=<?php echo $row['name']?>">
++ <?php }?>
++ <span title="fail"><?php echo $row['results']['FAIL']?></span>
++ <?php if ($row['results']['FAIL'] != '-') {?>
+ </a>
+- <?}?>
++ <?php }?>
+ </td>
+ <td align="center">
+- <?if ($row['results']['DEPEND'] != '-') {?>
+- <a href="index.php?action=buildports_by_reason&amp;build=<?=$row['name']?>&amp;reason=DEPEND">
+- <?}?>
+- <span title="depend"><?=$row['results']['DEPEND']?></span>
+- <?if ($row['results']['DEPEND'] != '-') {?>
++ <?php if ($row['results']['DEPEND'] != '-') {?>
++ <a href="index.php?action=buildports_by_reason&amp;build=<?php echo $row['name']?>&amp;reason=DEPEND">
++ <?php }?>
++ <span title="depend"><?php echo $row['results']['DEPEND']?></span>
++ <?php if ($row['results']['DEPEND'] != '-') {?>
+ </a>
+- <?}?>
++ <?php }?>
+ </td>
+ <td align="center">
+- <?if ($row['results']['LEFTOVERS'] != '-') {?>
+- <a href="index.php?action=buildports_by_reason&amp;build=<?=$row['name']?>&amp;reason=LEFTOVERS">
+- <?}?>
+- <span title="leftovers"><?=$row['results']['LEFTOVERS']?></span>
+- <?if ($row['results']['LEFTOVERS'] != '-') {?>
++ <?php if ($row['results']['LEFTOVERS'] != '-') {?>
++ <a href="index.php?action=buildports_by_reason&amp;build=<?php echo $row['name']?>&amp;reason=LEFTOVERS">
++ <?php }?>
++ <span title="leftovers"><?php echo $row['results']['LEFTOVERS']?></span>
++ <?php if ($row['results']['LEFTOVERS'] != '-') {?>
+ </a>
+- <?}?>
++ <?php }?>
+ </td>
+- <td align="center"><span title="remake"><?=$row['results']['REMAKE']?></span></td>
++ <td align="center"><span title="remake"><?php echo $row['results']['REMAKE']?></span></td>
+ <td align="center">
+- <?if ($row['results']['TOTAL'] != '-') {?>
+- <a href="index.php?action=list_buildports&amp;build=<?=$row['name']?>">
+- <?}?>
+- <span title="total"><?=$row['results']['TOTAL']?></span>
+- <?if ($row['results']['TOTAL'] != '-') {?>
++ <?php if ($row['results']['TOTAL'] != '-') {?>
++ <a href="index.php?action=list_buildports&amp;build=<?php echo $row['name']?>">
++ <?php }?>
++ <span title="total"><?php echo $row['results']['TOTAL']?></span>
++ <?php if ($row['results']['TOTAL'] != '-') {?>
+ </a>
+- <?}?>
++ <?php }?>
+ </td>
+- <?if($row['packagedir']){?>
+- <td><a href="<?=$row['packagedir']?>">Package Directory</a></td>
+- <?}else{?>
++ <?php if($row['packagedir']){?>
++ <td><a href="<?php echo $row['packagedir']?>">Package Directory</a></td>
++ <?php }else{?>
+ <td><i>No packages for this build</i></td>
+- <?}?>
++ <?php }?>
+ </tr>
+- <?}?>
++ <?php }?>
+
+ </table>
+-<?}else{?>
++<?php }else{?>
+ <p>There are no builds configured.</p>
+-<?}?>
++<?php }?>
+ <div class="subcontent">
+ <form method="get" action="index.php">
+ <fieldset>
+@@ -114,15 +114,15 @@
+ <input type="hidden" name="action" value="failed_buildports" />
+ <select name="maintainer">
+ <option></option>
+-<?foreach($maintainers as $maintainer) {?>
+- <option><?=$maintainer?></option>
+-<?}?>
++<?php foreach($maintainers as $maintainer) {?>
++ <option><?php echo $maintainer?></option>
++<?php }?>
+ </select>
+ <input type="submit" name="Go" value="Go" />
+ </fieldset>
+ </form>
+ </div>
+-<?
++<?php
+ $footer_legend = array(
+ 'build_portbuild' => 'Building',
+ 'build_prepare' => 'Prepare'
+Index: portstools/tinderbox/webui/templates/paefchen/list_failure_reasons.tpl
+diff -u portstools/tinderbox/webui/templates/paefchen/list_failure_reasons.tpl:1.1 portstools/tinderbox/webui/templates/paefchen/list_failure_reasons.tpl:1.1.2.1
+--- portstools/tinderbox/webui/templates/paefchen/list_failure_reasons.tpl:1.1 Sat Jan 19 15:18:36 2008
++++ portstools/tinderbox/webui/templates/paefchen/list_failure_reasons.tpl Thu Dec 18 16:06:37 2008
+@@ -1,4 +1,4 @@
+-<?
++<?php
+ $topmenu = array('back' => 'javascript:history.back()');
+ $header_title = 'Port Build Failure Reasons';
+ include 'header.inc.tpl';
+@@ -10,15 +10,15 @@
+ <th>Description</th>
+ <th>Type</th>
+ </tr>
+-<?foreach($port_fail_reasons as $reason) {?>
++<?php foreach($port_fail_reasons as $reason) {?>
+ <tr>
+- <td valign="top"><a id="<?=htmlspecialchars($reason['tag'])?>" href="javascript:history.back()"><?=htmlspecialchars($reason['tag'])?></a></td>
+- <td style="white-space: normal;"><?=$reason['descr']?></td>
+- <td valign="top" class="<?="fail_reason_".$reason['type']?>"><?=$reason['type']?></td>
++ <td valign="top"><a id="<?php echo htmlspecialchars($reason['tag'])?>" href="javascript:history.back()"><?php echo htmlspecialchars($reason['tag'])?></a></td>
++ <td style="white-space: normal;"><?php echo $reason['descr']?></td>
++ <td valign="top" class="<?php echo "fail_reason_".$reason['type']?>"><?php echo $reason['type']?></td>
+ </tr>
+-<?}?>
++<?php }?>
+ </table>
+-<?
++<?php
+ $footer_legend = array(
+ 'port_dud' => 'Dud',
+ 'port_depend' => 'Depend',
+Index: portstools/tinderbox/webui/templates/paefchen/list_tinderd_queue.tpl
+diff -u portstools/tinderbox/webui/templates/paefchen/list_tinderd_queue.tpl:1.2.2.1 portstools/tinderbox/webui/templates/paefchen/list_tinderd_queue.tpl:1.2.2.2
+--- portstools/tinderbox/webui/templates/paefchen/list_tinderd_queue.tpl:1.2.2.1 Sun Nov 2 06:07:16 2008
++++ portstools/tinderbox/webui/templates/paefchen/list_tinderd_queue.tpl Thu Dec 18 16:06:37 2008
+@@ -1,4 +1,4 @@
+-<?
++<?php
+ $header_title = 'Tinderd Administration';
+ include 'header.inc.tpl';
+ ?>
+@@ -12,9 +12,9 @@
+ <td>
+ <select name="filter_build_id">
+ <option></option>
+-<?foreach($all_builds as $build) {?>
+- <option value="<?=$build['build_id']?>" <?if ($build_id == $build['build_id']) {?>selected="selected"<?}?> ><?=$build['build_name']?></option>
+-<?}?>
++<?php foreach($all_builds as $build) {?>
++ <option value="<?php echo $build['build_id']?>" <?php if ($build_id == $build['build_id']) {?>selected="selected"<?php }?> ><?php echo $build['build_name']?></option>
++<?php }?>
+ </select>
+ <input type="submit" name="display" value="display" />
+ </td>
+@@ -23,13 +23,13 @@
+ </form>
+ </div>
+
+-<?if($errors){?>
++<?php if($errors){?>
+ <p style="color:#FF0000">
+- <?foreach($errors as $error){?>
+- <?=$error?><br />
+- <?}?>
++ <?php foreach($errors as $error){?>
++ <?php echo $error?><br />
++ <?php }?>
+ </p>
+-<?}?>
++<?php }?>
+
+ <table>
+ <tr>
+@@ -44,89 +44,89 @@
+ <th>&nbsp;</th>
+ </tr>
+
+-<?if(!$no_list){?>
++<?php if(!$no_list){?>
+
+- <?foreach($entries as $row) {?>
++ <?php foreach($entries as $row) {?>
+ <form method="post" action="index.php">
+ <input type="hidden" name="action" value="change_tinderd_queue" />
+- <input type="hidden" name="entry_id" value="<?=$row['entry_id']?>" />
+- <input type="hidden" name="filter_build_id" value="<?=$build_id?>" />
++ <input type="hidden" name="entry_id" value="<?php echo $row['entry_id']?>" />
++ <input type="hidden" name="filter_build_id" value="<?php echo $build_id?>" />
+ <tr>
+ <td>
+- <?if($row['modify'] == 1){?>
++ <?php if($row['modify'] == 1){?>
+ <select name="build_id">
+- <?foreach($all_builds as $build) {?>
+- <option value="<?=$build['build_id']?>" <?if ($row['build'] == $build['build_name']) {?>selected<?}?> ><?=$build['build_name']?></option>
+- <?}?>
++ <?php foreach($all_builds as $build) {?>
++ <option value="<?php echo $build['build_id']?>" <?php if ($row['build'] == $build['build_name']) {?>selected<?php }?> ><?php echo $build['build_name']?></option>
++ <?php }?>
+ </select>
+- <?}else{?>
+- <?=$row['build']?>
+- <?}?>
++ <?php }else{?>
++ <?php echo $row['build']?>
++ <?php }?>
+ </td>
+ <td>
+- <?if($row['modify'] == 1){?>
++ <?php if($row['modify'] == 1){?>
+ <select name="priority">
+- <?foreach($row['all_prio'] as $prio) {?>
+- <option value="<?=$prio?>" <?if ($row['priority'] == $prio) {?>selected<?}?> ><?=$prio?></option>
+- <?}?>
++ <?php foreach($row['all_prio'] as $prio) {?>
++ <option value="<?php echo $prio?>" <?php if ($row['priority'] == $prio) {?>selected<?php }?> ><?php echo $prio?></option>
++ <?php }?>
+ </select>
+- <?}else{?>
+- <?=$row['priority']?>
+- <?}?>
+- </td>
+- <td><?=$row['directory']?></td>
+- <td><?=$row['user']?></td>
+- <td class="<?=$row['status_field_class']?>">&nbsp;</td>
++ <?php }else{?>
++ <?php echo $row['priority']?>
++ <?php }?>
++ </td>
++ <td><?php echo $row['directory']?></td>
++ <td><?php echo $row['user']?></td>
++ <td class="<?php echo $row['status_field_class']?>">&nbsp;</td>
+ <td align="center">
+- <?if($row['modify'] == 1){?>
+- <input type="checkbox" name="email_on_completion" value="1" <?if($row['email_on_completion'] == 1 ) {?>checked="checked"<?}?> />
+- <?}else{?>
+- <?if($row['email_on_completion'] == 1 ) {?>X"<?}?>
+- <?}?>
++ <?php if($row['modify'] == 1){?>
++ <input type="checkbox" name="email_on_completion" value="1" <?php if($row['email_on_completion'] == 1 ) {?>checked="checked"<?php }?> />
++ <?php }else{?>
++ <?php if($row['email_on_completion'] == 1 ) {?>X"<?php }?>
++ <?php }?>
+ </td>
+ <td>
+- <?if($row['modify'] == 1){?>
++ <?php if($row['modify'] == 1){?>
+ <input type="submit" name="change_tinderd_queue" value="save" />
+- <?}?>
++ <?php }?>
+ </td>
+ <td>
+- <?if($row['delete'] == 1){?>
++ <?php if($row['delete'] == 1){?>
+ <input type="submit" name="change_tinderd_queue" value="delete" />
+- <?}?>
++ <?php }?>
+ </td>
+ <td>
+- <?if($row['modify'] == 1){?>
++ <?php if($row['modify'] == 1){?>
+ <input type="submit" name="change_tinderd_queue" value="reset status" />
+- <?}?>
++ <?php }?>
+ </td>
+ </tr>
+ </form>
+- <?}?>
+-<?}?>
++ <?php }?>
++<?php }?>
+ <form method="post" action="index.php">
+ <input type="hidden" name="action" value="add_tinderd_queue" />
+- <input type="hidden" name="entry_id" value="<?=$row['entry_id']?>" />
+- <input type="hidden" name="filter_build_id" value="<?=$build_id?>" />
++ <input type="hidden" name="entry_id" value="<?php echo $row['entry_id']?>" />
++ <input type="hidden" name="filter_build_id" value="<?php echo $build_id?>" />
+ <tr>
+ <td>
+ <select name="new_build_id">
+- <?foreach($all_builds as $build) {?>
+- <option value="<?=$build['build_id']?>" <?if ($new_build_id == $build['build_id']) {?>selected<?}?> ><?=$build['build_name']?></option>
+- <?}?>
++ <?php foreach($all_builds as $build) {?>
++ <option value="<?php echo $build['build_id']?>" <?php if ($new_build_id == $build['build_id']) {?>selected<?php }?> ><?php echo $build['build_name']?></option>
++ <?php }?>
+ </select>
+ </td>
+ <td>
+ <select name="new_priority">
+- <?foreach($all_prio as $prio) {?>
+- <option value="<?=$prio?>" <?if ($new_priority == $prio) {?>selected<?}?> ><?=$prio?></option>
+- <?}?>
++ <?php foreach($all_prio as $prio) {?>
++ <option value="<?php echo $prio?>" <?php if ($new_priority == $prio) {?>selected<?php }?> ><?php echo $prio?></option>
++ <?php }?>
+ </select>
+ </td>
+- <td><input type="text" size="20" name="new_port_directory" value="<?=$new_port_directory?>" /></td>
++ <td><input type="text" size="20" name="new_port_directory" value="<?php echo $new_port_directory?>" /></td>
+ <td>&nbsp;</td>
+ <td>&nbsp;</td>
+ <td align="center">
+- <input type="checkbox" name="new_email_on_completion" value="1" <?if($new_email_on_completion == 1 ) {?>checked="checked"<?}?> />
++ <input type="checkbox" name="new_email_on_completion" value="1" <?php if($new_email_on_completion == 1 ) {?>checked="checked"<?php }?> />
+ </td>
+ <td colspan="3"><input type="submit" name="add_tinderd_queue" value="add" /></td>
+ </tr>
+@@ -135,9 +135,9 @@
+ <p>
+ <form method="post" action="index.php">
+ <input type="hidden" name="action" value="delete_tinderd_queue" />
+- <input type="hidden" name="filter_build_id" value="<?=$build_id?>" />
++ <input type="hidden" name="filter_build_id" value="<?php echo $build_id?>" />
+ <input type="submit" name="delete_tinderd_queue" value="delete all built" />
+ <input type="submit" name="delete_tinderd_queue" value="delete all" />
+ </form>
+ </p>
+-<? include('footer.inc.tpl'); ?>
++<?php include('footer.inc.tpl'); ?>
+Index: portstools/tinderbox/webui/templates/paefchen/please_login.tpl
+diff -u portstools/tinderbox/webui/templates/paefchen/please_login.tpl:1.1 portstools/tinderbox/webui/templates/paefchen/please_login.tpl:1.1.2.1
+--- portstools/tinderbox/webui/templates/paefchen/please_login.tpl:1.1 Sat Jan 19 15:18:36 2008
++++ portstools/tinderbox/webui/templates/paefchen/please_login.tpl Thu Dec 18 16:06:37 2008
+@@ -1,3 +1,3 @@
+-<? include 'header.inc.tpl'; ?>
++<?php include 'header.inc.tpl'; ?>
+ <p style="color:#FF0000">Please login!</p>
+-<? include 'footer.inc.tpl'; ?>
++<?php include 'footer.inc.tpl'; ?>
+Index: portstools/tinderbox/webui/templates/paefchen/rss.tpl
+diff -u portstools/tinderbox/webui/templates/paefchen/rss.tpl:1.1.2.1 portstools/tinderbox/webui/templates/paefchen/rss.tpl:1.1.2.2
+--- portstools/tinderbox/webui/templates/paefchen/rss.tpl:1.1.2.1 Sun Nov 2 04:37:12 2008
++++ portstools/tinderbox/webui/templates/paefchen/rss.tpl Thu Dec 18 16:06:37 2008
+@@ -1,21 +1,21 @@
+-<?='<'?>?xml version="1.0" encoding="ISO-8859-1"?>
++<?php echo '<'?>?xml version="1.0" encoding="ISO-8859-1"?>
+ <!-- $Paefchen: FreeBSD/tinderbox/webui/templates/paefchen/rss.tpl,v 1.1 2008/01/05 12:25:17 as Exp $ -->
+
+ <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
+ <channel>
+- <title><?=$tinderbox_title?></title>
+- <link><?=$wwwrooturi?></link>
+- <lastBuildDate><?=$lastBuildDate?></lastBuildDate>
+- <generator><?=$tinderbox_name?></generator>
++ <title><?php echo $tinderbox_title?></title>
++ <link><?php echo $wwwrooturi?></link>
++ <lastBuildDate><?php echo $lastBuildDate?></lastBuildDate>
++ <generator><?php echo $tinderbox_name?></generator>
+ <ttl>10</ttl>
+-<?foreach($data as $row) {?>
++<?php foreach($data as $row) {?>
+ <item>
+- <title>[<?=$row['jail_name']?>] - <?=$row['port_directory']?> - <?=$row['port_last_status']?> - <?=str_replace(preg_replace('@^.+/@', '', $row['port_directory']).'-', '', $row['port_last_built_version'])?></title>
+- <link><?=$row['port_link_logfile']?></link>
+- <pubDate><?=$row['port_last_built']?></pubDate>
+- <author><?=$row['build_name']?> => <?=$row['jail_name']?></author>
+- <description><?=$row['port_directory']?> => <?=$row['port_last_status']?> [<?=$row['build_name']?>|<?=$row['jail_name']?>] -- <?=$row['port_link_logfile']?></description>
++ <title>[<?php echo $row['jail_name']?>] - <?php echo $row['port_directory']?> - <?php echo $row['port_last_status']?> - <?php echo str_replace(preg_replace('@^.+/@', '', $row['port_directory']).'-', '', $row['port_last_built_version'])?></title>
++ <link><?php echo $row['port_link_logfile']?></link>
++ <pubDate><?php echo $row['port_last_built']?></pubDate>
++ <author><?php echo $row['build_name']?> => <?php echo $row['jail_name']?></author>
++ <description><?php echo $row['port_directory']?> => <?php echo $row['port_last_status']?> [<?php echo $row['build_name']?>|<?php echo $row['jail_name']?>] -- <?php echo $row['port_link_logfile']?></description>
+ </item>
+-<?}?>
++<?php }?>
+ </channel>
+ </rss>
+Index: portstools/tinderbox/webui/templates/paefchen/tinderstyle.css
+diff -u portstools/tinderbox/webui/templates/paefchen/tinderstyle.css:1.4 portstools/tinderbox/webui/templates/paefchen/tinderstyle.css:1.4.2.1
+--- portstools/tinderbox/webui/templates/paefchen/tinderstyle.css:1.4 Thu Aug 14 21:07:58 2008
++++ portstools/tinderbox/webui/templates/paefchen/tinderstyle.css Sun Dec 21 12:27:30 2008
+@@ -302,6 +302,35 @@
+ background-color : yellow;
+ }
+
++table.log td {
++ font-family : monospace;
++ white-space : pre-wrap;
++ empty-cells : show;
++}
++table.log th.num,
++table.log td.num {
++ text-align : right;
++ vertical-align : top;
++}
++table.log td a {
++ text-decoration : none;
++}
++table.log th.line {
++ text-align : left;
++}
++table.log td.line {
++ background-color : #F7F7F7;
++}
++.error {
++ color : red;
++}
++.warning {
++ color : orange;
++}
++.information {
++ color : blue;
++}
++
+ /* XXX */
+ body > p {
+ display : none;
+Index: portstools/tinderbox/webui/templates/paefchen/tinderstyle.js
+diff -u /dev/null portstools/tinderbox/webui/templates/paefchen/tinderstyle.js:1.1.2.1
+--- /dev/null Sat Dec 27 14:20:59 2008
++++ portstools/tinderbox/webui/templates/paefchen/tinderstyle.js Sun Dec 21 12:27:30 2008
+@@ -0,0 +1,88 @@
++/**
++ * setProperty()
++ */
++var setProperty = function(name, value)
++{
++ var expires = new Date();
++ expires.setDate(expires.getDate() + 365);
++ expires = expires.toGMTString();
++ document.cookie = name + '=' + escape(value) + '; expires=' + expires;
++}
++
++/**
++ * getProperty()
++ */
++var getProperty = function(name)
++{
++ if (document.cookie.length < 1)
++ return false;
++
++ var cArr = document.cookie.split('; ');
++
++ for (var i = 0; i < cArr.length; i++) {
++ var eq = cArr[i].indexOf('=');
++ if (cArr[i].substring(0, eq) == name)
++ return unescape(cArr[i].substring(eq + 1));
++ }
++
++ return false;
++}
++
++var log_lines = [];
++
++/**
++ * log_show()
++ */
++var log_show = function(severity, action)
++{
++ if (typeof severity == 'object') {
++ severity = this.id;
++ action = this.checked;
++ }
++ if (severity == 'linenumber') {
++ var display = action ? '' : 'none';
++ for (var i = 0; i < log_lines.length; i++)
++ log_lines[i][0].style.display = display;
++ }
++ else {
++ document.getElementById(severity+'_table').style.display = action ? '' : 'none';
++ for (var lnr in log_colorlines[severity])
++ log_lines[lnr][1].style.color = action ? log_colorlines[severity][lnr] : '';
++ }
++
++ setProperty(severity, action ? 1 : 0);
++}
++
++/**
++ * log_ini()
++ */
++var log_ini = function()
++{
++ var table = document.getElementById('log_table'), tbody, lnr, switches;
++
++ for (var i = 0; i < table.childNodes.length; i++) {
++ if (table.childNodes[i].tagName != 'TBODY')
++ continue;
++ tbody = table.childNodes[i];
++ }
++
++ for (var i = 0; i < tbody.childNodes.length; i++) {
++ if (tbody.childNodes[i].tagName != 'TR')
++ continue;
++
++ lnr = tbody.childNodes[i].id.replace(/^l/, '');
++ log_lines[lnr] = [];
++
++ for (var j = 0; j < tbody.childNodes[i].childNodes.length; j++) {
++ if (tbody.childNodes[i].childNodes[j].tagName != 'TH'
++ && tbody.childNodes[i].childNodes[j].tagName != 'TD')
++ continue;
++
++ log_lines[lnr].push(tbody.childNodes[i].childNodes[j]);
++ }
++ }
++
++ switches = document.getElementsByTagName('input');
++ for (var i = 0; i < switches.length; i++)
++ switches[i].onclick = log_show;
++}
+Index: portstools/tinderbox/webui/templates/paefchen/user_admin.tpl
+diff -u portstools/tinderbox/webui/templates/paefchen/user_admin.tpl:1.1.2.1 portstools/tinderbox/webui/templates/paefchen/user_admin.tpl:1.1.2.2
+--- portstools/tinderbox/webui/templates/paefchen/user_admin.tpl:1.1.2.1 Sun Oct 5 06:37:19 2008
++++ portstools/tinderbox/webui/templates/paefchen/user_admin.tpl Thu Dec 18 16:06:37 2008
+@@ -1,30 +1,30 @@
+-<?
++<?php
+ $header_title = 'User Administration';
+ include 'header.inc.tpl';
+ ?>
+ <!-- $Paefchen: FreeBSD/tinderbox/webui/templates/paefchen/user_admin.tpl,v 1.1 2008/01/05 12:25:17 as Exp $ //-->
+-<?if($errors){?>
++<?php if($errors){?>
+ <p style="color:#FF0000">
+- <?foreach($errors as $error){?>
+- <?=$error?><br />
+- <?}?>
++ <?php foreach($errors as $error){?>
++ <?php echo $error?><br />
++ <?php }?>
+ </p>
+-<?}?>
++<?php }?>
+ <form method="post" action="index.php">
+-<?=$user_properties?>
++<?php echo $user_properties?>
+ <p><br /></p>
+-<?=$user_permissions?>
++<?php echo $user_permissions?>
+
+ <div class="subcontent">
+-<?if($add==true){?>
++<?php if($add==true){?>
+ <input type="hidden" name="action" value="add_user" />
+ <input type="submit" name="action_user" value="add" />
+-<?}elseif($modify==true){?>
++<?php }elseif($modify==true){?>
+ <input type="hidden" name="action" value="modify_user" />
+ <input type="submit" name="action_user" value="modify" />
+ <input type="submit" name="action_user" value="delete" />
+-<?}?>
++<?php }?>
+ </div>
+ </form>
+
+-<? include 'footer.inc.tpl'; ?>
++<?php include 'footer.inc.tpl'; ?>
+Index: portstools/tinderbox/webui/templates/paefchen/user_permissions.tpl
+diff -u portstools/tinderbox/webui/templates/paefchen/user_permissions.tpl:1.1 portstools/tinderbox/webui/templates/paefchen/user_permissions.tpl:1.1.2.1
+--- portstools/tinderbox/webui/templates/paefchen/user_permissions.tpl:1.1 Sat Jan 19 15:18:36 2008
++++ portstools/tinderbox/webui/templates/paefchen/user_permissions.tpl Thu Dec 18 16:06:37 2008
+@@ -9,30 +9,30 @@
+ <th>Allow<br />Priority<br />&lt; 5</th>
+ </tr>
+
+- <?if($www_admin){?>
+- <?foreach($all_builds as $build) {?>
++ <?php if($www_admin){?>
++ <?php foreach($all_builds as $build) {?>
+ <tr>
+- <td><?=$build['build_name']?></td>
+- <td align="center"><input type="checkbox" name="permission_object[<?=$build['build_id']?>][PERM_ADD_QUEUE]" <?if(isset($permission_object[$build['build_id']]['PERM_ADD_QUEUE'])){?>checked="checked"<?}?> /></td>
+- <td align="center"><input type="checkbox" name="permission_object[<?=$build['build_id']?>][PERM_MODIFY_OWN_QUEUE]" <?if(isset($permission_object[$build['build_id']]['PERM_MODIFY_OWN_QUEUE'])){?>checked="checked"<?}?> /></td>
+- <td align="center"><input type="checkbox" name="permission_object[<?=$build['build_id']?>][PERM_DELETE_OWN_QUEUE]" <?if(isset($permission_object[$build['build_id']]['PERM_DELETE_OWN_QUEUE'])){?>checked="checked"<?}?> /></td>
+- <td align="center"><input type="checkbox" name="permission_object[<?=$build['build_id']?>][PERM_MODIFY_OTHER_QUEUE]" <?if(isset($permission_object[$build['build_id']]['PERM_MODIFY_OTHER_QUEUE'])){?>checked="checked"<?}?> /></td>
+- <td align="center"><input type="checkbox" name="permission_object[<?=$build['build_id']?>][PERM_DELETE_OTHER_QUEUE]" <?if(isset($permission_object[$build['build_id']]['PERM_DELETE_OTHER_QUEUE'])){?>checked="checked"<?}?> /></td>
+- <td align="center"><input type="checkbox" name="permission_object[<?=$build['build_id']?>][PERM_PRIO_LOWER_5]" <?if(isset($permission_object[$build['build_id']]['PERM_PRIO_LOWER_5'])){?>checked="checked"<?}?> /></td>
++ <td><?php echo $build['build_name']?></td>
++ <td align="center"><input type="checkbox" name="permission_object[<?php echo $build['build_id']?>][PERM_ADD_QUEUE]" <?php if(isset($permission_object[$build['build_id']]['PERM_ADD_QUEUE'])){?>checked="checked"<?php }?> /></td>
++ <td align="center"><input type="checkbox" name="permission_object[<?php echo $build['build_id']?>][PERM_MODIFY_OWN_QUEUE]" <?php if(isset($permission_object[$build['build_id']]['PERM_MODIFY_OWN_QUEUE'])){?>checked="checked"<?php }?> /></td>
++ <td align="center"><input type="checkbox" name="permission_object[<?php echo $build['build_id']?>][PERM_DELETE_OWN_QUEUE]" <?php if(isset($permission_object[$build['build_id']]['PERM_DELETE_OWN_QUEUE'])){?>checked="checked"<?php }?> /></td>
++ <td align="center"><input type="checkbox" name="permission_object[<?php echo $build['build_id']?>][PERM_MODIFY_OTHER_QUEUE]" <?php if(isset($permission_object[$build['build_id']]['PERM_MODIFY_OTHER_QUEUE'])){?>checked="checked"<?php }?> /></td>
++ <td align="center"><input type="checkbox" name="permission_object[<?php echo $build['build_id']?>][PERM_DELETE_OTHER_QUEUE]" <?php if(isset($permission_object[$build['build_id']]['PERM_DELETE_OTHER_QUEUE'])){?>checked="checked"<?php }?> /></td>
++ <td align="center"><input type="checkbox" name="permission_object[<?php echo $build['build_id']?>][PERM_PRIO_LOWER_5]" <?php if(isset($permission_object[$build['build_id']]['PERM_PRIO_LOWER_5'])){?>checked="checked"<?php }?> /></td>
+ </tr>
+- <?}?>
+- <?}else{?>
+- <?foreach($all_builds as $build) {?>
++ <?php }?>
++ <?php }else{?>
++ <?php foreach($all_builds as $build) {?>
+ <tr>
+- <td><?=$build['build_name']?></td>
+- <td align="center"><?if($permission_object[$build['build_id']]['PERM_ADD_QUEUE']){?>X<?}?></td>
+- <td align="center"><?if($permission_object[$build['build_id']]['PERM_MODIFY_OWN_QUEUE']){?>X<?}?></td>
+- <td align="center"><?if($permission_object[$build['build_id']]['PERM_DELETE_OWN_QUEUE']){?>X<?}?></td>
+- <td align="center"><?if($permission_object[$build['build_id']]['PERM_MODIFY_OTHER_QUEUE']){?>X<?}?></td>
+- <td align="center"><?if($permission_object[$build['build_id']]['PERM_DELETE_OTHER_QUEUE']){?>X<?}?></td>
+- <td align="center"><?if($permission_object[$build['build_id']]['PERM_PRIO_LOWER_5']){?>X<?}?></td>
++ <td><?php echo $build['build_name']?></td>
++ <td align="center"><?php if($permission_object[$build['build_id']]['PERM_ADD_QUEUE']){?>X<?php }?></td>
++ <td align="center"><?php if($permission_object[$build['build_id']]['PERM_MODIFY_OWN_QUEUE']){?>X<?php }?></td>
++ <td align="center"><?php if($permission_object[$build['build_id']]['PERM_DELETE_OWN_QUEUE']){?>X<?php }?></td>
++ <td align="center"><?php if($permission_object[$build['build_id']]['PERM_MODIFY_OTHER_QUEUE']){?>X<?php }?></td>
++ <td align="center"><?php if($permission_object[$build['build_id']]['PERM_DELETE_OTHER_QUEUE']){?>X<?php }?></td>
++ <td align="center"><?php if($permission_object[$build['build_id']]['PERM_PRIO_LOWER_5']){?>X<?php }?></td>
+ </tr>
+- <?}?>
+- <?}?>
++ <?php }?>
++ <?php }?>
+
+ </table>
+Index: portstools/tinderbox/webui/templates/paefchen/user_properties.tpl
+diff -u portstools/tinderbox/webui/templates/paefchen/user_properties.tpl:1.1 portstools/tinderbox/webui/templates/paefchen/user_properties.tpl:1.1.2.1
+--- portstools/tinderbox/webui/templates/paefchen/user_properties.tpl:1.1 Sat Jan 19 15:18:36 2008
++++ portstools/tinderbox/webui/templates/paefchen/user_properties.tpl Thu Dec 18 16:06:37 2008
+@@ -7,13 +7,13 @@
+ <th>Enable for WWW</th>
+ </tr>
+ <tr>
+- <?if($www_admin){?>
+- <td align="center"><input type="text" size="20" name="user_name" value="<?=$user_name?>" /></td>
+- <?}else{?>
+- <td align="center"><input type="hidden" name="user_name" value="<?=$user_name?>"><?=$user_name?></td>
+- <?}?>
+- <td align="center"><input type="text" size="20" name="user_email" value="<?=$user_email?>" /></td>
+- <td align="center"><input type="password" size="20" name="user_password" value="<?=$user_password?>" /></td>
+- <td align="center"><input type="hidden" name="user_id" value="<?=$user_id?>"><input type="checkbox" name="www_enabled" value="1" <?if($www_enabled == 1 ) {?>checked="checked"<?}?> /></td>
++ <?php if($www_admin){?>
++ <td align="center"><input type="text" size="20" name="user_name" value="<?php echo $user_name?>" /></td>
++ <?php }else{?>
++ <td align="center"><input type="hidden" name="user_name" value="<?php echo $user_name?>"><?php echo $user_name?></td>
++ <?php }?>
++ <td align="center"><input type="text" size="20" name="user_email" value="<?php echo $user_email?>" /></td>
++ <td align="center"><input type="password" size="20" name="user_password" value="<?php echo $user_password?>" /></td>
++ <td align="center"><input type="hidden" name="user_id" value="<?php echo $user_id?>"><input type="checkbox" name="www_enabled" value="1" <?php if($www_enabled == 1 ) {?>checked="checked"<?php }?> /></td>
+ </tr>
+ </table>
diff --git a/ports-mgmt/tinderbox/pkg-plist b/ports-mgmt/tinderbox/pkg-plist
index 5b0d2ad619de..310c1715dbc3 100644
--- a/ports-mgmt/tinderbox/pkg-plist
+++ b/ports-mgmt/tinderbox/pkg-plist
@@ -35,6 +35,7 @@ tinderbox/scripts/sql/schema.pgsql.post
tinderbox/scripts/sql/schema.pgsql.pre
tinderbox/scripts/sql/values.config
tinderbox/scripts/sql/values.hooks
+tinderbox/scripts/sql/values.lp
tinderbox/scripts/sql/values.pfp
tinderbox/scripts/sql/values.pfr
tinderbox/scripts/tc
@@ -54,7 +55,9 @@ tinderbox/scripts/upgrade/user_permissions.map
%%WEBUI%%tinderbox/scripts/webui/core/BuildPortsQueue.php
%%WEBUI%%tinderbox/scripts/webui/core/Config.php
%%WEBUI%%tinderbox/scripts/webui/core/Jail.php
+%%WEBUI%%tinderbox/scripts/webui/core/LogfilePattern.php
%%WEBUI%%tinderbox/scripts/webui/core/Port.php
+%%WEBUI%%tinderbox/scripts/webui/core/PortFailPattern.php
%%WEBUI%%tinderbox/scripts/webui/core/PortFailReason.php
%%WEBUI%%tinderbox/scripts/webui/core/PortsTree.php
%%WEBUI%%tinderbox/scripts/webui/core/TinderObject.php
@@ -69,6 +72,7 @@ tinderbox/scripts/upgrade/user_permissions.map
%%WEBUI%%tinderbox/scripts/webui/module/moduleBuildPorts.php
%%WEBUI%%tinderbox/scripts/webui/module/moduleBuilds.php
%%WEBUI%%tinderbox/scripts/webui/module/moduleConfig.php
+%%WEBUI%%tinderbox/scripts/webui/module/moduleLogs.php
%%WEBUI%%tinderbox/scripts/webui/module/modulePortFailureReasons.php
%%WEBUI%%tinderbox/scripts/webui/module/modulePorts.php
%%WEBUI%%tinderbox/scripts/webui/module/moduleRss.php
@@ -79,6 +83,7 @@ tinderbox/scripts/upgrade/user_permissions.map
%%WEBUI%%tinderbox/scripts/webui/templates/default/current_buildports.tpl
%%WEBUI%%tinderbox/scripts/webui/templates/default/describe_port.tpl
%%WEBUI%%tinderbox/scripts/webui/templates/default/display_login.tpl
+%%WEBUI%%tinderbox/scripts/webui/templates/default/display_markup_log.tpl
%%WEBUI%%tinderbox/scripts/webui/templates/default/failed_buildports.tpl
%%WEBUI%%tinderbox/scripts/webui/templates/default/latest_buildports.tpl
%%WEBUI%%tinderbox/scripts/webui/templates/default/list_buildports.tpl
@@ -89,6 +94,7 @@ tinderbox/scripts/upgrade/user_permissions.map
%%WEBUI%%tinderbox/scripts/webui/templates/default/please_login.tpl
%%WEBUI%%tinderbox/scripts/webui/templates/default/rss.tpl
%%WEBUI%%tinderbox/scripts/webui/templates/default/tinderstyle.css
+%%WEBUI%%tinderbox/scripts/webui/templates/default/tinderstyle.js
%%WEBUI%%tinderbox/scripts/webui/templates/default/user_admin.tpl
%%WEBUI%%tinderbox/scripts/webui/templates/default/user_permissions.tpl
%%WEBUI%%tinderbox/scripts/webui/templates/default/user_properties.tpl
@@ -96,6 +102,7 @@ tinderbox/scripts/upgrade/user_permissions.map
%%WEBUI%%tinderbox/scripts/webui/templates/paefchen/current_buildports.tpl
%%WEBUI%%tinderbox/scripts/webui/templates/paefchen/describe_port.tpl
%%WEBUI%%tinderbox/scripts/webui/templates/paefchen/display_login.tpl
+%%WEBUI%%tinderbox/scripts/webui/templates/paefchen/display_markup_log.tpl
%%WEBUI%%tinderbox/scripts/webui/templates/paefchen/failed_buildports.tpl
%%WEBUI%%tinderbox/scripts/webui/templates/paefchen/footer.inc.tpl
%%WEBUI%%tinderbox/scripts/webui/templates/paefchen/header.inc.tpl
@@ -109,6 +116,7 @@ tinderbox/scripts/upgrade/user_permissions.map
%%WEBUI%%tinderbox/scripts/webui/templates/paefchen/please_login.tpl
%%WEBUI%%tinderbox/scripts/webui/templates/paefchen/rss.tpl
%%WEBUI%%tinderbox/scripts/webui/templates/paefchen/tinderstyle.css
+%%WEBUI%%tinderbox/scripts/webui/templates/paefchen/tinderstyle.js
%%WEBUI%%tinderbox/scripts/webui/templates/paefchen/user_admin.tpl
%%WEBUI%%tinderbox/scripts/webui/templates/paefchen/user_permissions.tpl
%%WEBUI%%tinderbox/scripts/webui/templates/paefchen/user_properties.tpl