1 #################################################################################################
2 #################################################################################################
3 #################################################################################################
4 # Subrutines to load config files and templates
5 #################################################################################################
6 #################################################################################################
7 #################################################################################################
11 if ($language eq "IT")
13 open(MESSAGE, "./msg/message.it") || die "Can't open config file '/msg/message.it' : $!";
17 open(MESSAGE, "./msg/message.en") || die "Can't open config file '/msg/message.en' : $!";
19 while(my $line = <MESSAGE>) {
20 # ignore comments and full line comments
22 next unless $line =~ /\S/;
23 $line =~ s/\{URL\}/$puwobo_url/g;
24 $line =~ s/\{VER\}/$ver/g;
25 if ($line =~ /^(home_message)\s*=\s*(.*)$/) {$home_message = $2; }
26 if ($line =~ /^(help_message)\s*=\s*(.*)$/) {$help_message = $2; }
27 if ($line =~ /^(s_add)\s*=\s*(.*)$/) {$s_add = $2; }
28 if ($line =~ /^(s_reload)\s*=\s*(.*)$/) {$s_reload = $2; }
29 if ($line =~ /^(s_remove)\s*=\s*(.*)$/) {$s_remove = $2; }
30 if ($line =~ /^(list)\s*=\s*(.*)$/) {$list = $2; }
31 if ($line =~ /^(empty)\s*=\s*(.*)$/) {$empty = $2; }
32 if ($line =~ /^(all_usage)\s*=\s*(.*)$/) {$all_usage = $2; }
33 if ($all_usage_synerr eq "ON")
35 $help_usage=$add_usage=$remove_usage=$list_usage=$reload_usage=$apply_usage=$all_usage;
39 if ($line =~ /^(help_usage)\s*=\s*(.*)$/) {$help_usage = $2; }
40 if ($line =~ /^(add_usage)\s*=\s*(.*)$/) {$add_usage = $2; }
41 if ($line =~ /^(remove_usage)\s*=\s*(.*)$/) {$remove_usage = $2; }
42 if ($line =~ /^(list_usage)\s*=\s*(.*)$/) {$list_usage = $2; }
43 if ($line =~ /^(reload_usage)\s*=\s*(.*)$/) {$reload_usage = $2; }
44 if ($line =~ /^(apply_usage)\s*=\s*(.*)$/) {$apply_usage = $2; }
52 open(CONFIG, "./config") || die "Can't open config file 'config' : $!";
53 while(my $line = <CONFIG>) {
54 # ignore comments and full line comments
56 next unless $line =~ /\S/;
57 if ($line =~ /^(working_path)\s*=\s*(.*)$/) {$working_path = $2; }
58 if ($line =~ /^(language)\s*=\s*(.*)$/) {$language = $2; }
59 if ($line =~ /^(port)\s*=\s*(.*)$/) {$port = $2; }
60 if ($line =~ /^(all_usage_synerr)\s*=\s*(.*)$/) {$all_usage_synerr = $2; }
61 if ($line =~ /^(expand_xinc)\s*=\s*(.*)$/) {$expand_xinc = $2; }
62 if ($line =~ /^(max_depth)\s*=\s*(.*)$/) {$max_depth = $2; }
69 if ($language eq "IT")
71 open(ERRO, "./msg/error.it") || die "Can't open config file '/msg/error.it' : $!";
75 open(ERRO, "./msg/error.en") || die "Can't open config file '/msg/error.en' : $!";
77 while(my $line = <ERRO>)
79 # ignore comments and full line comments
81 next unless $line =~ /\S/;
82 if ($line =~ /^(.*?)\s*=\s*(.*)$/) {$error{$1} = $2; }
90 open(OK_TPL, "./tpl/ok.tpl")
91 || die "Can't open template file '/tpl/ok.tpl' : $!";
92 while(my $line = <OK_TPL>) {$ok_tpl .= $line; }
95 # load operror template
96 open(OPERROR_TPL, "./tpl/operror.tpl")
97 || die "Can't open template file '/tpl/operror.tpl' : $!";
98 while(my $line = <OPERROR_TPL>) {$operror_tpl .= $line; }
101 # load synerror template
102 open(SYNERROR_TPL, "./tpl/synerror.tpl")
103 || die "Can't open template file '/tpl/synerror.tpl' : $!";
104 while(my $line = <SYNERROR_TPL>) {$synerror_tpl .= $line; }
108 #################################################################################################
109 #################################################################################################
110 #################################################################################################
111 # the LibXML callbacks follow
112 # these callbacks are used for both the original parse AND the XInclude (if set)
113 #################################################################################################
114 #################################################################################################
115 #################################################################################################
119 return $uri !~ /:\/\// ? 1 : 0; # we handle only files
125 my $handler = new IO::File;
126 if ( not $handler->open( "<$uri" ) ){
138 $handler->read( $rv , $length );