summaryrefslogtreecommitdiff
path: root/lib/XXV/MODULES
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2008-03-08 14:30:15 +0000
committerAndreas Brachold <vdr07@deltab.de>2008-03-08 14:30:15 +0000
commita420ba2fd04bb2adce1c693fc8d296f332bdd95c (patch)
tree625f296d92a0f370b6fe16e8fd3d15aa4c4ba4d7 /lib/XXV/MODULES
parent3d506c66cc8ec133730edddeaff4bd2ffd8a129b (diff)
downloadxxv-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.pm1
-rw-r--r--lib/XXV/MODULES/CHANNELS.pm3
-rw-r--r--lib/XXV/MODULES/CHRONICLE.pm1
-rw-r--r--lib/XXV/MODULES/CONFIG.pm1
-rw-r--r--lib/XXV/MODULES/EPG.pm2
-rw-r--r--lib/XXV/MODULES/EVENTS.pm1
-rw-r--r--lib/XXV/MODULES/GRAB.pm1
-rw-r--r--lib/XXV/MODULES/HTTPD.pm109
-rw-r--r--lib/XXV/MODULES/INTERFACE.pm1
-rw-r--r--lib/XXV/MODULES/LOGREAD.pm1
-rw-r--r--lib/XXV/MODULES/MEDIALIB.pm1
-rw-r--r--lib/XXV/MODULES/MOVETIMER.pm1
-rw-r--r--lib/XXV/MODULES/MUSIC.pm1
-rw-r--r--lib/XXV/MODULES/RECORDS.pm1
-rw-r--r--lib/XXV/MODULES/REMOTE.pm2
-rw-r--r--lib/XXV/MODULES/REPORT.pm1
-rw-r--r--lib/XXV/MODULES/ROBOT.pm1
-rw-r--r--lib/XXV/MODULES/SHARE.pm1
-rw-r--r--lib/XXV/MODULES/STATUS.pm1
-rw-r--r--lib/XXV/MODULES/STREAM.pm1
-rw-r--r--lib/XXV/MODULES/SVDRP.pm1
-rw-r--r--lib/XXV/MODULES/TELNET.pm2
-rw-r--r--lib/XXV/MODULES/TIMERS.pm1
-rw-r--r--lib/XXV/MODULES/USER.pm1
-rw-r--r--lib/XXV/MODULES/VTX.pm2
-rw-r--r--lib/XXV/MODULES/WAPD.pm52
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;
}