#!/usr/bin/perl -T
# $Id$
# Tre simpla cgi-programo kiu helpas homojn traduki siajn latin-3-ajn paĝojn unikoden.
# Michiel Meeuwissen
$ENV{'PATH'} = '/bin:/usr/bin';
use CGI;
my $q = new CGI;
if ($q->param('montru') || $q->param('desxutu')) {
if ($q->param('URL') !~ /^([a-zA-Z0-9\/:\~.-]*)$/)
{
print $q->header("text/html; charset=utf-8"),
"
Pro sekureco de mia komputilo
Via URL enhavas literojn nebonajn. Se vi pensas ke tio estas nejusta, kontaktu la aŭtoron (Michiel)";
exit;
}
my $url = $1;
print $q->param('montru') ? $q->header("text/html; charset=utf-8") : $q->header("nekonata/nekonata; charset=utf-8");
my $kom = "wget '".$url."' -O - | konwert htmliso1-iso1/html | konwert iso3-utf8/html | sed 's/iso-8859-3/utf-8/i;s/iso-8859-1/utf-8/i'";
@rezulto = `$kom`;
$montro = 1;
for(@rezulto)
{
print if $montro;
$montro = 0 if /<\/html>/i; # montru nenion post tio.
}
open FILE, '>>/var/www/log/konwert.log';
print FILE localtime()." ".$q->remote_host()." ".($q->param('montru') || $q->param('desxutu'))." ".$kom."\n";
close FILE;
}
else {
print
$q->header("text/html; charset=utf-8"),
$q->start_html(
# -dtd => "-//W3C//DTD HTML 4.0 Transitional//EN",
-title=>'Unikodigu vian paĝon',
-author=>'mihxil\@esperanto.nu',
-meta=>{'keywords'=>'konwert esperanto'}
),
"Unikodigu vian paĝon
Tiu ĉi programo tradukas paĝojn koditajn laŭ latino 3 al utf-8 (unikodo). ",
"Ĝi eĉ faras tion se la paĝo indikas sin kiel latino 1 sed fakte celas esti latino 3 (pseŭdo-latino 3). ",
"Ĝi ankaŭ tradukas fuŝ-html-kodoj kiel æ unue al latino 1 por tiam trakti ĝin kiel latinon 3. ",
"Kompreneble tio estas tre fia afaro por fari, sed por paĝoj kiuj bezonas ĝin, estas la nuro farebla. ",
"Eble mi faru la opcion tradukigi nur laŭnorman latinon 3, sed tiu nun ne estas (Verŝajne nun nur fuŝiĝas se la paĝo ankaŭ ",
"ĝuste uzas html-kodojn).",
"Ĝi faros provon adapti la META-ĉapon laŭe, sed ne aldonas iun se mankas. Se iu bezonas tiun funckion, bonvole sciigu, kaj mi faros (fakte ĝi sufiĉe indus).",
"Sume, ĉiuokaze, mi kredas ke ĝi senfuŝigus multajn paĝojn",
$q->start_form(),
"via URL: ", $q->textfield(-name=>'URL', -size=>80,-maxlength=>400, -default=>''),"
",
#$q->popup_menu(-name=>'kielo', -values=>['deŝutu','montru'],
# -default=>'deŝutu'),
$q->submit(-name=>'montru', -value=>'montru'),
$q->submit(-name=>'desxutu', -value=>'deŝutu'),
$q->end_form,
"
",
"Farita de Miĥil'. Lasta ŝanĝo 2000-07-03 (nun ankaŭ tradukas fuŝ-html-kodojn). Bonvole, se vi havas demandojn, demandu ilin al mi.",
$q->end_html,"\n";
}
# Local variables:
# coding: utf-8
# End: