diff options
Diffstat (limited to 'htdocs/docs')
47 files changed, 0 insertions, 3423 deletions
diff --git a/htdocs/docs/CGI-modules-2.76-patch.txt b/htdocs/docs/CGI-modules-2.76-patch.txt deleted file mode 100755 index 55b50bbbe..000000000 --- a/htdocs/docs/CGI-modules-2.76-patch.txt +++ /dev/null @@ -1,23 +0,0 @@ -ivan@rootwood:~/src/CGI-modules-2.76/CGI$ diff -c Base.pm Base.pm.orig  -*** Base.pm     Sat Jul 18 00:33:21 1998 ---- Base.pm.orig        Sat Jul 18 00:06:12 1998 -*************** -*** 938,945 **** -      my $orig_uri = $self->get_uri; -      $self->log("Redirecting $CGI::Base::REQUEST_METHOD $orig_uri to $to_uri") -        if $Debug; -!     my $msg =   ($perm) ? StatusHdr(301,"Moved Permanently") -!                       : StatusHdr(302,"Moved Temporarily"); -      my $hdrs = SendHeaders($msg, LocationHdr($to_uri)); -      $self->log($hdrs); -  } ---- 938,945 ---- -      my $orig_uri = $self->get_uri; -      $self->log("Redirecting $CGI::Base::REQUEST_METHOD $orig_uri to $to_uri") -        if $Debug; -!     my $msg =   ($perm) ? ServerHdr(301,"Moved Permanently") -!                       : ServerHdr(302,"Moved Temporarily"); -      my $hdrs = SendHeaders($msg, LocationHdr($to_uri)); -      $self->log($hdrs); -  } - diff --git a/htdocs/docs/admin.html b/htdocs/docs/admin.html deleted file mode 100644 index 8adddbe92..000000000 --- a/htdocs/docs/admin.html +++ /dev/null @@ -1,6 +0,0 @@ -<head> -  <title>Administration</title> -</head> -<body> -  <h1>Administration</h1> -</body> diff --git a/htdocs/docs/billing.html b/htdocs/docs/billing.html deleted file mode 100644 index 02bfbd783..000000000 --- a/htdocs/docs/billing.html +++ /dev/null @@ -1,40 +0,0 @@ -<head> -  <title>Billing</title> -</head> -<body> -  <h1>Billing</h1> -  The bin/bill script can be run daily to bill all customers.  Usage: bill [ -c [ i ] ] [ -d <i>date</i> ] [ -b ] -  <ul> -    <li>-c: Turn on collecting (you probably want this). -    <li>-i: Real-time billing (as opposed to bacth billing).  Only relevant for credit cards.  Not available without modifying site_perl/Bill.pm -    <li>-d: Pretend it is <i>date</i> (parsed by Date::Parse) -    <li>-b: N/A -  </ul> -  Printing should be configured on your freeside machine to print invoices. -  <br><br>Batch credit card processing -  <ul> -    <li>After this script is run, a credit card batch will be in the <a href="schema.html#cust_pay_batch">cust_pay_batch</a> table.  Export this table to your credit card batching. -    <li>When your batch completes, erase the cust_pay_batch records in that batch and add any necessary paymants to the <a href="schema.html#cust_pay">cust_pay</a> table.  Example code to add payments is: -    <pre>use FS::cust_pay; - -# loop over all records in batch - -my $payment=create FS::cust_pay ( -  'invnum' => $invnum, -  'paid' => $paid, -  '_date' => $_date, -  'payby' => $payby, -  'payinfo' => $payinfo, -  'paybatch' => $paybatch, -); - -my $error=$payment->insert; -if ( $error ) { -  #process error -} - -# end loop -</pre> -All fields except paybatch are contained in the cust_pay_batch table.  You can use paybatch field to track particular batches and/or particular transactions within a batch. -  </ul> -</body> diff --git a/htdocs/docs/config.html b/htdocs/docs/config.html deleted file mode 100644 index 9b8002601..000000000 --- a/htdocs/docs/config.html +++ /dev/null @@ -1,38 +0,0 @@ -<head> -  <title>Configuration files</title> -</head> -<body> -  <h1>Configuration files</h1> -Configuration files and directories are located in `/var/spool/freeside/conf'. -<ul> -  <li>address - Your company name and address, four lines. -  <li>bsdshellmachines - Your BSD flavored shell (and mail) machines, one per line.  This enables export of `/etc/passwd' and `/etc/master.passwd'. -  <li>cybercash2 - <a href="http://www.cybercash.com/cybercash/services/cashreg214.html">CyberCash v2</a> support, four lines: paymentserverhost, paymentserverport, paymentserversecret, and transaction type (`mauthonly' or `mauthcapture').  CCLib.pm is required. -  <li>cybercash3.2 - <a href="http://www.cybercash.com/cybercash/services/technology.html">CyberCash v3.2</a> support.  Two lines: the full path and name of your merchant_conf file, and the transaction type (`mauthonly' or `mauthcapture').  CCMckLib3_2.pm, CCMckDirectLib3_2.pm and CCMckErrno3_2 are required. -  <li>domain - Your domain name. -  <li>erpcdmachines - Your ERPCD authenticaion machines, one per line.  This enables export of `/usr/annex/acp_passwd' and `/usr/annex/acp_dialup'. -  <li>home - For new users, prefixed to usrename to create a directory name.  Should have a leading but not a trailing slash. -  <li>lpr - Print command for paper invoices, for example `lpr -h'. -  <li>nismachines - Your NIS master (not slave master) machines, one per line.  This enables export of `/etc/global/passwd' and `/etc/global/shadow'. -  <li>qmailmachines - Your qmail machines, one per line.  This enables export of `/var/qmail/control/virtualdomains', `/var/qmail/control/recipientmap', and `/var/qmail/control/rcpthosts'.  The existance of this file (even if empty) also turns on user `.qmail-extension' file maintenance in conjunction with `shellmachine'. -  <li>radiusmachines - Your RADIUS authentication machines, one per line.  This enables export of `/etc/raddb/users'. -  <li>registries - Directory which contains domain registry information.  Each registry is a directory. -    <ul> -      <li>registries/internic - Currently the only supported registry -        <ul> -          <li>registries/internic/from - Email address from which InterNIC domain registrations are sent. -          <li>regestries/internic/nameservers - The nameservers for InterNIC domain registrations, one per line.  Each line contains an IP address and hostname, separated by whitespace. -          <li>registries/internic/tech_contact - Technical contact NIC handle for domain registrations. -          <li>registries/internic/template - Template for InterNIC domain registrations with special markup.  A suitable copy of the InterNIC domain template v4.0 is in `fs-x.y.z/etc/domain-template.txt'. -          <li>registries/internic/to - Email address to which InterNIC domain registrations are sent. -        </ul> -    </ul> -  <li>secrets - Three lines: Database engine datasource (for example, `DBI:mysql:freeside' or `DBI:Pg:dbname=freeside'), username, and password.  This file should not be world readable. -  <li>sendmailmachines - Your sendmail machines, one per line.  This enables export of `/etc/virtusertable' and `/etc/sendmail.cw'. -  <li>shellmachine - A single machine with user home directories mounted.  This enables home directory creation, renaming and archiving/deletion.  In conjunction with `qmailmachines', it also enables `.qmail-extension' file maintenance. -  <li>shellmachines - Your Linux and System V flavored shell (and mail) machines, one per line.  This enables export of `/etc/passwd' and `/etc/shadow' files. -  <li>shells - Legal shells (think /etc/shells).  You probably want to `cut -d: -f7 /etc/passwd | sort | uniq' initially so that importing doesn't fail with `Illegal shell' errors, then remove any special entries afterwords.  A blank line specifies that an empty shell is permitted. -  <li>smtpmachine - SMTP relay for Freeside's outgoing mail. -</ul> -</body> - diff --git a/htdocs/docs/export.html b/htdocs/docs/export.html deleted file mode 100644 index f760b97dd..000000000 --- a/htdocs/docs/export.html +++ /dev/null @@ -1,39 +0,0 @@ -<head> -  <title>File exporting</title> -</head> -<body> -  <h1>File exporting</h1> -  <ul> -    <li>bin/svc_acct.export will create UNIX `passwd', `shadow' and `master.passwd' files, ERPCD `acp_passwd' and `acp_dialup' files and a RADIUS `users' file in the `/var/spool/freeside/export' directory.  Using the appropriate <a href="config.html">configuration files</a>, you can export these files to your remote machines unattended; see below. -      <ul> -        <li>shellmachines - passwd and shadow are copied to the remote machine as /etc/passwd.new and /etc/shadow.net and then moved to /etc/passwd and /etc/shadow if no errors occur. -        <li>bsdshellmachines - passwd and master.passwd are copied to the remote machine as /etc/passwd.new and /etc/master.passwd.new and moved to /etc/passwd and /etc/master.passwd if no errors occur. -        <li>nismachines - passwd and shadow are copied to the `/etc/global' directory on the remote machine.  If no errors occur, the command `( cd /var/yp; make; )' is executed on the remote machine. -        <li>erpcdmachines - acp_passwd and acp_dialup are copied to the `/usr/annex' directory on the remote machine.  If no errors occur, the command `( kill -USR1 `cat /usr/annex/erpcd.pid` )' is executed on the remote machine.  -        <li>radiusmachines - users is copied to the `/etc/raddb' directory on the remote machine.  If no errors occur, the command `( builddbm )' is executed on the remote machine. -      </ul> -    <li>site_perl/svc_acct.pm - If a shellmachine is defined, users can be created, modified and deleted remotely; see below. -      <ul> -        <li>The command `useradd -d <i>homedir</i> -s <i>shell</i> -u <i>uid</i> <i>username</i>' is executed when a user is added. -        <li>The command `userdel <i>username</i>' is executed with a user is deleted. -        <li>If a user's home directory changes, the command `[ -d <i>old_homedir</i> && ( chmod u+t <i>old_homedir</i>; umask 022; mkdir <i>new_homedir</i>; cd <i>old_homedir</i>; find . -depth -print | cpio -pdm <i>new_homedir</i>; chmod u-t <i>new_homedir</i>; chown -R <i>uid</i>.<i>gid</i> <i>new_homedir</i>; rm -rf <i>old_homedir</i> )' is executed. -      </ul> -    <li>bin/svc_acct_sm.export will create <a href="http://www.qmail.org">Qmail</a> `rcpthosts', `recipientmap' and `virtualdomains' files and <a href="http://www.sendmail.org">Sendmail</a> `virtusertable' and `sendmail.cw' files in the `/var/spool/freeside/export' directory.  Using the appropriate <a href="config.html">configuration files</a>, you can export these files to your remote machines unattemded; see below. -      <ul> -        <li>qmailmachines - recipientmap, virtualdomains and rcpthosts are copied to the `/var/qmail/control' directory on the remote machine.  Note: If you <a href="legacy.html#svc_acct_sm">imported</a> qmail configuration files, run the generated `/var/spool/freeside/export/virtualdomains.FIX' on a machine with your user home directories before exporting qmail configuration files. -        <li>shellmachine - The command `[ -e <i>homedir</i>/.qmail-default ] || { touch <i>homedir</i>/.qmail-default; chown <i>uid</i>.<i>gid</i> <i>homedir</i>/.qmail-default; }' will be run on this machine for users in the virtualdomains file. -        <li>sendmailmachines - sendmail.cw and virtusertable are copied to the remote machine as /etc/sendmail.cw.new and /etc/virtusertable.new and moved to /etc/sendmail.cw and /etc/virtusertable if no errors occur. -      </ul> -    <li>site_perl/svc_acct_sm.pm - If the qmailmachines configuration file exists and a shellmachine is defined, user `.qmail-' files can be updated. -      <ul> -        <li>The command `[ -e <i>homedir</i>/.qmail-<i>domain</i>-default ] || { touch <i>homedir</i>/.qmail-<i>domain</i>-default; chown <i>uid</i>.<i>gid</i> <i>homedir</i>/.qmail-<i>domain</i>-default; }' is run. -      </ul> -  </ul> -  <br><a name=ssh>Unattended remote login</a> - Freeside can login to remote machines unattended using SSH.  This can pose a security risk if not configured correctly, and will allow an intruder who breaks into your freeside machine full access to your remote machines.  <b>Do not use this feature unless you understand what you are doing!</b> -    <ul> -      <li>As the freeside user (on your freeside machine), generate an authentication key using <a href="http://www.tac.nyc.ny.us/cgi-bin/man-cgi?ssh-keygen+1">ssh-keygen</a>.  Since this is for unattended operation, you need to use a blank passphrase. -      <li>Append the newly-created identity.pub file to root's authorized_keys on the remote machine(s). -    </ul> - -</body> - diff --git a/htdocs/docs/index.html b/htdocs/docs/index.html deleted file mode 100644 index 20051ca4d..000000000 --- a/htdocs/docs/index.html +++ /dev/null @@ -1,23 +0,0 @@ -<head> -  <title>Documentation</title> -</head> -<body> -  <h1>Documentation</h1> -<ul> -  <li><a href="install.html">New Installation</a> -  <li><a href="upgrade.html">Upgrading from 1.0.x to 1.1.x</a> -  <li><a href="upgrade2.html">Upgrading from 1.1.x to 1.1.3</a> -  <li><a href="config.html">Configuration files</a> -<!-- -  <li><a href="admin.html">Administration</a> -!--> -  <li><a href="../index.html#admin">Administration</a> -  <li><a href="legacy.html">Importing legacy data</a> -  <li><a href="export.html">File exporting and remote setup</a> -  <li><a href="passwd.html">fs_passwd</a> -  <li><a href="billing.html">Billing</a> -  <li><a href="trouble.html">Troubleshooting</a> -  <li><a href="schema.html">Schema reference</a> -  <li><a href="man/">Perl API</a> -</ul> -</body> diff --git a/htdocs/docs/install.html b/htdocs/docs/install.html deleted file mode 100644 index c4784ebf6..000000000 --- a/htdocs/docs/install.html +++ /dev/null @@ -1,56 +0,0 @@ -<head> -  <title>Installation</title> -</head> -<body> -<h1>Installation</h1> -Before installing, you need: -<ul> -  <li>A web server, such as <a href="http://www.apache-ssl.org">Apache-SSL</a> or <a href="http://www.apache.org">Apache</a> -  <li><a href="ftp://ftp.cs.hut.fi/pub/ssh/">SSH</a> -  <li>agrep from the <a href="http://glimpse.cs.arizona.edu">Glimpse</a> distribution, if you want fuzzy searching capability -  <li><a href="http://www.perl.com/CPANl/doc/relinfo/INSTALL.html">Perl</a> (at least 5.004_04) -  <li>A database engine supported by Perl's <a href="http://www.hermetica.com/technologia/DBI/">DBI</a>, such as <a href="http://www.tcx.se/">MySQL</a> or <a href="http://www.postgresql.org/">PostgreSQL</a> -  <li>Perl modules -    <ul> -      <li><a href="http://www.perl.com/CPAN/modules/by-module/MIME/">MIME-Base64</a> -      <li><a href="http://www.perl.com/CPAN/modules/by-module/Data">Data-Dumper</a> -      <li><a href="http://www.perl.com/CPAN/modules/by-module/MD5">MD5</a> -      <li><a href="http://www.perl.com/CPAN/modules/by-module/Net">libnet</a> -      <li><a href="http://www.perl.com/CPAN/modules/by-module/LWP/">libwww-perl</a> -      <li><a href="http://www.perl.com/CPAN/modules/by-module/CGI/">CGI-modules</a> (<b>NOT</b> CGI.pm) with this <a href="CGI-modules-2.76-patch.txt">patch</a> applied -      <li><a href="http://www.perl.com/CPAN/modules/by-module/Business/">Business-CreditCard</a> -      <li><a href="http://www.perl.com/CPAN/modules/by-module/Data/">Data-ShowTable</a> -      <li><a href="http://www.perl.com/CPAN/modules/by-module/Mail/">MailTools</a> -      <li><a href="http://www.perl.com/CPAN/modules/by-module/Time/">TimeDate</a> -      <li><a href="http://www.perl.com/CPAN/modules/by-module/Date/">DateManip</a> -      <li><a href="http://www.perl.com/CPAN/modules/by-module/File/">File-CounterFile</a> -      <li><a href="http://www.perl.com/CPAN/modules/by-module/FreezeThaw/">FreezeThaw</a> -      <li><a href="http://www.perl.com/CPAN/modules/by-module/DBI/">DBI -      <li><a href="http://www.perl.com/CPAN/modules/by-module/DBD/">DBD for your database engine</a> -    </ul> -</ul> -Install the Freeside distribution: -<ul> -  <li>Add the user `freeside' to your system. -  <li>Add the freeside database to your database engine.  (with <a href="http://www.mysql.com/Manual_chapter/manual_Syntax.html#Create database">MySQL</a>) (with <a href="http://www.postgresql.org/docs/admin/manage-ag.htm#AEN854">PostgreSQL</a>) -  <li>Allow the freeside user full access to the freeside database.  (with <a href="http://www.mysql.com/Manual_chapter/manual_Privilege_system.html#Privilege system">MySQL</a>) (with <a href="http://www.postgresql.org/docs/admin/newuser.htm">PostgreSQL</a>) -  <li>Unpack the tarball: <pre>gunzip -c fs-x.y.z.tar.gz | tar xvf -</pre> -  <li>Copy or link fs-x.y.z/site_perl to FS in your site_perl directory.  (try `<code>perl -V</code>' if unsure) <pre>mkdir /usr/local/lib/site_perl/FS -cp fs-x.y.z/site_perl/* /usr/local/lib/site_perl/FS</pre> or <pre>ln -s /full/path/to/fs-x.y.z/site_perl /usr/local/lib/site_perl/FS</pre> -  <li>Copy or link fs-x.y.z/htdocs to your web server's document space.  <pre>mkdir /usr/local/apache/htdocs/freeside -cp -r fs-x.y.z/htdocs/* /usr/local/apache/htdocs/freeside</pre> or <pre>ln -s /full/path/to/fs-x.y.z/htdocs /usr/local/apache/htdocs/freeside</pre> -  <li>Restrict access to this web interface.  (with <a href="http://www.apache.org/docs/misc/FAQ.html#user-authentication">Apache</a>) -  <li>Enable CGI execution for files with the `.cgi' extension.  (with <a href="http://www.apache.org/docs/mod/mod_mime.html#addhandler">Apache</a>) -  <li>Set ownership and permissions for the web interface.  Your system should support secure setuid scripts or Perl's emulation, see <a href="http://www.perl.com/CPAN-local/doc/manual/html/pod/perlsec.html#Security_Bugs">perlsec: Security Bugs</a> for information and workarounds. -<pre>cd /usr/local/apache/htdocs/freeside -chown -R freeside . -chmod 4755 browse/*.cgi edit/*.cgi edit/process/*.cgi misc/*.cgi misc/process/*.cgi search/*.cgi view/*.cgi</pre> -<li>Create the base Freeside directory `/var/spool/freeside', and the subdirectories `conf', `counters', and `export'.  <pre>mkdir /var/spool/freeside -mkdir /var/spool/freeside/conf -mkdir /var/spool/freeside/counters -mkdir /var/spool/freeside/export -chown -R freeside /var/spool/freeside</pre> -  <li>Create the necessary <a href="config.html">configuration files</a>. -  <li>Run bin/fs-setup to create the database tables. -</ul> -</body> diff --git a/htdocs/docs/legacy.html b/htdocs/docs/legacy.html deleted file mode 100644 index 40e09cb3c..000000000 --- a/htdocs/docs/legacy.html +++ /dev/null @@ -1,34 +0,0 @@ -<head> -  <title>Importing legacy data</title> -</head> -<body> -  <h1>Importing legacy data</h1> -<ul> -  <li><a name="svc_acct">bin/svc_acct.import</a> - Import `passwd', ( `shadow' or `master.passwd' ) and RADIUS `users'.  Before running bin/svc_acct.import, you need <a href="http://rootwood.sisd.com/freeside/browse/part_svc.cgi">services</a> (with table svc_acct) as follows: -    <ul> -      <li>Most accounts probably have entries in passwd and users (with Port-Limit nonexistant or 1) -      <li>Some accounts have entries in passwd and users, but with Port-Limit 2 (or more) -      <li>Some accounts might have entries in users only (Port-Limit 1) -      <li>Some accounts might have entries in users only (Port-Limit >= 2) -      <li>POP mail accounts have entries in passwd only, and have a particular shell. -      <li>Everything else in passwd is a shell account. -    </ul> -  <li><a name="svc_acct_sm">bin/svc_acct_sm.import</a> - Import qmail ( `virtualdomains' and `rcpthosts' ), or sendmail ( `virtusertable' and `sendmail.cw' ) files.  Before running bin/svc_acct_sm.import, you need <a href="http://rootwood.sisd.com/freeside/browse/part_svc.cgi">services</a> as follows: -    <ul> -      <li>Domain (table svc_acct) -      <li>Mail alias (table svc_acct_sm) -    </ul> -  <li><a name="cust_main">Importing customer data</a> -    <ul> -      <li>Manually -        <ul> -          <li>Add a <a href="../edit/cust_main.cgi">new customer</a> -          <li>Add one or more packages for this customer -          <li>Enter a package by clicking on the package number -          <li>Pick the `Link to existing' option -        </ul> -      <li>Batch - You will need to write a script to import your particular legacy data.  You can use eg/TEMPLATE_cust_main.import as a starting point. -    </ul> -</ul> -</body> - diff --git a/htdocs/docs/man/Bill.txt b/htdocs/docs/man/Bill.txt deleted file mode 100644 index 545dd1a4c..000000000 --- a/htdocs/docs/man/Bill.txt +++ /dev/null @@ -1,29 +0,0 @@ -NAME -    FS::Bill - Legacy stub - -SYNOPSIS -    The functionality of FS::Bill has been integrated into -    FS::cust_main. - -HISTORY -    ivan@voicenet.com 97-jul-24 - 25 - 28 - -    use Safe; evaluate all fees with perl (still on TODO list until -    I write some examples & test opmask to see if we can read db) -    %hash=$obj->hash later ivan@sisd.com 98-mar-13 - -    packages with no next bill date start at $time not time, this -    should eliminate the last of the problems with billing at a past -    date also rewrite the invoice priting logic not to print -    invoices for things that haven't happended yet and update -    $cust_bill->printed when we print so PAST DUE notices work, and -    s/date/_date/ ivan@sisd.com 98-jun-4 - -    more logic for past due stuff - packages with no next bill date -    start at $cust_pkg->setup || $time ivan@sisd.com 98-jul-13 - -    moved a few things in collection logic; negative charges should -    work ivan@sisd.com 98-aug-6 - -    pod, moved everything to FS::cust_main ivan@sisd.com 98-sep-19 - diff --git a/htdocs/docs/man/CGI.txt b/htdocs/docs/man/CGI.txt deleted file mode 100644 index 54f9b8a6a..000000000 --- a/htdocs/docs/man/CGI.txt +++ /dev/null @@ -1,47 +0,0 @@ -NAME -    FS::CGI - Subroutines for the web interface - -SYNOPSIS -      use FS::CGI qw(header menubar idiot eidiot); - -      print header( 'Title', '' ); -      print header( 'Title', menubar('item', 'URL', ... ) ); - -      idiot "error message";  -      eidiot "error message"; - -DESCRIPTION -    Provides a few common subroutines for the web interface. - -SUBROUTINES -    header TITLE, MENUBAR -        Returns an HTML header. - -    menubar ITEM, URL, ... -        Returns an HTML menubar. - -    idiot ERROR -        Sends headers and an HTML error message. - -    eidiot ERROR -        Sends headers and an HTML error message, then exits. - -BUGS -    Not OO. - -    Not complete. - -    Uses CGI-modules instead of CGI.pm - -SEE ALSO -    the CGI::Base manpage - -HISTORY -    subroutines for the HTML/CGI GUI, not properly OO. :( - -    ivan@sisd.com 98-apr-16 ivan@sisd.com 98-jun-22 - -    lose the background, eidiot ivan@sisd.com 98-sep-2 - -    pod ivan@sisd.com 98-sep-12 - diff --git a/htdocs/docs/man/Conf.txt b/htdocs/docs/man/Conf.txt deleted file mode 100644 index c46c9ee6a..000000000 --- a/htdocs/docs/man/Conf.txt +++ /dev/null @@ -1,47 +0,0 @@ -NAME -    FS::Conf - Read access to Freeside configuration values - -SYNOPSIS -      use FS::Conf; - -      $conf = new FS::Conf; -      $conf = new FS::Conf "/non/standard/config/directory"; - -      $dir = $conf->dir; - -      $value = $conf->config('key'); -      @list  = $conf->config('key'); -      $bool  = $conf->exists('key'); - -DESCRIPTION -    Read access to Freeside configuration values. Keys currently map -    to filenames, but this may change in the future. - -METHODS -    new [ DIRECTORY ] -        Create a new configuration object. Optionally, a non-default -        directory may be specified. - -    dir Returns the directory. - -    config -        Returns the configuration value or values (depending on -        context) for key. - -    exists -        Returns true if the specified key exists, even if the -        corresponding value is undefined. - -BUGS -    The option to specify a non-default directory should probably be -    removed. - -    Write access (with locking) should be implemented. - -SEE ALSO -    config.html from the base documentation contains a list of -    configuration files. - -HISTORY -    Ivan Kohler <ivan@sisd.com> 98-sep-6 - diff --git a/htdocs/docs/man/Invoice.txt b/htdocs/docs/man/Invoice.txt deleted file mode 100644 index 17953d51d..000000000 --- a/htdocs/docs/man/Invoice.txt +++ /dev/null @@ -1,23 +0,0 @@ -NAME -    FS::Invoice - Legacy stub - -SYNOPSIS -    The functioanlity of FS::invoice has been integrated in -    FS::cust_bill. - -HISTORY -    ivan@voicenet.com 97-jun-25 - 27 - -    maybe should be changed to be OO-functions on $cust_bill -    objects? (instead of passing invnum, ugh). - -    ISA cust_bill and return inovice instead of passing filehandle -    ivan@sisd.com 98-mar-13 (add postscript output!) - -    close our kid when we're done ivan@sisd.com 98-jun-4 - -    separated code which shuffled data from code which formatted. -    (so i could) fixed past due notices showing up when balance due -    =< 0 return address comes from /var/spool/freeside/conf/address -    ivan@sisd.com 98-jul-2 - diff --git a/htdocs/docs/man/Record.txt b/htdocs/docs/man/Record.txt deleted file mode 100644 index 0accb65d1..000000000 --- a/htdocs/docs/man/Record.txt +++ /dev/null @@ -1,332 +0,0 @@ -NAME -    FS::Record - Database record objects - -SYNOPSIS -        use FS::Record; -        use FS::Record qw(dbh fields hfields qsearch qsearchs dbdef); - -        $record = new FS::Record 'table', \%hash; -        $record = new FS::Record 'table', { 'column' => 'value', ... }; - -        $record  = qsearchs FS::Record 'table', \%hash; -        $record  = qsearchs FS::Record 'table', { 'column' => 'value', ... }; -        @records = qsearch  FS::Record 'table', \%hash;  -        @records = qsearch  FS::Record 'table', { 'column' => 'value', ... }; - -        $table = $record->table; -        $dbdef_table = $record->dbdef_table; - -        $value = $record->get('column'); -        $value = $record->getfield('column'); -        $value = $record->column; - -        $record->set( 'column' => 'value' ); -        $record->setfield( 'column' => 'value' ); -        $record->column('value'); - -        %hash = $record->hash; - -        $hashref = $record->hashref; - -        $error = $record->add; - -        $error = $record->del; - -        $error = $new_record->rep($old_record); - -        $value = $record->unique('column'); - -        $value = $record->ut_float('column'); -        $value = $record->ut_number('column'); -        $value = $record->ut_numbern('column'); -        $value = $record->ut_money('column'); -        $value = $record->ut_text('column'); -        $value = $record->ut_textn('column'); -        $value = $record->ut_alpha('column'); -        $value = $record->ut_alphan('column'); -        $value = $record->ut_phonen('column'); -        $value = $record->ut_anythingn('column'); - -        $dbdef = reload_dbdef; -        $dbdef = reload_dbdef "/non/standard/filename"; -        $dbdef = dbdef; - -        $quoted_value = _quote($value,'table','field'); - -        #depriciated -        $fields = hfields('table'); -        if ( $fields->{Field} ) { # etc. - -        @fields = fields 'table'; - -DESCRIPTION -    (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. - -METHODS -    new TABLE, HASHREF -        Creates a new record. It doesn't store it in the database, -        though. See the section on "add" for that. - -        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 *hash* method. - -    qsearch TABLE, HASHREF -        Searches the database for all records matching (at least) -        the key/value pairs in HASHREF. Returns all the records -        found as FS::Record objects. - -    qsearchs TABLE, HASHREF -        Searches the database for a record matching (at least) the -        key/value pairs in HASHREF, and returns the record found as -        an FS::Record object. If more than one record matches, it -        carps but returns the first. If this happens, you either -        made a logic error in asking for a single item, or your data -        is corrupted. - -    table -        Returns the table name. - -    dbdef_table -        Returns the FS::dbdef_table object for the table. - -    get, getfield COLUMN -        Returns the value of the column/field/key COLUMN. - -    set, setfield COLUMN, VALUE -        Sets the value of the column/field/key COLUMN to VALUE. -        Returns VALUE. - -    AUTLOADED METHODS -        $record->column is a synonym for $record->get('column'); - -        $record->column('value') is a synonym for $record- -        >set('column','value'); - -    hash -        Returns a list of the column/value pairs, usually for -        assigning to a new hash. - -        To make a distinct duplicate of an FS::Record object, you -        can do: - -            $new = new FS::Record ( $old->table, { $old->hash } ); - -    hashref -        Returns a reference to the column/value hash. - -    add Adds this record to the database. If there is an error, returns -        the error, otherwise returns false. - -    del Delete this record from the database. If there is an error, -        returns the error, otherwise returns false. - -    rep OLD_RECORD -        Replace the OLD_RECORD with this one in the database. If -        there is an error, returns the error, otherwise returns -        false. - -    unique COLUMN -        Replaces COLUMN in record with a unique number. Called by -        the add method on primary keys and single-field unique -        columns (see the FS::dbdef_table manpage). Returns the new -        value. - -    ut_float COLUMN -        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. - -    ut_number COLUMN -        Check/untaint simple numeric data (whole numbers). May not -        be null. If there is an error, returns the error, otherwise -        returns false. - -    ut_numbern COLUMN -        Check/untaint simple numeric data (whole numbers). May be -        null. If there is an error, returns the error, otherwise -        returns false. - -    ut_money COLUMN -        Check/untaint monetary numbers. May be negative. Set to 0 if -        null. If there is an error, returns the error, otherwise -        returns false. - -    ut_text COLUMN -        Check/untaint text. Alphanumerics, spaces, and the following -        punctuation symbols are currently permitted: ! @ # $ % & ( ) -        - + ; : ' " , . ? / May not be null. If there is an error, -        returns the error, otherwise returns false. - -    ut_textn COLUMN -        Check/untaint text. Alphanumerics, spaces, and the following -        punctuation symbols are currently permitted: ! @ # $ % & ( ) -        - + ; : ' " , . ? / May be null. If there is an error, -        returns the error, otherwise returns false. - -    ut_alpha COLUMN -        Check/untaint alphanumeric strings (no spaces). May not be -        null. If there is an error, returns the error, otherwise -        returns false. - -    ut_alpha COLUMN -        Check/untaint alphanumeric strings (no spaces). May be null. -        If there is an error, returns the error, otherwise returns -        false. - -    ut_phonen COLUMN -        Check/untaint phone numbers. May be null. If there is an -        error, returns the error, otherwise returns false. - -    ut_anything COLUMN -        Untaints arbitrary data. Be careful. - -SUBROUTINES -    reload_dbdef([FILENAME]) -            Load a database definition (see the FS::dbdef manpage), -            optionally from a non-default filename. This command is -            executed at startup unless *$FS::Record::setup_hack* is -            true. Returns a FS::dbdef object. - -    dbdef   Returns the current database definition. See the FS::dbdef -            manpage. - -    _quote VALUE, TABLE, COLUMN -            This is an internal function used to construct SQL -            statements. It returns VALUE DBI-quoted (see the section -            on "quote" in the DBI manpage) unless VALUE is a number -            and the column type (see the dbdef_column manpage) does -            not end in `char' or `binary'. - -    hfields TABLE -            This is depriciated. Don't use it. - -            It returns a hash-type list with the fields of this -            record's table set true. - -    fields TABLE -            This returns a list of the columns in this record's -            table (See the dbdef_table manpage). - -BUGS -        This module should probably be renamed, since much of the -        functionality is of general use. It is not completely unlike -        Adapter::DBI (see below). - -        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.) - -        The whole fields / hfields mess should be removed. - -        The various WHERE clauses should be subroutined. - -        table string should be depriciated in favor of -        FS::dbdef_table. - -        No doubt we could benefit from a Tied hash. Documenting how -        exists / defined true maps to the database (and WHERE -        clauses) would also help. - -        The ut_ methods should ask the dbdef for a default length. - -        ut_sqltype (like ut_varchar) should all be defined - -        A fallback check method should be provided with uses the -        dbdef. - -        The ut_money method assumes money has two decimal digits. - -        The Pg money kludge in the new method only strips `$'. - -        The ut_phonen method assumes US-style phone numbers. - -        The _quote function should probably use ut_float instead of -        a regex. - -        All the subroutines probably should be methods, here or -        elsewhere. - -SEE ALSO -        the FS::dbdef manpage, the FS::UID manpage, the DBI manpage - -        Adapter::DBI from Ch. 11 of Advanced Perl Programming by -        Sriram Srinivasan. - -HISTORY -        ivan@voicenet.com 97-jun-2 - 9, 19, 25, 27, 30 - -        DBI version ivan@sisd.com 97-nov-8 - 12 - -        cleaned up, added autoloaded $self->any_field calls, moved -        DBI login stuff to FS::UID ivan@sisd.com 97-nov-21-23 - -        since AUTO_INCREMENT is MySQL specific, use my own unique -        number generator (again) ivan@sisd.com 97-dec-4 - -        untaint $user in unique (web demo hack...bah) make unique -        skip multiple-field unique's from dbdef ivan@sisd.com 97- -        dec-11 - -        merge with FS::Search, which after all was just alternate -        constructors for FS::Record objects. Makes lots of things -        cleaner. :) ivan@sisd.com 97-dec-13 - -        use FS::dbdef::primary key in replace searches, hopefully -        for all practical purposes the string/number problem in SQL -        statements should be gone? (SQL bites) ivan@sisd.com 98-jan- -        20 - -        Put all SQL statments in $statment before we $sth=$dbh- -        >prepare( them, for debugging reasons (warn $statement) -        ivan@sisd.com 98-feb-19 - -        (sigh)... use dbdef type (char, etc.) instead of a regex to -        decide what to quote in _quote (more sillines...) SQL bites. -        ivan@sisd.com 98-feb-20 - -        more friendly error messages ivan@sisd.com 98-mar-13 - -        Added import of datasrc from FS::UID to allow Pg6.3 to work -        Added code to right-trim strings read from Pg6.3 databases -        Modified 'add' to only insert fields that actually have data -        Added ut_float to handle floating point numbers (for sales -        tax). Pg6.3 does not have a "SHOW FIELDS" statement, so I -        faked it 8). bmccane@maxbaud.net 98-apr-3 - -        commented out Pg wrapper around `` Modified 'add' to only -        insert fields that actually have data '' ivan@sisd.com 98- -        apr-16 - -        dbdef usage changes ivan@sisd.com 98-jun-1 - -        sub fields now asks dbdef, not database ivan@sisd.com 98- -        jun-2 - -        added debugging method ->_dump ivan@sisd.com 98-jun-16 - -        use FS::dbdef::primary key in delete searches as well as -        replace searches (SQL still bites) ivan@sisd.com 98-jun-22 - -        sub dbdef_table ivan@sisd.com 98-jun-28 - -        removed Pg wrapper around `` Modified 'add' to only insert -        fields that actually have data '' ivan@sisd.com 98-jul-14 - -        sub fields croaks on errors ivan@sisd.com 98-jul-17 - -        $rc eq '0E0' doesn't mean we couldn't delete for all rdbmss -        ivan@sisd.com 98-jul-18 - -        commented out code to right-trim strings read from Pg6.3 -        databases; ChopBlanks is in UID.pm ivan@sisd.com 98-aug-16 - -        added code (with Pg wrapper) to deal with Pg money fields -        ivan@sisd.com 98-aug-18 - -        added pod documentation ivan@sisd.com 98-sep-6 - diff --git a/htdocs/docs/man/SSH.txt b/htdocs/docs/man/SSH.txt deleted file mode 100644 index b6d205b55..000000000 --- a/htdocs/docs/man/SSH.txt +++ /dev/null @@ -1,63 +0,0 @@ -NAME -    FS::SSH - Subroutines to call ssh and scp - -SYNOPSIS -      use FS::SSH qw(ssh scp issh iscp sshopen2 sshopen3); - -      ssh($host, $command); - -      issh($host, $command); - -      scp($source, $destination); - -      iscp($source, $destination); - -      sshopen2($host, $reader, $writer, $command); - -      sshopen3($host, $reader, $writer, $error, $command); - -DESCRIPTION -      Simple wrappers around ssh and scp commands. - -SUBROUTINES -    ssh HOST, COMMAND -        Calls ssh in batch mode. - -    issh HOST, COMMAND -        Prints the ssh command to be executed, waits for the user to -        confirm, and (optionally) executes the command. - -    scp SOURCE, DESTINATION -        Calls scp in batch mode. - -    iscp SOURCE, DESTINATION -        Prints the scp command to be executed, waits for the user to -        confirm, and (optionally) executes the command. - -    sshopen2 HOST, READER, WRITER, COMMAND -        Connects the supplied filehandles to the ssh process (in -        batch mode). - -    sshopen3 HOST, WRITER, READER, ERROR, COMMAND -        Connects the supplied filehandles to the ssh process (in -        batch mode). - -BUGS -        Not OO. - -        scp stuff should transparantly use rsync-over-ssh instead. - -SEE ALSO -        the ssh manpage, the scp manpage, the IPC::Open2 manpage, -        the IPC::Open3 manpage - -HISTORY -        ivan@voicenet.com 97-jul-17 - -        added sshopen2 and sshopen3 ivan@sisd.com 98-mar-9 - -        added iscp ivan@sisd.com 98-jul-25 now iscp asks y/n, issh -        and took out path ivan@sisd.com 98-jul-30 - -        pod ivan@sisd.com 98-sep-21 - diff --git a/htdocs/docs/man/UID.txt b/htdocs/docs/man/UID.txt deleted file mode 100644 index bf9f6b4bd..000000000 --- a/htdocs/docs/man/UID.txt +++ /dev/null @@ -1,79 +0,0 @@ -NAME -    FS::UID - Subroutines for database login and assorted other -    stuff - -SYNOPSIS -      use FS::UID qw(adminsuidsetup cgisuidsetup dbh datasrc getotaker -      checkeuid checkruid swapuid); - -      adminsuidsetup; - -      $cgi = new CGI::Base; -      $cgi->get; -      $dbh = cgisuidsetup($cgi); - -      $dbh = dbh; - -      $datasrc = datasrc; - -DESCRIPTION -    Provides a hodgepodge of subroutines. - -SUBROUTINES -    adminsuidsetup -        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. Returns the DBI -        database handle (usually you don't need this). - -    dbh Returns the DBI database handle. - -    datasrc -        Returns the DBI data source. - -    getotaker -        Returns the current Freeside user. Currently that means the -        CGI REMOTE_USER, or 'freeside'. - -    checkeuid -        Returns true if effective UID is that of the freeside user. - -    checkruid -        Returns true if the real UID is that of the freeside user. - -    swapuid -        Swaps real and effective UIDs. - -BUGS -    Not OO. - -    No capabilities yet. When mod_perl and Authen::DBI are -    implemented, cgisuidsetup will go away as well. - -SEE ALSO -    the FS::Record manpage, the CGI::Base manpage, the DBI manpage - -HISTORY -    ivan@voicenet.com 97-jun-4 - 9 untaint otaker ivan@voicenet.com -    97-jul-7 - -    generalize and auto-get uid (getotaker still needs to be db'ed) -    ivan@sisd.com 97-nov-10 - -    &cgisuidsetup logs into database. other cleaning. ivan@sisd.com -    97-nov-22,23 - -    &adminsuidsetup logs into database with otaker='freeside' (for -    automated tasks like billing) ivan@sisd.com 97-dec-13 - -    added sub datasrc for fs-setup ivan@sisd.com 98-feb-21 - -    datasrc, user and pass now come from conf/secrets ivan@sisd.com -    98-jun-28 - -    added ChopBlanks to DBI call (see man DBI) ivan@sisd.com 98-aug- -    16 - -    pod, use FS::Conf, implemented cgisuidsetup as adminsuidsetup, -    inlined suidsetup ivan@sisd.com 98-sep-12 - diff --git a/htdocs/docs/man/agent.txt b/htdocs/docs/man/agent.txt deleted file mode 100644 index b0317f6f7..000000000 --- a/htdocs/docs/man/agent.txt +++ /dev/null @@ -1,65 +0,0 @@ -NAME -    FS::agent - Object methods for agent records - -SYNOPSIS -      use FS::agent; - -      $record = create FS::agent \%hash; -      $record = create FS::agent { 'column' => 'value' }; - -      $error = $record->insert; - -      $error = $new_record->replace($old_record); - -      $error = $record->delete; - -      $error = $record->check; - -DESCRIPTION -    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: - -    agemtnum - primary key (assigned automatically for new agents) -    agent - Text name of this agent -    typenum - Agent type.  See the FS::agent_type manpage -    prog - For future use. -    freq - For future use. -METHODS -    create HASHREF -        Creates a new agent. To add the agent to the database, see -        the section on "insert". - -    insert -        Adds this agent to the database. If there is an error, -        returns the error, otherwise returns false. - -    delete -        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. - -    replace OLD_RECORD -        Replaces OLD_RECORD with this one in the database. If there -        is an error, returns the error, otherwise returns false. - -    check -        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. - -BUGS -    It doesn't properly override FS::Record yet. - -SEE ALSO -    the FS::Record manpage, the FS::agent_type manpage, the -    FS::cust_main manpage, schema.html from the base documentation. - -HISTORY -    Class dealing with agent (resellers) - -    ivan@sisd.com 97-nov-13, 97-dec-10 - -    pod, added check in ->delete ivan@sisd.com 98-sep-22 - diff --git a/htdocs/docs/man/agent_type.txt b/htdocs/docs/man/agent_type.txt deleted file mode 100644 index ea1edec0c..000000000 --- a/htdocs/docs/man/agent_type.txt +++ /dev/null @@ -1,72 +0,0 @@ -NAME -    FS::agent_type - Object methods for agent_type records - -SYNOPSIS -      use FS::agent_type; - -      $record = create FS::agent_type \%hash; -      $record = create FS::agent_type { 'column' => 'value' }; - -      $error = $record->insert; - -      $error = $new_record->replace($old_record); - -      $error = $record->delete; - -      $error = $record->check; - -DESCRIPTION -    An FS::agent_type object represents an agent type. Every agent -    (see the FS::agent manpage) has an agent type. Agent types -    define which packages (see the FS::part_pkg manpage) may be -    purchased by customers (see the FS::cust_main manpage), via -    FS::type_pkgs records (see the FS::type_pkgs manpage). -    FS::agent_type inherits from FS::Record. The following fields -    are currently supported: - -    typenum - primary key (assigned automatically for new agent types) -    atype - Text name of this agent type -METHODS -    create HASHREF -        Creates a new agent type. To add the agent type to the -        database, see the section on "insert". - -    insert -        Adds this agent type to the database. If there is an error, -        returns the error, otherwise returns false. - -    delete -        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. - -    replace OLD_RECORD -        Replaces OLD_RECORD with this one in the database. If there -        is an error, returns the error, otherwise returns false. - -    check -        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. - -BUGS -    It doesn't properly override FS::Record yet. - -SEE ALSO -    the FS::Record manpage, the FS::agent manpage, the FS::type_pkgs -    manpage, the FS::cust_main manpage, the FS::part_pkg manpage, -    schema.html from the base documentation. - -HISTORY -    Class for the different sets of allowable packages you can -    assign to an agent. - -    ivan@sisd.com 97-nov-13 - -    ut_ FS::Record methods ivan@sisd.com 97-dec-10 - -    Changed 'type' to 'atype' because Pg6.3 reserves the type word -    bmccane@maxbaud.net 98-apr-3 - -    pod, added check in delete ivan@sisd.com 98-sep-21 - diff --git a/htdocs/docs/man/cust_bill.txt b/htdocs/docs/man/cust_bill.txt deleted file mode 100644 index 9762dd3ca..000000000 --- a/htdocs/docs/man/cust_bill.txt +++ /dev/null @@ -1,140 +0,0 @@ -NAME -    FS::cust_bill - Object methods for cust_bill records - -SYNOPSIS -      use FS::cust_bill; - -      $record = create FS::cust_bill \%hash; -      $record = create FS::cust_bill { 'column' => 'value' }; - -      $error = $record->insert; - -      $error = $new_record->replace($old_record); - -      $error = $record->delete; - -      $error = $record->check; - -      ( $total_previous_balance, @previous_cust_bill ) = $record->previous; - -      @cust_bill_pkg_objects = $cust_bill->cust_bill_pkg; - -      ( $total_previous_credits, @previous_cust_credit ) = $record->cust_credit; - -      @cust_pay_objects = $cust_bill->cust_pay; - -      @lines = $cust_bill->print_text; -      @lines = $cust_bill->print_text $time; - -DESCRIPTION -    An FS::cust_bill object represents an invoice. FS::cust_bill -    inherits from FS::Record. The following fields are currently -    supported: - -    invnum - primary key (assigned automatically for new invoices) -    custnum - customer (see the FS::cust_main manpage) -    _date - specified as a UNIX timestamp; see the section on "time" in the perlfunc manpage.  Also see -    the Time::Local manpage and the Date::Parse manpage for conversion functions. -    charged - amount of this invoice -    owed - amount still outstanding on this invoice, which is charged minus -    all payments (see the FS::cust_pay manpage). -    printed - how many times this invoice has been printed automatically -    (see the section on "collect" in the FS::cust_main manpage). -METHODS -    create HASHREF -        Creates a new invoice. To add the invoice to the database, -        see the section on "insert". Invoices are normally created -        by calling the bill method of a customer object (see the -        FS::cust_main manpage). - -    insert -        Adds this invoice to the database ("Posts" the invoice). If -        there is an error, returns the error, otherwise returns -        false. - -        When adding new invoices, owed must be charged (or null, in -        which case it is automatically set to charged). - -    delete -        Currently unimplemented. I don't remove invoices because -        there would then be no record you ever posted this invoice -        (which is bad, no?) - -    replace OLD_RECORD -        Replaces the OLD_RECORD with this one in the database. If -        there is an error, returns the error, otherwise returns -        false. - -        Only owed and printed may be changed. Owed is normally -        updated by creating and inserting a payment (see the -        FS::cust_pay manpage). Printed is normally updated by -        calling the collect method of a customer object (see the -        FS::cust_main manpage). - -    check -        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. - -    previous -        Returns a list consisting of the total previous balance for -        this customer, followed by the previous outstanding invoices -        (as FS::cust_bill objects also). - -    cust_bill_pkg -        Returns the line items (see the FS::cust_bill_pkg manpage) -        for this invoice. - -    cust_credit -        Returns a list consisting of the total previous credited -        (see the FS::cust_credit manpage) for this customer, -        followed by the previous outstanding credits -        (FS::cust_credit objects). - -    cust_pay -        Returns all payments (see the FS::cust_pay manpage) for this -        invoice. - -    print_text [TIME]; -        Returns an ASCII invoice, as a list of lines. - -        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 the section on "time" in the perlfunc -        manpage. Also see the Time::Local manpage and the -        Date::Parse manpage for conversion functions. - -BUGS -    The delete method. - -    It doesn't properly override FS::Record yet. - -    print_text formatting (and some logic :/) is in source as a -    format declaration, which needs to be slurped in from a file. -    the fork is rather kludgy as well. It could be cleaned with -    swrite from man perlform, and the picture could be put in a -    /var/spool/freeside/conf file. Also number of lines ($=). - -    missing print_ps for a nice postscript copy (maybe HylaFAX- -    cover-page-style or something similar so the look can be -    completely customized?) - -    There is an off-by-one error in print_text which causes a visual -    error: "Page 1 of 2" printed on some single-page invoices? - -SEE ALSO -    the FS::Record manpage, the FS::cust_main manpage, the -    FS::cust_pay manpage, the FS::cust_bill_pkg manpage, the -    FS::cust_credit manpage, schema.html from the base -    documentation. - -HISTORY -    ivan@voicenet.com 97-jul-1 - -    small fix for new API ivan@sisd.com 98-mar-14 - -    charges can be negative ivan@sisd.com 98-jul-13 - -    pod, ingegrate with FS::Invoice ivan@sisd.com 98-sep-20 - diff --git a/htdocs/docs/man/cust_bill_pkg.txt b/htdocs/docs/man/cust_bill_pkg.txt deleted file mode 100644 index 1ca4b8cca..000000000 --- a/htdocs/docs/man/cust_bill_pkg.txt +++ /dev/null @@ -1,72 +0,0 @@ -NAME -    FS::cust_bill_pkg - Object methods for cust_bill_pkg records - -SYNOPSIS -      use FS::cust_bill_pkg; - -      $record = create FS::cust_bill_pkg \%hash; -      $record = create FS::cust_bill_pkg { 'column' => 'value' }; - -      $error = $record->insert; - -      $error = $new_record->replace($old_record); - -      $error = $record->delete; - -      $error = $record->check; - -DESCRIPTION -    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: - -    invnum - invoice (see the FS::cust_bill manpage) -    pkgnum - package (see the FS::cust_pkg manpage) -    setup - setup fee -    recur - recurring fee -    sdate - starting date of recurring fee -    edate - ending date of recurring fee -    sdate and edate are specified as UNIX timestamps; see the -    section on "time" in the perlfunc manpage. Also see the -    Time::Local manpage and the Date::Parse manpage for conversion -    functions. - -METHODS -    create HASHREF -        Creates a new line item. To add the line item to the -        database, see the section on "insert". Line items are -        normally created by calling the bill method of a customer -        object (see the FS::cust_main manpage). - -    insert -        Adds this line item to the database. If there is an error, -        returns the error, otherwise returns false. - -    delete -        Currently unimplemented. I don't remove line items because -        there would then be no record the items ever existed (which -        is bad, no?) - -    replace OLD_RECORD -        Currently unimplemented. This would be even more of an -        accounting nightmare than deleteing the items. Just don't do -        it. - -    check -        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. - -BUGS -    It doesn't properly override FS::Record yet. - -SEE ALSO -    the FS::Record manpage, the FS::cust_bill manpage, the -    FS::cust_pkg manpage, the FS::cust_main manpage, schema.html -    from the base documentation. - -HISTORY -    ivan@sisd.com 98-mar-13 - -    pod ivan@sisd.com 98-sep-21 - diff --git a/htdocs/docs/man/cust_credit.txt b/htdocs/docs/man/cust_credit.txt deleted file mode 100644 index 84591ee81..000000000 --- a/htdocs/docs/man/cust_credit.txt +++ /dev/null @@ -1,75 +0,0 @@ -NAME -    FS::cust_credit - Object methods for cust_credit records - -SYNOPSIS -      use FS::cust_credit; - -      $record = create FS::cust_credit \%hash; -      $record = create FS::cust_credit { 'column' => 'value' }; - -      $error = $record->insert; - -      $error = $new_record->replace($old_record); - -      $error = $record->delete; - -      $error = $record->check; - -DESCRIPTION -    An FS::cust_credit object represents a credit. FS::cust_credit -    inherits from FS::Record. The following fields are currently -    supported: - -    crednum - primary key (assigned automatically for new credits) -    custnum - customer (see the FS::cust_main manpage) -    amount - amount of the credit -    credited - how much of this credit that is still outstanding, which is -    amount minus all refunds (see the FS::cust_refund manpage). -    _date - specified as a UNIX timestamp; see the section on "time" in the perlfunc manpage.  Also see -    the Time::Local manpage and the Date::Parse manpage for conversion functions. -    otaker - order taker (assigned automatically, see the FS::UID manpage) -    reason - text -METHODS -    create HASHREF -        Creates a new credit. To add the credit to the database, see -        the section on "insert". - -    insert -        Adds this credit to the database ("Posts" the credit). If -        there is an error, returns the error, otherwise returns -        false. - -        When adding new invoices, credited must be amount (or null, -        in which case it is automatically set to amount). - -    delete -        Currently unimplemented. - -    replace OLD_RECORD -        Replaces the OLD_RECORD with this one in the database. If -        there is an error, returns the error, otherwise returns -        false. - -        Only credited may be changed. Credited is normally updated -        by creating and inserting a refund (see the FS::cust_refund -        manpage). - -    check -        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. - -BUGS -    The delete method. - -    It doesn't properly override FS::Record yet. - -SEE ALSO -    the FS::Record manpage, the FS::cust_refund manpage, the -    FS::cust_bill manpage, schema.html from the base documentation. - -HISTORY -    ivan@sisd.com 98-mar-17 - -    pod, otaker from FS::UID ivan@sisd.com 98-sep-21 - diff --git a/htdocs/docs/man/cust_main.txt b/htdocs/docs/man/cust_main.txt deleted file mode 100644 index df7848744..000000000 --- a/htdocs/docs/man/cust_main.txt +++ /dev/null @@ -1,200 +0,0 @@ -NAME -    FS::cust_main - Object methods for cust_main records - -SYNOPSIS -      use FS::cust_main; - -      $record = create FS::cust_main \%hash; -      $record = create FS::cust_main { 'column' => 'value' }; - -      $error = $record->insert; - -      $error = $new_record->replace($old_record); - -      $error = $record->delete; - -      $error = $record->check; - -      @cust_pkg = $record->all_pkgs; - -      @cust_pkg = $record->ncancelled_pkgs; - -      $error = $record->bill; -      $error = $record->bill %options; -      $error = $record->bill 'time' => $time; - -      $error = $record->collect; -      $error = $record->collect %options; -      $error = $record->collect 'invoice_time'   => $time, -                                'batch_card'     => 'yes', -                                'report_badcard' => 'yes', -                              ; - -DESCRIPTION -    An FS::cust_main object represents a customer. FS::cust_main -    inherits from FS::Record. The following fields are currently -    supported: - -    custnum - primary key (assigned automatically for new customers) -    agentnum - agent (see the FS::agent manpage) -    refnum - referral (see the FS::part_referral manpage) -    first - name -    last - name -    ss - social security number (optional) -    company - (optional) -    address1 -    address2 - (optional) -    city -    county - (optional, see the FS::cust_main_county manpage) -    state - (see the FS::cust_main_county manpage) -    zip -    country - (see the FS::cust_main_county manpage) -    daytime - phone (optional) -    night - phone (optional) -    payby - `CARD' (credit cards), `BILL' (billing), or `COMP' (free) -    payinfo - card number, P.O.#, or comp issuer (4-8 lowercase alphanumerics; think username) -    paydate - expiration date, mm/yyyy, m/yyyy, mm/yy or m/yy -    payname - name on card or billing name -    tax - tax exempt, empty or `Y' -    otaker - order taker (assigned automatically, see the FS::UID manpage) -METHODS -    create HASHREF -        Creates a new customer. To add the customer to the database, -        see the section on "insert". - -        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 *hash* method. - -    insert -        Adds this customer to the database. If there is an error, -        returns the error, otherwise returns false. - -    delete -        Currently unimplemented. Maybe cancel all of this customer's -        packages (cust_pkg)? - -        I don't remove the customer record in the database because -        there would then be no record the customer ever existed -        (which is bad, no?) - -    replace OLD_RECORD -        Replaces the OLD_RECORD with this one in the database. If -        there is an error, returns the error, otherwise returns -        false. - -    check -        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. - -    all_pkgs -        Returns all packages (see the FS::cust_pkg manpage) for this -        customer. - -    ncancelled_pkgs -        Returns all non-cancelled packages (see the FS::cust_pkg -        manpage) for this customer. - -    bill OPTIONS -        Generates invoices (see the FS::cust_bill manpage) for this -        customer. Usually used in conjunction with the collect -        method. - -        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 the section on "time" in the perlfunc -        manpage). Also see the Time::Local manpage and the -        Date::Parse manpage for conversion functions. - -        If there is an error, returns the error, otherwise returns -        false. - -    collect OPTIONS -        (Attempt to) collect money for this customer's outstanding -        invoices (see the FS::cust_bill manpage). Usually used after -        the bill method. - -        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'). - -        If there is an error, returns the error, otherwise returns -        false. - -        Currently available options are: - -        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 the section on -        "time" in the perlfunc manpage). Also see the Time::Local -        manpage and the Date::Parse manpage for conversion -        functions. - -        batch_card - Set this true to batch cards (see the -        cust_pay_batch manpage). By default, cards are processed -        immediately, which will generate an error if CyberCash is -        not installed. - -        report_badcard - Set this true if you want bad card -        transactions to return an error. By default, they don't. - -    total_owed -        Returns the total owed for this customer on all invoices -        (see the FS::cust_bill manpage). - -    total_credited -        Returns the total credits (see the FS::cust_credit manpage) -        for this customer. - -    balance -        Returns the balance for this customer (total owed minus -        total credited). - -BUGS -    The delete method. - -    It doesn't properly override FS::Record yet. - -    hfields should be removed. - -    Bill and collect options should probably be passed as references -    instead of a list. - -    CyberCash v2 forces us to define some variables in package main. - -SEE ALSO -    the FS::Record manpage, the FS::cust_pkg manpage, the -    FS::cust_bill manpage, the FS::cust_credit manpage the -    FS::cust_pay_batch manpage, the FS::agent manpage, the -    FS::part_referral manpage, the FS::cust_main_county manpage, the -    FS::UID manpage, schema.html from the base documentation. - -HISTORY -    ivan@voicenet.com 97-jul-28 - -    Changed to standard Business::CreditCard no more TableUtil -    EXPORT_OK FS::Record's hfields removed unique calls and locking -    (not needed here now) wrapped the (now) optional fields in if -    statements in sub check (notyetdone!) ivan@sisd.com 97-nov-12 - -    updated paydate with SQL-type date info ivan@sisd.com 98-mar-5 - -    Added export of datasrc from UID.pm for Pg6.3 changed 'day' to -    'daytime' because Pg6.3 reserves the day word -    bmccane@maxbaud.net 98-apr-3 - -    in ->create, s/svc_acct/cust_main/, now it should actually -    eliminate the warnings it was meant to ivan@sisd.com 98-jul-16 - -    don't require a phone number and allow '/' in company names -    ivan@sisd.com 98-jul-18 - -    use ut_ and rewrite &check, &*_pkgs ivan@sisd.com 98-sep-5 - -    pod, merge with FS::Bill (about time!), total_owed, -    total_credited and balance methods, cleaned collect method, -    source modifications no longer necessary to enable cybercash, -    cybercash v3 support, don't need to import -    FS::UID::{datasrc,checkruid} ivan@sisd.com 98-sep-19-21 - diff --git a/htdocs/docs/man/cust_main_county.txt b/htdocs/docs/man/cust_main_county.txt deleted file mode 100644 index 8e99397cc..000000000 --- a/htdocs/docs/man/cust_main_county.txt +++ /dev/null @@ -1,67 +0,0 @@ -NAME -    FS::cust_main_county - Object methods for cust_main_county -    objects - -SYNOPSIS -      use FS::cust_main_county; - -      $record = create FS::cust_main_county \%hash; -      $record = create FS::cust_main_county { 'column' => 'value' }; - -      $error = $record->insert; - -      $error = $new_record->replace($old_record); - -      $error = $record->delete; - -      $error = $record->check; - -DESCRIPTION -    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: - -    taxnum - primary key (assigned automatically for new tax rates) -    state -    county -    tax - percentage -METHODS -    create HASHREF -        Creates a new tax rate. To add the tax rate to the database, -        see the section on "insert". - -    insert -        Adds this tax rate to the database. If there is an error, -        returns the error, otherwise returns false. - -    delete -        Deletes this tax rate from the database. If there is an -        error, returns the error, otherwise returns false. - -    replace OLD_RECORD -        Replaces the OLD_RECORD with this one in the database. If -        there is an error, returns the error, otherwise returns -        false. - -    check -        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. - -BUGS -    It doesn't properly override FS::Record yet. - -    A country field (and possibly a currency field) should be added. - -SEE ALSO -    the FS::Record manpage, the FS::cust_main manpage, the -    FS::cust_bill manpage, schema.html from the base documentation. - -HISTORY -    ivan@voicenet.com 97-dec-16 - -    Changed check for 'tax' to use the new ut_float subroutine -    bmccane@maxbaud.net 98-apr-3 - -    pod ivan@sisd.com 98-sep-21 - diff --git a/htdocs/docs/man/cust_pay.txt b/htdocs/docs/man/cust_pay.txt deleted file mode 100644 index 9f28d0822..000000000 --- a/htdocs/docs/man/cust_pay.txt +++ /dev/null @@ -1,66 +0,0 @@ -NAME -    FS::cust_pay - Object methods for cust_pay objects - -SYNOPSIS -      use FS::cust_pay; - -      $record = create FS::cust_pay \%hash; -      $record = create FS::cust_pay { 'column' => 'value' }; - -      $error = $record->insert; - -      $error = $new_record->replace($old_record); - -      $error = $record->delete; - -      $error = $record->check; - -DESCRIPTION -    An FS::cust_pay object represents a payment. FS::cust_pay -    inherits from FS::Record. The following fields are currently -    supported: - -    paynum - primary key (assigned automatically for new payments) -    invnum - Invoice (see the FS::cust_bill manpage) -    paid - Amount of this payment -    _date - specified as a UNIX timestamp; see the section on "time" in the perlfunc manpage.  Also see -    the Time::Local manpage and the Date::Parse manpage for conversion functions. -    payby - `CARD' (credit cards), `BILL' (billing), or `COMP' (free) -    payinfo - card number, P.O.#, or comp issuer (4-8 lowercase alphanumerics; think username) -    paybatch - text field for tracking card processing -METHODS -    create HASHREF -        Creates a new payment. To add the payment to the databse, -        see the section on "insert". - -    insert -        Adds this payment to the databse, and updates the invoice -        (see the FS::cust_bill manpage). - -    delete -        Currently unimplemented (accounting reasons). - -    replace OLD_RECORD -        Currently unimplemented (accounting reasons). - -    check -        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. - -BUGS -    It doesn't properly override FS::Record yet. - -    Delete and replace methods. - -SEE ALSO -    the FS::Record manpage, the FS::cust_bill manpage, schema.html -    from the base documentation. - -HISTORY -    ivan@voicenet.com 97-jul-1 - 25 - 29 - -    new api ivan@sisd.com 98-mar-13 - -    pod ivan@sisd.com 98-sep-21 - diff --git a/htdocs/docs/man/cust_pkg.txt b/htdocs/docs/man/cust_pkg.txt deleted file mode 100644 index 5409083d8..000000000 --- a/htdocs/docs/man/cust_pkg.txt +++ /dev/null @@ -1,150 +0,0 @@ -NAME -    FS::cust_pkg - Object methods for cust_pkg objects - -SYNOPSIS -      use FS::cust_pkg; - -      $record = create FS::cust_pkg \%hash; -      $record = create FS::cust_pkg { 'column' => 'value' }; - -      $error = $record->insert; - -      $error = $new_record->replace($old_record); - -      $error = $record->delete; - -      $error = $record->check; - -      $error = $record->cancel; - -      $error = $record->suspend; - -      $error = $record->unsuspend; - -      $error = FS::cust_pkg::order( $custnum, \@pkgparts ); -      $error = FS::cust_pkg::order( $custnum, \@pkgparts, \@remove_pkgnums ] ); - -DESCRIPTION -    An FS::cust_pkg object represents a customer billing item. -    FS::cust_pkg inherits from FS::Record. The following fields are -    currently supported: - -    pkgnum - primary key (assigned automatically for new billing items) -    custnum - Customer (see the FS::cust_main manpage) -    pkgpart - Billing item definition (see the FS::part_pkg manpage) -    setup - date -    bill - date -    susp - date -    expire - date -    cancel - date -    otaker - order taker (assigned automatically if null, see the FS::UID manpage) -    Note: setup, bill, susp, expire and cancel are specified as UNIX -    timestamps; see the section on "time" in the perlfunc manpage. -    Also see the Time::Local manpage and the Date::Parse manpage for -    conversion functions. - -METHODS -    create HASHREF -        Create a new billing item. To add the item to the database, -        see the section on "insert". - -    insert -        Adds this billing item to the database ("Orders" the item). -        If there is an error, returns the error, otherwise returns -        false. - -    delete -        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. - -        sub delete { return "Can't delete cust_pkg records!"; } - -    replace OLD_RECORD -        Replaces the OLD_RECORD with this one in the database. If -        there is an error, returns the error, otherwise returns -        false. - -        Currently, custnum, setup, bill, susp, expire, and cancel -        may be changed. - -        pkgpart may not be changed, but see the order subroutine. - -        setup and bill are normally updated by calling the bill -        method of a customer object (see the FS::cust_main manpage). - -        suspend is normally updated by the suspend and unsuspend -        methods. - -        cancel is normally updated by the cancel method (and also -        the order subroutine in some cases). - -    check -        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. - -    cancel -        Cancels and removes all services (see the FS::cust_svc -        manpage and the FS::part_svc manpage) in this package, then -        cancels the package itself (sets the cancel field to now). - -        If there is an error, returns the error, otherwise returns -        false. - -    suspend -        Suspends all services (see the FS::cust_svc manpage and the -        FS::part_svc manpage) in this package, then suspends the -        package itself (sets the susp field to now). - -        If there is an error, returns the error, otherwise returns -        false. - -    unsuspend -        Unsuspends all services (see the FS::cust_svc manpage and -        the FS::part_svc manpage) in this package, then unsuspends -        the package itself (clears the susp field). - -        If there is an error, returns the error, otherwise returns -        false. - -SUBROUTINES -    order CUSTNUM, PKGPARTS_ARYREF, [ REMOVE_PKGNUMS_ARYREF ] -        CUSTNUM is a customer (see the FS::cust_main manpage) - -        PKGPARTS is a list of pkgparts specifying the the billing -        item definitions (see the FS::part_pkg manpage) to order for -        this customer. Duplicates are of course permitted. - -        REMOVE_PKGNUMS is an optional list of pkgnums specifying the -        billing items to remove for this customer. The services (see -        the FS::cust_svc manpage) are moved to the new billing -        items. An error is returned if this is not possible (see the -        FS::pkg_svc manpage). - -BUGS -    It doesn't properly override FS::Record yet. - -    sub order is not OO. Perhaps it should be moved to FS::cust_main -    and made so? - -    In sub order, the @pkgparts array (passed by reference) is -    clobbered. - -    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. - -SEE ALSO -    the FS::Record manpage, the FS::cust_main manpage, the -    FS::part_pkg manpage, the FS::cust_svc manpage , the FS::pkg_svc -    manpage, schema.html from the base documentation - -HISTORY -    ivan@voicenet.com 97-jul-1 - 21 - -    fixed for new agent->agent_type->type_pkgs in &order -    ivan@sisd.com 98-mar-7 - -    pod ivan@sisd.com 98-sep-21 - diff --git a/htdocs/docs/man/cust_refund.txt b/htdocs/docs/man/cust_refund.txt deleted file mode 100644 index 392a0b57a..000000000 --- a/htdocs/docs/man/cust_refund.txt +++ /dev/null @@ -1,66 +0,0 @@ -NAME -    FS::cust_refund - Object method for cust_refund objects - -SYNOPSIS -      use FS::cust_refund; - -      $record = create FS::cust_refund \%hash; -      $record = create FS::cust_refund { 'column' => 'value' }; - -      $error = $record->insert; - -      $error = $new_record->replace($old_record); - -      $error = $record->delete; - -      $error = $record->check; - -DESCRIPTION -    An FS::cust_refund represents a refund. FS::cust_refund inherits -    from FS::Record. The following fields are currently supported: - -    refundnum - primary key (assigned automatically for new refunds) -    crednum - Credit (see the FS::cust_credit manpage) -    refund - Amount of the refund -    _date - specified as a UNIX timestamp; see the section on "time" in the perlfunc manpage.  Also see -    the Time::Local manpage and the Date::Parse manpage for conversion functions. -    payby - `CARD' (credit cards), `BILL' (billing), or `COMP' (free) -    payinfo - card number, P.O.#, or comp issuer (4-8 lowercase alphanumerics; think username) -    otaker - order taker (assigned automatically, see the FS::UID manpage) -METHODS -    create HASHREF -        Creates a new refund. To add the refund to the database, see -        the section on "insert". - -    insert -        Adds this refund to the database, and updates the credit -        (see the FS::cust_credit manpage). - -    delete -        Currently unimplemented (accounting reasons). - -    replace OLD_RECORD -        Currently unimplemented (accounting reasons). - -    check -        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. - -BUGS -    It doesn't properly override FS::Record yet. - -    Delete and replace methods. - -SEE ALSO -    the FS::Record manpage, the FS::cust_credit manpage, schema.html -    from the base documentation. - -HISTORY -    ivan@sisd.com 98-mar-18 - -    ->create had wrong tablename ivan@sisd.com 98-jun-16 (finish -    me!) - -    pod and finish up ivan@sisd.com 98-sep-21 - diff --git a/htdocs/docs/man/cust_svc.txt b/htdocs/docs/man/cust_svc.txt deleted file mode 100644 index d863ea852..000000000 --- a/htdocs/docs/man/cust_svc.txt +++ /dev/null @@ -1,72 +0,0 @@ -NAME -    FS::cust_svc - Object method for cust_svc objects - -SYNOPSIS -      use FS::cust_svc; - -      $record = create FS::cust_svc \%hash -      $record = create FS::cust_svc { 'column' => 'value' }; - -      $error = $record->insert; - -      $error = $new_record->replace($old_record); - -      $error = $record->delete; - -      $error = $record->check; - -DESCRIPTION -    An FS::cust_svc represents a service. FS::cust_svc inherits from -    FS::Record. The following fields are currently supported: - -    svcnum - primary key (assigned automatically for new services) -    pkgnum - Package (see the FS::cust_pkg manpage) -    svcpart - Service definition (see the FS::part_svc manpage) -METHODS -    create HASHREF -        Creates a new service. To add the refund to the database, -        see the section on "insert". Services are normally created -        by creating FS::svc_ objects (see the FS::svc_acct manpage, -        the FS::svc_domain manpage, and the FS::svc_acct_sm manpage, -        among others). - -    insert -        Adds this service to the database. If there is an error, -        returns the error, otherwise returns false. - -    delete -        Deletes this service from the database. If there is an -        error, returns the error, otherwise returns false. - -        Called by the cancel method of the package (see the -        FS::cust_pkg manpage). - -    replace OLD_RECORD -        Replaces the OLD_RECORD with this one in the database. If -        there is an error, returns the error, otherwise returns -        false. - -    check -        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. - -BUGS -    Behaviour of changing the svcpart of cust_svc records is -    undefined and should possibly be prohibited, and pkg_svc records -    are not checked. - -    pkg_svc records are not checket in general (here). - -SEE ALSO -    the FS::Record manpage, the FS::cust_pkg manpage, the -    FS::part_svc manpage, the FS::pkg_svc manpage, schema.html from -    the base documentation - -HISTORY -    ivan@voicenet.com 97-jul-10,14 - -    no TableUtil, no FS::Lock ivan@sisd.com 98-mar-7 - -    pod ivan@sisd.com 98-sep-21 - diff --git a/htdocs/docs/man/dbdef.txt b/htdocs/docs/man/dbdef.txt deleted file mode 100644 index 6f1215a84..000000000 --- a/htdocs/docs/man/dbdef.txt +++ /dev/null @@ -1,80 +0,0 @@ -NAME -    FS::dbdef - Database objects - -SYNOPSIS -      use FS::dbdef; - -      $dbdef = new FS::dbdef (@dbdef_table_objects); -      $dbdef = load FS::dbdef "filename"; - -      $dbdef->save("filename"); - -      $dbdef->addtable($dbdef_table_object); - -      @table_names = $dbdef->tables; - -      $FS_dbdef_table_object = $dbdef->table; - -DESCRIPTION -    FS::dbdef objects are collections of FS::dbdef_table objects and -    represnt a database (a collection of tables). - -METHODS -    new TABLE, TABLE, ... -        Creates a new FS::dbdef object - -    load FILENAME -        Loads an FS::dbdef object from a file. - -    save FILENAME -        Saves an FS::dbdef object to a file. - -    addtable TABLE -        Adds this FS::dbdef_table object. - -    tables -        Returns the names of all tables. - -    table TABLENAME -        Returns the named FS::dbdef_table object. - -BUGS -        Each FS::dbdef object should have a name which corresponds -        to its name within the SQL database engine. - -SEE ALSO -        the FS::dbdef_table manpage, the FS::Record manpage, - -HISTORY -        beginning of abstraction into a class (not really) - -        ivan@sisd.com 97-dec-4 - -        added primary_key ivan@sisd.com 98-jan-20 - -        added datatype (very kludgy and needs to be cleaned) -        ivan@sisd.com 98-feb-21 - -        perltrap (sigh) masked by mysql 3.20->3,21 ivan@sisd.com 98- -        mar-2 - -        Change 'type' to 'atype' in agent_type Changed attributes to -        special words which are changed in fs-setup ie. double(10,2) -        <=> MONEYTYPE Changed order of some of the field definitions -        because Pg6.3 is picky Changed 'day' to 'daytime' in -        cust_main Changed type of tax from tinyint to real Change -        'password' to '_password' in svc_acct Pg6.3 does not allow -        'field char(x) NULL' bmccane@maxbaud.net 98-apr-3 - -        rewrite: now properly OO. See also -        FS::dbdef_{table,column,unique,index} - -        ivan@sisd.com 98-apr-17 - -        gained some extra functions ivan@sisd.com 98-may-11 - -        now knows how to Freeze and Thaw itself ivan@sisd.com 98- -        jun-2 - -        pod ivan@sisd.com 98-sep-23 - diff --git a/htdocs/docs/man/dbdef_colgroup.txt b/htdocs/docs/man/dbdef_colgroup.txt deleted file mode 100644 index a7eebc6c7..000000000 --- a/htdocs/docs/man/dbdef_colgroup.txt +++ /dev/null @@ -1,51 +0,0 @@ -NAME -    FS::dbdef_colgroup - Column group objects - -SYNOPSIS -      use FS::dbdef_colgroup; - -      $colgroup = new FS::dbdef_colgroup ( $lol ); -      $colgroup = new FS::dbdef_colgroup ( -        [ -          [ 'single_column' ], -          [ 'multiple_columns', 'another_column', ], -        ] -      ); - -      @sql_lists = $colgroup->sql_list; - -      @singles = $colgroup->singles; - -DESCRIPTION -    FS::dbdef_colgroup objects represent sets of sets of columns. - -METHODS -    new Creates a new FS::dbdef_colgroup object. - -    sql_list -        Returns a flat list of comma-separated values, for SQL -        statements. - -    singles -        Returns a flat list of all single item lists. - -BUGS -SEE ALSO -    the FS::dbdef_table manpage, the FS::dbdef_unique manpage, the -    FS::dbdef_index manpage, the FS::dbdef_column manpage, the -    FS::dbdef manpage, the perldsc manpage - -HISTORY -    class for dealing with groups of groups of columns (used as a -    base class by FS::dbdef_{unique,index} ) - -    ivan@sisd.com 98-apr-19 - -    added singles, fixed sql_list to skip empty lists ivan@sisd.com -    98-jun-2 - -    untaint things we're returning in sub singels ivan@sisd.com 98- -    jun-4 - -    pod ivan@sisd.com 98-sep-24 - diff --git a/htdocs/docs/man/dbdef_column.txt b/htdocs/docs/man/dbdef_column.txt deleted file mode 100644 index 93e239517..000000000 --- a/htdocs/docs/man/dbdef_column.txt +++ /dev/null @@ -1,69 +0,0 @@ -NAME -    FS::dbdef_column - Column object - -SYNOPSIS -      use FS::dbdef_column; - -      $column_object = new FS::dbdef_column ( $name, $sql_type, '' ); -      $column_object = new FS::dbdef_column ( $name, $sql_type, 'NULL' ); -      $column_object = new FS::dbdef_column ( $name, $sql_type, '', $length ); -      $column_object = new FS::dbdef_column ( $name, $sql_type, 'NULL', $length ); - -      $name = $column_object->name; -      $column_object->name ( 'name' ); - -      $name = $column_object->type; -      $column_object->name ( 'sql_type' ); - -      $name = $column_object->null; -      $column_object->name ( 'NOT NULL' ); - -      $name = $column_object->length; -      $column_object->name ( $length ); - -      $sql_line = $column->line; -      $sql_line = $column->line $datasrc; - -DESCRIPTION -    FS::dbdef::column objects represend columns in tables (see the -    FS::dbdef_table manpage). - -METHODS -    new Creates a new FS::dbdef_column object. - -    name -        Returns or sets the column name. - -    type -        Returns or sets the column type. - -    null -        Returns or sets the column null flag. - -    type -        Returns or sets the column length. - -    line [ $datasrc ] -        Returns an SQL column definition. - -        If passed a DBI $datasrc specifying the DBD::mysql manpage, -        will use MySQL-specific syntax. Non-standard syntax for -        other engines (if applicable) may also be supported in the -        future. - -BUGS -SEE ALSO -    the FS::dbdef_table manpage, the FS::dbdef manpage, the DBI -    manpage - -HISTORY -    class for dealing with column definitions - -    ivan@sisd.com 98-apr-17 - -    now methods can be used to get or set data ivan@sisd.com 98-may- -    11 - -    mySQL-specific hack for null (what should be default?) -    ivan@sisd.com 98-jun-2 - diff --git a/htdocs/docs/man/dbdef_index.txt b/htdocs/docs/man/dbdef_index.txt deleted file mode 100644 index 8cf339b84..000000000 --- a/htdocs/docs/man/dbdef_index.txt +++ /dev/null @@ -1,27 +0,0 @@ -NAME -    FS::dbdef_unique.pm - Index object - -SYNOPSIS -      use FS::dbdef_index; - -        # see FS::dbdef_colgroup methods - -DESCRIPTION -    FS::dbdef_unique objects represent the (non-unique) indices of a -    table (the FS::dbdef_table manpage). FS::dbdef_unique inherits -    from FS::dbdef_colgroup. - -BUGS -    Is this empty subclass needed? - -SEE ALSO -    the FS::dbdef_colgroup manpage, the FS::dbdef_record manpage, -    the FS::Record manpage - -HISTORY -    class for dealing with index definitions - -    ivan@sisd.com 98-apr-19 - -    pod ivan@sisd.com 98-sep-24 - diff --git a/htdocs/docs/man/dbdef_table.txt b/htdocs/docs/man/dbdef_table.txt deleted file mode 100644 index 25e010d8b..000000000 --- a/htdocs/docs/man/dbdef_table.txt +++ /dev/null @@ -1,94 +0,0 @@ -NAME -    FS::dbdef_table - Table objects - -SYNOPSIS -      use FS::dbdef_table; - -      $dbdef_table = new FS::dbdef_table ( -        "table_name", -        "primary_key", -        $FS_dbdef_unique_object, -        $FS_dbdef_index_object, -        @FS_dbdef_column_objects, -      ); - -      $dbdef_table->addcolumn ( $FS_dbdef_column_object ); - -      $table_name = $dbdef_table->name; -      $dbdef_table->name ("table_name"); - -      $table_name = $dbdef_table->primary_keye; -      $dbdef_table->primary_key ("primary_key"); - -      $FS_dbdef_unique_object = $dbdef_table->unique; -      $dbdef_table->unique ( $FS_dbdef_unique_object ); - -      $FS_dbdef_index_object = $dbdef_table->index; -      $dbdef_table->index ( $FS_dbdef_index_object ); - -      @column_names = $dbdef->columns; - -      $FS_dbdef_column_object = $dbdef->column; - -      @sql_statements = $dbdef->sql_create_table; -      @sql_statements = $dbdef->sql_create_table $datasrc; - -DESCRIPTION -    FS::dbdef_table objects represent a single database table. - -METHODS -    new Creates a new FS::dbdef_table object. - -    addcolumn -        Adds this FS::dbdef_column object. - -    name -        Returns or sets the table name. - -    primary_key -        Returns or sets the primary key. - -    unique -        Returns or sets the FS::dbdef_unique object. - -    index -        Returns or sets the FS::dbdef_index object. - -    columns -        Returns a list consisting of the names of all columns. - -    column "column" -        Returns the column object (see the FS::dbdef_column manpage) -        for "column". - -    sql_create_table [ $datasrc ] -        Returns an array of SQL statments to create this table. - -        If passed a DBI $datasrc specifying the DBD::mysql manpage, -        will use MySQL-specific syntax. Non-standard syntax for -        other engines (if applicable) may also be supported in the -        future. - -BUGS -SEE ALSO -    the FS::dbdef manpage, the FS::dbdef_unique manpage, the -    FS::dbdef_index manpage, the FS::dbdef_unique manpage, the DBI -    manpage - -HISTORY -    class for dealing with table definitions - -    ivan@sisd.com 98-apr-18 - -    gained extra functions (should %columns be an IxHash?) -    ivan@sisd.com 98-may-11 - -    sql_create_table returns a list of statments, not just one, and -    now it does indices (plus mysql hack) ivan@sisd.com 98-jun-2 - -    untaint primary_key... hmm. is this a hack around a bigger -    problem? looks like, did the same thing singles in colgroup! -    ivan@sisd.com 98-jun-4 - -    pod ivan@sisd.com 98-sep-24 - diff --git a/htdocs/docs/man/dbdef_unique.txt b/htdocs/docs/man/dbdef_unique.txt deleted file mode 100644 index 0e4f0150b..000000000 --- a/htdocs/docs/man/dbdef_unique.txt +++ /dev/null @@ -1,27 +0,0 @@ -NAME -    FS::dbdef_unique.pm - Unique object - -SYNOPSIS -      use FS::dbdef_unique; - -      # see FS::dbdef_colgroup methods - -DESCRIPTION -    FS::dbdef_unique objects represent the unique indices of a -    database table (the FS::dbdef_table manpage). FS::dbdef_unique -    inherits from FS::dbdef_colgroup. - -BUGS -    Is this empty subclass needed? - -SEE ALSO -    the FS::dbdef_colgroup manpage, the FS::dbdef_record manpage, -    the FS::Record manpage - -HISTORY -    class for dealing with unique definitions - -    ivan@sisd.com 98-apr-19 - -    pod ivan@sisd.com 98-sep-24 - diff --git a/htdocs/docs/man/index.html b/htdocs/docs/man/index.html deleted file mode 100644 index 4f33dd485..000000000 --- a/htdocs/docs/man/index.html +++ /dev/null @@ -1,48 +0,0 @@ -<head> -  <title>Perl API</title> -</head> -<body> -  <h1>Perl API</h1> -  <ul> -<li><a href="agent.txt">FS::agent</a> -<li><a href="agent_type.txt">FS::agent_type</a> -<li><a href="cust_bill.txt">FS::cust_bill</a> -<li><a href="cust_bill_pkg.txt">FS::cust_bill_pkg</a> -<li><a href="cust_credit.txt">FS::cust_credit</a> -<li><a href="cust_main.txt">FS::cust_main</a> -<li><a href="cust_main_county.txt">FS::cust_main_county</a> -<li><a href="cust_pay.txt">FS::cust_pay</a> -<li><a href="cust_pkg.txt">FS::cust_pkg</a> -<li><a href="cust_refund.txt">FS::cust_refund</a> -<li><a href="cust_svc.txt">FS::cust_svc</a> -<li><a href="part_pkg.txt">FS::part_pkg</a> -<li><a href="part_referral.txt">FS::part_referral</a> -<li><a href="part_svc.txt">FS::part_svc</a> -<li><a href="pkg_svc.txt">FS::pkg_svc</a> -<li><a href="svc_acct.txt">FS::svc_acct</a> -<li><a href="svc_acct_pop.txt">FS::svc_acct_pop</a> -<li><a href="svc_acct_sm.txt">FS::svc_acct_sm</a> -<li><a href="svc_domain.txt">FS::svc_domain</a> -<li><a href="type_pkgs.txt">FS::type_pkgs</a> -</ul> -<br> -<ul> -<li><a href="Bill.txt">FS::Bill</a> -<li><a href="CGI.txt">FS::CGI</a> -<li><a href="Conf.txt">FS::Conf</a> -<li><a href="Invoice.txt">FS::Invoice</a> -<li><a href="Record.txt">FS::Record</a> -<li><a href="SSH.txt">FS::SSH</a> -<li><a href="UID.txt">FS::UID</a> -</ul> -<br> -<ul> -<li><a href="dbdef.txt">FS::dbdef</a> -<li><a href="dbdef_colgroup.txt">FS::dbdef_colgroup</a> -<li><a href="dbdef_column.txt">FS::dbdef_column</a> -<li><a href="dbdef_index.txt">FS::dbdef_index</a> -<li><a href="dbdef_table.txt">FS::dbdef_table</a> -<li><a href="dbdef_unique.txt">FS::dbdef_unique</a> - -<ul> -</body> diff --git a/htdocs/docs/man/part_pkg.txt b/htdocs/docs/man/part_pkg.txt deleted file mode 100644 index dc1bce423..000000000 --- a/htdocs/docs/man/part_pkg.txt +++ /dev/null @@ -1,73 +0,0 @@ -NAME -    FS::part_pkg - Object methods for part_pkg objects - -SYNOPSIS -      use FS::part_pkg; - -      $record = create FS::part_pkg \%hash -      $record = create FS::part_pkg { 'column' => 'value' }; - -      $error = $record->insert; - -      $error = $new_record->replace($old_record); - -      $error = $record->delete; - -      $error = $record->check; - -DESCRIPTION -    An FS::part_pkg represents a billing item definition. -    FS::part_pkg inherits from FS::Record. The following fields are -    currently supported: - -    pkgpart - primary key (assigned automatically for new billing item definitions) -    pkg - Text name of this billing item definition (customer-viewable) -    comment - Text name of this billing item definition (non-customer-viewable) -    setup - Setup fee -    freq - Frequency of recurring fee -    recur - Recurring fee -    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. - -METHODS -    create HASHREF -        Creates a new billing item definition. To add the billing -        item definition to the database, see the section on -        "insert". - -    insert -        Adds this billing item definition to the database. If there -        is an error, returns the error, otherwise returns false. - -    delete -        Currently unimplemented. - -    replace OLD_RECORD -        Replaces OLD_RECORD with this one in the database. If there -        is an error, returns the error, otherwise returns false. - -    check -        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. - -BUGS -    It doesn't properly override FS::Record yet. - -    The delete method is unimplemented. - -    setup and recur semantics are not yet defined (and are -    implemented in FS::cust_bill. hmm.). - -SEE ALSO -    the FS::Record manpage, the FS::cust_pkg manpage, the -    FS::type_pkgs manpage, the FS::pkg_svc manpage, the Safe -    manpage. schema.html from the base documentation. - -HISTORY -    ivan@sisd.com 97-dec-5 - -    pod ivan@sisd.com 98-sep-21 - diff --git a/htdocs/docs/man/part_referral.txt b/htdocs/docs/man/part_referral.txt deleted file mode 100644 index 534996323..000000000 --- a/htdocs/docs/man/part_referral.txt +++ /dev/null @@ -1,63 +0,0 @@ -NAME -    FS::part_referral - Object methods for part_referral objects - -SYNOPSIS -      use FS::part_referral; - -      $record = create FS::part_referral \%hash -      $record = create FS::part_referral { 'column' => 'value' }; - -      $error = $record->insert; - -      $error = $new_record->replace($old_record); - -      $error = $record->delete; - -      $error = $record->check; - -DESCRIPTION -    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: - -    refnum - primary key (assigned automatically for new referrals) -    referral - Text name of this referral -METHODS -    create HASHREF -        Creates a new referral. To add the referral to the database, -        see the section on "insert". - -    insert -        Adds this referral to the database. If there is an error, -        returns the error, otherwise returns false. - -    delete -        Currently unimplemented. - -    replace OLD_RECORD -        Replaces OLD_RECORD with this one in the database. If there -        is an error, returns the error, otherwise returns false. - -    check -        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. - -BUGS -    It doesn't properly override FS::Record yet. - -    The delete method is unimplemented. - -SEE ALSO -    the FS::Record manpage, the FS::cust_main manpage, schema.html -    from the base documentation. - -HISTORY -    Class dealing with referrals - -    ivan@sisd.com 98-feb-23 - -    pod ivan@sisd.com 98-sep-21 - diff --git a/htdocs/docs/man/part_svc.txt b/htdocs/docs/man/part_svc.txt deleted file mode 100644 index 680944e2f..000000000 --- a/htdocs/docs/man/part_svc.txt +++ /dev/null @@ -1,69 +0,0 @@ -NAME -    FS::part_svc - Object methods for part_svc objects - -SYNOPSIS -      use FS::part_svc; - -      $record = create FS::part_referral \%hash -      $record = create FS::part_referral { 'column' => 'value' }; - -      $error = $record->insert; - -      $error = $new_record->replace($old_record); - -      $error = $record->delete; - -      $error = $record->check; - -DESCRIPTION -    An FS::part_svc represents a service definition. FS::part_svc -    inherits from FS::Record. The following fields are currently -    supported: - -    svcpart - primary key (assigned automatically for new service definitions) -    svc - text name of this service definition -    svcdb - table used for this service.  See the FS::svc_acct manpage, -    the FS::svc_domain manpage, and the FS::svc_acct_sm manpage, among others. -    *svcdb*__*field* - Default or fixed value for *field* in *svcdb*. -    *svcdb*__*field*_flag - defines *svcdb*__*field* action: null, `D' for default, or `F' for fixed -METHODS -    create HASHREF -        Creates a new service definition. To add the service -        definition to the database, see the section on "insert". - -    insert -        Adds this service definition to the database. If there is an -        error, returns the error, otherwise returns false. - -    delete -        Currently unimplemented. - -    replace OLD_RECORD -        Replaces OLD_RECORD with this one in the database. If there -        is an error, returns the error, otherwise returns false. - -    check -        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. - -BUGS -    It doesn't properly override FS::Record yet. - -    Delete is unimplemented. - -SEE ALSO -    the FS::Record manpage, the FS::part_pkg manpage, the -    FS::pkg_svc manpage, the FS::cust_svc manpage, the FS::svc_acct -    manpage, the FS::svc_acct_sm manpage, the FS::svc_domain -    manpage, schema.html from the base documentation. - -HISTORY -    ivan@sisd.com 97-nov-14 - -    data checking/untainting calls into FS::Record added -    ivan@sisd.com 97-dec-6 - -    pod ivan@sisd.com 98-sep-21 - diff --git a/htdocs/docs/man/pkg_svc.txt b/htdocs/docs/man/pkg_svc.txt deleted file mode 100644 index bde0043f1..000000000 --- a/htdocs/docs/man/pkg_svc.txt +++ /dev/null @@ -1,61 +0,0 @@ -NAME -    FS::pkg_svc - Object methods for pkg_svc records - -SYNOPSIS -      use FS::pkg_svc; - -      $record = create FS::pkg_svc \%hash; -      $record = create FS::pkg_svc { 'column' => 'value' }; - -      $error = $record->insert; - -      $error = $new_record->replace($old_record); - -      $error = $record->delete; - -      $error = $record->check; - -DESCRIPTION -    An FS::pkg_svc record links a billing item definition (see the -    FS::part_pkg manpage) to a service definition (see the -    FS::part_svc manpage). FS::pkg_svc inherits from FS::Record. The -    following fields are currently supported: - -    pkgpart - Billing item definition (see the FS::part_pkg manpage) -    svcpart - Service definition (see the FS::part_svc manpage) -    quantity - Quantity of this service definition that this billing item -    definition includes -METHODS -    create HASHREF -        Create a new record. To add the record to the database, see -        the section on "insert". - -    insert -        Adds this record to the database. If there is an error, -        returns the error, otherwise returns false. - -    delete -        Deletes this record from the database. If there is an error, -        returns the error, otherwise returns false. - -    replace OLD_RECORD -        Replaces OLD_RECORD with this one in the database. If there -        is an error, returns the error, otherwise returns false. - -    check -        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. - -BUGS -    It doesn't properly override FS::Record yet. - -SEE ALSO -    the FS::Record manpage, the FS::part_pkg manpage, the -    FS::part_svc manpage, schema.html from the base documentation. - -HISTORY -    ivan@voicenet.com 97-jul-1 added hfields ivan@sisd.com 97-nov-13 - -    pod ivan@sisd.com 98-sep-22 - diff --git a/htdocs/docs/man/svc_acct.txt b/htdocs/docs/man/svc_acct.txt deleted file mode 100644 index 1c9caf5fb..000000000 --- a/htdocs/docs/man/svc_acct.txt +++ /dev/null @@ -1,168 +0,0 @@ -NAME -    FS::svc_acct - Object methods for svc_acct records - -SYNOPSIS -      use FS::svc_acct; - -      $record = create FS::svc_acct \%hash; -      $record = create FS::svc_acct { 'column' => 'value' }; - -      $error = $record->insert; - -      $error = $new_record->replace($old_record); - -      $error = $record->delete; - -      $error = $record->check; - -      $error = $record->suspend; - -      $error = $record->unsuspend; - -      $error = $record->cancel; - -DESCRIPTION -    An FS::svc_acct object represents an account. FS::svc_acct -    inherits from FS::Record. The following fields are currently -    supported: - -    svcnum - primary key (assigned automatcially for new accounts) -    username -    _password - generated if blank -    popnum - Point of presence (see the FS::svc_acct_pop manpage) -    uid -    gid -    finger - GECOS -    dir - set automatically if blank (and uid is not) -    shell -    quota - (unimplementd) -    slipip - IP address -    radius_*Radius_Attribute* - *Radius-Attribute* -METHODS -    create HASHREF -        Creates a new account. To add the account to the database, -        see the section on "insert". - -    insert -        Adds this account to the database. If there is an error, -        returns the error, otherwise returns false. - -        The additional fields pkgnum and svcpart (see the -        FS::cust_svc manpage) should be defined. An FS::cust_svc -        record will be created and inserted. - -        If the configuration value (see the FS::Conf manpage) -        shellmachine exists, and the username, uid, and dir fields -        are defined, the command - -          useradd -d $dir -m -s $shell -u $uid $username - -        is executed on shellmachine via ssh. This behaviour can be -        surpressed by setting $FS::svc_acct::nossh_hack true. - -    delete -        Deletes this account from the database. If there is an -        error, returns the error, otherwise returns false. - -        The corresponding FS::cust_svc record will be deleted as -        well. - -        If the configuration value (see the FS::Conf manpage) -        shellmachine exists, the command: - -          userdel $username - -        is executed on shellmachine via ssh. This behaviour can be -        surpressed by setting $FS::svc_acct::nossh_hack true. - -    replace OLD_RECORD -        Replaces OLD_RECORD with this one in the database. If there -        is an error, returns the error, otherwise returns false. - -        If the configuration value (see the FS::Conf manpage) -        shellmachine exists, and the dir field has changed, the -        command: - -          [ -d $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 -          ) - -        is executed on shellmachine via ssh. This behaviour can be -        surpressed by setting $FS::svc_acct::nossh_hack true. - -    suspend -        Suspends this account by prefixing *SUSPENDED* to the -        password. If there is an error, returns the error, otherwise -        returns false. - -        Called by the suspend method of FS::cust_pkg (see the -        FS::cust_pkg manpage). - -    unsuspend -        Unsuspends this account by removing *SUSPENDED* from the -        password. If there is an error, returns the error, otherwise -        returns false. - -        Called by the unsuspend method of FS::cust_pkg (see the -        FS::cust_pkg manpage). - -    cancel -        Just returns false (no error) for now. - -        Called by the cancel method of FS::cust_pkg (see the -        FS::cust_pkg manpage). - -    check -        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. - -        Sets any fixed values; see the FS::part_svc manpage. - -BUGS -    It doesn't properly override FS::Record yet. - -    The remote commands should be configurable. - -    The create method should set defaults from part_svc (like the -    check method sets fixed values). - -SEE ALSO -    the FS::Record manpage, the FS::Conf manpage, the FS::cust_svc -    manpage, the FS::part_svc manpage, the FS::cust_pkg manpage, the -    FS::SSH manpage, the ssh manpage, the FS::svc_acct_pop manpage, -    schema.html from the base documentation. - -HISTORY -    ivan@voicenet.com 97-jul-16 - 21 - -    rewrite (among other things, now know about part_svc) -    ivan@sisd.com 98-mar-8 - -    Changed 'password' to '_password' because Pg6.3 reserves the -    password word bmccane@maxbaud.net 98-apr-3 - -    username length and shell no longer hardcoded ivan@sisd.com 98- -    jun-28 - -    eww but needed: ignore uid duplicates for 'fax' and 'hylafax' -    ivan@sisd.com 98-jun-29 - -    $nossh_hack ivan@sisd.com 98-jul-13 - -    protections against UID/GID of 0 for incorrectly-setup RDBMSs -    (also in bin/svc_acct.export) ivan@sisd.com 98-jul-13 - -    arbitrary radius attributes ivan@sisd.com 98-aug-13 - -    /var/spool/freeside/conf/shellmachine ivan@sisd.com 98-aug-13 - -    pod and FS::conf ivan@sisd.com 98-sep-22 - diff --git a/htdocs/docs/man/svc_acct_pop.txt b/htdocs/docs/man/svc_acct_pop.txt deleted file mode 100644 index ac0965413..000000000 --- a/htdocs/docs/man/svc_acct_pop.txt +++ /dev/null @@ -1,65 +0,0 @@ -NAME -    FS::svc_acct_pop - Object methods for svc_acct_pop records - -SYNOPSIS -      use FS::svc_acct_pop; - -      $record = create FS::svc_acct_pop \%hash; -      $record = create FS::svc_acct_pop { 'column' => 'value' }; - -      $error = $record->insert; - -      $error = $new_record->replace($old_record); - -      $error = $record->delete; - -      $error = $record->check; - -DESCRIPTION -    An FS::svc_acct object represents an point of presence. -    FS::svc_acct_pop inherits from FS::Record. The following fields -    are currently supported: - -    popnum - primary key (assigned automatically for new accounts) -    city -    state -    ac - area code -    exch - exchange -METHODS -    create HASHREF -        Creates a new point of presence (if only it were that -        easy!). To add the point of presence to the database, see -        the section on "insert". - -    insert -        Adds this point of presence to the databaes. If there is an -        error, returns the error, otherwise returns false. - -    delete -        Currently unimplemented. - -    replace OLD_RECORD -        Replaces OLD_RECORD with this one in the database. If there -        is an error, returns the error, otherwise returns false. - -    check -        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. - -BUGS -    It doesn't properly override FS::Record yet. - -    It should be renamed to part_pop. - -SEE ALSO -    the FS::Record manpage, the svc_acct manpage, schema.html from -    the base documentation. - -HISTORY -    Class dealing with pops - -    ivan@sisd.com 98-mar-8 - -    pod ivan@sisd.com 98-sep-23 - diff --git a/htdocs/docs/man/svc_acct_sm.txt b/htdocs/docs/man/svc_acct_sm.txt deleted file mode 100644 index e9940af9a..000000000 --- a/htdocs/docs/man/svc_acct_sm.txt +++ /dev/null @@ -1,121 +0,0 @@ -NAME -    FS::svc_acct_sm - Object methods for svc_acct_sm records - -SYNOPSIS -      use FS::svc_acct_sm; - -      $record = create FS::svc_acct_sm \%hash; -      $record = create FS::svc_acct_sm { 'column' => 'value' }; - -      $error = $record->insert; - -      $error = $new_record->replace($old_record); - -      $error = $record->delete; - -      $error = $record->check; - -      $error = $record->suspend; - -      $error = $record->unsuspend; - -      $error = $record->cancel; - -DESCRIPTION -    An FS::svc_acct object represents a virtual mail alias. -    FS::svc_acct inherits from FS::Record. The following fields are -    currently supported: - -    svcnum - primary key (assigned automatcially for new accounts) -    domsvc - svcnum of the virtual domain (see the FS::svc_domain manpage) -    domuid - uid of the target account (see the FS::svc_acct manpage) -    domuser - virtual username -METHODS -    create HASHREF -        Creates a new virtual mail alias. To add the virtual mail -        alias to the database, see the section on "insert". - -    insert -        Adds this virtual mail alias to the database. If there is an -        error, returns the error, otherwise returns false. - -        The additional fields pkgnum and svcpart (see the -        FS::cust_svc manpage) should be defined. An FS::cust_svc -        record will be created and inserted. - -        If the configuration values (see the FS::Conf manpage) -        shellmachine and qmailmachines exist, and domuser is `*' -        (meaning a catch-all mailbox), the command: - -          [ -e $dir/.qmail-$qdomain-default ] || { -            touch $dir/.qmail-$qdomain-default; -            chown $uid:$gid $dir/.qmail-$qdomain-default; -          } - -        is executed on shellmachine via ssh (see the section on -        "EXTENSION ADDRESSES" in the dot-qmail manpage). This -        behaviour can be surpressed by setting -        $FS::svc_acct_sm::nossh_hack true. - -    delete -        Deletes this virtual mail alias from the database. If there -        is an error, returns the error, otherwise returns false. - -        The corresponding FS::cust_svc record will be deleted as -        well. - -    replace OLD_RECORD -        Replaces OLD_RECORD with this one in the database. If there -        is an error, returns the error, otherwise returns false. - -    suspend -        Just returns false (no error) for now. - -        Called by the suspend method of FS::cust_pkg (see the -        FS::cust_pkg manpage). - -    unsuspend -        Just returns false (no error) for now. - -        Called by the unsuspend method of FS::cust_pkg (see the -        FS::cust_pkg manpage). - -    cancel -        Just returns false (no error) for now. - -        Called by the cancel method of FS::cust_pkg (see the -        FS::cust_pkg manpage). - -    check -        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. - -        Sets any fixed values; see the FS::part_svc manpage. - -BUGS -    It doesn't properly override FS::Record yet. - -    The remote commands should be configurable. - -SEE ALSO -    the FS::Record manpage, the FS::Conf manpage, the FS::cust_svc -    manpage, the FS::part_svc manpage, the FS::cust_pkg manpage, the -    FS::svc_acct manpage, the FS::svc_domain manpage, the FS::SSH -    manpage, the ssh manpage, the dot-qmail manpage, schema.html -    from the base documentation. - -HISTORY -    ivan@voicenet.com 97-jul-16 - 21 - -    rewrite ivan@sisd.com 98-mar-10 - -    s/qsearchs/qsearch/ to eliminate warning ivan@sisd.com 98-apr-19 - -    uses conf/shellmachine and has an nossh_hack ivan@sisd.com 98- -    jul-14 - -    s/\./:/g in .qmail-domain:com ivan@sisd.com 98-aug-13 - -    pod, FS::Conf, moved .qmail file from check to insert 98-sep-23 - diff --git a/htdocs/docs/man/svc_domain.txt b/htdocs/docs/man/svc_domain.txt deleted file mode 100644 index 03d3dbc27..000000000 --- a/htdocs/docs/man/svc_domain.txt +++ /dev/null @@ -1,131 +0,0 @@ -NAME -    FS::svc_domain - Object methods for svc_domain records - -SYNOPSIS -      use FS::svc_domain; - -      $record = create FS::svc_domain \%hash; -      $record = create FS::svc_domain { 'column' => 'value' }; - -      $error = $record->insert; - -      $error = $new_record->replace($old_record); - -      $error = $record->delete; - -      $error = $record->check; - -      $error = $record->suspend; - -      $error = $record->unsuspend; - -      $error = $record->cancel; - -DESCRIPTION -    An FS::svc_domain object represents a domain. FS::svc_domain -    inherits from FS::Record. The following fields are currently -    supported: - -    svcnum - primary key (assigned automatically for new accounts) -    domain -METHODS -    create HASHREF -        Creates a new domain. To add the domain to the database, see -        the section on "insert". - -    insert -        Adds this domain to the database. If there is an error, -        returns the error, otherwise returns false. - -        The additional fields *pkgnum* and *svcpart* (see the -        FS::cust_svc manpage) should be defined. An FS::cust_svc -        record will be created and inserted. - -        The additional field *action* should be set to *N* for new -        domains or *M* for transfers. - -        A registration or transfer email will be submitted unless -        $FS::svc_domain::whois_hack is true. - -    delete -        Deletes this domain from the database. If there is an error, -        returns the error, otherwise returns false. - -        The corresponding FS::cust_svc record will be deleted as -        well. - -    replace OLD_RECORD -        Replaces OLD_RECORD with this one in the database. If there -        is an error, returns the error, otherwise returns false. - -    suspend -        Just returns false (no error) for now. - -        Called by the suspend method of FS::cust_pkg (see the -        FS::cust_pkg manpage). - -    unsuspend -        Just returns false (no error) for now. - -        Called by the unsuspend method of FS::cust_pkg (see the -        FS::cust_pkg manpage). - -    cancel -        Just returns false (no error) for now. - -        Called by the cancel method of FS::cust_pkg (see the -        FS::cust_pkg manpage). - -    check -        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. - -        Sets any fixed values; see the FS::part_svc manpage. - -    _whois -        Executes the command: - -          whois do $domain - -        and returns the output. - -        (Always returns *No match for domian "$domain".* if -        $FS::svc_domain::whois_hack is set true.) - -    submit_internic -        Submits a registration email for this domain. - -BUGS -    It doesn't properly override FS::Record yet. - -    All BIND/DNS fields should be included (and exported). - -    All registries should be supported. - -    Not all configuration access is through FS::Conf! - -    Should change action to a real field. - -SEE ALSO -    the FS::Record manpage, the FS::Conf manpage, the FS::cust_svc -    manpage, the FS::part_svc manpage, the FS::cust_pkg manpage, the -    FS::SSH manpage, the ssh manpage, the dot-qmail manpage, -    schema.html from the base documentation, config.html from the -    base documentation. - -HISTORY -    ivan@voicenet.com 97-jul-21 - -    rewrite ivan@sisd.com 98-mar-10 - -    add internic bits ivan@sisd.com 98-mar-14 - -    Changed 'day' to 'daytime' because Pg6.3 reserves the day word -    bmccane@maxbaud.net 98-apr-3 - -    /var/spool/freeside/conf/registries/internic/, Mail::Internet, -    etc. ivan@sisd.com 98-jul-17-19 - -    pod, some FS::Conf (not complete) ivan@sisd.com 98-sep-23 - diff --git a/htdocs/docs/man/type_pkgs.txt b/htdocs/docs/man/type_pkgs.txt deleted file mode 100644 index 9822b4802..000000000 --- a/htdocs/docs/man/type_pkgs.txt +++ /dev/null @@ -1,55 +0,0 @@ -NAME -    FS::type_pkgs - Object methods for type_pkgs records - -SYNOPSIS -      use FS::type_pkgs; - -      $record = create FS::type_pkgs \%hash; -      $record = create FS::type_pkgs { 'column' => 'value' }; - -      $error = $record->insert; - -      $error = $new_record->replace($old_record); - -      $error = $record->delete; - -      $error = $record->check; - -DESCRIPTION -    An FS::type_pkgs record links an agent type (see the -    FS::agent_type manpage) to a billing item definition (see the -    FS::part_pkg manpage). FS::type_pkgs inherits from FS::Record. -    The following fields are currently supported: - -    typenum - Agent type, see the FS::agent_type manpage -    pkgpart - Billing item definition, see the FS::part_pkg manpage -METHODS -    create HASHREF -        Create a new record. To add the record to the database, see -        the section on "insert". - -    insert -        Adds this record to the database. If there is an error, -        returns the error, otherwise returns false. - -    delete -        Deletes this record from the database. If there is an error, -        returns the error, otherwise returns false. - -    replace OLD_RECORD -        Replaces OLD_RECORD with this one in the database. If there -        is an error, returns the error, otherwise returns false. - -    check -        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. - -HISTORY -    Defines the relation between agent types and pkgparts (Which -    pkgparts can the different [types of] agents sell?) - -    ivan@sisd.com 97-nov-13 - -    change to ut_ FS::Record, fixed bugs ivan@sisd.com 97-dec-10 - diff --git a/htdocs/docs/passwd.html b/htdocs/docs/passwd.html deleted file mode 100644 index a8f8151e2..000000000 --- a/htdocs/docs/passwd.html +++ /dev/null @@ -1,16 +0,0 @@ -<head> -  <title>fs_passwd</title> -</head> -<body> -  <h1>fs_passwd</h1> -You may use fs_passwd/fs_passwd as a "passwd", "chfn" and "chsh" replacement on your shell machine(s) to cause password, gecos and shell changes to update your freeside machine.  This can pose a security risk if not configured correctly.  <b>Do not use this feature unless you understand what you are doing!</b> -<br><br>Currently it is assumed that the the crypt(3) function in the C library is the same on the Freeside machine as on the target machine. -<ul> -  <li>Create a freeside account on the shell machine(s). -  <li>Append the identity.pub from the freeside user on your freeside machine to the authorized_keys file of the newly created freeside user on the shell machine(s). -  <li>Copy fs_passwd/fs_passwd to /usr/local/bin on the shell machine(s).  (chown freeside, chmod 4755).  You may link it to passwd, chfn and chsh as well. -  <li>Copy fs_passwd/fs_passwdd to /usr/local/sbin on the shell machine(s).  (chown freeside, chmod 500) -  <li>Create /usr/local/freeside on the shell machine(s). (chown freeside, chmod 700) -  <li>Run an iteration of "fs_passwd/fs_passwd_server shell.machine" as the freeside user for each shell machine (this is a daemon process). -</ul> -</body> diff --git a/htdocs/docs/schema.html b/htdocs/docs/schema.html deleted file mode 100644 index 5a296ec83..000000000 --- a/htdocs/docs/schema.html +++ /dev/null @@ -1,205 +0,0 @@ -<head> -  <title>Schema reference</title> -</head> -<body> -  <h1>Schema reference</h1> -  <ul> -    <li><a name="agent">agent</a> - Agents are resellers of your service.  Agents may be limited to a subset of your full offerings (via their agent type). -      <ul> -        <li>agentnum - primary key -        <li>agent - name of this agent -        <li>typenum - <a href="#agent_type">agent type</a> -        <li>prog - (unimplemented) -        <li>freq - (unimplemented) -      </ul> -    <li><a name="agent_type">agent_type</a> - Agent types define groups of packages that you can then assign to particular agents. -      <ul> -        <li>typenum - primary key -        <li>atype - name of this agent type -      </ul> -    <li><a name="cust_bill">cust_bill</a> - Invoices -      <ul> -        <li>invnum - primary key -        <li>custnum - <a href="#cust_main">customer</a> -        <li>_date -        <li>charged - amount of this invoice -        <li>owed - amount still outstanding on this invoice -        <li>printed - how many times this invoice has been printed automatically -      </ul> -    <li><a name="cust_bill_pkg">cust_bill_pkg</a> - Invoice line items -      <ul> -        <li>invnum - (multiple) key -        <li>pkgnum - <a href="#cust_pkg">package</a> -        <li>setup - setup fee  -        <li>recur - recurring fee -        <li>sdate - starting date -        <li>edate - ending date -      </ul> -    <li><a name="cust_credit">cust_credit</a> - Credits -      <ul> -        <li>crednum - primary key -        <li>custnum - <a href="#cust_main">customer</a> -        <li>amount - amount credited -        <li>credited - amount still outstanding (not yet refunded) on this credit -        <li>_date -        <li>otaker - order taker -        <li>reason -      </ul> -    <li><a name="cust_main">cust_main</a> - Customers -      <ul> -        <li>custnum - primary key -        <li>agentnum - <a href="#agent">agent</a> -        <li>refnum - <a href="#part_referral">referral</a> -        <li>first - name -        <li>last - name -        <li>ss - social security number -        <li>company -        <li>address1 -        <li>address2 -        <li>city -        <li>county -        <li>state -        <li>zip -        <li>country -        <li>daytime - phone -        <li>night - phone -        <li>payby - CARD, BILL, or COMP -        <li>payinfo - card number, P.O.#, or comp issuer -        <li>paydate - expiration date -        <li>payname - billing name (name on card) -        <li>tax - tax exempt, Y or null -        <li>otaker - order taker -      </ul> -    <li><a name="cust_main_county">cust_main_county</a> - Tax rates -      <ul> -        <li>taxnum - primary key -        <li>state -        <li>county -        <li>tax - % rate -      </ul> -    <li><a name="cust_pay">cust_pay</a> - Payments -      <ul> -        <li>paynum - primary key -        <li>invnum - <a href="#cust_bill">invoice</a> -        <li>paid - amount -        <li>_date -        <li>payby - CARD, BILL, or COMP -        <li>payinfo - card number, P.O.#, or comp issuer -        <li>paybatch - text field for tracking card processor batches -      </ul> -    <li><a name="cust_pay_batch">cust_pay_batch</a> - Pending batch -      <ul> -        <li>trancode - 77 for charges -        <li>cardnum -        <li>exp - card expiration -        <li>amount -        <li>invnum - <a href="#cust_bill">invoice</a> -        <li>custnum - <a href="#cust_main">customer</a> -        <li>payname - name on card -        <li>first - name -        <li>last - name -        <li>address1 -        <li>address2 -        <li>city -        <li>state -        <li>zip -        <li>country -      </ul> -    <li><a name="cust_pkg">cust_pkg</a> - Customer billing items -      <ul> -        <li>pkgnum - primary key -        <li>custnum - <a href="#cust_main">customer</a> -        <li>pkgpart - <a href="#part_pkg">Package definition</a> -        <li>setup - date -        <li>bill - next bill date -        <li>susp - (past) suspension date -        <li>expire - (future) cancellation date -        <li>cancel - (past) cancellation date -        <li>otaker - order taker -      </ul> -    <li><a name="cust_refund">cust_refund</a> - Refunds -      <ul> -        <li>refundnum - primary key -        <li>crednum - <a href="#cust_credit">credit</a> -        <li>refund - amount -        <li>_date -        <li>payby - CARD, BILL or COMP -        <li>payinfo - card number, P.O.#, or comp issuer -        <li>otaker - order taker -      </ul> -    <li><a name="cust_svc">cust_svc</a> - Customer services -      <ul> -        <li>svcnum - primary key -        <li>pkgnum - <a href="#cust_pkg">package</a> -        <li>svcpart - <a href="#part_svc">Service definition</a> -      </ul> -    <li><a name="part_pkg">part_pkg</a> - Package definitions -      <ul> -        <li>pkgpart - primary key -        <li>pkg - package name -        <li>comment - non-customer visable package comment -        <li>setup - setup fee -        <li>freq - recurring frequency (months) -        <li>recur - recurring fee -      </ul> -    <li><a name="part_referral">part_referral</a> - Referral listing -      <ul> -        <li>refnum</li> - primary key -        <li>referral</li> - referral -      </ul> -    <li><a name="part_svc">part_svc</a> - Service definitions -      <ul> -        <li>svcpart - primary key -        <li>svc - name of this service -        <li>svcdb - table used for this service: svc_acct, svc_acct_sm, svc_domain, svc_charge or svc_wo -        <li><i>table</i>__<i>field</i> - Default or fixed value for <i>field</i> in <i>table</i> -        <li><i>table</i>__<i>field</i>_flag - null, D or F -      </ul> -    <li><a name="pkg_svc">pkg_svc</a> -      <ul> -        <li>pkgpart - <a href="#part_pkg">Package definition</a> -        <li>svcpart - <a href="#part_svc">Service definition</a> -        <li>quantity - quantity of this service that this package includes -      </ul> -    <li><a name="svc_acct">svc_acct</a> - Accounts -      <ul> -        <li>svcnum - <a href="#cust_svc">primary key</a> -        <li>username -        <li>_password -        <li>popnum - <a href="#svc_acct_pop">Point of Presence</a> -        <li>uid -        <li>gid -        <li>finger - GECOS -        <li>dir -        <li>shell -        <li>quota - (unimplementd) -        <li>slipip - IP address -        <li>radius_<i>Radius_Attribute</i> - Radius-Attribute -      </ul> -    <li><a name="svc_acct_pop">svc_acct_pop</a> - Points of Presence -      <ul> -        <li>popnum - primary key -        <li>city -        <li>state -        <li>ac - area code -        <li>exch - exchange -      </ul> -    <li><a name="svc_acct_sm">svc_acct_sm</a> - Domain mail aliases -      <ul> -        <li>svcnum - <a href="#cust_svc">primary key</a> -        <li>domsvc - <a href="#svc_domain">Domain</a> (by svcnum) -        <li>domuid - <a href="#svc_acct">Account</a> (by uid) -        <li>domuser - domuser @ <a href="#svc_domain">Domain</a> forwards to <a href="#svc_acct">Account</a> -      </ul> -    <li><a name="svc_domain">svc_domain</a> - Domains -      <ul> -        <li>svcnum - <a href="#cust_svc">primary key</a> -        <li>domain -      </ul> -    <li><a name="type_pkgs">type_pkgs</a> -      <ul> -        <li>typenum - <a href="#agent_type">agent type</a> -        <li>pkgpart - <a href="#part_pkg">Package definition</a> -      </ul> -  </ul> -</body> diff --git a/htdocs/docs/trouble.html b/htdocs/docs/trouble.html deleted file mode 100644 index 2cf6d4e71..000000000 --- a/htdocs/docs/trouble.html +++ /dev/null @@ -1,41 +0,0 @@ -<head> -  <title>Troubleshooting</title> -</head> -<body> -  <h1>Troubleshooting</h1> -  <ul> -    <li>When troubleshooting the web interface, helpful information is often in your web server's error log. -    <li>Internet Explorer will not work with Freeside's HTML interface.  -<a HREF="http://www.netscape.com">Netscape</a>,                                  -<a HREF="http://lynx.browser.org">Lynx</a>, and                                  -<a HREF="http://www.cs.indiana.edu/elisp/w3/docs.html">Emacs/W3</a>,             -among others, should work fine. -    <li>If bin/svc_acct.import fails with an "Out of memory!" error using MySQL, upgrede MySQL and recompile the Perl DBD.  There was a memory leak in some older versions of MySQL. -    <li>If you get tons of errors in your web server's error log like this: -<pre> -Ambiguous use of value => resolved to "value" => -at /usr/lib/perl5/site_perl/File/CounterFile.pm line 132. -</pre> -        This clutters up your log files but is otherwise harmless.  Upgrade to the latest File::CounterFile.  -    <li>If you get an Internal Server Error when adding or editing, but find that the update has occured, and you get something like the following in your web server's error log: -<pre> -access to <i>/your/path</i>/edit/process/<i>some_table</i>.cgi failed for -<i>machine.domain.tld</i>, reason: malformed header from script. -Bad header=HTTP/1.0 302 Moved Temporarily -</pre> -        Then you forgot to apply this <a href="CGI-modules-2.76-patch.txt">patch</a> as mentioned in the <a href="install.html">New Installation</a> section of the documentation. -    <li>If you get errors like this: -<pre> -UID.pm: Can't open /var/spool/freeside/conf/secrets: Permission denied  -at <i>/your/path</i>/site_perl/FS/UID.pm line 26. -BEGIN failed--compilation aborted at -<i>/your/path</i>/edit/process/part_svc.cgi line 15. -</pre> -        Then the scripts are not running setuid freeside.  If you were editing -the files, it is possible you inadvertantly removed the setuid bit. -As mentioned in the <a href="install.html">New Installation</a> section of the documentation, set ownership and permissions for the web interface.  Your system should support secure setuid scripts or Perl's emulation, see <a href="http://www.perl.com/CPAN-local/doc/manual/html/pod/perlsec.html#Security_Bugs">perlsec: Security Bugs</a> for information and workarounds. -<pre>cd /usr/local/apache/htdocs/freeside -chown -R freeside . -chmod 4755 browse/*.cgi edit/*.cgi edit/process/*.cgi misc/*.cgi misc/process/*.cgi search/*.cgi view/*.cgi</pre> -  </ul> -</body> diff --git a/htdocs/docs/upgrade.html b/htdocs/docs/upgrade.html deleted file mode 100644 index d2201f601..000000000 --- a/htdocs/docs/upgrade.html +++ /dev/null @@ -1,24 +0,0 @@ -<head> -  <title>Upgrading to 1.1.x</title> -</head> -<body> -<h1>Upgrading to 1.1.x</h1> -<ul> -  <li>Back up your data and current Freeside installation. -  <li>Unpack a copy of the 1.0.0 distribution in a separate location. -  <li>Diff your current installation against the 1.0.0 distribution. -  <li>Apply all the diffs you found above, if applicable. -  <li>Apply (at least) the following changes to your database: -<pre> -ALTER TABLE cust_main CHANGE ss ss char(11) NULL; -ALTER TABLE cust_main CHANGE day daytime varchar(20) NULL; -ALTER TABLE svc_acct CHANGE password _password varchar(25) NOT NULL; -ALTER TABLE part_svc CHANGE svc_acct__password svc_acct___password varchar(25) NULL; -ALTER TABLE part_svc CHANGE svc_acct__password_flag svc_acct___password_flag char(1) NULL; -ALTER TABLE agent_type CHANGE type atype varchar(80) NOT NULL; -</pre> -  <li>Optionally change the field lengths and types to match a 1.1.x install; see `bin/fs-setup'. -  <li>Create the necessary <a href="config.html">configuration files</a>, -  <li>Copy or symlink htdocs and site_perl to the new 1.1.x copies. -  <li>Run bin/dbdef-create.  This file uses MySQL-specific syntax.  If you are running a different database engine you will need to modify it slightly. -</body> diff --git a/htdocs/docs/upgrade2.html b/htdocs/docs/upgrade2.html deleted file mode 100644 index 4bf7ea45a..000000000 --- a/htdocs/docs/upgrade2.html +++ /dev/null @@ -1,11 +0,0 @@ -<head> -  <title>Upgrading to 1.1.3</title> -</head> -<body> -<h1>Upgrading to 1.1.3 from 1.1.x</h1> -<ul> -  <li>If migrating from 1.0.0, see these <a href="upgrade.html">instructions</a> first. -  <li>Back up your data and current Freeside installation. -  <li>If applicable, create the new <a href="config.html">configuration files</a>: lpr, cybercash2, cybercash3.2 -  <li>Copy or symlink htdocs and site_perl to the new copies. -</body>  | 
