latin: common function to format code93 bar codes
[sheet.git] / common.inc.plp
index 0a010d24170790cb592b18782c4787144129313f..cd218efe2436d4e6dbc36ec67e196992a5196ccd 100644 (file)
@@ -8,10 +8,21 @@ use open ':std' => ':utf8';
 
 use File::stat 'stat';
 use HTTP::Date;
+use Encode qw( decode_utf8 );
+
+sub Alert {
+       my ($html, $debug) = @_;
+       ref $html eq 'ARRAY' or $html = [$html];
+       my ($title, @lines) = @{$html};
+       $body = "<h2>$title</h2>";
+       $body .= "\n<p>$_</p>" for @lines;
+       $body .= "\n<pre>$debug</pre>" if $Dev and $debug;
+       say "<div class=error>$body</div>\n";
+}
 
 $PLP::ERROR = sub {
        my ($text, $html) = @_;
-       print '<p class="error"><strong>Fatal error</strong>: '.$html."</p>\n\n";
+       Alert("<strong>Fatal error</strong>: $html.");
        warn $text;
 };
 
@@ -23,7 +34,7 @@ BEGIN {
 # user request
 our $Dev = $ENV{HTTP_HOST} =~ /\bdev\./;
 our ($file) = $ENV{SCRIPT_FILENAME} =~ m{ ([^/]+) \.plp$ }x;
-our $Request = $ENV{PATH_INFO} =~ s{^/}{}r;
+our $Request = decode_utf8($ENV{PATH_INFO} =~ s{^/}{}r);
 
 our $style;
 our $showkeys = !exists $get{keys} ? undef :