diff options
-rwxr-xr-x | kolab_wizard/Kolab.pm | 155 |
1 files changed, 76 insertions, 79 deletions
diff --git a/kolab_wizard/Kolab.pm b/kolab_wizard/Kolab.pm index 35944e89..88c6af17 100755 --- a/kolab_wizard/Kolab.pm +++ b/kolab_wizard/Kolab.pm @@ -1,9 +1,8 @@ #!/usr/bin/perl - +# # Drakwizard - -# Copyright (C) 2002 Arnaud Desmons <adesmons@mandrakesoft.com> # Copyright (C) 2003 Florent Villard <warly@mandrakesoft.com> +# Copyright (C) 2004 Antoine Ginies <aginies -ateu_ mandrakesoft.com> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -19,86 +18,87 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -package Kolab; +package MDK::Wizard::Kolab; use strict; use common; use MDK::Wizard::IFCFG; +use MDK::Wizard::Wizcommon; + +my $wiz = new MDK::Wizard::Wizcommon; + +my $HOSTNAME = chomp_(`hostname`); +my $IPSERVER = $wiz->{net}->itf_get("IPADDR"); +if (!$IPSERVER) { + my $interface = 'eth0'; + ($IPSERVER) = `/sbin/ip addr show dev $interface` =~ /^\s*inet\s+(\d+\.\d+\.\d+\.\d+)/m; +} +my $DOMAINNAME = chomp_(`domainname`); -my $wiz = new Wizcommon; -my $o = { +my $o = { name => N("Kolab configuration wizard"), - var => { - ip1 => '', - ip2 => '' + init => sub { + if (member($DOMAINNAME, qw(localdomain (none)))) { + return 0, N("You need to readjust your domainname, not equal to localdomain or none. Please launch drakconnect to adjust it.") + } + 1 }, - needed_packages => [ 'kolab-server' ], - defaultimage => $ENV{__WIZ_HOME__}, - }; + var => { + HOSTNAME => $HOSTNAME, + ip1 => $IPSERVER, + maildomain => $DOMAINNAME, + password => '', + }, +# needed_rpm => [ 'kolab-server', 'postfix', 'openldap-servers', 'proftpd' ], + defaultimage => $ENV{__WIZ_HOME__}, +}; -$o->{pages} = { - welcome => { - name => "Welcome to the Kolab Groupware server configuration Wizard\n\n" . "\n\n", - no_back => 1, - next => 'hostname' - }, - hostname => { - name => "Hostname\n\n" . "\n\n", - pre => sub { - $o->{var}{hostname} ||= f1(); - }, - post => \&check_not_empty, - data => [ - { label => 'Hostname', val => \$o->{var}{ip1} }, - ], - next => 'maildomain' - }, - maildomain => { - name => "Mail domain\n\n" . "\n\n", - pre => sub { - $o->{var}{maildomain} ||= f1(); - }, - post => \&check_not_empty, - data => [ - { label => 'Mail domain', val => \$o->{var}{ip1} }, - ], - next => 'password' - }, - password => { - name => "Password\n\n" . "\n\n", - pre => sub { - $o->{var}{password} ||= ''; - }, - post => \&check_password, - data => [ - { label => 'Password', val => \$o->{var}{password} }, - { label => 'Password again', val => \$o->{var}{password2} }, - ], - next => 'summary' - }, - warning => { - name => N("Warning.") . "\n\n", - next => 'summary' - }, - error => { - name => N("Error.") . "\n\n", - next => 'config' - }, - summary => { - name => "\n\n" . "\n\n", - data => [ - { label => 'Hostname', fixed_val => \$o->{var}{hostname} }, - { label => '' }, - { label => 'Mail domain', fixed_val => \$o->{var}{maildomain} }, - ], - post => \&do_it, - next => 'end' - }, - end => { - name => N("Congratulations") . "\n\n" . "The kolab server is now configured and running. Log in as 'manager' with the password you entered.", - end => 1, - next => 0 +$o->{pages} = { + welcome => { + name => N("Welcome to the Kolab Groupware server configuration Wizard."), + no_back => 1, + next => 'hostname' + }, + hostname => { + name => N("Hostname"), + data => [ + { label => N("Hostname:"), val => \$o->{var}{HOSTNAME} }, + { label => N("Mail domain:"), val => \$o->{var}{maildomain} }, + ], + next => 'password' + }, + password => { + name => N("Password"), + data => [ + { label => N("Password:"), val => \$o->{var}{password} }, + { label => N("Password again:"), val => \$o->{var}{password2} }, + ], + post => \&check_password, + next => 'summary' + }, + warning => { + name => N("Warning.") . "\n\n", + next => 'summary' + }, + error => { + name => N("Error.") . "\n\n", + next => 'config' + }, + summary => { + name => N("The wizard will now configured Kolab server with this parameters"), + data => [ + { label => N("Hostname:"), fixed_val => \$o->{var}{HOSTNAME} }, + { label => N("Password:"), fixed_val => \$o->{var}{password} }, + { label => N("Mail domain:"), fixed_val => \$o->{var}{maildomain} }, + ], + post => \&do_it, + next => 'end' + }, + end => { + name => N("Congratulations") . "\n\n" . N("The kolab server is now configured and running. Log in as 'manager' with the password you entered."), + end => 1, + next => 0 }, }; @@ -110,16 +110,13 @@ sub new { } sub check_password { - + $o->{var}{password} ne $o->{var}{password2} or return 'passwd'; } -sub check_not_empty { - -} sub do_it { $::testing or return; - + print ".....\n"; } 1; |