#!/usr/bin/perl # Drakwizard # Copyright (C) 2002 Arnaud Desmons # Copyright (C) 2003 Florent Villard # # 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 # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # 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; use strict; use common; use MDK::Wizard::IFCFG; my $wiz = new Wizcommon; my $o = { name => N("Kolab configuration wizard"), var => { ip1 => '', ip2 => '' }, needed_packages => [ 'kolab-server' ], 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 }, }; sub new { my ($class) = @_; bless { o => $o, }, $class; } sub check_password { } sub check_not_empty { } sub do_it { $::testing or return; } 1;