diff options
author | ivan <ivan> | 2010-08-07 07:39:06 +0000 |
---|---|---|
committer | ivan <ivan> | 2010-08-07 07:39:06 +0000 |
commit | b3205ddf480401284a5fc4ccbcb45d9c42b0bcf9 (patch) | |
tree | 050841c8f10d32f58c7009890c0777ce78c017fb /FS | |
parent | 82970ec1511c7bbb892eb296f3c0358480b77ba6 (diff) |
communigate phase 3: RPOP/acct_snarf, RT#7515
Diffstat (limited to 'FS')
-rw-r--r-- | FS/FS/Mason.pm | 1 | ||||
-rw-r--r-- | FS/FS/Schema.pm | 18 | ||||
-rw-r--r-- | FS/FS/acct_snarf.pm | 35 |
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 |