updated hashes 'n stuff for FS::part_export::sqlmail
authorkhoff <khoff>
Fri, 31 May 2002 00:22:09 +0000 (00:22 +0000)
committerkhoff <khoff>
Fri, 31 May 2002 00:22:09 +0000 (00:22 +0000)
FS/FS/part_export.pm

index 08e436d..14e4676 100644 (file)
@@ -370,7 +370,8 @@ sub rebless {
   my $self = shift;
   my $exporttype = $self->exporttype;
   my $class = ref($self). "::$exporttype";
   my $self = shift;
   my $exporttype = $self->exporttype;
   my $class = ref($self). "::$exporttype";
-  eval "use $class;" or die $@;
+#  eval "use $class;" or die $@;
+  eval "use $class;";
   bless($self, $class);
 }
 
   bless($self, $class);
 }
 
@@ -465,6 +466,12 @@ Returns the applicable I<svcdb> for an I<exporttype>.
 
 =cut
 
 
 =cut
 
+# This subroutine should be modified or removed.  In its present form, it
+# imposes the arbitrary restriction that no export type can be associated 
+# with more than one svcdb.  The only place it's used is in edit/part_svc.cgi
+# to generate the list of allowed exports, which can be done more cleanly by 
+# export_info anyway.
+
 sub exporttype2svcdb {
   my $exporttype = $_[0];
   foreach my $svcdb ( keys %exports ) {
 sub exporttype2svcdb {
   my $exporttype = $_[0];
   foreach my $svcdb ( keys %exports ) {
@@ -545,6 +552,11 @@ tie my %bind_slave_options, 'Tie::IxHash',
                      default => '/etc/bind/named.conf' },
 ;
 
                      default => '/etc/bind/named.conf' },
 ;
 
+tie my %sqlmail_options, 'Tie::IxHash',
+  'datasrc'  => { label=>'DBI data source' },
+  'username' => { label=>'Database username' },
+  'password' => { label=>'Database password' },
+;
 
 
 #export names cannot have dashes...
 
 
 #export names cannot have dashes...
@@ -584,6 +596,14 @@ tie my %bind_slave_options, 'Tie::IxHash',
       'notes' => 'Real-time export of radcheck, radreply and usergroup tables to any SQL database for <a href="http://www.freeradius.org/">FreeRADIUS</a> or <a href="http://radius.innercite.com/">ICRADIUS</a>.  Use <a href="../docs/man/bin/freeside-sqlradius-reset">freeside-sqlradius-reset</a> to delete and repopulate the tables from the Freeside database.  See the <a href="http://search.cpan.org/doc/TIMB/DBI-1.23/DBI.pm">DBI documentation</a> and the <a href="http://search.cpan.org/search?mode=module&query=DBD%3A%3A">documentation for your DBD</a> for the exact syntax of a DBI data source.  If using <a href="http://www.freeradius.org/">FreeRADIUS</a> 0.5 or above, make sure your <b>op</b> fields are set to allow NULL values.',
     },
 
       'notes' => 'Real-time export of radcheck, radreply and usergroup tables to any SQL database for <a href="http://www.freeradius.org/">FreeRADIUS</a> or <a href="http://radius.innercite.com/">ICRADIUS</a>.  Use <a href="../docs/man/bin/freeside-sqlradius-reset">freeside-sqlradius-reset</a> to delete and repopulate the tables from the Freeside database.  See the <a href="http://search.cpan.org/doc/TIMB/DBI-1.23/DBI.pm">DBI documentation</a> and the <a href="http://search.cpan.org/search?mode=module&query=DBD%3A%3A">documentation for your DBD</a> for the exact syntax of a DBI data source.  If using <a href="http://www.freeradius.org/">FreeRADIUS</a> 0.5 or above, make sure your <b>op</b> fields are set to allow NULL values.',
     },
 
+    'sqlmail' => {
+      'desc' => 'Real-time export to SQL-backed mail server',
+      'options' => \%sqlmail_options,
+      'nodomain' => 'Y',
+      'notes' => 'Database schema can be made to work with Courier IMAP and
+ Exim.  Others could work but are untested.',
+    },
+
     'cyrus' => {
       'desc' => 'Real-time export to Cyrus IMAP server',
       'options' => \%cyrus_options,
     'cyrus' => {
       'desc' => 'Real-time export to Cyrus IMAP server',
       'options' => \%cyrus_options,
@@ -627,12 +647,28 @@ tie my %bind_slave_options, 'Tie::IxHash',
       'notes' => 'bind export notes (secondary munge) File::Rsync dependancy, run bind.export',
     },
 
       'notes' => 'bind export notes (secondary munge) File::Rsync dependancy, run bind.export',
     },
 
+    'sqlmail' => {
+      'desc' => 'Real-time export to SQL-backed mail server',
+      'options' => \%sqlmail_options,
+      'nodomain' => 'Y',
+      'notes' => 'Database schema can be made to work with Courier IMAP and
+ Exim.  Others could work but are untested.',
+    },
+
 
   },
 
   'svc_acct_sm' => {},
 
 
   },
 
   'svc_acct_sm' => {},
 
-  'svc_forward' => {},
+  'svc_forward' => {
+    'sqlmail' => {
+      'desc' => 'Real-time export to SQL-backed mail server',
+      'options' => \%sqlmail_options,
+      'nodomain' => 'Y',
+      'notes' => 'Database schema can be made to work with Courier IMAP and
+ Exim.  Others could work but are untested.',
+    },
+  },
 
   'svc_www' => {},
 
 
   'svc_www' => {},