summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorivan <ivan>2010-08-07 07:39:06 +0000
committerivan <ivan>2010-08-07 07:39:06 +0000
commitb3205ddf480401284a5fc4ccbcb45d9c42b0bcf9 (patch)
tree050841c8f10d32f58c7009890c0777ce78c017fb /FS
parent82970ec1511c7bbb892eb296f3c0358480b77ba6 (diff)
communigate phase 3: RPOP/acct_snarf, RT#7515
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/Mason.pm1
-rw-r--r--FS/FS/Schema.pm18
-rw-r--r--FS/FS/acct_snarf.pm35
3 files changed, 48 insertions, 6 deletions
diff --git a/FS/FS/Mason.pm b/FS/FS/Mason.pm
index bcf727e3c..2a4b42ffe 100644
--- a/FS/FS/Mason.pm
+++ b/FS/FS/Mason.pm
@@ -249,6 +249,7 @@ if ( -e $addl_handler_use_file ) {
use FS::rate_time_interval;
use FS::msg_template;
use FS::part_tag;
+ use FS::acct_snarf;
# Sammath Naur
if ( $FS::Mason::addl_handler_use ) {
diff --git a/FS/FS/Schema.pm b/FS/FS/Schema.pm
index 557ee6295..d7d5a0413 100644
--- a/FS/FS/Schema.pm
+++ b/FS/FS/Schema.pm
@@ -2171,12 +2171,18 @@ sub tables_hashref {
'acct_snarf' => {
'columns' => [
- 'snarfnum', 'int', '', '', '', '',
- 'svcnum', 'int', '', '', '', '',
- 'machine', 'varchar', '', 255, '', '',
- 'protocol', 'varchar', '', $char_d, '', '',
- 'username', 'varchar', '', $char_d, '', '',
- '_password', 'varchar', '', $char_d, '', '',
+ 'snarfnum', 'serial', '', '', '', '',
+ 'snarfname', 'varchar', 'NULL', $char_d, '', '',
+ 'svcnum', 'int', '', '', '', '',
+ 'machine', 'varchar', '', 255, '', '',
+ 'protocol', 'varchar', '', $char_d, '', '',
+ 'username', 'varchar', '', $char_d, '', '',
+ '_password', 'varchar', '', $char_d, '', '',
+ 'check_freq', 'int', 'NULL', '', '', '',
+ 'leave', 'char', 'NULL', 1, '', '',
+ 'apop', 'char', 'NULL', 1, '', '',
+ 'tls', 'char', 'NULL', 1, '', '',
+ 'mailbox', 'varchar', 'NULL', $char_d, '', '',
],
'primary_key' => 'snarfnum',
'unique' => [],
diff --git a/FS/FS/acct_snarf.pm b/FS/FS/acct_snarf.pm
index b4e88bfc9..fb26cea06 100644
--- a/FS/FS/acct_snarf.pm
+++ b/FS/FS/acct_snarf.pm
@@ -2,6 +2,7 @@ package FS::acct_snarf;
use strict;
use vars qw( @ISA );
+use Tie::IxHash;
use FS::Record;
@ISA = qw( FS::Record );
@@ -35,6 +36,8 @@ fields are currently supported:
=item snarfnum - primary key
+=item snarfname - Label
+
=item svcnum - Account (see L<FS::svc_acct>)
=item machine - external machine to download mail from
@@ -100,11 +103,17 @@ sub check {
my $self = shift;
my $error =
$self->ut_numbern('snarfnum')
+ || $self->ut_textn('snarfname') #alphasn?
|| $self->ut_number('svcnum')
|| $self->ut_foreign_key('svcnum', 'svc_acct', 'svcnum')
|| $self->ut_domain('machine')
|| $self->ut_alphan('protocol')
|| $self->ut_textn('username')
+ || $self->ut_numbern('check_freq')
+ || $self->ut_enum('leave', [ '', 'Y' ])
+ || $self->ut_enum('apop', [ '', 'Y' ])
+ || $self->ut_enum('tls', [ '', 'Y' ])
+ || $self->ut_alphan('mailbox')
;
return $error if $error;
@@ -114,6 +123,32 @@ sub check {
''; #no error
}
+sub check_freq_labels {
+
+ tie my %hash, 'Tie::IxHash',
+ 0 => 'Never',
+ 60 => 'minute',
+ 120 => '2 minutes',
+ 180 => '3 minutes',
+ 300 => '5 minutes',
+ 600 => '10 minutes',
+ 900 => '15 minutes',
+ 1800 => '30 minutes',
+ 3600 => 'hour',
+ 7200 => '2 hours',
+ 10800 => '3 hours',
+ 21600 => '6 hours',
+ 43200 => '12 hours',
+ 86400 => 'day',
+ 172800 => '2 days',
+ 259200 => '3 days',
+ 604800 => 'week',
+ 1000000000 => 'Disabled',
+ ;
+
+ \%hash;
+}
+
=back
=head1 BUGS