chiark / gitweb /
Further minor validation fixups
[ypp-sc-tools.web-live.git] / yarrg / web / lookup
old mode 100644 (file)
new mode 100755 (executable)
index a4500dc..6abba56
@@ -1,35 +1,39 @@
-%# 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;
@@ -81,9 +85,12 @@ foreach my $var (@vars) {
 
 </%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>
 
@@ -127,7 +134,9 @@ foreach my $var (@vars) {
                        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;
@@ -152,15 +161,15 @@ $routestring => ''
 % 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}) %>";
 
@@ -199,13 +208,13 @@ function tr_Ready() {
   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">&nbsp;</div><br/>
+<div id="routeresults">&nbsp;</div><br>
 
 % } else { #---------- dropdowns, user selects from menus ----------
 
@@ -262,8 +271,8 @@ foreach my $arch (keys %islandlistdata) {
 
 <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;
@@ -274,7 +283,7 @@ function ms_Setarch(dd) {
   select.innerHTML= got;
   debug('ms_SetArch '+dd+' arch='+arch+' innerHTML set');
 }
-</script>
+</&script>
 
 <table style="table-layout:fixed; width:90%;">
 
@@ -391,14 +400,14 @@ Debug log:
 </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 &>
 
@@ -406,6 +415,5 @@ function debug (m) {
 use CommodsWeb;
 use HTML::Entities;
 use URI::Escape;
-use JSON;
 
 </%init>