summaryrefslogtreecommitdiffstats
path: root/drakwizard.pl
diff options
context:
space:
mode:
authorArnaud Desmons <adesmons@mandriva.com>2002-07-26 15:32:42 +0000
committerArnaud Desmons <adesmons@mandriva.com>2002-07-26 15:32:42 +0000
commit154c890a0b00ca459000412afc12f6303b2a347f (patch)
tree2d51ceb1ed894b41adfad9eca1e8d184a4d6b1e3 /drakwizard.pl
parent65cfc6766d8b9cc92148aeab9b9238021b53944b (diff)
downloaddrakwizard-154c890a0b00ca459000412afc12f6303b2a347f.tar
drakwizard-154c890a0b00ca459000412afc12f6303b2a347f.tar.gz
drakwizard-154c890a0b00ca459000412afc12f6303b2a347f.tar.bz2
drakwizard-154c890a0b00ca459000412afc12f6303b2a347f.tar.xz
drakwizard-154c890a0b00ca459000412afc12f6303b2a347f.zip
added jump test for func element and jumpScript element back compatibility
Diffstat (limited to 'drakwizard.pl')
-rwxr-xr-xdrakwizard.pl25
1 files changed, 19 insertions, 6 deletions
diff --git a/drakwizard.pl b/drakwizard.pl
index 34065b02..81871a4d 100755
--- a/drakwizard.pl
+++ b/drakwizard.pl
@@ -147,15 +147,28 @@ sub navigation {
navigation($o, find_page($o, $page->{jumpPage}), $page->{old_page});
} else {
my ($next, $prev) = do {
- if($page->{jumpScript}) {
+ if (defined $perl_module_name && $page->{func}) {
+ @func_arg = split(/\s/, $page->{func});
+ $modStatus = $::{$perl_module_name."::"}{"$func_arg[0]"}->($func_arg[1]);
+ if ($page->{Target}->{jumpIndex}) {
+ if (!$page->{Target}->{jumpIndex}->{0}){
+ find_page($o, $page->{Target}->{jumpIndex}->{int($modStatus)}), $page;
+ }
+ else {
+ $page->{next_page}, $page->{old_page};
+ }
+ }
+ else {
+ $page->{next_page}, $page;
+ }
+ }
+ elsif ($page->{jumpScript}) {
system("source $lib_script ; $page->{jumpScript}");
if ($page->{Target}->{jumpIndex}) {
-# if(!$page->{Target}->{jumpIndex}->{0}){
-# $? = $? >> 8; #==0|2560 ? 10 : $?-255;
-# }
- $? = $? >> 8;
+ # if (!$page->{Target}->{jumpIndex}->{0}){
+ $? = $? >> 8;
find_page($o, $page->{Target}->{jumpIndex}->{$?}), $page;
- }
+ }
else {
$page->{next_page}, $page->{old_page};
}