summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2007-09-11 17:44:02 +0000
committerAndreas Brachold <vdr07@deltab.de>2007-09-11 17:44:02 +0000
commitb3afe1bf2625101e8db9400d15f272c2e454b1b5 (patch)
tree9b8659f7ede833c7b7ac1507bacabbcb47e64769 /lib
parent1ea70eb921caac0ef881c72ac7023fa100835b85 (diff)
downloadxxv-b3afe1bf2625101e8db9400d15f272c2e454b1b5.tar.gz
xxv-b3afe1bf2625101e8db9400d15f272c2e454b1b5.tar.bz2
* Refactoring HTTPD/TELNET - move command usage (MODUL TELNET now none essential )
* Some little fixes
Diffstat (limited to 'lib')
-rw-r--r--lib/XXV/MODULES/HTTPD.pm71
-rw-r--r--lib/XXV/MODULES/TELNET.pm79
-rw-r--r--lib/XXV/MODULES/WAPD.pm2
3 files changed, 76 insertions, 76 deletions
diff --git a/lib/XXV/MODULES/HTTPD.pm b/lib/XXV/MODULES/HTTPD.pm
index 72acbb7..ee0652c 100644
--- a/lib/XXV/MODULES/HTTPD.pm
+++ b/lib/XXV/MODULES/HTTPD.pm
@@ -107,6 +107,24 @@ sub module {
},
},
Commands => {
+ help => {
+ description => gettext("This will display all commands or description of module 'name'."),
+ short => 'h',
+ callback => sub{
+ return $obj->usage(@_);
+ },
+ },
+ reload => {
+ description => gettext("Restart all modules."),
+ short => 'rel',
+ callback => sub{
+ my ($w, $c, $l) = @_;
+ $Module::Reload::Debug = 2;
+ Module::Reload->check;
+ $c->message(gettext("Modules loaded."));
+ },
+ Level => 'admin'
+ },
checkvalue => {
hidden => 'yes',
callback => sub{ $obj->checkvalue(@_) },
@@ -361,7 +379,7 @@ sub _readline {
sub parseRequest {
# ------------------
my $obj = shift || return error('No object defined!');
- my $socket = shift || return error('No handle defined!' );
+ my $socket = shift || return error('No handle defined!');
my $logout = shift || 0;
binmode $socket;
@@ -396,7 +414,7 @@ sub parseRequest {
} else {
#dumper($line);
}
- $obj->{STATUS}->{'readbytes'} += length($line) if($line);
+ $obj->{STATUS}->{'readbytes'} += length($line);
}
$data->{Request} =~ s/%([a-f0-9][a-f0-9])/pack("C", hex($1))/ieg
@@ -469,7 +487,54 @@ sub handleInput {
sub usage {
# ------------------
my $obj = shift || return error('No object defined!');
- return main::getModule('TELNET')->usage(@_);
+ my $watcher = shift || return error('No watcher defined!');
+ my $console = shift || return error('No console defined!');
+ my $modulename = shift || 0;
+ my $hint = shift || '';
+ my $user = shift || $console->{USER};
+
+ my $u = main::getModule('USER');
+ unless($user) {
+ my $loginObj = $obj;
+ $loginObj = main::getModule('HTTPD')
+ if ($console->{TYP} eq 'HTML') ;
+ $loginObj = main::getModule('WAPD')
+ if ($console->{TYP} eq 'WML') ;
+ $user = $loginObj->{USER};
+ }
+
+ my $ret;
+ push(@$ret, sprintf(gettext("%sThis is the xxv %s server.\nPlease use the following commands:\n"),
+ ($hint ? "$hint\n\n" : ''), $console->typ));
+
+ my $mods = main::getModules();
+ my @realModName;
+
+ # Search for command and display the Description
+ foreach my $modName (sort keys %{$mods}) {
+ my $modCfg = $mods->{$modName}->{MOD};
+ push(@realModName, $mods->{$modName}->{MOD}->{Name});
+ next if($modulename and uc($modulename) ne $modCfg->{Name});
+ foreach my $cmdName (sort keys %{$modCfg->{Commands}}) {
+ push(@$ret,
+ [
+ (split('::', $modName))[-1],
+ $modCfg->{Commands}->{$cmdName}->{short},
+ $cmdName,
+ $modCfg->{Commands}->{$cmdName}->{description},
+ ]
+ ) if(! $modCfg->{Commands}->{$cmdName}->{hidden} and ($u->{active} ne 'y') || $u->allowCommand($modCfg, $cmdName, $user, "1"));
+ }
+ }
+
+ $console->menu(
+ $ret,
+ {
+ periods => $mods->{'XXV::MODULES::EPG'}->{periods},
+ CHANNELS => $mods->{'XXV::MODULES::CHANNELS'}->ChannelArray('Name'),
+ CONFIGS => [ sort @realModName ],
+ },
+ );
}
# ------------------
diff --git a/lib/XXV/MODULES/TELNET.pm b/lib/XXV/MODULES/TELNET.pm
index 7974109..d12fbeb 100644
--- a/lib/XXV/MODULES/TELNET.pm
+++ b/lib/XXV/MODULES/TELNET.pm
@@ -49,13 +49,6 @@ sub module {
},
},
Commands => {
- help => {
- description => gettext("This will display all commands or description of module 'name'."),
- short => 'h',
- callback => sub{
- return $obj->usage(@_);
- },
- },
quit => {
description => gettext("This will exit the telnet session"),
short => 'q',
@@ -88,17 +81,6 @@ sub module {
},
Level => 'admin'
},
- reload => {
- description => gettext("Restart all modules."),
- short => 'rel',
- callback => sub{
- my ($w, $c, $l) = @_;
- $Module::Reload::Debug = 2;
- Module::Reload->check;
- $c->message(gettext("Modules loaded."));
- },
- Level => 'admin'
- },
},
};
return $args;
@@ -247,60 +229,6 @@ sub init {
}
# ------------------
-sub usage {
-# ------------------
- my $obj = shift || return error('No object defined!');
- my $watcher = shift || return error ('No Watcher!');
- my $console = shift || return error ('No Console');
- my $modulename = shift || 0;
- my $hint = shift || '';
- my $user = shift || $console->{USER};
-
- my $u = main::getModule('USER');
- unless($user) {
- my $loginObj = $obj;
- $loginObj = main::getModule('HTTPD')
- if ($console->{TYP} eq 'HTML') ;
- $loginObj = main::getModule('WAPD')
- if ($console->{TYP} eq 'WML') ;
- $user = $loginObj->{USER};
- }
-
- my $ret;
- push(@$ret, sprintf(gettext("%sThis is the xxv %s server.\nPlease use the following commands:\n"),
- ($hint ? "$hint\n\n" : ''), $console->typ));
-
- my $mods = main::getModules();
- my @realModName;
-
- # Search for command and display the Description
- foreach my $modName (sort keys %{$mods}) {
- my $modCfg = $mods->{$modName}->{MOD};
- push(@realModName, $mods->{$modName}->{MOD}->{Name});
- next if($modulename and uc($modulename) ne $modCfg->{Name});
- foreach my $cmdName (sort keys %{$modCfg->{Commands}}) {
- push(@$ret,
- [
- (split('::', $modName))[-1],
- $modCfg->{Commands}->{$cmdName}->{short},
- $cmdName,
- $modCfg->{Commands}->{$cmdName}->{description},
- ]
- ) if(! $modCfg->{Commands}->{$cmdName}->{hidden} and ($u->{active} ne 'y') || $u->allowCommand($modCfg, $cmdName, $user, "1"));
- }
- }
-
- $console->menu(
- $ret,
- {
- periods => $mods->{'XXV::MODULES::EPG'}->{periods},
- CHANNELS => $mods->{'XXV::MODULES::CHANNELS'}->ChannelArray('Name'),
- CONFIGS => [ sort @realModName ],
- },
- );
-}
-
-# ------------------
sub handleInput {
# ------------------
my $obj = shift || return error('No object defined!');
@@ -324,4 +252,11 @@ sub handleInput {
}
}
+# ------------------
+sub usage {
+# ------------------
+ my $obj = shift || return error('No object defined!');
+ return main::getModule('HTTPD')->usage(@_);
+}
+
1;
diff --git a/lib/XXV/MODULES/WAPD.pm b/lib/XXV/MODULES/WAPD.pm
index 95ca6bf..26966ef 100644
--- a/lib/XXV/MODULES/WAPD.pm
+++ b/lib/XXV/MODULES/WAPD.pm
@@ -327,7 +327,7 @@ sub handleInput {
sub usage {
# ------------------
my $obj = shift || return error('No object defined!');
- return main::getModule('TELNET')->usage(@_);
+ return main::getModule('HTTPD')->usage(@_);
}
# ------------------