diff options
-rw-r--r-- | FS/FS/part_export/status_shellcommands.pm | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/FS/FS/part_export/status_shellcommands.pm b/FS/FS/part_export/status_shellcommands.pm new file mode 100644 index 0000000..88ddad7 --- /dev/null +++ b/FS/FS/part_export/status_shellcommands.pm @@ -0,0 +1,48 @@ +package FS::part_export::status_shellcommands; +use base qw( FS::part_export::shellcommands ); + +use vars qw( %info ); +use Tie::IxHash; + +tie my %options, 'Tie::IxHash', + 'user' => { label=>'Remote username', default=>'root' }, + + 'spam_enable' => { label=>'Spam filtering enable command', }, + 'spam_disable' => { label=>'Spam filtering disable command', }, + 'spam_tag2_level' => { label=>'Spam set tag2 level command', }, + 'spam_kill_level' => { label=>'Spam set kill level command', }, + + 'ignore_all_output' => { + label => 'Ignore all output and errors from the command', + type => 'checkbox', + }, +; + +%info = ( + 'svc' => 'svc_acct', + 'desc' => 'Set mailbox status via shell commands', + 'options' => \%options, + 'nodomain' => '', + 'notes' => <<END +Set mailbox status information (vacation and spam settings) with shell commands. +END +); + +#don't want to inherit these from shellcommands +sub _export_insert {} +sub _export_replace {} +sub _export_delete {} +sub _export_suspend {} +sub _export_unsuspend {} + +sub export_setstatus { + my($self, $svc_acct, $hashref) = @_; + + $self->_export_command('spam_enable', $svc_acct->email); + + $self->_export_command('spam_tag2_level', $svc_acct->email, $hashref->{'spam_tag2_level'} ); + $self->_export_command('spam_kill_level', $svc_acct->email, $hashref->{'spam_kill_level'} ); + +} + +1; |