--- /dev/null
+<%once>
+my $meta_prettyprint_age= sub {
+ my ($age,$floor,$plus) = @_;
+ return <<END;
+ $age < 60 ? 'less than a minute' :
+ $age < 60*2 ? '1 minute' :
+ $age < 3600*2 ? $floor ($age/60) $plus' minutes' :
+ $age < 86400*2 ? $floor ($age/3600) $plus ' hours' :
+ $floor ($age/86400) $plus ' days';
+END
+};
+
+my $prettyprint_age;
+eval '
+ $prettyprint_age= sub {
+ my ($age) = @_;
+ '.$meta_prettyprint_age->('$age','floor','.').'
+ };
+' or die "$@";
+
+</%once>
+
+<%perl>
+
+my $now= time;
+
+my $row;
+my $sth= $dbh->prepare("SELECT archipelago, islandid, islandname, timestamp
+ FROM uploads NATURAL JOIN islands
+ ORDER BY archipelago, islandid");
+$sth->execute();
+
+</%perl>
+
+<script type="text/javascript">
+da_pageload= Date.now();
+da_ages= { };
+function da_Refresh() {
+ var now= Date.now();
+ debug('updating now='+now);
+ for (var elid in da_ages) {
+ var el= document.getElementById(elid);
+ var oldage= da_ages[elid];
+ var age= oldage + (now - da_pageload) / 1000;
+ var newhtml= <% $meta_prettyprint_age->('age','Math.floor','+') %>
+% if ($ARGS{debug}) {
+ if (elid == 'daid_loaded')
+ debug('element elid='+elid+' oldage='+oldage+' age='+age+': '+newhtml);
+% }
+ el.innerHTML= newhtml;
+ }
+}
+</script>
+
+<table>
+<tr>
+<th>Archipelago
+<th>Island
+<th>Age
+</tr>
+% while ($row=$sth->fetchrow_hashref) {
+% my $elid= "daid_$row->{'islandid'}";
+% my $age= $now - $row->{'timestamp'};
+<tr> <td><% $row->{'archipelago'} |h
+ %> <td><% $row->{'islandname'} |h
+ %> <td id="<% $elid %>"><% $prettyprint_age->($age) %> </tr>
+<script type="text/javascript"> da_ages['<% $elid %>']= <% $age %>; </script>
+% }
+</table>
+
+<p>
+Time since this page loaded:
+<span id="daid_loaded">(not known; times above not updating)</span>
+
+<form action="lookup" method="get">
+% foreach my $a (keys %ARGS) {
+<input type="hidden" name="<% $a |h %>" value="<% $ARGS{$a} |h %>">
+% }
+<input type=submit name=submit value="Reload">
+</form>
+
+<script type="text/javascript">
+da_ages['daid_loaded']= 0;
+window.onload= da_Refresh;
+window.setInterval(da_Refresh, 10000);
+</script>
+
+<%init>
+use POSIX;
+use CommodsWeb;
+my $dbh= dbw_connect('Midnight');
+</%init>
</%perl>
<html><head><title><% ucfirst $ahtml{Query} %> - YARRG</title></head><body>
-<a href="<% $m->current_comp()->name() %>">YARRG</a> -
+<a href="<% $m->current_comp()->name() |u %>">YARRG</a> -
Yet Another Revenue Research Gatherer
<p>
<%perl>
}
my $quri= sub {
- my $uri= URI->new($m->current_comp()->name());
+ my $uri= URI->new('lookup');
$uri->query_form(@_);
$uri->path_query();
};
</%perl>
-<input type=hidden name=dropdowns value="<% $a{Dropdowns} %>">
+<input type=hidden name=dropdowns value="<% $a{Dropdowns} |h %>">
<script type="text/javascript">
ms_lists= <% to_json(\%resetislandlistdata) %>;
% ########### query `age' ##########
<h1>Market data age</h1>
+<& dataage, %baseqf, %queryqf &>
% } ########## end of `age' query ##########