--- a/qf.cgi Fri Oct 05 12:37:50 2012 +0200
+++ b/qf.cgi Fri Oct 05 12:51:03 2012 +0200
@@ -24,12 +24,13 @@
use warnings;
use CGI;
+
#use Net::Sieve;
use Net::ManageSieve;
-my $host = 'localhost';
-my $verify_crt = 0;
-my $requiretls = 'require';
+my $host = 'localhost';
+my $verify_crt = 0;
+my $requiretls = 'require';
my $script_name = 'ius';
my $status = 'OK';
@@ -38,7 +39,10 @@
sub error {
my $h;
- $status = ( ref $_[0] eq 'HASH' and $h = shift and defined $h->{status} ) ? delete $h->{status} : 'Interner Fehler';
+ $status =
+ (ref $_[0] eq 'HASH' and $h = shift and defined $h->{status})
+ ? delete $h->{status}
+ : 'Interner Fehler';
warn @_ if defined @_ and @_;
exit -1;
@@ -57,7 +61,7 @@
my ($sieve, $script) = @_;
my $scripts = $sieve->listscripts
- or error "Can't list scripts: $@";
+ or error "Can't list scripts: $@";
return $script ~~ @{$scripts};
}
@@ -66,7 +70,7 @@
my ($sieve, $script) = @_;
my $scripts = $sieve->listscripts
- or error "Can't list scripts: $@";
+ or error "Can't list scripts: $@";
return $script eq $scripts->[-1];
}
@@ -85,63 +89,80 @@
}
EOC
-my $q = new CGI;
+my $q = new CGI;
my $title = 'Mailumleitung einrichten';
-
-print $q->header( -charset => 'UTF-8' );
+print $q->header(-charset => 'UTF-8');
print $q->start_html(
-title => $title,
-style => { -code => $css },
-onload => q{document.forms['theform'].elements['user'].focus();}
),
- $q->h3( { -id => 'header' }, $title ),
+ $q->h3({ -id => 'header' }, $title),
$q->hr;
my $p;
$p->{$_} = $q->param($_) for qw(user pass address keep add del);
-print $q->start_form( -id => 'theform' ),
+print $q->start_form(-id => 'theform'),
$q->table(
- $q->Tr( $q->td('Ihr Nutzername'), $q->td( $q->textfield('user') ) ),
- $q->Tr( $q->td('Ihr Passwort'), $q->td( $q->password_field('pass') ) ),
- $q->Tr( $q->td('Umleitung zu'), $q->td( $q->textfield('address') ) ),
- $q->Tr( $q->td( $q->checkbox(
- -name => 'keep',
- -label => 'Kopie behalten?',
- -checked => 1) ) ),
- $q->Tr( $q->td( $q->submit( { -name => 'add', -value => 'einrichten' } ) ),
- $q->td( $q->submit( { -name => 'del', -value => 'entfernen' } ) )
+ $q->Tr($q->td('Ihr Nutzername'), $q->td($q->textfield('user'))),
+ $q->Tr($q->td('Ihr Passwort'), $q->td($q->password_field('pass'))),
+ $q->Tr($q->td('Umleitung zu'), $q->td($q->textfield('address'))),
+ $q->Tr(
+ $q->td(
+ $q->checkbox(
+ -name => 'keep',
+ -label => 'Kopie behalten?',
+ -checked => 1
+ )
+ )
+ ),
+ $q->Tr(
+ $q->td($q->submit({ -name => 'add', -value => 'einrichten' })),
+ $q->td($q->submit({ -name => 'del', -value => 'entfernen' }))
),
),
$q->end_form;
-error( { status => 'Bitte geben Sie Ihren Nutzernamen an.' } ) unless defined $p->{user} and $p->{user} ne '';
-error( { status => 'Bitte geben Sie Ihr Passwort an.' } ) unless defined $p->{pass} and $p->{pass} ne '';
+error({ status => 'Bitte geben Sie Ihren Nutzernamen an.' })
+ unless defined $p->{user} and $p->{user} ne '';
+error({ status => 'Bitte geben Sie Ihr Passwort an.' })
+ unless defined $p->{pass} and $p->{pass} ne '';
-my $s = Net::ManageSieve->new(host => $host, tls => $requiretls ) or error "Can't connect sieve service";
-error( { status => 'Anmeldung fehlgeschlagen.' }, "auth failed: $@" ) unless ($s->login($p->{user}, $p->{pass}));
+my $s = Net::ManageSieve->new(host => $host, tls => $requiretls)
+ or error "Can't connect sieve service";
+error({ status => 'Anmeldung fehlgeschlagen.' }, "auth failed: $@")
+ unless ($s->login($p->{user}, $p->{pass}));
-if ( defined $p->{add} and $p->{add} ne '' ) {
+if (defined $p->{add} and $p->{add} ne '') {
- error( { status => 'Bitte geben Sie eine Umleitungsaddresse an.' } ) unless defined $p->{address} and $p->{address} ne '';
- error "Can't putscript: $@" unless $s->putscript($script_name, redirect($p->{address}, $p->{keep}));
+ error({ status => 'Bitte geben Sie eine Umleitungsaddresse an.' })
+ unless defined $p->{address} and $p->{address} ne '';
+ error "Can't putscript: $@"
+ unless $s->putscript($script_name, redirect($p->{address}, $p->{keep}));
error "Can't setactive: $@" unless $s->setactive($script_name);
$status = 'Umleitung eingerichtet.';
-} elsif ( defined $p->{del} and $p->{del} ne '' ) {
+} elsif (defined $p->{del} and $p->{del} ne '') {
- error "Can't setactive: $@" if script_isactive($s, $script_name) and not $s->setactive();
- error "Can't deletescript: $@" if script_exists($s, $script_name) and not $s->deletescript($script_name);
+ error "Can't setactive: $@"
+ if script_isactive($s, $script_name)
+ and not $s->setactive();
+ error "Can't deletescript: $@"
+ if script_exists($s, $script_name)
+ and not $s->deletescript($script_name);
$status = 'Umleitung entfernt.';
-} else { error "Nothing to do!"; }
+} else {
+ error "Nothing to do!";
+}
exit 0;
END {
defined $s and $s->logout;
- print $q->hr, $q->p( $status ), $q->end_html;
+ print $q->hr, $q->p($status), $q->end_html;
}
__END__