X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.web-live.git;a=blobdiff_plain;f=yarrg%2Fweb%2Flookup;h=931594a2b71ce718d615bbfecf46e09c00c9d5d2;hp=9c00a65466481bd3e6e1633fa3fe0c7fbf418f9a;hb=ad7330407875909b4723839c8872da2de61c8244;hpb=555fcf1a304c5f1aef9384c3c4d07d5255a0f05d diff --git a/yarrg/web/lookup b/yarrg/web/lookup old mode 100644 new mode 100755 index 9c00a65..931594a --- a/yarrg/web/lookup +++ b/yarrg/web/lookup @@ -1,11 +1,42 @@ -Route - YARRG +<%doc> -YARRG - - Yet Another Revenue Research Gatherer -

+ 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 + 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 . + 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. + + + <%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,24 @@ 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]; } } + +<% ucfirst $ahtml{Query} %> - YARRG + +YARRG - + Yet Another Revenue Research Gatherer +| +documentation +

+<%perl> + my %baseqf; foreach my $var (@vars) { my $lname= lc $var->{Name}; @@ -61,8 +109,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}; @@ -82,7 +133,9 @@ foreach my $var (@vars) { my %qf= (%baseqf,%queryqf); delete $qf{$lname}; $qf{$lname}= $value if $cvalix; - print ''; + + +<%perl> $after= ''; } print $html, $after; @@ -101,16 +154,21 @@ $debug => 0 $routestring => '' +


+ +%########### query `route' ########## +% if ($a{Query} eq 'route') { +

Specify route

-
+ %#---------- textbox, user enters route as string ---------- % if (!$a{Dropdowns}) { Enter route (islands, or archipelagoes, separated by |s or commas; - abbreviations are OK):
+ abbreviations are OK):
- +
-
 

+
 

% } else { #---------- dropdowns, user selects from menus ---------- @@ -210,10 +268,10 @@ foreach my $arch (keys %islandlistdata) { - + - + @@ -324,6 +382,14 @@ for my $dd (0..$a{Dropdowns}-1) { % } +% } elsif ($a{Query} eq 'age') { +% ########### query `age' ########## + +

Market data age

+<& dataage, %baseqf, %queryqf &> + +% } ########## end of `age' query ########## + %#---------- debugging and epilogue ---------- % if ($debug) { @@ -333,19 +399,20 @@ Debug log: % } - + + +<& footer &> <%init> use CommodsWeb; use HTML::Entities; use URI::Escape; -use JSON;