diff options
| author | Andreas Brachold <vdr07@deltab.de> | 2008-03-08 14:30:15 +0000 |
|---|---|---|
| committer | Andreas Brachold <vdr07@deltab.de> | 2008-03-08 14:30:15 +0000 |
| commit | a420ba2fd04bb2adce1c693fc8d296f332bdd95c (patch) | |
| tree | 625f296d92a0f370b6fe16e8fd3d15aa4c4ba4d7 /lib/XXV/MODULES | |
| parent | 3d506c66cc8ec133730edddeaff4bd2ffd8a129b (diff) | |
| download | xxv-a420ba2fd04bb2adce1c693fc8d296f332bdd95c.tar.gz xxv-a420ba2fd04bb2adce1c693fc8d296f332bdd95c.tar.bz2 | |
Charset UTF8 Support. Run 'xxvd --utf8' to use encoding utf8 as data charset.
Diffstat (limited to 'lib/XXV/MODULES')
| -rw-r--r-- | lib/XXV/MODULES/AUTOTIMER.pm | 1 | ||||
| -rw-r--r-- | lib/XXV/MODULES/CHANNELS.pm | 3 | ||||
| -rw-r--r-- | lib/XXV/MODULES/CHRONICLE.pm | 1 | ||||
| -rw-r--r-- | lib/XXV/MODULES/CONFIG.pm | 1 | ||||
| -rw-r--r-- | lib/XXV/MODULES/EPG.pm | 2 | ||||
| -rw-r--r-- | lib/XXV/MODULES/EVENTS.pm | 1 | ||||
| -rw-r--r-- | lib/XXV/MODULES/GRAB.pm | 1 | ||||
| -rw-r--r-- | lib/XXV/MODULES/HTTPD.pm | 109 | ||||
| -rw-r--r-- | lib/XXV/MODULES/INTERFACE.pm | 1 | ||||
| -rw-r--r-- | lib/XXV/MODULES/LOGREAD.pm | 1 | ||||
| -rw-r--r-- | lib/XXV/MODULES/MEDIALIB.pm | 1 | ||||
| -rw-r--r-- | lib/XXV/MODULES/MOVETIMER.pm | 1 | ||||
| -rw-r--r-- | lib/XXV/MODULES/MUSIC.pm | 1 | ||||
| -rw-r--r-- | lib/XXV/MODULES/RECORDS.pm | 1 | ||||
| -rw-r--r-- | lib/XXV/MODULES/REMOTE.pm | 2 | ||||
| -rw-r--r-- | lib/XXV/MODULES/REPORT.pm | 1 | ||||
| -rw-r--r-- | lib/XXV/MODULES/ROBOT.pm | 1 | ||||
| -rw-r--r-- | lib/XXV/MODULES/SHARE.pm | 1 | ||||
| -rw-r--r-- | lib/XXV/MODULES/STATUS.pm | 1 | ||||
| -rw-r--r-- | lib/XXV/MODULES/STREAM.pm | 1 | ||||
| -rw-r--r-- | lib/XXV/MODULES/SVDRP.pm | 1 | ||||
| -rw-r--r-- | lib/XXV/MODULES/TELNET.pm | 2 | ||||
| -rw-r--r-- | lib/XXV/MODULES/TIMERS.pm | 1 | ||||
| -rw-r--r-- | lib/XXV/MODULES/USER.pm | 1 | ||||
| -rw-r--r-- | lib/XXV/MODULES/VTX.pm | 2 | ||||
| -rw-r--r-- | lib/XXV/MODULES/WAPD.pm | 52 |
26 files changed, 87 insertions, 104 deletions
diff --git a/lib/XXV/MODULES/AUTOTIMER.pm b/lib/XXV/MODULES/AUTOTIMER.pm index ec20e90..e734529 100644 --- a/lib/XXV/MODULES/AUTOTIMER.pm +++ b/lib/XXV/MODULES/AUTOTIMER.pm @@ -3,7 +3,6 @@ package XXV::MODULES::AUTOTIMER; use strict; use Tools; -use Locale::gettext; # ------------------ # Name: module diff --git a/lib/XXV/MODULES/CHANNELS.pm b/lib/XXV/MODULES/CHANNELS.pm index f100f47..28718fb 100644 --- a/lib/XXV/MODULES/CHANNELS.pm +++ b/lib/XXV/MODULES/CHANNELS.pm @@ -3,7 +3,6 @@ package XXV::MODULES::CHANNELS; use strict; use Tools; -use Locale::gettext; use File::stat; # This module method must exist for XXV @@ -149,6 +148,8 @@ sub new { # paths $self->{paths} = delete $attr{'-paths'}; + $self->{charset} = delete $attr{'-charset'}; + # who am I $self->{MOD} = $self->module; diff --git a/lib/XXV/MODULES/CHRONICLE.pm b/lib/XXV/MODULES/CHRONICLE.pm index 0d61c2e..dca1a46 100644 --- a/lib/XXV/MODULES/CHRONICLE.pm +++ b/lib/XXV/MODULES/CHRONICLE.pm @@ -2,7 +2,6 @@ package XXV::MODULES::CHRONICLE; use strict; use Tools; -use Locale::gettext; # This module method must exist for XXV # ------------------ diff --git a/lib/XXV/MODULES/CONFIG.pm b/lib/XXV/MODULES/CONFIG.pm index 33d687e..99e9c66 100644 --- a/lib/XXV/MODULES/CONFIG.pm +++ b/lib/XXV/MODULES/CONFIG.pm @@ -3,7 +3,6 @@ package XXV::MODULES::CONFIG; use strict; use Tools; -use Locale::gettext; # This module method must exist for XXV # ------------------ diff --git a/lib/XXV/MODULES/EPG.pm b/lib/XXV/MODULES/EPG.pm index ca45064..56c81d8 100644 --- a/lib/XXV/MODULES/EPG.pm +++ b/lib/XXV/MODULES/EPG.pm @@ -2,8 +2,6 @@ package XXV::MODULES::EPG; use strict; use Tools; -use File::Basename; -use Locale::gettext; # This module method must exist for XXV # ------------------ diff --git a/lib/XXV/MODULES/EVENTS.pm b/lib/XXV/MODULES/EVENTS.pm index 7172e7e..b45b1e0 100644 --- a/lib/XXV/MODULES/EVENTS.pm +++ b/lib/XXV/MODULES/EVENTS.pm @@ -2,7 +2,6 @@ package XXV::MODULES::EVENTS; use strict; use Tools; -use Locale::gettext; # This module method must exist for XXV diff --git a/lib/XXV/MODULES/GRAB.pm b/lib/XXV/MODULES/GRAB.pm index c1582a4..2c38389 100644 --- a/lib/XXV/MODULES/GRAB.pm +++ b/lib/XXV/MODULES/GRAB.pm @@ -2,7 +2,6 @@ package XXV::MODULES::GRAB; use strict; use Tools; -use Locale::gettext; use File::Basename; use File::Find; diff --git a/lib/XXV/MODULES/HTTPD.pm b/lib/XXV/MODULES/HTTPD.pm index 971d35a..e6af6e1 100644 --- a/lib/XXV/MODULES/HTTPD.pm +++ b/lib/XXV/MODULES/HTTPD.pm @@ -1,6 +1,5 @@ package XXV::MODULES::HTTPD; -use Locale::gettext; use XXV::OUTPUT::Html; use XXV::OUTPUT::Ajax; use File::Basename; @@ -39,7 +38,7 @@ my $mime = { # ------------------ sub module { # ------------------ - my $obj = shift || return error('No object defined!'); + my $self = shift || return error('No object defined!'); my $args = { Name => 'HTTPD', Prereq => { @@ -54,7 +53,7 @@ sub module { Date => (split(/ /, '$Date$'))[1], Author => 'xpix', LastAuthor => (split(/ /, '$Author$'))[1], - Status => sub{ $obj->status(@_) }, + Status => sub{ $self->status(@_) }, Preferences => { active => { description => gettext('Activate this service'), @@ -85,7 +84,7 @@ sub module { default => 'default', type => 'list', required => gettext('This is required!'), - choices => sub{ return $obj->findskins }, + choices => sub{ return $self->findskins }, }, StartPage => { description => gettext('Startup screen'), @@ -114,7 +113,7 @@ sub module { Commands => { checkvalue => { hidden => 'yes', - callback => sub{ $obj->checkvalue(@_) }, + callback => sub{ $self->checkvalue(@_) }, }, }, }; @@ -131,6 +130,8 @@ sub new { # paths $self->{paths} = delete $attr{'-paths'}; + $self->{charset} = delete $attr{'-charset'}; + # who am I $self->{MOD} = $self->module; @@ -158,18 +159,18 @@ sub new { # ------------------ sub init { # ------------------ - my $obj = shift || return error('No object defined!'); + my $self = shift || return error('No object defined!'); # globals my $channels; - $obj->{STATUS}->{'starttime'} = time; + $self->{STATUS}->{'starttime'} = time; # make socket my $socket = IO::Socket::INET->new( - Listen => $obj->{Clients}, - LocalPort => $obj->{Port}, - LocalAddr => $obj->{Interface}, + Listen => $self->{Clients}, + LocalPort => $self->{Port}, + LocalAddr => $self->{Interface}, Reuse => 1 ) or return error("Couldn't create socket: $!"); @@ -186,7 +187,7 @@ sub init { # make "channel" number my $channel=++$channels; - $obj->{STATUS}->{'connects'}++; + $self->{STATUS}->{'connects'}++; # install a communicator Event->io( @@ -195,37 +196,36 @@ sub init { poll => 'r', cb => sub { my $watcher = shift; - $obj->communicator($watcher); + $self->communicator($watcher); } ); }, - ) if($obj->{active} eq 'y'); + ) if($self->{active} eq 'y'); return 1; } -sub communicator -{ - my $obj = shift || return error('No object defined!'); +sub communicator { + my $self = shift || return error('No object defined!'); my $watcher = shift || return error('No watcher defined!'); # read new line and report it my $handle=$watcher->w->fd; - my $data = $obj->parseRequest($handle,(defined $obj->{LOGOUT} && $obj->{LOGOUT} == 1 )); + my $data = $self->parseRequest($handle,(defined $self->{LOGOUT} && $self->{LOGOUT} == 1 )); unless($data) { - undef $obj->{LOGOUT}; + undef $self->{LOGOUT}; $watcher->w->cancel; $handle->close(); undef $watcher; return 1; } - undef $obj->{LOGOUT} - if(exists $obj->{LOGOUT}); + undef $self->{LOGOUT} + if(exists $self->{LOGOUT}); my $ip = getip($handle); - my $htmlRootDir = sprintf('%s/%s', $obj->{paths}->{HTMLDIR}, $obj->{HtmlRoot}); - my $htmlDefDir = sprintf('%s/%s', $obj->{paths}->{HTMLDIR}, 'default'); + my $htmlRootDir = sprintf('%s/%s', $self->{paths}->{HTMLDIR}, $self->{HtmlRoot}); + my $htmlDefDir = sprintf('%s/%s', $self->{paths}->{HTMLDIR}, 'default'); my $query = $data->{Query}; if($data->{Method} eq 'POST' && $data->{Post}) { @@ -242,22 +242,23 @@ sub communicator -cgi => $cgi, -browser=> $data, -output => $outputtype, - -debug => ($obj->{Debug} eq 'y' ? 1 : 0), - + -debug => ($self->{Debug} eq 'y' ? 1 : 0), + -charset=> $self->{charset}, ); } else { # Is a Html Request $console = XXV::OUTPUT::Html->new( -handle => $handle, - -dbh => $obj->{dbh}, + -dbh => $self->{dbh}, -htmdir => $htmlRootDir, -htmdef => $htmlDefDir, -cgi => $cgi, -mime => $mime, -browser=> $data, - -paths => $obj->{paths}, - -start => $obj->{StartPage}, - -debug => ($obj->{Debug} eq 'y' ? 1 : 0), + -paths => $self->{paths}, + -start => $self->{StartPage}, + -debug => ($self->{Debug} eq 'y' ? 1 : 0), + -charset=> $self->{charset}, ); } @@ -300,7 +301,7 @@ sub communicator $request =~ s/.*epgimages\//$epgMod->{epgimages}\//; $console->datei($request, $typ); } else { - $obj->ModulNotLoaded($console,'EPG'); + $self->ModulNotLoaded($console,'EPG'); } } elsif($request =~ /tempimages\//) { my $tmp = $userMod->userTmp; @@ -310,11 +311,11 @@ sub communicator $console->datei($htmlRootDir . $request, $typ); } } else { - $obj->handleInput($watcher, $console, $cgi); + $self->handleInput($watcher, $console, $cgi); } } else { - $obj->ModulNotLoaded($console,'USER'); + $self->ModulNotLoaded($console,'USER'); } $console->footer() if($console->{inclFooter}); $console->printout(); @@ -337,7 +338,7 @@ sub communicator "-" #$data->{http_useragent} ? $data->{http_useragent} : "" ); - $obj->{STATUS}->{'sendbytes'} += $console->{'sendbytes'}; + $self->{STATUS}->{'sendbytes'} += $console->{'sendbytes'}; $watcher->w->cancel; undef $watcher; @@ -363,7 +364,7 @@ sub _readline { # ------------------ sub parseRequest { # ------------------ - my $obj = shift || return error('No object defined!'); + my $self = shift || return error('No object defined!'); my $socket = shift || return error('No handle defined!'); my $logout = shift || 0; @@ -399,7 +400,7 @@ sub parseRequest { } else { #dumper($line); } - $obj->{STATUS}->{'readbytes'} += length($line); + $self->{STATUS}->{'readbytes'} += length($line); } $data->{Request} =~ s/%([a-f0-9][a-f0-9])/pack("C", hex($1))/ieg @@ -415,7 +416,7 @@ sub parseRequest { my $bytes = sysread($socket,$post,$data->{ContentLength}); $data->{Post} = $post if($bytes && $data->{ContentLength} == $bytes); - $obj->{STATUS}->{'readbytes'} += $bytes; + $self->{STATUS}->{'readbytes'} += $bytes; } #dumper($data); return $data; @@ -428,7 +429,7 @@ sub parseRequest { # ------------------ sub ModulNotLoaded { # ------------------ - my $obj = shift || return error('No object defined!'); + my $self = shift || return error('No object defined!'); my $console = shift || return error('No console defined!'); my $module = shift || return error('No module defined!'); @@ -440,7 +441,7 @@ sub ModulNotLoaded { # ------------------ sub handleInput { # ------------------ - my $obj = shift || return error('No object defined!'); + my $self = shift || return error('No object defined!'); my $watcher = shift || return error('No watcher defined!'); my $console = shift || return error('No console defined!'); my $cgi = shift || return error('No CGI object defined!'); @@ -482,17 +483,17 @@ sub handleInput { } elsif($shorterr eq 'noperm' or $shorterr eq 'noactive') { $console->status403($err); } else { - $obj->usage($watcher, $console, undef, $err); + $self->usage($watcher, $console, undef, $err); } } else { - $obj->ModulNotLoaded($console,'USER'); + $self->ModulNotLoaded($console,'USER'); } } # ------------------ sub usage { # ------------------ - my $obj = shift || return error('No object defined!'); + my $self = shift || return error('No object defined!'); my $watcher = shift || return error('No watcher defined!'); my $console = shift || return error('No console defined!'); my $modulename = shift; @@ -502,7 +503,7 @@ sub usage { if ($m){ return $m->usage($watcher,$console,$modulename,$hint); } else { - $obj->ModulNotLoaded($console,'CONFIG'); + $self->ModulNotLoaded($console,'CONFIG'); } } @@ -510,17 +511,17 @@ sub usage { # ------------------ sub status { # ------------------ - my $obj = shift || return error('No object defined!'); + my $self = shift || return error('No object defined!'); my $watcher = shift; my $console = shift || return; my $lastReportTime = shift || 0; return { message => sprintf(gettext('Traffic on HTTPD socket since %s: transmitted: %s - received: %s - connections: %d.'), - datum($obj->{STATUS}->{'starttime'}), - convert($obj->{STATUS}->{'sendbytes'}), - convert($obj->{STATUS}->{'readbytes'}), - $obj->{STATUS}->{'connects'} ), + datum($self->{STATUS}->{'starttime'}), + convert($self->{STATUS}->{'sendbytes'}), + convert($self->{STATUS}->{'readbytes'}), + $self->{STATUS}->{'connects'} ), }; } @@ -529,7 +530,7 @@ sub status { sub findskins # ------------------ { - my $obj = shift || return error('No object defined!'); + my $self = shift || return error('No object defined!'); my $found; find({ wanted => sub{ if(-d $File::Find::name @@ -543,9 +544,9 @@ sub findskins follow => 1, follow_skip => 2, }, - $obj->{paths}->{HTMLDIR} + $self->{paths}->{HTMLDIR} ); - error "Couldn't find useful HTML Skin at : $obj->{paths}->{HTMLDIR}" + error "Couldn't find useful HTML Skin at : $self->{paths}->{HTMLDIR}" if(scalar $found == 0); return sort { lc($a->[0]) cmp lc($b->[0]) } @{$found}; } @@ -553,16 +554,16 @@ sub findskins # ------ unzip ------------ # Name: unzip # Desc: Uncompress Files in gz format -# Usag: my $res = $obj->unzip(file.gz); -# Test: my $res = $obj->unzip('t/abc.gz'); +# Usag: my $res = $self->unzip(file.gz); +# Test: my $res = $self->unzip('t/abc.gz'); # return 1 if(load_file($res) eq 'abc'); # ------ unzip ------------ sub unzip { - my $obj = shift || return error('No object defined!'); + my $self = shift || return error('No object defined!'); my $file = shift || return error('No file defined!'); my $gz = gzopen($file, "rb") - or return $obj->msg(undef, sprintf(gettext("Could not open file '%s'! : %s"), $file, &gzerror )); + or return $self->msg(undef, sprintf(gettext("Could not open file '%s'! : %s"), $file, &gzerror )); my $text; while($gz->gzread(my $buffer) > 0) { @@ -586,7 +587,7 @@ sub unzip { # getip:localhost sub checkvalue { # ------------------ - my $obj = shift || return error('No object defined!'); + my $self = shift || return error('No object defined!'); my $watcher = shift || return error('No watcher defined!'); my $console = shift || return error('No console defined!'); my $data = shift || return error('No data defined!'); diff --git a/lib/XXV/MODULES/INTERFACE.pm b/lib/XXV/MODULES/INTERFACE.pm index 60fc584..9fe6bae 100644 --- a/lib/XXV/MODULES/INTERFACE.pm +++ b/lib/XXV/MODULES/INTERFACE.pm @@ -1,6 +1,5 @@ package XXV::MODULES::INTERFACE; -use Locale::gettext; use XXV::OUTPUT::Dump; use Tools; diff --git a/lib/XXV/MODULES/LOGREAD.pm b/lib/XXV/MODULES/LOGREAD.pm index f2d9157..5f375cd 100644 --- a/lib/XXV/MODULES/LOGREAD.pm +++ b/lib/XXV/MODULES/LOGREAD.pm @@ -3,7 +3,6 @@ package XXV::MODULES::LOGREAD; use strict; use Tools; -use Locale::gettext; use XXV::OUTPUT::HTML::PUSH; $|++; diff --git a/lib/XXV/MODULES/MEDIALIB.pm b/lib/XXV/MODULES/MEDIALIB.pm index 9a9e379..c2893f9 100644 --- a/lib/XXV/MODULES/MEDIALIB.pm +++ b/lib/XXV/MODULES/MEDIALIB.pm @@ -3,7 +3,6 @@ package XXV::MODULES::MEDIALIB; use strict; use Tools; -use Locale::gettext; use Data::Dumper; use File::Path; diff --git a/lib/XXV/MODULES/MOVETIMER.pm b/lib/XXV/MODULES/MOVETIMER.pm index 55df7c4..dee519e 100644 --- a/lib/XXV/MODULES/MOVETIMER.pm +++ b/lib/XXV/MODULES/MOVETIMER.pm @@ -2,7 +2,6 @@ package XXV::MODULES::MOVETIMER; use strict; use Tools; -use Locale::gettext; # This module method must exist for XXV # ------------------ diff --git a/lib/XXV/MODULES/MUSIC.pm b/lib/XXV/MODULES/MUSIC.pm index 4163c3d..7c879a0 100644 --- a/lib/XXV/MODULES/MUSIC.pm +++ b/lib/XXV/MODULES/MUSIC.pm @@ -2,7 +2,6 @@ package XXV::MODULES::MUSIC; use strict; use Tools; -use Locale::gettext; use File::Basename; use File::Path; use File::Find; diff --git a/lib/XXV/MODULES/RECORDS.pm b/lib/XXV/MODULES/RECORDS.pm index d5f37ac..569bedf 100644 --- a/lib/XXV/MODULES/RECORDS.pm +++ b/lib/XXV/MODULES/RECORDS.pm @@ -8,7 +8,6 @@ use File::Copy; use File::Path; use File::Basename; use File::stat; -use Locale::gettext; use Linux::Inotify2; $SIG{CHLD} = 'IGNORE'; diff --git a/lib/XXV/MODULES/REMOTE.pm b/lib/XXV/MODULES/REMOTE.pm index 0f535ba..6268670 100644 --- a/lib/XXV/MODULES/REMOTE.pm +++ b/lib/XXV/MODULES/REMOTE.pm @@ -3,7 +3,7 @@ package XXV::MODULES::REMOTE; use strict; use Tools; -use Locale::gettext; + # This module method must exist for XXV # ------------------ sub module { diff --git a/lib/XXV/MODULES/REPORT.pm b/lib/XXV/MODULES/REPORT.pm index bba0b06..ca83f14 100644 --- a/lib/XXV/MODULES/REPORT.pm +++ b/lib/XXV/MODULES/REPORT.pm @@ -3,7 +3,6 @@ package XXV::MODULES::REPORT; use strict; use Tools; -use Locale::gettext; # This module method must exist for XXV diff --git a/lib/XXV/MODULES/ROBOT.pm b/lib/XXV/MODULES/ROBOT.pm index 3a1f54f..6c5c041 100644 --- a/lib/XXV/MODULES/ROBOT.pm +++ b/lib/XXV/MODULES/ROBOT.pm @@ -2,7 +2,6 @@ package XXV::MODULES::ROBOT; use strict; use Tools; -use Locale::gettext; $SIG{CHLD} = 'IGNORE'; diff --git a/lib/XXV/MODULES/SHARE.pm b/lib/XXV/MODULES/SHARE.pm index 22118b4..3557cdf 100644 --- a/lib/XXV/MODULES/SHARE.pm +++ b/lib/XXV/MODULES/SHARE.pm @@ -2,7 +2,6 @@ package XXV::MODULES::SHARE; use strict; use Tools; -use Locale::gettext; use vars qw($AUTOLOAD); diff --git a/lib/XXV/MODULES/STATUS.pm b/lib/XXV/MODULES/STATUS.pm index 8ad4abc..432cf2e 100644 --- a/lib/XXV/MODULES/STATUS.pm +++ b/lib/XXV/MODULES/STATUS.pm @@ -4,7 +4,6 @@ use strict; use Tools; use Socket; use Sys::Hostname; -use Locale::gettext; use File::Basename; use File::Find; diff --git a/lib/XXV/MODULES/STREAM.pm b/lib/XXV/MODULES/STREAM.pm index 7928dfd..3ef9c87 100644 --- a/lib/XXV/MODULES/STREAM.pm +++ b/lib/XXV/MODULES/STREAM.pm @@ -2,7 +2,6 @@ package XXV::MODULES::STREAM; use strict; use Tools; -use Locale::gettext; use File::Basename; use File::Find; use File::Path; diff --git a/lib/XXV/MODULES/SVDRP.pm b/lib/XXV/MODULES/SVDRP.pm index a29601a..cbcc167 100644 --- a/lib/XXV/MODULES/SVDRP.pm +++ b/lib/XXV/MODULES/SVDRP.pm @@ -1,7 +1,6 @@ package XXV::MODULES::SVDRP; use Tools; -use Locale::gettext; use strict; diff --git a/lib/XXV/MODULES/TELNET.pm b/lib/XXV/MODULES/TELNET.pm index 7e8572c..3eeeb7f 100644 --- a/lib/XXV/MODULES/TELNET.pm +++ b/lib/XXV/MODULES/TELNET.pm @@ -4,7 +4,7 @@ use strict; use XXV::OUTPUT::Console; use Tools; -use Locale::gettext; + # This module method must exist for XXV # ------------------ diff --git a/lib/XXV/MODULES/TIMERS.pm b/lib/XXV/MODULES/TIMERS.pm index 58b4560..a39c597 100644 --- a/lib/XXV/MODULES/TIMERS.pm +++ b/lib/XXV/MODULES/TIMERS.pm @@ -3,7 +3,6 @@ package XXV::MODULES::TIMERS; use strict; use Tools; use POSIX ":sys_wait_h", qw(strftime mktime); -use Locale::gettext; # This module method must exist for XXV # ------------------ diff --git a/lib/XXV/MODULES/USER.pm b/lib/XXV/MODULES/USER.pm index 73b4eea..89b46a8 100644 --- a/lib/XXV/MODULES/USER.pm +++ b/lib/XXV/MODULES/USER.pm @@ -3,7 +3,6 @@ package XXV::MODULES::USER; use strict; use Tools; -use Locale::gettext; use File::Path; diff --git a/lib/XXV/MODULES/VTX.pm b/lib/XXV/MODULES/VTX.pm index 490ad49..e3f2e3c 100644 --- a/lib/XXV/MODULES/VTX.pm +++ b/lib/XXV/MODULES/VTX.pm @@ -2,9 +2,9 @@ package XXV::MODULES::VTX; use strict; +use Tools; use File::Find; use FileHandle; -use Locale::gettext; ################################################################################ # This module method must exist for XXV diff --git a/lib/XXV/MODULES/WAPD.pm b/lib/XXV/MODULES/WAPD.pm index fc0dd8e..130f72c 100644 --- a/lib/XXV/MODULES/WAPD.pm +++ b/lib/XXV/MODULES/WAPD.pm @@ -1,6 +1,5 @@ package XXV::MODULES::WAPD; -use Locale::gettext; use XXV::OUTPUT::Wml; use File::Basename; use File::Find; @@ -21,7 +20,7 @@ my $mime = { # ------------------ sub module { # ------------------ - my $obj = shift || return error('No object defined!'); + my $self = shift || return error('No object defined!'); my $args = { Name => 'WAPD', Prereq => { @@ -65,7 +64,7 @@ sub module { default => 'wml', type => 'list', required => gettext('This is required!'), - choices => $obj->findskins, + choices => $self->findskins, }, # StartPage => { # description => gettext('Startup screen'), @@ -99,6 +98,8 @@ sub new { # paths $self->{paths} = delete $attr{'-paths'}; + $self->{charset} = delete $attr{'-charset'}; + # who am I $self->{MOD} = $self->module; @@ -127,16 +128,16 @@ sub new { # ------------------ sub init { # ------------------ - my $obj = shift || return error('No object defined!'); + my $self = shift || return error('No object defined!'); # globals my $channels; # make socket my $socket = IO::Socket::INET->new( - Listen => $obj->{Clients}, - LocalPort => $obj->{Port}, - LocalAddr => $obj->{Interface}, + Listen => $self->{Clients}, + LocalPort => $self->{Port}, + LocalAddr => $self->{Interface}, Reuse => 1 ) or return error("Couldn't create socket: $!"); @@ -164,30 +165,31 @@ sub init { # read new line and report it my $handle=$watcher->w->fd; - my $data = $obj->parseRequest($handle,(defined $obj->{LOGOUT} && $obj->{LOGOUT} == 1 )); + my $data = $self->parseRequest($handle,(defined $self->{LOGOUT} && $self->{LOGOUT} == 1 )); unless($data) { - undef $obj->{LOGOUT}; + undef $self->{LOGOUT}; $watcher->w->cancel; $handle->close(); undef $watcher; return 1; } - undef $obj->{LOGOUT} - if(exists $obj->{LOGOUT}); + undef $self->{LOGOUT} + if(exists $self->{LOGOUT}); - my $WMLRootDir = sprintf('%s/%s', $obj->{paths}->{HTMLDIR}, $obj->{WMLRoot}); + my $WMLRootDir = sprintf('%s/%s', $self->{paths}->{HTMLDIR}, $self->{WMLRoot}); my $cgi = CGI->new( $data->{Query} ); my $console = XXV::OUTPUT::Wml->new( -handle => $handle, - -dbh => $obj->{dbh}, + -dbh => $self->{dbh}, -wmldir => $WMLRootDir, -cgi => $cgi, -mime => $mime, -browser=> $data, - -paths => $obj->{paths}, -# -start => $obj->{StartPage}, + -paths => $self->{paths}, + -charset=> $self->{charset}, +# -start => $self->{StartPage}, ); my $userMod = main::getModule('USER'); @@ -221,10 +223,10 @@ sub init { $console->image(sprintf('%s%s', $WMLRootDir, $data->{Request}), $typ); } elsif( $cgi->param('binary') ) { # Send multimedia files (if param binary) - $obj->handleInput($watcher, $console, $cgi); + $self->handleInput($watcher, $console, $cgi); } else { $console->start(); - $obj->handleInput($watcher, $console, $cgi); + $self->handleInput($watcher, $console, $cgi); $console->footer(); } } @@ -235,7 +237,7 @@ sub init { ); }, - ) if($obj->{active} eq 'y'); + ) if($self->{active} eq 'y'); return 1; @@ -244,7 +246,7 @@ sub init { # ------------------ sub parseRequest { # ------------------ - my $obj = shift || return error('No object defined!'); + my $self = shift || return error('No object defined!'); my $hdl = shift || return error('No handle defined!'); my $logout = shift || 0; @@ -282,7 +284,7 @@ sub parseRequest { # ------------------ sub handleInput { # ------------------ - my $obj = shift || return error('No object defined!'); + my $self = shift || return error('No object defined!'); my $watcher = shift || return error('No watcher defined!'); my $console = shift || return error('No console defined!'); my $cgi = shift || return error ('No CGI Object'); @@ -318,7 +320,7 @@ sub handleInput { } elsif($shorterr eq 'noperm' or $shorterr eq 'noactive') { return $console->status403($err); } else { - return $obj->usage($watcher, $console, undef, $err); + return $self->usage($watcher, $console, undef, $err); } } @@ -326,7 +328,7 @@ sub handleInput { # ------------------ sub usage { # ------------------ - my $obj = shift || return error('No object defined!'); + my $self = shift || return error('No object defined!'); return main::getModule('CONFIG')->usage(@_); } @@ -334,7 +336,7 @@ sub usage { sub findskins # ------------------ { - my $obj = shift || return error('No object defined!'); + my $self = shift || return error('No object defined!'); my $found; find({ wanted => sub{ if(-d $File::Find::name and -e $File::Find::name.'/wapd.tmpl' ) { @@ -345,9 +347,9 @@ sub findskins follow => 1, follow_skip => 2, }, - $obj->{paths}->{HTMLDIR} + $self->{paths}->{HTMLDIR} ); - error "Couldn't find useful WML Skin at : $obj->{paths}->{HTMLDIR}" + error "Couldn't find useful WML Skin at : $self->{paths}->{HTMLDIR}" if(scalar $found == 0); return $found; } |
