chiark / gitweb /
Use <%doc> for head comments
[ypp-sc-tools.db-test.git] / yarrg / web / lookup
old mode 100644 (file)
new mode 100755 (executable)
index 9c00a65..9206d4b
@@ -1,11 +1,42 @@
-<html><head><title>Route - YARRG</title></head><body>
+<%doc>
 
-<a href="<% $m->current_comp()->name() %>">YARRG</a> -
- Yet Another Revenue Research Gatherer
-<p>
+ This is part of the YARRG website.  YARRG is a tool and website
+ for assisting players of Yohoho Puzzle Pirates.
+
+ Copyright (C) 2009 Ian Jackson <ijackson@chiark.greenend.org.uk>
+ Copyright (C) 2009 Clare Boothby
+
+  YARRG's client code etc. is covered by the ordinary GNU GPL (v3 or later).
+  The YARRG website is covered by the GNU Affero GPL v3 or later, which
+   basically means that every installation of the website will let you
+   download the source.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU Affero General Public License for more details.
 
+ You should have received a copy of the GNU Affero General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+ Yohoho and Puzzle Pirates are probably trademarks of Three Rings and
+ are used without permission.  This program is not endorsed or
+ sponsored by Three Rings.
+
+
+ This Mason component generates the main `lookup' page, including
+ all the entry boxes etc. for every query.
+
+
+</%doc>
 <%perl>
 my %a;
+my %ahtml;
 my @vars;
 
 # for output:
@@ -27,6 +58,10 @@ my %islandid2;
                CmpCanon => sub { !!$_[0] },
                Values => [     [ 0, 'Type in names' ],
                                [ 4, 'Select from menus' ] ]
+       }, {    Name => 'Query',
+               Before => 'Query: ',
+               Values => [     [ 'route', 'Trades for route' ],
+                               [ 'age', 'Data age' ] ]
        });
 
 foreach my $var (@vars) {
@@ -40,11 +75,25 @@ foreach my $var (@vars) {
        }
        if (exists $ARGS{$lname}) {
                $a{$name}= $ARGS{$lname};
+               my @html= grep { $_->[0] eq $a{$name} } @{ $var->{Values} };
+               $ahtml{$name}= @html==1 ? $html[0][1] : '???';
        } else {
                $a{$name}= $var->{Values}[0][0];
+               $ahtml{$name}= $var->{Values}[0][1];
        }
 }
 
+</%perl>
+<html><head><title><% ucfirst $ahtml{Query} %> - YARRG</title></head><body>
+<& webcopyright &>
+
+<a href="<% $m->current_comp()->name() |u %>">YARRG</a> -
+ Yet Another Revenue Research Gatherer
+|
+<a href="docs">documentation</a>
+<p>
+<%perl>
+
 my %baseqf;
 foreach my $var (@vars) {
        my $lname= lc $var->{Name};
@@ -61,8 +110,11 @@ foreach my $var (keys %ARGS) {
        $queryqf{$var}= $val;
 }
 
-my $uri= URI->new($m->current_comp()->name());
-my $quri= sub { $uri->query_form(@_); $uri->path_query(); };
+my $quri= sub {
+       my $uri= URI->new('lookup');
+       $uri->query_form(@_);
+       $uri->path_query();
+};
 
 foreach my $var (@vars) {
        my $name= $var->{Name};
@@ -101,6 +153,11 @@ $debug => 0
 $routestring => ''
 </%args>
 
+<hr>
+
+%########### query `route' ##########
+% if ($a{Query} eq 'route') {
+
 <h1>Specify route</h1>
 <form action="<% $quri->() %>" method="get">
 
@@ -210,7 +267,7 @@ foreach my $arch (keys %islandlistdata) {
 
 </%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) %>;
@@ -324,6 +381,14 @@ for my $dd (0..$a{Dropdowns}-1) {
 
 % }
 
+% } elsif ($a{Query} eq 'age') {
+% ########### query `age' ##########
+
+<h1>Market data age</h1>
+<& dataage, %baseqf, %queryqf &>
+
+% } ########## end of `age' query ##########
+
 %#---------- debugging and epilogue ----------
 
 % if ($debug) {
@@ -342,6 +407,8 @@ function debug (m) {
 }
 </script>
 
+<& footer &>
+
 <%init>
 use CommodsWeb;
 use HTML::Entities;