summaryrefslogtreecommitdiff
path: root/FS/FS/part_export/status_shellcommands.pm
diff options
context:
space:
mode:
authorivan <ivan>2012-02-09 08:39:24 +0000
committerivan <ivan>2012-02-09 08:39:24 +0000
commite11671629ab9738a106c92d291c4a1e1b084f0fb (patch)
tree02f61ee8fbd6e43242fdeb99dc230e6bf2de96c0 /FS/FS/part_export/status_shellcommands.pm
parentf1bf0c7fa7486b919f527d319afe276ff7f29aea (diff)
add status_shellcommands export, RT#15987
Diffstat (limited to 'FS/FS/part_export/status_shellcommands.pm')
-rw-r--r--FS/FS/part_export/status_shellcommands.pm48
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;