From: Steve Sutton Date: Tue, 21 Nov 2017 19:05:50 +0000 (-0500) Subject: Update the management into settings. X-Git-Tag: v1.0.0^2~225 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=1aa883fc0e081a6cdf8e76bc9a27bb22882cc588;p=WP-Plugins%2Fglm-member-db-billing.git Update the management into settings. Adding two new fields for from and message for notifications. --- diff --git a/classes/data/dataManagement.php b/classes/data/dataManagement.php deleted file mode 100644 index 8fa5a42..0000000 --- a/classes/data/dataManagement.php +++ /dev/null @@ -1,244 +0,0 @@ - - * @license http://www.gaslightmedia.com Gaslightmedia - * @release SVN: $Id: dataEvents.php,v 1.0 2011/01/25 19:31:47 cscott Exp $ - */ - -/** - * GlmDataBillingManagement class - * - * PHP version 5 - * - * @category Data - * @package GLM Member DB - * @author Chuck Scott - * @license http://www.gaslightmedia.com Gaslightmedia - * @release SVN: $Id: dataMembers.php,v 1.0 2011/01/25 19:31:47 cscott - * Exp $ - */ -class GlmDataBillingManagement extends GlmDataAbstract -{ - - /** - * WordPress Database Object - * - * @var $wpdb - * @access public - */ - public $wpdb; - /** - * Plugin Configuration Data - * - * @var $config - * @access public - */ - public $config; - /** - * Data Table Name - * - * @var $table - * @access public - */ - public $table; - /** - * Field definitions - * - * 'type' is type of field as defined by the application - * text Regular text field - * pointer Pointer to an entry in another table - * 'filters' is the filter name for a particular filter ID in PHP filter - * functions - * See PHP filter_id() - * - * 'use' is when to use the field - * l = List - * g = Get - * n = New - * i = Insert - * e = Edit - * u = Update - * d = Delete - * a = All - * - * @var $ini - * @access public - */ - public $fields = false; - /** - * MemberInfo DB object - * - * @var $MemberInfo - * @access public - */ - public $MemberInfo; - - /** - * Constructor - * - * @param object $d database connection - * @param array $config Configuration array - * @param bool $limitedEdit Flag to say indicate limited edit requested - * - * @return void - * @access public - */ - public function __construct($wpdb, $config, $limitedEdit = false) - { - - // If this class is not being extended along with existing $wpdb and $config - if (!$this->wpdb) { - - // Save WordPress Database object - $this->wpdb = $wpdb; - - // Save plugin configuration object - $this->config = $config; - - } - - /* - * Table Name - */ - $this->table = GLM_MEMBERS_BILLING_PLUGIN_DB_PREFIX . 'management'; - - /* - * Table Data Fields - */ - - $this->fields = array ( - - 'id' => array ( - 'field' => 'id', - 'type' => 'integer', - 'view_only' => true, - 'use' => 'a' - ), - - // Default Billing Period - 'billing_period' => array( - 'field' => 'billing_period', - 'type' => 'text', - 'use' => 'a' - ), - - // Default Invoice Date - 'invoice_date' => array( - 'field' => 'invoice_date', - 'type' => 'text', - 'use' => 'a' - ), - - // Logo for Invioce PDF - 'company_logo' => array( - 'field' => 'company_logo', - 'type' => 'image', - 'use' => 'a' - ), - - // Name - 'company_name' => array( - 'field' => 'company_name', - 'type' => 'text', - 'use' => 'a' - ), - - // Name2 - 'company_name2' => array( - 'field' => 'company_name2', - 'type' => 'text', - 'use' => 'a' - ), - - // Address 1 - 'company_addr1' => array( - 'field' => 'company_addr1', - 'type' => 'text', - 'use' => 'a' - ), - - // Address 2 - 'company_addr2' => array( - 'field' => 'company_addr2', - 'type' => 'text', - 'use' => 'a' - ), - - // City - 'company_city' => array( - 'field' => 'company_city', - 'type' => 'text', - 'use' => 'a' - ), - - // State - 'company_state' => array ( - 'field' => 'company_state', - 'type' => 'list', - 'list' => $this->config['states'], - 'default' => 'MI', - 'force_list' => true, - 'use' => 'a' - ), - - // Zip - 'company_zip' => array( - 'field' => 'company_zip', - 'type' => 'text', - 'use' => 'a' - ), - - // Phone - 'company_phone' => array( - 'field' => 'company_phone', - 'type' => 'text', - 'use' => 'a' - ), - - // Email - 'company_email' => array( - 'field' => 'company_email', - 'type' => 'text', - 'use' => 'a' - ), - - // URL - 'company_url' => array( - 'field' => 'company_url', - 'type' => 'text', - 'use' => 'a' - ), - - ); - - } - - /* - * Entry Post Processing Call-Back Method - * - * Perform post-processing for all result entries. - * - * In this case we're using it to append an array of category - * data to each member result and also sort by member name. - * - * @param array $r Array of field result data for a single entry - * @param string $a Action being performed (l, i, g, ...) - * - * @return object Class object - * - */ - public function entryPostProcessing($r, $a) - { - return $r; - } - -} - -?> diff --git a/classes/data/dataSettings.php b/classes/data/dataSettings.php new file mode 100644 index 0000000..6063294 --- /dev/null +++ b/classes/data/dataSettings.php @@ -0,0 +1,258 @@ + + * @license http://www.gaslightmedia.com Gaslightmedia + * @release SVN: $Id: dataEvents.php,v 1.0 2011/01/25 19:31:47 cscott Exp $ + */ + +/** + * GlmDataBillingManagement class + * + * PHP version 5 + * + * @category Data + * @package GLM Member DB + * @author Chuck Scott + * @license http://www.gaslightmedia.com Gaslightmedia + * @release SVN: $Id: dataMembers.php,v 1.0 2011/01/25 19:31:47 cscott + * Exp $ + */ +class GlmDataBillingSettings extends GlmDataAbstract +{ + + /** + * WordPress Database Object + * + * @var $wpdb + * @access public + */ + public $wpdb; + /** + * Plugin Configuration Data + * + * @var $config + * @access public + */ + public $config; + /** + * Data Table Name + * + * @var $table + * @access public + */ + public $table; + /** + * Field definitions + * + * 'type' is type of field as defined by the application + * text Regular text field + * pointer Pointer to an entry in another table + * 'filters' is the filter name for a particular filter ID in PHP filter + * functions + * See PHP filter_id() + * + * 'use' is when to use the field + * l = List + * g = Get + * n = New + * i = Insert + * e = Edit + * u = Update + * d = Delete + * a = All + * + * @var $ini + * @access public + */ + public $fields = false; + /** + * MemberInfo DB object + * + * @var $MemberInfo + * @access public + */ + public $MemberInfo; + + /** + * Constructor + * + * @param object $d database connection + * @param array $config Configuration array + * @param bool $limitedEdit Flag to say indicate limited edit requested + * + * @return void + * @access public + */ + public function __construct($wpdb, $config, $limitedEdit = false) + { + + // If this class is not being extended along with existing $wpdb and $config + if (!$this->wpdb) { + + // Save WordPress Database object + $this->wpdb = $wpdb; + + // Save plugin configuration object + $this->config = $config; + + } + + /* + * Table Name + */ + $this->table = GLM_MEMBERS_BILLING_PLUGIN_DB_PREFIX . 'settings'; + + /* + * Table Data Fields + */ + + $this->fields = array ( + + 'id' => array ( + 'field' => 'id', + 'type' => 'integer', + 'view_only' => true, + 'use' => 'a', + ), + + // Default Billing Period + 'billing_period' => array( + 'field' => 'billing_period', + 'type' => 'text', + 'use' => 'a', + ), + + // Default Invoice Date + 'invoice_date' => array( + 'field' => 'invoice_date', + 'type' => 'text', + 'use' => 'a', + ), + + // Notification From Email + 'notification_from' => array( + 'field' => 'notification_from', + 'type' => 'text', + 'use' => 'a', + ), + + // Notification Message + 'notification_message' => array( + 'field' => 'notification_message', + 'type' => 'text', + 'use' => 'a', + ), + + // Logo for Invioce PDF + 'company_logo' => array( + 'field' => 'company_logo', + 'type' => 'image', + 'use' => 'a', + ), + + // Name + 'company_name' => array( + 'field' => 'company_name', + 'type' => 'text', + 'use' => 'a', + ), + + // Name2 + 'company_name2' => array( + 'field' => 'company_name2', + 'type' => 'text', + 'use' => 'a', + ), + + // Address 1 + 'company_addr1' => array( + 'field' => 'company_addr1', + 'type' => 'text', + 'use' => 'a', + ), + + // Address 2 + 'company_addr2' => array( + 'field' => 'company_addr2', + 'type' => 'text', + 'use' => 'a' + ), + + // City + 'company_city' => array( + 'field' => 'company_city', + 'type' => 'text', + 'use' => 'a', + ), + + // State + 'company_state' => array ( + 'field' => 'company_state', + 'type' => 'list', + 'list' => $this->config['states'], + 'default' => 'MI', + 'force_list' => true, + 'use' => 'a', + ), + + // Zip + 'company_zip' => array( + 'field' => 'company_zip', + 'type' => 'text', + 'use' => 'a', + ), + + // Phone + 'company_phone' => array( + 'field' => 'company_phone', + 'type' => 'text', + 'use' => 'a', + ), + + // Email + 'company_email' => array( + 'field' => 'company_email', + 'type' => 'text', + 'use' => 'a', + ), + + // URL + 'company_url' => array( + 'field' => 'company_url', + 'type' => 'text', + 'use' => 'a', + ), + + ); + + } + + /* + * Entry Post Processing Call-Back Method + * + * Perform post-processing for all result entries. + * + * In this case we're using it to append an array of category + * data to each member result and also sort by member name. + * + * @param array $r Array of field result data for a single entry + * @param string $a Action being performed (l, i, g, ...) + * + * @return object Class object + * + */ + public function entryPostProcessing($r, $a) + { + return $r; + } + +} + +?> diff --git a/index.php b/index.php index b1ece21..f6d22f2 100644 --- a/index.php +++ b/index.php @@ -145,8 +145,8 @@ if (is_file(GLM_MEMBERS_BILLING_PLUGIN_DB_SCRIPTS.'/dbVersions.php')) { // Load Add-On Management Settings data /* None - Need to figure out a smooth way to do this. */ -$glmMembersBillingManagementSettings = $wpdb->get_row( "SELECT * FROM ".GLM_MEMBERS_BILLING_PLUGIN_DB_PREFIX."management WHERE id = 1", ARRAY_A ); -unset($glmMembersBillingManagementSettings['id']); +$glmMembersBillingSettings = $wpdb->get_row( "SELECT * FROM ".GLM_MEMBERS_BILLING_PLUGIN_DB_PREFIX."settings WHERE id = 1", ARRAY_A ); +unset($glmMembersBillingSettings['id']); function glmMembersBillingRegisterAddOn($addOns) { @@ -158,7 +158,7 @@ function glmMembersBillingRegisterAddOn($addOns) { 'slug' => GLM_MEMBERS_BILLING_PLUGIN_SLUG, 'actions' => $GLOBALS['glmMembersBillingAddOnValidActions'], 'config' => array( - 'settings' => $GLOBALS['glmMembersBillingManagementSettings'] + 'settings' => $GLOBALS['glmMembersBillingSettings'] ), 'shortcodes' => $GLOBALS['glmMembersBillingShortcodes'], 'shortcodesDescription' => $GLOBALS['glmMembersBillingShortcodesDescription'] diff --git a/models/admin/management/billing.php b/models/admin/management/billing.php deleted file mode 100644 index 4608791..0000000 --- a/models/admin/management/billing.php +++ /dev/null @@ -1,195 +0,0 @@ - - * @license http://www.gaslightmedia.com Gaslightmedia - * @release billing.php,v 1.0 2014/10/31 19:31:47 cscott Exp $ - * @link http://dev.gaslightmedia.com/ - */ - -// Load Management Events data abstract -require_once GLM_MEMBERS_BILLING_PLUGIN_CLASS_PATH.'/data/dataManagement.php'; - -/** - * GlmMembersAdmin_management_billing - * - * PHP version 5 - * - * @category Model - * @package GLM Member DB - * @author Chuck Scott - * @license http://www.gaslightmedia.com Gaslightmedia - * @release SVN: $Id: packaging.php,v 1.0 2011/01/25 19:31:47 cscott - * Exp $ - */ -class GlmMembersAdmin_management_billing extends GlmDataBillingManagement -{ - - /** - * WordPress Database Object - * - * @var $wpdb - * @access public - */ - public $wpdb; - /** - * dbh Postgres database connection - * - * @var mixed - * @access public - */ - public $dbh; - /** - * settings used for the schema and tablenames - * - * @var mixed - * @access public - */ - public $settings = array(); - - /** - * Constructor - * - * This contructor performs the work for this model. This model returns - * an array containing the following. - * - * 'status' - * - * True if successfull and false if there was a fatal failure. - * - * 'view' - * - * A suggested view name that the contoller should use instead of the - * default view for this model or false to indicate that the default view - * should be used. - * - * 'data' - * - * Data that the model is returning for use in merging with the view to - * produce output. - * - * @wpdb object WordPress database object - * - * @return array Array containing status, suggested view, and any data - */ - public function __construct ($wpdb, $config) - { - - // Save WordPress Database object - $this->wpdb = $wpdb; - - // Save plugin configuration object - $this->config = $config; - - // Run constructor for members data class - parent::__construct(false, false); - - } - - /** - * modelAction - * - * @param bool $actionData - * @access public - * @return void - */ - public function modelAction($actionData = false) - { - - $option = false; - $settings_updated = false; - $settings_update_error = false; - $billing_settings = false; - $option2 = false; - - if (isset($_REQUEST['option'])) { - $option = $_REQUEST['option']; - } - - switch ($option) { - - case 'settings': - - default: - - // Make sure option is set if default - $option = 'settings'; - - // Determine if current user can edit configurations - if (!current_user_can('glm_members_management')) { - return array( - 'status' => false, - 'menuItemRedirect' => 'error', - 'modelRedirect' => 'index', - 'view' => 'admin/error/index.html', - 'data' => array( - 'reason' => 'User does not have rights to make configuration changes.' - ) - ); - } - - // Check for submission option - $option2 = ''; - if (isset($_REQUEST['option2'])) { - $option2 = $_REQUEST['option2']; - } - - switch($option2) { - - // Update the settings and redisplay the form - case 'submit': - - // Update the billing management settings - $billing_settings = $this->updateEntry(1); - if ($billing_settings['status']) { - $settings_updated = true; - } else { - $settings_update_error = true; - } - - break; - - // Default is to get the current settings and display the form - default: - - // Try to get the first (should be only) entry for general settings. - $billing_settings = $this->editEntry(1); - // echo '
$billing_settings: ' . print_r( $billing_settings, true ) . '
'; - - break; - - } - - break; - - } - - // Compile template data - $template_data = array( - 'option' => $option, - 'settingsUpdated' => $settings_updated, - 'settingsUpdateError' => $settings_update_error, - 'billingSettings' => $billing_settings, - ); - - // Return status, suggested view, and data to controller - return array( - 'status' => true, - 'menuItemRedirect' => false, - 'modelRedirect' => false, - 'view' => 'admin/management/billing.html', - 'data' => $template_data - ); - - - } - - -} - diff --git a/models/admin/settings/billing.php b/models/admin/settings/billing.php new file mode 100644 index 0000000..faf3ad8 --- /dev/null +++ b/models/admin/settings/billing.php @@ -0,0 +1,197 @@ + + * @license http://www.gaslightmedia.com Gaslightmedia + * @release billing.php,v 1.0 2014/10/31 19:31:47 cscott Exp $ + * @link http://dev.gaslightmedia.com/ + */ + +// Load Management Events data abstract +require_once GLM_MEMBERS_BILLING_PLUGIN_CLASS_PATH.'/data/dataSettings.php'; + +/** + * GlmMembersAdmin_settings_billing + * + * PHP version 5 + * + * @category Model + * @package GLM Member DB + * @author Chuck Scott + * @license http://www.gaslightmedia.com Gaslightmedia + * @release SVN: $Id: packaging.php,v 1.0 2011/01/25 19:31:47 cscott + * Exp $ + */ +class GlmMembersAdmin_settings_billing extends GlmDataBillingSettings +{ + + /** + * WordPress Database Object + * + * @var $wpdb + * @access public + */ + public $wpdb; + /** + * dbh Postgres database connection + * + * @var mixed + * @access public + */ + public $dbh; + /** + * settings used for the schema and tablenames + * + * @var mixed + * @access public + */ + public $settings = array(); + + /** + * Constructor + * + * This contructor performs the work for this model. This model returns + * an array containing the following. + * + * 'status' + * + * True if successfull and false if there was a fatal failure. + * + * 'view' + * + * A suggested view name that the contoller should use instead of the + * default view for this model or false to indicate that the default view + * should be used. + * + * 'data' + * + * Data that the model is returning for use in merging with the view to + * produce output. + * + * @wpdb object WordPress database object + * + * @return array Array containing status, suggested view, and any data + */ + public function __construct ($wpdb, $config) + { + + // Save WordPress Database object + $this->wpdb = $wpdb; + + // Save plugin configuration object + $this->config = $config; + + // Run constructor for members data class + parent::__construct(false, false); + + } + + /** + * modelAction + * + * @param bool $actionData + * @access public + * @return void + */ + public function modelAction($actionData = false) + { + + $option = false; + $settings_updated = false; + $settings_update_error = false; + $billing_settings = false; + $option2 = false; + $enable_members = $this->config['settings']['enable_members']; + + if (isset($_REQUEST['option'])) { + $option = $_REQUEST['option']; + } + + switch ($option) { + + case 'settings': + + default: + + // Make sure option is set if default + $option = 'settings'; + + // Determine if current user can edit configurations + if (!current_user_can('glm_members_management')) { + return array( + 'status' => false, + 'menuItemRedirect' => 'error', + 'modelRedirect' => 'index', + 'view' => 'admin/error/index.html', + 'data' => array( + 'reason' => 'User does not have rights to make configuration changes.' + ) + ); + } + + // Check for submission option + $option2 = ''; + if (isset($_REQUEST['option2'])) { + $option2 = $_REQUEST['option2']; + } + + switch($option2) { + + // Update the settings and redisplay the form + case 'submit': + + // Update the billing settings settings + $billing_settings = $this->updateEntry(1); + if ($billing_settings['status']) { + $settings_updated = true; + } else { + $settings_update_error = true; + } + + break; + + // Default is to get the current settings and display the form + default: + + // Try to get the first (should be only) entry for general settings. + $billing_settings = $this->editEntry(1); + // echo '
$billing_settings: ' . print_r( $billing_settings, true ) . '
'; + + break; + + } + + break; + + } + + // Compile template data + $template_data = array( + 'enable_members' => $enable_members, + 'option' => $option, + 'settingsUpdated' => $settings_updated, + 'settingsUpdateError' => $settings_update_error, + 'billingSettings' => $billing_settings, + ); + + // Return status, suggested view, and data to controller + return array( + 'status' => true, + 'menuItemRedirect' => false, + 'modelRedirect' => false, + 'view' => 'admin/settings/billing.html', + 'data' => $template_data + ); + + + } + + +} + diff --git a/setup/adminTabs.php b/setup/adminTabs.php index 3b0bd62..220d203 100644 --- a/setup/adminTabs.php +++ b/setup/adminTabs.php @@ -33,12 +33,12 @@ * */ if ( current_user_can( 'glm_members_members' ) ) { - add_filter( 'glm-member-db-add-tab-for-management', + add_filter( 'glm-member-db-add-tab-for-settings', function( $addOnTabs ) { $newTabs = array( array( 'text' => 'Billing', - 'menu' => 'management', + 'menu' => 'settings', 'action' => 'billing', ) ); diff --git a/setup/databaseScripts/create_database_V0.0.1.sql b/setup/databaseScripts/create_database_V0.0.1.sql index dca366c..09ae3a9 100644 --- a/setup/databaseScripts/create_database_V0.0.1.sql +++ b/setup/databaseScripts/create_database_V0.0.1.sql @@ -65,7 +65,7 @@ CREATE TABLE {prefix}ref_account ( ---- -- Management Options -CREATE TABLE {prefix}management ( +CREATE TABLE {prefix}settings ( id INT NOT NULL AUTO_INCREMENT, billing_period TINYTEXT NOT NULL, invoice_date DATE NOT NULL, @@ -81,13 +81,15 @@ CREATE TABLE {prefix}management ( company_phone TINYTEXT NULL, company_email TINYTEXT NULL, company_url TINYTEXT NULL, + notification_from TINYTEXT NULL, + notification_message TEXT NULL, PRIMARY KEY (id) ); ---- --- Set default billing management entry -INSERT INTO {prefix}management +-- Set default billing settings entry +INSERT INTO {prefix}settings ( id ) VALUES ( 1 ) diff --git a/setup/validActions.php b/setup/validActions.php index 7f31196..a207c60 100644 --- a/setup/validActions.php +++ b/setup/validActions.php @@ -59,7 +59,7 @@ $glmMembersBillingAddOnValidActions = array( 'adminActions' => array( - 'management' => array( + 'settings' => array( 'billing' => GLM_MEMBERS_BILLING_PLUGIN_SLUG, ), ), diff --git a/views/admin/management/billing.html b/views/admin/management/billing.html deleted file mode 100644 index 7cfc849..0000000 --- a/views/admin/management/billing.html +++ /dev/null @@ -1,158 +0,0 @@ -{include file='admin/management/header.html'} - - - - - - - - - - - - -
- {if $settingsUpdated}

Settings Updated

{/if} - {if $settingsUpdateError}Settings Update Error{/if} -

Management Settings

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Billing Period - - {if $billingSettings.fieldFail.billing_period}

{$billingSettings.fieldFail.billing_period}

{/if}
-
Default Invoice Date - - {if $billingSettings.fieldFail.invoice_date}

{$billingSettings.fieldFail.invoice_date}

{/if}
-
Company Logo - {if $billingSettings.fieldData.company_logo} - - Delete Image
- {$billingSettings.fieldData.company_logo}
- {/if} - New image: -
Need to update the text here for best logo size (w X h)
- {if $billingSettings.fieldFail.company_logo}

{$billingSettings.fieldFail.company_logo}{/if} -

Company Name - - {if $billingSettings.fieldFail.company_name}

{$billingSettings.fieldFail.company_name}

{/if}
-
Company Name 2 - - {if $billingSettings.fieldFail.company_name2}

{$billingSettings.fieldFail.company_name2}

{/if}
-
Company Address 1 - - {if $billingSettings.fieldFail.company_addr1}

{$billingSettings.fieldFail.company_addr1}

{/if}
-
Company Address 2 - - {if $billingSettings.fieldFail.company_addr2}

{$billingSettings.fieldFail.company_addr2}

{/if}
-
Company City - - {if $billingSettings.fieldFail.company_city}

{$billingSettings.fieldFail.company_city}

{/if}
-
Company State - - {if $billingSettings.fieldFail.company_state}

{$billingSettings.fieldFail.company_state}

{/if}
-
Company Zip - - {if $billingSettings.fieldFail.company_zip}

{$billingSettings.fieldFail.company_zip}

{/if}
-
Company Phone - - {if $billingSettings.fieldFail.company_phone}

{$billingSettings.fieldFail.company_phone}

{/if}
-
Company Email - - {if $billingSettings.fieldFail.company_email}

{$billingSettings.fieldFail.company_email}

{/if}
-
Company URL - - {if $billingSettings.fieldFail.company_url}

{$billingSettings.fieldFail.company_url}

{/if}
-
- -
-
- - diff --git a/views/admin/settings/billing.html b/views/admin/settings/billing.html new file mode 100644 index 0000000..67124b4 --- /dev/null +++ b/views/admin/settings/billing.html @@ -0,0 +1,183 @@ +{include file='admin/settings/header.html'} + + + + + + + + + + + + +
+ {if $settingsUpdated}

Settings Updated

{/if} + {if $settingsUpdateError}Settings Update Error{/if} +

Management Settings

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Defaults
Default Billing Period + + {if $billingSettings.fieldFail.billing_period}

{$billingSettings.fieldFail.billing_period}

{/if}
+
Default Invoice Date + + {if $billingSettings.fieldFail.invoice_date}

{$billingSettings.fieldFail.invoice_date}

{/if}
+
Invoice Settings
Notification From + + {if $billingSettings.fieldFail.notification_from}

{$billingSettings.fieldFail.notification_from}

{/if}
+
Notification Message + + {if $billingSettings.fieldFail.notification_message} +

{$billingSettings.fieldFail.notification_message}

+ {/if}
+
Invoice Settings
Company Logo + {if $billingSettings.fieldData.company_logo} + + Delete Image
+ {$billingSettings.fieldData.company_logo}
+ {/if} + New image: +
Need to update the text here for best logo size (w X h)
+ {if $billingSettings.fieldFail.company_logo}

{$billingSettings.fieldFail.company_logo}{/if} +

Company Name + + {if $billingSettings.fieldFail.company_name}

{$billingSettings.fieldFail.company_name}

{/if}
+
Company Name 2 + + {if $billingSettings.fieldFail.company_name2}

{$billingSettings.fieldFail.company_name2}

{/if}
+
Company Address 1 + + {if $billingSettings.fieldFail.company_addr1}

{$billingSettings.fieldFail.company_addr1}

{/if}
+
Company Address 2 + + {if $billingSettings.fieldFail.company_addr2}

{$billingSettings.fieldFail.company_addr2}

{/if}
+
Company City + + {if $billingSettings.fieldFail.company_city}

{$billingSettings.fieldFail.company_city}

{/if}
+
Company State + + {if $billingSettings.fieldFail.company_state}

{$billingSettings.fieldFail.company_state}

{/if}
+
Company Zip + + {if $billingSettings.fieldFail.company_zip}

{$billingSettings.fieldFail.company_zip}

{/if}
+
Company Phone + + {if $billingSettings.fieldFail.company_phone}

{$billingSettings.fieldFail.company_phone}

{/if}
+
Company Email + + {if $billingSettings.fieldFail.company_email}

{$billingSettings.fieldFail.company_email}

{/if}
+
Company URL + + {if $billingSettings.fieldFail.company_url}

{$billingSettings.fieldFail.company_url}

{/if}
+
+ +
+
+ + +{include file='admin/footer.html'}