So you edit this file
/usr/share/koji-web/scripts/hosts.chtml
change the displaying if-block
#if $len($hosts) > 0
#for $host in $hosts
#if (($time.time() - $time.mktime($time.strptime($util.formatTime($host.last_update),'%Y-%m-%d %H:%M:%S'))) < (15 * 60)):
#continue
#end if
<tr class="$util.rowToggle($self)">
<td>$host.id</td>
<td><a href="hostinfo?hostID=$host.id"><b><font color="red">$host.name</font></b></a></td>
<td>$host.arches</td>
<td class="$str($bool($host.enabled)).lower()">#if $host.enabled then $util.imageTag('yes') else $util.imageTag('no')#</td>
<td class="$str($bool($host.ready)).lower()">#if $host.ready then $util.imageTag('yes') else $util.imageTag('no')#</td>
<td>$util.formatTime($host.last_update)</td>
</tr>
#end for
#for $host in $hosts
#if (($time.time() - $time.mktime($time.strptime($util.formatTime($host.last_update),'%Y-%m-%d %H:%M:%S'))) >= (15 * 60)):
#continue
#end if
<tr class="$util.rowToggle($self)">
<td>$host.id</td>
<td><a href="hostinfo?hostID=$host.id"><b><font color="green">$host.name</font></b></a></td>
<td>$host.arches</td>
<td class="$str($bool($host.enabled)).lower()">#if $host.enabled then $util.imageTag('yes') else $util.imageTag('no')#</td>
<td class="$str($bool($host.ready)).lower()">#if $host.ready then $util.imageTag('yes') else $util.imageTag('no')#</td>
<td>$util.formatTime($host.last_update)</td>
</tr>
#end for
#else
– OR THE HARDER WAY –
edit
/usr/share/koji-web/scripts/includes/header.chtml
add this line right before the ending </head> tag
#include "includes/hosts.js"
and you create a file in the same directory named hosts.js with
<script>
var hoststat = 0;
function conmonth(monthstr)
{
var x, l, m;
var monthary = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
l = monthary.length;
m = monthstr.length;
for (x = 0; x < l; ++x)
{
if (monthary[x].substring(0, m) == monthstr)
{
return (x + "");
}
}
return (0 + "");
}
function procdown(rowdlist)
{
var x, l = rowdlist.length, z;
var coldlist, objclist;
var locldate, loclutct;
var hostdate, hostutct;
var logiinfo = document.getElementById("loginInfo");
var dateobjc = logiinfo.innerHTML.replace(/[\t\r\n]/g, "").match(/^.*[^ ]+ ([^ ]+) ([^ ]+) ([^ ]+) ([^ ]+) UTC.*$/);
locldate = (dateobjc[3] + ":" + conmonth(dateobjc[2]) + ":" + dateobjc[1] + ":" + dateobjc[4]).split(":");
loclutct = new Date(locldate[0], locldate[1], locldate[2], locldate[3], locldate[4], locldate[5]);
for (x = 0; x < l; ++x)
{
coldlist = rowdlist[x].getElementsByTagName("td");
if (coldlist.length < 6)
{
continue;
}
hostdate = coldlist[5].innerHTML.replace(/^[^0-9]*/g, "").replace(/[^0-9]*$/g, "").replace(/[^0-9]/g, ":").split(":");
if (hostdate.length < 6)
{
continue;
}
objclist = coldlist[1].getElementsByTagName("a");
hostutct = new Date(hostdate[0], parseInt(hostdate[1].replace(/^[^1-9]*/g, "")) - 1, hostdate[2], hostdate[3], hostdate[4], hostdate[5]);
if (objclist.length > 0)
{
if ((hostutct.getTime() / 1000) <= ((loclutct.getTime() / 1000) - (15 * 60)))
{
objclist[0].innerHTML = ("<b><font color=\"red\">" + objclist[0].innerHTML + "</font></b>");
}
else
{
objclist[0].innerHTML = ("<b><font color=\"green\">" + objclist[0].innerHTML + "</font></b>");
}
}
}
}
function redotabl()
{
var x, l;
var downlist = [], rowdlist = ["row-odd", "row-even"];
var tabllist = document.getElementsByClassName("data-list");
var tablrowd;
if (tabllist.length > 0)
{
l = tabllist[0].rows.length;
for (x = 0; x < l; ++x)
{
if (tabllist[0].rows[x].innerHTML.replace(/[\t\r\n]/g, "").match(/^.*font.*color.*red.*$/))
{
downlist.unshift([x, tabllist[0].rows[x].innerHTML]);
}
}
l = downlist.length;
for (x = 0; x < l; ++x)
{
tabllist[0].deleteRow(downlist[x][0]);
}
for (x = 0; x < l; ++x)
{
tablrowd = tabllist[0].insertRow(3);
tablrowd.innerHTML = downlist[x][1];
}
l = tabllist[0].rows.length;
for (x = 3; x < l; ++x)
{
tabllist[0].rows[x].className = rowdlist[(x - 3) % 2];
}
}
}
function hostloop()
{
var oddrlist = document.getElementsByClassName("row-odd");
var evenlist = document.getElementsByClassName("row-even");
if ((oddrlist.length > 0) || (evenlist.length > 0))
{
procdown(oddrlist);
procdown(evenlist);
redotabl();
hoststat = 1;
}
if (hoststat == 0)
{
setTimeout("hostloop();", 0.5 * 1000);
}
}
if (location.href.match(/^.*hosts.*$/))
{
hostloop();
}
</script>