X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?a=blobdiff_plain;f=yarrg%2Fweb%2Fqtextstring;h=16aa372bd6794caad89992d6d7b2f2a976d519c2;hb=ec244cf220ba2232df707da397dd10de776dbda2;hp=c0f2482fe63bda47ceb9e1c0c71613b62ea4b1ce;hpb=38e2919be138f8a77eef7a2fc93d34eff8897f5e;p=ypp-sc-tools.db-test.git diff --git a/yarrg/web/qtextstring b/yarrg/web/qtextstring index c0f2482..16aa372 100644 --- a/yarrg/web/qtextstring +++ b/yarrg/web/qtextstring @@ -1,13 +1,55 @@ +<%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 handles analysis of text string entries, including + both the AJAX calls from web page javascript and the entry validation + and processing calls from other components. + + + <%args> -$thingstring $qa => $m->caller_args(1)->{'qa'} +$dbh +$thingstring +$emsgstore +$perresult - -Enter route (islands, or archipelagoes, separated by |s or commas; - abbreviations are OK):
+<%perl> +my $stringval= $qa->{$thingstring}; +$stringval='' if !defined $stringval; + <&| script &> -ts_uri= "check_<% $thingstring %>?format=json&type=text/xml" +ts_uri= "qtextstringcheck?format=application/json&ctype=text/xml" + + "&what=<% $thingstring %>" + "&ocean=<% uri_escape($qa->{Ocean}) %>"; ts_timeout=false; @@ -37,6 +79,7 @@ function ts_Ready() { if (ts_request.readyState != 4) return; if (ts_request.status == 200) { response= ts_request.responseText; + debug('got '+response); eval('results='+response); toedit= document.getElementById('ts_results'); toedit.innerHTML= results.show; @@ -50,7 +93,23 @@ window.onload= ts_Needed; content %> id="<% $thingstring %>" name="<% $thingstring %>" onchange="ts_Needed();" onkeyup="ts_Later();" - value="<% $qa->{$thingstring} |h %>" + value="<% $stringval |h %>" >
 

+ +<%perl> +if (length $thingstring) { + my ($emsg,$canonstring,$results)= $m->comp('qtextstringcheck', + what => $thingstring, + ocean => $qa->{Ocean}, + string => $stringval, + format => 'return' + ); + $$emsgstore= $emsg; + + foreach my $entry (@$results) { + $perresult->(@$entry); + } +} +