X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=FS%2FFS%2FConf.pm;h=e7a9c160161de59eb5c92474564b57c86aa5e229;hb=5f0e4d1d57c18d5bb8a52de4f7d4f519db5327f0;hp=7be0dd0ca62ef3853c3d62524fe9c6fafd8d1e38;hpb=8c804ba59c8b284e1294e9928b5412fdf31e412c;p=freeside.git diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index 7be0dd0ca..e7a9c1601 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -76,11 +76,23 @@ sub base_dir { $1; } -=item config KEY [ AGENTNUM ] +=item conf KEY [ AGENTNUM [ NODEFAULT ] ] + +Returns the L record for the key and agent. + +=cut + +sub conf { + my $self = shift; + $self->_config(@_); +} + +=item config KEY [ AGENTNUM [ NODEFAULT ] ] Returns the configuration value or values (depending on context) for key. The optional agent number selects an agent specific value instead of the -global default if one is present. +global default if one is present. If NODEFAULT is true only the agent +specific value(s) is returned. =cut @@ -93,12 +105,12 @@ sub _usecompat { } sub _config { - my($self,$name,$agentnum)=@_; + my($self,$name,$agentnum,$agentonly)=@_; my $hashref = { 'name' => $name }; $hashref->{agentnum} = $agentnum; local $FS::Record::conf = undef; # XXX evil hack prevents recursion my $cv = FS::Record::qsearchs('conf', $hashref); - if (!$cv && defined($agentnum) && $agentnum) { + if (!$agentonly && !$cv && defined($agentnum) && $agentnum) { $hashref->{agentnum} = ''; $cv = FS::Record::qsearchs('conf', $hashref); } @@ -109,12 +121,10 @@ sub config { my $self = shift; return $self->_usecompat('config', @_) if use_confcompat; - my($name, $agentnum)=@_; - - carp "FS::Conf->config($name, $agentnum) called" + carp "FS::Conf->config(". join(', ', @_). ") called" if $DEBUG > 1; - my $cv = $self->_config($name, $agentnum) or return; + my $cv = $self->_config(@_) or return; if ( wantarray ) { my $v = $cv->value; @@ -125,7 +135,7 @@ sub config { } } -=item config_binary KEY [ AGENTNUM ] +=item config_binary KEY [ AGENTNUM [ NODEFAULT ] ] Returns the exact scalar value for key. @@ -135,12 +145,11 @@ sub config_binary { my $self = shift; return $self->_usecompat('config_binary', @_) if use_confcompat; - my($name,$agentnum)=@_; - my $cv = $self->_config($name, $agentnum) or return; + my $cv = $self->_config(@_) or return; decode_base64($cv->value); } -=item exists KEY [ AGENTNUM ] +=item exists KEY [ AGENTNUM [ NODEFAULT ] ] Returns true if the specified key exists, even if the corresponding value is undefined. @@ -153,10 +162,10 @@ sub exists { my($name, $agentnum)=@_; - carp "FS::Conf->exists($name, $agentnum) called" + carp "FS::Conf->exists(". join(', ', @_). ") called" if $DEBUG > 1; - defined($self->_config($name, $agentnum)); + defined($self->_config(@_)); } =item config_orbase KEY SUFFIX @@ -451,11 +460,12 @@ sub _orbase_items { die "don't know about $base items" unless $proto->key eq $base; map { new FS::ConfItem { - 'key' => $_, - 'section' => $proto->section, - 'description' => 'Alternate ' . $proto->description . ' See the billing documentation for details.', - 'type' => $proto->type, - }; + 'key' => $_, + 'base_key' => $proto->key, + 'section' => $proto->section, + 'description' => 'Alternate ' . $proto->description . ' See the billing documentation for details.', + 'type' => $proto->type, + }; } &$listmaker($base); } @base_items, ); @@ -563,12 +573,20 @@ worry that config_items is freeside-specific and icky. 'type' => 'text', }, + { + 'key' => 'alert_expiration', + 'section' => 'billing', + 'description' => 'Enable alerts about billing method expiration.', + 'type' => 'checkbox', + 'per_agent' => 1, + }, + { 'key' => 'alerter_template', 'section' => 'billing', 'description' => 'Template file for billing method expiration alerts. See the billing documentation for details.', 'type' => 'textarea', - 'per-agent' => 1, + 'per_agent' => 1, }, { @@ -609,6 +627,40 @@ worry that config_items is freeside-specific and icky. 'type' => 'textarea', }, + { + 'key' => 'billco-url', + 'section' => 'billing', + 'description' => 'The url to use for performing uploads to the invoice mailing service.', + 'type' => 'text', + 'per_agent' => 1, + }, + + { + 'key' => 'billco-username', + 'section' => 'billing', + 'description' => 'The login name to use for uploads to the invoice mailing service.', + 'type' => 'text', + 'per_agent' => 1, + 'agentonly' => 1, + }, + + { + 'key' => 'billco-password', + 'section' => 'billing', + 'description' => 'The password to use for uploads to the invoice mailing service.', + 'type' => 'text', + 'per_agent' => 1, + 'agentonly' => 1, + }, + + { + 'key' => 'billco-clicode', + 'section' => 'billing', + 'description' => 'The clicode to use for uploads to the invoice mailing service.', + 'type' => 'text', + 'per_agent' => 1, + }, + { 'key' => 'business-onlinepayment', 'section' => 'billing', @@ -704,6 +756,20 @@ worry that config_items is freeside-specific and icky. 'type' => 'checkbox', }, + { + 'key' => 'unapplypayments', + 'section' => 'deprecated', + 'description' => 'DEPRECATED, now controlled by ACLs. Used to enable "unapplication" of unclosed payments.', + 'type' => 'checkbox', + }, + + { + 'key' => 'unapplycredits', + 'section' => 'deprecated', + 'description' => 'DEPRECATED, now controlled by ACLs. Used to nable "unapplication" of unclosed credits.', + 'type' => 'checkbox', + }, + { 'key' => 'dirhash', 'section' => 'shell', @@ -711,6 +777,20 @@ worry that config_items is freeside-specific and icky. 'type' => 'text', }, + { + 'key' => 'disable_cust_attachment', + 'section' => '', + 'description' => 'Disable customer file attachments', + 'type' => 'checkbox', + }, + + { + 'key' => 'max_attachment_size', + 'section' => '', + 'description' => 'Maximum size for customer file attachments (leave blank for unlimited)', + 'type' => 'text', + }, + { 'key' => 'disable_customer_referrals', 'section' => 'UI', @@ -914,7 +994,7 @@ worry that config_items is freeside-specific and icky. { 'key' => 'invoice_sections', 'section' => 'billing', - 'description' => 'Split invoice into sections and label according to package class when enabled.', + 'description' => 'Split invoice into sections and label according to package category when enabled.', 'type' => 'checkbox', }, @@ -925,13 +1005,31 @@ worry that config_items is freeside-specific and icky. 'type' => 'checkbox', }, + { + 'key' => 'invoice_send_receipts', + 'section' => 'deprecated', + 'description' => 'DEPRECATED, this used to send an invoice copy on payments and credits. See the payment_receipt_email and XXXX instead.', + 'type' => 'checkbox', + }, + { 'key' => 'payment_receipt_email', 'section' => 'billing', - 'description' => 'Template file for payment receipts. Payment receipts are sent to the customer email invoice destination(s) when a payment is received. See the Text::Template documentation for details on the template substitution language. The following variables are available: ', + 'description' => 'Template file for payment receipts. Payment receipts are sent to the customer email invoice destination(s) when a payment is received. See the Text::Template documentation for details on the template substitution language. The following variables are available: ', 'type' => [qw( checkbox textarea )], }, + { + 'key' => 'payment_receipt-trigger', + 'section' => 'billing', + 'description' => 'When payment receipts are triggered. Defaults to when payment is made.', + 'type' => 'select', + 'select_hash' => [ + 'cust_pay' => 'When payment is made.', + 'cust_bill_pay_pkg' => 'When payment is applied.', + ], + }, + { 'key' => 'lpr', 'section' => 'required', @@ -1013,6 +1111,13 @@ worry that config_items is freeside-specific and icky. # 'description' => 'Directory which contains domain registry information. Each registry is a directory.', # }, + { + 'key' => 'report_template', + 'section' => 'deprecated', + 'description' => 'Deprecated template file for reports.', + 'type' => 'textarea', + }, + { 'key' => 'maxsearchrecordsperpage', 'section' => 'UI', @@ -1151,6 +1256,7 @@ worry that config_items is freeside-specific and icky. 'section' => 'username', 'description' => 'Usernames must contain at least one letter', 'type' => 'checkbox', + 'per_agent' => 1, }, { @@ -1346,22 +1452,23 @@ worry that config_items is freeside-specific and icky. { 'key' => 'signup_server-default_svcpart', 'section' => '', - 'description' => 'Default svcpart for the signup server - only necessary for services that trigger special provisioning widgets (such as DID provisioning).', - 'type' => 'select-sub', - 'options_sub' => sub { require FS::Record; - require FS::part_svc; - map { $_->svcpart => $_->svc } - FS::Record::qsearch( 'part_svc', - { 'disabled' => ''} - ); - }, - 'option_sub' => sub { require FS::Record; - require FS::part_svc; - my $part_svc = FS::Record::qsearchs( - 'part_svc', { 'svcpart'=>shift } - ); - $part_svc ? $part_svc->svc : ''; - }, + 'description' => 'Default service definition for the signup server - only necessary for services that trigger special provisioning widgets (such as DID provisioning).', + 'type' => 'select-part_svc', + }, + + { + 'key' => 'signup_server-mac_addr_svcparts', + 'section' => '', + 'description' => 'Service definitions which can receive mac addresses (current mapped to username for svc_acct).', + 'type' => 'select-part_svc', + 'multiple' => 1, + }, + + { + 'key' => 'signup_server-nomadix', + 'section' => '', + 'description' => 'Signup page Nomadix integration', + 'type' => 'checkbox', }, { @@ -1378,7 +1485,7 @@ worry that config_items is freeside-specific and icky. { 'key' => 'selfservice_server-base_url', 'section' => '', - 'description' => 'Base URL for the self-service web interface - necessary for special provisioning widgets to find their way.', + 'description' => 'Base URL for the self-service web interface - necessary for some widgets to find their way, including retrieval of non-US state information and phone number provisioning.', 'type' => 'text', }, @@ -1482,6 +1589,13 @@ worry that config_items is freeside-specific and icky. 'type' => 'checkbox', }, + { + 'key' => 'bill_usage_on_cancel', + 'section' => 'billing', + 'description' => 'Enable automatic generation of an invoice for usage when a package is cancelled. Not all packages can do this. Usage data must already be available.', + 'type' => 'checkbox', + }, + { 'key' => 'require_cardname', 'section' => 'billing', @@ -1510,6 +1624,13 @@ worry that config_items is freeside-specific and icky. 'type' => 'checkbox', }, + { + 'key' => 'taxdatadirectdownload', + 'section' => 'billing', #well + 'description' => 'Enable downloading tax data directly from the vendor site', + 'type' => 'checkbox', + }, + { 'key' => 'ignore_incalculable_taxes', 'section' => 'billing', @@ -1639,6 +1760,14 @@ worry that config_items is freeside-specific and icky. 'select_enum' => [ 'Framed-IP-Address', 'Framed-Address' ], }, + #http://dev.coova.org/svn/coova-chilli/doc/dictionary.chillispot + { + 'key' => 'radius-chillispot-max', + 'section' => '', + 'description' => 'Enable ChilliSpot (and CoovaChilli) Max attributes, specifically ChilliSpot-Max-{Input,Output,Total}-{Octets,Gigawords}.', + 'type' => 'checkbox', + }, + { 'key' => 'svc_acct-alldomains', 'section' => '', @@ -1660,6 +1789,13 @@ worry that config_items is freeside-specific and icky. 'type' => 'text', }, + { + 'key' => 'users-allow_comp', + 'section' => 'deprecated', + 'description' => 'DEPRECATED, enable the Complimentary customer access right instead. Was: Usernames (Freeside users, created with freeside-adduser) which can create complimentary customers, one per line. If no usernames are entered, all users can create complimentary accounts.', + 'type' => 'textarea', + }, + { 'key' => 'credit_card-recurring_billing_flag', 'section' => 'billing', @@ -1731,7 +1867,8 @@ worry that config_items is freeside-specific and icky. 'key' => 'svc_www-usersvc_svcpart', 'section' => '', 'description' => 'Allowable service definition svcparts for virtual hosts, one per line.', - 'type' => 'textarea', + 'type' => 'select-part_svc', + 'multiple' => 1, }, { @@ -1895,6 +2032,27 @@ worry that config_items is freeside-specific and icky. 'per_agent' => 1, }, + { + 'key' => 'echeck-void', + 'section' => 'deprecated', + 'description' => 'DEPRECATED, now controlled by ACLs. Used to enable local-only voiding of echeck payments in addition to refunds against the payment gateway', + 'type' => 'checkbox', + }, + + { + 'key' => 'cc-void', + 'section' => 'deprecated', + 'description' => 'DEPRECATED, now controlled by ACLs. Used to enable local-only voiding of credit card payments in addition to refunds against the payment gateway', + 'type' => 'checkbox', + }, + + { + 'key' => 'unvoid', + 'section' => 'deprecated', + 'description' => 'DEPRECATED, now controlled by ACLs. Used to enable unvoiding of voided payments', + 'type' => 'checkbox', + }, + { 'key' => 'address2-search', 'section' => 'UI', @@ -2004,7 +2162,7 @@ worry that config_items is freeside-specific and icky. { 'key' => 'svc_acct-usage_threshold', 'section' => 'billing', - 'description' => 'The threshold (expressed as percentage) of acct.seconds or acct.up|down|totalbytes at which a warning message is sent to a service holder. Typically used in conjunction with prepaid packages and freeside-sqlradius-radacctd. Defaults to 80.', + 'description' => 'The threshold (expressed as percentage) of acct.seconds or acct.up|down|totalbytes at which a warning message is sent to a service holder. Typically used in conjunction with prepaid packages and freeside-sqlradius-radacctd.', 'type' => 'text', }, @@ -2072,6 +2230,20 @@ worry that config_items is freeside-specific and icky. 'type' => 'checkbox', }, + { + 'key' => 'voip-cdr_email', + 'section' => '', + 'description' => 'Include the call details on emailed invoices even if the customer is configured for not printing them on the invoices.', + 'type' => 'checkbox', + }, + + { + 'key' => 'voip-cust_email_csv_cdr', + 'section' => '', + 'description' => 'Enable the per-customer option for including CDR information as a CSV attachment on emailed invoices.', + 'type' => 'checkbox', + }, + { 'key' => 'svc_forward-arbitrary_dst', 'section' => '', @@ -2215,6 +2387,13 @@ worry that config_items is freeside-specific and icky. 'type' => 'text', }, + { + 'key' => 'batchconfig-paymentech', + 'section' => 'billing', + 'description' => 'Configuration for Chase Paymentech batching, four lines: 1. BIN, 2. Terminal ID, 3. Merchant ID, 4. Username', + 'type' => 'textarea', + }, + { 'key' => 'payment_history-years', 'section' => 'UI', @@ -2222,6 +2401,13 @@ worry that config_items is freeside-specific and icky. 'type' => 'text', }, + { + 'key' => 'change_history-years', + 'section' => 'UI', + 'description' => 'Number of years of change history to show by default. Currently defaults to 0.5.', + 'type' => 'text', + }, + { 'key' => 'cust_main-packages-years', 'section' => 'UI', @@ -2320,6 +2506,14 @@ worry that config_items is freeside-specific and icky. 'type' => 'checkbox', }, + { + 'key' => 'dashboard-install_welcome', + 'section' => 'UI', + 'description' => 'New install welcome screen.', + 'type' => 'select', + 'select_enum' => [ '', 'ITSP_fsinc_hosted', ], + }, + { 'key' => 'dashboard-toplist', 'section' => 'UI', @@ -2557,6 +2751,35 @@ worry that config_items is freeside-specific and icky. 'type' => 'checkbox', }, + { + 'key' => 'cust_main-require_censustract', + 'section' => 'UI', + 'description' => 'Customer is required to have a census tract. Useful for FCC form 477 reports. See also: cust_main-auto_standardize_address', + 'type' => 'checkbox', + }, + + { + 'key' => 'census_year', + 'section' => 'UI', + 'description' => 'The year to use in census tract lookups', + 'type' => 'select', + 'select_enum' => [ qw( 2009 2008 2007 2006 ) ], + }, + + { + 'key' => 'company_latitude', + 'section' => 'UI', + 'description' => 'Your company latitude (-90 through 90)', + 'type' => 'text', + }, + + { + 'key' => 'company_longitude', + 'section' => 'UI', + 'description' => 'Your company longitude (-180 thru 180)', + 'type' => 'text', + }, + { 'key' => 'disable_acl_changes', 'section' => '', @@ -2574,7 +2797,14 @@ worry that config_items is freeside-specific and icky. { 'key' => 'cust_main-default_agent_custid', 'section' => 'UI', - 'description' => 'Display the agent_custid field instead of the custnum field.', + 'description' => 'Display the agent_custid field when available instead of the custnum field.', + 'type' => 'checkbox', + }, + + { + 'key' => 'cust_bill-default_agent_invid', + 'section' => 'UI', + 'description' => 'Display the agent_invid field when available instead of the invnum field.', 'type' => 'checkbox', }, @@ -2599,7 +2829,7 @@ worry that config_items is freeside-specific and icky. 'key' => 'mcp_svcpart', 'section' => '', 'description' => 'Master Control Program svcpart. Leave this blank.', - 'type' => 'text', + 'type' => 'text', #select-part_svc }, { @@ -2660,6 +2890,23 @@ worry that config_items is freeside-specific and icky. 'type' => 'text', }, + { + 'key' => 'selfservice-bulk_format', + 'section' => '', + 'description' => 'Parameter arrangement for selfservice bulk features', + 'type' => 'select', + 'select_enum' => [ '', 'izoom-soap', 'izoom-ftp' ], + 'per_agent' => 1, + }, + + { + 'key' => 'selfservice-bulk_ftp_dir', + 'section' => '', + 'description' => 'Enable bulk ftp provisioning in this folder', + 'type' => 'text', + 'per_agent' => 1, + }, + { 'key' => 'signup-no_company', 'section' => '', @@ -2709,10 +2956,31 @@ worry that config_items is freeside-specific and icky. 'type' => 'checkbox', }, + { + 'key' => 'cdr-charged_party-accountcode-trim_leading_0s', + 'section' => '', + 'description' => 'When setting the charged_party field of CDRs to the accountcode, trim any leading zeros.', + 'type' => 'checkbox', + }, + +# { +# 'key' => 'cdr-charged_party-truncate_prefix', +# 'section' => '', +# 'description' => 'If the charged_party field has this prefix, truncate it to the length in cdr-charged_party-truncate_length.', +# 'type' => 'text', +# }, +# +# { +# 'key' => 'cdr-charged_party-truncate_length', +# 'section' => '', +# 'description' => 'If the charged_party field has the prefix in cdr-charged_party-truncate_prefix, truncate it to this length.', +# 'type' => 'text', +# }, + { 'key' => 'cdr-charged_party_rewrite', 'section' => '', - 'description' => 'Do charged party rewriting in the freeside-cdrrewrited daemon; useful if CDRs are being dropped off directly in the database and require special charged_party processing such as cdr-charged_party-accountcode.', + 'description' => 'Do charged party rewriting in the freeside-cdrrewrited daemon; useful if CDRs are being dropped off directly in the database and require special charged_party processing such as cdr-charged_party-accountcode or cdr-charged_party-truncate*.', 'type' => 'checkbox', }, @@ -2744,6 +3012,20 @@ worry that config_items is freeside-specific and icky. 'type' => 'checkbox', }, + { + 'key' => 'sg-ping_username', + 'section' => '', + 'description' => "Don't use this.", + 'type' => 'text', + }, + + { + 'key' => 'sg-ping_password', + 'section' => '', + 'description' => "Don't use this.", + 'type' => 'text', + }, + { 'key' => 'disable-cust-pkg_class', 'section' => 'UI', @@ -2751,6 +3033,151 @@ worry that config_items is freeside-specific and icky. 'type' => 'checkbox', }, + { + 'key' => 'queued-max_kids', + 'section' => '', + 'description' => 'Maximum number of queued processes. Defaults to 10.', + 'type' => 'text', + }, + + { + 'key' => 'cancelled_cust-noevents', + 'section' => 'billing', + 'description' => "Don't run events for cancelled customers", + 'type' => 'checkbox', + }, + + { + 'key' => 'agent-invoice_template', + 'section' => 'billing', + 'description' => 'Enable display/edit of old-style per-agent invoice template selection', + 'type' => 'checkbox', + }, + + { + 'key' => 'svc_broadband-manage_link', + 'section' => 'UI', + 'description' => 'URL for svc_broadband "Manage Device" link. The following substitutions are available: $ip_addr.', + 'type' => 'text', + }, + + #more fine-grained, service def-level control could be useful eventually? + { + 'key' => 'svc_broadband-allow_null_ip_addr', + 'section' => '', + 'description' => '', + 'type' => 'checkbox', + }, + + { + 'key' => 'tax-report_groups', + 'section' => '', + 'description' => 'List of grouping possibilities for tax names on reports, one per line, "label op value" (op can be = or !=).', + 'type' => 'textarea', + }, + + { + 'key' => 'tax-cust_exempt-groups', + 'section' => '', + 'description' => 'List of grouping possibilities for tax names, for per-customer exemption purposes, one tax name per line. For example, "GST" would indicate the ability to exempt customers individually from taxes named "GST" (but not other taxes).', + 'type' => 'textarea', + }, + + { + 'key' => 'cust_main-default_view', + 'section' => 'UI', + 'description' => 'Default customer view, for users who have not selected a default view in their preferences.', + 'type' => 'select', + 'select_hash' => [ + #false laziness w/view/cust_main.cgi and pref/pref.html + 'basics' => 'Basics', + 'notes' => 'Notes', + 'tickets' => 'Tickets', + 'packages' => 'Packages', + 'payment_history' => 'Payment History', + 'change_history' => 'Change History', + 'jumbo' => 'Jumbo', + ], + }, + + { + 'key' => 'enable_tax_adjustments', + 'section' => 'billing', + 'description' => 'Enable the ability to add manual tax adjustments.', + 'type' => 'checkbox', + }, + + { + 'key' => 'rt-crontool', + 'section' => '', + 'description' => 'Enable the RT CronTool extension.', + 'type' => 'checkbox', + }, + + { + 'key' => 'pkg-balances', + 'section' => 'billing', + 'description' => 'Enable experimental package balances. Not recommended for general use.', + 'type' => 'checkbox', + }, + + { + 'key' => 'cust_main-edit_signupdate', + 'section' => 'UI', + 'descritpion' => 'Enable manual editing of the signup date.', + 'type' => 'checkbox', + }, + + { + 'key' => 'svc_acct-disable_access_number', + 'section' => 'UI', + 'descritpion' => 'Disable access number selection.', + 'type' => 'checkbox', + }, + + { key => "apacheroot", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "apachemachine", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "apachemachines", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "bindprimary", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "bindsecondaries", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "bsdshellmachines", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "cyrus", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "cp_app", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "erpcdmachines", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "icradiusmachines", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "icradius_mysqldest", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "icradius_mysqlsource", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "icradius_secrets", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "maildisablecatchall", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "mxmachines", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "nsmachines", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "arecords", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "cnamerecords", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "nismachines", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "qmailmachines", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "radiusmachines", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "sendmailconfigpath", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "sendmailmachines", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "sendmailrestart", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "shellmachine", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "shellmachine-useradd", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "shellmachine-userdel", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "shellmachine-usermod", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "shellmachines", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "radiusprepend", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "textradiusprepend", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "username_policy", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "vpopmailmachines", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "vpopmailrestart", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "safe-part_pkg", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "selfservice_server-quiet", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "signup_server-quiet", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "signup_server-email", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "vonage-username", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "vonage-password", section => "deprecated", description => "DEPRECATED", type => "text" }, + { key => "vonage-fromnumber", section => "deprecated", description => "DEPRECATED", type => "text" }, + ); 1; +