App-Siesh
view release on metacpan or search on metacpan
lib/Net/ManageSieve/Siesh.pm view on Meta::CPAN
my ( $self, @args ) = @_;
if ( $self->debug() ) {
eval {
require IO::Socket::SSL;
IO::Socket::SSL->import('debug3');
1;
} or do {
die "Cannot load module IO::Socket::SSL\n";
}
}
return $self->SUPER::starttls(@args);
}
sub movescript {
my ( $self, $source, $target ) = @_;
my $is_active = $self->is_active($source);
## We can't delete a active script, so we just deactivate it ...
$self->deactivate() if $is_active;
$self->copyscript( $source, $target );
lib/Net/ManageSieve/Siesh.pm view on Meta::CPAN
my ( $self, $name, $file ) = @_;
my $script = $self->getscript($name);
open( my $fh, '>', $file );
print {$fh} $script;
return close $fh;
}
sub listscripts {
my ( $self, $unactive ) = @_;
my (@scripts);
@scripts = @{ $self->SUPER::listscripts() };
my $active = delete $scripts[-1];
if ($unactive) {
@scripts = grep { $_ ne $active } @scripts;
}
return @scripts;
}
sub deletescript {
my ( $sieve, @scripts ) = @_;
for my $script (@scripts) {
$sieve->SUPER::deletescript($script);
}
return 1;
}
sub view_script {
my ( $sieve, $script ) = @_;
my ( $fh, $filename ) = $sieve->temp_scriptfile($script);
unless ($fh) { die $sieve->error() . "\n" }
my $pager = $ENV{'PAGER'} || "less";
no warnings 'exec';
lib/Net/ManageSieve/Siesh.pm view on Meta::CPAN
return $self->setactive("");
}
sub is_active {
my ( $self, $script ) = @_;
return $self->get_active() eq $script;
}
sub get_active {
my ($self) = @_;
return $self->SUPER::listscripts()->[-1];
}
sub script_exists {
my ( $self, $scriptname ) = @_;
my %script = map { $_ => 1 } $self->listscripts;
return defined( $script{$scriptname} );
}
1; # End of Net::ManageSieve::Siesh
( run in 1.008 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )