chiark / gitweb /
Fix spelling error in intro
[ypp-sc-tools.db-live.git] / yarrg / commod-update-receiver
index 9558d387892c9f1a1732c52fad64e6deef1245d0..e03a91828424c7da947aeb3af599402d59e4e005 100755 (executable)
@@ -3,22 +3,22 @@
 # This script is invoked when the yarrg client uploads to
 # the chiark database.
 
-# This is part of ypp-sc-tools, a set of third-party tools for assisting
-# players of Yohoho Puzzle Pirates.
+# 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>
 #
 # This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
+# 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 General Public License for more details.
+# GNU Affero General Public License for more details.
 #
-# You should have received a copy of the GNU General Public License
+# 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
@@ -35,14 +35,12 @@ $CGI::POST_MAX= 3*1024*1024;
 
 use CGI qw/:standard -private_tempfiles/;
 
-setlocale(LC_CTYPE, "en_GB.UTF-8");
+set_ctype_utf8();
 
 our $now= time;  defined $now or die $!;
 
 my $re_any= "^(.*)\$";
 
-parse_info_serverside();
-
 sub fail ($) {
     my ($msg) = @_;
     addlog("failing $msg");
@@ -63,6 +61,15 @@ sub must_param ($$) {
 
 my %o;
 
+if (param('get_source')) {
+    # There's another copy of this in dictionary-update-receiver.  Sorry.
+    print header('application/octet-stream') or die $!;
+    source_tarball('..', sub { print $_[0] or die $!; });
+    exit 0;
+}
+
+parse_info_serverside();
+
 my $midtmp= "_mid-pid$$.hold";
 open MIDTMP, ">$midtmp" or die "$midtmp $!";
 stat MIDTMP or die $!;
@@ -110,6 +117,8 @@ $o{'island'}= must_param('island', $re_any);
 my $arches= $oceans{$o{'ocean'}};
 fail("unknown ocean") unless $arches;
 
+parse_info_serverside_ocean($o{'ocean'});
+
 my $island_found= 0;
 foreach my $islands (values %$arches) {
     my $sources= $islands->{$o{'island'}};