documentation and webdemo updates
authorivan <ivan>
Mon, 23 Apr 2001 12:40:31 +0000 (12:40 +0000)
committerivan <ivan>
Mon, 23 Apr 2001 12:40:31 +0000 (12:40 +0000)
35 files changed:
FS/FS.pm
fs_webdemo/registerd.Pg [new file with mode: 0755]
htdocs/docs/man/FS.html
htdocs/docs/man/FS/CGI.html
htdocs/docs/man/FS/Conf.html
htdocs/docs/man/FS/Record.html
htdocs/docs/man/FS/UI/Base.html
htdocs/docs/man/FS/UI/CGI.html
htdocs/docs/man/FS/UI/Gtk.html
htdocs/docs/man/FS/UI/agent.html
htdocs/docs/man/FS/UID.html
htdocs/docs/man/FS/agent.html
htdocs/docs/man/FS/agent_type.html
htdocs/docs/man/FS/cust_bill.html
htdocs/docs/man/FS/cust_bill_pkg.html
htdocs/docs/man/FS/cust_credit.html
htdocs/docs/man/FS/cust_main.html
htdocs/docs/man/FS/cust_main_county.html
htdocs/docs/man/FS/cust_main_invoice.html
htdocs/docs/man/FS/cust_pay.html
htdocs/docs/man/FS/cust_pay_batch.html
htdocs/docs/man/FS/cust_pkg.html
htdocs/docs/man/FS/cust_refund.html
htdocs/docs/man/FS/cust_svc.html
htdocs/docs/man/FS/part_pkg.html
htdocs/docs/man/FS/part_referral.html
htdocs/docs/man/FS/part_svc.html
htdocs/docs/man/FS/pkg_svc.html
htdocs/docs/man/FS/svc_Common.html
htdocs/docs/man/FS/svc_acct.html
htdocs/docs/man/FS/svc_acct_pop.html
htdocs/docs/man/FS/svc_acct_sm.html
htdocs/docs/man/FS/svc_domain.html
htdocs/docs/man/FS/type_pkgs.html
htdocs/docs/schema.html

index 3fd66b1..ed61db4 100644 (file)
--- a/FS/FS.pm
+++ b/FS/FS.pm
@@ -44,8 +44,12 @@ L<FS::svc_acct> - Account (shell, RADIUS, POP3) class
 
 L<FS::svc_domain> - Domain class
 
 
 L<FS::svc_domain> - Domain class
 
+L<FS::domain_record> - DNS zone entries
+
 L<FS::svc_acct_sm> - Vitual mail alias class
 
 L<FS::svc_acct_sm> - Vitual mail alias class
 
+L<FS::svc_www> - Web virtual host class.
+
 L<FS::part_svc> - Service definition class
 
 L<FS::part_pkg> - Package (billing item) definition class
 L<FS::part_svc> - Service definition class
 
 L<FS::part_pkg> - Package (billing item) definition class
@@ -81,8 +85,15 @@ L<FS::cust_credit> - Credit class
 
 L<FS::cust_refund> - Refund class
 
 
 L<FS::cust_refund> - Refund class
 
-L<FS::cust_pay_batch> - Credit card transaction queue
-class
+L<FS::cust_pay_batch> - Credit card transaction queue class
+
+L<FS::prepay_credit> - Prepaid "calling card" credit class.
+
+L<FS::nas> - Network Access Server class
+
+L<FS::port> - NAS port class
+
+L<FS::session> - User login session class
 
 =head2 User Interface classes (under development; not yet usable)
 
 
 =head2 User Interface classes (under development; not yet usable)
 
@@ -111,7 +122,7 @@ The main documentation is in htdocs/docs.
 
 =head1 VERSION
 
 
 =head1 VERSION
 
-$Id: FS.pm,v 1.4 2001-04-22 01:56:14 ivan Exp $
+$Id: FS.pm,v 1.5 2001-04-23 12:40:30 ivan Exp $
 
 =head1 SUPPORT
 
 
 =head1 SUPPORT
 
diff --git a/fs_webdemo/registerd.Pg b/fs_webdemo/registerd.Pg
new file mode 100755 (executable)
index 0000000..a4fd055
--- /dev/null
@@ -0,0 +1,196 @@
+#!/usr/bin/perl -w
+#
+# $Id: registerd.Pg,v 1.1 2001-04-23 12:40:30 ivan Exp $
+
+use strict;
+use vars qw(
+             $freeside_conf
+             $mysql_data
+             $datasrc $user $pass $x
+             $dbh $sth
+             @pw_set @saltset
+             $header $msg
+           );
+            # $freeside_bin $freeside_test 
+            # $cgi $username $name $email $user_pw $crypt_pw 
+#use CGI;
+#use CGI::Carp qw(fatalsToBrowser);
+use DBI;
+use Mail::Internet;
+use Mail::Header;
+use Date::Format;
+
+#$ENV{'PATH'} ='/usr/local/bin:/usr/bin:/usr/ucb:/bin';
+#$ENV{'SHELL'} = '/bin/sh';
+#$ENV{'IFS'} = " \t\n";
+#$ENV{'CDPATH'} = '';
+#$ENV{'ENV'} = '';
+#$ENV{'BASH_ENV'} = '';
+
+#$freeside_bin = '/home/freeside/bin/';
+#$freeside_test = '/home/freeside/test/';
+$freeside_conf = '/usr/local/etc/freeside/';
+
+#$mysql_data = "/var/lib/mysql";
+
+$datasrc = 'DBI:mysql:http_auth';
+$user = "freeside";
+$pass = "maelcolm";
+
+#my(@pw_set)= ( 'a'..'z', 'A'..'Z', '0'..'9', '(', ')', '#', '!', '.', ',' );
+#my(@pw_set)= ( 'a'..'z', 'A'..'Z', '0'..'9' );
+@pw_set = ( 'a'..'z', '0'..'9' );
+@saltset = ( 'a'..'z' , 'A'..'Z' , '0'..'9' , '.' , '/' );
+
+#die "not running as system user freeside"
+#  unless $> == scalar(getpwnam('freeside'));
+die "not running as root user"
+  unless $> == 0;
+
+$dbh = DBI->connect( $datasrc, $user, $pass, {
+       'AutoCommit' => 'true',
+} ) or die "DBI->connect error: $DBI::errstr\n";
+$x = $DBI::errstr; #silly; to avoid "used only once" warning
+
+while ( 1 ) {
+
+  $SIG{HUP} = 'IGNORE';
+  $SIG{INT} = 'IGNORE';
+  $SIG{QUIT} = 'IGNORE';
+  $SIG{TERM} = 'IGNORE';
+  $SIG{TSTP} = 'IGNORE';
+  $SIG{PIPE} = 'IGNORE';
+
+  $sth = $dbh->prepare("LOCK TABLES mysql_auth WRITE");
+  $sth->execute or die $sth->errstr;
+
+  $sth = $dbh->prepare(
+    'SELECT * FROM mysql_auth WHERE status = "unconfigured" OR status = "reconfigure"'
+  );
+  $sth->execute or die $sth->errstr;
+  my $pending = $sth->fetchall_arrayref( {} );
+
+  $sth = $dbh->prepare(
+    'UPDATE mysql_auth SET status = "locked" WHERE status = "unconfigured" OR status = "reconfigure"'
+  );
+  $sth->execute or die $sth->errstr;
+
+  $sth = $dbh->prepare("UNLOCK TABLES");
+  $sth->execute or die $sth->errstr;
+
+  #
+
+  foreach my $row ( @{$pending} ) {
+
+    my $username = $row->{'username'};
+    my $email = $row->{'passwd'};
+    my $status = $row->{'status'};
+
+    system("/usr/bin/createdb --username freeside demo_$username >/dev/null");
+
+    system "psql -U freeside demo_$username </usr/local/etc/freeside/demo_template.Pg";
+
+    mkdir "${freeside_conf}conf.DBI:Pg:host=localhost;dbname=demo_$username", 0755;    
+    system "cp -pr ${freeside_conf}conf.DBI:Pg:host=localhost\\;dbname=demo_template/* ".
+           "${freeside_conf}conf.DBI:Pg:host=localhost\\;dbname=demo_$username";
+
+    mkdir "${freeside_conf}counters.DBI:Pg:host=localhost;dbname=demo_$username", 0755;    
+    system "cp -p ${freeside_conf}counters.DBI:Pg:host=localhost\\;dbname=demo_template/* ".
+           "${freeside_conf}counters.DBI:Pg:host=localhost\\;dbname=demo_$username";
+    chown scalar(getpwnam('freeside')), scalar(getgrnam('freeside')),
+           "${freeside_conf}counters.DBI:Pg:host=localhost;dbname=demo_$username";
+
+    system "cp -p ${freeside_conf}dbdef.DBI:Pg:host=localhost\\;dbname=demo_template ".
+           "${freeside_conf}dbdef.DBI:Pg:host=localhost\\;dbname=demo_$username";
+
+    open(INVOICE_FROM, ">${freeside_conf}conf.DBI:Pg:host=localhost;dbname=demo_$username/invoice_from")
+      or die "Can\'t open ${freeside_conf}conf.DBI:Pg:host=localhost;dbname=demo_$username/invoice_from: $!";
+    print INVOICE_FROM "$email\n";
+    close INVOICE_FROM;
+
+    open(LPR, ">${freeside_conf}conf.DBI:Pg:host=localhost;dbname=demo_$username/lpr")
+      or die "Can\'t open ${freeside_conf}conf.DBI:Pg:host=localhost;dbname=demo_$username/lpr: $!";
+    print LPR "mail $email";
+    close LPR;
+
+    open(FROM, ">${freeside_conf}conf.DBI:Pg:host=localhost;dbname=demo_$username/registries/internic/from")
+      or die "Can\'t open ${freeside_conf}conf.DBI:Pg:host=localhost;dbname=demo_$username/registries/internic/from: $!";
+    print FROM "$email\n";
+    close FROM;
+
+    open(TO, ">${freeside_conf}conf.DBI:Pg:host=localhost;dbname=demo_$username/registries/internic/to")
+      or die "Can\'t open ${freeside_conf}conf.DBI:Pg:host=localhost;dbname=demo_$username/registries/internic/to: $!";
+    print TO "$email\n";
+    close TO;
+
+    open(SECRETS, ">${freeside_conf}secrets.demo_$username")
+      or die "Can\'t open ${freeside_conf}secrets.demo_$username: $!";
+    chown scalar(getpwnam('freeside')), scalar(getgrnam('freeside')),
+          "${freeside_conf}secrets.demo_$username";
+    chmod 0600, "${freeside_conf}secrets.demo_$username";
+    print SECRETS "DBI:Pg:host=localhost;dbname=demo_$username\nfreeside\nmaelcolm\n";
+    close SECRETS;
+
+    open(MAPSECRETS, ">>${freeside_conf}mapsecrets")
+      or die "Can\'t open ${freeside_conf}mapsecrets: $!";
+    print MAPSECRETS "$username secrets.demo_$username\n";
+    close MAPSECRETS;
+
+    my $user_pw = join('',map($pw_set[ int(rand $#pw_set) ], (0..7) ) );
+    my $crypt_pw =
+      crypt($user_pw,$saltset[int(rand(64))].$saltset[int(rand(64))]);
+
+    $sth = $dbh->prepare(
+      qq(UPDATE mysql_auth SET passwd = "$crypt_pw", status = "done" WHERE username = "$username")
+    );
+    $sth->execute or die $sth->errstr;
+
+    if ( $status eq "unconfigured" ) {
+
+      #$ENV{SMTPHOSTS} = "localhost";
+      $ENV{SMTPHOSTS} = "192.168.1.1";
+      $ENV{MAILADDRESS} = 'ivan-fsreg@sisd.com';
+      $ENV{TZ} = "PST8PDT";
+      $header = Mail::Header->new( [
+        'From: ivan-fsreg@sisd.com',
+        "To: $email",
+        'Bcc: ivan-fsreg_bcc@sisd.com',
+        'Sender: ivan-fsreg@sisd.com',
+        'Reply-To: ivan-fsreg@sisd.com',
+        #'Date: '. time2str("%a, %d %b %Y %X %z", time ),
+        'Date: '. time2str("%a, %d %b %Y %X ", time ). "-0800",
+        'Subject: Freeside demo information',
+      ] );
+      $msg = Mail::Internet->new(
+        'Header' => $header,
+        'Body' => [
+      "Hello,\n",
+      "\n",
+      "Your sample Freeside database has been setup.\n",
+      "\n",
+      "Point your web browswer at http://freeside.sisd.com/ and use the following\n",
+      "authentication information:\n",
+      "\n",
+      "Username: $username\n",
+      "Password: $user_pw\n",
+      "\n",
+      "-- \n",
+      "ivan\n",
+                  ]
+      );
+      $msg->smtpsend or die "Can\'t send registration email!";
+    }
+
+  }
+
+  $SIG{HUP} = 'DEFAULT';
+  $SIG{INT} = 'DEFAULT';
+  $SIG{QUIT} = 'DEFAULT';
+  $SIG{TERM} = 'DEFAULT';
+  $SIG{TSTP} = 'DEFAULT';
+  $SIG{PIPE} = 'DEFAULT';
+
+  sleep 5;
+
+}
+
index ab01acf..3d07462 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS - Freeside Perl modules</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS - Freeside Perl modules</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
        <UL>
 
        <UL>
 
-               <LI><A HREF="#Database_metadata_classes">Database metadata classes</A>
-               <LI><A HREF="#Utility_classes">Utility classes</A>
-               <LI><A HREF="#Database_record_classes">Database record classes</A>
-               <LI><A HREF="#User_Interface_classes_under_de">User Interface classes (under development; not yet usable)</A>
-               <LI><A HREF="#Notes">Notes</A>
+               <LI><A HREF="#utility classes">Utility classes</A></LI>
+               <LI><A HREF="#database record classes">Database record classes</A></LI>
+               <LI><A HREF="#user interface classes (under development; not yet usable)">User Interface classes (under development; not yet usable)</A></LI>
+               <LI><A HREF="#notes">Notes</A></LI>
        </UL>
 
        </UL>
 
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#SUPPORT">SUPPORT</A>
-       <LI><A HREF="#AUTHOR">AUTHOR</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
-       <LI><A HREF="#BUGS">BUGS</A>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#support">SUPPORT</A></LI>
+       <LI><A HREF="#author">AUTHOR</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS - Freeside Perl modules
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS - Freeside Perl modules</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-FS is the temporary prefix for many disparate modules written for the
-Freeside ISP billing software. This includes:
-
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<P>FS is the unofficial (i.e. non-CPAN) prefix for the Perl module portion of the
+Freeside ISP billing software.  This includes:</P>
+<P>
+<H2><A NAME="utility classes">Utility classes</A></H2>
+<P><A HREF="././FS/Conf.html">the FS::Conf manpage</A> - Freeside configuration values</P>
+<P><A HREF="././FS/UID.html">the FS::UID manpage</A> - User class (not yet OO)</P>
+<P><A HREF="././FS/CGI.html">the FS::CGI manpage</A> - Non OO-subroutines for the web interface.  This is
+depriciated.  Future development will be focused on the FS::UI user-interface
+classes (see below).</P>
+<P>
+<H2><A NAME="database record classes">Database record classes</A></H2>
+<P><A HREF="././FS/Record.html">the FS::Record manpage</A> - Database record base class</P>
+<P><A HREF="././FS/svc_acct_pop.html">the FS::svc_acct_pop manpage</A> - POP (Point of Presence, not Post
+Office Protocol) class</P>
+<P><A HREF="././FS/part_referral.html">the FS::part_referral manpage</A> - Referral class</P>
+<P><A HREF="././FS/cust_main_county.html">the FS::cust_main_county manpage</A> - Locale (tax rate) class</P>
+<P><A HREF="././FS/svc_Common.html">the FS::svc_Common manpage</A> - Service base class</P>
+<P><A HREF="././FS/svc_acct.html">the FS::svc_acct manpage</A> - Account (shell, RADIUS, POP3) class</P>
+<P><A HREF="././FS/svc_domain.html">the FS::svc_domain manpage</A> - Domain class</P>
+<P><A HREF="././FS/domain_record.html">the FS::domain_record manpage</A> - DNS zone entries</P>
+<P><A HREF="././FS/svc_acct_sm.html">the FS::svc_acct_sm manpage</A> - Vitual mail alias class</P>
+<P><A HREF="././FS/svc_www.html">the FS::svc_www manpage</A> - Web virtual host class.</P>
+<P><A HREF="././FS/part_svc.html">the FS::part_svc manpage</A> - Service definition class</P>
+<P><A HREF="././FS/part_pkg.html">the FS::part_pkg manpage</A> - Package (billing item) definition class</P>
+<P><A HREF="././FS/pkg_svc.html">the FS::pkg_svc manpage</A> - Class linking package (billing item)
+definitions (see <A HREF="././FS/part_pkg.html">the FS::part_pkg manpage</A>) with service definitions
+(see <A HREF="././FS/part_svc.html">the FS::part_svc manpage</A>)</P>
+<P><A HREF="././FS/agent.html">the FS::agent manpage</A> - Agent (reseller) class</P>
+<P><A HREF="././FS/agent_type.html">the FS::agent_type manpage</A> - Agent type class</P>
+<P><A HREF="././FS/type_pkgs.html">the FS::type_pkgs manpage</A> - Class linking agent types (see
+<A HREF="././FS/agent_type.html">the FS::agent_type manpage</A>) with package (billing item) definitions
+(see <A HREF="././FS/part_pkg.html">the FS::part_pkg manpage</A>)</P>
+<P><A HREF="././FS/cust_svc.html">the FS::cust_svc manpage</A> - Service class</P>
+<P><A HREF="././FS/cust_pkg.html">the FS::cust_pkg manpage</A> - Package (billing item) class</P>
+<P><A HREF="././FS/cust_main.html">the FS::cust_main manpage</A> - Customer class</P>
+<P><A HREF="././FS/cust_main_invoice.html">the FS::cust_main_invoice manpage</A> - Invoice destination
+class</P>
+<P><A HREF="././FS/cust_bill.html">the FS::cust_bill manpage</A> - Invoice class</P>
+<P><A HREF="././FS/cust_bill_pkg.html">the FS::cust_bill_pkg manpage</A> - Invoice line item class</P>
+<P><A HREF="././FS/cust_pay.html">the FS::cust_pay manpage</A> - Payment class</P>
+<P><A HREF="././FS/cust_credit.html">the FS::cust_credit manpage</A> - Credit class</P>
+<P><A HREF="././FS/cust_refund.html">the FS::cust_refund manpage</A> - Refund class</P>
+<P><A HREF="././FS/cust_pay_batch.html">the FS::cust_pay_batch manpage</A> - Credit card transaction queue class</P>
+<P><A HREF="././FS/prepay_credit.html">the FS::prepay_credit manpage</A> - Prepaid ``calling card'' credit class.</P>
+<P><A HREF="././FS/nas.html">the FS::nas manpage</A> - Network Access Server class</P>
+<P><A HREF="././FS/port.html">the FS::port manpage</A> - NAS port class</P>
+<P><A HREF="././FS/session.html">the FS::session manpage</A> - User login session class</P>
+<P>
+<H2><A NAME="user interface classes (under development; not yet usable)">User Interface classes (under development; not yet usable)</A></H2>
+<P><A HREF="././FS/UI/Base.html">the FS::UI::Base manpage</A> - User-interface base class</P>
+<P><A HREF="././FS/UI/Gtk.html">the FS::UI::Gtk manpage</A> - Gtk user-interface class</P>
+<P><A HREF="././FS/UI/CGI.html">the FS::UI::CGI manpage</A> - CGI (HTML) user-interface class</P>
+<P><A HREF="././FS/UI/agent.html">the FS::UI::agent manpage</A> - agent table user-interface class</P>
+<P>
+<H2><A NAME="notes">Notes</A></H2>
+<P>To quote perl(1), ``If you're intending to read these straight through for the
+first time, the suggested order will tend to reduce the number of forward
+references.''</P>
 <P>
 <HR>
 <P>
 <HR>
-<H2><A NAME="Database_metadata_classes">Database metadata classes</A></H2>
-<P>
-<A HREF="./FS/dbdef.html">FS::dbdef</A> - Database class
-
-<P>
-<A HREF="./FS/dbdef_table.html">FS::dbdef_table</A> - Database table class
-
-<P>
-<A HREF="./FS/dbdef_column.html">FS::dbdef_column</A> - Database column class
-
-<P>
-<A HREF="./FS/dbdef_colgroup.html">FS::dbdef_colgroup</A> - Database column group class
-
-<P>
-<A HREF="./FS/dbdef_index.html">FS::dbdef_index</A> - Database index class
-
-<P>
-<A HREF="./FS/dbdef_unique.html">FS::dbdef_unique</A> - Database unique index class
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>Freeside is a billing and administration package for Internet Service
+Providers.</P>
+<P>The Freeside home page is at &lt;http://www.sisd.com/freeside&gt;.</P>
+<P>The main documentation is in htdocs/docs.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H2><A NAME="Utility_classes">Utility classes</A></H2>
-<P>
-<A HREF="./FS/SSH.html">FS::SSH</A> - Simple wrappers around ssh and scp commands.
-
-<P>
-<A HREF="./FS/Conf.html">FS::Conf</A> - Freeside configuration values
-
-<P>
-<A HREF="./FS/UID.html">FS::UID</A> - User class (not yet OO)
-
-<P>
-<A HREF="./FS/CGI.html">FS::CGI</A> - Non OO-subroutines for the web interface. This is depriciated. Future
-development will be focused on the FS::UI user-interface classes (see
-below).
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: FS.html,v 1.3 2001-04-23 12:40:30 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H2><A NAME="Database_record_classes">Database record classes</A></H2>
-<P>
-<A HREF="./FS/Record.html">FS::Record</A> - Database record base class
-
-<P>
-<A HREF="./FS/svc_acct_pop.html">FS::svc_acct_pop</A> - POP (Point of Presence, not Post Office Protocol) class
-
-<P>
-<A HREF="./FS/part_referral.html">FS::part_referral</A> - Referral class
-
-<P>
-<A HREF="./FS/cust_main_county.html">FS::cust_main_county</A> - Locale (tax rate) class
-
-<P>
-<A HREF="./FS/svc_Common.html">FS::svc_Common</A> - Service base class
-
-<P>
-<A HREF="./FS/svc_acct.html">FS::svc_acct</A> - Account (shell, RADIUS, POP3) class
-
-<P>
-<A HREF="./FS/svc_domain.html">FS::svc_domain</A> - Domain class
-
-<P>
-<A HREF="./FS/svc_acct_sm.html">FS::svc_acct_sm</A> - Vitual mail alias class
-
-<P>
-<A HREF="./FS/part_svc.html">FS::part_svc</A> - Service definition class
-
-<P>
-<A HREF="./FS/part_pkg.html">FS::part_pkg</A> - Package (billing item) definition class
-
-<P>
-<A HREF="./FS/pkg_svc.html">FS::pkg_svc</A> - Class linking package (billing item) definitions (see <A HREF="./FS/part_pkg.html">FS::part_pkg</A>) with service definitions (see <A HREF="./FS/part_svc.html">FS::part_svc</A>)
-
-<P>
-<A HREF="./FS/agent.html">FS::agent</A> - Agent (reseller) class
-
-<P>
-<A HREF="./FS/agent_type.html">FS::agent_type</A> - Agent type class
-
-<P>
-<A HREF="./FS/type_pkgs.html">FS::type_pkgs</A> - Class linking agent types (see
-<A HREF="./FS/agent_type.html">FS::agent_type</A>) with package (billing item) definitions (see <A HREF="./FS/part_pkg.html">FS::part_pkg</A>)
-
-<P>
-<A HREF="./FS/cust_svc.html">FS::cust_svc</A> - Service class
-
-<P>
-<A HREF="./FS/cust_pkg.html">FS::cust_pkg</A> - Package (billing item) class
-
-<P>
-<A HREF="./FS/cust_main.html">FS::cust_main</A> - Customer class
-
-<P>
-<A HREF="./FS/cust_main_invoice.html">FS::cust_main_invoice</A> - Invoice destination class
-
-<P>
-<A HREF="./FS/cust_bill.html">FS::cust_bill</A> - Invoice class
-
-<P>
-<A HREF="./FS/cust_bill_pkg.html">FS::cust_bill_pkg</A> - Invoice line item class
-
-<P>
-<A HREF="./FS/cust_pay.html">FS::cust_pay</A> - Payment class
-
-<P>
-<A HREF="./FS/cust_credit.html">FS::cust_credit</A> - Credit class
-
-<P>
-<A HREF="./FS/cust_refund.html">FS::cust_refund</A> - Refund class
-
-<P>
-<A HREF="./FS/cust_pay_batch.html">FS::cust_pay_batch</A> - Credit card transaction queue class
-
-<P>
-<HR>
-<H2><A NAME="User_Interface_classes_under_de">User Interface classes (under development; not yet usable)</A></H2>
-<P>
-<A HREF="./FS/UI/Base.html">FS::UI::Base</A> - User-interface base class
-
-<P>
-<A HREF="./FS/UI/Gtk.html">FS::UI::Gtk</A> - Gtk user-interface class
-
-<P>
-<A HREF="./FS/UI/CGI.html">FS::UI::CGI</A> - CGI (HTML) user-interface class
-
-<P>
-<A HREF="./FS/UI/agent.html">FS::UI::agent</A> - agent table user-interface class
-
-<P>
-<HR>
-<H2><A NAME="Notes">Notes</A></H2>
-<P>
-To quote <CODE>perl(1),</CODE> ``If you're intending to read these straight
-through for the first time, the suggested order will tend to reduce the
-number of forward references.''
-
-<P>
-<HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-Freeside is a billing and administration package for Internet Service
-Providers.
-
-<P>
-The Freeside home page is at &lt;http://www.sisd.com/freeside&gt;.
-
-<P>
-The main documentation is in htdocs/docs.
-
-<P>
-<HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: FS.html,v 1.2 2000-03-03 18:22:42 ivan Exp $
-
-<P>
-<HR>
-<H1><A NAME="SUPPORT">SUPPORT</A></H1>
-<P>
-A mailing list for users and developers is available. Send a blank message
-to &lt;<A
-HREF="mailto:ivan-freeside-subscribe@sisd.com">ivan-freeside-subscribe@sisd.com</A>&gt;
-to subscribe.
-
-<P>
-Commercial support is available; see
-&lt;http://www.sisd.com/freeside/commercial.html&gt;.
-
+<H1><A NAME="support">SUPPORT</A></H1>
+<P>A mailing list for users and developers is available.  Send a blank message to
+&lt;<A HREF="mailto:ivan-freeside-subscribe@sisd.com">ivan-freeside-subscribe@sisd.com</A>&gt; to subscribe.</P>
+<P>Commercial support is available; see
+&lt;http://www.sisd.com/freeside/commercial.html&gt;.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="AUTHOR">AUTHOR</A></H1>
-<P>
-Primarily Ivan Kohler &lt;<A
-HREF="mailto:ivan@sisd.com">ivan@sisd.com</A>&gt;, with help from many kind
-folks.
-
-<P>
-See the CREDITS file in the Freeside distribution for a (hopefully)
-complete list and the individal files for details.
-
+<H1><A NAME="author">AUTHOR</A></H1>
+<P>Primarily Ivan Kohler &lt;<A HREF="mailto:ivan@sisd.com">ivan@sisd.com</A>&gt;, with help from many kind folks.</P>
+<P>See the CREDITS file in the Freeside distribution for a (hopefully) complete
+list and the individal files for details.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<CODE>perl(1),</CODE> main Freeside documentation in htdocs/docs/
-
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P>perl(1), main Freeside documentation in htdocs/docs/</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-The version number of the FS Perl extension differs from the version of the
-Freeside distribution, which are both different from the CVS version tag
-for each file, which appears under the VERSION heading.
-
-<P>
-Those modules which would be useful separately should be pulled out,
-renamed appropriately and uploaded to CPAN.
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>The version number of the FS Perl extension differs from the version of the
+Freeside distribution, which are both different from the CVS version tag for
+each file, which appears under the VERSION heading.</P>
+<P>Those modules which would be useful separately should be pulled out, 
+renamed appropriately and uploaded to CPAN.  So far: DBIx::DBSchema, Net::SSH
+and Net::SCP...</P>
 
 </BODY>
 
 
 </BODY>
 
index 8bcb6a2..05f7823 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::CGI - Subroutines for the web interface</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::CGI - Subroutines for the web interface</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#SUBROUTINES">SUBROUTINES</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#subroutines">SUBROUTINES</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::CGI - Subroutines for the web interface
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::CGI - Subroutines for the web interface</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::CGI qw(header menubar idiot eidiot popurl);
-</PRE>
-<P>
-<PRE>  print header( 'Title', '' );
-  print header( 'Title', menubar('item', 'URL', ... ) );
-</PRE>
-<P>
-<PRE>  idiot &quot;error message&quot;; 
-  eidiot &quot;error message&quot;;
-</PRE>
-<P>
-<PRE>  $url = popurl; #returns current url
-  $url = popurl(3); #three levels up
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::CGI qw(header menubar idiot eidiot popurl);</PRE>
+<PRE>
+  print header( 'Title', '' );
+  print header( 'Title', menubar('item', 'URL', ... ) );</PRE>
+<PRE>
+  idiot &quot;error message&quot;; 
+  eidiot &quot;error message&quot;;</PRE>
+<PRE>
+  $url = popurl; #returns current url
+  $url = popurl(3); #three levels up</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-Provides a few common subroutines for the web interface.
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>Provides a few common subroutines for the web interface.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SUBROUTINES">SUBROUTINES</A></H1>
+<H1><A NAME="subroutines">SUBROUTINES</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_header">header TITLE, MENUBAR</A></STRONG><DD>
-<P>
+<DT><STRONG><A NAME="item_header">header TITLE, MENUBAR</A></STRONG><BR>
+<DD>
 Returns an HTML header.
 Returns an HTML header.
-
-<DT><STRONG><A NAME="item_menubar">menubar ITEM, URL, ...</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_menubar_ITEM%2C_URL%2C_%2E%2E%2E">menubar ITEM, URL, ...</A></STRONG><BR>
+<DD>
 Returns an HTML menubar.
 Returns an HTML menubar.
-
-<DT><STRONG><A NAME="item_idiot">idiot ERROR</A></STRONG><DD>
-<P>
-This is depriciated. Don't use it.
-
-<P>
-Sends headers and an HTML error message.
-
-<DT><STRONG><A NAME="item_eidiot">eidiot ERROR</A></STRONG><DD>
-<P>
-This is depriciated. Don't use it.
-
-<P>
-Sends headers and an HTML error message, then exits.
-
-<DT><STRONG><A NAME="item_popurl">popurl LEVEL</A></STRONG><DD>
-<P>
-Returns current URL with LEVEL levels of path removed from the end (default
-0).
-
-<DT><STRONG><A NAME="item_table">table</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_idiot">idiot ERROR</A></STRONG><BR>
+<DD>
+This is depriciated.  Don't use it.
+<P>Sends headers and an HTML error message.</P>
+<P></P>
+<DT><STRONG><A NAME="item_eidiot">eidiot ERROR</A></STRONG><BR>
+<DD>
+This is depriciated.  Don't use it.
+<P>Sends headers and an HTML error message, then exits.</P>
+<P></P>
+<DT><STRONG><A NAME="item_popurl">popurl LEVEL</A></STRONG><BR>
+<DD>
+Returns current URL with LEVEL levels of path removed from the end (default 0).
+<P></P>
+<DT><STRONG><A NAME="item_table">table</A></STRONG><BR>
+<DD>
 Returns HTML tag for beginning a table.
 Returns HTML tag for beginning a table.
-
-<DT><STRONG><A NAME="item_itable">itable</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_itable">itable</A></STRONG><BR>
+<DD>
 Returns HTML tag for beginning an (invisible) table.
 Returns HTML tag for beginning an (invisible) table.
-
-<DT><STRONG><A NAME="item_ntable">ntable</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_ntable">ntable</A></STRONG><BR>
+<DD>
 This is getting silly.
 This is getting silly.
-
-</DL>
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-Not OO.
-
-<P>
-Not complete.
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>Not OO.</P>
+<P>Not complete.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF=".././FS/CGI.html#">the CGI manpage</A>, <A HREF="../CGI/Base.html">CGI::Base</A>
-
-
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/CGI.html">the CGI manpage</A>, <A HREF="../CGI/Base.html">the CGI::Base manpage</A></P>
 
 </BODY>
 
 
 </BODY>
 
index 563eea8..7b1613e 100644 (file)
@@ -1,93 +1,80 @@
 <HTML>
 <HEAD>
 <TITLE>FS::Conf - Read access to Freeside configuration values</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::Conf - Read access to Freeside configuration values</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::Conf - Read access to Freeside configuration values
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::Conf - Read access to Freeside configuration values</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::Conf;
-</PRE>
-<P>
-<PRE>  $conf = new FS::Conf &quot;/config/directory&quot;;
-</PRE>
-<P>
-<PRE>  $FS::Conf::default_dir = &quot;/config/directory&quot;;
-  $conf = new FS::Conf;
-</PRE>
-<P>
-<PRE>  $dir = $conf-&gt;dir;
-</PRE>
-<P>
-<PRE>  $value = $conf-&gt;config('key');
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::Conf;</PRE>
+<PRE>
+  $conf = new FS::Conf &quot;/config/directory&quot;;</PRE>
+<PRE>
+  $FS::Conf::default_dir = &quot;/config/directory&quot;;
+  $conf = new FS::Conf;</PRE>
+<PRE>
+  $dir = $conf-&gt;dir;</PRE>
+<PRE>
+  $value = $conf-&gt;config('key');
   @list  = $conf-&gt;config('key');
   @list  = $conf-&gt;config('key');
-  $bool  = $conf-&gt;exists('key');
-</PRE>
+  $bool  = $conf-&gt;exists('key');</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-Read access to Freeside configuration values. Keys currently map to
-filenames, but this may change in the future.
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>Read access to Freeside configuration values.  Keys currently map to filenames,
+but this may change in the future.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new [ DIRECTORY ]</A></STRONG><DD>
-<P>
-Create a new configuration object. A directory arguement is required if
+<DT><STRONG><A NAME="item_new_%5B_DIRECTORY_%5D">new [ DIRECTORY ]</A></STRONG><BR>
+<DD>
+Create a new configuration object.  A directory arguement is required if
 $FS::Conf::default_dir has not been set.
 $FS::Conf::default_dir has not been set.
-
-<DT><STRONG><A NAME="item_dir">dir</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_dir">dir</A></STRONG><BR>
+<DD>
 Returns the directory.
 Returns the directory.
-
-<DT><STRONG><A NAME="item_config">config</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_config">config</A></STRONG><BR>
+<DD>
 Returns the configuration value or values (depending on context) for key.
 Returns the configuration value or values (depending on context) for key.
-
-<DT><STRONG><A NAME="item_exists">exists</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_exists">exists</A></STRONG><BR>
+<DD>
 Returns true if the specified key exists, even if the corresponding value
 is undefined.
 Returns true if the specified key exists, even if the corresponding value
 is undefined.
-
-</DL>
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-Write access (with locking) should be implemented.
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>Write access (with locking) should be implemented.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-config.html from the base documentation contains a list of configuration
-files.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P>config.html from the base documentation contains a list of configuration files.</P>
 
 </BODY>
 
 
 </BODY>
 
index 924f0b6..cc3d377 100644 (file)
@@ -1,87 +1,74 @@
 <HTML>
 <HEAD>
 <TITLE>FS::Record - Database record objects</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::Record - Database record objects</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#CONSTRUCTORS">CONSTRUCTORS</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#SUBROUTINES">SUBROUTINES</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#constructors">CONSTRUCTORS</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#subroutines">SUBROUTINES</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::Record - Database record objects
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::Record - Database record objects</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>    use FS::Record;
-    use FS::Record qw(dbh fields qsearch qsearchs dbdef);
-</PRE>
-<P>
-<PRE>    $record = new FS::Record 'table', \%hash;
-    $record = new FS::Record 'table', { 'column' =&gt; 'value', ... };
-</PRE>
-<P>
-<PRE>    $record  = qsearchs FS::Record 'table', \%hash;
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+    use FS::Record;
+    use FS::Record qw(dbh fields qsearch qsearchs dbdef);</PRE>
+<PRE>
+    $record = new FS::Record 'table', \%hash;
+    $record = new FS::Record 'table', { 'column' =&gt; 'value', ... };</PRE>
+<PRE>
+    $record  = qsearchs FS::Record 'table', \%hash;
     $record  = qsearchs FS::Record 'table', { 'column' =&gt; 'value', ... };
     @records = qsearch  FS::Record 'table', \%hash; 
     $record  = qsearchs FS::Record 'table', { 'column' =&gt; 'value', ... };
     @records = qsearch  FS::Record 'table', \%hash; 
-    @records = qsearch  FS::Record 'table', { 'column' =&gt; 'value', ... };
-</PRE>
-<P>
-<PRE>    $table = $record-&gt;table;
-    $dbdef_table = $record-&gt;dbdef_table;
-</PRE>
-<P>
-<PRE>    $value = $record-&gt;get('column');
+    @records = qsearch  FS::Record 'table', { 'column' =&gt; 'value', ... };</PRE>
+<PRE>
+    $table = $record-&gt;table;
+    $dbdef_table = $record-&gt;dbdef_table;</PRE>
+<PRE>
+    $value = $record-&gt;get('column');
     $value = $record-&gt;getfield('column');
     $value = $record-&gt;getfield('column');
-    $value = $record-&gt;column;
-</PRE>
-<P>
-<PRE>    $record-&gt;set( 'column' =&gt; 'value' );
+    $value = $record-&gt;column;</PRE>
+<PRE>
+    $record-&gt;set( 'column' =&gt; 'value' );
     $record-&gt;setfield( 'column' =&gt; 'value' );
     $record-&gt;setfield( 'column' =&gt; 'value' );
-    $record-&gt;column('value');
-</PRE>
-<P>
-<PRE>    %hash = $record-&gt;hash;
-</PRE>
-<P>
-<PRE>    $hashref = $record-&gt;hashref;
-</PRE>
-<P>
-<PRE>    $error = $record-&gt;insert;
-    #$error = $record-&gt;add; #depriciated
-</PRE>
-<P>
-<PRE>    $error = $record-&gt;delete;
-    #$error = $record-&gt;del; #depriciated
-</PRE>
-<P>
-<PRE>    $error = $new_record-&gt;replace($old_record);
-    #$error = $new_record-&gt;rep($old_record); #depriciated
-</PRE>
-<P>
-<PRE>    $value = $record-&gt;unique('column');
-</PRE>
-<P>
-<PRE>    $value = $record-&gt;ut_float('column');
+    $record-&gt;column('value');</PRE>
+<PRE>
+    %hash = $record-&gt;hash;</PRE>
+<PRE>
+    $hashref = $record-&gt;hashref;</PRE>
+<PRE>
+    $error = $record-&gt;insert;
+    #$error = $record-&gt;add; #depriciated</PRE>
+<PRE>
+    $error = $record-&gt;delete;
+    #$error = $record-&gt;del; #depriciated</PRE>
+<PRE>
+    $error = $new_record-&gt;replace($old_record);
+    #$error = $new_record-&gt;rep($old_record); #depriciated</PRE>
+<PRE>
+    $value = $record-&gt;unique('column');</PRE>
+<PRE>
+    $value = $record-&gt;ut_float('column');
     $value = $record-&gt;ut_number('column');
     $value = $record-&gt;ut_numbern('column');
     $value = $record-&gt;ut_money('column');
     $value = $record-&gt;ut_number('column');
     $value = $record-&gt;ut_numbern('column');
     $value = $record-&gt;ut_money('column');
@@ -90,291 +77,266 @@ FS::Record - Database record objects
     $value = $record-&gt;ut_alpha('column');
     $value = $record-&gt;ut_alphan('column');
     $value = $record-&gt;ut_phonen('column');
     $value = $record-&gt;ut_alpha('column');
     $value = $record-&gt;ut_alphan('column');
     $value = $record-&gt;ut_phonen('column');
-    $value = $record-&gt;ut_anythingn('column');
-</PRE>
-<P>
-<PRE>    $dbdef = reload_dbdef;
+    $value = $record-&gt;ut_anythingn('column');</PRE>
+<PRE>
+    $dbdef = reload_dbdef;
     $dbdef = reload_dbdef &quot;/non/standard/filename&quot;;
     $dbdef = reload_dbdef &quot;/non/standard/filename&quot;;
-    $dbdef = dbdef;
-</PRE>
-<P>
-<PRE>    $quoted_value = _quote($value,'table','field');
-</PRE>
-<P>
-<PRE>    #depriciated
+    $dbdef = dbdef;</PRE>
+<PRE>
+    $quoted_value = _quote($value,'table','field');</PRE>
+<PRE>
+    #depriciated
     $fields = hfields('table');
     $fields = hfields('table');
-    if ( $fields-&gt;{Field} ) { # etc.
-</PRE>
-<P>
-<PRE>    @fields = fields 'table'; #as a subroutine
-    @fields = $record-&gt;fields; #as a method call
-</PRE>
+    if ( $fields-&gt;{Field} ) { # etc.</PRE>
+<PRE>
+    @fields = fields 'table'; #as a subroutine
+    @fields = $record-&gt;fields; #as a method call</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-(Mostly) object-oriented interface to database records. Records are
-currently implemented on top of DBI. FS::Record is intended as a base class
-for table-specific classes to inherit from, i.e. FS::cust_main.
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>(Mostly) object-oriented interface to database records.  Records are currently
+implemented on top of DBI.  FS::Record is intended as a base class for
+table-specific classes to inherit from, i.e. FS::cust_main.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="CONSTRUCTORS">CONSTRUCTORS</A></H1>
+<H1><A NAME="constructors">CONSTRUCTORS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new [ TABLE, ] HASHREF</A></STRONG><DD>
-<P>
-Creates a new record. It doesn't store it in the database, though. See
+<DT><STRONG><A NAME="item_new_%5B_TABLE%2C_%5D_HASHREF">new [ TABLE, ] HASHREF</A></STRONG><BR>
+<DD>
+Creates a new record.  It doesn't store it in the database, though.  See
 <A HREF="#insert">insert</A> for that.
 <A HREF="#insert">insert</A> for that.
-
-<P>
-Note that the object stores this hash reference, not a distinct copy of the
-hash it points to. You can ask the object for a copy with the <EM>hash</EM> 
-method.
-
-<P>
-TABLE can only be omitted when a dervived class overrides the table method.
-
-<DT><STRONG><A NAME="item_qsearch">qsearch TABLE, HASHREF</A></STRONG><DD>
-<P>
-Searches the database for all records matching (at least) the key/value
-pairs in HASHREF. Returns all the records found as `FS::TABLE' objects if
-that module is loaded (i.e. via `use FS::cust_main;'), otherwise returns
-FS::Record objects.
-
-<DT><STRONG><A NAME="item_qsearchs">qsearchs TABLE, HASHREF</A></STRONG><DD>
-<P>
-Same as qsearch, except that if more than one record matches, it <STRONG>carp</STRONG>s but returns the first. If this happens, you either made a logic error in
-asking for a single item, or your data is corrupted.
-
-</DL>
+<P>Note that the object stores this hash reference, not a distinct copy of the
+hash it points to.  You can ask the object for a copy with the <EM>hash</EM> 
+method.</P>
+<P>TABLE can only be omitted when a dervived class overrides the table method.</P>
+<P></P>
+<DT><STRONG><A NAME="item_qsearch_TABLE%2C_HASHREF%2C_SELECT%2C_EXTRA_SQL">qsearch TABLE, HASHREF, SELECT, EXTRA_SQL</A></STRONG><BR>
+<DD>
+Searches the database for all records matching (at least) the key/value pairs
+in HASHREF.  Returns all the records found as `FS::TABLE' objects if that
+module is loaded (i.e. via `use FS::cust_main;'), otherwise returns FS::Record
+objects.
+<P>###oops, argh, FS::Record::new only lets us create database fields.
+#Normal behaviour if SELECT is not specified is `*', as in
+#<CODE>SELECT * FROM table WHERE ...</CODE>.  However, there is an experimental new
+#feature where you can specify SELECT - remember, the objects returned,
+#although blessed into the appropriate `FS::TABLE' package, will only have the
+#fields you specify.  This might have unwanted results if you then go calling
+#regular FS::TABLE methods
+#on it.</P>
+<P></P>
+<DT><STRONG><A NAME="item_qsearchs">qsearchs TABLE, HASHREF</A></STRONG><BR>
+<DD>
+Same as qsearch, except that if more than one record matches, it <STRONG>carp</STRONG>s but
+returns the first.  If this happens, you either made a logic error in asking
+for a single item, or your data is corrupted.
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_table">table</A></STRONG><DD>
-<P>
+<DT><STRONG><A NAME="item_table">table</A></STRONG><BR>
+<DD>
 Returns the table name.
 Returns the table name.
-
-<DT><STRONG><A NAME="item_dbdef_table">dbdef_table</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_dbdef_table">dbdef_table</A></STRONG><BR>
+<DD>
 Returns the FS::dbdef_table object for the table.
 Returns the FS::dbdef_table object for the table.
-
-<DT><STRONG><A NAME="item_get">get, getfield COLUMN</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_get%2C_getfield_COLUMN">get, getfield COLUMN</A></STRONG><BR>
+<DD>
 Returns the value of the column/field/key COLUMN.
 Returns the value of the column/field/key COLUMN.
-
-<DT><STRONG><A NAME="item_set">set, setfield COLUMN, VALUE</A></STRONG><DD>
-<P>
-Sets the value of the column/field/key COLUMN to VALUE. Returns VALUE.
-
-<DT><STRONG><A NAME="item_AUTLOADED">AUTLOADED METHODS</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_set%2C_setfield_COLUMN%2C_VALUE">set, setfield COLUMN, VALUE</A></STRONG><BR>
+<DD>
+Sets the value of the column/field/key COLUMN to VALUE.  Returns VALUE.
+<P></P>
+<DT><STRONG><A NAME="item_AUTLOADED_METHODS">AUTLOADED METHODS</A></STRONG><BR>
+<DD>
 $record-&gt;column is a synonym for $record-&gt;get('column');
 $record-&gt;column is a synonym for $record-&gt;get('column');
-
-<P>
-$record-&gt;column('value') is a synonym for
-$record-&gt;set('column','value');
-
-<DT><STRONG><A NAME="item_hash">hash</A></STRONG><DD>
-<P>
-Returns a list of the column/value pairs, usually for assigning to a new
-hash.
-
-<P>
-To make a distinct duplicate of an FS::Record object, you can do:
-
-<P>
-<PRE>    $new = new FS::Record ( $old-&gt;table, { $old-&gt;hash } );
-</PRE>
-<DT><STRONG><A NAME="item_hashref">hashref</A></STRONG><DD>
-<P>
+<P>$record-&gt;<CODE>column('value')</CODE> is a synonym for $record-&gt;set('column','value');</P>
+<P></P>
+<DT><STRONG><A NAME="item_hash">hash</A></STRONG><BR>
+<DD>
+Returns a list of the column/value pairs, usually for assigning to a new hash.
+<P>To make a distinct duplicate of an FS::Record object, you can do:</P>
+<PRE>
+    $new = new FS::Record ( $old-&gt;table, { $old-&gt;hash } );</PRE>
+<P></P>
+<DT><STRONG><A NAME="item_hashref">hashref</A></STRONG><BR>
+<DD>
 Returns a reference to the column/value hash.
 Returns a reference to the column/value hash.
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Inserts this record to the database. If there is an error, returns the
-error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_add">add</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Inserts this record to the database.  If there is an error, returns the error,
+otherwise returns false.
+<P></P>
+<DT><STRONG><A NAME="item_add">add</A></STRONG><BR>
+<DD>
 Depriciated (use insert instead).
 Depriciated (use insert instead).
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
-Delete this record from the database. If there is an error, returns the
-error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_del">del</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
+Delete this record from the database.  If there is an error, returns the error,
+otherwise returns false.
+<P></P>
+<DT><STRONG><A NAME="item_del">del</A></STRONG><BR>
+<DD>
 Depriciated (use delete instead).
 Depriciated (use delete instead).
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-Replace the OLD_RECORD with this one in the database. If there is an error,
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+Replace the OLD_RECORD with this one in the database.  If there is an error,
 returns the error, otherwise returns false.
 returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_rep">rep</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_rep">rep</A></STRONG><BR>
+<DD>
 Depriciated (use replace instead).
 Depriciated (use replace instead).
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Not yet implemented, croaks. Derived classes should provide a check method.
-
-<DT><STRONG><A NAME="item_unique">unique COLUMN</A></STRONG><DD>
-<P>
-Replaces COLUMN in record with a unique number. Called by the <STRONG>add</STRONG> method on primary keys and single-field unique columns (see <A HREF="../FS/dbdef_table.html">FS::dbdef_table</A>). Returns the new value.
-
-<DT><STRONG><A NAME="item_ut_float">ut_float COLUMN</A></STRONG><DD>
-<P>
-Check/untaint floating point numeric data: 1.1, 1, 1.1e10, 1e10. May not be
-null. If there is an error, returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_ut_number">ut_number COLUMN</A></STRONG><DD>
-<P>
-Check/untaint simple numeric data (whole numbers). May not be null. If
-there is an error, returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_ut_numbern">ut_numbern COLUMN</A></STRONG><DD>
-<P>
-Check/untaint simple numeric data (whole numbers). May be null. If there is
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Not yet implemented, croaks.  Derived classes should provide a check method.
+<P></P>
+<DT><STRONG><A NAME="item_unique">unique COLUMN</A></STRONG><BR>
+<DD>
+Replaces COLUMN in record with a unique number.  Called by the <STRONG>add</STRONG> method
+on primary keys and single-field unique columns (see <A HREF="../DBIx/DBSchema/Table.html">the DBIx::DBSchema::Table manpage</A>).
+Returns the new value.
+<P></P>
+<DT><STRONG><A NAME="item_ut_float_COLUMN">ut_float COLUMN</A></STRONG><BR>
+<DD>
+Check/untaint floating point numeric data: 1.1, 1, 1.1e10, 1e10.  May not be
+null.  If there is an error, returns the error, otherwise returns false.
+<P></P>
+<DT><STRONG><A NAME="item_ut_number_COLUMN">ut_number COLUMN</A></STRONG><BR>
+<DD>
+Check/untaint simple numeric data (whole numbers).  May not be null.  If there
+is an error, returns the error, otherwise returns false.
+<P></P>
+<DT><STRONG><A NAME="item_ut_numbern_COLUMN">ut_numbern COLUMN</A></STRONG><BR>
+<DD>
+Check/untaint simple numeric data (whole numbers).  May be null.  If there is
 an error, returns the error, otherwise returns false.
 an error, returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_ut_money">ut_money COLUMN</A></STRONG><DD>
-<P>
-Check/untaint monetary numbers. May be negative. Set to 0 if null. If there
+<P></P>
+<DT><STRONG><A NAME="item_ut_money_COLUMN">ut_money COLUMN</A></STRONG><BR>
+<DD>
+Check/untaint monetary numbers.  May be negative.  Set to 0 if null.  If there
 is an error, returns the error, otherwise returns false.
 is an error, returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_ut_text">ut_text COLUMN</A></STRONG><DD>
-<P>
-Check/untaint text. Alphanumerics, spaces, and the following punctuation
+<P></P>
+<DT><STRONG><A NAME="item_ut_text_COLUMN">ut_text COLUMN</A></STRONG><BR>
+<DD>
+Check/untaint text.  Alphanumerics, spaces, and the following punctuation
 symbols are currently permitted: ! @ # $ % &amp; ( ) - + ; : ' `` , . ? /
 symbols are currently permitted: ! @ # $ % &amp; ( ) - + ; : ' `` , . ? /
-May not be null. If there is an error, returns the error, otherwise returns
+May not be null.  If there is an error, returns the error, otherwise returns
 false.
 false.
-
-<DT><STRONG><A NAME="item_ut_textn">ut_textn COLUMN</A></STRONG><DD>
-<P>
-Check/untaint text. Alphanumerics, spaces, and the following punctuation
+<P></P>
+<DT><STRONG><A NAME="item_ut_textn_COLUMN">ut_textn COLUMN</A></STRONG><BR>
+<DD>
+Check/untaint text.  Alphanumerics, spaces, and the following punctuation
 symbols are currently permitted: ! @ # $ % &amp; ( ) - + ; : ' `` , . ? /
 symbols are currently permitted: ! @ # $ % &amp; ( ) - + ; : ' `` , . ? /
-May be null. If there is an error, returns the error, otherwise returns
-false.
-
-<DT><STRONG><A NAME="item_ut_alpha">ut_alpha COLUMN</A></STRONG><DD>
-<P>
-Check/untaint alphanumeric strings (no spaces). May not be null. If there
-is an error, returns the error, otherwise returns false.
-
-<DT><STRONG>ut_alpha COLUMN</STRONG><DD>
-<P>
-Check/untaint alphanumeric strings (no spaces). May be null. If there is an
+May be null.  If there is an error, returns the error, otherwise returns false.
+<P></P>
+<DT><STRONG><A NAME="item_ut_alpha_COLUMN">ut_alpha COLUMN</A></STRONG><BR>
+<DD>
+Check/untaint alphanumeric strings (no spaces).  May not be null.  If there is
+an error, returns the error, otherwise returns false.
+<P></P>
+<DT><STRONG>ut_alpha COLUMN</STRONG><BR>
+<DD>
+Check/untaint alphanumeric strings (no spaces).  May be null.  If there is an
 error, returns the error, otherwise returns false.
 error, returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_ut_phonen">ut_phonen COLUMN</A></STRONG><DD>
-<P>
-Check/untaint phone numbers. May be null. If there is an error, returns the
-error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_ut_anything">ut_anything COLUMN</A></STRONG><DD>
-<P>
-Untaints arbitrary data. Be careful.
-
-<DT><STRONG><A NAME="item_fields">fields [ TABLE ]</A></STRONG><DD>
-<P>
-This can be used as both a subroutine and a method call. It returns a list
+<P></P>
+<DT><STRONG><A NAME="item_ut_phonen_COLUMN_%5B_COUNTRY_%5D">ut_phonen COLUMN [ COUNTRY ]</A></STRONG><BR>
+<DD>
+Check/untaint phone numbers.  May be null.  If there is an error, returns
+the error, otherwise returns false.
+<P>Takes an optional two-letter ISO country code; without it or with unsupported
+countries, ut_phonen simply calls ut_alphan.</P>
+<P></P>
+<DT><STRONG><A NAME="item_ut_ip_COLUMN">ut_ip COLUMN</A></STRONG><BR>
+<DD>
+Check/untaint ip addresses.  IPv4 only for now.
+<P></P>
+<DT><STRONG><A NAME="item_ut_ipn_COLUMN">ut_ipn COLUMN</A></STRONG><BR>
+<DD>
+Check/untaint ip addresses.  IPv4 only for now.  May be null.
+<P></P>
+<DT><STRONG><A NAME="item_ut_domain_COLUMN">ut_domain COLUMN</A></STRONG><BR>
+<DD>
+Check/untaint host and domain names.
+<P></P>
+<DT><STRONG><A NAME="item_ut_anything_COLUMN">ut_anything COLUMN</A></STRONG><BR>
+<DD>
+Untaints arbitrary data.  Be careful.
+<P></P>
+<DT><STRONG><A NAME="item_fields_%5B_TABLE_%5D">fields [ TABLE ]</A></STRONG><BR>
+<DD>
+This can be used as both a subroutine and a method call.  It returns a list
 of the columns in this record's table, or an explicitly specified table.
 of the columns in this record's table, or an explicitly specified table.
-(See <A HREF="../FS/dbdef_table.html">FS::dbdef_table</A>).
-
-<H1><A NAME="SUBROUTINES">SUBROUTINES</A></H1>
-<DL>
-<DT><STRONG><A NAME="item_reload_dbdef">reload_dbdef([FILENAME])</A></STRONG><DD>
-<P>
-Load a database definition (see <A HREF="../FS/dbdef.html">FS::dbdef</A>), optionally from a non-default filename. This command is executed at
-startup unless
-<EM>$FS::Record::setup_hack</EM> is true. Returns a FS::dbdef object.
-
-<DT><STRONG><A NAME="item_dbdef">dbdef</A></STRONG><DD>
-<P>
-Returns the current database definition. See <A HREF="../FS/dbdef.html">FS::dbdef</A>.
-
-<DT><STRONG><A NAME="item__quote">_quote VALUE, TABLE, COLUMN</A></STRONG><DD>
-<P>
-This is an internal function used to construct SQL statements. It returns
-VALUE DBI-quoted (see <EM>DBI</EM>) unless VALUE is a number and the column type (see <A HREF="../FS/dbdef_column.html">FS::dbdef_column</A>) does not end in `char' or `binary'.
-
-<DT><STRONG><A NAME="item_hfields">hfields TABLE</A></STRONG><DD>
-<P>
-This is depriciated. Don't use it.
-
-<P>
-It returns a hash-type list with the fields of this record's table set
-true.
-
-</DL>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: Record.html,v 1.2 2000-03-03 18:22:42 ivan Exp $
-
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-This module should probably be renamed, since much of the functionality is
-of general use. It is not completely unlike Adapter::DBI (see below).
-
-<P>
-Exported qsearch and qsearchs should be depriciated in favor of method
-calls (against an FS::Record object like the old search and searchs that
-qsearch and qsearchs were on top of.)
-
-<P>
-The whole fields / hfields mess should be removed.
-
-<P>
-The various WHERE clauses should be subroutined.
-
-<P>
-table string should be depriciated in favor of FS::dbdef_table.
-
+(See <A HREF="../DBIx/DBSchema/Table.html">the DBIx::DBSchema::Table manpage</A>).
+<P></P></DL>
 <P>
 <P>
-No doubt we could benefit from a Tied hash. Documenting how exists /
-defined true maps to the database (and WHERE clauses) would also help.
-
-<P>
-The ut_ methods should ask the dbdef for a default length.
-
-<P>
-ut_sqltype (like ut_varchar) should all be defined
-
-<P>
-A fallback check method should be provided whith uses the dbdef.
-
-<P>
-The ut_money method assumes money has two decimal digits.
-
-<P>
-The Pg money kludge in the new method only strips `$'.
-
-<P>
-The ut_phonen method assumes US-style phone numbers.
-
-<P>
-The _quote function should probably use ut_float instead of a regex.
-
-<P>
-All the subroutines probably should be methods, here or elsewhere.
-
+<HR>
+<H1><A NAME="subroutines">SUBROUTINES</A></H1>
+<DL>
+<DT><STRONG><A NAME="item_reload_dbdef"><CODE>reload_dbdef([FILENAME])</CODE></A></STRONG><BR>
+<DD>
+Load a database definition (see <A HREF="../DBIx/DBSchema.html">the DBIx::DBSchema manpage</A>), optionally from a
+non-default filename.  This command is executed at startup unless
+<EM>$FS::Record::setup_hack</EM> is true.  Returns a DBIx::DBSchema object.
+<P></P>
+<DT><STRONG><A NAME="item_dbdef">dbdef</A></STRONG><BR>
+<DD>
+Returns the current database definition.  See <A HREF="../FS/dbdef.html">the FS::dbdef manpage</A>.
+<P></P>
+<DT><STRONG><A NAME="item__quote_VALUE%2C_TABLE%2C_COLUMN">_quote VALUE, TABLE, COLUMN</A></STRONG><BR>
+<DD>
+This is an internal function used to construct SQL statements.  It returns
+VALUE DBI-quoted (see <EM>DBI/``quote''</EM>) unless VALUE is a number and the column
+type (see <A HREF="../FS/dbdef_column.html">the FS::dbdef_column manpage</A>) does not end in `char' or `binary'.
+<P></P>
+<DT><STRONG><A NAME="item_hfields">hfields TABLE</A></STRONG><BR>
+<DD>
+This is depriciated.  Don't use it.
+<P>It returns a hash-type list with the fields of this record's table set true.</P>
+<P></P></DL>
 <P>
 <P>
-Probably should borrow/use some dbdef methods where appropriate (like sub
-fields)
-
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
+<HR>
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: Record.html,v 1.3 2001-04-23 12:40:30 ivan Exp $</P>
 <P>
 <P>
-<A HREF="../FS/dbdef.html">FS::dbdef</A>, <A HREF="../FS/UID.html">FS::UID</A>, <EM>DBI</EM>
-
-
-
+<HR>
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>This module should probably be renamed, since much of the functionality is
+of general use.  It is not completely unlike Adapter::DBI (see below).</P>
+<P>Exported qsearch and qsearchs should be depriciated in favor of method calls
+(against an FS::Record object like the old search and searchs that qsearch
+and qsearchs were on top of.)</P>
+<P>The whole fields / hfields mess should be removed.</P>
+<P>The various WHERE clauses should be subroutined.</P>
+<P>table string should be depriciated in favor of FS::dbdef_table.</P>
+<P>No doubt we could benefit from a Tied hash.  Documenting how exists / defined
+true maps to the database (and WHERE clauses) would also help.</P>
+<P>The ut_ methods should ask the dbdef for a default length.</P>
+<P>ut_sqltype (like ut_varchar) should all be defined</P>
+<P>A fallback check method should be provided which uses the dbdef.</P>
+<P>The ut_money method assumes money has two decimal digits.</P>
+<P>The Pg money kludge in the new method only strips `$'.</P>
+<P>The ut_phonen method assumes US-style phone numbers.</P>
+<P>The _quote function should probably use ut_float instead of a regex.</P>
+<P>All the subroutines probably should be methods, here or elsewhere.</P>
+<P>Probably should borrow/use some dbdef methods where appropriate (like sub
+fields)</P>
+<P>As of 1.14, DBI fetchall_hashref( {} ) doesn't set fetchrow_hashref NAME_lc,
+or allow it to be set.  Working around it is ugly any way around - DBI should
+be fixed.  (only affects RDBMS which return uppercase column names)</P>
 <P>
 <P>
-Adapter::DBI from Ch. 11 of Advanced Perl Programming by Sriram Srinivasan.
+<HR>
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF="../DBIx/DBSchema.html">the DBIx::DBSchema manpage</A>, <A HREF=".././FS/UID.html">the FS::UID manpage</A>, <EM>DBI</EM></P>
+<P>Adapter::DBI from Ch. 11 of Advanced Perl Programming by Sriram Srinivasan.</P>
 
 
-</DL>
 </BODY>
 
 </HTML>
 </BODY>
 
 </HTML>
index 7823090..96c6084 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::UI::Base - Base class for all user-interface objects</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::UI::Base - Base class for all user-interface objects</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
-       <LI><A HREF="#HISTORY">HISTORY</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
+       <LI><A HREF="#history">HISTORY</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::UI::Base - Base class for all user-interface objects
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::UI::Base - Base class for all user-interface objects</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::UI::SomeInterface;
-  use FS::UI::some_table;
-</PRE>
-<P>
-<PRE>  $interface = new FS::UI::some_table;
-</PRE>
-<P>
-<PRE>  $error = $interface-&gt;browse;
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::UI::SomeInterface;
+  use FS::UI::some_table;</PRE>
+<PRE>
+  $interface = new FS::UI::some_table;</PRE>
+<PRE>
+  $error = $interface-&gt;browse;
   $error = $interface-&gt;search;
   $error = $interface-&gt;view;
   $error = $interface-&gt;edit;
   $error = $interface-&gt;search;
   $error = $interface-&gt;view;
   $error = $interface-&gt;edit;
-  $error = $interface-&gt;process;
-</PRE>
+  $error = $interface-&gt;process;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::UI::Base object represents a user interface object. FS::UI::Base is
-intended as a base class for table-specfic classes to inherit from, i.e.
-FS::UI::cust_main. The simplest case, which will provide a default UI for
-your new table, is as follows:
-
-<P>
-<PRE>  package FS::UI::table_name;
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::UI::Base object represents a user interface object.  FS::UI::Base
+is intended as a base class for table-specfic classes to inherit from, i.e.
+FS::UI::cust_main.  The simplest case, which will provide a default UI for your
+new table, is as follows:</P>
+<PRE>
+  package FS::UI::table_name;
   use vars qw ( @ISA );
   use FS::UI::Base;
   @ISA = qw( FS::UI::Base );
   use vars qw ( @ISA );
   use FS::UI::Base;
   @ISA = qw( FS::UI::Base );
-  sub db_table { 'table_name'; }
-</PRE>
-<P>
-Currently available interfaces are: FS::UI::Gtk, an X-Windows UI
-implemented using the Gtk+ toolkit FS::UI::CGI, a web interface implemented
-using CGI.pm, etc.
-
+  sub db_table { 'table_name'; }</PRE>
+<P>Currently available interfaces are:
+  FS::UI::Gtk, an X-Windows UI implemented using the Gtk+ toolkit
+  FS::UI::CGI, a web interface implemented using CGI.pm, etc.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new</A></STRONG><DD>
-<DT><STRONG><A NAME="item_browse">browse</A></STRONG><DD>
-<DT><STRONG><A NAME="item_title">title</A></STRONG><DD>
-<DT><STRONG><A NAME="item_addwidget">addwidget</A></STRONG><DD>
+<DT><STRONG><A NAME="item_new">new</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_browse">browse</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_title">title</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_addwidget">addwidget</A></STRONG><BR>
+<DD>
 </DL>
 <P>
 <HR>
 </DL>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: Base.html,v 1.2 2000-03-03 18:22:44 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: Base.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-This documentation is incomplete.
-
-<P>
-There should be some sort of per-(freeside)-user preferences and the
-ability for specific FS::UI:: modules to put their own values there as
-well.
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>This documentation is incomplete.</P>
+<P>There should be some sort of per-(freeside)-user preferences and the ability
+for specific FS::UI:: modules to put their own values there as well.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../../FS/UI/Gtk.html">FS::UI::Gtk</A>, <A HREF="../../FS/UI/CGI.html">FS::UI::CGI</A>
-
-
-
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF="../.././FS/UI/Gtk.html">the FS::UI::Gtk manpage</A>, <A HREF="../.././FS/UI/CGI.html">the FS::UI::CGI manpage</A></P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="HISTORY">HISTORY</A></H1>
-<P>
-$Log: Base.html,v $
-Revision 1.2  2000-03-03 18:22:44  ivan
-changes from 1.2.3 release, fixes from webdemo
- Revision 1.1 1999/08/04 09:03:53 ivan initial checkin of
-module files for proper perl installation
-
-<P>
-Revision 1.1 1999/01/20 09:30:36 ivan skeletal cross-UI UI code.
+<H1><A NAME="history">HISTORY</A></H1>
+<P>$Log: Base.html,v $
+<P>Revision 1.3  2001-04-23 12:40:31  ivan
+<P>documentation and webdemo updates
+<P>
+Revision 1.1  1999/08/04 09:03:53  ivan
+initial checkin of module files for proper perl installation</P>
+<P>Revision 1.1  1999/01/20 09:30:36  ivan
+skeletal cross-UI UI code.</P>
 
 </BODY>
 
 
 </BODY>
 
index 69bff56..49991f1 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::UI::CGI - Base class for CGI user-interface objects</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::UI::CGI - Base class for CGI user-interface objects</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
-       <LI><A HREF="#HISTORY">HISTORY</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
+       <LI><A HREF="#history">HISTORY</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::UI::CGI - Base class for CGI user-interface objects
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::UI::CGI - Base class for CGI user-interface objects</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::UI::CGI;
-  use FS::UI::some_table;
-</PRE>
-<P>
-<PRE>  $interface = new FS::UI::some_table;
-</PRE>
-<P>
-<PRE>  $error = $interface-&gt;browse;
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::UI::CGI;
+  use FS::UI::some_table;</PRE>
+<PRE>
+  $interface = new FS::UI::some_table;</PRE>
+<PRE>
+  $error = $interface-&gt;browse;
   $error = $interface-&gt;search;
   $error = $interface-&gt;view;
   $error = $interface-&gt;edit;
   $error = $interface-&gt;search;
   $error = $interface-&gt;view;
   $error = $interface-&gt;edit;
-  $error = $interface-&gt;process;
-</PRE>
+  $error = $interface-&gt;process;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::UI::CGI object represents a CGI interface object.
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::UI::CGI object represents a CGI interface object.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new</A></STRONG><DD>
-<DT><STRONG><A NAME="item__header">_header</A></STRONG><DD>
-<DT><STRONG><A NAME="item__footer">_footer</A></STRONG><DD>
-<DT><STRONG><A NAME="item_interface">interface</A></STRONG><DD>
-<P>
-Returns the string `CGI'. Useful for the author of a table-specific UI
-class to conditionally specify certain behaviour.
-
-</DL>
+<DT><STRONG><A NAME="item_new">new</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item__header">_header</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item__footer">_footer</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_interface">interface</A></STRONG><BR>
+<DD>
+Returns the string `CGI'.  Useful for the author of a table-specific UI class
+to conditionally specify certain behaviour.
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: CGI.html,v 1.2 2000-03-03 18:22:44 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: CGI.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-This documentation is incomplete.
-
-<P>
-In _Tableborder, headers should be links that sort on their fields.
-
-<P>
-_Link uses a constant <CODE>$BASE_URL</CODE>
-
-<P>
-_Link passes the arguments as a manually-constructed GET string instead of
-POSTing, for compatability while the web interface is upgraded. Once this
-is done it should pass arguements properly (i.e. as a POST, 8-bit clean)
-
-<P>
-Still some small bits of widget code same as FS::UI::Gtk.
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>This documentation is incomplete.</P>
+<P>In _Tableborder, headers should be links that sort on their fields.</P>
+<P>_Link uses a constant $BASE_URL</P>
+<P>_Link passes the arguments as a manually-constructed GET string instead
+of POSTing, for compatability while the web interface is upgraded.  Once
+this is done it should pass arguements properly (i.e. as a POST, 8-bit clean)</P>
+<P>Still some small bits of widget code same as FS::UI::Gtk.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../../FS/UI/Base.html">FS::UI::Base</A>
-
-
-
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF="../.././FS/UI/Base.html">the FS::UI::Base manpage</A></P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="HISTORY">HISTORY</A></H1>
-<P>
-$Log: CGI.html,v $
-Revision 1.2  2000-03-03 18:22:44  ivan
-changes from 1.2.3 release, fixes from webdemo
- Revision 1.1 1999/08/04 09:03:53 ivan initial checkin of
-module files for proper perl installation
-
-<P>
-Revision 1.1 1999/01/20 09:30:36 ivan skeletal cross-UI UI code.
+<H1><A NAME="history">HISTORY</A></H1>
+<P>$Log: CGI.html,v $
+<P>Revision 1.3  2001-04-23 12:40:31  ivan
+<P>documentation and webdemo updates
+<P>
+Revision 1.1  1999/08/04 09:03:53  ivan
+initial checkin of module files for proper perl installation</P>
+<P>Revision 1.1  1999/01/20 09:30:36  ivan
+skeletal cross-UI UI code.</P>
 
 </BODY>
 
 
 </BODY>
 
index 3328e97..24d6200 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::UI::Gtk - Base class for Gtk user-interface objects</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::UI::Gtk - Base class for Gtk user-interface objects</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
-       <LI><A HREF="#HISTORY">HISTORY</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
+       <LI><A HREF="#history">HISTORY</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::UI::Gtk - Base class for Gtk user-interface objects
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::UI::Gtk - Base class for Gtk user-interface objects</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::UI::Gtk;
-  use FS::UI::some_table;
-</PRE>
-<P>
-<PRE>  $interface = new FS::UI::some_table;
-</PRE>
-<P>
-<PRE>  $error = $interface-&gt;browse;
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::UI::Gtk;
+  use FS::UI::some_table;</PRE>
+<PRE>
+  $interface = new FS::UI::some_table;</PRE>
+<PRE>
+  $error = $interface-&gt;browse;
   $error = $interface-&gt;search;
   $error = $interface-&gt;view;
   $error = $interface-&gt;edit;
   $error = $interface-&gt;search;
   $error = $interface-&gt;view;
   $error = $interface-&gt;edit;
-  $error = $interface-&gt;process;
-</PRE>
+  $error = $interface-&gt;process;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::UI::Gtk object represents a Gtk user interface object.
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::UI::Gtk object represents a Gtk user interface object.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new</A></STRONG><DD>
-<DT><STRONG><A NAME="item_interface">interface</A></STRONG><DD>
-<P>
-Returns the string `Gtk'. Useful for the author of a table-specific UI
-class to conditionally specify certain behaviour.
-
-</DL>
+<DT><STRONG><A NAME="item_new">new</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_interface">interface</A></STRONG><BR>
+<DD>
+Returns the string `Gtk'.  Useful for the author of a table-specific UI class
+to conditionally specify certain behaviour.
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: Gtk.html,v 1.2 2000-03-03 18:22:44 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: Gtk.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-This documentation is incomplete.
-
-<P>
-_Tableborder is just a _Table now. _Tableborders should scroll (but not the
-headers) and need and need more decoration. (data in white section ala
-gtksql and sliding field widths) headers should be buttons that callback to
-sort on their fields.
-
-<P>
-There should be a persistant, per-(freeside)-user store for window
-positions and sizes and sort fields etc (see <A HREF="../../FS/UI/CGI.html#BUGS">BUGS</A>.
-
-<P>
-Still some small bits of widget code same as FS::UI::CGI.
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>This documentation is incomplete.</P>
+<P>_Tableborder is just a _Table now.  _Tableborders should scroll (but not the
+headers) and need and need more decoration. (data in white section ala gtksql
+and sliding field widths) headers should be buttons that callback to sort on
+their fields.</P>
+<P>There should be a persistant, per-(freeside)-user store for window positions
+and sizes and sort fields etc (see <A HREF="../.././FS/UI/CGI.html#bugs">BUGS in the FS::UI::CGI manpage</A>.</P>
+<P>Still some small bits of widget code same as FS::UI::CGI.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../../FS/UI/Base.html">FS::UI::Base</A>
-
-
-
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF="../.././FS/UI/Base.html">the FS::UI::Base manpage</A></P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="HISTORY">HISTORY</A></H1>
-<P>
-$Log: Gtk.html,v $
-Revision 1.2  2000-03-03 18:22:44  ivan
-changes from 1.2.3 release, fixes from webdemo
- Revision 1.1 1999/08/04 09:03:53 ivan initial checkin of
-module files for proper perl installation
-
-<P>
-Revision 1.1 1999/01/20 09:30:36 ivan skeletal cross-UI UI code.
+<H1><A NAME="history">HISTORY</A></H1>
+<P>$Log: Gtk.html,v $
+<P>Revision 1.3  2001-04-23 12:40:31  ivan
+<P>documentation and webdemo updates
+<P>
+Revision 1.1  1999/08/04 09:03:53  ivan
+initial checkin of module files for proper perl installation</P>
+<P>Revision 1.1  1999/01/20 09:30:36  ivan
+skeletal cross-UI UI code.</P>
 
 </BODY>
 
 
 </BODY>
 
index e69de29..8608e4e 100644 (file)
@@ -0,0 +1,16 @@
+<HTML>
+<HEAD>
+<TITLE>./FS/FS/UI/agent.pm</TITLE>
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
+</HEAD>
+
+<BODY>
+
+<A NAME="__index__"></A>
+<!-- INDEX BEGIN -->
+<!-- INDEX END -->
+
+
+</BODY>
+
+</HTML>
index cad23d5..9c4da49 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::UID - Subroutines for database login and assorted other stuff</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::UID - Subroutines for database login and assorted other stuff</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#SUBROUTINES">SUBROUTINES</A>
-       <LI><A HREF="#CALLBACKS">CALLBACKS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#subroutines">SUBROUTINES</A></LI>
+       <LI><A HREF="#callbacks">CALLBACKS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::UID - Subroutines for database login and assorted other stuff
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::UID - Subroutines for database login and assorted other stuff</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::UID qw(adminsuidsetup cgisuidsetup dbh datasrc getotaker
-  checkeuid checkruid swapuid);
-</PRE>
-<P>
-<PRE>  adminsuidsetup $user;
-</PRE>
-<P>
-<PRE>  $cgi = new CGI;
-  $dbh = cgisuidsetup($cgi);
-</PRE>
-<P>
-<PRE>  $dbh = dbh;
-</PRE>
-<P>
-<PRE>  $datasrc = datasrc;
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::UID qw(adminsuidsetup cgisuidsetup dbh datasrc getotaker
+  checkeuid checkruid swapuid);</PRE>
+<PRE>
+  adminsuidsetup $user;</PRE>
+<PRE>
+  $cgi = new CGI;
+  $dbh = cgisuidsetup($cgi);</PRE>
+<PRE>
+  $dbh = dbh;</PRE>
+<PRE>
+  $datasrc = datasrc;</PRE>
+<PRE>
+  $driver_name = driver_name;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-Provides a hodgepodge of subroutines. 
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>Provides a hodgepodge of subroutines.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SUBROUTINES">SUBROUTINES</A></H1>
+<H1><A NAME="subroutines">SUBROUTINES</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_adminsuidsetup">adminsuidsetup USER</A></STRONG><DD>
-<P>
-Sets the user to USER (see config.html from the base documentation). Cleans
-the environment. Make sure the script is running as freeside, or setuid
-freeside. Opens a connection to the database. Swaps real and effective
-UIDs. Runs any defined callbacks (see below). Returns the DBI database
-handle (usually you don't need this).
-
-<DT><STRONG><A NAME="item_cgisuidsetup">cgisuidsetup CGI_object</A></STRONG><DD>
-<P>
-Stores the CGI (see <A HREF=".././FS/CGI.html#">the CGI manpage</A>) object for later use. (CGI::Base is depriciated) Runs adminsuidsetup.
-
-<DT><STRONG><A NAME="item_cgi">cgi</A></STRONG><DD>
-<P>
-Returns the CGI (see <A HREF=".././FS/CGI.html#">the CGI manpage</A>) object.
-
-<DT><STRONG><A NAME="item_dbh">dbh</A></STRONG><DD>
-<P>
+<DT><STRONG><A NAME="item_adminsuidsetup">adminsuidsetup USER</A></STRONG><BR>
+<DD>
+Sets the user to USER (see config.html from the base documentation).
+Cleans the environment.
+Make sure the script is running as freeside, or setuid freeside.
+Opens a connection to the database.
+Swaps real and effective UIDs.
+Runs any defined callbacks (see below).
+Returns the DBI database handle (usually you don't need this).
+<P></P>
+<DT><STRONG><A NAME="item_cgisuidsetup_CGI_object">cgisuidsetup CGI_object</A></STRONG><BR>
+<DD>
+Takes a single argument, which is a CGI (see <A HREF=".././FS/CGI.html">the CGI manpage</A>) or Apache (see <EM>Apache</EM>)
+object (CGI::Base is depriciated).  Runs cgisetotaker and then adminsuidsetup.
+<P></P>
+<DT><STRONG><A NAME="item_cgi">cgi</A></STRONG><BR>
+<DD>
+Returns the CGI (see <A HREF=".././FS/CGI.html">the CGI manpage</A>) object.
+<P></P>
+<DT><STRONG><A NAME="item_dbh">dbh</A></STRONG><BR>
+<DD>
 Returns the DBI database handle.
 Returns the DBI database handle.
-
-<DT><STRONG><A NAME="item_datasrc">datasrc</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_datasrc">datasrc</A></STRONG><BR>
+<DD>
 Returns the DBI data source.
 Returns the DBI data source.
-
-<DT><STRONG><A NAME="item_getotaker">getotaker</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_driver_name">driver_name</A></STRONG><BR>
+<DD>
+Returns just the driver name portion of the DBI data source.
+<P></P>
+<DT><STRONG><A NAME="item_getotaker">getotaker</A></STRONG><BR>
+<DD>
 Returns the current Freeside user.
 Returns the current Freeside user.
-
-<DT><STRONG><A NAME="item_cgisetotaker">cgisetotaker</A></STRONG><DD>
-<P>
-Sets and returns the CGI REMOTE_USER. <A HREF="#item__cgi">$cgi</A> should
-be defined as a CGI.pm object. Support for CGI::Base and derived classes is
-depriciated.
-
-<DT><STRONG><A NAME="item_checkeuid">checkeuid</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_cgisetotaker">cgisetotaker</A></STRONG><BR>
+<DD>
+Sets and returns the CGI REMOTE_USER.  $cgi should be defined as a CGI.pm
+object (see <A HREF=".././FS/CGI.html">the CGI manpage</A>) or an Apache object (see <EM>Apache</EM>).  Support for CGI::Base
+and derived classes is depriciated.
+<P></P>
+<DT><STRONG><A NAME="item_checkeuid">checkeuid</A></STRONG><BR>
+<DD>
 Returns true if effective UID is that of the freeside user.
 Returns true if effective UID is that of the freeside user.
-
-<DT><STRONG><A NAME="item_checkruid">checkruid</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_checkruid">checkruid</A></STRONG><BR>
+<DD>
 Returns true if the real UID is that of the freeside user.
 Returns true if the real UID is that of the freeside user.
-
-<DT><STRONG><A NAME="item_swapuid">swapuid</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_swapuid">swapuid</A></STRONG><BR>
+<DD>
 Swaps real and effective UIDs.
 Swaps real and effective UIDs.
-
-<DT><STRONG><A NAME="item_getsecrets">getsecrets [ USER ]</A></STRONG><DD>
-<P>
-Sets the user to USER, if supplied. Sets and returns the DBI datasource,
-username and password for this user from the
-`/usr/local/etc/freeside/mapsecrets' file.
-
-</DL>
+<P></P>
+<DT><STRONG><A NAME="item_getsecrets_%5B_USER_%5D">getsecrets [ USER ]</A></STRONG><BR>
+<DD>
+Sets the user to USER, if supplied.
+Sets and returns the DBI datasource, username and password for this user from
+the `/usr/local/etc/freeside/mapsecrets' file.
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="CALLBACKS">CALLBACKS</A></H1>
-<P>
-Warning: this interface is likely to change in future releases.
-
-<P>
-A package can install a callback to be run in adminsuidsetup by putting a
-coderef into the hash %FS::UID::callback :
-
-<P>
-<PRE>    $coderef = sub { warn &quot;Hi, I'm returning your call!&quot; };
-    $FS::UID::callback{'Package::Name'};
-</PRE>
+<H1><A NAME="callbacks">CALLBACKS</A></H1>
+<P>Warning: this interface is likely to change in future releases.</P>
+<P>A package can install a callback to be run in adminsuidsetup by putting a
+coderef into the hash %FS::UID::callback :</P>
+<PRE>
+    $coderef = sub { warn &quot;Hi, I'm returning your call!&quot; };
+    $FS::UID::callback{'Package::Name'};</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: UID.html,v 1.2 2000-03-03 18:22:42 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: UID.html,v 1.3 2001-04-23 12:40:30 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-Too many package-global variables.
-
-<P>
-Not OO.
-
-<P>
-No capabilities yet. When mod_perl and Authen::DBI are implemented,
-cgisuidsetup will go away as well.
-
-<P>
-Goes through contortions to support non-OO syntax with multiple datasrc's.
-
-<P>
-Callbacks are inelegant.
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>Too many package-global variables.</P>
+<P>Not OO.</P>
+<P>No capabilities yet.  When mod_perl and Authen::DBI are implemented, 
+cgisuidsetup will go away as well.</P>
+<P>Goes through contortions to support non-OO syntax with multiple datasrc's.</P>
+<P>Callbacks are inelegant.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF=".././FS/CGI.html#">the CGI manpage</A>, <EM>DBI</EM>, config.html from the base documentation.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/CGI.html">the CGI manpage</A>, <EM>DBI</EM>, config.html from the base documentation.</P>
 
 </BODY>
 
 
 </BODY>
 
index cb422fc..39d89a7 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::agent - Object methods for agent records</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::agent - Object methods for agent records</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::agent - Object methods for agent records
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::agent - Object methods for agent records</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::agent;
-</PRE>
-<P>
-<PRE>  $record = new FS::agent \%hash;
-  $record = new FS::agent { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
-<P>
-<PRE>  $agent_type = $record-&gt;agent_type;
-</PRE>
-<P>
-<PRE>  $hashref = $record-&gt;pkgpart_hashref;
-  #may purchase $pkgpart if $hashref-&gt;{$pkgpart};
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::agent;</PRE>
+<PRE>
+  $record = new FS::agent \%hash;
+  $record = new FS::agent { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
+<PRE>
+  $agent_type = $record-&gt;agent_type;</PRE>
+<PRE>
+  $hashref = $record-&gt;pkgpart_hashref;
+  #may purchase $pkgpart if $hashref-&gt;{$pkgpart};</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::agent object represents an agent. Every customer has an agent.
-Agents can be used to track things like resellers or salespeople. FS::agent
-inherits from FS::Record. The following fields are currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::agent object represents an agent.  Every customer has an agent.  Agents
+can be used to track things like resellers or salespeople.  FS::agent inherits
+from FS::Record.  The following fields are currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_agemtnum">agemtnum - primary key (assigned automatically for new agents)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_agent">agent - Text name of this agent</A></STRONG><DD>
-<DT><STRONG><A NAME="item_typenum">typenum - Agent type.  See FS::agent_type</A></STRONG><DD>
-<DT><STRONG><A NAME="item_prog">prog - For future use.</A></STRONG><DD>
-<DT><STRONG><A NAME="item_freq">freq - For future use.</A></STRONG><DD>
+<DT><STRONG><A NAME="item_key">agemtnum - primary key (assigned automatically for new agents)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_agent_%2D_Text_name_of_this_agent">agent - Text name of this agent</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_typenum_%2D_Agent_type%2E_See_FS%3A%3Aagent_type">typenum - Agent type.  See <A HREF=".././FS/agent_type.html">the FS::agent_type manpage</A></A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_prog_%2D_For_future_use%2E">prog - For future use.</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_freq_%2D_For_future_use%2E">freq - For future use.</A></STRONG><BR>
+<DD>
 </DL>
 <P>
 <HR>
 </DL>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Creates a new agent. To add the agent to the database, see <A HREF="#insert">insert</A>.
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this agent to the database. If there is an error, returns the error,
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Creates a new agent.  To add the agent to the database, see <A HREF="#insert">insert</A>.
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this agent to the database.  If there is an error, returns the error,
 otherwise returns false.
 otherwise returns false.
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
-Deletes this agent from the database. Only agents with no customers can be
-deleted. If there is an error, returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-Replaces OLD_RECORD with this one in the database. If there is an error,
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
+Deletes this agent from the database.  Only agents with no customers can be
+deleted.  If there is an error, returns the error, otherwise returns false.
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+Replaces OLD_RECORD with this one in the database.  If there is an error,
 returns the error, otherwise returns false.
 returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid agent. If there is an error,
-returns the error, otherwise returns false. Called by the insert and
-replace methods.
-
-<DT><STRONG><A NAME="item_agent_type">agent_type</A></STRONG><DD>
-<P>
-Returns the FS::agent_type object (see <A HREF="../FS/agent_type.html">FS::agent_type</A>) for this agent.
-
-<DT><STRONG><A NAME="item_pkgpart_hashref">pkgpart_hashref</A></STRONG><DD>
-<P>
-Returns a hash reference. The keys of the hash are pkgparts. The value is
-true iff this agent may purchase the specified package definition. See
-<A HREF="../FS/part_pkg.html">FS::part_pkg</A>.
-
-</DL>
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid agent.  If there is an error,
+returns the error, otherwise returns false.  Called by the insert and replace
+methods.
+<P></P>
+<DT><STRONG><A NAME="item_agent_type">agent_type</A></STRONG><BR>
+<DD>
+Returns the FS::agent_type object (see <A HREF=".././FS/agent_type.html">the FS::agent_type manpage</A>) for this agent.
+<P></P>
+<DT><STRONG><A NAME="item_pkgpart_hashref">pkgpart_hashref</A></STRONG><BR>
+<DD>
+Returns a hash reference.  The keys of the hash are pkgparts.  The value is
+true if this agent may purchase the specified package definition.  See
+<A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A>.
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: agent.html,v 1.2 2000-03-03 18:22:42 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: agent.html,v 1.3 2001-04-23 12:40:30 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
+<H1><A NAME="bugs">BUGS</A></H1>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/agent_type.html">FS::agent_type</A>, <A HREF="../FS/cust_main.html">FS::cust_main</A>, <A HREF="../FS/part_pkg.html">FS::part_pkg</A>, schema.html from the base documentation.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/agent_type.html">the FS::agent_type manpage</A>, <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>, <A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A>, 
+schema.html from the base documentation.</P>
 
 </BODY>
 
 
 </BODY>
 
index d246bea..b349407 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::agent_type - Object methods for agent_type records</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::agent_type - Object methods for agent_type records</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::agent_type - Object methods for agent_type records
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::agent_type - Object methods for agent_type records</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::agent_type;
-</PRE>
-<P>
-<PRE>  $record = new FS::agent_type \%hash;
-  $record = new FS::agent_type { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
-<P>
-<PRE>  $hashref = $record-&gt;pkgpart_hashref;
-  #may purchase $pkgpart if $hashref-&gt;{$pkgpart};
-</PRE>
-<P>
-<PRE>  @type_pkgs = $record-&gt;type_pkgs;
-</PRE>
-<P>
-<PRE>  @pkgparts = $record-&gt;pkgpart;
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::agent_type;</PRE>
+<PRE>
+  $record = new FS::agent_type \%hash;
+  $record = new FS::agent_type { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
+<PRE>
+  $hashref = $record-&gt;pkgpart_hashref;
+  #may purchase $pkgpart if $hashref-&gt;{$pkgpart};</PRE>
+<PRE>
+  @type_pkgs = $record-&gt;type_pkgs;</PRE>
+<PRE>
+  @pkgparts = $record-&gt;pkgpart;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::agent_type object represents an agent type. Every agent (see
-<A HREF="../FS/agent.html">FS::agent</A>) has an agent type. Agent types define which packages (see
-<A HREF="../FS/part_pkg.html">FS::part_pkg</A>) may be purchased by customers (see <A HREF="../FS/cust_main.html">FS::cust_main</A>), via FS::type_pkgs records (see <A HREF="../FS/type_pkgs.html">FS::type_pkgs</A>). FS::agent_type inherits from FS::Record. The following fields are
-currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::agent_type object represents an agent type.  Every agent (see
+<A HREF=".././FS/agent.html">the FS::agent manpage</A>) has an agent type.  Agent types define which packages (see
+<A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A>) may be purchased by customers (see <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>), via 
+FS::type_pkgs records (see <A HREF=".././FS/type_pkgs.html">the FS::type_pkgs manpage</A>).  FS::agent_type inherits from
+FS::Record.  The following fields are currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_typenum">typenum - primary key (assigned automatically for new agent types)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_atype">atype - Text name of this agent type</A></STRONG><DD>
+<DT><STRONG><A NAME="item_key">typenum - primary key (assigned automatically for new agent types)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_atype_%2D_Text_name_of_this_agent_type">atype - Text name of this agent type</A></STRONG><BR>
+<DD>
 </DL>
 <P>
 <HR>
 </DL>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Creates a new agent type. To add the agent type to the database, see
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Creates a new agent type.  To add the agent type to the database, see
 <A HREF="#insert">insert</A>.
 <A HREF="#insert">insert</A>.
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this agent type to the database. If there is an error, returns the
-error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
-Deletes this agent type from the database. Only agent types with no agents
-can be deleted. If there is an error, returns the error, otherwise returns
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this agent type to the database.  If there is an error, returns the error,
+otherwise returns false.
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
+Deletes this agent type from the database.  Only agent types with no agents
+can be deleted.  If there is an error, returns the error, otherwise returns
 false.
 false.
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-Replaces OLD_RECORD with this one in the database. If there is an error,
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+Replaces OLD_RECORD with this one in the database.  If there is an error,
 returns the error, otherwise returns false.
 returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid agent type. If there is an
-error, returns the error, otherwise returns false. Called by the insert and
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid agent type.  If there is an
+error, returns the error, otherwise returns false.  Called by the insert and
 replace methods.
 replace methods.
-
-<DT><STRONG><A NAME="item_pkgpart_hashref">pkgpart_hashref</A></STRONG><DD>
-<P>
-Returns a hash reference. The keys of the hash are pkgparts. The value is
-true iff this agent may purchase the specified package definition. See
-<A HREF="../FS/part_pkg.html">FS::part_pkg</A>.
-
-<DT><STRONG><A NAME="item_type_pkgs">type_pkgs</A></STRONG><DD>
-<P>
-Returns all FS::type_pkgs objects (see <A HREF="../FS/type_pkgs.html">FS::type_pkgs</A>) for this agent type.
-
-<DT><STRONG><A NAME="item_pkgpart">pkgpart</A></STRONG><DD>
-<P>
-Returns the pkgpart of all package definitions (see <A HREF="../FS/part_pkg.html">FS::part_pkg</A>) for this agent type.
-
-</DL>
+<P></P>
+<DT><STRONG><A NAME="item_pkgpart_hashref">pkgpart_hashref</A></STRONG><BR>
+<DD>
+Returns a hash reference.  The keys of the hash are pkgparts.  The value is
+true iff this agent may purchase the specified package definition.  See
+<A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A>.
+<P></P>
+<DT><STRONG><A NAME="item_type_pkgs">type_pkgs</A></STRONG><BR>
+<DD>
+Returns all FS::type_pkgs objects (see <A HREF=".././FS/type_pkgs.html">the FS::type_pkgs manpage</A>) for this agent type.
+<P></P>
+<DT><STRONG><A NAME="item_pkgpart">pkgpart</A></STRONG><BR>
+<DD>
+Returns the pkgpart of all package definitions (see <A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A>) for this
+agent type.
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: agent_type.html,v 1.2 2000-03-03 18:22:42 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: agent_type.html,v 1.3 2001-04-23 12:40:30 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
+<H1><A NAME="bugs">BUGS</A></H1>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/agent.html">FS::agent</A>, <A HREF="../FS/type_pkgs.html">FS::type_pkgs</A>, <A HREF="../FS/cust_main.html">FS::cust_main</A>,
-<A HREF="../FS/part_pkg.html">FS::part_pkg</A>, schema.html from the base documentation.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/agent.html">the FS::agent manpage</A>, <A HREF=".././FS/type_pkgs.html">the FS::type_pkgs manpage</A>, <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>,
+<A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A>, schema.html from the base documentation.</P>
 
 </BODY>
 
 
 </BODY>
 
index e09bae5..a59542c 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::cust_bill - Object methods for cust_bill records</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::cust_bill - Object methods for cust_bill records</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::cust_bill - Object methods for cust_bill records
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::cust_bill - Object methods for cust_bill records</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::cust_bill;
-</PRE>
-<P>
-<PRE>  $record = new FS::cust_bill \%hash;
-  $record = new FS::cust_bill { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
-<P>
-<PRE>  ( $total_previous_balance, @previous_cust_bill ) = $record-&gt;previous;
-</PRE>
-<P>
-<PRE>  @cust_bill_pkg_objects = $cust_bill-&gt;cust_bill_pkg;
-</PRE>
-<P>
-<PRE>  ( $total_previous_credits, @previous_cust_credit ) = $record-&gt;cust_credit;
-</PRE>
-<P>
-<PRE>  @cust_pay_objects = $cust_bill-&gt;cust_pay;
-</PRE>
-<P>
-<PRE>  @lines = $cust_bill-&gt;print_text;
-  @lines = $cust_bill-&gt;print_text $time;
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::cust_bill;</PRE>
+<PRE>
+  $record = new FS::cust_bill \%hash;
+  $record = new FS::cust_bill { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
+<PRE>
+  ( $total_previous_balance, @previous_cust_bill ) = $record-&gt;previous;</PRE>
+<PRE>
+  @cust_bill_pkg_objects = $cust_bill-&gt;cust_bill_pkg;</PRE>
+<PRE>
+  ( $total_previous_credits, @previous_cust_credit ) = $record-&gt;cust_credit;</PRE>
+<PRE>
+  @cust_pay_objects = $cust_bill-&gt;cust_pay;</PRE>
+<PRE>
+  @lines = $cust_bill-&gt;print_text;
+  @lines = $cust_bill-&gt;print_text $time;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::cust_bill object represents an invoice. FS::cust_bill inherits from
-FS::Record. The following fields are currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::cust_bill object represents an invoice; a declaration that a customer
+owes you money.  The specific charges are itemized as <STRONG>cust_bill_pkg</STRONG> records
+(see <A HREF=".././FS/cust_bill_pkg.html">the FS::cust_bill_pkg manpage</A>).  FS::cust_bill inherits from FS::Record.  The
+following fields are currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_invnum">invnum - primary key (assigned automatically for new invoices)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_custnum">custnum - customer (see FS::cust_main)</A></STRONG><DD>
-<DT><STRONG><A NAME="item__date">_date - specified as a UNIX timestamp; see perlfunc/&quot;time&quot;.  Also see
-Time::Local and Date::Parse for conversion functions.</A></STRONG><DD>
-<DT><STRONG><A NAME="item_charged">charged - amount of this invoice</A></STRONG><DD>
-<DT><STRONG><A NAME="item_owed">owed - amount still outstanding on this invoice, which is charged minus
-all payments (see FS::cust_pay).</A></STRONG><DD>
-<DT><STRONG><A NAME="item_printed">printed - how many times this invoice has been printed automatically
-(see FS::cust_main/&quot;collect&quot;).</A></STRONG><DD>
+<DT><STRONG><A NAME="item_key">invnum - primary key (assigned automatically for new invoices)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_customer">custnum - customer (see <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item__date_%2D_specified_as_a_UNIX_timestamp%3B_see_per">_date - specified as a UNIX timestamp; see <EM>perlfunc/``time''</EM>.  Also see
+<A HREF="../Time/Local.html">the Time::Local manpage</A> and <A HREF="../Date/Parse.html">the Date::Parse manpage</A> for conversion functions.</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_charged_%2D_amount_of_this_invoice">charged - amount of this invoice</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_automatically">printed - how many times this invoice has been printed automatically
+(see <A HREF=".././FS/cust_main.html#collect">collect in the FS::cust_main manpage</A>).</A></STRONG><BR>
+<DD>
 </DL>
 <P>
 <HR>
 </DL>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Creates a new invoice. To add the invoice to the database, see <A HREF="#insert">insert</A>. Invoices are normally created by calling the bill method of a customer
-object (see <A HREF="../FS/cust_main.html">FS::cust_main</A>).
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this invoice to the database (``Posts'' the invoice). If there is an
-error, returns the error, otherwise returns false.
-
-<P>
-When adding new invoices, owed must be charged (or null, in which case it
-is automatically set to charged).
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
-Currently unimplemented. I don't remove invoices because there would then
-be no record you ever posted this invoice (which is bad, no?)
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-Replaces the OLD_RECORD with this one in the database. If there is an
-error, returns the error, otherwise returns false.
-
-<P>
-Only owed and printed may be changed. Owed is normally updated by creating
-and inserting a payment (see <A HREF="../FS/cust_pay.html">FS::cust_pay</A>). Printed is normally updated by calling the collect method of a customer
-object (see <A HREF="../FS/cust_main.html">FS::cust_main</A>).
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid invoice. If there is an
-error, returns the error, otherwise returns false. Called by the insert and
-replace methods.
-
-<DT><STRONG><A NAME="item_previous">previous</A></STRONG><DD>
-<P>
-Returns a list consisting of the total previous balance for this customer,
-followed by the previous outstanding invoices (as FS::cust_bill objects
-also).
-
-<DT><STRONG><A NAME="item_cust_bill_pkg">cust_bill_pkg</A></STRONG><DD>
-<P>
-Returns the line items (see <A HREF="../FS/cust_bill_pkg.html">FS::cust_bill_pkg</A>) for this invoice.
-
-<DT><STRONG><A NAME="item_cust_credit">cust_credit</A></STRONG><DD>
-<P>
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Creates a new invoice.  To add the invoice to the database, see <A HREF="#insert">insert</A>.
+Invoices are normally created by calling the bill method of a customer object
+(see <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>).
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this invoice to the database (``Posts'' the invoice).  If there is an error,
+returns the error, otherwise returns false.
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
+Currently unimplemented.  I don't remove invoices because there would then be
+no record you ever posted this invoice (which is bad, no?)
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+Replaces the OLD_RECORD with this one in the database.  If there is an error,
+returns the error, otherwise returns false.
+<P>Only printed may be changed.  printed is normally updated by calling the
+collect method of a customer object (see <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>).</P>
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid invoice.  If there is an error,
+returns the error, otherwise returns false.  Called by the insert and replace
+methods.
+<P></P>
+<DT><STRONG><A NAME="item_previous">previous</A></STRONG><BR>
+<DD>
+Returns a list consisting of the total previous balance for this customer, 
+followed by the previous outstanding invoices (as FS::cust_bill objects also).
+<P></P>
+<DT><STRONG><A NAME="item_cust_bill_pkg">cust_bill_pkg</A></STRONG><BR>
+<DD>
+Returns the line items (see <A HREF=".././FS/cust_bill_pkg.html">the FS::cust_bill_pkg manpage</A>) for this invoice.
+<P></P>
+<DT><STRONG><A NAME="item_cust_credit">cust_credit</A></STRONG><BR>
+<DD>
 Returns a list consisting of the total previous credited (see
 Returns a list consisting of the total previous credited (see
-<A HREF="../FS/cust_credit.html">FS::cust_credit</A>) for this customer, followed by the previous outstanding credits
-(FS::cust_credit objects).
-
-<DT><STRONG><A NAME="item_cust_pay">cust_pay</A></STRONG><DD>
-<P>
-Returns all payments (see <A HREF="../FS/cust_pay.html">FS::cust_pay</A>) for this invoice.
-
-<DT><STRONG><A NAME="item_print_text">print_text [TIME];</A></STRONG><DD>
-<P>
-Returns an ASCII invoice, as a list of lines.
-
-<P>
-TIME an optional value used to control the printing of overdue messages.
-The default is now. It isn't the date of the invoice; that's the `_date'
-field. It is specified as a UNIX timestamp; see <EM>perlfunc</EM>. Also see
-<A HREF="../Time/Local.html">Time::Local</A> and <A HREF="../Date/Parse.html">Date::Parse</A> for conversion functions.
-
-</DL>
+<A HREF=".././FS/cust_credit.html">the FS::cust_credit manpage</A>) for this customer, followed by the previous outstanding
+credits (FS::cust_credit objects).
+<P></P>
+<DT><STRONG><A NAME="item_cust_pay">cust_pay</A></STRONG><BR>
+<DD>
+Returns all payments (see <A HREF=".././FS/cust_pay.html">the FS::cust_pay manpage</A>) for this invoice.
+<P></P>
+<DT><STRONG><A NAME="item_owed">owed</A></STRONG><BR>
+<DD>
+Returns the amount owed (still outstanding) on this invoice, which is charged
+minus all payments (see <A HREF=".././FS/cust_pay.html">the FS::cust_pay manpage</A>).
+<P></P>
+<DT><STRONG><A NAME="item_print_text_%5BTIME%5D%3B">print_text [TIME];</A></STRONG><BR>
+<DD>
+Returns an text invoice, as a list of lines.
+<P>TIME an optional value used to control the printing of overdue messages.  The
+default is now.  It isn't the date of the invoice; that's the `_date' field.
+It is specified as a UNIX timestamp; see <EM>perlfunc/``time''</EM>.  Also see
+<A HREF="../Time/Local.html">the Time::Local manpage</A> and <A HREF="../Date/Parse.html">the Date::Parse manpage</A> for conversion functions.</P>
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: cust_bill.html,v 1.2 2000-03-03 18:22:42 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: cust_bill.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-The delete method.
-
-<P>
-print_text formatting (and some logic :/) is in source, but needs to be
-slurped in from a file. Also number of lines ($=).
-
-<P>
-missing print_ps for a nice postscript copy (maybe HylaFAX-cover-page-style
-or something similar so the look can be completely customized?)
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>The delete method.</P>
+<P>print_text formatting (and some logic :/) is in source, but needs to be
+slurped in from a file.  Also number of lines ($=).</P>
+<P>missing print_ps for a nice postscript copy (maybe HylaFAX-cover-page-style
+or something similar so the look can be completely customized?)</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/cust_main.html">FS::cust_main</A>, <A HREF="../FS/cust_pay.html">FS::cust_pay</A>, <A HREF="../FS/cust_bill_pkg.html">FS::cust_bill_pkg</A>,
-<A HREF="../FS/cust_credit.html">FS::cust_credit</A>, schema.html from the base documentation.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>, <A HREF=".././FS/cust_pay.html">the FS::cust_pay manpage</A>, <A HREF=".././FS/cust_bill_pkg.html">the FS::cust_bill_pkg manpage</A>,
+<A HREF=".././FS/cust_credit.html">the FS::cust_credit manpage</A>, schema.html from the base documentation.</P>
 
 </BODY>
 
 
 </BODY>
 
index b948744..2cdd895 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::cust_bill_pkg - Object methods for cust_bill_pkg records</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::cust_bill_pkg - Object methods for cust_bill_pkg records</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::cust_bill_pkg - Object methods for cust_bill_pkg records
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::cust_bill_pkg - Object methods for cust_bill_pkg records</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::cust_bill_pkg;
-</PRE>
-<P>
-<PRE>  $record = new FS::cust_bill_pkg \%hash;
-  $record = new FS::cust_bill_pkg { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::cust_bill_pkg;</PRE>
+<PRE>
+  $record = new FS::cust_bill_pkg \%hash;
+  $record = new FS::cust_bill_pkg { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::cust_bill_pkg object represents an invoice line item.
-FS::cust_bill_pkg inherits from FS::Record. The following fields are
-currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::cust_bill_pkg object represents an invoice line item.
+FS::cust_bill_pkg inherits from FS::Record.  The following fields are currently
+supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_invnum">invnum - invoice (see FS::cust_bill)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_pkgnum">pkgnum - package (see FS::cust_pkg)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_setup">setup - setup fee</A></STRONG><DD>
-<DT><STRONG><A NAME="item_recur">recur - recurring fee</A></STRONG><DD>
-<DT><STRONG><A NAME="item_sdate">sdate - starting date of recurring fee</A></STRONG><DD>
-<DT><STRONG><A NAME="item_edate">edate - ending date of recurring fee</A></STRONG><DD>
+<DT><STRONG><A NAME="item_invoice">invnum - invoice (see <A HREF=".././FS/cust_bill.html">the FS::cust_bill manpage</A>)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_package">pkgnum - package (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>) or 0 for the special virtual sales tax package</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_setup_%2D_setup_fee">setup - setup fee</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_recur_%2D_recurring_fee">recur - recurring fee</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_sdate_%2D_starting_date_of_recurring_fee">sdate - starting date of recurring fee</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_edate_%2D_ending_date_of_recurring_fee">edate - ending date of recurring fee</A></STRONG><BR>
+<DD>
 </DL>
 </DL>
-<P>
-sdate and edate are specified as UNIX timestamps; see <EM>perlfunc</EM>. Also see <A HREF="../Time/Local.html">Time::Local</A> and <A HREF="../Date/Parse.html">Date::Parse</A> for conversion functions.
-
+<P>sdate and edate are specified as UNIX timestamps; see <EM>perlfunc/``time''</EM>.  Also
+see <A HREF="../Time/Local.html">the Time::Local manpage</A> and <A HREF="../Date/Parse.html">the Date::Parse manpage</A> for conversion functions.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Creates a new line item. To add the line item to the database, see
-<A HREF="#insert">insert</A>. Line items are normally created by calling the bill method of a customer
-object (see <A HREF="../FS/cust_main.html">FS::cust_main</A>).
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this line item to the database. If there is an error, returns the
-error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
-Currently unimplemented. I don't remove line items because there would then
-be no record the items ever existed (which is bad, no?)
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-Currently unimplemented. This would be even more of an accounting nightmare
-than deleteing the items. Just don't do it.
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid line item. If there is an
-error, returns the error, otherwise returns false. Called by the insert
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Creates a new line item.  To add the line item to the database, see
+<A HREF="#insert">insert</A>.  Line items are normally created by calling the bill method of a
+customer object (see <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>).
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this line item to the database.  If there is an error, returns the error,
+otherwise returns false.
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
+Currently unimplemented.  I don't remove line items because there would then be
+no record the items ever existed (which is bad, no?)
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+Currently unimplemented.  This would be even more of an accounting nightmare
+than deleteing the items.  Just don't do it.
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid line item.  If there is an
+error, returns the error, otherwise returns false.  Called by the insert
 method.
 method.
-
-</DL>
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: cust_bill_pkg.html,v 1.2 2000-03-03 18:22:42 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: cust_bill_pkg.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
+<H1><A NAME="bugs">BUGS</A></H1>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/cust_bill.html">FS::cust_bill</A>, <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>, <A HREF="../FS/cust_main.html">FS::cust_main</A>, schema.html from the base documentation.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/cust_bill.html">the FS::cust_bill manpage</A>, <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>, <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>, schema.html
+from the base documentation.</P>
 
 </BODY>
 
 
 </BODY>
 
index d23fcd7..f084245 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::cust_credit - Object methods for cust_credit records</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::cust_credit - Object methods for cust_credit records</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::cust_credit - Object methods for cust_credit records
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::cust_credit - Object methods for cust_credit records</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::cust_credit;
-</PRE>
-<P>
-<PRE>  $record = new FS::cust_credit \%hash;
-  $record = new FS::cust_credit { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::cust_credit;</PRE>
+<PRE>
+  $record = new FS::cust_credit \%hash;
+  $record = new FS::cust_credit { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::cust_credit object represents a credit. FS::cust_credit inherits
-from FS::Record. The following fields are currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::cust_credit object represents a credit; the equivalent of a negative
+<STRONG>cust_bill</STRONG> record (see <A HREF=".././FS/cust_bill.html">the FS::cust_bill manpage</A>).  FS::cust_credit inherits from
+FS::Record.  The following fields are currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_crednum">crednum - primary key (assigned automatically for new credits)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_custnum">custnum - customer (see FS::cust_main)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_amount">amount - amount of the credit</A></STRONG><DD>
-<DT><STRONG><A NAME="item_credited">credited - how much of this credit that is still outstanding, which is
-amount minus all refunds (see FS::cust_refund).</A></STRONG><DD>
-<DT><STRONG><A NAME="item__date">_date - specified as a UNIX timestamp; see perlfunc/&quot;time&quot;.  Also see
-Time::Local and Date::Parse for conversion functions.</A></STRONG><DD>
-<DT><STRONG><A NAME="item_otaker">otaker - order taker (assigned automatically, see FS::UID)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_reason">reason - text</A></STRONG><DD>
+<DT><STRONG><A NAME="item_key">crednum - primary key (assigned automatically for new credits)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_customer">custnum - customer (see <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_amount_%2D_amount_of_the_credit">amount - amount of the credit</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item__date_%2D_specified_as_a_UNIX_timestamp%3B_see_per">_date - specified as a UNIX timestamp; see <EM>perlfunc/``time''</EM>.  Also see
+<A HREF="../Time/Local.html">the Time::Local manpage</A> and <A HREF="../Date/Parse.html">the Date::Parse manpage</A> for conversion functions.</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_taker">otaker - order taker (assigned automatically, see <A HREF=".././FS/UID.html">the FS::UID manpage</A>)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_reason_%2D_text">reason - text</A></STRONG><BR>
+<DD>
 </DL>
 <P>
 <HR>
 </DL>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Creates a new credit. To add the credit to the database, see <A HREF="#insert">insert</A>.
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this credit to the database (``Posts'' the credit). If there is an
-error, returns the error, otherwise returns false.
-
-<P>
-When adding new invoices, credited must be amount (or null, in which case
-it is automatically set to amount).
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Creates a new credit.  To add the credit to the database, see <A HREF="#insert">insert</A>.
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this credit to the database (``Posts'' the credit).  If there is an error,
+returns the error, otherwise returns false.
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
 Currently unimplemented.
 Currently unimplemented.
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-Replaces the OLD_RECORD with this one in the database. If there is an
-error, returns the error, otherwise returns false.
-
-<P>
-Only credited may be changed. Credited is normally updated by creating and
-inserting a refund (see <A HREF="../FS/cust_refund.html">FS::cust_refund</A>).
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid credit. If there is an
-error, returns the error, otherwise returns false. Called by the insert and
-replace methods.
-
-</DL>
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+Credits may not be modified; there would then be no record the credit was ever
+posted.
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid credit.  If there is an error,
+returns the error, otherwise returns false.  Called by the insert and replace
+methods.
+<P></P>
+<DT><STRONG><A NAME="item_cust_refund">cust_refund</A></STRONG><BR>
+<DD>
+Returns all refunds (see <A HREF=".././FS/cust_refund.html">the FS::cust_refund manpage</A>) for this credit.
+<P></P>
+<DT><STRONG><A NAME="item_credited">credited</A></STRONG><BR>
+<DD>
+Returns the amount of this credit that is still outstanding; which is
+amount minus all refunds (see <A HREF=".././FS/cust_refund.html">the FS::cust_refund manpage</A>).
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: cust_credit.html,v 1.2 2000-03-03 18:22:42 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: cust_credit.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-The delete method.
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>The delete method.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/cust_refund.html">FS::cust_refund</A>, <A HREF="../FS/cust_bill.html">FS::cust_bill</A>, schema.html from the base documentation.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/cust_refund.html">the FS::cust_refund manpage</A>, <A HREF=".././FS/cust_bill.html">the FS::cust_bill manpage</A>, schema.html from the base
+documentation.</P>
 
 </BODY>
 
 
 </BODY>
 
index 384e3de..c5df1da 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::cust_main - Object methods for cust_main records</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::cust_main - Object methods for cust_main records</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::cust_main - Object methods for cust_main records
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::cust_main - Object methods for cust_main records</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::cust_main;
-</PRE>
-<P>
-<PRE>  $record = new FS::cust_main \%hash;
-  $record = new FS::cust_main { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
-<P>
-<PRE>  @cust_pkg = $record-&gt;all_pkgs;
-</PRE>
-<P>
-<PRE>  @cust_pkg = $record-&gt;ncancelled_pkgs;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;bill;
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::cust_main;</PRE>
+<PRE>
+  $record = new FS::cust_main \%hash;
+  $record = new FS::cust_main { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
+<PRE>
+  @cust_pkg = $record-&gt;all_pkgs;</PRE>
+<PRE>
+  @cust_pkg = $record-&gt;ncancelled_pkgs;</PRE>
+<PRE>
+  $error = $record-&gt;bill;
   $error = $record-&gt;bill %options;
   $error = $record-&gt;bill %options;
-  $error = $record-&gt;bill 'time' =&gt; $time;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;collect;
+  $error = $record-&gt;bill 'time' =&gt; $time;</PRE>
+<PRE>
+  $error = $record-&gt;collect;
   $error = $record-&gt;collect %options;
   $error = $record-&gt;collect 'invoice_time'   =&gt; $time,
                             'batch_card'     =&gt; 'yes',
                             'report_badcard' =&gt; 'yes',
   $error = $record-&gt;collect %options;
   $error = $record-&gt;collect 'invoice_time'   =&gt; $time,
                             'batch_card'     =&gt; 'yes',
                             'report_badcard' =&gt; 'yes',
-                          ;
-</PRE>
+                          ;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::cust_main object represents a customer. FS::cust_main inherits from
-FS::Record. The following fields are currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::cust_main object represents a customer.  FS::cust_main inherits from 
+FS::Record.  The following fields are currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_custnum">custnum - primary key (assigned automatically for new customers)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_agentnum">agentnum - agent (see FS::agent)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_refnum">refnum - referral (see FS::part_referral)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_first">first - name</A></STRONG><DD>
-<DT><STRONG><A NAME="item_last">last - name</A></STRONG><DD>
-<DT><STRONG><A NAME="item_ss">ss - social security number (optional)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_company">company - (optional)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_address1">address1</A></STRONG><DD>
-<DT><STRONG><A NAME="item_address2">address2 - (optional)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_city">city</A></STRONG><DD>
-<DT><STRONG><A NAME="item_county">county - (optional, see FS::cust_main_county)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_state">state - (see FS::cust_main_county)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_zip">zip</A></STRONG><DD>
-<DT><STRONG><A NAME="item_country">country - (see FS::cust_main_county)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_daytime">daytime - phone (optional)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_night">night - phone (optional)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_fax">fax - phone (optional)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_payby">payby - `CARD' (credit cards), `BILL' (billing), `COMP' (free), or `PREPAY' (special billing type: applies a credit - see FS::prepay_credit and sets billing type to BILL)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_payinfo">payinfo - card number, P.O., comp issuer (4-8 lowercase alphanumerics; think username) or prepayment identifier (see FS::prepay_credit)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_paydate">paydate - expiration date, mm/yyyy, m/yyyy, mm/yy or m/yy</A></STRONG><DD>
-<DT><STRONG><A NAME="item_payname">payname - name on card or billing name</A></STRONG><DD>
-<DT><STRONG><A NAME="item_tax">tax - tax exempt, empty or `Y'</A></STRONG><DD>
-<DT><STRONG><A NAME="item_otaker">otaker - order taker (assigned automatically, see FS::UID)</A></STRONG><DD>
+<DT><STRONG><A NAME="item_key">custnum - primary key (assigned automatically for new customers)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_agent">agentnum - agent (see <A HREF=".././FS/agent.html">the FS::agent manpage</A>)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_referral">refnum - referral (see <A HREF=".././FS/part_referral.html">the FS::part_referral manpage</A>)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_first_%2D_name">first - name</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_last_%2D_name">last - name</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_number">ss - social security number (optional)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_company_%2D_%28optional%29">company - (optional)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_address1">address1</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_address2_%2D_%28optional%29">address2 - (optional)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_city">city</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_county_%2D_%28optional%2C_see_FS%3A%3Acust_main_co">county - (optional, see <A HREF=".././FS/cust_main_county.html">the FS::cust_main_county manpage</A>)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_state_%2D_%28see_FS%3A%3Acust_main_county%29">state - (see <A HREF=".././FS/cust_main_county.html">the FS::cust_main_county manpage</A>)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_zip">zip</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_country_%2D_%28see_FS%3A%3Acust_main_county%29">country - (see <A HREF=".././FS/cust_main_county.html">the FS::cust_main_county manpage</A>)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_phone">daytime - phone (optional)</A></STRONG><BR>
+<DD>
+<DT><STRONG>night - phone (optional)</STRONG><BR>
+<DD>
+<DT><STRONG>fax - phone (optional)</STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_payby_%2D_%60CARD%27_%28credit_cards%29%2C_%60BILL">payby - `CARD' (credit cards), `BILL' (billing), `COMP' (free), or `PREPAY' (special billing type: applies a credit - see <A HREF=".././FS/prepay_credit.html">the FS::prepay_credit manpage</A> and sets billing type to BILL)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_issuer">payinfo - card number, P.O., comp issuer (4-8 lowercase alphanumerics; think username) or prepayment identifier (see <A HREF=".././FS/prepay_credit.html">the FS::prepay_credit manpage</A>)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_paydate_%2D_expiration_date%2C_mm%2Fyyyy%2C_m%2Fyy">paydate - expiration date, mm/yyyy, m/yyyy, mm/yy or m/yy</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_payname_%2D_name_on_card_or_billing_name">payname - name on card or billing name</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_tax_%2D_tax_exempt%2C_empty_or_%60Y%27">tax - tax exempt, empty or `Y'</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_taker">otaker - order taker (assigned automatically, see <A HREF=".././FS/UID.html">the FS::UID manpage</A>)</A></STRONG><BR>
+<DD>
 </DL>
 <P>
 <HR>
 </DL>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Creates a new customer. To add the customer to the database, see <A HREF="#insert">insert</A>.
-
-<P>
-Note that this stores the hash reference, not a distinct copy of the hash
-it points to. You can ask the object for a copy with the <EM>hash</EM> method.
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this customer to the database. If there is an error, returns the
-error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_delete">delete NEW_CUSTNUM</A></STRONG><DD>
-<P>
-This deletes the customer. If there is an error, returns the error,
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Creates a new customer.  To add the customer to the database, see <A HREF="#insert">insert</A>.
+<P>Note that this stores the hash reference, not a distinct copy of the hash it
+points to.  You can ask the object for a copy with the <EM>hash</EM> method.</P>
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this customer to the database.  If there is an error, returns the error,
 otherwise returns false.
 otherwise returns false.
-
-<P>
-This will completely remove all traces of the customer record. This is not
+<P>There is a special insert mode in which you pass a data structure to the insert
+method containing FS::cust_pkg and FS::svc_<EM>tablename</EM> objects.  When
+running under a transactional database, all records are inserted atomicly, or
+the transaction is rolled back.  There should be a better explanation of this,
+but until then, here's an example:</P>
+<PRE>
+  use Tie::RefHash;
+  tie %hash, 'Tie::RefHash'; #this part is important
+  %hash = {
+    $cust_pkg =&gt; [ $svc_acct ],
+  };
+  $cust_main-&gt;insert( \%hash );</PRE>
+<P></P>
+<DT><STRONG><A NAME="item_delete_NEW_CUSTNUM">delete NEW_CUSTNUM</A></STRONG><BR>
+<DD>
+This deletes the customer.  If there is an error, returns the error, otherwise
+returns false.
+<P>This will completely remove all traces of the customer record.  This is not
 what you want when a customer cancels service; for that, cancel all of the
 what you want when a customer cancels service; for that, cancel all of the
-customer's packages (see <A HREF="../FS/cust_pkg.html#cancel">cancel</A>).
-
-<P>
-If the customer has any packages, you need to pass a new (valid) customer
-number for those packages to be transferred to.
-
-<P>
-You can't delete a customer with invoices (see <A HREF="../FS/cust_bill.html">FS::cust_bill</A>), or credits (see <A HREF="../FS/cust_credit.html">FS::cust_credit</A>).
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-Replaces the OLD_RECORD with this one in the database. If there is an
-error, returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid customer record. If there is
-an error, returns the error, otherwise returns false. Called by the insert
+customer's packages (see <A HREF=".././FS/cust_pkg.html#cancel">cancel in the FS::cust_pkg manpage</A>).</P>
+<P>If the customer has any packages, you need to pass a new (valid) customer
+number for those packages to be transferred to.</P>
+<P>You can't delete a customer with invoices (see <A HREF=".././FS/cust_bill.html">the FS::cust_bill manpage</A>),
+or credits (see <A HREF=".././FS/cust_credit.html">the FS::cust_credit manpage</A>).</P>
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+Replaces the OLD_RECORD with this one in the database.  If there is an error,
+returns the error, otherwise returns false.
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid customer record.  If there is
+an error, returns the error, otherwise returns false.  Called by the insert
 and repalce methods.
 and repalce methods.
-
-<DT><STRONG><A NAME="item_all_pkgs">all_pkgs</A></STRONG><DD>
-<P>
-Returns all packages (see <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>) for this customer.
-
-<DT><STRONG><A NAME="item_ncancelled_pkgs">ncancelled_pkgs</A></STRONG><DD>
-<P>
-Returns all non-cancelled packages (see <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>) for this customer.
-
-<DT><STRONG><A NAME="item_bill">bill OPTIONS</A></STRONG><DD>
-<P>
-Generates invoices (see <A HREF="../FS/cust_bill.html">FS::cust_bill</A>) for this customer. Usually used in conjunction with the collect method.
-
-<P>
-The only currently available option is `time', which bills the customer as
-if it were that time. It is specified as a UNIX timestamp; see
-<EM>perlfunc</EM>). Also see <A HREF="../Time/Local.html">Time::Local</A> and <A HREF="../Date/Parse.html">Date::Parse</A> for conversion functions.
-
-<P>
-If there is an error, returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_collect">collect OPTIONS</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_all_pkgs">all_pkgs</A></STRONG><BR>
+<DD>
+Returns all packages (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>) for this customer.
+<P></P>
+<DT><STRONG><A NAME="item_ncancelled_pkgs">ncancelled_pkgs</A></STRONG><BR>
+<DD>
+Returns all non-cancelled packages (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>) for this customer.
+<P></P>
+<DT><STRONG><A NAME="item_bill">bill OPTIONS</A></STRONG><BR>
+<DD>
+Generates invoices (see <A HREF=".././FS/cust_bill.html">the FS::cust_bill manpage</A>) for this customer.  Usually used in
+conjunction with the collect method.
+<P>The only currently available option is `time', which bills the customer as if
+it were that time.  It is specified as a UNIX timestamp; see
+<EM>perlfunc/``time''</EM>).  Also see <A HREF="../Time/Local.html">the Time::Local manpage</A> and <A HREF="../Date/Parse.html">the Date::Parse manpage</A> for conversion
+functions.</P>
+<P>If there is an error, returns the error, otherwise returns false.</P>
+<P></P>
+<DT><STRONG><A NAME="item_collect">collect OPTIONS</A></STRONG><BR>
+<DD>
 (Attempt to) collect money for this customer's outstanding invoices (see
 (Attempt to) collect money for this customer's outstanding invoices (see
-<A HREF="../FS/cust_bill.html">FS::cust_bill</A>). Usually used after the bill method.
-
-<P>
-Depending on the value of `payby', this may print an invoice (`BILL'),
-charge a credit card (`CARD'), or just add any necessary (pseudo-)payment
-(`COMP').
-
-<P>
-If there is an error, returns the error, otherwise returns false.
-
-<P>
-Currently available options are:
-
-<P>
-invoice_time - Use this time when deciding when to print invoices and late
-notices on those invoices. The default is now. It is specified as a UNIX
-timestamp; see <EM>perlfunc</EM>). Also see <A HREF="../Time/Local.html">Time::Local</A> and <A HREF="../Date/Parse.html">Date::Parse</A>
-for conversion functions.
-
-<P>
-batch_card - Set this true to batch cards (see <A HREF=".././FS/cust_pay_batch.html#">the cust_pay_batch manpage</A>). By default, cards are processed immediately, which will generate an
-error if CyberCash is not installed.
-
-<P>
-report_badcard - Set this true if you want bad card transactions to return
-an error. By default, they don't.
-
-<DT><STRONG><A NAME="item_total_owed">total_owed</A></STRONG><DD>
-<P>
-Returns the total owed for this customer on all invoices (see <A HREF="../FS/cust_bill.html">FS::cust_bill</A>).
-
-<DT><STRONG><A NAME="item_total_credited">total_credited</A></STRONG><DD>
-<P>
-Returns the total credits (see <A HREF="../FS/cust_credit.html">FS::cust_credit</A>) for this customer.
-
-<DT><STRONG><A NAME="item_balance">balance</A></STRONG><DD>
-<P>
+<A HREF=".././FS/cust_bill.html">the FS::cust_bill manpage</A>).  Usually used after the bill method.
+<P>Depending on the value of `payby', this may print an invoice (`BILL'), charge
+a credit card (`CARD'), or just add any necessary (pseudo-)payment (`COMP').</P>
+<P>If there is an error, returns the error, otherwise returns false.</P>
+<P>Currently available options are:</P>
+<P>invoice_time - Use this time when deciding when to print invoices and
+late notices on those invoices.  The default is now.  It is specified as a UNIX timestamp; see <EM>perlfunc/``time''</EM>).  Also see <A HREF="../Time/Local.html">the Time::Local manpage</A> and <A HREF="../Date/Parse.html">the Date::Parse manpage</A>
+for conversion functions.</P>
+<P>batch_card - Set this true to batch cards (see <A HREF=".././FS/cust_pay_batch.html">the cust_pay_batch manpage</A>).  By
+default, cards are processed immediately, which will generate an error if
+CyberCash is not installed.</P>
+<P>report_badcard - Set this true if you want bad card transactions to
+return an error.  By default, they don't.</P>
+<P></P>
+<DT><STRONG><A NAME="item_total_owed">total_owed</A></STRONG><BR>
+<DD>
+Returns the total owed for this customer on all invoices
+(see <A HREF=".././FS/cust_bill.html">the FS::cust_bill manpage</A>).
+<P></P>
+<DT><STRONG><A NAME="item_total_credited">total_credited</A></STRONG><BR>
+<DD>
+Returns the total credits (see <A HREF=".././FS/cust_credit.html">the FS::cust_credit manpage</A>) for this customer.
+<P></P>
+<DT><STRONG><A NAME="item_balance">balance</A></STRONG><BR>
+<DD>
 Returns the balance for this customer (total owed minus total credited).
 Returns the balance for this customer (total owed minus total credited).
-
-<DT><STRONG><A NAME="item_invoicing_list">invoicing_list [ ARRAYREF ]</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_invoicing_list_%5B_ARRAYREF_%5D">invoicing_list [ ARRAYREF ]</A></STRONG><BR>
+<DD>
 If an arguement is given, sets these email addresses as invoice recipients
 If an arguement is given, sets these email addresses as invoice recipients
-(see <A HREF="../FS/cust_main_invoice.html">FS::cust_main_invoice</A>). Errors are not fatal and are not reported (except as warnings), so use
-check_invoicing_list first.
-
-<P>
-Returns a list of email addresses (with svcnum entries expanded).
-
-<P>
-Note: You can clear the invoicing list by passing an empty ARRAYREF. You
-can check it without disturbing anything by passing nothing.
-
-<P>
-This interface may change in the future.
-
-<DT><STRONG><A NAME="item_check_invoicing_list">check_invoicing_list ARRAYREF</A></STRONG><DD>
-<P>
-Checks these arguements as valid input for the invoicing_list method. If
-there is an error, returns the error, otherwise returns false.
-
-</DL>
+(see <A HREF=".././FS/cust_main_invoice.html">the FS::cust_main_invoice manpage</A>).  Errors are not fatal and are not reported
+(except as warnings), so use check_invoicing_list first.
+<P>Returns a list of email addresses (with svcnum entries expanded).</P>
+<P>Note: You can clear the invoicing list by passing an empty ARRAYREF.  You can
+check it without disturbing anything by passing nothing.</P>
+<P>This interface may change in the future.</P>
+<P></P>
+<DT><STRONG><A NAME="item_check_invoicing_list_ARRAYREF">check_invoicing_list ARRAYREF</A></STRONG><BR>
+<DD>
+Checks these arguements as valid input for the invoicing_list method.  If there
+is an error, returns the error, otherwise returns false.
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: cust_main.html,v 1.2 2000-03-03 18:22:43 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: cust_main.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-The delete method.
-
-<P>
-The delete method should possibly take an FS::cust_main object reference
-instead of a scalar customer number.
-
-<P>
-Bill and collect options should probably be passed as references instead of
-a list.
-
-<P>
-CyberCash v2 forces us to define some variables in package main.
-
-<P>
-There should probably be a configuration file with a list of allowed credit
-card types.
-
-<P>
-CyberCash is the only processor.
-
-<P>
-No multiple currency support (probably a larger project than just this
-module).
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>The delete method.</P>
+<P>The delete method should possibly take an FS::cust_main object reference
+instead of a scalar customer number.</P>
+<P>Bill and collect options should probably be passed as references instead of a
+list.</P>
+<P>CyberCash v2 forces us to define some variables in package main.</P>
+<P>There should probably be a configuration file with a list of allowed credit
+card types.</P>
+<P>CyberCash is the only processor.</P>
+<P>No multiple currency support (probably a larger project than just this module).</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>, <A HREF="../FS/cust_bill.html">FS::cust_bill</A>, <A HREF="../FS/cust_credit.html">FS::cust_credit</A>
-
-<A HREF="../FS/cust_pay_batch.html">FS::cust_pay_batch</A>, <A HREF="../FS/agent.html">FS::agent</A>, <A HREF="../FS/part_referral.html">FS::part_referral</A>,
-<A HREF="../FS/cust_main_county.html">FS::cust_main_county</A>, <A HREF="../FS/cust_main_invoice.html">FS::cust_main_invoice</A>,
-<A HREF="../FS/UID.html">FS::UID</A>, schema.html from the base documentation.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>, <A HREF=".././FS/cust_bill.html">the FS::cust_bill manpage</A>, <A HREF=".././FS/cust_credit.html">the FS::cust_credit manpage</A>
+<A HREF=".././FS/cust_pay_batch.html">the FS::cust_pay_batch manpage</A>, <A HREF=".././FS/agent.html">the FS::agent manpage</A>, <A HREF=".././FS/part_referral.html">the FS::part_referral manpage</A>,
+<A HREF=".././FS/cust_main_county.html">the FS::cust_main_county manpage</A>, <A HREF=".././FS/cust_main_invoice.html">the FS::cust_main_invoice manpage</A>,
+<A HREF=".././FS/UID.html">the FS::UID manpage</A>, schema.html from the base documentation.</P>
 
 </BODY>
 
 
 </BODY>
 
index 3362412..575eaed 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::cust_main_county - Object methods for cust_main_county objects</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::cust_main_county - Object methods for cust_main_county objects</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::cust_main_county - Object methods for cust_main_county objects
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::cust_main_county - Object methods for cust_main_county objects</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::cust_main_county;
-</PRE>
-<P>
-<PRE>  $record = new FS::cust_main_county \%hash;
-  $record = new FS::cust_main_county { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::cust_main_county;</PRE>
+<PRE>
+  $record = new FS::cust_main_county \%hash;
+  $record = new FS::cust_main_county { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::cust_main_county object represents a tax rate, defined by locale.
-FS::cust_main_county inherits from FS::Record. The following fields are
-currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::cust_main_county object represents a tax rate, defined by locale.
+FS::cust_main_county inherits from FS::Record.  The following fields are
+currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_taxnum">taxnum - primary key (assigned automatically for new tax rates)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_state">state</A></STRONG><DD>
-<DT><STRONG><A NAME="item_county">county</A></STRONG><DD>
-<DT><STRONG><A NAME="item_country">country</A></STRONG><DD>
-<DT><STRONG><A NAME="item_tax">tax - percentage</A></STRONG><DD>
+<DT><STRONG><A NAME="item_key">taxnum - primary key (assigned automatically for new tax rates)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_state">state</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_county">county</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_country">country</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_tax_%2D_percentage">tax - percentage</A></STRONG><BR>
+<DD>
 </DL>
 <P>
 <HR>
 </DL>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Creates a new tax rate. To add the tax rate to the database, see <A HREF="#insert">insert</A>.
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this tax rate to the database. If there is an error, returns the
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Creates a new tax rate.  To add the tax rate to the database, see <A HREF="#insert">insert</A>.
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this tax rate to the database.  If there is an error, returns the error,
+otherwise returns false.
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
+Deletes this tax rate from the database.  If there is an error, returns the
 error, otherwise returns false.
 error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
-Deletes this tax rate from the database. If there is an error, returns the
-error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-Replaces the OLD_RECORD with this one in the database. If there is an
-error, returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid tax rate. If there is an
-error, returns the error, otherwise returns false. Called by the insert and
-replace methods.
-
-</DL>
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+Replaces the OLD_RECORD with this one in the database.  If there is an error,
+returns the error, otherwise returns false.
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid tax rate.  If there is an error,
+returns the error, otherwise returns false.  Called by the insert and replace
+methods.
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: cust_main_county.html,v 1.2 2000-03-03 18:22:43 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: cust_main_county.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
+<H1><A NAME="bugs">BUGS</A></H1>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/cust_main.html">FS::cust_main</A>, <A HREF="../FS/cust_bill.html">FS::cust_bill</A>, schema.html from the base documentation.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>, <A HREF=".././FS/cust_bill.html">the FS::cust_bill manpage</A>, schema.html from the base
+documentation.</P>
 
 </BODY>
 
 
 </BODY>
 
index 9dc1fde..7a37197 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::cust_main_invoice - Object methods for cust_main_invoice records</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::cust_main_invoice - Object methods for cust_main_invoice records</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::cust_main_invoice - Object methods for cust_main_invoice records
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::cust_main_invoice - Object methods for cust_main_invoice records</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::cust_main_invoice;
-</PRE>
-<P>
-<PRE>  $record = new FS::cust_main_invoice \%hash;
-  $record = new FS::cust_main_invoice { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
-<P>
-<PRE>  $email_address = $record-&gt;address;
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::cust_main_invoice;</PRE>
+<PRE>
+  $record = new FS::cust_main_invoice \%hash;
+  $record = new FS::cust_main_invoice { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
+<PRE>
+  $email_address = $record-&gt;address;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::cust_main_invoice object represents an invoice destination.
-FS::cust_main_invoice inherits from FS::Record. The following fields are
-currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::cust_main_invoice object represents an invoice destination.  FS::cust_main_invoice inherits from
+FS::Record.  The following fields are currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_destnum">destnum - primary key</A></STRONG><DD>
-<DT><STRONG><A NAME="item_custnum">custnum - customer (see FS::cust_main)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_dest">dest - Invoice destination: If numeric, a &lt;a href=&quot;#svc_acct&quot;&gt;svcnum&lt;/a&gt;, if string, a literal email address, or `POST' to enable mailing (the default if no cust_main_invoice records exist)</A></STRONG><DD>
+<DT><STRONG><A NAME="item_destnum_%2D_primary_key">destnum - primary key</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_customer">custnum - customer (see <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_svcnum">dest - Invoice destination: If numeric, a svcnum (see <A HREF=".././FS/svc_acct.html">the FS::svc_acct manpage</A>), if string, a literal email address, or `POST' to enable mailing (the default if no cust_main_invoice records exist)</A></STRONG><BR>
+<DD>
 </DL>
 <P>
 <HR>
 </DL>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Creates a new invoice destination. To add the invoice destination to the
-database, see <A HREF="#insert">insert</A>.
-
-<P>
-Note that this stores the hash reference, not a distinct copy of the hash
-it points to. You can ask the object for a copy with the <EM>hash</EM> method.
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this record to the database. If there is an error, returns the error,
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Creates a new invoice destination.  To add the invoice destination to the database, see <A HREF="#insert">insert</A>.
+<P>Note that this stores the hash reference, not a distinct copy of the hash it
+points to.  You can ask the object for a copy with the <EM>hash</EM> method.</P>
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this record to the database.  If there is an error, returns the error,
 otherwise returns false.
 otherwise returns false.
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
 Delete this record from the database.
 Delete this record from the database.
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-Replaces the OLD_RECORD with this one in the database. If there is an
-error, returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid invoice destination. If
-there is an error, returns the error, otherwise returns false. Called by
-the insert and repalce methods.
-
-<DT><STRONG><A NAME="item_checkdest">checkdest</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+Replaces the OLD_RECORD with this one in the database.  If there is an error,
+returns the error, otherwise returns false.
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid invoice destination.  If there is
+an error, returns the error, otherwise returns false.  Called by the insert
+and repalce methods.
+<P></P>
+<DT><STRONG><A NAME="item_checkdest">checkdest</A></STRONG><BR>
+<DD>
 Checks the dest field only.
 Checks the dest field only.
-
-<DT><STRONG><A NAME="item_address">address</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_address">address</A></STRONG><BR>
+<DD>
 Returns the literal email address for this record (or `POST').
 Returns the literal email address for this record (or `POST').
-
-</DL>
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: cust_main_invoice.html,v 1.2 2000-03-03 18:22:43 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: cust_main_invoice.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
+<H1><A NAME="bugs">BUGS</A></H1>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/cust_main.html">FS::cust_main</A>
-
-
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A></P>
 
 </BODY>
 
 
 </BODY>
 
index e9ae08a..dc7b54c 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::cust_pay - Object methods for cust_pay objects</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::cust_pay - Object methods for cust_pay objects</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::cust_pay - Object methods for cust_pay objects
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::cust_pay - Object methods for cust_pay objects</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::cust_pay;
-</PRE>
-<P>
-<PRE>  $record = new FS::cust_pay \%hash;
-  $record = new FS::cust_pay { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::cust_pay;</PRE>
+<PRE>
+  $record = new FS::cust_pay \%hash;
+  $record = new FS::cust_pay { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::cust_pay object represents a payment. FS::cust_pay inherits from
-FS::Record. The following fields are currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::cust_pay object represents a payment; the transfer of money from a
+customer.  FS::cust_pay inherits from FS::Record.  The following fields are
+currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_paynum">paynum - primary key (assigned automatically for new payments)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_invnum">invnum - Invoice (see FS::cust_bill)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_paid">paid - Amount of this payment</A></STRONG><DD>
-<DT><STRONG><A NAME="item__date">_date - specified as a UNIX timestamp; see perlfunc/&quot;time&quot;.  Also see
-Time::Local and Date::Parse for conversion functions.</A></STRONG><DD>
-<DT><STRONG><A NAME="item_payby">payby - `CARD' (credit cards), `BILL' (billing), or `COMP' (free)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_payinfo">payinfo - card number, P.O.#, or comp issuer (4-8 lowercase alphanumerics; think username)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_paybatch">paybatch - text field for tracking card processing</A></STRONG><DD>
+<DT><STRONG><A NAME="item_key">paynum - primary key (assigned automatically for new payments)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_Invoice">invnum - Invoice (see <A HREF=".././FS/cust_bill.html">the FS::cust_bill manpage</A>)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_paid_%2D_Amount_of_this_payment">paid - Amount of this payment</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item__date_%2D_specified_as_a_UNIX_timestamp%3B_see_per">_date - specified as a UNIX timestamp; see <EM>perlfunc/``time''</EM>.  Also see
+<A HREF="../Time/Local.html">the Time::Local manpage</A> and <A HREF="../Date/Parse.html">the Date::Parse manpage</A> for conversion functions.</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_payby_%2D_%60CARD%27_%28credit_cards%29%2C_%60BILL">payby - `CARD' (credit cards), `BILL' (billing), or `COMP' (free)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_issuer">payinfo - card number, P.O.#, or comp issuer (4-8 lowercase alphanumerics; think username)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_paybatch_%2D_text_field_for_tracking_card_processi">paybatch - text field for tracking card processing</A></STRONG><BR>
+<DD>
 </DL>
 <P>
 <HR>
 </DL>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Creates a new payment. To add the payment to the databse, see <A HREF="#insert">insert</A>.
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Creates a new payment.  To add the payment to the databse, see <A HREF="#insert">insert</A>.
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
 Adds this payment to the databse, and updates the invoice (see
 Adds this payment to the databse, and updates the invoice (see
-<A HREF="../FS/cust_bill.html">FS::cust_bill</A>).
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
+<A HREF=".././FS/cust_bill.html">the FS::cust_bill manpage</A>).
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
 Currently unimplemented (accounting reasons).
 Currently unimplemented (accounting reasons).
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
 Currently unimplemented (accounting reasons).
 Currently unimplemented (accounting reasons).
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid payment. If there is an
-error, returns the error, otherwise returns false. Called by the insert
-method.
-
-</DL>
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid payment.  If there is an error,
+returns the error, otherwise returns false.  Called by the insert method.
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: cust_pay.html,v 1.2 2000-03-03 18:22:43 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: cust_pay.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-Delete and replace methods.
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>Delete and replace methods.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/cust_bill.html">FS::cust_bill</A>, schema.html from the base documentation.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/cust_bill.html">the FS::cust_bill manpage</A>, schema.html from the base documentation.</P>
 
 </BODY>
 
 
 </BODY>
 
index d67c124..b7637bc 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::cust_pay_batch - Object methods for batch cards</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::cust_pay_batch - Object methods for batch cards</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::cust_pay_batch - Object methods for batch cards
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::cust_pay_batch - Object methods for batch cards</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::cust_pay_batch;
-</PRE>
-<P>
-<PRE>  $record = new FS::cust_pay_batch \%hash;
-  $record = new FS::cust_pay_batch { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::cust_pay_batch;</PRE>
+<PRE>
+  $record = new FS::cust_pay_batch \%hash;
+  $record = new FS::cust_pay_batch { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::cust_pay_batch object represents a credit card transaction ready to
-be batched (sent to a processor). FS::cust_pay_batch inherits from
-FS::Record. Typically called by the collect method of an FS::cust_main
-object. The following fields are currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::cust_pay_batch object represents a credit card transaction ready to be
+batched (sent to a processor).  FS::cust_pay_batch inherits from FS::Record.  
+Typically called by the collect method of an FS::cust_main object.  The
+following fields are currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_trancode">trancode - 77 for charges</A></STRONG><DD>
-<DT><STRONG><A NAME="item_cardnum">cardnum</A></STRONG><DD>
-<DT><STRONG><A NAME="item_exp">exp - card expiration</A></STRONG><DD>
-<DT><STRONG><A NAME="item_amount">amount</A></STRONG><DD>
-<DT><STRONG><A NAME="item_invnum">invnum - invoice</A></STRONG><DD>
-<DT><STRONG><A NAME="item_custnum">custnum - customer</A></STRONG><DD>
-<DT><STRONG><A NAME="item_payname">payname - name on card</A></STRONG><DD>
-<DT><STRONG><A NAME="item_first">first - name</A></STRONG><DD>
-<DT><STRONG><A NAME="item_last">last - name</A></STRONG><DD>
-<DT><STRONG><A NAME="item_address1">address1</A></STRONG><DD>
-<DT><STRONG><A NAME="item_address2">address2</A></STRONG><DD>
-<DT><STRONG><A NAME="item_city">city</A></STRONG><DD>
-<DT><STRONG><A NAME="item_state">state</A></STRONG><DD>
-<DT><STRONG><A NAME="item_zip">zip</A></STRONG><DD>
-<DT><STRONG><A NAME="item_country">country</A></STRONG><DD>
+<DT><STRONG><A NAME="item_trancode_%2D_77_for_charges">trancode - 77 for charges</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_cardnum">cardnum</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_exp_%2D_card_expiration">exp - card expiration</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_amount">amount</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_invnum_%2D_invoice">invnum - invoice</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_custnum_%2D_customer">custnum - customer</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_payname_%2D_name_on_card">payname - name on card</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_first_%2D_name">first - name</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_last_%2D_name">last - name</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_address1">address1</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_address2">address2</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_city">city</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_state">state</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_zip">zip</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_country">country</A></STRONG><BR>
+<DD>
 </DL>
 <P>
 <HR>
 </DL>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Creates a new record. To add the record to the database, see <A HREF="#insert">insert</A>.
-
-<P>
-Note that this stores the hash reference, not a distinct copy of the hash
-it points to. You can ask the object for a copy with the <EM>hash</EM> method.
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this record to the database. If there is an error, returns the error,
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Creates a new record.  To add the record to the database, see <A HREF="#insert">insert</A>.
+<P>Note that this stores the hash reference, not a distinct copy of the hash it
+points to.  You can ask the object for a copy with the <EM>hash</EM> method.</P>
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this record to the database.  If there is an error, returns the error,
 otherwise returns false.
 otherwise returns false.
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
-Delete this record from the database. If there is an error, returns the
-error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-#inactive # #Replaces the OLD_RECORD with this one in the database. If
-there is an error, #returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid transaction. If there is an
-error, returns the error, otherwise returns false. Called by the insert and
-repalce methods.
-
-</DL>
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
+Delete this record from the database.  If there is an error, returns the error,
+otherwise returns false.
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+#inactive
+#
+#Replaces the OLD_RECORD with this one in the database.  If there is an error,
+#returns the error, otherwise returns false.
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid transaction.  If there is
+an error, returns the error, otherwise returns false.  Called by the insert
+and repalce methods.
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: cust_pay_batch.html,v 1.2 2000-03-03 18:22:43 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: cust_pay_batch.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-There should probably be a configuration file with a list of allowed credit
-card types.
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>There should probably be a configuration file with a list of allowed credit
+card types.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/cust_main.html">FS::cust_main</A>, <A HREF="../FS/Record.html">FS::Record</A>
-
-
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>, <A HREF=".././FS/Record.html">the FS::Record manpage</A></P>
 
 </BODY>
 
 
 </BODY>
 
index d7659f0..19c8ff8 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::cust_pkg - Object methods for cust_pkg objects</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::cust_pkg - Object methods for cust_pkg objects</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#SUBROUTINES">SUBROUTINES</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#subroutines">SUBROUTINES</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::cust_pkg - Object methods for cust_pkg objects
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::cust_pkg - Object methods for cust_pkg objects</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::cust_pkg;
-</PRE>
-<P>
-<PRE>  $record = new FS::cust_pkg \%hash;
-  $record = new FS::cust_pkg { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;cancel;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;suspend;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;unsuspend;
-</PRE>
-<P>
-<PRE>  $part_pkg = $record-&gt;part_pkg;
-</PRE>
-<P>
-<PRE>  @labels = $record-&gt;labels;
-</PRE>
-<P>
-<PRE>  $error = FS::cust_pkg::order( $custnum, \@pkgparts );
-  $error = FS::cust_pkg::order( $custnum, \@pkgparts, \@remove_pkgnums ] );
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::cust_pkg;</PRE>
+<PRE>
+  $record = new FS::cust_pkg \%hash;
+  $record = new FS::cust_pkg { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
+<PRE>
+  $error = $record-&gt;cancel;</PRE>
+<PRE>
+  $error = $record-&gt;suspend;</PRE>
+<PRE>
+  $error = $record-&gt;unsuspend;</PRE>
+<PRE>
+  $part_pkg = $record-&gt;part_pkg;</PRE>
+<PRE>
+  @labels = $record-&gt;labels;</PRE>
+<PRE>
+  $error = FS::cust_pkg::order( $custnum, \@pkgparts );
+  $error = FS::cust_pkg::order( $custnum, \@pkgparts, \@remove_pkgnums ] );</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::cust_pkg object represents a customer billing item. FS::cust_pkg
-inherits from FS::Record. The following fields are currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::cust_pkg object represents a customer billing item.  FS::cust_pkg
+inherits from FS::Record.  The following fields are currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_pkgnum">pkgnum - primary key (assigned automatically for new billing items)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_custnum">custnum - Customer (see FS::cust_main)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_pkgpart">pkgpart - Billing item definition (see FS::part_pkg)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_setup">setup - date</A></STRONG><DD>
-<DT><STRONG><A NAME="item_bill">bill - date</A></STRONG><DD>
-<DT><STRONG><A NAME="item_susp">susp - date</A></STRONG><DD>
-<DT><STRONG><A NAME="item_expire">expire - date</A></STRONG><DD>
-<DT><STRONG><A NAME="item_cancel">cancel - date</A></STRONG><DD>
-<DT><STRONG><A NAME="item_otaker">otaker - order taker (assigned automatically if null, see FS::UID)</A></STRONG><DD>
+<DT><STRONG><A NAME="item_key">pkgnum - primary key (assigned automatically for new billing items)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_Customer">custnum - Customer (see <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_definition">pkgpart - Billing item definition (see <A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A>)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_setup_%2D_date">setup - date</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_bill_%2D_date">bill - date</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_susp_%2D_date">susp - date</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_expire_%2D_date">expire - date</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_cancel_%2D_date">cancel - date</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_taker">otaker - order taker (assigned automatically if null, see <A HREF=".././FS/UID.html">the FS::UID manpage</A>)</A></STRONG><BR>
+<DD>
 </DL>
 </DL>
-<P>
-Note: setup, bill, susp, expire and cancel are specified as UNIX
-timestamps; see <EM>perlfunc</EM>. Also see <A HREF="../Time/Local.html">Time::Local</A> and <A HREF="../Date/Parse.html">Date::Parse</A> for conversion functions.
-
+<P>Note: setup, bill, susp, expire and cancel are specified as UNIX timestamps;
+see <EM>perlfunc/``time''</EM>.  Also see <A HREF="../Time/Local.html">the Time::Local manpage</A> and <A HREF="../Date/Parse.html">the Date::Parse manpage</A> for
+conversion functions.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Create a new billing item. To add the item to the database, see <A HREF="#insert">insert</A>.
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this billing item to the database (``Orders'' the item). If there is
-an error, returns the error, otherwise returns false.
-
-<P>
-sub insert { my <CODE>$self</CODE> = shift;
-
-<P>
-<PRE>  # custnum might not have have been defined in sub check (for one-shot new
-  # customers), so check it here instead
-</PRE>
-<P>
-<PRE>  my $error = $self-&gt;ut_number('custnum');
-  return $error if $error
-</PRE>
-<P>
-<PRE>  return &quot;Unknown customer&quot;
-    unless qsearchs( 'cust_main', { 'custnum' =&gt; $self-&gt;custnum } );
-</PRE>
-<P>
-<PRE>  $self-&gt;SUPER::insert;
-</PRE>
-<P>
-}
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
-Currently unimplemented. You don't want to delete billing items, because
-there would then be no record the customer ever purchased the item.
-Instead, see the cancel method.
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-Replaces the OLD_RECORD with this one in the database. If there is an
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Create a new billing item.  To add the item to the database, see <A HREF="#insert">insert</A>.
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this billing item to the database (``Orders'' the item).  If there is an
 error, returns the error, otherwise returns false.
 error, returns the error, otherwise returns false.
-
-<P>
-Currently, custnum, setup, bill, susp, expire, and cancel may be changed.
-
-<P>
-Changing pkgpart may have disasterous effects. See the order subroutine.
-
-<P>
-setup and bill are normally updated by calling the bill method of a
-customer object (see <A HREF="../FS/cust_main.html">FS::cust_main</A>).
-
-<P>
-suspend is normally updated by the suspend and unsuspend methods.
-
-<P>
-cancel is normally updated by the cancel method (and also the order
-subroutine in some cases).
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid billing item. If there is an
-error, returns the error, otherwise returns false. Called by the insert and
+<P>sub insert {
+  my $self = shift;</P>
+<PRE>
+  # custnum might not have have been defined in sub check (for one-shot new
+  # customers), so check it here instead</PRE>
+<PRE>
+  my $error = $self-&gt;ut_number('custnum');
+  return $error if $error</PRE>
+<PRE>
+  return &quot;Unknown customer&quot;
+    unless qsearchs( 'cust_main', { 'custnum' =&gt; $self-&gt;custnum } );</PRE>
+<PRE>
+  $self-&gt;SUPER::insert;</PRE>
+<P>}</P>
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
+Currently unimplemented.  You don't want to delete billing items, because there
+would then be no record the customer ever purchased the item.  Instead, see
+the cancel method.
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+Replaces the OLD_RECORD with this one in the database.  If there is an error,
+returns the error, otherwise returns false.
+<P>Currently, custnum, setup, bill, susp, expire, and cancel may be changed.</P>
+<P>Changing pkgpart may have disasterous effects.  See the order subroutine.</P>
+<P>setup and bill are normally updated by calling the bill method of a customer
+object (see <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>).</P>
+<P>suspend is normally updated by the suspend and unsuspend methods.</P>
+<P>cancel is normally updated by the cancel method (and also the order subroutine
+in some cases).</P>
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid billing item.  If there is an
+error, returns the error, otherwise returns false.  Called by the insert and
 replace methods.
 replace methods.
-
-<DT><STRONG>cancel</STRONG><DD>
-<P>
-Cancels and removes all services (see <A HREF="../FS/cust_svc.html">FS::cust_svc</A> and <A HREF="../FS/part_svc.html">FS::part_svc</A>) in this package, then cancels the package itself (sets the cancel field
-to now).
-
-<P>
-If there is an error, returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_suspend">suspend</A></STRONG><DD>
-<P>
-Suspends all services (see <A HREF="../FS/cust_svc.html">FS::cust_svc</A> and <A HREF="../FS/part_svc.html">FS::part_svc</A>) in this package, then suspends the package itself (sets the susp field to
+<P></P>
+<DT><STRONG><A NAME="item_cancel">cancel</A></STRONG><BR>
+<DD>
+Cancels and removes all services (see <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A> and <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>)
+in this package, then cancels the package itself (sets the cancel field to
 now).
 now).
-
-<P>
-If there is an error, returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_unsuspend">unsuspend</A></STRONG><DD>
-<P>
-Unsuspends all services (see <A HREF="../FS/cust_svc.html">FS::cust_svc</A> and <A HREF="../FS/part_svc.html">FS::part_svc</A>) in this package, then unsuspends the package itself (clears the susp
-field).
-
-<P>
-If there is an error, returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_part_pkg">part_pkg</A></STRONG><DD>
-<P>
-Returns the definition for this billing item, as an FS::part_pkg object
-(see
-<A HREF="../FS/part_pkg.html">FS::part_pkg</A>).
-
-<DT><STRONG><A NAME="item_labels">labels</A></STRONG><DD>
-<P>
-Returns a list of lists, calling the label method for all services (see <A HREF="../FS/cust_svc.html">FS::cust_svc</A>) of this billing item.
-
-</DL>
+<P>If there is an error, returns the error, otherwise returns false.</P>
+<P></P>
+<DT><STRONG><A NAME="item_suspend">suspend</A></STRONG><BR>
+<DD>
+Suspends all services (see <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A> and <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>) in this
+package, then suspends the package itself (sets the susp field to now).
+<P>If there is an error, returns the error, otherwise returns false.</P>
+<P></P>
+<DT><STRONG><A NAME="item_unsuspend">unsuspend</A></STRONG><BR>
+<DD>
+Unsuspends all services (see <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A> and <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>) in this
+package, then unsuspends the package itself (clears the susp field).
+<P>If there is an error, returns the error, otherwise returns false.</P>
+<P></P>
+<DT><STRONG><A NAME="item_part_pkg">part_pkg</A></STRONG><BR>
+<DD>
+Returns the definition for this billing item, as an FS::part_pkg object (see
+<A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A>).
+<P></P>
+<DT><STRONG><A NAME="item_labels">labels</A></STRONG><BR>
+<DD>
+Returns a list of lists, calling the label method for all services
+(see <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A>) of this billing item.
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SUBROUTINES">SUBROUTINES</A></H1>
+<H1><A NAME="subroutines">SUBROUTINES</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_order">order CUSTNUM, PKGPARTS_ARYREF, [ REMOVE_PKGNUMS_ARYREF ]</A></STRONG><DD>
-<P>
-CUSTNUM is a customer (see <A HREF="../FS/cust_main.html">FS::cust_main</A>)
-
-<P>
-PKGPARTS is a list of pkgparts specifying the the billing item definitions
-(see
-<A HREF="../FS/part_pkg.html">FS::part_pkg</A>) to order for this customer. Duplicates are of course permitted.
-
-<P>
-REMOVE_PKGNUMS is an optional list of pkgnums specifying the billing items
-to remove for this customer. The services (see <A HREF="../FS/cust_svc.html">FS::cust_svc</A>) are moved to the new billing items. An error is returned if this is not
-possible (see
-<A HREF="../FS/pkg_svc.html">FS::pkg_svc</A>).
-
-</DL>
+<DT><STRONG><A NAME="item_order_CUSTNUM%2C_PKGPARTS_ARYREF%2C_%5B_REMOVE_PKG">order CUSTNUM, PKGPARTS_ARYREF, [ REMOVE_PKGNUMS_ARYREF ]</A></STRONG><BR>
+<DD>
+CUSTNUM is a customer (see <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>)
+<P>PKGPARTS is a list of pkgparts specifying the the billing item definitions (see
+<A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A>) to order for this customer.  Duplicates are of course
+permitted.</P>
+<P>REMOVE_PKGNUMS is an optional list of pkgnums specifying the billing items to
+remove for this customer.  The services (see <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A>) are moved to the
+new billing items.  An error is returned if this is not possible (see
+<A HREF=".././FS/pkg_svc.html">the FS::pkg_svc manpage</A>).</P>
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: cust_pkg.html,v 1.2 2000-03-03 18:22:43 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: cust_pkg.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-sub order is not OO. Perhaps it should be moved to FS::cust_main and made
-so?
-
-<P>
-In sub order, the <CODE>@pkgparts</CODE> array (passed by reference) is
-clobbered.
-
-<P>
-Also in sub order, no money is adjusted. Once FS::part_pkg defines a
-standard method to pass dates to the recur_prog expression, it should do
-so.
-
-<P>
-FS::svc_acct, FS::svc_acct_sm, and FS::svc_domain are loaded via 'use' at
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>sub order is not OO.  Perhaps it should be moved to FS::cust_main and made so?</P>
+<P>In sub order, the @pkgparts array (passed by reference) is clobbered.</P>
+<P>Also in sub order, no money is adjusted.  Once FS::part_pkg defines a standard
+method to pass dates to the recur_prog expression, it should do so.</P>
+<P>FS::svc_acct, FS::svc_acct_sm, and FS::svc_domain are loaded via 'use' at 
 compile time, rather than via 'require' in sub { setup, suspend, unsuspend,
 cancel } because they use %FS::UID::callback to load configuration values.
 Probably need a subroutine which decides what to do based on whether or not
 compile time, rather than via 'require' in sub { setup, suspend, unsuspend,
 cancel } because they use %FS::UID::callback to load configuration values.
 Probably need a subroutine which decides what to do based on whether or not
-we've fetched the user yet, rather than a hash. See FS::UID and the TODO.
-
+we've fetched the user yet, rather than a hash.  See FS::UID and the TODO.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/cust_main.html">FS::cust_main</A>, <A HREF="../FS/part_pkg.html">FS::part_pkg</A>, <A HREF="../FS/cust_svc.html">FS::cust_svc</A>
-, <A HREF="../FS/pkg_svc.html">FS::pkg_svc</A>, schema.html from the base documentation
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>, <A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A>, <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A>
+, <A HREF=".././FS/pkg_svc.html">the FS::pkg_svc manpage</A>, schema.html from the base documentation</P>
 
 </BODY>
 
 
 </BODY>
 
index 6d6cded..8162c0b 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::cust_refund - Object method for cust_refund objects</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::cust_refund - Object method for cust_refund objects</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::cust_refund - Object method for cust_refund objects
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::cust_refund - Object method for cust_refund objects</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::cust_refund;
-</PRE>
-<P>
-<PRE>  $record = new FS::cust_refund \%hash;
-  $record = new FS::cust_refund { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::cust_refund;</PRE>
+<PRE>
+  $record = new FS::cust_refund \%hash;
+  $record = new FS::cust_refund { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::cust_refund represents a refund. FS::cust_refund inherits from
-FS::Record. The following fields are currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::cust_refund represents a refund: the transfer of money to a customer;
+equivalent to a negative payment (see <A HREF=".././FS/cust_pay.html">the FS::cust_pay manpage</A>).  FS::cust_refund
+inherits from FS::Record.  The following fields are currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_refundnum">refundnum - primary key (assigned automatically for new refunds)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_crednum">crednum - Credit (see FS::cust_credit)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_refund">refund - Amount of the refund</A></STRONG><DD>
-<DT><STRONG><A NAME="item__date">_date - specified as a UNIX timestamp; see perlfunc/&quot;time&quot;.  Also see
-Time::Local and Date::Parse for conversion functions.</A></STRONG><DD>
-<DT><STRONG><A NAME="item_payby">payby - `CARD' (credit cards), `BILL' (billing), or `COMP' (free)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_payinfo">payinfo - card number, P.O.#, or comp issuer (4-8 lowercase alphanumerics; think username)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_otaker">otaker - order taker (assigned automatically, see FS::UID)</A></STRONG><DD>
+<DT><STRONG><A NAME="item_key">refundnum - primary key (assigned automatically for new refunds)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_Credit">crednum - Credit (see <A HREF=".././FS/cust_credit.html">the FS::cust_credit manpage</A>)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_refund_%2D_Amount_of_the_refund">refund - Amount of the refund</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item__date_%2D_specified_as_a_UNIX_timestamp%3B_see_per">_date - specified as a UNIX timestamp; see <EM>perlfunc/``time''</EM>.  Also see
+<A HREF="../Time/Local.html">the Time::Local manpage</A> and <A HREF="../Date/Parse.html">the Date::Parse manpage</A> for conversion functions.</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_payby_%2D_%60CARD%27_%28credit_cards%29%2C_%60BILL">payby - `CARD' (credit cards), `BILL' (billing), or `COMP' (free)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_issuer">payinfo - card number, P.O.#, or comp issuer (4-8 lowercase alphanumerics; think username)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_taker">otaker - order taker (assigned automatically, see <A HREF=".././FS/UID.html">the FS::UID manpage</A>)</A></STRONG><BR>
+<DD>
 </DL>
 <P>
 <HR>
 </DL>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Creates a new refund. To add the refund to the database, see <A HREF="#insert">insert</A>.
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Creates a new refund.  To add the refund to the database, see <A HREF="#insert">insert</A>.
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
 Adds this refund to the database, and updates the credit (see
 Adds this refund to the database, and updates the credit (see
-<A HREF="../FS/cust_credit.html">FS::cust_credit</A>).
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
+<A HREF=".././FS/cust_credit.html">the FS::cust_credit manpage</A>).
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
 Currently unimplemented (accounting reasons).
 Currently unimplemented (accounting reasons).
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
 Currently unimplemented (accounting reasons).
 Currently unimplemented (accounting reasons).
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid refund. If there is an
-error, returns the error, otherwise returns false. Called by the insert
-method.
-
-</DL>
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid refund.  If there is an error,
+returns the error, otherwise returns false.  Called by the insert method.
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: cust_refund.html,v 1.2 2000-03-03 18:22:43 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: cust_refund.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-Delete and replace methods.
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>Delete and replace methods.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/cust_credit.html">FS::cust_credit</A>, schema.html from the base documentation.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/cust_credit.html">the FS::cust_credit manpage</A>, schema.html from the base documentation.</P>
 
 </BODY>
 
 
 </BODY>
 
index 5e73b17..19416d5 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::cust_svc - Object method for cust_svc objects</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::cust_svc - Object method for cust_svc objects</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::cust_svc - Object method for cust_svc objects
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::cust_svc - Object method for cust_svc objects</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::cust_svc;
-</PRE>
-<P>
-<PRE>  $record = new FS::cust_svc \%hash
-  $record = new FS::cust_svc { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
-<P>
-<PRE>  ($label, $value) = $record-&gt;label;
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::cust_svc;</PRE>
+<PRE>
+  $record = new FS::cust_svc \%hash
+  $record = new FS::cust_svc { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
+<PRE>
+  ($label, $value) = $record-&gt;label;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::cust_svc represents a service. FS::cust_svc inherits from
-FS::Record. The following fields are currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::cust_svc represents a service.  FS::cust_svc inherits from FS::Record.
+The following fields are currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_svcnum">svcnum - primary key (assigned automatically for new services)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_pkgnum">pkgnum - Package (see FS::cust_pkg)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_svcpart">svcpart - Service definition (see FS::part_svc)</A></STRONG><DD>
+<DT><STRONG><A NAME="item_key">svcnum - primary key (assigned automatically for new services)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_Package">pkgnum - Package (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_definition">svcpart - Service definition (see <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>)</A></STRONG><BR>
+<DD>
 </DL>
 <P>
 <HR>
 </DL>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Creates a new service. To add the refund to the database, see <A HREF="#insert">insert</A>. Services are normally created by creating FS::svc_ objects (see
-<A HREF="../FS/svc_acct.html">FS::svc_acct</A>, <A HREF="../FS/svc_domain.html">FS::svc_domain</A>, and <A HREF="../FS/svc_acct_sm.html">FS::svc_acct_sm</A>, among others).
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this service to the database. If there is an error, returns the error,
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Creates a new service.  To add the refund to the database, see <A HREF="#insert">insert</A>.
+Services are normally created by creating FS::svc_ objects (see
+<A HREF=".././FS/svc_acct.html">the FS::svc_acct manpage</A>, <A HREF=".././FS/svc_domain.html">the FS::svc_domain manpage</A>, and <A HREF=".././FS/svc_acct_sm.html">the FS::svc_acct_sm manpage</A>, among others).
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this service to the database.  If there is an error, returns the error,
 otherwise returns false.
 otherwise returns false.
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
-Deletes this service from the database. If there is an error, returns the
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
+Deletes this service from the database.  If there is an error, returns the
 error, otherwise returns false.
 error, otherwise returns false.
-
-<P>
-Called by the cancel method of the package (see <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>).
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-Replaces the OLD_RECORD with this one in the database. If there is an
-error, returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid service. If there is an
-error, returns the error, otehrwise returns false. Called by the insert and
+<P>Called by the cancel method of the package (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>).</P>
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+Replaces the OLD_RECORD with this one in the database.  If there is an error,
+returns the error, otherwise returns false.
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid service.  If there is an error,
+returns the error, otehrwise returns false.  Called by the insert and
 replace methods.
 replace methods.
-
-<DT><STRONG><A NAME="item_label">label</A></STRONG><DD>
-<P>
-Returns a list consisting of: - The name of this service (from part_svc) -
-A meaningful identifier (username, domain, or mail alias) - The table name
-(i.e. svc_domain) for this service
-
-</DL>
+<P></P>
+<DT><STRONG><A NAME="item_label">label</A></STRONG><BR>
+<DD>
+Returns a list consisting of:
+- The name of this service (from part_svc)
+- A meaningful identifier (username, domain, or mail alias)
+- The table name (i.e. svc_domain) for this service
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: cust_svc.html,v 1.2 2000-03-03 18:22:43 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: cust_svc.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-Behaviour of changing the svcpart of cust_svc records is undefined and
-should possibly be prohibited, and pkg_svc records are not checked.
-
-<P>
-pkg_svc records are not checked in general (here).
-
-<P>
-Deleting this record doesn't check or delete the svc_* record associated
-with this record.
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>Behaviour of changing the svcpart of cust_svc records is undefined and should
+possibly be prohibited, and pkg_svc records are not checked.</P>
+<P>pkg_svc records are not checked in general (here).</P>
+<P>Deleting this record doesn't check or delete the svc_* record associated
+with this record.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>, <A HREF="../FS/part_svc.html">FS::part_svc</A>, <A HREF="../FS/pkg_svc.html">FS::pkg_svc</A>, schema.html from the base documentation
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>, <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>, <A HREF=".././FS/pkg_svc.html">the FS::pkg_svc manpage</A>, 
+schema.html from the base documentation</P>
 
 </BODY>
 
 
 </BODY>
 
index 716b944..4bf4674 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::part_pkg - Object methods for part_pkg objects</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::part_pkg - Object methods for part_pkg objects</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::part_pkg - Object methods for part_pkg objects
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::part_pkg - Object methods for part_pkg objects</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::part_pkg;
-</PRE>
-<P>
-<PRE>  $record = new FS::part_pkg \%hash
-  $record = new FS::part_pkg { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $custom_record = $template_record-&gt;clone;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
-<P>
-<PRE>  @pkg_svc = $record-&gt;pkg_svc;
-</PRE>
-<P>
-<PRE>  $svcnum = $record-&gt;svcpart;
-  $svcnum = $record-&gt;svcpart( 'svc_acct' );
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::part_pkg;</PRE>
+<PRE>
+  $record = new FS::part_pkg \%hash
+  $record = new FS::part_pkg { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $custom_record = $template_record-&gt;clone;</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
+<PRE>
+  @pkg_svc = $record-&gt;pkg_svc;</PRE>
+<PRE>
+  $svcnum = $record-&gt;svcpart;
+  $svcnum = $record-&gt;svcpart( 'svc_acct' );</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::part_pkg object represents a billing item definition. FS::part_pkg
-inherits from FS::Record. The following fields are currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::part_pkg object represents a billing item definition.  FS::part_pkg
+inherits from FS::Record.  The following fields are currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_pkgpart">pkgpart - primary key (assigned automatically for new billing item definitions)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_pkg">pkg - Text name of this billing item definition (customer-viewable)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_comment">comment - Text name of this billing item definition (non-customer-viewable)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_setup">setup - Setup fee</A></STRONG><DD>
-<DT><STRONG><A NAME="item_freq">freq - Frequency of recurring fee</A></STRONG><DD>
-<DT><STRONG><A NAME="item_recur">recur - Recurring fee</A></STRONG><DD>
+<DT><STRONG><A NAME="item_key">pkgpart - primary key (assigned automatically for new billing item definitions)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_definition">pkg - Text name of this billing item definition (customer-viewable)</A></STRONG><BR>
+<DD>
+<DT><STRONG>comment - Text name of this billing item definition (non-customer-viewable)</STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_setup_%2D_Setup_fee">setup - Setup fee</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_freq_%2D_Frequency_of_recurring_fee">freq - Frequency of recurring fee</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_recur_%2D_Recurring_fee">recur - Recurring fee</A></STRONG><BR>
+<DD>
 </DL>
 </DL>
-<P>
-setup and recur are evaluated as Safe perl expressions. You can use numbers
-just as you would normally. More advanced semantics are not yet defined.
-
+<P>setup and recur are evaluated as Safe perl expressions.  You can use numbers
+just as you would normally.  More advanced semantics are not yet defined.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Creates a new billing item definition. To add the billing item definition
-to the database, see <A HREF="#insert">insert</A>.
-
-<DT><STRONG><A NAME="item_clone">clone</A></STRONG><DD>
-<P>
-An alternate constructor. Creates a new billing item definition by
-duplicating an existing definition. A new pkgpart is assigned and `(CUSTOM)
-' is prepended to the comment field. To add the billing item definition to
-the database, see
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Creates a new billing item definition.  To add the billing item definition to
+the database, see <A HREF="#insert">insert</A>.
+<P></P>
+<DT><STRONG><A NAME="item_clone">clone</A></STRONG><BR>
+<DD>
+An alternate constructor.  Creates a new billing item definition by duplicating
+an existing definition.  A new pkgpart is assigned and `(CUSTOM) ' is prepended
+to the comment field.  To add the billing item definition to the database, see
 <A HREF="#insert">insert</A>.
 <A HREF="#insert">insert</A>.
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this billing item definition to the database. If there is an error,
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this billing item definition to the database.  If there is an error,
 returns the error, otherwise returns false.
 returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
 Currently unimplemented.
 Currently unimplemented.
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-Replaces OLD_RECORD with this one in the database. If there is an error,
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+Replaces OLD_RECORD with this one in the database.  If there is an error,
 returns the error, otherwise returns false.
 returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid billing item definition. If
-there is an error, returns the error, otherwise returns false. Called by
-the insert and replace methods.
-
-<DT><STRONG><A NAME="item_pkg_svc">pkg_svc</A></STRONG><DD>
-<P>
-Returns all FS::pkg_svc objects (see <A HREF="../FS/pkg_svc.html">FS::pkg_svc</A>) for this package definition (with non-zero quantity).
-
-<DT><STRONG><A NAME="item_svcpart">svcpart [ SVCDB ]</A></STRONG><DD>
-<P>
-Returns the svcpart of a single service definition (see <A HREF="../FS/part_svc.html">FS::part_svc</A>) associated with this billing item definition (see <A HREF="../FS/pkg_svc.html">FS::pkg_svc</A>). Returns false if there not exactly one service definition with quantity
-1, or if SVCDB is specified and does not match the svcdb of the service
-definition, 
-
-</DL>
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid billing item definition.  If
+there is an error, returns the error, otherwise returns false.  Called by the
+insert and replace methods.
+<P></P>
+<DT><STRONG><A NAME="item_pkg_svc">pkg_svc</A></STRONG><BR>
+<DD>
+Returns all FS::pkg_svc objects (see <A HREF=".././FS/pkg_svc.html">the FS::pkg_svc manpage</A>) for this package
+definition (with non-zero quantity).
+<P></P>
+<DT><STRONG><A NAME="item_svcpart_%5B_SVCDB_%5D">svcpart [ SVCDB ]</A></STRONG><BR>
+<DD>
+Returns the svcpart of a single service definition (see <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>)
+associated with this billing item definition (see <A HREF=".././FS/pkg_svc.html">the FS::pkg_svc manpage</A>).  Returns
+false if there not exactly one service definition with quantity 1, or if 
+SVCDB is specified and does not match the svcdb of the service definition,
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: part_pkg.html,v 1.2 2000-03-03 18:22:43 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: part_pkg.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-The delete method is unimplemented.
-
-<P>
-setup and recur semantics are not yet defined (and are implemented in
-FS::cust_bill. hmm.).
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>The delete method is unimplemented.</P>
+<P>setup and recur semantics are not yet defined (and are implemented in
+FS::cust_bill.  hmm.).</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>, <A HREF="../FS/type_pkgs.html">FS::type_pkgs</A>, <A HREF="../FS/pkg_svc.html">FS::pkg_svc</A>, <EM>Safe</EM>. schema.html from the base documentation.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>, <A HREF=".././FS/type_pkgs.html">the FS::type_pkgs manpage</A>, <A HREF=".././FS/pkg_svc.html">the FS::pkg_svc manpage</A>, <EM>Safe</EM>.
+schema.html from the base documentation.</P>
 
 </BODY>
 
 
 </BODY>
 
index a11d903..61f49de 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::part_referral - Object methods for part_referral objects</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::part_referral - Object methods for part_referral objects</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::part_referral - Object methods for part_referral objects
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::part_referral - Object methods for part_referral objects</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::part_referral;
-</PRE>
-<P>
-<PRE>  $record = new FS::part_referral \%hash
-  $record = new FS::part_referral { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::part_referral;</PRE>
+<PRE>
+  $record = new FS::part_referral \%hash
+  $record = new FS::part_referral { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::part_referral represents a referral - where a customer heard of your
-services. This can be used to track the effectiveness of a particular piece
-of advertising, for example. FS::part_referral inherits from FS::Record.
-The following fields are currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::part_referral represents a referral - where a customer heard of your
+services.  This can be used to track the effectiveness of a particular piece of
+advertising, for example.  FS::part_referral inherits from FS::Record.  The
+following fields are currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_refnum">refnum - primary key (assigned automatically for new referrals)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_referral">referral - Text name of this referral</A></STRONG><DD>
+<DT><STRONG><A NAME="item_key">refnum - primary key (assigned automatically for new referrals)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_referral_%2D_Text_name_of_this_referral">referral - Text name of this referral</A></STRONG><BR>
+<DD>
 </DL>
 <P>
 <HR>
 </DL>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Creates a new referral. To add the referral to the database, see <A HREF="#insert">insert</A>.
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this referral to the database. If there is an error, returns the
-error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Creates a new referral.  To add the referral to the database, see <A HREF="#insert">insert</A>.
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this referral to the database.  If there is an error, returns the error,
+otherwise returns false.
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
 Currently unimplemented.
 Currently unimplemented.
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-Replaces OLD_RECORD with this one in the database. If there is an error,
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+Replaces OLD_RECORD with this one in the database.  If there is an error,
 returns the error, otherwise returns false.
 returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid referral. If there is an
-error, returns the error, otherwise returns false. Called by the insert and
-replace methods.
-
-</DL>
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid referral.  If there is an error,
+returns the error, otherwise returns false.  Called by the insert and replace
+methods.
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: part_referral.html,v 1.2 2000-03-03 18:22:43 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: part_referral.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-The delete method is unimplemented.
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>The delete method is unimplemented.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/cust_main.html">FS::cust_main</A>, schema.html from the base documentation.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/cust_main.html">the FS::cust_main manpage</A>, schema.html from the base documentation.</P>
 
 </BODY>
 
 
 </BODY>
 
index 95829d1..d5a521f 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::part_svc - Object methods for part_svc objects</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::part_svc - Object methods for part_svc objects</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::part_svc - Object methods for part_svc objects
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::part_svc - Object methods for part_svc objects</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::part_svc;
-</PRE>
-<P>
-<PRE>  $record = new FS::part_referral \%hash
-  $record = new FS::part_referral { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::part_svc;</PRE>
+<PRE>
+  $record = new FS::part_referral \%hash
+  $record = new FS::part_referral { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::part_svc represents a service definition. FS::part_svc inherits from
-FS::Record. The following fields are currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::part_svc represents a service definition.  FS::part_svc inherits from
+FS::Record.  The following fields are currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_svcpart">svcpart - primary key (assigned automatically for new service definitions)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_svc">svc - text name of this service definition</A></STRONG><DD>
-<DT><STRONG><A NAME="item_svcdb">svcdb - table used for this service.  See FS::svc_acct,
-FS::svc_domain, and FS::svc_acct_sm, among others.</A></STRONG><DD>
-<DT><STRONG><A NAME="item_svcdb_field">svcdb__field - Default or fixed value for field in svcdb.</A></STRONG><DD>
-<DT><STRONG><A NAME="item_svcdb_field_flag">svcdb__field_flag - defines svcdb__field action: null, `D' for default, or `F' for fixed</A></STRONG><DD>
+<DT><STRONG><A NAME="item_key">svcpart - primary key (assigned automatically for new service definitions)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_svc_%2D_text_name_of_this_service_definition">svc - text name of this service definition</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_svcdb_%2D_table_used_for_this_service%2E_See_FS%3A">svcdb - table used for this service.  See <A HREF=".././FS/svc_acct.html">the FS::svc_acct manpage</A>,
+<A HREF=".././FS/svc_domain.html">the FS::svc_domain manpage</A>, and <A HREF=".././FS/svc_acct_sm.html">the FS::svc_acct_sm manpage</A>, among others.</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_svcdb__field_%2D_Default_or_fixed_value_for_field_"><EM>svcdb</EM>__<EM>field</EM> - Default or fixed value for <EM>field</EM> in <EM>svcdb</EM>.</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_svcdb__field_flag_%2D_defines_svcdb__field_action%"><EM>svcdb</EM>__<EM>field</EM>_flag - defines <EM>svcdb</EM>__<EM>field</EM> action: null, `D' for default, or `F' for fixed</A></STRONG><BR>
+<DD>
 </DL>
 <P>
 <HR>
 </DL>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Creates a new service definition. To add the service definition to the
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Creates a new service definition.  To add the service definition to the
 database, see <A HREF="#insert">insert</A>.
 database, see <A HREF="#insert">insert</A>.
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this service definition to the database. If there is an error, returns
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this service definition to the database.  If there is an error, returns
 the error, otherwise returns false.
 the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
 Currently unimplemented.
 Currently unimplemented.
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-Replaces OLD_RECORD with this one in the database. If there is an error,
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+Replaces OLD_RECORD with this one in the database.  If there is an error,
 returns the error, otherwise returns false.
 returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid service definition. If there
-is an error, returns the error, otherwise returns false. Called by the
-insert and replace methods.
-
-</DL>
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid service definition.  If there is
+an error, returns the error, otherwise returns false.  Called by the insert
+and replace methods.
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: part_svc.html,v 1.2 2000-03-03 18:22:43 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: part_svc.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-Delete is unimplemented.
-
-<P>
-The list of svc_* tables is hardcoded. When svc_acct_pop is renamed, this
-should be fixed.
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>Delete is unimplemented.</P>
+<P>The list of svc_* tables is hardcoded.  When svc_acct_pop is renamed, this
+should be fixed.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/part_pkg.html">FS::part_pkg</A>, <A HREF="../FS/pkg_svc.html">FS::pkg_svc</A>, <A HREF="../FS/cust_svc.html">FS::cust_svc</A>,
-<A HREF="../FS/svc_acct.html">FS::svc_acct</A>, <A HREF="../FS/svc_acct_sm.html">FS::svc_acct_sm</A>, <A HREF="../FS/svc_domain.html">FS::svc_domain</A>, schema.html from the base documentation.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A>, <A HREF=".././FS/pkg_svc.html">the FS::pkg_svc manpage</A>, <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A>,
+<A HREF=".././FS/svc_acct.html">the FS::svc_acct manpage</A>, <A HREF=".././FS/svc_acct_sm.html">the FS::svc_acct_sm manpage</A>, <A HREF=".././FS/svc_domain.html">the FS::svc_domain manpage</A>, schema.html from the
+base documentation.</P>
 
 </BODY>
 
 
 </BODY>
 
index 6c8af12..31592d4 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::pkg_svc - Object methods for pkg_svc records</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::pkg_svc - Object methods for pkg_svc records</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::pkg_svc - Object methods for pkg_svc records
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::pkg_svc - Object methods for pkg_svc records</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::pkg_svc;
-</PRE>
-<P>
-<PRE>  $record = new FS::pkg_svc \%hash;
-  $record = new FS::pkg_svc { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
-<P>
-<PRE>  $part_pkg = $record-&gt;part_pkg;
-</PRE>
-<P>
-<PRE>  $part_svc = $record-&gt;part_svc;
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::pkg_svc;</PRE>
+<PRE>
+  $record = new FS::pkg_svc \%hash;
+  $record = new FS::pkg_svc { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
+<PRE>
+  $part_pkg = $record-&gt;part_pkg;</PRE>
+<PRE>
+  $part_svc = $record-&gt;part_svc;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::pkg_svc record links a billing item definition (see <A HREF="../FS/part_pkg.html">FS::part_pkg</A>) to a service definition (see <A HREF="../FS/part_svc.html">FS::part_svc</A>). FS::pkg_svc inherits from FS::Record. The following fields are currently
-supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::pkg_svc record links a billing item definition (see <A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A>) to
+a service definition (see <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>).  FS::pkg_svc inherits from
+FS::Record.  The following fields are currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_pkgpart">pkgpart - Billing item definition (see FS::part_pkg)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_svcpart">svcpart - Service definition (see FS::part_svc)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_quantity">quantity - Quantity of this service definition that this billing item
-definition includes</A></STRONG><DD>
+<DT><STRONG><A NAME="item_definition">pkgpart - Billing item definition (see <A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A>)</A></STRONG><BR>
+<DD>
+<DT><STRONG>svcpart - Service definition (see <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>)</STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_quantity_%2D_Quantity_of_this_service_definition_t">quantity - Quantity of this service definition that this billing item
+definition includes</A></STRONG><BR>
+<DD>
 </DL>
 <P>
 <HR>
 </DL>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Create a new record. To add the record to the database, see <A HREF="#insert">insert</A>.
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this record to the database. If there is an error, returns the error,
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Create a new record.  To add the record to the database, see <A HREF="#insert">insert</A>.
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this record to the database.  If there is an error, returns the error,
 otherwise returns false.
 otherwise returns false.
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
-Deletes this record from the database. If there is an error, returns the
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
+Deletes this record from the database.  If there is an error, returns the
 error, otherwise returns false.
 error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-Replaces OLD_RECORD with this one in the database. If there is an error,
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+Replaces OLD_RECORD with this one in the database.  If there is an error,
 returns the error, otherwise returns false.
 returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid record. If there is an
-error, returns the error, otherwise returns false. Called by the insert and
-replace methods.
-
-<DT><STRONG><A NAME="item_part_pkg">part_pkg</A></STRONG><DD>
-<P>
-Returns the FS::part_pkg object (see <A HREF="../FS/part_pkg.html">FS::part_pkg</A>).
-
-<DT><STRONG><A NAME="item_part_svc">part_svc</A></STRONG><DD>
-<P>
-Returns the FS::part_svc object (see <A HREF="../FS/part_svc.html">FS::part_svc</A>).
-
-</DL>
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid record.  If there is an error,
+returns the error, otherwise returns false.  Called by the insert and replace
+methods.
+<P></P>
+<DT><STRONG><A NAME="item_part_pkg">part_pkg</A></STRONG><BR>
+<DD>
+Returns the FS::part_pkg object (see <A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A>).
+<P></P>
+<DT><STRONG><A NAME="item_part_svc">part_svc</A></STRONG><BR>
+<DD>
+Returns the FS::part_svc object (see <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>).
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: pkg_svc.html,v 1.2 2000-03-03 18:22:43 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: pkg_svc.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
+<H1><A NAME="bugs">BUGS</A></H1>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/part_pkg.html">FS::part_pkg</A>, <A HREF="../FS/part_svc.html">FS::part_svc</A>, schema.html from the base documentation.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A>, <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>, schema.html from the base
+documentation.</P>
 
 </BODY>
 
 
 </BODY>
 
index 970385b..7ce9ff3 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::svc_Common - Object method for all svc_ records</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::svc_Common - Object method for all svc_ records</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::svc_Common - Object method for all svc_ records
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::svc_Common - Object method for all svc_ records</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-use FS::svc_Common;
-
-<P>
-<CODE>@ISA</CODE> = <CODE>qw(</CODE> FS::svc_Common );
-
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<P>use FS::svc_Common;</P>
+<P>@ISA = qw( FS::svc_Common );</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-FS::svc_Common is intended as a base class for table-specific classes to
-inherit from, i.e. FS::svc_acct. FS::svc_Common inherits from FS::Record.
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>FS::svc_Common is intended as a base class for table-specific classes to
+inherit from, i.e. FS::svc_acct.  FS::svc_Common inherits from FS::Record.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this record to the database. If there is an error, returns the error,
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this record to the database.  If there is an error, returns the error,
 otherwise returns false.
 otherwise returns false.
-
-<P>
-The additional fields pkgnum and svcpart (see <A HREF="../FS/cust_svc.html">FS::cust_svc</A>) should be defined. An FS::cust_svc record will be created and inserted.
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
-Deletes this account from the database. If there is an error, returns the
+<P>The additional fields pkgnum and svcpart (see <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A>) should be 
+defined.  An FS::cust_svc record will be created and inserted.</P>
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
+Deletes this account from the database.  If there is an error, returns the
 error, otherwise returns false.
 error, otherwise returns false.
-
-<P>
-The corresponding FS::cust_svc record will be deleted as well.
-
-<DT><STRONG><A NAME="item_setfixed">setfixed</A></STRONG><DD>
-<P>
-Sets any fixed fields for this service (see <A HREF="../FS/part_svc.html">FS::part_svc</A>). If there is an error, returns the error, otherwise returns the
-FS::part_svc object (use <CODE>ref()</CODE> to test the return). Usually
-called by the check method.
-
-<DT><STRONG><A NAME="item_setdefault">setdefault</A></STRONG><DD>
-<P>
-Sets all fields to their defaults (see <A HREF="../FS/part_svc.html">FS::part_svc</A>), overriding their current values. If there is an error, returns the
-error, otherwise returns the FS::part_svc object (use <CODE>ref()</CODE> to
-test the return).
-
-<DT><STRONG><A NAME="item_suspend">suspend</A></STRONG><DD>
-<DT><STRONG><A NAME="item_unsuspend">unsuspend</A></STRONG><DD>
-<DT><STRONG><A NAME="item_cancel">cancel</A></STRONG><DD>
-<P>
-Stubs - return false (no error) so derived classes don't need to define
-these methods. Called by the cancel method of FS::cust_pkg (see <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>).
-
-</DL>
+<P>The corresponding FS::cust_svc record will be deleted as well.</P>
+<P></P>
+<DT><STRONG><A NAME="item_setfixed">setfixed</A></STRONG><BR>
+<DD>
+Sets any fixed fields for this service (see <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>).  If there is an
+error, returns the error, otherwise returns the FS::part_svc object (use <CODE>ref()</CODE>
+to test the return).  Usually called by the check method.
+<P></P>
+<DT><STRONG><A NAME="item_setdefault">setdefault</A></STRONG><BR>
+<DD>
+Sets all fields to their defaults (see <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>), overriding their
+current values.  If there is an error, returns the error, otherwise returns
+the FS::part_svc object (use <CODE>ref()</CODE> to test the return).
+<P></P>
+<DT><STRONG><A NAME="item_suspend">suspend</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_unsuspend">unsuspend</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_cancel">cancel</A></STRONG><BR>
+<DD>
+Stubs - return false (no error) so derived classes don't need to define these
+methods.  Called by the cancel method of FS::cust_pkg (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>).
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: svc_Common.html,v 1.2 2000-03-03 18:22:43 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: svc_Common.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-The setfixed method return value.
-
-<P>
-The new method should set defaults from part_svc (like the check method
-sets fixed values)?
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>The setfixed method return value.</P>
+<P>The new method should set defaults from part_svc (like the check method
+sets fixed values)?</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/cust_svc.html">FS::cust_svc</A>, <A HREF="../FS/part_svc.html">FS::part_svc</A>, <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>, schema.html from the base documentation.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A>, <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>, <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>, schema.html
+from the base documentation.</P>
 
 </BODY>
 
 
 </BODY>
 
index 0f8e5b4..524fe33 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::svc_acct - Object methods for svc_acct records</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::svc_acct - Object methods for svc_acct records</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::svc_acct - Object methods for svc_acct records
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::svc_acct - Object methods for svc_acct records</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::svc_acct;
-</PRE>
-<P>
-<PRE>  $record = new FS::svc_acct \%hash;
-  $record = new FS::svc_acct { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;suspend;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;unsuspend;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;cancel;
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::svc_acct;</PRE>
+<PRE>
+  $record = new FS::svc_acct \%hash;
+  $record = new FS::svc_acct { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
+<PRE>
+  $error = $record-&gt;suspend;</PRE>
+<PRE>
+  $error = $record-&gt;unsuspend;</PRE>
+<PRE>
+  $error = $record-&gt;cancel;</PRE>
+<PRE>
+  %hash = $record-&gt;radius;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::svc_acct object represents an account. FS::svc_acct inherits from
-FS::svc_Common. The following fields are currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::svc_acct object represents an account.  FS::svc_acct inherits from
+FS::svc_Common.  The following fields are currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_svcnum">svcnum - primary key (assigned automatcially for new accounts)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_username">username</A></STRONG><DD>
-<DT><STRONG><A NAME="item__password">_password - generated if blank</A></STRONG><DD>
-<DT><STRONG><A NAME="item_popnum">popnum - Point of presence (see FS::svc_acct_pop)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_uid">uid</A></STRONG><DD>
-<DT><STRONG><A NAME="item_gid">gid</A></STRONG><DD>
-<DT><STRONG><A NAME="item_finger">finger - GECOS</A></STRONG><DD>
-<DT><STRONG><A NAME="item_dir">dir - set automatically if blank (and uid is not)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_shell">shell</A></STRONG><DD>
-<DT><STRONG><A NAME="item_quota">quota - (unimplementd)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_slipip">slipip - IP address</A></STRONG><DD>
-<DT><STRONG><A NAME="item_radius_Radius_Attribute">radius_Radius_Attribute - Radius-Attribute</A></STRONG><DD>
+<DT><STRONG><A NAME="item_key">svcnum - primary key (assigned automatcially for new accounts)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_username">username</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item__password_%2D_generated_if_blank">_password - generated if blank</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_presence">popnum - Point of presence (see <A HREF=".././FS/svc_acct_pop.html">the FS::svc_acct_pop manpage</A>)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_uid">uid</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_gid">gid</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_finger_%2D_GECOS">finger - GECOS</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_blank">dir - set automatically if blank (and uid is not)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_shell">shell</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_quota_%2D_%28unimplementd%29">quota - (unimplementd)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_slipip_%2D_IP_address">slipip - IP address</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_radius_Radius_Attribute_%2D_Radius%2DAttribute">radius_<EM>Radius_Attribute</EM> - <EM>Radius-Attribute</EM></A></STRONG><BR>
+<DD>
 </DL>
 <P>
 <HR>
 </DL>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Creates a new account. To add the account to the database, see <A HREF="#insert">insert</A>.
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this account to the database. If there is an error, returns the error,
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Creates a new account.  To add the account to the database, see <A HREF="#insert">insert</A>.
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this account to the database.  If there is an error, returns the error,
 otherwise returns false.
 otherwise returns false.
-
-<P>
-The additional fields pkgnum and svcpart (see <A HREF="../FS/cust_svc.html">FS::cust_svc</A>) should be defined. An FS::cust_svc record will be created and inserted.
-
-<P>
-If the configuration value (see <A HREF="../FS/Conf.html">FS::Conf</A>) shellmachine exists, and the username, uid, and dir fields are defined,
-the command
-
-<P>
-<PRE>  useradd -d $dir -m -s $shell -u $uid $username
-</PRE>
-<P>
-is executed on shellmachine via ssh. This behaviour can be surpressed by
-setting $FS::svc_acct::nossh_hack true.
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
-Deletes this account from the database. If there is an error, returns the
+<P>The additional fields pkgnum and svcpart (see <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A>) should be 
+defined.  An FS::cust_svc record will be created and inserted.</P>
+<P>If the configuration value (see <A HREF=".././FS/Conf.html">the FS::Conf manpage</A>) shellmachine exists, and the 
+username, uid, and dir fields are defined, the <CODE>command(s)</CODE> specified in
+the shellmachine-useradd configuration are exectued on shellmachine via ssh.
+This behaviour can be surpressed by setting $FS::svc_acct::nossh_hack true.
+If the shellmachine-useradd configuration file does not exist,</P>
+<PRE>
+  useradd -d $dir -m -s $shell -u $uid $username</PRE>
+<P>is the default.  If the shellmachine-useradd configuration file exists but
+it empty,</P>
+<PRE>
+  cp -pr /etc/skel $dir; chown -R $uid.$gid $dir</PRE>
+<P>is the default instead.  Otherwise the contents of the file are treated as
+a double-quoted perl string, with the following variables available:
+$username, $uid, $gid, $dir, and $shell.</P>
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
+Deletes this account from the database.  If there is an error, returns the
 error, otherwise returns false.
 error, otherwise returns false.
-
-<P>
-The corresponding FS::cust_svc record will be deleted as well.
-
-<P>
-If the configuration value (see <A HREF="../FS/Conf.html">FS::Conf</A>) shellmachine exists, the command:
-
-<P>
-<PRE>  userdel $username
-</PRE>
-<P>
-is executed on shellmachine via ssh. This behaviour can be surpressed by
-setting $FS::svc_acct::nossh_hack true.
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-Replaces OLD_RECORD with this one in the database. If there is an error,
+<P>The corresponding FS::cust_svc record will be deleted as well.</P>
+<P>If the configuration value (see <A HREF=".././FS/Conf.html">the FS::Conf manpage</A>) shellmachine exists, the
+<CODE>command(s)</CODE> specified in the shellmachine-userdel configuration file are
+executed on shellmachine via ssh.  This behavior can be surpressed by setting
+$FS::svc_acct::nossh_hack true.  If the shellmachine-userdel configuration
+file does not exist,</P>
+<PRE>
+  userdel $username</PRE>
+<P>is the default.  If the shellmachine-userdel configuration file exists but
+is empty,</P>
+<PRE>
+  rm -rf $dir</PRE>
+<P>is the default instead.  Otherwise the contents of the file are treated as a
+double-quoted perl string, with the following variables available:
+$username and $dir.</P>
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+Replaces OLD_RECORD with this one in the database.  If there is an error,
 returns the error, otherwise returns false.
 returns the error, otherwise returns false.
-
-<P>
-If the configuration value (see <A HREF="../FS/Conf.html">FS::Conf</A>) shellmachine exists, and the dir field has changed, the command:
-
-<P>
-<PRE>  [ -d $old_dir ] &amp;&amp; (
+<P>If the configuration value (see <A HREF=".././FS/Conf.html">the FS::Conf manpage</A>) shellmachine exists, and the 
+dir field has changed, the <CODE>command(s)</CODE> specified in the shellmachine-usermod
+configuraiton file are executed on shellmachine via ssh.  This behavior can
+be surpressed by setting $FS::svc-acct::nossh_hack true.  If the
+shellmachine-userdel configuration file does not exist or is empty, :</P>
+<PRE>
+  [ -d $old_dir ] &amp;&amp; mv $old_dir $new_dir || (
     chmod u+t $old_dir;
     chmod u+t $old_dir;
-    umask 022;
     mkdir $new_dir;
     cd $old_dir;
     find . -depth -print | cpio -pdm $new_dir;
     chmod u-t $new_dir;
     chown -R $uid.$gid $new_dir;
     rm -rf $old_dir
     mkdir $new_dir;
     cd $old_dir;
     find . -depth -print | cpio -pdm $new_dir;
     chmod u-t $new_dir;
     chown -R $uid.$gid $new_dir;
     rm -rf $old_dir
-  )
-</PRE>
-<P>
-is executed on shellmachine via ssh. This behaviour can be surpressed by
-setting $FS::svc_acct::nossh_hack true.
-
-<DT><STRONG><A NAME="item_suspend">suspend</A></STRONG><DD>
-<P>
-Suspends this account by prefixing *SUSPENDED* to the password. If there is
+  )</PRE>
+<P>is executed on shellmachine via ssh.  This behaviour can be surpressed by
+setting $FS::svc_acct::nossh_hack true.</P>
+<P></P>
+<DT><STRONG><A NAME="item_suspend">suspend</A></STRONG><BR>
+<DD>
+Suspends this account by prefixing *SUSPENDED* to the password.  If there is an
+error, returns the error, otherwise returns false.
+<P>Called by the suspend method of FS::cust_pkg (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>).</P>
+<P></P>
+<DT><STRONG><A NAME="item_unsuspend">unsuspend</A></STRONG><BR>
+<DD>
+Unsuspends this account by removing *SUSPENDED* from the password.  If there is
 an error, returns the error, otherwise returns false.
 an error, returns the error, otherwise returns false.
-
-<P>
-Called by the suspend method of FS::cust_pkg (see <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>).
-
-<DT><STRONG><A NAME="item_unsuspend">unsuspend</A></STRONG><DD>
-<P>
-Unsuspends this account by removing *SUSPENDED* from the password. If there
-is an error, returns the error, otherwise returns false.
-
-<P>
-Called by the unsuspend method of FS::cust_pkg (see <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>).
-
-<DT><STRONG><A NAME="item_cancel">cancel</A></STRONG><DD>
-<P>
+<P>Called by the unsuspend method of FS::cust_pkg (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>).</P>
+<P></P>
+<DT><STRONG><A NAME="item_cancel">cancel</A></STRONG><BR>
+<DD>
 Just returns false (no error) for now.
 Just returns false (no error) for now.
-
-<P>
-Called by the cancel method of FS::cust_pkg (see <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>).
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid service. If there is an
-error, returns the error, otherwise returns false. Called by the insert and
-replace methods.
-
-<P>
-Sets any fixed values; see <A HREF="../FS/part_svc.html">FS::part_svc</A>.
-
-</DL>
+<P>Called by the cancel method of FS::cust_pkg (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>).</P>
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid service.  If there is an error,
+returns the error, otherwise returns false.  Called by the insert and replace
+methods.
+<P>Sets any fixed values; see <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>.</P>
+<P></P>
+<DT><STRONG><A NAME="item_radius">radius</A></STRONG><BR>
+<DD>
+Depriciated, use radius_reply instead.
+<P></P>
+<DT><STRONG><A NAME="item_radius_reply">radius_reply</A></STRONG><BR>
+<DD>
+Returns key/value pairs, suitable for assigning to a hash, for any RADIUS
+reply attributes of this record.
+<P>Note that this is now the preferred method for reading RADIUS attributes - 
+accessing the columns directly is discouraged, as the column names are
+expected to change in the future.</P>
+<P></P>
+<DT><STRONG><A NAME="item_radius_check">radius_check</A></STRONG><BR>
+<DD>
+Returns key/value pairs, suitable for assigning to a hash, for any RADIUS
+check attributes of this record.
+<P>Accessing RADIUS attributes directly is not supported and will break in the
+future.</P>
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: svc_acct.html,v 1.2 2000-03-03 18:22:43 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: svc_acct.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-The remote commands should be configurable.
-
-<P>
-The bits which ssh should fork before doing so.
-
-<P>
-The <CODE>$recref</CODE> stuff in sub check should be cleaned up.
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>The bits which ssh should fork before doing so (or maybe queue jobs for a
+daemon).</P>
+<P>The $recref stuff in sub check should be cleaned up.</P>
+<P>The suspend, unsuspend and cancel methods update the database, but not the
+current object.  This is probably a bug as it's unexpected and
+counterintuitive.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/svc_Common.html">FS::svc_Common</A>, <A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/Conf.html">FS::Conf</A>, <A HREF="../FS/cust_svc.html">FS::cust_svc</A>,
-<A HREF="../FS/part_svc.html">FS::part_svc</A>, <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>, <A HREF="../FS/SSH.html">FS::SSH</A>, <EM>ssh</EM>, <A HREF="../FS/svc_acct_pop.html">FS::svc_acct_pop</A>, schema.html from the base documentation.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/svc_Common.html">the FS::svc_Common manpage</A>, <A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/Conf.html">the FS::Conf manpage</A>, <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A>,
+<A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>, <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>, <A HREF="../Net/SSH.html">the Net::SSH manpage</A>, <EM>ssh</EM>, <A HREF=".././FS/svc_acct_pop.html">the FS::svc_acct_pop manpage</A>,
+schema.html from the base documentation.</P>
 
 </BODY>
 
 
 </BODY>
 
index c94f8cd..e8c6f35 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::svc_acct_pop - Object methods for svc_acct_pop records</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::svc_acct_pop - Object methods for svc_acct_pop records</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::svc_acct_pop - Object methods for svc_acct_pop records
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::svc_acct_pop - Object methods for svc_acct_pop records</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::svc_acct_pop;
-</PRE>
-<P>
-<PRE>  $record = new FS::svc_acct_pop \%hash;
-  $record = new FS::svc_acct_pop { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::svc_acct_pop;</PRE>
+<PRE>
+  $record = new FS::svc_acct_pop \%hash;
+  $record = new FS::svc_acct_pop { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::svc_acct object represents an point of presence. FS::svc_acct_pop
-inherits from FS::Record. The following fields are currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::svc_acct object represents an point of presence.  FS::svc_acct_pop
+inherits from FS::Record.  The following fields are currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_popnum">popnum - primary key (assigned automatically for new accounts)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_city">city</A></STRONG><DD>
-<DT><STRONG><A NAME="item_state">state</A></STRONG><DD>
-<DT><STRONG><A NAME="item_ac">ac - area code</A></STRONG><DD>
-<DT><STRONG><A NAME="item_exch">exch - exchange</A></STRONG><DD>
-<DT><STRONG><A NAME="item_loc">loc - rest of number</A></STRONG><DD>
+<DT><STRONG><A NAME="item_key">popnum - primary key (assigned automatically for new accounts)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_city">city</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_state">state</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_ac_%2D_area_code">ac - area code</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_exch_%2D_exchange">exch - exchange</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_loc_%2D_rest_of_number">loc - rest of number</A></STRONG><BR>
+<DD>
 </DL>
 <P>
 <HR>
 </DL>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Creates a new point of presence (if only it were that easy!). To add the
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Creates a new point of presence (if only it were that easy!).  To add the 
 point of presence to the database, see <A HREF="#insert">insert</A>.
 point of presence to the database, see <A HREF="#insert">insert</A>.
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this point of presence to the database. If there is an error, returns
-the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this point of presence to the database.  If there is an error, returns the
+error, otherwise returns false.
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
 Removes this point of presence from the database.
 Removes this point of presence from the database.
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-Replaces OLD_RECORD with this one in the database. If there is an error,
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+Replaces OLD_RECORD with this one in the database.  If there is an error,
 returns the error, otherwise returns false.
 returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid point of presence. If there
-is an error, returns the error, otherwise returns false. Called by the
-insert and replace methods.
-
-</DL>
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid point of presence.  If there is
+an error, returns the error, otherwise returns false.  Called by the insert
+and replace methods.
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: svc_acct_pop.html,v 1.2 2000-03-03 18:22:43 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: svc_acct_pop.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-It should be renamed to part_pop.
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>It should be renamed to part_pop.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF=".././FS/svc_acct.html#">the svc_acct manpage</A>, schema.html from the base documentation.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/svc_acct.html">the svc_acct manpage</A>, schema.html from the base documentation.</P>
 
 </BODY>
 
 
 </BODY>
 
index d283427..1f51353 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::svc_acct_sm - Object methods for svc_acct_sm records</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::svc_acct_sm - Object methods for svc_acct_sm records</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::svc_acct_sm - Object methods for svc_acct_sm records
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::svc_acct_sm - Object methods for svc_acct_sm records</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::svc_acct_sm;
-</PRE>
-<P>
-<PRE>  $record = new FS::svc_acct_sm \%hash;
-  $record = new FS::svc_acct_sm { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;suspend;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;unsuspend;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;cancel;
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::svc_acct_sm;</PRE>
+<PRE>
+  $record = new FS::svc_acct_sm \%hash;
+  $record = new FS::svc_acct_sm { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
+<PRE>
+  $error = $record-&gt;suspend;</PRE>
+<PRE>
+  $error = $record-&gt;unsuspend;</PRE>
+<PRE>
+  $error = $record-&gt;cancel;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::svc_acct object represents a virtual mail alias. FS::svc_acct
-inherits from FS::Record. The following fields are currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::svc_acct object represents a virtual mail alias.  FS::svc_acct inherits
+from FS::Record.  The following fields are currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_svcnum">svcnum - primary key (assigned automatcially for new accounts)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_domsvc">domsvc - svcnum of the virtual domain (see FS::svc_domain)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_domuid">domuid - uid of the target account (see FS::svc_acct)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_domuser">domuser - virtual username</A></STRONG><DD>
+<DT><STRONG><A NAME="item_key">svcnum - primary key (assigned automatcially for new accounts)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_domain">domsvc - svcnum of the virtual domain (see <A HREF=".././FS/svc_domain.html">the FS::svc_domain manpage</A>)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_account">domuid - uid of the target account (see <A HREF=".././FS/svc_acct.html">the FS::svc_acct manpage</A>)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_domuser_%2D_virtual_username">domuser - virtual username</A></STRONG><BR>
+<DD>
 </DL>
 <P>
 <HR>
 </DL>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Creates a new virtual mail alias. To add the virtual mail alias to the
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Creates a new virtual mail alias.  To add the virtual mail alias to the
 database, see <A HREF="#insert">insert</A>.
 database, see <A HREF="#insert">insert</A>.
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this virtual mail alias to the database. If there is an error, returns
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this virtual mail alias to the database.  If there is an error, returns
 the error, otherwise returns false.
 the error, otherwise returns false.
-
-<P>
-The additional fields pkgnum and svcpart (see <A HREF="../FS/cust_svc.html">FS::cust_svc</A>) should be defined. An FS::cust_svc record will be created and inserted.
-
-<P>
-If the configuration values (see <A HREF="../FS/Conf.html">FS::Conf</A>) shellmachine and qmailmachines exist, and domuser is `*' (meaning a
-catch-all mailbox), the command:
-
-<P>
-<PRE>  [ -e $dir/.qmail-$qdomain-default ] || {
+<P>The additional fields pkgnum and svcpart (see <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A>) should be 
+defined.  An FS::cust_svc record will be created and inserted.</P>
+<P>If the configuration values (see <A HREF=".././FS/Conf.html">the FS::Conf manpage</A>) shellmachine and qmailmachines
+exist, and domuser is `*' (meaning a catch-all mailbox), the command:</P>
+<PRE>
+  [ -e $dir/.qmail-$qdomain-default ] || {
     touch $dir/.qmail-$qdomain-default;
     chown $uid:$gid $dir/.qmail-$qdomain-default;
     touch $dir/.qmail-$qdomain-default;
     chown $uid:$gid $dir/.qmail-$qdomain-default;
-  }
-</PRE>
-<P>
-is executed on shellmachine via ssh (see <EM>dot-qmail</EM>). This behaviour can be surpressed by setting $FS::svc_acct_sm::nossh_hack
-true.
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
-Deletes this virtual mail alias from the database. If there is an error,
+  }</PRE>
+<P>is executed on shellmachine via ssh (see <EM>dot-qmail/``EXTENSION ADDRESSES''</EM>).
+This behaviour can be surpressed by setting $FS::svc_acct_sm::nossh_hack true.</P>
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
+Deletes this virtual mail alias from the database.  If there is an error,
 returns the error, otherwise returns false.
 returns the error, otherwise returns false.
-
-<P>
-The corresponding FS::cust_svc record will be deleted as well.
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-Replaces OLD_RECORD with this one in the database. If there is an error,
+<P>The corresponding FS::cust_svc record will be deleted as well.</P>
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+Replaces OLD_RECORD with this one in the database.  If there is an error,
 returns the error, otherwise returns false.
 returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_suspend">suspend</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_suspend">suspend</A></STRONG><BR>
+<DD>
 Just returns false (no error) for now.
 Just returns false (no error) for now.
-
-<P>
-Called by the suspend method of FS::cust_pkg (see <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>).
-
-<DT><STRONG><A NAME="item_unsuspend">unsuspend</A></STRONG><DD>
-<P>
+<P>Called by the suspend method of FS::cust_pkg (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>).</P>
+<P></P>
+<DT><STRONG><A NAME="item_unsuspend">unsuspend</A></STRONG><BR>
+<DD>
 Just returns false (no error) for now.
 Just returns false (no error) for now.
-
-<P>
-Called by the unsuspend method of FS::cust_pkg (see <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>).
-
-<DT><STRONG><A NAME="item_cancel">cancel</A></STRONG><DD>
-<P>
+<P>Called by the unsuspend method of FS::cust_pkg (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>).</P>
+<P></P>
+<DT><STRONG><A NAME="item_cancel">cancel</A></STRONG><BR>
+<DD>
 Just returns false (no error) for now.
 Just returns false (no error) for now.
-
-<P>
-Called by the cancel method of FS::cust_pkg (see <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>).
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid virtual mail alias. If there
-is an error, returns the error, otherwise returns false. Called by the
-insert and replace methods.
-
-<P>
-Sets any fixed values; see <A HREF="../FS/part_svc.html">FS::part_svc</A>.
-
-</DL>
+<P>Called by the cancel method of FS::cust_pkg (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>).</P>
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid virtual mail alias.  If there is
+an error, returns the error, otherwise returns false.  Called by the insert and
+replace methods.
+<P>Sets any fixed values; see <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>.</P>
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: svc_acct_sm.html,v 1.2 2000-03-03 18:22:43 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: svc_acct_sm.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-The remote commands should be configurable.
-
-<P>
-The <CODE>$recref</CODE> stuff in sub check should be cleaned up.
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>The remote commands should be configurable.</P>
+<P>The $recref stuff in sub check should be cleaned up.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/Conf.html">FS::Conf</A>, <A HREF="../FS/cust_svc.html">FS::cust_svc</A>, <A HREF="../FS/part_svc.html">FS::part_svc</A>, <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>,
-<A HREF="../FS/svc_acct.html">FS::svc_acct</A>, <A HREF="../FS/svc_domain.html">FS::svc_domain</A>, <A HREF="../FS/SSH.html">FS::SSH</A>, <EM>ssh</EM>, <EM>dot-qmail</EM>, schema.html from the base documentation.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/Conf.html">the FS::Conf manpage</A>, <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A>, <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>, <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>,
+<A HREF=".././FS/svc_acct.html">the FS::svc_acct manpage</A>, <A HREF=".././FS/svc_domain.html">the FS::svc_domain manpage</A>, <A HREF="../Net/SSH.html">the Net::SSH manpage</A>, <EM>ssh</EM>, <EM>dot-qmail</EM>,
+schema.html from the base documentation.</P>
 
 </BODY>
 
 
 </BODY>
 
index bfe58c9..5c75ab2 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::svc_domain - Object methods for svc_domain records</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::svc_domain - Object methods for svc_domain records</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::svc_domain - Object methods for svc_domain records
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::svc_domain - Object methods for svc_domain records</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::svc_domain;
-</PRE>
-<P>
-<PRE>  $record = new FS::svc_domain \%hash;
-  $record = new FS::svc_domain { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;suspend;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;unsuspend;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;cancel;
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::svc_domain;</PRE>
+<PRE>
+  $record = new FS::svc_domain \%hash;
+  $record = new FS::svc_domain { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
+<PRE>
+  $error = $record-&gt;suspend;</PRE>
+<PRE>
+  $error = $record-&gt;unsuspend;</PRE>
+<PRE>
+  $error = $record-&gt;cancel;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::svc_domain object represents a domain. FS::svc_domain inherits from
-FS::svc_Common. The following fields are currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::svc_domain object represents a domain.  FS::svc_domain inherits from
+FS::svc_Common.  The following fields are currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_svcnum">svcnum - primary key (assigned automatically for new accounts)</A></STRONG><DD>
-<DT><STRONG><A NAME="item_domain">domain</A></STRONG><DD>
+<DT><STRONG><A NAME="item_key">svcnum - primary key (assigned automatically for new accounts)</A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_domain">domain</A></STRONG><BR>
+<DD>
 </DL>
 <P>
 <HR>
 </DL>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Creates a new domain. To add the domain to the database, see <A HREF="#insert">insert</A>.
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this domain to the database. If there is an error, returns the error,
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Creates a new domain.  To add the domain to the database, see <A HREF="#insert">insert</A>.
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this domain to the database.  If there is an error, returns the error,
 otherwise returns false.
 otherwise returns false.
-
-<P>
-The additional fields <EM>pkgnum</EM> and <EM>svcpart</EM> (see <A HREF="../FS/cust_svc.html">FS::cust_svc</A>) should be defined. An FS::cust_svc record will be created and inserted.
-
-<P>
-The additional field <EM>action</EM> should be set to <EM>N</EM> for new domains or <EM>M</EM>
-for transfers.
-
-<P>
-A registration or transfer email will be submitted unless
-$FS::svc_domain::whois_hack is true.
-
-<P>
-The additional field <EM>email</EM> can be used to manually set the admin contact email address on this email.
-Otherwise, the svc_acct records for this package (see <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>) are searched. If there is exactly one svc_acct record in the same
-package, it is automatically used. Otherwise an error is returned.
-
-<P>
-If any <EM>soamachine</EM> configuration file exists, an SOA record is added to the domain_record
-table (see &lt;FS::domain_record&gt;).
-
-<P>
-If any machines are defined in the <EM>nsmachines</EM> configuration file, NS records are added to the domain_record table (see <A HREF="../FS/domain_record.html">FS::domain_record</A>).
-
-<P>
-If any machines are defined in the <EM>mxmachines</EM> configuration file, MX records are added to the domain_record table (see <A HREF="../FS/domain_record.html">FS::domain_record</A>).
-
-<P>
-Any problems adding FS::domain_record records will emit warnings, but will
-not return errors from this method. If your configuration files are correct
-you shouln't have any problems.
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
-Deletes this domain from the database. If there is an error, returns the
+<P>The additional fields <EM>pkgnum</EM> and <EM>svcpart</EM> (see <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A>) should be 
+defined.  An FS::cust_svc record will be created and inserted.</P>
+<P>The additional field <EM>action</EM> should be set to <EM>N</EM> for new domains or <EM>M</EM>
+for transfers.</P>
+<P>A registration or transfer email will be submitted unless
+$FS::svc_domain::whois_hack is true.</P>
+<P>The additional field <EM>email</EM> can be used to manually set the admin contact
+email address on this email.  Otherwise, the svc_acct records for this package 
+(see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>) are searched.  If there is exactly one svc_acct record
+in the same package, it is automatically used.  Otherwise an error is returned.</P>
+<P>If any <EM>soamachine</EM> configuration file exists, an SOA record is added to
+the domain_record table (see &lt;FS::domain_record&gt;).</P>
+<P>If any machines are defined in the <EM>nsmachines</EM> configuration file, NS
+records are added to the domain_record table (see <A HREF=".././FS/domain_record.html">the FS::domain_record manpage</A>).</P>
+<P>If any machines are defined in the <EM>mxmachines</EM> configuration file, MX
+records are added to the domain_record table (see <A HREF=".././FS/domain_record.html">the FS::domain_record manpage</A>).</P>
+<P>Any problems adding FS::domain_record records will emit warnings, but will
+not return errors from this method.  If your configuration files are correct
+you shouln't have any problems.</P>
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
+Deletes this domain from the database.  If there is an error, returns the
 error, otherwise returns false.
 error, otherwise returns false.
-
-<P>
-The corresponding FS::cust_svc record will be deleted as well.
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-Replaces OLD_RECORD with this one in the database. If there is an error,
+<P>The corresponding FS::cust_svc record will be deleted as well.</P>
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+Replaces OLD_RECORD with this one in the database.  If there is an error,
 returns the error, otherwise returns false.
 returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_suspend">suspend</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_suspend">suspend</A></STRONG><BR>
+<DD>
 Just returns false (no error) for now.
 Just returns false (no error) for now.
-
-<P>
-Called by the suspend method of FS::cust_pkg (see <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>).
-
-<DT><STRONG><A NAME="item_unsuspend">unsuspend</A></STRONG><DD>
-<P>
+<P>Called by the suspend method of FS::cust_pkg (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>).</P>
+<P></P>
+<DT><STRONG><A NAME="item_unsuspend">unsuspend</A></STRONG><BR>
+<DD>
 Just returns false (no error) for now.
 Just returns false (no error) for now.
-
-<P>
-Called by the unsuspend method of FS::cust_pkg (see <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>).
-
-<DT><STRONG><A NAME="item_cancel">cancel</A></STRONG><DD>
-<P>
+<P>Called by the unsuspend method of FS::cust_pkg (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>).</P>
+<P></P>
+<DT><STRONG><A NAME="item_cancel">cancel</A></STRONG><BR>
+<DD>
 Just returns false (no error) for now.
 Just returns false (no error) for now.
-
-<P>
-Called by the cancel method of FS::cust_pkg (see <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>).
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid domain. If there is an
-error, returns the error, otherwise returns false. Called by the insert and
-replace methods.
-
-<P>
-Sets any fixed values; see <A HREF="../FS/part_svc.html">FS::part_svc</A>.
-
-<DT><STRONG><A NAME="item_whois">whois</A></STRONG><DD>
-<P>
-Returns the Net::Whois::Domain object (see <A HREF="../Net/Whois.html">Net::Whois</A>) for this domain, or undef if the domain is not found in whois.
-
-<P>
-(If $FS::svc_domain::whois_hack is true, returns that in all cases
-instead.)
-
-<DT><STRONG><A NAME="item__whois">_whois</A></STRONG><DD>
-<P>
+<P>Called by the cancel method of FS::cust_pkg (see <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>).</P>
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid domain.  If there is an error,
+returns the error, otherwise returns false.  Called by the insert and replace
+methods.
+<P>Sets any fixed values; see <A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>.</P>
+<P></P>
+<DT><STRONG><A NAME="item_whois">whois</A></STRONG><BR>
+<DD>
+Returns the Net::Whois::Domain object (see <A HREF="../Net/Whois.html">the Net::Whois manpage</A>) for this domain, or
+undef if the domain is not found in whois.
+<P>(If $FS::svc_domain::whois_hack is true, returns that in all cases instead.)</P>
+<P></P>
+<DT><STRONG><A NAME="item__whois">_whois</A></STRONG><BR>
+<DD>
 Depriciated.
 Depriciated.
-
-<DT><STRONG><A NAME="item_submit_internic">submit_internic</A></STRONG><DD>
-<P>
+<P></P>
+<DT><STRONG><A NAME="item_submit_internic">submit_internic</A></STRONG><BR>
+<DD>
 Submits a registration email for this domain.
 Submits a registration email for this domain.
-
-</DL>
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: svc_domain.html,v 1.2 2000-03-03 18:22:43 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: svc_domain.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
-<P>
-All BIND/DNS fields should be included (and exported).
-
-<P>
-Delete doesn't send a registration template.
-
-<P>
-All registries should be supported.
-
-<P>
-Should change action to a real field.
-
-<P>
-The <CODE>$recref</CODE> stuff in sub check should be cleaned up.
-
+<H1><A NAME="bugs">BUGS</A></H1>
+<P>All BIND/DNS fields should be included (and exported).</P>
+<P>Delete doesn't send a registration template.</P>
+<P>All registries should be supported.</P>
+<P>Should change action to a real field.</P>
+<P>The $recref stuff in sub check should be cleaned up.</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/svc_Common.html">FS::svc_Common</A>, <A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/Conf.html">FS::Conf</A>, <A HREF="../FS/cust_svc.html">FS::cust_svc</A>,
-<A HREF="../FS/part_svc.html">FS::part_svc</A>, <A HREF="../FS/cust_pkg.html">FS::cust_pkg</A>, <A HREF="../FS/SSH.html">FS::SSH</A>, <A HREF="../Net/Whois.html">Net::Whois</A>, <EM>ssh</EM>,
-<EM>dot-qmail</EM>, schema.html from the base documentation, config.html from the base
-documentation.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/svc_Common.html">the FS::svc_Common manpage</A>, <A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/Conf.html">the FS::Conf manpage</A>, <A HREF=".././FS/cust_svc.html">the FS::cust_svc manpage</A>,
+<A HREF=".././FS/part_svc.html">the FS::part_svc manpage</A>, <A HREF=".././FS/cust_pkg.html">the FS::cust_pkg manpage</A>, <A HREF="../Net/Whois.html">the Net::Whois manpage</A>, <EM>ssh</EM>,
+<EM>dot-qmail</EM>, schema.html from the base documentation, config.html from the
+base documentation.</P>
 
 </BODY>
 
 
 </BODY>
 
index 65fa8c0..30b052b 100644 (file)
 <HTML>
 <HEAD>
 <TITLE>FS::type_pkgs - Object methods for type_pkgs records</TITLE>
 <HTML>
 <HEAD>
 <TITLE>FS::type_pkgs - Object methods for type_pkgs records</TITLE>
-<LINK REV="made" HREF="mailto:none">
+<LINK REV="made" HREF="mailto:perl@packages.debian.org">
 </HEAD>
 
 <BODY>
 
 </HEAD>
 
 <BODY>
 
+<A NAME="__index__"></A>
 <!-- INDEX BEGIN -->
 
 <UL>
 
 <!-- INDEX BEGIN -->
 
 <UL>
 
-       <LI><A HREF="#NAME">NAME</A>
-       <LI><A HREF="#SYNOPSIS">SYNOPSIS</A>
-       <LI><A HREF="#DESCRIPTION">DESCRIPTION</A>
-       <LI><A HREF="#METHODS">METHODS</A>
-       <LI><A HREF="#VERSION">VERSION</A>
-       <LI><A HREF="#BUGS">BUGS</A>
-       <LI><A HREF="#SEE_ALSO">SEE ALSO</A>
+       <LI><A HREF="#name">NAME</A></LI>
+       <LI><A HREF="#synopsis">SYNOPSIS</A></LI>
+       <LI><A HREF="#description">DESCRIPTION</A></LI>
+       <LI><A HREF="#methods">METHODS</A></LI>
+       <LI><A HREF="#version">VERSION</A></LI>
+       <LI><A HREF="#bugs">BUGS</A></LI>
+       <LI><A HREF="#see also">SEE ALSO</A></LI>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
 </UL>
 <!-- INDEX END -->
 
 <HR>
 <P>
-<H1><A NAME="NAME">NAME</A></H1>
-<P>
-FS::type_pkgs - Object methods for type_pkgs records
-
+<H1><A NAME="name">NAME</A></H1>
+<P>FS::type_pkgs - Object methods for type_pkgs records</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SYNOPSIS">SYNOPSIS</A></H1>
-<P>
-<PRE>  use FS::type_pkgs;
-</PRE>
-<P>
-<PRE>  $record = new FS::type_pkgs \%hash;
-  $record = new FS::type_pkgs { 'column' =&gt; 'value' };
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;insert;
-</PRE>
-<P>
-<PRE>  $error = $new_record-&gt;replace($old_record);
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;delete;
-</PRE>
-<P>
-<PRE>  $error = $record-&gt;check;
-</PRE>
+<H1><A NAME="synopsis">SYNOPSIS</A></H1>
+<PRE>
+  use FS::type_pkgs;</PRE>
+<PRE>
+  $record = new FS::type_pkgs \%hash;
+  $record = new FS::type_pkgs { 'column' =&gt; 'value' };</PRE>
+<PRE>
+  $error = $record-&gt;insert;</PRE>
+<PRE>
+  $error = $new_record-&gt;replace($old_record);</PRE>
+<PRE>
+  $error = $record-&gt;delete;</PRE>
+<PRE>
+  $error = $record-&gt;check;</PRE>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="DESCRIPTION">DESCRIPTION</A></H1>
-<P>
-An FS::type_pkgs record links an agent type (see <A HREF="../FS/agent_type.html">FS::agent_type</A>) to a billing item definition (see <A HREF="../FS/part_pkg.html">FS::part_pkg</A>). FS::type_pkgs inherits from FS::Record. The following fields are
-currently supported:
-
+<H1><A NAME="description">DESCRIPTION</A></H1>
+<P>An FS::type_pkgs record links an agent type (see <A HREF=".././FS/agent_type.html">the FS::agent_type manpage</A>) to a
+billing item definition (see <A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A>).  FS::type_pkgs inherits from
+FS::Record.  The following fields are currently supported:</P>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_typenum">typenum - Agent type, see FS::agent_type</A></STRONG><DD>
-<DT><STRONG><A NAME="item_pkgpart">pkgpart - Billing item definition, see FS::part_pkg</A></STRONG><DD>
+<DT><STRONG><A NAME="item_typenum_%2D_Agent_type%2C_see_FS%3A%3Aagent_type">typenum - Agent type, see <A HREF=".././FS/agent_type.html">the FS::agent_type manpage</A></A></STRONG><BR>
+<DD>
+<DT><STRONG><A NAME="item_pkgpart_%2D_Billing_item_definition%2C_see_FS%3A%3">pkgpart - Billing item definition, see <A HREF=".././FS/part_pkg.html">the FS::part_pkg manpage</A></A></STRONG><BR>
+<DD>
 </DL>
 <P>
 <HR>
 </DL>
 <P>
 <HR>
-<H1><A NAME="METHODS">METHODS</A></H1>
+<H1><A NAME="methods">METHODS</A></H1>
 <DL>
 <DL>
-<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><DD>
-<P>
-Create a new record. To add the record to the database, see <A HREF="#insert">insert</A>.
-
-<DT><STRONG><A NAME="item_insert">insert</A></STRONG><DD>
-<P>
-Adds this record to the database. If there is an error, returns the error,
+<DT><STRONG><A NAME="item_new">new HASHREF</A></STRONG><BR>
+<DD>
+Create a new record.  To add the record to the database, see <A HREF="#insert">insert</A>.
+<P></P>
+<DT><STRONG><A NAME="item_insert">insert</A></STRONG><BR>
+<DD>
+Adds this record to the database.  If there is an error, returns the error,
 otherwise returns false.
 otherwise returns false.
-
-<DT><STRONG><A NAME="item_delete">delete</A></STRONG><DD>
-<P>
-Deletes this record from the database. If there is an error, returns the
+<P></P>
+<DT><STRONG><A NAME="item_delete">delete</A></STRONG><BR>
+<DD>
+Deletes this record from the database.  If there is an error, returns the
 error, otherwise returns false.
 error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_replace">replace OLD_RECORD</A></STRONG><DD>
-<P>
-Replaces OLD_RECORD with this one in the database. If there is an error,
+<P></P>
+<DT><STRONG><A NAME="item_replace_OLD_RECORD">replace OLD_RECORD</A></STRONG><BR>
+<DD>
+Replaces OLD_RECORD with this one in the database.  If there is an error,
 returns the error, otherwise returns false.
 returns the error, otherwise returns false.
-
-<DT><STRONG><A NAME="item_check">check</A></STRONG><DD>
-<P>
-Checks all fields to make sure this is a valid record. If there is an
-error, returns the error, otherwise returns false. Called by the insert and
-replace methods.
-
-</DL>
+<P></P>
+<DT><STRONG><A NAME="item_check">check</A></STRONG><BR>
+<DD>
+Checks all fields to make sure this is a valid record.  If there is an error,
+returns the error, otherwise returns false.  Called by the insert and replace
+methods.
+<P></P></DL>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="VERSION">VERSION</A></H1>
-<P>
-$Id: type_pkgs.html,v 1.2 2000-03-03 18:22:44 ivan Exp $
-
+<H1><A NAME="version">VERSION</A></H1>
+<P>$Id: type_pkgs.html,v 1.3 2001-04-23 12:40:31 ivan Exp $</P>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="BUGS">BUGS</A></H1>
+<H1><A NAME="bugs">BUGS</A></H1>
 <P>
 <HR>
 <P>
 <HR>
-<H1><A NAME="SEE_ALSO">SEE ALSO</A></H1>
-<P>
-<A HREF="../FS/Record.html">FS::Record</A>, <A HREF="../FS/agent_type.html">FS::agent_type</A>, <A HREF="../FS/part_pkgs.html">FS::part_pkgs</A>, schema.html from the base documentation.
+<H1><A NAME="see also">SEE ALSO</A></H1>
+<P><A HREF=".././FS/Record.html">the FS::Record manpage</A>, <A HREF=".././FS/agent_type.html">the FS::agent_type manpage</A>, <A HREF="../FS/part_pkgs.html">the FS::part_pkgs manpage</A>, schema.html from the base
+documentation.</P>
 
 </BODY>
 
 
 </BODY>
 
index 95929ea..c06373b 100644 (file)
         <li>recdata - data for this record
       </ul>
     <li><a name="svc_www">svc_www</a>
         <li>recdata - data for this record
       </ul>
     <li><a name="svc_www">svc_www</a>
+      <ul>
        <li>svcnum - <a href="#cust-svc">primary key</a>
        <li>recnum - <a href="#domain_record">host</a>
        <li>usersvc - <a href="#svc_acct">account</a>
        <li>svcnum - <a href="#cust-svc">primary key</a>
        <li>recnum - <a href="#domain_record">host</a>
        <li>usersvc - <a href="#svc_acct">account</a>
-     </ul>
+      </ul>
     <li><a name="type_pkgs">type_pkgs</a>
       <ul>
         <li>typenum - <a href="#agent_type">agent type</a>
     <li><a name="type_pkgs">type_pkgs</a>
       <ul>
         <li>typenum - <a href="#agent_type">agent type</a>