diff options
Diffstat (limited to 'news_wizard/Inn.pm')
-rwxr-xr-x | news_wizard/Inn.pm | 160 |
1 files changed, 0 insertions, 160 deletions
diff --git a/news_wizard/Inn.pm b/news_wizard/Inn.pm deleted file mode 100755 index 0cd3e06f..00000000 --- a/news_wizard/Inn.pm +++ /dev/null @@ -1,160 +0,0 @@ -#!/usr/bin/perl - -# Drakwizard - -# Copyright (C) 2003 Mandrakesoft -# -# Author: Florent Villard <warly@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 -# 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 MDK::Wizard::Inn; -use strict; - -use common; -require MDK::Wizard::Wizcommon; -use MDK::Wizard::Varspaceval; - -my $wiz = new MDK::Wizard::Wizcommon; - -my $o = { - name => N("News Wizard"), - var => { - news_server => '', - news_freq => '' - }, - needed_rpm => [ 'inn' ], - defaultimage => "$ENV{__WIZ_HOME__}news_wizard/images/news.png" - }; - -$o->{pages} = { - welcome => { - name => N("Welcome to the News Wizard") . "\n\n" . N("This wizard will help you configuring the Internet News services for your network."), - no_back => 1, - next => 'ask_news_server' - }, - ask_news_server => { - name => N("News server") . "\n\n" . N("The news server name is the name of the host providing the Internet news to your network; the name is usually provided by your provider.") . "\n\n" . N("Internet host names must be in the form \"host.domain.domaintype\"; for example, if your provider is \"provider.com\", the Internet news server is usually \"news.provider.com\"."), - pre => sub { - $o->{var}{news_server} ||= get_server(); - }, - data => [ - { label => N("News server name:"), val => \$o->{var}{news_server} }, - ], - post => sub { $o->{var}{news_server} || 'error_in_news_server' }, - next => 'ask_news_freq' - }, - ask_news_freq => { - name => N("Polling period") . "\n\n" . N("Your server will regularly poll the News server to obtain the latest Internet News; the polling period sets the interval between two consecutive attempts.") . "\n\n" . N("Depending on the kind of Internet connection you have, an appropriate polling period can change between 6 and 24 hours."), - pre => sub { - $o->{var}{news_freq} ||= 24; - }, - data => [ - { label => N("Polling period (hours):"), val => \$o->{var}{news_freq} }, - ], - post => \&check_valid_hours, - next => 'summary' - }, - warning => { - name => N("Warning."), - ignore => 1, - next => 'summary' - }, - error_in_news_server => { - name => N("Error.") . "\n\n" . N("The news server name is not correct"), - ignore => 1, - next => 'ask_news_server' - }, - error_in_polling_time => { - name => N("Error.") . "\n\n" . N("The polling period is not correct"), - ignore => 1, - next => 'ask_news_freq' - }, - summary => { - name => N("Configuring the Internet News") . "\n\n" . N("The wizard collected the following parameters needed to configure your Internet News service:") . "\n\n" . N("To accept these values, and configure your server, click the next button or use the back button to correct them."), - data => [ - { label => N("News server:"), val_ref => \$o->{var}{news_server} }, - { label => N("Polling interval:"), val_ref => \$o->{var}{news_freq} }, - ], - post => \&do_it, - next => 'end' - }, - end => { - name => N("Congratulations") . "\n\n" . N("The wizard successfully configured your Internet News service of your server."), - end => 1, - next => 0 - }, -}; - -sub new { - my ($class) = @_; - bless $o, $class; -} - -sub check_valid_hours { - $o->{var}{news_freq} =~ /^\d+$/ or return 'error_in_polling_time' -} - -sub normalize_freq { - my ($freq) = @_; - - if ($freq =~ /(\d*)/) { - $freq = $1; - } - if ($freq <= 0) { - $freq = 0; - } - if ($freq >= 24) { - $freq = 24; - } - $freq; -} - -sub get_server { - my %mdk = MDK::Wizard::Varspaceval->get("/etc/leafnode/config"); - $mdk{server} -} - -sub normalize_server { - my ($server) = @_; - $server -} - -sub do_it { - $::testing and return; - $o->{var}{news_freq} and my $freq = normalize_freq($o->{var}{news_freq}) or - die "freq not defined: $!"; - $o->{var}{news_server} and my $server = normalize_server($o->{var}{news_server}) or - die "server not defined: $!"; - my $file = "/etc/leafnode/config"; - -d "/etc/leafnode" or mkdir "/etc/leafnode"; - output($file, map { - s|__server__|$server|g; - $_; - } cat_("__WIZ_HOME__/news_wizard/scripts/config.default")); - $file = "/var/spool/cron/news"; - my $file_c = "/etc/leafnode/crontab"; - if (-f $file) { - MDK::Common::cp_af($file, $file_c); - MDK::Common::cp_af($file, $file . ".orig"); - } - output($file_c, map { - s|__freq__|$freq|g; - $_; - } cat_("__WIZ_HOME__/news_wizard/scripts/news.cron")); - system("crontab -u news /etc/leafnode/crontab"); -} - -1; |