X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2FConf.pm;h=ea2785bdf0793abc8ebf1656c3929f5cd327b23b;hp=187a6f9cda71b5fa76735e8a8c87fb3708f909a2;hb=c2146ae32fdef80049abfa13098db2d45f3ebdd5;hpb=fcc0d3d4015c5aae07d853b3b9f928ab9f2b12ef diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index 187a6f9cd..ea2785bdf 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -95,6 +95,21 @@ sub config { } } +=item config_binary KEY + +Returns the exact scalar value for key. + +=cut + +sub config_binary { + my($self,$file)=@_; + my($dir)=$self->dir; + my $fh = new IO::File "<$dir/$file" or return; + local $/; + my $content = <$fh>; + $content; +} + =item exists KEY Returns true if the specified key exists, even if the corresponding value @@ -209,6 +224,31 @@ sub config_items { new FS::ConfItem { 'key' => $basename, 'section' => 'billing', + 'description' => 'Alternate HTML template for invoices. See the billing documentation for details.', + 'type' => 'textarea', + } + } glob($self->dir. '/invoice_html_*') + ), + ( map { + my $basename = basename($_); + $basename =~ /^(.*)$/; + $basename = $1; + ($latexname = $basename ) =~ s/latex/html/; + new FS::ConfItem { + 'key' => $basename, + 'section' => 'billing', + 'description' => "Alternate Notes section for HTML invoices. Defaults to the same data in $latexname if not specified.", + 'type' => 'textarea', + } + } glob($self->dir. '/invoice_htmlnotes_*') + ), + ( map { + my $basename = basename($_); + $basename =~ /^(.*)$/; + $basename = $1; + new FS::ConfItem { + 'key' => $basename, + 'section' => 'billing', 'description' => 'Alternate LaTeX template for invoices. See the billing documentation for details.', 'type' => 'textarea', } @@ -302,6 +342,34 @@ httemplate/docs/config.html }, { + 'key' => 'encryption', + 'section' => 'billing', + 'description' => 'Enable encryption of credit cards.', + 'type' => 'checkbox', + }, + + { + 'key' => 'encryptionmodule', + 'section' => 'billing', + 'description' => 'Use which module for encryption?', + 'type' => 'text', + }, + + { + 'key' => 'encryptionpublickey', + 'section' => 'billing', + 'description' => 'Your RSA Public Key - Required if Encryption is turned on.', + 'type' => 'textarea', + }, + + { + 'key' => 'encryptionprivatekey', + 'section' => 'billing', + 'description' => 'Your RSA Private Key - Including this will enable the "Bill Now" feature. However if the system is compromised, a hacker can use this key to decode the stored credit card information. This is generally not a good idea.', + 'type' => 'textarea', + }, + + { 'key' => 'business-onlinepayment', 'section' => 'billing', 'description' => 'Business::OnlinePayment support, at least three lines: processor, login, and password. An optional fourth line specifies the action or actions (multiple actions are separated with `,\': for example: `Authorization Only, Post Authorization\'). Optional additional lines are passed to Business::OnlinePayment as %processor_options.', @@ -323,6 +391,13 @@ httemplate/docs/config.html }, { + 'key' => 'business-onlinepayment-email-override', + 'section' => 'billing', + 'description' => 'Email address used instead of customer email address when submitting a BOP transaction.', + 'type' => 'text', + }, + + { 'key' => 'bsdshellmachines', 'section' => 'deprecated', 'description' => 'DEPRECATED, add a bsdshell export instead. Your BSD flavored shell (and mail) machines, one per line. This enables export of `/etc/passwd\' and `/etc/master.passwd\'.', @@ -505,9 +580,38 @@ httemplate/docs/config.html }, { + 'key' => 'invoice_html', + 'section' => 'billing', + 'description' => 'Optional HTML template for invoices. See the billing documentation for details.', + + 'type' => 'textarea', + }, + + { + 'key' => 'invoice_htmlnotes', + 'section' => 'billing', + 'description' => 'Notes section for HTML invoices. Defaults to the same data in invoice_latexnotes if not specified.', + 'type' => 'textarea', + }, + + { + 'key' => 'invoice_htmlfooter', + 'section' => 'billing', + 'description' => 'Footer for HTML invoices. Defaults to the same data in invoice_latexfooter if not specified.', + 'type' => 'textarea', + }, + + { + 'key' => 'invoice_htmlreturnaddress', + 'section' => 'billing', + 'description' => 'Return address for HTML invoices. Defaults to the same data in invoice_latexreturnaddress if not specified.', + 'type' => 'textarea', + }, + + { 'key' => 'invoice_latex', 'section' => 'billing', - 'description' => 'Optional LaTeX template for typeset PostScript invoices.', + 'description' => 'Optional LaTeX template for typeset PostScript invoices. See the billing documentation for details.', 'type' => 'textarea', }, @@ -526,12 +630,34 @@ httemplate/docs/config.html }, { + 'key' => 'invoice_latexreturnaddress', + 'section' => 'billing', + 'description' => 'Return address for LaTeX typeset PostScript invoices.', + 'type' => 'textarea', + }, + + { 'key' => 'invoice_latexsmallfooter', 'section' => 'billing', 'description' => 'Optional small footer for multi-page LaTeX typeset PostScript invoices.', 'type' => 'textarea', }, + { + 'key' => 'invoice_email_pdf', + 'section' => 'billing', + 'description' => 'Send PDF invoice as an attachment to emailed invoices. By default, includes the plain text invoice as the email body, unless invoice_email_pdf_note is set.', + 'type' => 'checkbox' + }, + + { + 'key' => 'invoice_email_pdf_note', + 'section' => 'billing', + 'description' => 'If defined, this text will replace the default plain text invoice as the body of emailed PDF invoices.', + 'type' => 'textarea' + }, + + { 'key' => 'invoice_default_terms', 'section' => 'billing', @@ -597,7 +723,7 @@ httemplate/docs/config.html 'editlist_parts' => [ { type=>'text' }, { type=>'immutable', value=>'IN' }, { type=>'select', - select_enum=>{ map { $_=>$_ } qw(A CNAME MX NS)} }, + select_enum=>{ map { $_=>$_ } qw(A CNAME MX NS TXT)} }, { type=> 'text' }, ], }, @@ -1323,9 +1449,10 @@ httemplate/docs/config.html { 'key' => 'ticket_system', 'section' => '', - 'description' => 'Ticketing system integraiton. RT_Internal uses the built-in RT ticketing system (use make create-rt to create the necessary tables). RT_Libs uses the built-in RT libraries to access an RT installation in a separate database (local or remote). RT_External uses raw SQL access (and eventually RT\'s XML interface and RTx::Atom?) to access an RT installation in a separate database (local or remote).', + 'description' => 'Ticketing system integraiton. RT_Internal uses the built-in RT ticketing system (see the integrated ticketing installation instructions). RT_External accesses an external RT installation in a separate database (local or remote).', 'type' => 'select', - 'select_enum' => [ '', qw(RT_Internal RT_Libs RT_External) ], + #'select_enum' => [ '', qw(RT_Internal RT_Libs RT_External) ], + 'select_enum' => [ '', qw(RT_Internal RT_External) ], }, { @@ -1383,6 +1510,27 @@ httemplate/docs/config.html 'type' => 'checkbox', }, + { 'key' => 'selfservice_server-cache_module', + 'section' => '', + 'description' => 'Module used to store self-service session information. All modules handle any number of self-service servers. Cache::SharedMemoryCache is appropriate for a single database / single Freeside server. Cache::FileCache is useful for multiple databases on a single server, or when IPC::ShareLite is not available (i.e. FreeBSD).', # _Database stores session information in the database and is appropriate for multiple Freeside servers, but may be slower.', + 'type' => 'select', + 'select_enum' => [ 'Cache::SharedMemoryCache', 'Cache::FileCache', ], # '_Database' ], + }, + + { + 'key' => 'hylafax', + 'section' => '', + 'description' => 'Options for a HylaFAX server to enable the FAX invoice destination. They should be in the form of a space separated list of arguments to the Fax::Hylafax::Client::sendfax subroutine. You probably shouldn\'t override things like \'docfile\'. *Note* Only supported when using typeset invoices (see the invoice_latex configuration option).', + 'type' => [qw( checkbox textarea )], + }, + + { + 'key' => 'svc_acct-usage_suspend', + 'section' => 'billing', + 'description' => 'Suspends the package an account belongs to when svc_acct.seconds is decremented to 0 or below (accounts with an empty seconds value are ignored). Typically used in conjunction with prepaid packages and freeside-sqlradius-radacctd.', + 'type' => 'checkbox', + }, + ); 1;