-%# 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>
+
+ 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 %qf= (%baseqf,%queryqf);
delete $qf{$lname};
$qf{$lname}= $value if $cvalix;
- print '<a href="',$quri->(%qf),'">';
+</%perl>
+<a href="<% $quri->(%qf) |h %>">
+<%perl>
$after= '</a>';
}
print $html, $after;
% if ($a{Query} eq 'route') {
<h1>Specify route</h1>
-<form action="<% $quri->() %>" method="get">
+<form action="<% $quri->() |h %>" method="get">
%#---------- textbox, user enters route as string ----------
% if (!$a{Dropdowns}) {
Enter route (islands, or archipelagoes, separated by |s or commas;
- abbreviations are OK):<br/>
+ abbreviations are OK):<br>
-<script type="text/javascript">
+<&| script &>
tr_uri= "routetextstring?format=json&type=text/xml"
+ "&ocean=<% uri_escape($a{Ocean}) %>";
tr_Request();
}
window.onload= tr_Needed;
-</script>
+</&script>
<input type="text" id="routestring" name="routestring" size=80
value="<% $routestring |h %>"
onchange="tr_Needed();"
onkeyup="tr_Later();"><br>
-<div id="routeresults"> </div><br/>
+<div id="routeresults"> </div><br>
% } else { #---------- dropdowns, user selects from menus ----------
<input type=hidden name=dropdowns value="<% $a{Dropdowns} |h %>">
-<script type="text/javascript">
-ms_lists= <% to_json(\%resetislandlistdata) %>;
+<&| script &>
+ms_lists= <% to_json_protecttags(\%resetislandlistdata) %>;
function ms_Setarch(dd) {
debug('ms_SetArch '+dd+' arch='+arch);
var arch= document.getElementsByName('archipelago'+dd).item(0).value;
select.innerHTML= got;
debug('ms_SetArch '+dd+' arch='+arch+' innerHTML set');
}
-</script>
+</&script>
<table style="table-layout:fixed; width:90%;">
</pre>
% }
-<script type="text/javascript">
+<&| script &>
function debug (m) {
% if ($debug) {
var node= document.getElementById('debug_log');
node.innerHTML += "\n" + m + "\n";
% }
}
-</script>
+</&script>
<& footer &>
use CommodsWeb;
use HTML::Entities;
use URI::Escape;
-use JSON;
</%init>