X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?a=blobdiff_plain;f=yarrg%2Fweb%2Fquery_route;h=dd8644f1675694d200e28341d0b32bc5d6396422;hb=b6d8c4a781c0bedf79a4b13af5afe9ad47de97ed;hp=f409e704b4d01345db3cb14feca6f08c9d55ed3b;hpb=38e2919be138f8a77eef7a2fc93d34eff8897f5e;p=ypp-sc-tools.main.git diff --git a/yarrg/web/query_route b/yarrg/web/query_route index f409e70..dd8644f 100644 --- a/yarrg/web/query_route +++ b/yarrg/web/query_route @@ -1,6 +1,40 @@ +<%doc> + + 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 core of the `trade route' query. + + + <%args> $quri -$qa $routestring => ''; <%perl> @@ -9,6 +43,7 @@ my @archipelagoes; my @islandids; my %islandid2; +my $qa= \%ARGS; %#---------- textbox, user enters route as string ---------- @@ -73,6 +108,8 @@ foreach my $arch (keys %islandlistdata) { $optionlistmap->($islandlistdata{$arch}, ''); } +$dbh->rollback(); + @@ -133,18 +170,19 @@ $results_head= sub { if (!$qa->{Dropdowns}) { if (length $routestring) { $results_head->(); - my $rsr= $m->comp('routetextstring', + my ($emsg,$canonstring,$results)= $m->comp('qtextstringcheck', + what => 'routestring', ocean => $qa->{Ocean}, string => $routestring, format => 'return' ); - if (length $rsr->{Error}) { - print encode_entities($rsr->{Error}); + if (length $emsg) { + print encode_entities($emsg); } else { - foreach my $entry (@{ $rsr->{Results} }) { - push @archipelagoes, - defined $entry->[1] ? undef : $entry->[0]; + foreach my $entry (@$results) { push @islandids, $entry->[1]; + push @archipelagoes, + defined $entry->[1] ? undef : $entry->[2]; } } }