HighPerl Version 2.5
generated: Mon Jun 17 18:54:28 2002
1 #!/usr/bin/perl -w
2
3 require 5.00503;
4 use strict;
5 use warnings;
6 use CGI::Carp 'fatalsToBrowser';
7 use CGI ':standard';
8 use DBI;
9 use Config::IniFiles;
10
11
12
13 BEGIN {
14 # sicherstellen, dass wir in dem verzeichnis arbeiten, in dem das Script liegt
15 require FindBin;
16 chdir $FindBin::RealBin;
17 }
18
19
20
21 # Konfigurationsdatei
22 my $config_file = './setup.ini';
23
24
25
26 # Laden der Konfiguration
27 #==================================
28
29 die "Configuration file '$config_file' not found" unless -f $config_file;
30
31 my $config = new Config::IniFiles(-file => $config_file )
32 or die "Couldn't load config from '$config_file': @Config::IniFiles::errors";
33
34 # Schreibarbeit sparen durch ein Hash
35 my %conf = (
36
37 system => {
38 name => \(my $p_name),
39 version => \(my $p_version),
40 years => \(my $p_years),
41 developerurl => \(my $p_developerurl),
42 developername => \(my $p_developername),
43 },
44
45 server => {
46 system => \(my $s_system),
47 shebang => \(my $s_shebang),
48 },
49
50 );
51
52 # Nutzen des Hashes:
53 while( my ($mk,$mv) = each %conf ){
54
55 while( my ($sk,$sv) = each %$mv ){
56
57 $$sv = $config->val( $mk,$sk ) or die "Config key ($mk => $sk) not specified";
58 }
59 }
60
61
62
63
64
65 # Aufruf der Hauptrouine
66 #======================================
67
68 decide();
69
70 # decide()
71 # Führt die gewählte Aktion aus
72 #-----------------------------------
73 sub decide {
74
75 my $action = param('a') || "step_1";
76
77 my @actions = (
78 undef, \&step_1, \&step_2, \&step_3, \&step_4, \&step_5
79 );
80
81 if( $action =~ /^step_(\d)$/ and defined $actions[$1] ){
82
83 $actions[$1]->();
84
85 } else {
86
87 step_0();
88
89 }
90 }
91
92
93
94 # step_mistake( errormessage )
95 # Generiert eine Fehlermeldung und leitet sie an template() weiter
96 #----------------------------------
97 sub step_mistake {
98
99 my $message = shift || 'no message given (software error)';
100
101 template( 'Setup: Fehler' , '' , 'Fehler' ,
102
103 p(
104 span({-style=>'font-weight:bold;color:darkred'},$message),
105 (br() x 2),
106 'Bitte gehen Sie zurück und beheben Sie den Fehler!',
107 (br() x 2),
108 a({-href=>'javascript:history.go(-1)'},'Zurück')
109 )
110 );
111 }
112