Passed
Push — master ( 2e00bd...3bda5e )
by
unknown
56s queued 12s
created
includes/class-wpinv.php 1 patch
Spacing   +203 added lines, -203 removed lines patch added patch discarded remove patch
@@ -7,15 +7,15 @@  discard block
 block discarded – undo
7 7
  */
8 8
  
9 9
 // MUST have WordPress.
10
-if ( !defined( 'WPINC' ) ) {
11
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
10
+if (!defined('WPINC')) {
11
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
12 12
 }
13 13
 
14 14
 class WPInv_Plugin {
15 15
     private static $instance;
16 16
     
17 17
     public static function run() {
18
-        if ( !isset( self::$instance ) && !( self::$instance instanceof WPInv_Plugin ) ) {
18
+        if (!isset(self::$instance) && !(self::$instance instanceof WPInv_Plugin)) {
19 19
             self::$instance = new WPInv_Plugin;
20 20
             self::$instance->includes();
21 21
             self::$instance->actions();
@@ -32,31 +32,31 @@  discard block
 block discarded – undo
32 32
     }
33 33
     
34 34
     public function define_constants() {
35
-        define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) );
36
-        define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) );
35
+        define('WPINV_PLUGIN_DIR', plugin_dir_path(WPINV_PLUGIN_FILE));
36
+        define('WPINV_PLUGIN_URL', plugin_dir_url(WPINV_PLUGIN_FILE));
37 37
     }
38 38
     
39 39
     private function actions() {
40 40
         /* Internationalize the text strings used. */
41
-        add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) );
41
+        add_action('plugins_loaded', array(&$this, 'plugins_loaded'));
42 42
         
43 43
         /* Perform actions on admin initialization. */
44
-        add_action( 'admin_init', array( &$this, 'admin_init') );
45
-        add_action( 'init', array( &$this, 'init' ), 3 );
46
-        add_action( 'init', array( &$this, 'wpinv_actions' ) );
44
+        add_action('admin_init', array(&$this, 'admin_init'));
45
+        add_action('init', array(&$this, 'init'), 3);
46
+        add_action('init', array(&$this, 'wpinv_actions'));
47 47
         
48
-        if ( class_exists( 'BuddyPress' ) ) {
49
-            add_action( 'bp_include', array( &$this, 'bp_invoicing_init' ) );
48
+        if (class_exists('BuddyPress')) {
49
+            add_action('bp_include', array(&$this, 'bp_invoicing_init'));
50 50
         }
51 51
 
52
-        add_action( 'wp_enqueue_scripts', array( &$this, 'enqueue_scripts' ) );
53
-        add_action( 'widgets_init', array( &$this, 'register_widgets' ) );
52
+        add_action('wp_enqueue_scripts', array(&$this, 'enqueue_scripts'));
53
+        add_action('widgets_init', array(&$this, 'register_widgets'));
54 54
 
55
-        if ( is_admin() ) {
56
-            add_action( 'admin_enqueue_scripts', array( &$this, 'admin_enqueue_scripts' ) );
57
-            add_action( 'admin_body_class', array( &$this, 'admin_body_class' ) );
55
+        if (is_admin()) {
56
+            add_action('admin_enqueue_scripts', array(&$this, 'admin_enqueue_scripts'));
57
+            add_action('admin_body_class', array(&$this, 'admin_body_class'));
58 58
         } else {
59
-            add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
59
+            add_filter('pre_get_posts', array(&$this, 'pre_get_posts'));
60 60
         }
61 61
         
62 62
         /**
@@ -66,19 +66,19 @@  discard block
 block discarded – undo
66 66
          *
67 67
          * @param WPInv_Plugin $this. Current WPInv_Plugin instance. Passed by reference.
68 68
          */
69
-        do_action_ref_array( 'wpinv_actions', array( &$this ) );
69
+        do_action_ref_array('wpinv_actions', array(&$this));
70 70
 
71
-        add_action( 'admin_init', array( &$this, 'activation_redirect') );
71
+        add_action('admin_init', array(&$this, 'activation_redirect'));
72 72
     }
73 73
     
74 74
     public function plugins_loaded() {
75 75
         /* Internationalize the text strings used. */
76 76
         $this->load_textdomain();
77 77
 
78
-        do_action( 'wpinv_loaded' );
78
+        do_action('wpinv_loaded');
79 79
 
80 80
         // Fix oxygen page builder conflict
81
-        if ( function_exists( 'ct_css_output' ) ) {
81
+        if (function_exists('ct_css_output')) {
82 82
             wpinv_oxygen_fix_conflict();
83 83
         }
84 84
     }
@@ -88,228 +88,228 @@  discard block
 block discarded – undo
88 88
      *
89 89
      * @since 1.0
90 90
      */
91
-    public function load_textdomain( $locale = NULL ) {
92
-        if ( empty( $locale ) ) {
93
-            $locale = is_admin() && function_exists( 'get_user_locale' ) ? get_user_locale() : get_locale();
91
+    public function load_textdomain($locale = NULL) {
92
+        if (empty($locale)) {
93
+            $locale = is_admin() && function_exists('get_user_locale') ? get_user_locale() : get_locale();
94 94
         }
95 95
 
96
-        $locale = apply_filters( 'plugin_locale', $locale, 'invoicing' );
96
+        $locale = apply_filters('plugin_locale', $locale, 'invoicing');
97 97
         
98
-        unload_textdomain( 'invoicing' );
99
-        load_textdomain( 'invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo' );
100
-        load_plugin_textdomain( 'invoicing', false, WPINV_PLUGIN_DIR . 'languages' );
98
+        unload_textdomain('invoicing');
99
+        load_textdomain('invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo');
100
+        load_plugin_textdomain('invoicing', false, WPINV_PLUGIN_DIR . 'languages');
101 101
         
102 102
         /**
103 103
          * Define language constants.
104 104
          */
105
-        require_once( WPINV_PLUGIN_DIR . 'language.php' );
105
+        require_once(WPINV_PLUGIN_DIR . 'language.php');
106 106
     }
107 107
         
108 108
     public function includes() {
109 109
         global $wpinv_options;
110 110
         
111
-        require_once( WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php' );
111
+        require_once(WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php');
112 112
         $wpinv_options = wpinv_get_settings();
113 113
         
114
-        require_once( WPINV_PLUGIN_DIR . 'vendor/autoload.php' );
115
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php' );
116
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php' );
117
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php' );
118
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php' );
119
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php' );
120
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php' );
121
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-invoice-functions.php' );
122
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php' );
123
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php' );
124
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php' );
125
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php' );
126
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-user-functions.php' );
127
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-error-functions.php' );
128
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-post-types.php' );
129
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-invoice.php' );
130
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-item.php' );
131
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-notes.php' );
132
-        require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php' );
133
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php' );
134
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php' );
135
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php' );
136
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-reports.php' );
137
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php' );
138
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php' );
139
-        require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' );
140
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php' );
141
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions.php' );
142
-        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php' );
143
-        require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-subscriptions-list-table.php' );
144
-        require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php' );
145
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php' );
146
-        require_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php' );
147
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php' );
148
-	    require_once( WPINV_PLUGIN_DIR . 'widgets/checkout.php' );
149
-	    require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-history.php' );
150
-	    require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php' );
151
-	    require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php' );
152
-	    require_once( WPINV_PLUGIN_DIR . 'widgets/subscriptions.php' );
153
-	    require_once( WPINV_PLUGIN_DIR . 'widgets/buy-item.php' );
154
-
155
-        if ( !class_exists( 'WPInv_EUVat' ) ) {
156
-            require_once( WPINV_PLUGIN_DIR . 'includes/libraries/wpinv-euvat/class-wpinv-euvat.php' );
114
+        require_once(WPINV_PLUGIN_DIR . 'vendor/autoload.php');
115
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php');
116
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php');
117
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php');
118
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php');
119
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php');
120
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php');
121
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-invoice-functions.php');
122
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php');
123
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php');
124
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php');
125
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php');
126
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-user-functions.php');
127
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-error-functions.php');
128
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-post-types.php');
129
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-invoice.php');
130
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-item.php');
131
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-notes.php');
132
+        require_once(WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php');
133
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php');
134
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php');
135
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php');
136
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-reports.php');
137
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php');
138
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php');
139
+        require_once(WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php');
140
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php');
141
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions.php');
142
+        require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php');
143
+        require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-subscriptions-list-table.php');
144
+        require_once(WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php');
145
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php');
146
+        require_once(WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php');
147
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php');
148
+	    require_once(WPINV_PLUGIN_DIR . 'widgets/checkout.php');
149
+	    require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-history.php');
150
+	    require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php');
151
+	    require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php');
152
+	    require_once(WPINV_PLUGIN_DIR . 'widgets/subscriptions.php');
153
+	    require_once(WPINV_PLUGIN_DIR . 'widgets/buy-item.php');
154
+
155
+        if (!class_exists('WPInv_EUVat')) {
156
+            require_once(WPINV_PLUGIN_DIR . 'includes/libraries/wpinv-euvat/class-wpinv-euvat.php');
157 157
         }
158 158
         
159
-        $gateways = array_keys( wpinv_get_enabled_payment_gateways() );
160
-        if ( !empty( $gateways ) ) {
161
-            foreach ( $gateways as $gateway ) {
162
-                if ( $gateway == 'manual' ) {
159
+        $gateways = array_keys(wpinv_get_enabled_payment_gateways());
160
+        if (!empty($gateways)) {
161
+            foreach ($gateways as $gateway) {
162
+                if ($gateway == 'manual') {
163 163
                     continue;
164 164
                 }
165 165
                 
166 166
                 $gateway_file = WPINV_PLUGIN_DIR . 'includes/gateways/' . $gateway . '.php';
167 167
                 
168
-                if ( file_exists( $gateway_file ) ) {
169
-                    require_once( $gateway_file );
168
+                if (file_exists($gateway_file)) {
169
+                    require_once($gateway_file);
170 170
                 }
171 171
             }
172 172
         }
173
-        require_once( WPINV_PLUGIN_DIR . 'includes/gateways/manual.php' );
173
+        require_once(WPINV_PLUGIN_DIR . 'includes/gateways/manual.php');
174 174
         
175
-        if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
176
-            require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-upgrade-functions.php' );
177
-            require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php' );
178
-            require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-meta-boxes.php' );
175
+        if (is_admin() || (defined('WP_CLI') && WP_CLI)) {
176
+            require_once(WPINV_PLUGIN_DIR . 'includes/admin/wpinv-upgrade-functions.php');
177
+            require_once(WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php');
178
+            require_once(WPINV_PLUGIN_DIR . 'includes/admin/admin-meta-boxes.php');
179 179
             //require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-recurring-admin.php' );
180
-            require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-details.php' );
181
-            require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-items.php' );
182
-            require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php' );
183
-            require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-address.php' );
184
-            require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php' );
185
-            require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php' );
186
-            require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php' );
180
+            require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-details.php');
181
+            require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-items.php');
182
+            require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php');
183
+            require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-address.php');
184
+            require_once(WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php');
185
+            require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php');
186
+            require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php');
187 187
             //require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' );
188 188
             // load the user class only on the users.php page
189 189
             global $pagenow;
190
-            if($pagenow=='users.php'){
190
+            if ($pagenow == 'users.php') {
191 191
                 new WPInv_Admin_Users();
192 192
             }
193 193
         }
194 194
 
195 195
         // Register cli commands
196
-        if ( defined( 'WP_CLI' ) && WP_CLI ) {
197
-            require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php' );
198
-            WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
196
+        if (defined('WP_CLI') && WP_CLI) {
197
+            require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php');
198
+            WP_CLI::add_command('invoicing', 'WPInv_CLI');
199 199
         }
200 200
         
201 201
         // include css inliner
202
-        if ( ! class_exists( 'Emogrifier' ) && class_exists( 'DOMDocument' ) ) {
203
-            include_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-emogrifier.php' );
202
+        if (!class_exists('Emogrifier') && class_exists('DOMDocument')) {
203
+            include_once(WPINV_PLUGIN_DIR . 'includes/libraries/class-emogrifier.php');
204 204
         }
205 205
         
206
-        require_once( WPINV_PLUGIN_DIR . 'includes/admin/install.php' );
206
+        require_once(WPINV_PLUGIN_DIR . 'includes/admin/install.php');
207 207
     }
208 208
     
209 209
     public function init() {
210 210
     }
211 211
     
212 212
     public function admin_init() {
213
-        add_action( 'admin_print_scripts-edit.php', array( &$this, 'admin_print_scripts_edit_php' ) );
213
+        add_action('admin_print_scripts-edit.php', array(&$this, 'admin_print_scripts_edit_php'));
214 214
     }
215 215
 
216 216
     public function activation_redirect() {
217 217
         // Bail if no activation redirect
218
-        if ( !get_transient( '_wpinv_activation_redirect' ) ) {
218
+        if (!get_transient('_wpinv_activation_redirect')) {
219 219
             return;
220 220
         }
221 221
 
222 222
         // Delete the redirect transient
223
-        delete_transient( '_wpinv_activation_redirect' );
223
+        delete_transient('_wpinv_activation_redirect');
224 224
 
225 225
         // Bail if activating from network, or bulk
226
-        if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) {
226
+        if (is_network_admin() || isset($_GET['activate-multi'])) {
227 227
             return;
228 228
         }
229 229
 
230
-        wp_safe_redirect( admin_url( 'admin.php?page=wpinv-settings&tab=general' ) );
230
+        wp_safe_redirect(admin_url('admin.php?page=wpinv-settings&tab=general'));
231 231
         exit;
232 232
     }
233 233
     
234 234
     public function enqueue_scripts() {
235
-        $suffix       = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
235
+        $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
236 236
         
237
-        wp_register_style( 'wpinv_front_style', WPINV_PLUGIN_URL . 'assets/css/invoice-front.css', array(), WPINV_VERSION );
238
-        wp_enqueue_style( 'wpinv_front_style' );
237
+        wp_register_style('wpinv_front_style', WPINV_PLUGIN_URL . 'assets/css/invoice-front.css', array(), WPINV_VERSION);
238
+        wp_enqueue_style('wpinv_front_style');
239 239
                
240 240
         // Register scripts
241
-        wp_register_script( 'jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array( 'jquery' ), '2.70', true );
242
-        wp_register_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/invoice-front.js', array( 'jquery' ),  WPINV_VERSION );
241
+        wp_register_script('jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array('jquery'), '2.70', true);
242
+        wp_register_script('wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/invoice-front.js', array('jquery'), WPINV_VERSION);
243 243
 
244 244
         $localize                         = array();
245
-        $localize['ajax_url']             = admin_url( 'admin-ajax.php' );
246
-        $localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
245
+        $localize['ajax_url']             = admin_url('admin-ajax.php');
246
+        $localize['nonce']                = wp_create_nonce('wpinv-nonce');
247 247
         $localize['currency_symbol']      = wpinv_currency_symbol();
248 248
         $localize['currency_pos']         = wpinv_currency_position();
249 249
         $localize['thousand_sep']         = wpinv_thousands_separator();
250 250
         $localize['decimal_sep']          = wpinv_decimal_separator();
251 251
         $localize['decimals']             = wpinv_decimals();
252
-        $localize['txtComplete']          = __( 'Complete', 'invoicing' );
252
+        $localize['txtComplete']          = __('Complete', 'invoicing');
253 253
         $localize['UseTaxes']             = wpinv_use_taxes();
254
-        $localize['checkoutNonce']        = wp_create_nonce( 'wpinv_checkout_nonce' );
254
+        $localize['checkoutNonce']        = wp_create_nonce('wpinv_checkout_nonce');
255 255
 
256
-        $localize = apply_filters( 'wpinv_front_js_localize', $localize );
256
+        $localize = apply_filters('wpinv_front_js_localize', $localize);
257 257
         
258
-        wp_enqueue_script( 'jquery-blockui' );
258
+        wp_enqueue_script('jquery-blockui');
259 259
         $autofill_api = wpinv_get_option('address_autofill_api');
260 260
         $autofill_active = wpinv_get_option('address_autofill_active');
261
-        if ( isset( $autofill_active ) && 1 == $autofill_active && !empty( $autofill_api ) && wpinv_is_checkout() ) {
262
-            if ( wp_script_is( 'google-maps-api', 'enqueued' ) ) {
263
-                wp_dequeue_script( 'google-maps-api' );
261
+        if (isset($autofill_active) && 1 == $autofill_active && !empty($autofill_api) && wpinv_is_checkout()) {
262
+            if (wp_script_is('google-maps-api', 'enqueued')) {
263
+                wp_dequeue_script('google-maps-api');
264 264
             }
265
-            wp_enqueue_script( 'google-maps-api', 'https://maps.googleapis.com/maps/api/js?key=' . $autofill_api . '&libraries=places', array( 'jquery' ), '', false );
266
-            wp_enqueue_script( 'google-maps-init', WPINV_PLUGIN_URL . 'assets/js/gaaf.js', array( 'jquery', 'google-maps-api' ), '', true );
265
+            wp_enqueue_script('google-maps-api', 'https://maps.googleapis.com/maps/api/js?key=' . $autofill_api . '&libraries=places', array('jquery'), '', false);
266
+            wp_enqueue_script('google-maps-init', WPINV_PLUGIN_URL . 'assets/js/gaaf.js', array('jquery', 'google-maps-api'), '', true);
267 267
         }
268 268
 
269
-        wp_enqueue_style( "select2", WPINV_PLUGIN_URL . 'assets/css/select2/select2.css', array(), WPINV_VERSION, 'all' );
270
-        wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full' . $suffix . '.js', array( 'jquery' ), WPINV_VERSION );
269
+        wp_enqueue_style("select2", WPINV_PLUGIN_URL . 'assets/css/select2/select2.css', array(), WPINV_VERSION, 'all');
270
+        wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full' . $suffix . '.js', array('jquery'), WPINV_VERSION);
271 271
 
272
-        wp_enqueue_script( 'wpinv-front-script' );
273
-        wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
272
+        wp_enqueue_script('wpinv-front-script');
273
+        wp_localize_script('wpinv-front-script', 'WPInv', $localize);
274 274
     }
275 275
 
276 276
     public function admin_enqueue_scripts() {
277 277
         global $post, $pagenow;
278 278
         
279 279
         $post_type  = wpinv_admin_post_type();
280
-        $suffix     = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
281
-        $page       = isset( $_GET['page'] ) ? strtolower( $_GET['page'] ) : '';
280
+        $suffix     = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
281
+        $page       = isset($_GET['page']) ? strtolower($_GET['page']) : '';
282 282
 
283 283
         $jquery_ui_css = false;
284
-        if ( ( $post_type == 'wpi_invoice' || $post_type == 'wpi_quote' || $post_type == 'wpi_discount' ) && ( $pagenow == 'post-new.php' || $pagenow == 'post.php' ) ) {
284
+        if (($post_type == 'wpi_invoice' || $post_type == 'wpi_quote' || $post_type == 'wpi_discount') && ($pagenow == 'post-new.php' || $pagenow == 'post.php')) {
285 285
             $jquery_ui_css = true;
286
-        } else if ( $page == 'wpinv-settings' || $page == 'wpinv-reports' ) {
286
+        } else if ($page == 'wpinv-settings' || $page == 'wpinv-reports') {
287 287
             $jquery_ui_css = true;
288 288
         }
289
-        if ( $jquery_ui_css ) {
290
-            wp_register_style( 'jquery-ui-css', WPINV_PLUGIN_URL . 'assets/css/jquery-ui' . $suffix . '.css', array(), '1.8.16' );
291
-            wp_enqueue_style( 'jquery-ui-css' );
289
+        if ($jquery_ui_css) {
290
+            wp_register_style('jquery-ui-css', WPINV_PLUGIN_URL . 'assets/css/jquery-ui' . $suffix . '.css', array(), '1.8.16');
291
+            wp_enqueue_style('jquery-ui-css');
292 292
         }
293 293
 
294
-        wp_register_style( 'wpinv_meta_box_style', WPINV_PLUGIN_URL . 'assets/css/meta-box.css', array(), WPINV_VERSION );
295
-        wp_enqueue_style( 'wpinv_meta_box_style' );
294
+        wp_register_style('wpinv_meta_box_style', WPINV_PLUGIN_URL . 'assets/css/meta-box.css', array(), WPINV_VERSION);
295
+        wp_enqueue_style('wpinv_meta_box_style');
296 296
         
297
-        wp_register_style( 'wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array(), WPINV_VERSION );
298
-        wp_enqueue_style( 'wpinv_admin_style' );
297
+        wp_register_style('wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array(), WPINV_VERSION);
298
+        wp_enqueue_style('wpinv_admin_style');
299 299
 
300
-        $enqueue = ( $post_type == 'wpi_discount' || $post_type == 'wpi_invoice' && ( $pagenow == 'post-new.php' || $pagenow == 'post.php' ) );
301
-        if ( $page == 'wpinv-subscriptions' ) {
302
-            wp_enqueue_script( 'jquery-ui-datepicker' );
300
+        $enqueue = ($post_type == 'wpi_discount' || $post_type == 'wpi_invoice' && ($pagenow == 'post-new.php' || $pagenow == 'post.php'));
301
+        if ($page == 'wpinv-subscriptions') {
302
+            wp_enqueue_script('jquery-ui-datepicker');
303 303
         }
304 304
         
305
-        if ( $enqueue_datepicker = apply_filters( 'wpinv_admin_enqueue_jquery_ui_datepicker', $enqueue ) ) {
306
-            wp_enqueue_script( 'jquery-ui-datepicker' );
305
+        if ($enqueue_datepicker = apply_filters('wpinv_admin_enqueue_jquery_ui_datepicker', $enqueue)) {
306
+            wp_enqueue_script('jquery-ui-datepicker');
307 307
         }
308 308
 
309
-        wp_enqueue_style( 'wp-color-picker' );
310
-        wp_enqueue_script( 'wp-color-picker' );
309
+        wp_enqueue_style('wp-color-picker');
310
+        wp_enqueue_script('wp-color-picker');
311 311
         
312
-        wp_register_script( 'jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array( 'jquery' ), '2.70', true );
312
+        wp_register_script('jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array('jquery'), '2.70', true);
313 313
 
314 314
         if (($post_type == 'wpi_invoice' || $post_type == 'wpi_quote') && ($pagenow == 'post-new.php' || $pagenow == 'post.php')) {
315 315
             $autofill_api = wpinv_get_option('address_autofill_api');
@@ -320,20 +320,20 @@  discard block
 block discarded – undo
320 320
             }
321 321
         }
322 322
 
323
-        wp_enqueue_style( "select2", WPINV_PLUGIN_URL . 'assets/css/select2/select2.css', array(), WPINV_VERSION, 'all' );
324
-        wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full' . $suffix . '.js', array( 'jquery' ), WPINV_VERSION );
323
+        wp_enqueue_style("select2", WPINV_PLUGIN_URL . 'assets/css/select2/select2.css', array(), WPINV_VERSION, 'all');
324
+        wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full' . $suffix . '.js', array('jquery'), WPINV_VERSION);
325 325
 
326
-        wp_register_script( 'wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin.js', array( 'jquery', 'jquery-blockui','jquery-ui-tooltip' ),  WPINV_VERSION );
327
-        wp_enqueue_script( 'wpinv-admin-script' );
326
+        wp_register_script('wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin.js', array('jquery', 'jquery-blockui', 'jquery-ui-tooltip'), WPINV_VERSION);
327
+        wp_enqueue_script('wpinv-admin-script');
328 328
         
329 329
         $localize                               = array();
330
-        $localize['ajax_url']                   = admin_url( 'admin-ajax.php' );
331
-        $localize['post_ID']                    = isset( $post->ID ) ? $post->ID : '';
332
-        $localize['wpinv_nonce']                = wp_create_nonce( 'wpinv-nonce' );
333
-        $localize['add_invoice_note_nonce']     = wp_create_nonce( 'add-invoice-note' );
334
-        $localize['delete_invoice_note_nonce']  = wp_create_nonce( 'delete-invoice-note' );
335
-        $localize['invoice_item_nonce']         = wp_create_nonce( 'invoice-item' );
336
-        $localize['billing_details_nonce']      = wp_create_nonce( 'get-billing-details' );
330
+        $localize['ajax_url']                   = admin_url('admin-ajax.php');
331
+        $localize['post_ID']                    = isset($post->ID) ? $post->ID : '';
332
+        $localize['wpinv_nonce']                = wp_create_nonce('wpinv-nonce');
333
+        $localize['add_invoice_note_nonce']     = wp_create_nonce('add-invoice-note');
334
+        $localize['delete_invoice_note_nonce']  = wp_create_nonce('delete-invoice-note');
335
+        $localize['invoice_item_nonce']         = wp_create_nonce('invoice-item');
336
+        $localize['billing_details_nonce']      = wp_create_nonce('get-billing-details');
337 337
         $localize['tax']                        = wpinv_tax_amount();
338 338
         $localize['discount']                   = wpinv_discount_amount();
339 339
         $localize['currency_symbol']            = wpinv_currency_symbol();
@@ -341,69 +341,69 @@  discard block
 block discarded – undo
341 341
         $localize['thousand_sep']               = wpinv_thousands_separator();
342 342
         $localize['decimal_sep']                = wpinv_decimal_separator();
343 343
         $localize['decimals']                   = wpinv_decimals();
344
-        $localize['save_invoice']               = __( 'Save Invoice', 'invoicing' );
345
-        $localize['status_publish']             = wpinv_status_nicename( 'publish' );
346
-        $localize['status_pending']             = wpinv_status_nicename( 'wpi-pending' );
347
-        $localize['delete_tax_rate']            = __( 'Are you sure you wish to delete this tax rate?', 'invoicing' );
348
-        $localize['OneItemMin']                 = __( 'Invoice must contain at least one item', 'invoicing' );
349
-        $localize['DeleteInvoiceItem']          = __( 'Are you sure you wish to delete this item?', 'invoicing' );
350
-        $localize['FillBillingDetails']         = __( 'Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing' );
351
-        $localize['confirmCalcTotals']          = __( 'Recalculate totals? This will recalculate totals based on the user billing country. If no billing country is set it will use the base country.', 'invoicing' );
352
-        $localize['AreYouSure']                 = __( 'Are you sure?', 'invoicing' );
353
-        $localize['emptyInvoice']               = __( 'Add at least one item to save invoice!', 'invoicing' );
354
-        $localize['errDeleteItem']              = __( 'This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing' );
355
-        $localize['delete_subscription']        = __( 'Are you sure you want to delete this subscription?', 'invoicing' );
356
-        $localize['action_edit']                = __( 'Edit', 'invoicing' );
357
-        $localize['action_cancel']              = __( 'Cancel', 'invoicing' );
358
-
359
-        $localize = apply_filters( 'wpinv_admin_js_localize', $localize );
360
-
361
-        wp_localize_script( 'wpinv-admin-script', 'WPInv_Admin', $localize );
362
-
363
-        if ( $page == 'wpinv-subscriptions' ) {
364
-            wp_register_script( 'wpinv-sub-admin-script', WPINV_PLUGIN_URL . 'assets/js/subscriptions.js', array( 'wpinv-admin-script' ),  WPINV_VERSION );
365
-            wp_enqueue_script( 'wpinv-sub-admin-script' );
344
+        $localize['save_invoice']               = __('Save Invoice', 'invoicing');
345
+        $localize['status_publish']             = wpinv_status_nicename('publish');
346
+        $localize['status_pending']             = wpinv_status_nicename('wpi-pending');
347
+        $localize['delete_tax_rate']            = __('Are you sure you wish to delete this tax rate?', 'invoicing');
348
+        $localize['OneItemMin']                 = __('Invoice must contain at least one item', 'invoicing');
349
+        $localize['DeleteInvoiceItem']          = __('Are you sure you wish to delete this item?', 'invoicing');
350
+        $localize['FillBillingDetails']         = __('Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing');
351
+        $localize['confirmCalcTotals']          = __('Recalculate totals? This will recalculate totals based on the user billing country. If no billing country is set it will use the base country.', 'invoicing');
352
+        $localize['AreYouSure']                 = __('Are you sure?', 'invoicing');
353
+        $localize['emptyInvoice']               = __('Add at least one item to save invoice!', 'invoicing');
354
+        $localize['errDeleteItem']              = __('This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing');
355
+        $localize['delete_subscription']        = __('Are you sure you want to delete this subscription?', 'invoicing');
356
+        $localize['action_edit']                = __('Edit', 'invoicing');
357
+        $localize['action_cancel']              = __('Cancel', 'invoicing');
358
+
359
+        $localize = apply_filters('wpinv_admin_js_localize', $localize);
360
+
361
+        wp_localize_script('wpinv-admin-script', 'WPInv_Admin', $localize);
362
+
363
+        if ($page == 'wpinv-subscriptions') {
364
+            wp_register_script('wpinv-sub-admin-script', WPINV_PLUGIN_URL . 'assets/js/subscriptions.js', array('wpinv-admin-script'), WPINV_VERSION);
365
+            wp_enqueue_script('wpinv-sub-admin-script');
366 366
         }
367 367
     }
368 368
     
369
-    public function admin_body_class( $classes ) {
369
+    public function admin_body_class($classes) {
370 370
         global $pagenow, $post, $current_screen;
371 371
         
372
-        if ( !empty( $current_screen->post_type ) && ( $current_screen->post_type == 'wpi_invoice' || $current_screen->post_type == 'wpi_quote' ) ) {
372
+        if (!empty($current_screen->post_type) && ($current_screen->post_type == 'wpi_invoice' || $current_screen->post_type == 'wpi_quote')) {
373 373
             $classes .= ' wpinv-cpt';
374 374
         }
375 375
         
376
-        $page = isset( $_GET['page'] ) ? strtolower( $_GET['page'] ) : false;
376
+        $page = isset($_GET['page']) ? strtolower($_GET['page']) : false;
377 377
 
378
-        $add_class = $page && $pagenow == 'admin.php' && strpos( $page, 'wpinv-' ) === 0 ? true : false;
379
-        if ( $add_class ) {
380
-            $classes .= ' wpi-' . wpinv_sanitize_key( $page );
378
+        $add_class = $page && $pagenow == 'admin.php' && strpos($page, 'wpinv-') === 0 ? true : false;
379
+        if ($add_class) {
380
+            $classes .= ' wpi-' . wpinv_sanitize_key($page);
381 381
         }
382 382
         
383 383
         $settings_class = array();
384
-        if ( $page == 'wpinv-settings' ) {
385
-            if ( !empty( $_REQUEST['tab'] ) ) {
386
-                $settings_class[] = sanitize_text_field( $_REQUEST['tab'] );
384
+        if ($page == 'wpinv-settings') {
385
+            if (!empty($_REQUEST['tab'])) {
386
+                $settings_class[] = sanitize_text_field($_REQUEST['tab']);
387 387
             }
388 388
             
389
-            if ( !empty( $_REQUEST['section'] ) ) {
390
-                $settings_class[] = sanitize_text_field( $_REQUEST['section'] );
389
+            if (!empty($_REQUEST['section'])) {
390
+                $settings_class[] = sanitize_text_field($_REQUEST['section']);
391 391
             }
392 392
             
393
-            $settings_class[] = isset( $_REQUEST['wpi_sub'] ) && $_REQUEST['wpi_sub'] !== '' ? sanitize_text_field( $_REQUEST['wpi_sub'] ) : 'main';
393
+            $settings_class[] = isset($_REQUEST['wpi_sub']) && $_REQUEST['wpi_sub'] !== '' ? sanitize_text_field($_REQUEST['wpi_sub']) : 'main';
394 394
         }
395 395
         
396
-        if ( !empty( $settings_class ) ) {
397
-            $classes .= ' wpi-' . wpinv_sanitize_key( implode( $settings_class, '-' ) );
396
+        if (!empty($settings_class)) {
397
+            $classes .= ' wpi-' . wpinv_sanitize_key(implode($settings_class, '-'));
398 398
         }
399 399
         
400 400
         $post_type = wpinv_admin_post_type();
401 401
 
402
-        if ( $post_type == 'wpi_invoice' || $post_type == 'wpi_quote' || $add_class !== false ) {
402
+        if ($post_type == 'wpi_invoice' || $post_type == 'wpi_quote' || $add_class !== false) {
403 403
             return $classes .= ' wpinv';
404 404
         }
405 405
         
406
-        if ( $pagenow == 'post.php' && $post_type == 'wpi_item' && !empty( $post ) && !wpinv_item_is_editable( $post ) ) {
406
+        if ($pagenow == 'post.php' && $post_type == 'wpi_item' && !empty($post) && !wpinv_item_is_editable($post)) {
407 407
             $classes .= ' wpi-editable-n';
408 408
         }
409 409
 
@@ -415,21 +415,21 @@  discard block
 block discarded – undo
415 415
     }
416 416
     
417 417
     public function wpinv_actions() {
418
-        if ( isset( $_REQUEST['wpi_action'] ) ) {
419
-            do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
418
+        if (isset($_REQUEST['wpi_action'])) {
419
+            do_action('wpinv_' . wpinv_sanitize_key($_REQUEST['wpi_action']), $_REQUEST);
420 420
         }
421 421
     }
422 422
     
423
-    public function pre_get_posts( $wp_query ) {
424
-        if ( !empty( $wp_query->query_vars['post_type'] ) && $wp_query->query_vars['post_type'] == 'wpi_invoice' && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) {
425
-            $wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses() );
423
+    public function pre_get_posts($wp_query) {
424
+        if (!empty($wp_query->query_vars['post_type']) && $wp_query->query_vars['post_type'] == 'wpi_invoice' && is_user_logged_in() && is_single() && $wp_query->is_main_query()) {
425
+            $wp_query->query_vars['post_status'] = array_keys(wpinv_get_invoice_statuses());
426 426
         }
427 427
         
428 428
         return $wp_query;
429 429
     }
430 430
     
431 431
     public function bp_invoicing_init() {
432
-        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-bp-core.php' );
432
+        require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-bp-core.php');
433 433
     }
434 434
 
435 435
 	/**
@@ -437,11 +437,11 @@  discard block
 block discarded – undo
437 437
 	 *
438 438
 	 */
439 439
 	public function register_widgets() {
440
-		register_widget( "WPInv_Checkout_Widget" );
441
-		register_widget( "WPInv_History_Widget" );
442
-		register_widget( "WPInv_Receipt_Widget" );
443
-		register_widget( "WPInv_Subscriptions_Widget" );
444
-		register_widget( "WPInv_Buy_Item_Widget" );
445
-		register_widget( "WPInv_Messages_Widget" );
440
+		register_widget("WPInv_Checkout_Widget");
441
+		register_widget("WPInv_History_Widget");
442
+		register_widget("WPInv_Receipt_Widget");
443
+		register_widget("WPInv_Subscriptions_Widget");
444
+		register_widget("WPInv_Buy_Item_Widget");
445
+		register_widget("WPInv_Messages_Widget");
446 446
 	}
447 447
 }
448 448
\ No newline at end of file
Please login to merge, or discard this patch.
includes/wpinv-template-functions.php 1 patch
Spacing   +734 added lines, -734 removed lines patch added patch discarded remove patch
@@ -7,91 +7,91 @@  discard block
 block discarded – undo
7 7
  */
8 8
  
9 9
 // MUST have WordPress.
10
-if ( !defined( 'WPINC' ) ) {
11
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
10
+if (!defined('WPINC')) {
11
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
12 12
 }
13 13
 
14
-if ( !is_admin() ) {
15
-    add_filter( 'template_include', 'wpinv_template', 10, 1 );
16
-    add_action( 'wpinv_invoice_print_body_start', 'wpinv_display_invoice_top_bar' );
17
-    add_action( 'wpinv_invoice_top_bar_left', 'wpinv_invoice_display_left_actions' );
18
-    add_action( 'wpinv_invoice_top_bar_right', 'wpinv_invoice_display_right_actions' );
14
+if (!is_admin()) {
15
+    add_filter('template_include', 'wpinv_template', 10, 1);
16
+    add_action('wpinv_invoice_print_body_start', 'wpinv_display_invoice_top_bar');
17
+    add_action('wpinv_invoice_top_bar_left', 'wpinv_invoice_display_left_actions');
18
+    add_action('wpinv_invoice_top_bar_right', 'wpinv_invoice_display_right_actions');
19 19
 }
20 20
 
21 21
 function wpinv_template_path() {
22
-    return apply_filters( 'wpinv_template_path', wpinv_get_theme_template_dir_name() );
22
+    return apply_filters('wpinv_template_path', wpinv_get_theme_template_dir_name());
23 23
 }
24 24
 
25
-function wpinv_display_invoice_top_bar( $invoice ) {
26
-    if ( empty( $invoice ) ) {
25
+function wpinv_display_invoice_top_bar($invoice) {
26
+    if (empty($invoice)) {
27 27
         return;
28 28
     }
29 29
     ?>
30 30
     <div class="row wpinv-top-bar no-print">
31 31
         <div class="container">
32 32
             <div class="col-xs-6">
33
-                <?php do_action( 'wpinv_invoice_top_bar_left', $invoice );?>
33
+                <?php do_action('wpinv_invoice_top_bar_left', $invoice); ?>
34 34
             </div>
35 35
             <div class="col-xs-6 text-right">
36
-                <?php do_action( 'wpinv_invoice_top_bar_right', $invoice );?>
36
+                <?php do_action('wpinv_invoice_top_bar_right', $invoice); ?>
37 37
             </div>
38 38
         </div>
39 39
     </div>
40 40
     <?php
41 41
 }
42 42
 
43
-function wpinv_invoice_display_left_actions( $invoice ) {
44
-    if ( empty( $invoice ) ) {
43
+function wpinv_invoice_display_left_actions($invoice) {
44
+    if (empty($invoice)) {
45 45
         return; // Exit if invoice is not set.
46 46
     }
47 47
     
48
-    if ( $invoice->post_type == 'wpi_invoice' ) {
49
-        if ( $invoice->needs_payment() ) {
50
-            ?> <a class="btn btn-success btn-sm" title="<?php esc_attr_e( 'Pay This Invoice', 'invoicing' ); ?>" href="<?php echo esc_url( $invoice->get_checkout_payment_url() ); ?>"><?php _e( 'Pay For Invoice', 'invoicing' ); ?></a><?php
48
+    if ($invoice->post_type == 'wpi_invoice') {
49
+        if ($invoice->needs_payment()) {
50
+            ?> <a class="btn btn-success btn-sm" title="<?php esc_attr_e('Pay This Invoice', 'invoicing'); ?>" href="<?php echo esc_url($invoice->get_checkout_payment_url()); ?>"><?php _e('Pay For Invoice', 'invoicing'); ?></a><?php
51 51
         }
52 52
     }
53 53
     do_action('wpinv_invoice_display_left_actions', $invoice);
54 54
 }
55 55
 
56
-function wpinv_invoice_display_right_actions( $invoice ) {
57
-    if ( empty( $invoice ) ) {
56
+function wpinv_invoice_display_right_actions($invoice) {
57
+    if (empty($invoice)) {
58 58
         return; // Exit if invoice is not set.
59 59
     }
60 60
 
61
-    if ( $invoice->post_type == 'wpi_invoice' ) { ?>
62
-        <a class="btn btn-primary btn-sm btn-print-invoice" onclick="window.print();" href="javascript:void(0)"><?php _e( 'Print Invoice', 'invoicing' ); ?></a>
63
-        <?php if ( is_user_logged_in() ) { ?>
64
-        &nbsp;&nbsp;<a class="btn btn-warning btn-sm btn-invoice-history" href="<?php echo esc_url( wpinv_get_history_page_uri() ); ?>"><?php _e( 'Invoice History', 'invoicing' ); ?></a>
61
+    if ($invoice->post_type == 'wpi_invoice') { ?>
62
+        <a class="btn btn-primary btn-sm btn-print-invoice" onclick="window.print();" href="javascript:void(0)"><?php _e('Print Invoice', 'invoicing'); ?></a>
63
+        <?php if (is_user_logged_in()) { ?>
64
+        &nbsp;&nbsp;<a class="btn btn-warning btn-sm btn-invoice-history" href="<?php echo esc_url(wpinv_get_history_page_uri()); ?>"><?php _e('Invoice History', 'invoicing'); ?></a>
65 65
         <?php }
66 66
     }
67 67
     do_action('wpinv_invoice_display_right_actions', $invoice);
68 68
 }
69 69
 
70
-function wpinv_before_invoice_content( $content ) {
70
+function wpinv_before_invoice_content($content) {
71 71
     global $post;
72 72
 
73
-    if ( !empty( $post ) && $post->post_type == 'wpi_invoice' && is_singular( 'wpi_invoice' ) && is_main_query() ) {
73
+    if (!empty($post) && $post->post_type == 'wpi_invoice' && is_singular('wpi_invoice') && is_main_query()) {
74 74
         ob_start();
75
-        do_action( 'wpinv_before_invoice_content', $post->ID );
75
+        do_action('wpinv_before_invoice_content', $post->ID);
76 76
         $content = ob_get_clean() . $content;
77 77
     }
78 78
 
79 79
     return $content;
80 80
 }
81
-add_filter( 'the_content', 'wpinv_before_invoice_content' );
81
+add_filter('the_content', 'wpinv_before_invoice_content');
82 82
 
83
-function wpinv_after_invoice_content( $content ) {
83
+function wpinv_after_invoice_content($content) {
84 84
     global $post;
85 85
 
86
-    if ( !empty( $post ) && $post->post_type == 'wpi_invoice' && is_singular( 'wpi_invoice' ) && is_main_query() ) {
86
+    if (!empty($post) && $post->post_type == 'wpi_invoice' && is_singular('wpi_invoice') && is_main_query()) {
87 87
         ob_start();
88
-        do_action( 'wpinv_after_invoice_content', $post->ID );
88
+        do_action('wpinv_after_invoice_content', $post->ID);
89 89
         $content .= ob_get_clean();
90 90
     }
91 91
 
92 92
     return $content;
93 93
 }
94
-add_filter( 'the_content', 'wpinv_after_invoice_content' );
94
+add_filter('the_content', 'wpinv_after_invoice_content');
95 95
 
96 96
 function wpinv_get_templates_dir() {
97 97
     return WPINV_PLUGIN_DIR . 'templates';
@@ -101,105 +101,105 @@  discard block
 block discarded – undo
101 101
     return WPINV_PLUGIN_URL . 'templates';
102 102
 }
103 103
 
104
-function wpinv_get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
105
-    if ( ! empty( $args ) && is_array( $args ) ) {
106
-		extract( $args );
104
+function wpinv_get_template($template_name, $args = array(), $template_path = '', $default_path = '') {
105
+    if (!empty($args) && is_array($args)) {
106
+		extract($args);
107 107
 	}
108 108
 
109
-	$located = wpinv_locate_template( $template_name, $template_path, $default_path );
109
+	$located = wpinv_locate_template($template_name, $template_path, $default_path);
110 110
 	// Allow 3rd party plugin filter template file from their plugin.
111
-	$located = apply_filters( 'wpinv_get_template', $located, $template_name, $args, $template_path, $default_path );
111
+	$located = apply_filters('wpinv_get_template', $located, $template_name, $args, $template_path, $default_path);
112 112
 
113
-	if ( ! file_exists( $located ) ) {
114
-        _doing_it_wrong( __FUNCTION__, sprintf( '<code>%s</code> does not exist.', $located ), '2.1' );
113
+	if (!file_exists($located)) {
114
+        _doing_it_wrong(__FUNCTION__, sprintf('<code>%s</code> does not exist.', $located), '2.1');
115 115
 		return;
116 116
 	}
117 117
 
118
-	do_action( 'wpinv_before_template_part', $template_name, $template_path, $located, $args );
118
+	do_action('wpinv_before_template_part', $template_name, $template_path, $located, $args);
119 119
 
120
-	include( $located );
120
+	include($located);
121 121
 
122
-	do_action( 'wpinv_after_template_part', $template_name, $template_path, $located, $args );
122
+	do_action('wpinv_after_template_part', $template_name, $template_path, $located, $args);
123 123
 }
124 124
 
125
-function wpinv_get_template_html( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
125
+function wpinv_get_template_html($template_name, $args = array(), $template_path = '', $default_path = '') {
126 126
 	ob_start();
127
-	wpinv_get_template( $template_name, $args, $template_path, $default_path );
127
+	wpinv_get_template($template_name, $args, $template_path, $default_path);
128 128
 	return ob_get_clean();
129 129
 }
130 130
 
131
-function wpinv_locate_template( $template_name, $template_path = '', $default_path = '' ) {
132
-    if ( ! $template_path ) {
131
+function wpinv_locate_template($template_name, $template_path = '', $default_path = '') {
132
+    if (!$template_path) {
133 133
         $template_path = wpinv_template_path();
134 134
     }
135 135
 
136
-    if ( ! $default_path ) {
136
+    if (!$default_path) {
137 137
         $default_path = WPINV_PLUGIN_DIR . 'templates/';
138 138
     }
139 139
 
140 140
     // Look within passed path within the theme - this is priority.
141 141
     $template = locate_template(
142 142
         array(
143
-            trailingslashit( $template_path ) . $template_name,
143
+            trailingslashit($template_path) . $template_name,
144 144
             $template_name
145 145
         )
146 146
     );
147 147
 
148 148
     // Get default templates/
149
-    if ( !$template && $default_path ) {
150
-        $template = trailingslashit( $default_path ) . $template_name;
149
+    if (!$template && $default_path) {
150
+        $template = trailingslashit($default_path) . $template_name;
151 151
     }
152 152
 
153 153
     // Return what we found.
154
-    return apply_filters( 'wpinv_locate_template', $template, $template_name, $template_path );
154
+    return apply_filters('wpinv_locate_template', $template, $template_name, $template_path);
155 155
 }
156 156
 
157
-function wpinv_get_template_part( $slug, $name = null, $load = true ) {
158
-	do_action( 'get_template_part_' . $slug, $slug, $name );
157
+function wpinv_get_template_part($slug, $name = null, $load = true) {
158
+	do_action('get_template_part_' . $slug, $slug, $name);
159 159
 
160 160
 	// Setup possible parts
161 161
 	$templates = array();
162
-	if ( isset( $name ) )
162
+	if (isset($name))
163 163
 		$templates[] = $slug . '-' . $name . '.php';
164 164
 	$templates[] = $slug . '.php';
165 165
 
166 166
 	// Allow template parts to be filtered
167
-	$templates = apply_filters( 'wpinv_get_template_part', $templates, $slug, $name );
167
+	$templates = apply_filters('wpinv_get_template_part', $templates, $slug, $name);
168 168
 
169 169
 	// Return the part that is found
170
-	return wpinv_locate_tmpl( $templates, $load, false );
170
+	return wpinv_locate_tmpl($templates, $load, false);
171 171
 }
172 172
 
173
-function wpinv_locate_tmpl( $template_names, $load = false, $require_once = true ) {
173
+function wpinv_locate_tmpl($template_names, $load = false, $require_once = true) {
174 174
 	// No file found yet
175 175
 	$located = false;
176 176
 
177 177
 	// Try to find a template file
178
-	foreach ( (array)$template_names as $template_name ) {
178
+	foreach ((array)$template_names as $template_name) {
179 179
 
180 180
 		// Continue if template is empty
181
-		if ( empty( $template_name ) )
181
+		if (empty($template_name))
182 182
 			continue;
183 183
 
184 184
 		// Trim off any slashes from the template name
185
-		$template_name = ltrim( $template_name, '/' );
185
+		$template_name = ltrim($template_name, '/');
186 186
 
187 187
 		// try locating this template file by looping through the template paths
188
-		foreach( wpinv_get_theme_template_paths() as $template_path ) {
188
+		foreach (wpinv_get_theme_template_paths() as $template_path) {
189 189
 
190
-			if( file_exists( $template_path . $template_name ) ) {
190
+			if (file_exists($template_path . $template_name)) {
191 191
 				$located = $template_path . $template_name;
192 192
 				break;
193 193
 			}
194 194
 		}
195 195
 
196
-		if( !empty( $located ) ) {
196
+		if (!empty($located)) {
197 197
 			break;
198 198
 		}
199 199
 	}
200 200
 
201
-	if ( ( true == $load ) && ! empty( $located ) )
202
-		load_template( $located, $require_once );
201
+	if ((true == $load) && !empty($located))
202
+		load_template($located, $require_once);
203 203
 
204 204
 	return $located;
205 205
 }
@@ -208,159 +208,159 @@  discard block
 block discarded – undo
208 208
 	$template_dir = wpinv_get_theme_template_dir_name();
209 209
 
210 210
 	$file_paths = array(
211
-		1 => trailingslashit( get_stylesheet_directory() ) . $template_dir,
212
-		10 => trailingslashit( get_template_directory() ) . $template_dir,
211
+		1 => trailingslashit(get_stylesheet_directory()) . $template_dir,
212
+		10 => trailingslashit(get_template_directory()) . $template_dir,
213 213
 		100 => wpinv_get_templates_dir()
214 214
 	);
215 215
 
216
-	$file_paths = apply_filters( 'wpinv_template_paths', $file_paths );
216
+	$file_paths = apply_filters('wpinv_template_paths', $file_paths);
217 217
 
218 218
 	// sort the file paths based on priority
219
-	ksort( $file_paths, SORT_NUMERIC );
219
+	ksort($file_paths, SORT_NUMERIC);
220 220
 
221
-	return array_map( 'trailingslashit', $file_paths );
221
+	return array_map('trailingslashit', $file_paths);
222 222
 }
223 223
 
224 224
 function wpinv_get_theme_template_dir_name() {
225
-	return trailingslashit( apply_filters( 'wpinv_templates_dir', 'invoicing' ) );
225
+	return trailingslashit(apply_filters('wpinv_templates_dir', 'invoicing'));
226 226
 }
227 227
 
228 228
 function wpinv_checkout_meta_tags() {
229 229
 
230 230
 	$pages   = array();
231
-	$pages[] = wpinv_get_option( 'success_page' );
232
-	$pages[] = wpinv_get_option( 'failure_page' );
233
-	$pages[] = wpinv_get_option( 'invoice_history_page' );
234
-	$pages[] = wpinv_get_option( 'invoice_subscription_page' );
231
+	$pages[] = wpinv_get_option('success_page');
232
+	$pages[] = wpinv_get_option('failure_page');
233
+	$pages[] = wpinv_get_option('invoice_history_page');
234
+	$pages[] = wpinv_get_option('invoice_subscription_page');
235 235
 
236
-	if( !wpinv_is_checkout() && !is_page( $pages ) ) {
236
+	if (!wpinv_is_checkout() && !is_page($pages)) {
237 237
 		return;
238 238
 	}
239 239
 
240 240
 	echo '<meta name="robots" content="noindex,nofollow" />' . "\n";
241 241
 }
242
-add_action( 'wp_head', 'wpinv_checkout_meta_tags' );
242
+add_action('wp_head', 'wpinv_checkout_meta_tags');
243 243
 
244
-function wpinv_add_body_classes( $class ) {
244
+function wpinv_add_body_classes($class) {
245 245
 	$classes = (array)$class;
246 246
 
247
-	if( wpinv_is_checkout() ) {
247
+	if (wpinv_is_checkout()) {
248 248
 		$classes[] = 'wpinv-checkout';
249 249
 		$classes[] = 'wpinv-page';
250 250
 	}
251 251
 
252
-	if( wpinv_is_success_page() ) {
252
+	if (wpinv_is_success_page()) {
253 253
 		$classes[] = 'wpinv-success';
254 254
 		$classes[] = 'wpinv-page';
255 255
 	}
256 256
 
257
-	if( wpinv_is_failed_transaction_page() ) {
257
+	if (wpinv_is_failed_transaction_page()) {
258 258
 		$classes[] = 'wpinv-failed-transaction';
259 259
 		$classes[] = 'wpinv-page';
260 260
 	}
261 261
 
262
-	if( wpinv_is_invoice_history_page() ) {
262
+	if (wpinv_is_invoice_history_page()) {
263 263
 		$classes[] = 'wpinv-history';
264 264
 		$classes[] = 'wpinv-page';
265 265
 	}
266 266
 
267
-	if( wpinv_is_subscriptions_history_page() ) {
267
+	if (wpinv_is_subscriptions_history_page()) {
268 268
 		$classes[] = 'wpinv-subscription';
269 269
 		$classes[] = 'wpinv-page';
270 270
 	}
271 271
 
272
-	if( wpinv_is_test_mode() ) {
272
+	if (wpinv_is_test_mode()) {
273 273
 		$classes[] = 'wpinv-test-mode';
274 274
 		$classes[] = 'wpinv-page';
275 275
 	}
276 276
 
277
-	return array_unique( $classes );
277
+	return array_unique($classes);
278 278
 }
279
-add_filter( 'body_class', 'wpinv_add_body_classes' );
279
+add_filter('body_class', 'wpinv_add_body_classes');
280 280
 
281
-function wpinv_html_dropdown( $name = 'wpinv_discounts', $selected = 0, $status = '' ) {
282
-    $args = array( 'nopaging' => true );
281
+function wpinv_html_dropdown($name = 'wpinv_discounts', $selected = 0, $status = '') {
282
+    $args = array('nopaging' => true);
283 283
 
284
-    if ( ! empty( $status ) )
284
+    if (!empty($status))
285 285
         $args['post_status'] = $status;
286 286
 
287
-    $discounts = wpinv_get_discounts( $args );
287
+    $discounts = wpinv_get_discounts($args);
288 288
     $options   = array();
289 289
 
290
-    if ( $discounts ) {
291
-        foreach ( $discounts as $discount ) {
292
-            $options[ absint( $discount->ID ) ] = esc_html( get_the_title( $discount->ID ) );
290
+    if ($discounts) {
291
+        foreach ($discounts as $discount) {
292
+            $options[absint($discount->ID)] = esc_html(get_the_title($discount->ID));
293 293
         }
294 294
     } else {
295
-        $options[0] = __( 'No discounts found', 'invoicing' );
295
+        $options[0] = __('No discounts found', 'invoicing');
296 296
     }
297 297
 
298
-    $output = wpinv_html_select( array(
298
+    $output = wpinv_html_select(array(
299 299
         'name'             => $name,
300 300
         'selected'         => $selected,
301 301
         'options'          => $options,
302 302
         'show_option_all'  => false,
303 303
         'show_option_none' => false,
304
-    ) );
304
+    ));
305 305
 
306 306
     return $output;
307 307
 }
308 308
 
309
-function wpinv_html_year_dropdown( $name = 'year', $selected = 0, $years_before = 5, $years_after = 0 ) {
310
-    $current     = date( 'Y' );
311
-    $start_year  = $current - absint( $years_before );
312
-    $end_year    = $current + absint( $years_after );
313
-    $selected    = empty( $selected ) ? date( 'Y' ) : $selected;
309
+function wpinv_html_year_dropdown($name = 'year', $selected = 0, $years_before = 5, $years_after = 0) {
310
+    $current     = date('Y');
311
+    $start_year  = $current - absint($years_before);
312
+    $end_year    = $current + absint($years_after);
313
+    $selected    = empty($selected) ? date('Y') : $selected;
314 314
     $options     = array();
315 315
 
316
-    while ( $start_year <= $end_year ) {
317
-        $options[ absint( $start_year ) ] = $start_year;
316
+    while ($start_year <= $end_year) {
317
+        $options[absint($start_year)] = $start_year;
318 318
         $start_year++;
319 319
     }
320 320
 
321
-    $output = wpinv_html_select( array(
321
+    $output = wpinv_html_select(array(
322 322
         'name'             => $name,
323 323
         'selected'         => $selected,
324 324
         'options'          => $options,
325 325
         'show_option_all'  => false,
326 326
         'show_option_none' => false
327
-    ) );
327
+    ));
328 328
 
329 329
     return $output;
330 330
 }
331 331
 
332
-function wpinv_html_month_dropdown( $name = 'month', $selected = 0 ) {
332
+function wpinv_html_month_dropdown($name = 'month', $selected = 0) {
333 333
 
334 334
     $options = array(
335
-        '1'  => __( 'January', 'invoicing' ),
336
-        '2'  => __( 'February', 'invoicing' ),
337
-        '3'  => __( 'March', 'invoicing' ),
338
-        '4'  => __( 'April', 'invoicing' ),
339
-        '5'  => __( 'May', 'invoicing' ),
340
-        '6'  => __( 'June', 'invoicing' ),
341
-        '7'  => __( 'July', 'invoicing' ),
342
-        '8'  => __( 'August', 'invoicing' ),
343
-        '9'  => __( 'September', 'invoicing' ),
344
-        '10' => __( 'October', 'invoicing' ),
345
-        '11' => __( 'November', 'invoicing' ),
346
-        '12' => __( 'December', 'invoicing' ),
335
+        '1'  => __('January', 'invoicing'),
336
+        '2'  => __('February', 'invoicing'),
337
+        '3'  => __('March', 'invoicing'),
338
+        '4'  => __('April', 'invoicing'),
339
+        '5'  => __('May', 'invoicing'),
340
+        '6'  => __('June', 'invoicing'),
341
+        '7'  => __('July', 'invoicing'),
342
+        '8'  => __('August', 'invoicing'),
343
+        '9'  => __('September', 'invoicing'),
344
+        '10' => __('October', 'invoicing'),
345
+        '11' => __('November', 'invoicing'),
346
+        '12' => __('December', 'invoicing'),
347 347
     );
348 348
 
349 349
     // If no month is selected, default to the current month
350
-    $selected = empty( $selected ) ? date( 'n' ) : $selected;
350
+    $selected = empty($selected) ? date('n') : $selected;
351 351
 
352
-    $output = wpinv_html_select( array(
352
+    $output = wpinv_html_select(array(
353 353
         'name'             => $name,
354 354
         'selected'         => $selected,
355 355
         'options'          => $options,
356 356
         'show_option_all'  => false,
357 357
         'show_option_none' => false
358
-    ) );
358
+    ));
359 359
 
360 360
     return $output;
361 361
 }
362 362
 
363
-function wpinv_html_select( $args = array() ) {
363
+function wpinv_html_select($args = array()) {
364 364
     $defaults = array(
365 365
         'options'          => array(),
366 366
         'name'             => null,
@@ -369,8 +369,8 @@  discard block
 block discarded – undo
369 369
         'selected'         => 0,
370 370
         'placeholder'      => null,
371 371
         'multiple'         => false,
372
-        'show_option_all'  => _x( 'All', 'all dropdown items', 'invoicing' ),
373
-        'show_option_none' => _x( 'None', 'no dropdown items', 'invoicing' ),
372
+        'show_option_all'  => _x('All', 'all dropdown items', 'invoicing'),
373
+        'show_option_none' => _x('None', 'no dropdown items', 'invoicing'),
374 374
         'data'             => array(),
375 375
         'onchange'         => null,
376 376
         'required'         => false,
@@ -378,74 +378,74 @@  discard block
 block discarded – undo
378 378
         'readonly'         => false,
379 379
     );
380 380
 
381
-    $args = wp_parse_args( $args, $defaults );
381
+    $args = wp_parse_args($args, $defaults);
382 382
 
383 383
     $data_elements = '';
384
-    foreach ( $args['data'] as $key => $value ) {
385
-        $data_elements .= ' data-' . esc_attr( $key ) . '="' . esc_attr( $value ) . '"';
384
+    foreach ($args['data'] as $key => $value) {
385
+        $data_elements .= ' data-' . esc_attr($key) . '="' . esc_attr($value) . '"';
386 386
     }
387 387
 
388
-    if( $args['multiple'] ) {
388
+    if ($args['multiple']) {
389 389
         $multiple = ' MULTIPLE';
390 390
     } else {
391 391
         $multiple = '';
392 392
     }
393 393
 
394
-    if( $args['placeholder'] ) {
394
+    if ($args['placeholder']) {
395 395
         $placeholder = $args['placeholder'];
396 396
     } else {
397 397
         $placeholder = '';
398 398
     }
399 399
     
400 400
     $options = '';
401
-    if( !empty( $args['onchange'] ) ) {
402
-        $options .= ' onchange="' . esc_attr( $args['onchange'] ) . '"';
401
+    if (!empty($args['onchange'])) {
402
+        $options .= ' onchange="' . esc_attr($args['onchange']) . '"';
403 403
     }
404 404
     
405
-    if( !empty( $args['required'] ) ) {
405
+    if (!empty($args['required'])) {
406 406
         $options .= ' required="required"';
407 407
     }
408 408
     
409
-    if( !empty( $args['disabled'] ) ) {
409
+    if (!empty($args['disabled'])) {
410 410
         $options .= ' disabled';
411 411
     }
412 412
     
413
-    if( !empty( $args['readonly'] ) ) {
413
+    if (!empty($args['readonly'])) {
414 414
         $options .= ' readonly';
415 415
     }
416 416
 
417
-    $class  = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
418
-    $output = '<select name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['id'] ) . '" class="wpinv-select ' . $class . '"' . $multiple . ' data-placeholder="' . $placeholder . '" ' . trim( $options ) . $data_elements . '>';
417
+    $class  = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class'])));
418
+    $output = '<select name="' . esc_attr($args['name']) . '" id="' . esc_attr($args['id']) . '" class="wpinv-select ' . $class . '"' . $multiple . ' data-placeholder="' . $placeholder . '" ' . trim($options) . $data_elements . '>';
419 419
 
420
-    if ( $args['show_option_all'] ) {
421
-        if( $args['multiple'] ) {
422
-            $selected = selected( true, in_array( 0, $args['selected'] ), false );
420
+    if ($args['show_option_all']) {
421
+        if ($args['multiple']) {
422
+            $selected = selected(true, in_array(0, $args['selected']), false);
423 423
         } else {
424
-            $selected = selected( $args['selected'], 0, false );
424
+            $selected = selected($args['selected'], 0, false);
425 425
         }
426
-        $output .= '<option value="all"' . $selected . '>' . esc_html( $args['show_option_all'] ) . '</option>';
426
+        $output .= '<option value="all"' . $selected . '>' . esc_html($args['show_option_all']) . '</option>';
427 427
     }
428 428
 
429
-    if ( !empty( $args['options'] ) ) {
429
+    if (!empty($args['options'])) {
430 430
 
431
-        if ( $args['show_option_none'] ) {
432
-            if( $args['multiple'] ) {
433
-                $selected = selected( true, in_array( "", $args['selected'] ), false );
431
+        if ($args['show_option_none']) {
432
+            if ($args['multiple']) {
433
+                $selected = selected(true, in_array("", $args['selected']), false);
434 434
             } else {
435
-                $selected = selected( $args['selected'] === "", true, false );
435
+                $selected = selected($args['selected'] === "", true, false);
436 436
             }
437
-            $output .= '<option value=""' . $selected . '>' . esc_html( $args['show_option_none'] ) . '</option>';
437
+            $output .= '<option value=""' . $selected . '>' . esc_html($args['show_option_none']) . '</option>';
438 438
         }
439 439
 
440
-        foreach( $args['options'] as $key => $option ) {
440
+        foreach ($args['options'] as $key => $option) {
441 441
 
442
-            if( $args['multiple'] && is_array( $args['selected'] ) ) {
443
-                $selected = selected( true, (bool)in_array( $key, $args['selected'] ), false );
442
+            if ($args['multiple'] && is_array($args['selected'])) {
443
+                $selected = selected(true, (bool)in_array($key, $args['selected']), false);
444 444
             } else {
445
-                $selected = selected( $args['selected'], $key, false );
445
+                $selected = selected($args['selected'], $key, false);
446 446
             }
447 447
 
448
-            $output .= '<option value="' . esc_attr( $key ) . '"' . $selected . '>' . esc_html( $option ) . '</option>';
448
+            $output .= '<option value="' . esc_attr($key) . '"' . $selected . '>' . esc_html($option) . '</option>';
449 449
         }
450 450
     }
451 451
 
@@ -454,7 +454,7 @@  discard block
 block discarded – undo
454 454
     return $output;
455 455
 }
456 456
 
457
-function wpinv_item_dropdown( $args = array() ) {
457
+function wpinv_item_dropdown($args = array()) {
458 458
     $defaults = array(
459 459
         'name'              => 'wpi_item',
460 460
         'id'                => 'wpi_item',
@@ -462,14 +462,14 @@  discard block
 block discarded – undo
462 462
         'multiple'          => false,
463 463
         'selected'          => 0,
464 464
         'number'            => 100,
465
-        'placeholder'       => __( 'Choose a item', 'invoicing' ),
466
-        'data'              => array( 'search-type' => 'item' ),
465
+        'placeholder'       => __('Choose a item', 'invoicing'),
466
+        'data'              => array('search-type' => 'item'),
467 467
         'show_option_all'   => false,
468 468
         'show_option_none'  => false,
469 469
         'show_recurring'    => false,
470 470
     );
471 471
 
472
-    $args = wp_parse_args( $args, $defaults );
472
+    $args = wp_parse_args($args, $defaults);
473 473
 
474 474
     $item_args = array(
475 475
         'post_type'      => 'wpi_item',
@@ -478,44 +478,44 @@  discard block
 block discarded – undo
478 478
         'posts_per_page' => $args['number']
479 479
     );
480 480
     
481
-    $item_args  = apply_filters( 'wpinv_item_dropdown_query_args', $item_args, $args, $defaults );
481
+    $item_args  = apply_filters('wpinv_item_dropdown_query_args', $item_args, $args, $defaults);
482 482
 
483
-    $items      = get_posts( $item_args );
483
+    $items      = get_posts($item_args);
484 484
     $options    = array();
485
-    if ( $items ) {
486
-        foreach ( $items as $item ) {
487
-            $title = esc_html( $item->post_title );
485
+    if ($items) {
486
+        foreach ($items as $item) {
487
+            $title = esc_html($item->post_title);
488 488
             
489
-            if ( !empty( $args['show_recurring'] ) ) {
490
-                $title .= wpinv_get_item_suffix( $item->ID, false );
489
+            if (!empty($args['show_recurring'])) {
490
+                $title .= wpinv_get_item_suffix($item->ID, false);
491 491
             }
492 492
             
493
-            $options[ absint( $item->ID ) ] = $title;
493
+            $options[absint($item->ID)] = $title;
494 494
         }
495 495
     }
496 496
 
497 497
     // This ensures that any selected items are included in the drop down
498
-    if( is_array( $args['selected'] ) ) {
499
-        foreach( $args['selected'] as $item ) {
500
-            if( ! in_array( $item, $options ) ) {
501
-                $title = get_the_title( $item );
502
-                if ( !empty( $args['show_recurring'] ) ) {
503
-                    $title .= wpinv_get_item_suffix( $item, false );
498
+    if (is_array($args['selected'])) {
499
+        foreach ($args['selected'] as $item) {
500
+            if (!in_array($item, $options)) {
501
+                $title = get_the_title($item);
502
+                if (!empty($args['show_recurring'])) {
503
+                    $title .= wpinv_get_item_suffix($item, false);
504 504
                 }
505 505
                 $options[$item] = $title;
506 506
             }
507 507
         }
508
-    } elseif ( is_numeric( $args['selected'] ) && $args['selected'] !== 0 ) {
509
-        if ( ! in_array( $args['selected'], $options ) ) {
510
-            $title = get_the_title( $args['selected'] );
511
-            if ( !empty( $args['show_recurring'] ) ) {
512
-                $title .= wpinv_get_item_suffix( $args['selected'], false );
508
+    } elseif (is_numeric($args['selected']) && $args['selected'] !== 0) {
509
+        if (!in_array($args['selected'], $options)) {
510
+            $title = get_the_title($args['selected']);
511
+            if (!empty($args['show_recurring'])) {
512
+                $title .= wpinv_get_item_suffix($args['selected'], false);
513 513
             }
514
-            $options[$args['selected']] = get_the_title( $args['selected'] );
514
+            $options[$args['selected']] = get_the_title($args['selected']);
515 515
         }
516 516
     }
517 517
 
518
-    $output = wpinv_html_select( array(
518
+    $output = wpinv_html_select(array(
519 519
         'name'             => $args['name'],
520 520
         'selected'         => $args['selected'],
521 521
         'id'               => $args['id'],
@@ -526,12 +526,12 @@  discard block
 block discarded – undo
526 526
         'show_option_all'  => $args['show_option_all'],
527 527
         'show_option_none' => $args['show_option_none'],
528 528
         'data'             => $args['data'],
529
-    ) );
529
+    ));
530 530
 
531 531
     return $output;
532 532
 }
533 533
 
534
-function wpinv_html_checkbox( $args = array() ) {
534
+function wpinv_html_checkbox($args = array()) {
535 535
     $defaults = array(
536 536
         'name'     => null,
537 537
         'current'  => null,
@@ -542,38 +542,38 @@  discard block
 block discarded – undo
542 542
         )
543 543
     );
544 544
 
545
-    $args = wp_parse_args( $args, $defaults );
545
+    $args = wp_parse_args($args, $defaults);
546 546
 
547
-    $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
547
+    $class = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class'])));
548 548
     $options = '';
549
-    if ( ! empty( $args['options']['disabled'] ) ) {
549
+    if (!empty($args['options']['disabled'])) {
550 550
         $options .= ' disabled="disabled"';
551
-    } elseif ( ! empty( $args['options']['readonly'] ) ) {
551
+    } elseif (!empty($args['options']['readonly'])) {
552 552
         $options .= ' readonly';
553 553
     }
554 554
 
555
-    $output = '<input type="checkbox"' . $options . ' name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['name'] ) . '" class="' . $class . ' ' . esc_attr( $args['name'] ) . '" ' . checked( 1, $args['current'], false ) . ' />';
555
+    $output = '<input type="checkbox"' . $options . ' name="' . esc_attr($args['name']) . '" id="' . esc_attr($args['name']) . '" class="' . $class . ' ' . esc_attr($args['name']) . '" ' . checked(1, $args['current'], false) . ' />';
556 556
 
557 557
     return $output;
558 558
 }
559 559
 
560
-function wpinv_html_text( $args = array() ) {
560
+function wpinv_html_text($args = array()) {
561 561
     // Backwards compatibility
562
-    if ( func_num_args() > 1 ) {
562
+    if (func_num_args() > 1) {
563 563
         $args = func_get_args();
564 564
 
565 565
         $name  = $args[0];
566
-        $value = isset( $args[1] ) ? $args[1] : '';
567
-        $label = isset( $args[2] ) ? $args[2] : '';
568
-        $desc  = isset( $args[3] ) ? $args[3] : '';
566
+        $value = isset($args[1]) ? $args[1] : '';
567
+        $label = isset($args[2]) ? $args[2] : '';
568
+        $desc  = isset($args[3]) ? $args[3] : '';
569 569
     }
570 570
 
571 571
     $defaults = array(
572 572
         'id'           => '',
573
-        'name'         => isset( $name )  ? $name  : 'text',
574
-        'value'        => isset( $value ) ? $value : null,
575
-        'label'        => isset( $label ) ? $label : null,
576
-        'desc'         => isset( $desc )  ? $desc  : null,
573
+        'name'         => isset($name) ? $name : 'text',
574
+        'value'        => isset($value) ? $value : null,
575
+        'label'        => isset($label) ? $label : null,
576
+        'desc'         => isset($desc) ? $desc : null,
577 577
         'placeholder'  => '',
578 578
         'class'        => 'regular-text',
579 579
         'disabled'     => false,
@@ -583,51 +583,51 @@  discard block
 block discarded – undo
583 583
         'data'         => false
584 584
     );
585 585
 
586
-    $args = wp_parse_args( $args, $defaults );
586
+    $args = wp_parse_args($args, $defaults);
587 587
 
588
-    $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
588
+    $class = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class'])));
589 589
     $options = '';
590
-    if( $args['required'] ) {
590
+    if ($args['required']) {
591 591
         $options .= ' required="required"';
592 592
     }
593
-    if( $args['readonly'] ) {
593
+    if ($args['readonly']) {
594 594
         $options .= ' readonly';
595 595
     }
596
-    if( $args['readonly'] ) {
596
+    if ($args['readonly']) {
597 597
         $options .= ' readonly';
598 598
     }
599 599
 
600 600
     $data = '';
601
-    if ( !empty( $args['data'] ) ) {
602
-        foreach ( $args['data'] as $key => $value ) {
603
-            $data .= 'data-' . wpinv_sanitize_key( $key ) . '="' . esc_attr( $value ) . '" ';
601
+    if (!empty($args['data'])) {
602
+        foreach ($args['data'] as $key => $value) {
603
+            $data .= 'data-' . wpinv_sanitize_key($key) . '="' . esc_attr($value) . '" ';
604 604
         }
605 605
     }
606 606
 
607
-    $output = '<span id="wpinv-' . wpinv_sanitize_key( $args['name'] ) . '-wrap">';
608
-    $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key( $args['id'] ) . '">' . esc_html( $args['label'] ) . '</label>';
609
-    if ( ! empty( $args['desc'] ) ) {
610
-        $output .= '<span class="wpinv-description">' . esc_html( $args['desc'] ) . '</span>';
607
+    $output = '<span id="wpinv-' . wpinv_sanitize_key($args['name']) . '-wrap">';
608
+    $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key($args['id']) . '">' . esc_html($args['label']) . '</label>';
609
+    if (!empty($args['desc'])) {
610
+        $output .= '<span class="wpinv-description">' . esc_html($args['desc']) . '</span>';
611 611
     }
612 612
 
613
-    $output .= '<input type="text" name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['id'] )  . '" autocomplete="' . esc_attr( $args['autocomplete'] )  . '" value="' . esc_attr( $args['value'] ) . '" placeholder="' . esc_attr( $args['placeholder'] ) . '" class="' . $class . '" ' . $data . ' ' . trim( $options ) . '/>';
613
+    $output .= '<input type="text" name="' . esc_attr($args['name']) . '" id="' . esc_attr($args['id']) . '" autocomplete="' . esc_attr($args['autocomplete']) . '" value="' . esc_attr($args['value']) . '" placeholder="' . esc_attr($args['placeholder']) . '" class="' . $class . '" ' . $data . ' ' . trim($options) . '/>';
614 614
 
615 615
     $output .= '</span>';
616 616
 
617 617
     return $output;
618 618
 }
619 619
 
620
-function wpinv_html_date_field( $args = array() ) {
621
-    if( empty( $args['class'] ) ) {
620
+function wpinv_html_date_field($args = array()) {
621
+    if (empty($args['class'])) {
622 622
         $args['class'] = 'wpiDatepicker';
623
-    } elseif( ! strpos( $args['class'], 'wpiDatepicker' ) ) {
623
+    } elseif (!strpos($args['class'], 'wpiDatepicker')) {
624 624
         $args['class'] .= ' wpiDatepicker';
625 625
     }
626 626
 
627
-    return wpinv_html_text( $args );
627
+    return wpinv_html_text($args);
628 628
 }
629 629
 
630
-function wpinv_html_textarea( $args = array() ) {
630
+function wpinv_html_textarea($args = array()) {
631 631
     $defaults = array(
632 632
         'name'        => 'textarea',
633 633
         'value'       => null,
@@ -637,31 +637,31 @@  discard block
 block discarded – undo
637 637
         'disabled'    => false
638 638
     );
639 639
 
640
-    $args = wp_parse_args( $args, $defaults );
640
+    $args = wp_parse_args($args, $defaults);
641 641
 
642
-    $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
642
+    $class = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class'])));
643 643
     $disabled = '';
644
-    if( $args['disabled'] ) {
644
+    if ($args['disabled']) {
645 645
         $disabled = ' disabled="disabled"';
646 646
     }
647 647
 
648
-    $output = '<span id="wpinv-' . wpinv_sanitize_key( $args['name'] ) . '-wrap">';
649
-    $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key( $args['name'] ) . '">' . esc_html( $args['label'] ) . '</label>';
650
-    $output .= '<textarea name="' . esc_attr( $args['name'] ) . '" id="' . wpinv_sanitize_key( $args['name'] ) . '" class="' . $class . '"' . $disabled . '>' . esc_attr( $args['value'] ) . '</textarea>';
648
+    $output = '<span id="wpinv-' . wpinv_sanitize_key($args['name']) . '-wrap">';
649
+    $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key($args['name']) . '">' . esc_html($args['label']) . '</label>';
650
+    $output .= '<textarea name="' . esc_attr($args['name']) . '" id="' . wpinv_sanitize_key($args['name']) . '" class="' . $class . '"' . $disabled . '>' . esc_attr($args['value']) . '</textarea>';
651 651
 
652
-    if ( ! empty( $args['desc'] ) ) {
653
-        $output .= '<span class="wpinv-description">' . esc_html( $args['desc'] ) . '</span>';
652
+    if (!empty($args['desc'])) {
653
+        $output .= '<span class="wpinv-description">' . esc_html($args['desc']) . '</span>';
654 654
     }
655 655
     $output .= '</span>';
656 656
 
657 657
     return $output;
658 658
 }
659 659
 
660
-function wpinv_html_ajax_user_search( $args = array() ) {
660
+function wpinv_html_ajax_user_search($args = array()) {
661 661
     $defaults = array(
662 662
         'name'        => 'user_id',
663 663
         'value'       => null,
664
-        'placeholder' => __( 'Enter username', 'invoicing' ),
664
+        'placeholder' => __('Enter username', 'invoicing'),
665 665
         'label'       => null,
666 666
         'desc'        => null,
667 667
         'class'       => '',
@@ -670,13 +670,13 @@  discard block
 block discarded – undo
670 670
         'data'        => false
671 671
     );
672 672
 
673
-    $args = wp_parse_args( $args, $defaults );
673
+    $args = wp_parse_args($args, $defaults);
674 674
 
675 675
     $args['class'] = 'wpinv-ajax-user-search ' . $args['class'];
676 676
 
677 677
     $output  = '<span class="wpinv_user_search_wrap">';
678
-        $output .= wpinv_html_text( $args );
679
-        $output .= '<span class="wpinv_user_search_results hidden"><a class="wpinv-ajax-user-cancel" title="' . __( 'Cancel', 'invoicing' ) . '" aria-label="' . __( 'Cancel', 'invoicing' ) . '" href="#">x</a><span></span></span>';
678
+        $output .= wpinv_html_text($args);
679
+        $output .= '<span class="wpinv_user_search_results hidden"><a class="wpinv-ajax-user-cancel" title="' . __('Cancel', 'invoicing') . '" aria-label="' . __('Cancel', 'invoicing') . '" href="#">x</a><span></span></span>';
680 680
     $output .= '</span>';
681 681
 
682 682
     return $output;
@@ -685,7 +685,7 @@  discard block
 block discarded – undo
685 685
 function wpinv_ip_geolocation() {
686 686
     global $wpinv_euvat;
687 687
     
688
-    $ip         = !empty( $_GET['ip'] ) ? sanitize_text_field( $_GET['ip'] ) : '';    
688
+    $ip         = !empty($_GET['ip']) ? sanitize_text_field($_GET['ip']) : '';    
689 689
     $content    = '';
690 690
     $iso        = '';
691 691
     $country    = '';
@@ -696,69 +696,69 @@  discard block
 block discarded – undo
696 696
     $credit     = '';
697 697
     $address    = '';
698 698
     
699
-    if ( wpinv_get_option( 'vat_ip_lookup' ) == 'geoip2' && $geoip2_city = $wpinv_euvat->geoip2_city_record( $ip ) ) {
699
+    if (wpinv_get_option('vat_ip_lookup') == 'geoip2' && $geoip2_city = $wpinv_euvat->geoip2_city_record($ip)) {
700 700
         try {
701 701
             $iso        = $geoip2_city->country->isoCode;
702 702
             $country    = $geoip2_city->country->name;
703
-            $region     = !empty( $geoip2_city->subdivisions ) && !empty( $geoip2_city->subdivisions[0]->name ) ? $geoip2_city->subdivisions[0]->name : '';
703
+            $region     = !empty($geoip2_city->subdivisions) && !empty($geoip2_city->subdivisions[0]->name) ? $geoip2_city->subdivisions[0]->name : '';
704 704
             $city       = $geoip2_city->city->name;
705 705
             $longitude  = $geoip2_city->location->longitude;
706 706
             $latitude   = $geoip2_city->location->latitude;
707
-            $credit     = __( 'Geolocated using the information by MaxMind, available from <a href="http://www.maxmind.com" target="_blank">www.maxmind.com</a>', 'invoicing' );
708
-        } catch( Exception $e ) { }
707
+            $credit     = __('Geolocated using the information by MaxMind, available from <a href="http://www.maxmind.com" target="_blank">www.maxmind.com</a>', 'invoicing');
708
+        } catch (Exception $e) { }
709 709
     }
710 710
     
711
-    if ( !( $iso && $longitude && $latitude ) && function_exists( 'simplexml_load_file' ) ) {
711
+    if (!($iso && $longitude && $latitude) && function_exists('simplexml_load_file')) {
712 712
         try {
713
-            $load_xml = simplexml_load_file( 'http://www.geoplugin.net/xml.gp?ip=' . $ip );
713
+            $load_xml = simplexml_load_file('http://www.geoplugin.net/xml.gp?ip=' . $ip);
714 714
             
715
-            if ( !empty( $load_xml ) && isset( $load_xml->geoplugin_countryCode ) && !empty( $load_xml->geoplugin_latitude ) && !empty( $load_xml->geoplugin_longitude ) ) {
715
+            if (!empty($load_xml) && isset($load_xml->geoplugin_countryCode) && !empty($load_xml->geoplugin_latitude) && !empty($load_xml->geoplugin_longitude)) {
716 716
                 $iso        = $load_xml->geoplugin_countryCode;
717 717
                 $country    = $load_xml->geoplugin_countryName;
718
-                $region     = !empty( $load_xml->geoplugin_regionName ) ? $load_xml->geoplugin_regionName : '';
719
-                $city       = !empty( $load_xml->geoplugin_city ) ? $load_xml->geoplugin_city : '';
718
+                $region     = !empty($load_xml->geoplugin_regionName) ? $load_xml->geoplugin_regionName : '';
719
+                $city       = !empty($load_xml->geoplugin_city) ? $load_xml->geoplugin_city : '';
720 720
                 $longitude  = $load_xml->geoplugin_longitude;
721 721
                 $latitude   = $load_xml->geoplugin_latitude;
722 722
                 $credit     = $load_xml->geoplugin_credit;
723
-                $credit     = __( 'Geolocated using the information by geoPlugin, available from <a href="http://www.geoplugin.com" target="_blank">www.geoplugin.com</a>', 'invoicing' ) . '<br>' . $load_xml->geoplugin_credit;
723
+                $credit     = __('Geolocated using the information by geoPlugin, available from <a href="http://www.geoplugin.com" target="_blank">www.geoplugin.com</a>', 'invoicing') . '<br>' . $load_xml->geoplugin_credit;
724 724
             }
725
-        } catch( Exception $e ) { }
725
+        } catch (Exception $e) { }
726 726
     }
727 727
     
728
-    if ( $iso && $longitude && $latitude ) {
729
-        if ( $city ) {
728
+    if ($iso && $longitude && $latitude) {
729
+        if ($city) {
730 730
             $address .= $city . ', ';
731 731
         }
732 732
         
733
-        if ( $region ) {
733
+        if ($region) {
734 734
             $address .= $region . ', ';
735 735
         }
736 736
         
737 737
         $address .= $country . ' (' . $iso . ')';
738
-        $content = '<p>'. sprintf( __( '<b>Address:</b> %s', 'invoicing' ), $address ) . '</p>';
739
-        $content .= '<p>'. $credit . '</p>';
738
+        $content = '<p>' . sprintf(__('<b>Address:</b> %s', 'invoicing'), $address) . '</p>';
739
+        $content .= '<p>' . $credit . '</p>';
740 740
     } else {
741
-        $content = '<p>'. sprintf( __( 'Unable to find geolocation for the IP address: %s', 'invoicing' ), $ip ) . '</p>';
741
+        $content = '<p>' . sprintf(__('Unable to find geolocation for the IP address: %s', 'invoicing'), $ip) . '</p>';
742 742
     }
743 743
     ?>
744 744
 <!DOCTYPE html>
745
-<html><head><title><?php echo sprintf( __( 'IP: %s', 'invoicing' ), $ip );?></title><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.0-rc.1/leaflet.css" /><style>html,body{height:100%;margin:0;padding:0;width:100%}body{text-align:center;background:#fff;color:#222;font-size:small;}body,p{font-family: arial,sans-serif}#map{margin:auto;width:100%;height:calc(100% - 120px);min-height:240px}</style></head>
745
+<html><head><title><?php echo sprintf(__('IP: %s', 'invoicing'), $ip); ?></title><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.0-rc.1/leaflet.css" /><style>html,body{height:100%;margin:0;padding:0;width:100%}body{text-align:center;background:#fff;color:#222;font-size:small;}body,p{font-family: arial,sans-serif}#map{margin:auto;width:100%;height:calc(100% - 120px);min-height:240px}</style></head>
746 746
 <body>
747
-    <?php if ( $latitude && $latitude ) { ?>
747
+    <?php if ($latitude && $latitude) { ?>
748 748
     <div id="map"></div>
749 749
         <script src="//cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.0-rc.1/leaflet.js"></script>
750 750
         <script type="text/javascript">
751 751
         var osmUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
752 752
             osmAttrib = '&copy; <a href="http://openstreetmap.org/copyright">OpenStreetMap</a> contributors',
753 753
             osm = L.tileLayer(osmUrl, {maxZoom: 18, attribution: osmAttrib}),
754
-            latlng = new L.LatLng(<?php echo $latitude;?>, <?php echo $longitude;?>);
754
+            latlng = new L.LatLng(<?php echo $latitude; ?>, <?php echo $longitude; ?>);
755 755
 
756 756
         var map = new L.Map('map', {center: latlng, zoom: 12, layers: [osm]});
757 757
 
758 758
         var marker = new L.Marker(latlng);
759 759
         map.addLayer(marker);
760 760
 
761
-        marker.bindPopup("<p><?php esc_attr_e( $address );?></p>");
761
+        marker.bindPopup("<p><?php esc_attr_e($address); ?></p>");
762 762
     </script>
763 763
     <?php } ?>
764 764
     <div style="height:100px"><?php echo $content; ?></div>
@@ -766,18 +766,18 @@  discard block
 block discarded – undo
766 766
 <?php
767 767
     exit;
768 768
 }
769
-add_action( 'wp_ajax_wpinv_ip_geolocation', 'wpinv_ip_geolocation' );
770
-add_action( 'wp_ajax_nopriv_wpinv_ip_geolocation', 'wpinv_ip_geolocation' );
769
+add_action('wp_ajax_wpinv_ip_geolocation', 'wpinv_ip_geolocation');
770
+add_action('wp_ajax_nopriv_wpinv_ip_geolocation', 'wpinv_ip_geolocation');
771 771
 
772 772
 // Set up the template for the invoice.
773
-function wpinv_template( $template ) {
773
+function wpinv_template($template) {
774 774
     global $post, $wp_query;
775 775
     
776
-    if ( ( is_single() || is_404() ) && !empty( $post->ID ) && (get_post_type( $post->ID ) == 'wpi_invoice' or get_post_type( $post->ID ) == 'wpi_quote')) {
777
-        if ( wpinv_user_can_view_invoice( $post->ID ) ) {
778
-            $template = wpinv_get_template_part( 'wpinv-invoice-print', false, false );
776
+    if ((is_single() || is_404()) && !empty($post->ID) && (get_post_type($post->ID) == 'wpi_invoice' or get_post_type($post->ID) == 'wpi_quote')) {
777
+        if (wpinv_user_can_view_invoice($post->ID)) {
778
+            $template = wpinv_get_template_part('wpinv-invoice-print', false, false);
779 779
         } else {
780
-            $template = wpinv_get_template_part( 'wpinv-invalid-access', false, false );
780
+            $template = wpinv_get_template_part('wpinv-invalid-access', false, false);
781 781
         }
782 782
     }
783 783
 
@@ -786,7 +786,7 @@  discard block
 block discarded – undo
786 786
 
787 787
 function wpinv_get_business_address() {
788 788
     $business_address   = wpinv_store_address();
789
-    $business_address   = !empty( $business_address ) ? wpautop( wp_kses_post( $business_address ) ) : '';
789
+    $business_address   = !empty($business_address) ? wpautop(wp_kses_post($business_address)) : '';
790 790
     
791 791
     /*
792 792
     $default_country    = wpinv_get_default_country();
@@ -810,7 +810,7 @@  discard block
 block discarded – undo
810 810
     
811 811
     $business_address = $business_address ? '<div class="address">' . $business_address . '</div>' : '';
812 812
     
813
-    return apply_filters( 'wpinv_get_business_address', $business_address );
813
+    return apply_filters('wpinv_get_business_address', $business_address);
814 814
 }
815 815
 
816 816
 function wpinv_display_from_address() {
@@ -820,107 +820,107 @@  discard block
 block discarded – undo
820 820
     if (empty($from_name)) {
821 821
         $from_name = wpinv_get_business_name();
822 822
     }
823
-    ?><div class="from col-xs-2"><strong><?php _e( 'From:', 'invoicing' ) ?></strong></div>
823
+    ?><div class="from col-xs-2"><strong><?php _e('From:', 'invoicing') ?></strong></div>
824 824
     <div class="wrapper col-xs-10">
825
-        <div class="name"><?php echo esc_html( $from_name ); ?></div>
826
-        <?php if ( $address = wpinv_get_business_address() ) { ?>
827
-        <div class="address"><?php echo wpautop( wp_kses_post( $address ) );?></div>
825
+        <div class="name"><?php echo esc_html($from_name); ?></div>
826
+        <?php if ($address = wpinv_get_business_address()) { ?>
827
+        <div class="address"><?php echo wpautop(wp_kses_post($address)); ?></div>
828 828
         <?php } ?>
829
-        <?php if ( $email_from = wpinv_mail_get_from_address() ) { ?>
830
-        <div class="email_from"><?php echo wp_sprintf( __( 'Email: %s', 'invoicing' ), $email_from );?></div>
829
+        <?php if ($email_from = wpinv_mail_get_from_address()) { ?>
830
+        <div class="email_from"><?php echo wp_sprintf(__('Email: %s', 'invoicing'), $email_from); ?></div>
831 831
         <?php } ?>
832 832
     </div>
833 833
     <?php
834 834
 }
835 835
 
836
-function wpinv_watermark( $id = 0 ) {
837
-    $output = wpinv_get_watermark( $id );
836
+function wpinv_watermark($id = 0) {
837
+    $output = wpinv_get_watermark($id);
838 838
     
839
-    return apply_filters( 'wpinv_get_watermark', $output, $id );
839
+    return apply_filters('wpinv_get_watermark', $output, $id);
840 840
 }
841 841
 
842
-function wpinv_get_watermark( $id ) {
843
-    if ( !$id > 0 ) {
842
+function wpinv_get_watermark($id) {
843
+    if (!$id > 0) {
844 844
         return NULL;
845 845
     }
846
-    $invoice = wpinv_get_invoice( $id );
846
+    $invoice = wpinv_get_invoice($id);
847 847
     
848
-    if ( !empty( $invoice ) && "wpi_invoice" === $invoice->post_type ) {
849
-        if ( $invoice->is_paid() ) {
850
-            return __( 'Paid', 'invoicing' );
848
+    if (!empty($invoice) && "wpi_invoice" === $invoice->post_type) {
849
+        if ($invoice->is_paid()) {
850
+            return __('Paid', 'invoicing');
851 851
         }
852
-        if ( $invoice->is_refunded() ) {
853
-            return __( 'Refunded', 'invoicing' );
852
+        if ($invoice->is_refunded()) {
853
+            return __('Refunded', 'invoicing');
854 854
         }
855
-        if ( $invoice->has_status( array( 'wpi-cancelled' ) ) ) {
856
-            return __( 'Cancelled', 'invoicing' );
855
+        if ($invoice->has_status(array('wpi-cancelled'))) {
856
+            return __('Cancelled', 'invoicing');
857 857
         }
858 858
     }
859 859
     
860 860
     return NULL;
861 861
 }
862 862
 
863
-function wpinv_display_invoice_details( $invoice ) {
863
+function wpinv_display_invoice_details($invoice) {
864 864
     global $wpinv_euvat;
865 865
     
866 866
     $invoice_id = $invoice->ID;
867 867
     $vat_name   = $wpinv_euvat->get_vat_name();
868 868
     $use_taxes  = wpinv_use_taxes();
869 869
     
870
-    $invoice_status = wpinv_get_invoice_status( $invoice_id );
870
+    $invoice_status = wpinv_get_invoice_status($invoice_id);
871 871
     ?>
872 872
     <table class="table table-bordered table-sm">
873
-        <?php if ( $invoice_number = wpinv_get_invoice_number( $invoice_id ) ) { ?>
873
+        <?php if ($invoice_number = wpinv_get_invoice_number($invoice_id)) { ?>
874 874
             <tr class="wpi-row-number">
875
-                <th><?php echo apply_filters( 'wpinv_invoice_number_label', __( 'Invoice Number', 'invoicing' ), $invoice ); ?></th>
876
-                <td><?php echo esc_html( $invoice_number ); ?></td>
875
+                <th><?php echo apply_filters('wpinv_invoice_number_label', __('Invoice Number', 'invoicing'), $invoice); ?></th>
876
+                <td><?php echo esc_html($invoice_number); ?></td>
877 877
             </tr>
878 878
         <?php } ?>
879 879
         <tr class="wpi-row-status">
880
-            <th><?php echo apply_filters( 'wpinv_invoice_status_label', __( 'Invoice Status', 'invoicing' ), $invoice ); ?></th>
881
-            <td><?php echo wpinv_invoice_status_label( $invoice_status, wpinv_get_invoice_status( $invoice_id, true ) ); ?></td>
880
+            <th><?php echo apply_filters('wpinv_invoice_status_label', __('Invoice Status', 'invoicing'), $invoice); ?></th>
881
+            <td><?php echo wpinv_invoice_status_label($invoice_status, wpinv_get_invoice_status($invoice_id, true)); ?></td>
882 882
         </tr>
883
-        <?php if ( $invoice->is_renewal() ) { ?>
883
+        <?php if ($invoice->is_renewal()) { ?>
884 884
         <tr class="wpi-row-parent">
885
-            <th><?php echo apply_filters( 'wpinv_invoice_parent_invoice_label', __( 'Parent Invoice', 'invoicing' ), $invoice ); ?></th>
886
-            <td><?php echo wpinv_invoice_link( $invoice->parent_invoice ); ?></td>
885
+            <th><?php echo apply_filters('wpinv_invoice_parent_invoice_label', __('Parent Invoice', 'invoicing'), $invoice); ?></th>
886
+            <td><?php echo wpinv_invoice_link($invoice->parent_invoice); ?></td>
887 887
         </tr>
888 888
         <?php } ?>
889
-        <?php if ( ( $gateway_name = wpinv_get_payment_gateway_name( $invoice_id ) ) && ( $invoice->is_paid() || $invoice->is_refunded() ) ) { ?>
889
+        <?php if (($gateway_name = wpinv_get_payment_gateway_name($invoice_id)) && ($invoice->is_paid() || $invoice->is_refunded())) { ?>
890 890
             <tr class="wpi-row-gateway">
891
-                <th><?php echo apply_filters( 'wpinv_invoice_payment_method_label', __( 'Payment Method', 'invoicing' ), $invoice ); ?></th>
891
+                <th><?php echo apply_filters('wpinv_invoice_payment_method_label', __('Payment Method', 'invoicing'), $invoice); ?></th>
892 892
                 <td><?php echo $gateway_name; ?></td>
893 893
             </tr>
894 894
         <?php } ?>
895
-        <?php if ( $invoice_date = wpinv_get_invoice_date( $invoice_id ) ) { ?>
895
+        <?php if ($invoice_date = wpinv_get_invoice_date($invoice_id)) { ?>
896 896
             <tr class="wpi-row-date">
897
-                <th><?php echo apply_filters( 'wpinv_invoice_date_label', __( 'Invoice Date', 'invoicing' ), $invoice ); ?></th>
897
+                <th><?php echo apply_filters('wpinv_invoice_date_label', __('Invoice Date', 'invoicing'), $invoice); ?></th>
898 898
                 <td><?php echo $invoice_date; ?></td>
899 899
             </tr>
900 900
         <?php } ?>
901
-        <?php if ( wpinv_get_option( 'overdue_active' ) && $invoice->needs_payment() && ( $due_date = $invoice->get_due_date( true ) ) ) { ?>
901
+        <?php if (wpinv_get_option('overdue_active') && $invoice->needs_payment() && ($due_date = $invoice->get_due_date(true))) { ?>
902 902
             <tr class="wpi-row-date">
903
-                <th><?php echo apply_filters( 'wpinv_invoice_due_date_label', __( 'Due Date', 'invoicing' ), $invoice ); ?></th>
903
+                <th><?php echo apply_filters('wpinv_invoice_due_date_label', __('Due Date', 'invoicing'), $invoice); ?></th>
904 904
                 <td><?php echo $due_date; ?></td>
905 905
             </tr>
906 906
         <?php } ?>
907
-        <?php do_action( 'wpinv_display_details_after_due_date', $invoice_id ); ?>
908
-        <?php if ( $owner_vat_number = $wpinv_euvat->get_vat_number() ) { ?>
907
+        <?php do_action('wpinv_display_details_after_due_date', $invoice_id); ?>
908
+        <?php if ($owner_vat_number = $wpinv_euvat->get_vat_number()) { ?>
909 909
             <tr class="wpi-row-ovatno">
910
-                <th><?php echo apply_filters( 'wpinv_invoice_owner_vat_number_label', wp_sprintf( __( 'Owner %s Number', 'invoicing' ), $vat_name ), $invoice, $vat_name ); ?></th>
910
+                <th><?php echo apply_filters('wpinv_invoice_owner_vat_number_label', wp_sprintf(__('Owner %s Number', 'invoicing'), $vat_name), $invoice, $vat_name); ?></th>
911 911
                 <td><?php echo $owner_vat_number; ?></td>
912 912
             </tr>
913 913
         <?php } ?>
914
-        <?php do_action( 'wpinv_display_details_after_due_date', $invoice_id ); ?>
915
-        <?php if ( $use_taxes && ( $user_vat_number = wpinv_get_invoice_vat_number( $invoice_id ) ) ) { ?>
914
+        <?php do_action('wpinv_display_details_after_due_date', $invoice_id); ?>
915
+        <?php if ($use_taxes && ($user_vat_number = wpinv_get_invoice_vat_number($invoice_id))) { ?>
916 916
             <tr class="wpi-row-uvatno">
917
-                <th><?php echo apply_filters( 'wpinv_invoice_user_vat_number_label', wp_sprintf( __( 'Invoice %s Number', 'invoicing' ), $vat_name ), $invoice, $vat_name ); ?></th>
917
+                <th><?php echo apply_filters('wpinv_invoice_user_vat_number_label', wp_sprintf(__('Invoice %s Number', 'invoicing'), $vat_name), $invoice, $vat_name); ?></th>
918 918
                 <td><?php echo $user_vat_number; ?></td>
919 919
             </tr>
920 920
         <?php } ?>
921 921
         <tr class="table-active tr-total wpi-row-total">
922
-            <th><strong><?php _e( 'Total Amount', 'invoicing' ) ?></strong></th>
923
-            <td><strong><?php echo wpinv_payment_total( $invoice_id, true ); ?></strong></td>
922
+            <th><strong><?php _e('Total Amount', 'invoicing') ?></strong></th>
923
+            <td><strong><?php echo wpinv_payment_total($invoice_id, true); ?></strong></td>
924 924
         </tr>
925 925
     </table>
926 926
 <?php
@@ -935,81 +935,81 @@  discard block
 block discarded – undo
935 935
  * @param array $billing_details customer's billing details
936 936
  * @return string
937 937
  */
938
-function wpinv_get_invoice_address_markup( $billing_details ) {
938
+function wpinv_get_invoice_address_markup($billing_details) {
939 939
 
940 940
     // Retrieve the address markup...
941 941
     $markup = wpinv_get_full_address_format();
942 942
 
943 943
     // ... and the replacements.
944
-    $replacements = wpinv_get_invoice_address_replacements( $billing_details );
944
+    $replacements = wpinv_get_invoice_address_replacements($billing_details);
945 945
 
946 946
     // Replace all available tags with their values.
947
-	foreach( $replacements as $key => $value ) {
948
-		$markup = str_ireplace( '{{' . $key . '}}', $value, $markup );
947
+	foreach ($replacements as $key => $value) {
948
+		$markup = str_ireplace('{{' . $key . '}}', $value, $markup);
949 949
     }
950 950
     
951 951
 	// Remove unavailable tags.
952
-    $markup = preg_replace( "/\{\{\w+}\}/", '', $markup );
952
+    $markup = preg_replace("/\{\{\w+}\}/", '', $markup);
953 953
 
954 954
     // Finally, clean then return the output.
955
-    return wpautop( wp_kses_post( trim( $markup ) ) );
955
+    return wpautop(wp_kses_post(trim($markup)));
956 956
     
957 957
 }
958 958
 
959
-function wpinv_display_to_address( $invoice_id = 0 ) {
960
-    $invoice = wpinv_get_invoice( $invoice_id );
959
+function wpinv_display_to_address($invoice_id = 0) {
960
+    $invoice = wpinv_get_invoice($invoice_id);
961 961
     
962
-    if ( empty( $invoice ) ) {
962
+    if (empty($invoice)) {
963 963
         return NULL;
964 964
     }
965 965
     
966 966
     $billing_details = $invoice->get_user_info();
967
-    $output = '<div class="to col-xs-2"><strong>' . __( 'To:', 'invoicing' ) . '</strong></div>';
967
+    $output = '<div class="to col-xs-2"><strong>' . __('To:', 'invoicing') . '</strong></div>';
968 968
     $output .= '<div class="wrapper col-xs-10">';
969 969
     
970 970
     ob_start();
971
-    do_action( 'wpinv_display_to_address_top', $invoice );
971
+    do_action('wpinv_display_to_address_top', $invoice);
972 972
     $output .= ob_get_clean();
973 973
     
974
-    $output .= '<div class="name">' . esc_html( trim( $billing_details['first_name'] . ' ' . $billing_details['last_name'] ) ) . '</div>';
975
-    if ( $company = $billing_details['company'] ) {
976
-        $output .= '<div class="company">' . wpautop( wp_kses_post( $company ) ) . '</div>';
974
+    $output .= '<div class="name">' . esc_html(trim($billing_details['first_name'] . ' ' . $billing_details['last_name'])) . '</div>';
975
+    if ($company = $billing_details['company']) {
976
+        $output .= '<div class="company">' . wpautop(wp_kses_post($company)) . '</div>';
977 977
     }
978 978
 
979
-    $address_row = wpinv_get_invoice_address_markup( $billing_details );
979
+    $address_row = wpinv_get_invoice_address_markup($billing_details);
980 980
 
981
-    if ( $address_row ) {
981
+    if ($address_row) {
982 982
         $output .= '<div class="address">' . $address_row . '</div>';
983 983
     }
984 984
 
985
-    if ( $phone = $invoice->get_phone() ) {
986
-        $output .= '<div class="phone">' . wp_sprintf( __( 'Phone: %s', 'invoicing' ), esc_html( $phone ) ) . '</div>';
985
+    if ($phone = $invoice->get_phone()) {
986
+        $output .= '<div class="phone">' . wp_sprintf(__('Phone: %s', 'invoicing'), esc_html($phone)) . '</div>';
987 987
     }
988
-    if ( $email = $invoice->get_email() ) {
989
-        $output .= '<div class="email">' . wp_sprintf( __( 'Email: %s' , 'invoicing'), esc_html( $email ) ) . '</div>';
988
+    if ($email = $invoice->get_email()) {
989
+        $output .= '<div class="email">' . wp_sprintf(__('Email: %s', 'invoicing'), esc_html($email)) . '</div>';
990 990
     }
991 991
 
992 992
     ob_start();
993
-    do_action( 'wpinv_display_to_address_bottom', $invoice );
993
+    do_action('wpinv_display_to_address_bottom', $invoice);
994 994
     $output .= ob_get_clean();
995 995
     
996 996
     $output .= '</div>';
997
-    $output = apply_filters( 'wpinv_display_to_address', $output, $invoice );
997
+    $output = apply_filters('wpinv_display_to_address', $output, $invoice);
998 998
 
999 999
     echo $output;
1000 1000
 }
1001 1001
 
1002
-function wpinv_display_line_items( $invoice_id = 0 ) {
1002
+function wpinv_display_line_items($invoice_id = 0) {
1003 1003
     global $wpinv_euvat, $ajax_cart_details;
1004
-    $invoice            = wpinv_get_invoice( $invoice_id );
1004
+    $invoice            = wpinv_get_invoice($invoice_id);
1005 1005
     $quantities_enabled = wpinv_item_quantities_enabled();
1006 1006
     $use_taxes          = wpinv_use_taxes();
1007
-    if ( !$use_taxes && (float)$invoice->get_tax() > 0 ) {
1007
+    if (!$use_taxes && (float)$invoice->get_tax() > 0) {
1008 1008
         $use_taxes = true;
1009 1009
     }
1010 1010
     $zero_tax           = !(float)$invoice->get_tax() > 0 ? true : false;
1011
-    $tax_label           = $use_taxes && $invoice->has_vat() ? $wpinv_euvat->get_vat_name() : __( 'Tax', 'invoicing' );
1012
-    $tax_title          = !$zero_tax && $use_taxes ? ( wpinv_prices_include_tax() ? wp_sprintf( __( '(%s Incl.)', 'invoicing' ), $tax_label ) : wp_sprintf( __( '(%s Excl.)', 'invoicing' ), $tax_label ) ) : '';
1011
+    $tax_label = $use_taxes && $invoice->has_vat() ? $wpinv_euvat->get_vat_name() : __('Tax', 'invoicing');
1012
+    $tax_title          = !$zero_tax && $use_taxes ? (wpinv_prices_include_tax() ? wp_sprintf(__('(%s Incl.)', 'invoicing'), $tax_label) : wp_sprintf(__('(%s Excl.)', 'invoicing'), $tax_label)) : '';
1013 1013
 
1014 1014
     $cart_details       = $invoice->get_cart_details();
1015 1015
     $ajax_cart_details  = $cart_details;
@@ -1018,67 +1018,67 @@  discard block
 block discarded – undo
1018 1018
     <table class="table table-sm table-bordered table-responsive">
1019 1019
         <thead>
1020 1020
             <tr>
1021
-                <th class="name"><strong><?php _e( "Item Name", "invoicing" );?></strong></th>
1022
-                <th class="rate"><strong><?php _e( "Price", "invoicing" );?></strong></th>
1021
+                <th class="name"><strong><?php _e("Item Name", "invoicing"); ?></strong></th>
1022
+                <th class="rate"><strong><?php _e("Price", "invoicing"); ?></strong></th>
1023 1023
                 <?php if ($quantities_enabled) { ?>
1024
-                    <th class="qty"><strong><?php _e( "Qty", "invoicing" );?></strong></th>
1024
+                    <th class="qty"><strong><?php _e("Qty", "invoicing"); ?></strong></th>
1025 1025
                 <?php } ?>
1026 1026
                 <?php if ($use_taxes && !$zero_tax) { ?>
1027 1027
                     <th class="tax"><strong><?php echo $tax_label . ' <span class="normal small">(%)</span>'; ?></strong></th>
1028 1028
                 <?php } ?>
1029
-                <th class="total"><strong><?php echo __( "Item Total", "invoicing" ) . ' <span class="normal small">' . $tax_title . '<span>';?></strong></th>
1029
+                <th class="total"><strong><?php echo __("Item Total", "invoicing") . ' <span class="normal small">' . $tax_title . '<span>'; ?></strong></th>
1030 1030
             </tr>
1031 1031
         </thead>
1032 1032
         <tbody>
1033 1033
         <?php 
1034
-            if ( !empty( $cart_details ) ) {
1035
-                do_action( 'wpinv_display_line_items_start', $invoice );
1034
+            if (!empty($cart_details)) {
1035
+                do_action('wpinv_display_line_items_start', $invoice);
1036 1036
 
1037 1037
                 $count = 0;
1038 1038
                 $cols  = 3;
1039
-                foreach ( $cart_details as $key => $cart_item ) {
1040
-                    $item_id    = !empty($cart_item['id']) ? absint( $cart_item['id'] ) : '';
1041
-                    $item_price = isset($cart_item["item_price"]) ? wpinv_round_amount( $cart_item["item_price"] ) : 0;
1042
-                    $line_total = isset($cart_item["subtotal"]) ? wpinv_round_amount( $cart_item["subtotal"] ) : 0;
1043
-                    $quantity   = !empty($cart_item['quantity']) && (int)$cart_item['quantity'] > 0 ? absint( $cart_item['quantity'] ) : 1;
1039
+                foreach ($cart_details as $key => $cart_item) {
1040
+                    $item_id    = !empty($cart_item['id']) ? absint($cart_item['id']) : '';
1041
+                    $item_price = isset($cart_item["item_price"]) ? wpinv_round_amount($cart_item["item_price"]) : 0;
1042
+                    $line_total = isset($cart_item["subtotal"]) ? wpinv_round_amount($cart_item["subtotal"]) : 0;
1043
+                    $quantity   = !empty($cart_item['quantity']) && (int)$cart_item['quantity'] > 0 ? absint($cart_item['quantity']) : 1;
1044 1044
 
1045
-                    $item       = $item_id ? new WPInv_Item( $item_id ) : NULL;
1045
+                    $item       = $item_id ? new WPInv_Item($item_id) : NULL;
1046 1046
                     $summary    = '';
1047
-	                $item_name    = '';
1047
+	                $item_name = '';
1048 1048
                     $cols       = 3;
1049
-                    if ( !empty($item) ) {
1049
+                    if (!empty($item)) {
1050 1050
                         $item_name  = $item->get_name();
1051 1051
                         $summary    = $item->get_summary();
1052 1052
                     }
1053
-                    $item_name  = !empty($cart_item['name']) ? $cart_item['name'] : $item_name;
1053
+                    $item_name = !empty($cart_item['name']) ? $cart_item['name'] : $item_name;
1054 1054
 
1055
-                    $summary = apply_filters( 'wpinv_print_invoice_line_item_summary', $summary, $cart_item, $item, $invoice );
1055
+                    $summary = apply_filters('wpinv_print_invoice_line_item_summary', $summary, $cart_item, $item, $invoice);
1056 1056
 
1057 1057
                     $item_tax       = '';
1058 1058
                     $tax_rate       = '';
1059
-                    if ( $use_taxes && $cart_item['tax'] > 0 && $cart_item['subtotal'] > 0 ) {
1060
-                        $item_tax = wpinv_price( wpinv_format_amount( $cart_item['tax'] ), $invoice->get_currency() );
1061
-                        $tax_rate = !empty( $cart_item['vat_rate'] ) ? $cart_item['vat_rate'] : ( $cart_item['tax'] / $cart_item['subtotal'] ) * 100;
1062
-                        $tax_rate = $tax_rate > 0 ? (float)wpinv_round_amount( $tax_rate, 4 ) : '';
1059
+                    if ($use_taxes && $cart_item['tax'] > 0 && $cart_item['subtotal'] > 0) {
1060
+                        $item_tax = wpinv_price(wpinv_format_amount($cart_item['tax']), $invoice->get_currency());
1061
+                        $tax_rate = !empty($cart_item['vat_rate']) ? $cart_item['vat_rate'] : ($cart_item['tax'] / $cart_item['subtotal']) * 100;
1062
+                        $tax_rate = $tax_rate > 0 ? (float)wpinv_round_amount($tax_rate, 4) : '';
1063 1063
                         $tax_rate = $tax_rate != '' ? ' <small class="tax-rate">(' . $tax_rate . '%)</small>' : '';
1064 1064
                     }
1065 1065
 
1066 1066
                     $line_item_tax = $item_tax . $tax_rate;
1067 1067
 
1068
-                    if ( $line_item_tax === '' ) {
1068
+                    if ($line_item_tax === '') {
1069 1069
                         $line_item_tax = 0; // Zero tax
1070 1070
                     }
1071 1071
 
1072
-                    $action = apply_filters( 'wpinv_display_line_item_action', '', $cart_item, $invoice, $cols );
1072
+                    $action = apply_filters('wpinv_display_line_item_action', '', $cart_item, $invoice, $cols);
1073 1073
 
1074
-                    $line_item = '<tr class="row-' . ( ($count % 2 == 0) ? 'even' : 'odd' ) . ' wpinv-item">';
1075
-                        $line_item .= '<td class="name">' . $action. esc_html__( $item_name, 'invoicing' ) . wpinv_get_item_suffix( $item );
1076
-                        if ( $summary !== '' ) {
1077
-                            $line_item .= '<br/><small class="meta">' . wpautop( wp_kses_post( $summary ) ) . '</small>';
1074
+                    $line_item = '<tr class="row-' . (($count % 2 == 0) ? 'even' : 'odd') . ' wpinv-item">';
1075
+                        $line_item .= '<td class="name">' . $action . esc_html__($item_name, 'invoicing') . wpinv_get_item_suffix($item);
1076
+                        if ($summary !== '') {
1077
+                            $line_item .= '<br/><small class="meta">' . wpautop(wp_kses_post($summary)) . '</small>';
1078 1078
                         }
1079 1079
                         $line_item .= '</td>';
1080 1080
 
1081
-                        $line_item .= '<td class="rate">' . esc_html__( wpinv_price( wpinv_format_amount( $item_price ), $invoice->get_currency() ) ) . '</td>';
1081
+                        $line_item .= '<td class="rate">' . esc_html__(wpinv_price(wpinv_format_amount($item_price), $invoice->get_currency())) . '</td>';
1082 1082
                         if ($quantities_enabled) {
1083 1083
                             $cols++;
1084 1084
                             $line_item .= '<td class="qty">' . $quantity . '</td>';
@@ -1087,55 +1087,55 @@  discard block
 block discarded – undo
1087 1087
                             $cols++;
1088 1088
                             $line_item .= '<td class="tax">' . $line_item_tax . '</td>';
1089 1089
                         }
1090
-                        $line_item .= '<td class="total">' . esc_html__( wpinv_price( wpinv_format_amount( $line_total ), $invoice->get_currency() ) ) . '</td>';
1090
+                        $line_item .= '<td class="total">' . esc_html__(wpinv_price(wpinv_format_amount($line_total), $invoice->get_currency())) . '</td>';
1091 1091
                     $line_item .= '</tr>';
1092 1092
 
1093
-                    echo apply_filters( 'wpinv_display_line_item', $line_item, $cart_item, $invoice, $cols );
1093
+                    echo apply_filters('wpinv_display_line_item', $line_item, $cart_item, $invoice, $cols);
1094 1094
 
1095 1095
                     $count++;
1096 1096
                 }
1097 1097
 
1098
-                do_action( 'wpinv_display_before_subtotal', $invoice, $cols );
1098
+                do_action('wpinv_display_before_subtotal', $invoice, $cols);
1099 1099
                 ?>
1100 1100
                 <tr class="row-sub-total row_odd">
1101
-                    <td class="rate" colspan="<?php echo ( $cols - 1 ); ?>"><?php echo apply_filters( 'wpinv_print_cart_subtotal_label', '<strong>' . __( 'Sub Total', 'invoicing' ) . ':</strong>', $invoice ); ?></td>
1102
-                    <td class="total"><strong><?php _e( wpinv_subtotal( $invoice_id, true ) ) ?></strong></td>
1101
+                    <td class="rate" colspan="<?php echo ($cols - 1); ?>"><?php echo apply_filters('wpinv_print_cart_subtotal_label', '<strong>' . __('Sub Total', 'invoicing') . ':</strong>', $invoice); ?></td>
1102
+                    <td class="total"><strong><?php _e(wpinv_subtotal($invoice_id, true)) ?></strong></td>
1103 1103
                 </tr>
1104 1104
                 <?php
1105
-                do_action( 'wpinv_display_after_subtotal', $invoice, $cols );
1105
+                do_action('wpinv_display_after_subtotal', $invoice, $cols);
1106 1106
                 
1107
-                if ( wpinv_discount( $invoice_id, false ) > 0 ) {
1108
-                    do_action( 'wpinv_display_before_discount', $invoice, $cols );
1107
+                if (wpinv_discount($invoice_id, false) > 0) {
1108
+                    do_action('wpinv_display_before_discount', $invoice, $cols);
1109 1109
                     ?>
1110 1110
                         <tr class="row-discount">
1111
-                            <td class="rate" colspan="<?php echo ( $cols - 1 ); ?>"><?php wpinv_get_discount_label( wpinv_discount_code( $invoice_id ) ); ?>:</td>
1112
-                            <td class="total"><?php echo wpinv_discount( $invoice_id, true, true ); ?></td>
1111
+                            <td class="rate" colspan="<?php echo ($cols - 1); ?>"><?php wpinv_get_discount_label(wpinv_discount_code($invoice_id)); ?>:</td>
1112
+                            <td class="total"><?php echo wpinv_discount($invoice_id, true, true); ?></td>
1113 1113
                         </tr>
1114 1114
                     <?php
1115
-                    do_action( 'wpinv_display_after_discount', $invoice, $cols );
1115
+                    do_action('wpinv_display_after_discount', $invoice, $cols);
1116 1116
                 }
1117 1117
 
1118
-                if ( $use_taxes ) {
1119
-                    do_action( 'wpinv_display_before_tax', $invoice, $cols );
1118
+                if ($use_taxes) {
1119
+                    do_action('wpinv_display_before_tax', $invoice, $cols);
1120 1120
                     ?>
1121 1121
                     <tr class="row-tax">
1122
-                        <td class="rate" colspan="<?php echo ( $cols - 1 ); ?>"><?php echo apply_filters( 'wpinv_print_cart_tax_label', '<strong>' . $tax_label . ':</strong>', $invoice ); ?></td>
1123
-                        <td class="total"><?php _e( wpinv_tax( $invoice_id, true ) ) ?></td>
1122
+                        <td class="rate" colspan="<?php echo ($cols - 1); ?>"><?php echo apply_filters('wpinv_print_cart_tax_label', '<strong>' . $tax_label . ':</strong>', $invoice); ?></td>
1123
+                        <td class="total"><?php _e(wpinv_tax($invoice_id, true)) ?></td>
1124 1124
                     </tr>
1125 1125
                     <?php
1126
-                    do_action( 'wpinv_display_after_tax', $invoice, $cols );
1126
+                    do_action('wpinv_display_after_tax', $invoice, $cols);
1127 1127
                 }
1128 1128
 
1129
-                do_action( 'wpinv_display_before_total', $invoice, $cols );
1129
+                do_action('wpinv_display_before_total', $invoice, $cols);
1130 1130
                 ?>
1131 1131
                 <tr class="table-active row-total">
1132
-                    <td class="rate" colspan="<?php echo ( $cols - 1 ); ?>"><?php echo apply_filters( 'wpinv_print_cart_total_label', '<strong>' . __( 'Total', 'invoicing' ) . ':</strong>', $invoice ); ?></td>
1133
-                    <td class="total"><strong><?php _e( wpinv_payment_total( $invoice_id, true ) ) ?></strong></td>
1132
+                    <td class="rate" colspan="<?php echo ($cols - 1); ?>"><?php echo apply_filters('wpinv_print_cart_total_label', '<strong>' . __('Total', 'invoicing') . ':</strong>', $invoice); ?></td>
1133
+                    <td class="total"><strong><?php _e(wpinv_payment_total($invoice_id, true)) ?></strong></td>
1134 1134
                 </tr>
1135 1135
                 <?php
1136
-                do_action( 'wpinv_display_after_total', $invoice, $cols );
1136
+                do_action('wpinv_display_after_total', $invoice, $cols);
1137 1137
 
1138
-                do_action( 'wpinv_display_line_end', $invoice, $cols );
1138
+                do_action('wpinv_display_line_end', $invoice, $cols);
1139 1139
             }
1140 1140
         ?>
1141 1141
         </tbody>
@@ -1144,35 +1144,35 @@  discard block
 block discarded – undo
1144 1144
     echo ob_get_clean();
1145 1145
 }
1146 1146
 
1147
-function wpinv_display_invoice_totals( $invoice_id = 0 ) {
1147
+function wpinv_display_invoice_totals($invoice_id = 0) {
1148 1148
     $use_taxes = wpinv_use_taxes();
1149 1149
 
1150
-    do_action( 'wpinv_before_display_totals_table', $invoice_id ); 
1150
+    do_action('wpinv_before_display_totals_table', $invoice_id); 
1151 1151
     ?>
1152 1152
     <table class="table table-sm table-bordered table-responsive">
1153 1153
         <tbody>
1154
-            <?php do_action( 'wpinv_before_display_totals' ); ?>
1154
+            <?php do_action('wpinv_before_display_totals'); ?>
1155 1155
             <tr class="row-sub-total">
1156
-                <td class="rate"><strong><?php _e( 'Sub Total', 'invoicing' ); ?></strong></td>
1157
-                <td class="total"><strong><?php _e( wpinv_subtotal( $invoice_id, true ) ) ?></strong></td>
1156
+                <td class="rate"><strong><?php _e('Sub Total', 'invoicing'); ?></strong></td>
1157
+                <td class="total"><strong><?php _e(wpinv_subtotal($invoice_id, true)) ?></strong></td>
1158 1158
             </tr>
1159
-            <?php do_action( 'wpinv_after_display_totals' ); ?>
1160
-            <?php if ( wpinv_discount( $invoice_id, false ) > 0 ) { ?>
1159
+            <?php do_action('wpinv_after_display_totals'); ?>
1160
+            <?php if (wpinv_discount($invoice_id, false) > 0) { ?>
1161 1161
                 <tr class="row-discount">
1162
-                    <td class="rate"><?php wpinv_get_discount_label( wpinv_discount_code( $invoice_id ) ); ?></td>
1163
-                    <td class="total"><?php echo wpinv_discount( $invoice_id, true, true ); ?></td>
1162
+                    <td class="rate"><?php wpinv_get_discount_label(wpinv_discount_code($invoice_id)); ?></td>
1163
+                    <td class="total"><?php echo wpinv_discount($invoice_id, true, true); ?></td>
1164 1164
                 </tr>
1165
-            <?php do_action( 'wpinv_after_display_discount' ); ?>
1165
+            <?php do_action('wpinv_after_display_discount'); ?>
1166 1166
             <?php } ?>
1167
-            <?php if ( $use_taxes ) { ?>
1167
+            <?php if ($use_taxes) { ?>
1168 1168
             <tr class="row-tax">
1169
-                <td class="rate"><?php _e( 'Tax', 'invoicing' ); ?></td>
1170
-                <td class="total"><?php _e( wpinv_tax( $invoice_id, true ) ) ?></td>
1169
+                <td class="rate"><?php _e('Tax', 'invoicing'); ?></td>
1170
+                <td class="total"><?php _e(wpinv_tax($invoice_id, true)) ?></td>
1171 1171
             </tr>
1172
-            <?php do_action( 'wpinv_after_display_tax' ); ?>
1172
+            <?php do_action('wpinv_after_display_tax'); ?>
1173 1173
             <?php } ?>
1174
-            <?php if ( $fees = wpinv_get_fees( $invoice_id ) ) { ?>
1175
-                <?php foreach ( $fees as $fee ) { ?>
1174
+            <?php if ($fees = wpinv_get_fees($invoice_id)) { ?>
1175
+                <?php foreach ($fees as $fee) { ?>
1176 1176
                     <tr class="row-fee">
1177 1177
                         <td class="rate"><?php echo $fee['label']; ?></td>
1178 1178
                         <td class="total"><?php echo $fee['amount_display']; ?></td>
@@ -1180,82 +1180,82 @@  discard block
 block discarded – undo
1180 1180
                 <?php } ?>
1181 1181
             <?php } ?>
1182 1182
             <tr class="table-active row-total">
1183
-                <td class="rate"><strong><?php _e( 'Total', 'invoicing' ) ?></strong></td>
1184
-                <td class="total"><strong><?php _e( wpinv_payment_total( $invoice_id, true ) ) ?></strong></td>
1183
+                <td class="rate"><strong><?php _e('Total', 'invoicing') ?></strong></td>
1184
+                <td class="total"><strong><?php _e(wpinv_payment_total($invoice_id, true)) ?></strong></td>
1185 1185
             </tr>
1186
-            <?php do_action( 'wpinv_after_totals' ); ?>
1186
+            <?php do_action('wpinv_after_totals'); ?>
1187 1187
         </tbody>
1188 1188
 
1189 1189
     </table>
1190 1190
 
1191
-    <?php do_action( 'wpinv_after_totals_table' );
1191
+    <?php do_action('wpinv_after_totals_table');
1192 1192
 }
1193 1193
 
1194
-function wpinv_display_payments_info( $invoice_id = 0, $echo = true ) {
1195
-    $invoice = wpinv_get_invoice( $invoice_id );
1194
+function wpinv_display_payments_info($invoice_id = 0, $echo = true) {
1195
+    $invoice = wpinv_get_invoice($invoice_id);
1196 1196
 
1197 1197
     ob_start();
1198
-    do_action( 'wpinv_before_display_payments_info', $invoice_id );
1199
-    if ( ( $gateway_title = $invoice->get_gateway_title() ) || $invoice->is_paid() || $invoice->is_refunded() ) {
1198
+    do_action('wpinv_before_display_payments_info', $invoice_id);
1199
+    if (($gateway_title = $invoice->get_gateway_title()) || $invoice->is_paid() || $invoice->is_refunded()) {
1200 1200
         ?>
1201 1201
         <div class="wpi-payment-info">
1202
-            <p class="wpi-payment-gateway"><?php echo wp_sprintf( __( 'Payment via %s', 'invoicing' ), $gateway_title ? $gateway_title : __( 'Manually', 'invoicing' ) ); ?></p>
1203
-            <?php if ( $gateway_title ) { ?>
1204
-            <p class="wpi-payment-transid"><?php echo wp_sprintf( __( 'Transaction ID: %s', 'invoicing' ), $invoice->get_transaction_id() ); ?></p>
1202
+            <p class="wpi-payment-gateway"><?php echo wp_sprintf(__('Payment via %s', 'invoicing'), $gateway_title ? $gateway_title : __('Manually', 'invoicing')); ?></p>
1203
+            <?php if ($gateway_title) { ?>
1204
+            <p class="wpi-payment-transid"><?php echo wp_sprintf(__('Transaction ID: %s', 'invoicing'), $invoice->get_transaction_id()); ?></p>
1205 1205
             <?php } ?>
1206 1206
         </div>
1207 1207
         <?php
1208 1208
     }
1209
-    do_action( 'wpinv_after_display_payments_info', $invoice_id );
1209
+    do_action('wpinv_after_display_payments_info', $invoice_id);
1210 1210
     $outout = ob_get_clean();
1211 1211
 
1212
-    if ( $echo ) {
1212
+    if ($echo) {
1213 1213
         echo $outout;
1214 1214
     } else {
1215 1215
         return $outout;
1216 1216
     }
1217 1217
 }
1218 1218
 
1219
-function wpinv_display_style( $invoice ) {
1220
-    wp_register_style( 'wpinv-single-style', WPINV_PLUGIN_URL . 'assets/css/invoice.css', array(), WPINV_VERSION );
1219
+function wpinv_display_style($invoice) {
1220
+    wp_register_style('wpinv-single-style', WPINV_PLUGIN_URL . 'assets/css/invoice.css', array(), WPINV_VERSION);
1221 1221
 
1222
-    wp_print_styles( 'open-sans' );
1223
-    wp_print_styles( 'wpinv-single-style' );
1222
+    wp_print_styles('open-sans');
1223
+    wp_print_styles('wpinv-single-style');
1224 1224
 
1225 1225
     $custom_css = wpinv_get_option('template_custom_css');
1226
-    if(isset($custom_css) && !empty($custom_css)){
1227
-        $custom_css     = wp_kses( $custom_css, array( '\'', '\"' ) );
1228
-        $custom_css     = str_replace( '&gt;', '>', $custom_css );
1226
+    if (isset($custom_css) && !empty($custom_css)) {
1227
+        $custom_css     = wp_kses($custom_css, array('\'', '\"'));
1228
+        $custom_css     = str_replace('&gt;', '>', $custom_css);
1229 1229
         echo '<style type="text/css">';
1230 1230
         echo $custom_css;
1231 1231
         echo '</style>';
1232 1232
     }
1233 1233
 }
1234
-add_action( 'wpinv_invoice_print_head', 'wpinv_display_style' );
1235
-add_action( 'wpinv_invalid_invoice_head', 'wpinv_display_style' );
1234
+add_action('wpinv_invoice_print_head', 'wpinv_display_style');
1235
+add_action('wpinv_invalid_invoice_head', 'wpinv_display_style');
1236 1236
 
1237 1237
 function wpinv_checkout_billing_details() {
1238 1238
     $invoice_id = (int)wpinv_get_invoice_cart_id();
1239 1239
     if (empty($invoice_id)) {
1240
-        wpinv_error_log( 'Invoice id not found', 'ERROR', __FILE__, __LINE__ );
1240
+        wpinv_error_log('Invoice id not found', 'ERROR', __FILE__, __LINE__);
1241 1241
         return null;
1242 1242
     }
1243 1243
 
1244
-    $invoice = wpinv_get_invoice_cart( $invoice_id );
1244
+    $invoice = wpinv_get_invoice_cart($invoice_id);
1245 1245
     if (empty($invoice)) {
1246
-        wpinv_error_log( 'Invoice not found', 'ERROR', __FILE__, __LINE__ );
1246
+        wpinv_error_log('Invoice not found', 'ERROR', __FILE__, __LINE__);
1247 1247
         return null;
1248 1248
     }
1249 1249
     $user_id        = $invoice->get_user_id();
1250 1250
     $user_info      = $invoice->get_user_info();
1251
-    $address_info   = wpinv_get_user_address( $user_id );
1251
+    $address_info   = wpinv_get_user_address($user_id);
1252 1252
 
1253
-    if ( empty( $user_info['first_name'] ) && !empty( $user_info['first_name'] ) ) {
1253
+    if (empty($user_info['first_name']) && !empty($user_info['first_name'])) {
1254 1254
         $user_info['first_name'] = $user_info['first_name'];
1255 1255
         $user_info['last_name'] = $user_info['last_name'];
1256 1256
     }
1257 1257
 
1258
-    if ( ( ( empty( $user_info['country'] ) && !empty( $address_info['country'] ) ) || ( empty( $user_info['state'] ) && !empty( $address_info['state'] ) && $user_info['country'] == $address_info['country'] ) ) ) {
1258
+    if (((empty($user_info['country']) && !empty($address_info['country'])) || (empty($user_info['state']) && !empty($address_info['state']) && $user_info['country'] == $address_info['country']))) {
1259 1259
         $user_info['country']   = $address_info['country'];
1260 1260
         $user_info['state']     = $address_info['state'];
1261 1261
         $user_info['city']      = $address_info['city'];
@@ -1271,98 +1271,98 @@  discard block
 block discarded – undo
1271 1271
         'address'
1272 1272
     );
1273 1273
 
1274
-    foreach ( $address_fields as $field ) {
1275
-        if ( empty( $user_info[$field] ) ) {
1274
+    foreach ($address_fields as $field) {
1275
+        if (empty($user_info[$field])) {
1276 1276
             $user_info[$field] = $address_info[$field];
1277 1277
         }
1278 1278
     }
1279 1279
 
1280
-    return apply_filters( 'wpinv_checkout_billing_details', $user_info, $invoice );
1280
+    return apply_filters('wpinv_checkout_billing_details', $user_info, $invoice);
1281 1281
 }
1282 1282
 
1283 1283
 function wpinv_admin_get_line_items($invoice = array()) {
1284 1284
     $item_quantities    = wpinv_item_quantities_enabled();
1285 1285
     $use_taxes          = wpinv_use_taxes();
1286 1286
 
1287
-    if ( empty( $invoice ) ) {
1287
+    if (empty($invoice)) {
1288 1288
         return NULL;
1289 1289
     }
1290 1290
 
1291 1291
     $cart_items = $invoice->get_cart_details();
1292
-    if ( empty( $cart_items ) ) {
1292
+    if (empty($cart_items)) {
1293 1293
         return NULL;
1294 1294
     }
1295 1295
     ob_start();
1296 1296
 
1297
-    do_action( 'wpinv_admin_before_line_items', $cart_items, $invoice );
1297
+    do_action('wpinv_admin_before_line_items', $cart_items, $invoice);
1298 1298
 
1299 1299
     $count = 0;
1300
-    foreach ( $cart_items as $key => $cart_item ) {
1300
+    foreach ($cart_items as $key => $cart_item) {
1301 1301
         $item_id    = $cart_item['id'];
1302
-        $wpi_item   = $item_id > 0 ? new WPInv_Item( $item_id ) : NULL;
1302
+        $wpi_item   = $item_id > 0 ? new WPInv_Item($item_id) : NULL;
1303 1303
 
1304 1304
         if (empty($wpi_item)) {
1305 1305
             continue;
1306 1306
         }
1307 1307
 
1308
-        $item_price     = wpinv_price( wpinv_format_amount( $cart_item['item_price'] ), $invoice->get_currency() );
1309
-        $quantity       = !empty( $cart_item['quantity'] ) && $cart_item['quantity'] > 0 ? $cart_item['quantity'] : 1;
1310
-        $item_subtotal  = wpinv_price( wpinv_format_amount( $cart_item['subtotal'] ), $invoice->get_currency() );
1308
+        $item_price     = wpinv_price(wpinv_format_amount($cart_item['item_price']), $invoice->get_currency());
1309
+        $quantity       = !empty($cart_item['quantity']) && $cart_item['quantity'] > 0 ? $cart_item['quantity'] : 1;
1310
+        $item_subtotal  = wpinv_price(wpinv_format_amount($cart_item['subtotal']), $invoice->get_currency());
1311 1311
         $can_remove     = true;
1312 1312
 
1313
-        $summary = apply_filters( 'wpinv_admin_invoice_line_item_summary', '', $cart_item, $wpi_item, $invoice );
1313
+        $summary = apply_filters('wpinv_admin_invoice_line_item_summary', '', $cart_item, $wpi_item, $invoice);
1314 1314
 
1315 1315
         $item_tax       = '';
1316 1316
         $tax_rate       = '';
1317
-        if ( $cart_item['tax'] > 0 && $cart_item['subtotal'] > 0 ) {
1318
-            $item_tax = wpinv_price( wpinv_format_amount( $cart_item['tax'] ), $invoice->get_currency() );
1319
-            $tax_rate = !empty( $cart_item['vat_rate'] ) ? $cart_item['vat_rate'] : ( $cart_item['tax'] / $cart_item['subtotal'] ) * 100;
1320
-            $tax_rate = $tax_rate > 0 ? (float)wpinv_round_amount( $tax_rate, 4 ) : '';
1317
+        if ($cart_item['tax'] > 0 && $cart_item['subtotal'] > 0) {
1318
+            $item_tax = wpinv_price(wpinv_format_amount($cart_item['tax']), $invoice->get_currency());
1319
+            $tax_rate = !empty($cart_item['vat_rate']) ? $cart_item['vat_rate'] : ($cart_item['tax'] / $cart_item['subtotal']) * 100;
1320
+            $tax_rate = $tax_rate > 0 ? (float)wpinv_round_amount($tax_rate, 4) : '';
1321 1321
             $tax_rate = $tax_rate != '' ? ' <span class="tax-rate">(' . $tax_rate . '%)</span>' : '';
1322 1322
         }
1323 1323
         $line_item_tax = $item_tax . $tax_rate;
1324 1324
 
1325
-        if ( $line_item_tax === '' ) {
1325
+        if ($line_item_tax === '') {
1326 1326
             $line_item_tax = 0; // Zero tax
1327 1327
         }
1328 1328
 
1329
-        $line_item = '<tr class="item item-' . ( ($count % 2 == 0) ? 'even' : 'odd' ) . '" data-item-id="' . $item_id . '">';
1329
+        $line_item = '<tr class="item item-' . (($count % 2 == 0) ? 'even' : 'odd') . '" data-item-id="' . $item_id . '">';
1330 1330
             $line_item .= '<td class="id">' . $item_id . '</td>';
1331
-            $line_item .= '<td class="title"><a href="' . get_edit_post_link( $item_id ) . '" target="_blank">' . $cart_item['name'] . '</a>' . wpinv_get_item_suffix( $wpi_item );
1332
-            if ( $summary !== '' ) {
1333
-                $line_item .= '<span class="meta">' . wpautop( wp_kses_post( $summary ) ) . '</span>';
1331
+            $line_item .= '<td class="title"><a href="' . get_edit_post_link($item_id) . '" target="_blank">' . $cart_item['name'] . '</a>' . wpinv_get_item_suffix($wpi_item);
1332
+            if ($summary !== '') {
1333
+                $line_item .= '<span class="meta">' . wpautop(wp_kses_post($summary)) . '</span>';
1334 1334
             }
1335 1335
             $line_item .= '</td>';
1336 1336
             $line_item .= '<td class="price">' . $item_price . '</td>';
1337 1337
             
1338
-            if ( $item_quantities ) {
1339
-                if ( count( $cart_items ) == 1 && $quantity <= 1 ) {
1338
+            if ($item_quantities) {
1339
+                if (count($cart_items) == 1 && $quantity <= 1) {
1340 1340
                     $can_remove = false;
1341 1341
                 }
1342 1342
                 $line_item .= '<td class="qty" data-quantity="' . $quantity . '">&nbsp;&times;&nbsp;' . $quantity . '</td>';
1343 1343
             } else {
1344
-                if ( count( $cart_items ) == 1 ) {
1344
+                if (count($cart_items) == 1) {
1345 1345
                     $can_remove = false;
1346 1346
                 }
1347 1347
             }
1348 1348
             $line_item .= '<td class="total">' . $item_subtotal . '</td>';
1349 1349
             
1350
-            if ( $use_taxes ) {
1350
+            if ($use_taxes) {
1351 1351
                 $line_item .= '<td class="tax">' . $line_item_tax . '</td>';
1352 1352
             }
1353 1353
             $line_item .= '<td class="action">';
1354
-            if ( !$invoice->is_paid() && !$invoice->is_refunded() && $can_remove ) {
1354
+            if (!$invoice->is_paid() && !$invoice->is_refunded() && $can_remove) {
1355 1355
                 $line_item .= '<i class="fa fa-remove wpinv-item-remove"></i>';
1356 1356
             }
1357 1357
             $line_item .= '</td>';
1358 1358
         $line_item .= '</tr>';
1359 1359
 
1360
-        echo apply_filters( 'wpinv_admin_line_item', $line_item, $cart_item, $invoice );
1360
+        echo apply_filters('wpinv_admin_line_item', $line_item, $cart_item, $invoice);
1361 1361
 
1362 1362
         $count++;
1363 1363
     } 
1364 1364
 
1365
-    do_action( 'wpinv_admin_after_line_items', $cart_items, $invoice );
1365
+    do_action('wpinv_admin_after_line_items', $cart_items, $invoice);
1366 1366
 
1367 1367
     return ob_get_clean();
1368 1368
 }
@@ -1374,32 +1374,32 @@  discard block
 block discarded – undo
1374 1374
     $wpi_checkout_id = wpinv_get_invoice_cart_id();
1375 1375
 
1376 1376
     //Maybe update the prices
1377
-    if(! empty( $_GET['wpi_dynamic_item'] ) && ! empty( $_GET['wpi_dynamic_price'] ) ) {
1377
+    if (!empty($_GET['wpi_dynamic_item']) && !empty($_GET['wpi_dynamic_price'])) {
1378 1378
 
1379 1379
         //If the invoice exists, update it with new pricing details
1380
-        if (! empty( $wpi_checkout_id ) ) {
1380
+        if (!empty($wpi_checkout_id)) {
1381 1381
 
1382 1382
             $_invoice       = wpinv_get_invoice_cart();
1383 1383
             $_cart_details  = $_invoice->get_cart_details();
1384
-            $_dynamic_item  = sanitize_text_field( $_GET['wpi_dynamic_item'] );
1384
+            $_dynamic_item  = sanitize_text_field($_GET['wpi_dynamic_item']);
1385 1385
 
1386 1386
             //First, fetch the item
1387
-            $item    = new WPInv_Item( $_dynamic_item );
1387
+            $item = new WPInv_Item($_dynamic_item);
1388 1388
     
1389 1389
             //Next, ensure it supports dynamic pricing...
1390
-            if( $item->supports_dynamic_pricing() && $item->get_is_dynamic_pricing() ) {
1390
+            if ($item->supports_dynamic_pricing() && $item->get_is_dynamic_pricing()) {
1391 1391
                 
1392 1392
                 //... and that the new price is not lower than the minimum price
1393
-                $_dynamic_price = (float) wpinv_sanitize_amount( sanitize_text_field( $_GET['wpi_dynamic_price'] ) );
1394
-                if( $_dynamic_price < $item->get_minimum_price() ) {
1393
+                $_dynamic_price = (float)wpinv_sanitize_amount(sanitize_text_field($_GET['wpi_dynamic_price']));
1394
+                if ($_dynamic_price < $item->get_minimum_price()) {
1395 1395
                     $_dynamic_price = $item->get_minimum_price();
1396 1396
                 }
1397 1397
 
1398 1398
                 //Finally, update our invoice with the new price
1399
-                if ( !empty( $_cart_details ) ) {
1399
+                if (!empty($_cart_details)) {
1400 1400
 
1401
-                    foreach ( $_cart_details as $key => $item ) {
1402
-                        if ( !empty( $item['id'] ) && $_dynamic_item == $item['id'] ) {
1401
+                    foreach ($_cart_details as $key => $item) {
1402
+                        if (!empty($item['id']) && $_dynamic_item == $item['id']) {
1403 1403
                             $_cart_details[$key]['custom_price'] = $_dynamic_price;
1404 1404
                             $_cart_details[$key]['item_price']   = $_dynamic_price;
1405 1405
                         }
@@ -1407,8 +1407,8 @@  discard block
 block discarded – undo
1407 1407
 
1408 1408
                     $_meta = $_invoice->get_meta();
1409 1409
                     $_meta['cart_details'] = $_cart_details;
1410
-                    $_invoice->set( 'payment_meta', $_meta );
1411
-                    $_invoice->set( 'cart_details', $_cart_details );
1410
+                    $_invoice->set('payment_meta', $_meta);
1411
+                    $_invoice->set('cart_details', $_cart_details);
1412 1412
                     $_invoice->recalculate_totals();
1413 1413
 
1414 1414
                 }
@@ -1419,60 +1419,60 @@  discard block
 block discarded – undo
1419 1419
 
1420 1420
     }
1421 1421
 
1422
-    $form_action  = esc_url( wpinv_get_checkout_uri() );
1422
+    $form_action = esc_url(wpinv_get_checkout_uri());
1423 1423
 
1424 1424
     ob_start();
1425
-	    do_action( 'wpinv_checkout_content_before' );
1425
+	    do_action('wpinv_checkout_content_before');
1426 1426
         echo '<div id="wpinv_checkout_wrap">';
1427 1427
 
1428
-        if ( wpinv_get_cart_contents() || wpinv_cart_has_fees() ) {
1428
+        if (wpinv_get_cart_contents() || wpinv_cart_has_fees()) {
1429 1429
             ?>
1430 1430
             <div id="wpinv_checkout_form_wrap" class="wpinv_clearfix table-responsive">
1431
-                <?php do_action( 'wpinv_before_checkout_form' ); ?>
1431
+                <?php do_action('wpinv_before_checkout_form'); ?>
1432 1432
                 <form id="wpinv_checkout_form" class="wpi-form" action="<?php echo $form_action; ?>" method="POST">
1433 1433
                     <?php
1434
-                    do_action( 'wpinv_checkout_form_top' );
1435
-                    do_action( 'wpinv_checkout_billing_info' );
1436
-                    do_action( 'wpinv_checkout_cart' );
1437
-                    do_action( 'wpinv_payment_mode_select'  );
1438
-                    do_action( 'wpinv_checkout_form_bottom' )
1434
+                    do_action('wpinv_checkout_form_top');
1435
+                    do_action('wpinv_checkout_billing_info');
1436
+                    do_action('wpinv_checkout_cart');
1437
+                    do_action('wpinv_payment_mode_select');
1438
+                    do_action('wpinv_checkout_form_bottom')
1439 1439
                     ?>
1440 1440
                 </form>
1441
-                <?php do_action( 'wpinv_after_purchase_form' ); ?>
1441
+                <?php do_action('wpinv_after_purchase_form'); ?>
1442 1442
             </div><!--end #wpinv_checkout_form_wrap-->
1443 1443
         <?php
1444 1444
         } else {
1445
-            do_action( 'wpinv_cart_empty' );
1445
+            do_action('wpinv_cart_empty');
1446 1446
         }
1447 1447
         echo '</div><!--end #wpinv_checkout_wrap-->';
1448
-	    do_action( 'wpinv_checkout_content_after' );
1448
+	    do_action('wpinv_checkout_content_after');
1449 1449
     return ob_get_clean();
1450 1450
 }
1451 1451
 
1452
-function wpinv_checkout_cart( $cart_details = array(), $echo = true ) {
1452
+function wpinv_checkout_cart($cart_details = array(), $echo = true) {
1453 1453
     global $ajax_cart_details;
1454 1454
     $ajax_cart_details = $cart_details;
1455 1455
 
1456 1456
     ob_start();
1457
-    do_action( 'wpinv_before_checkout_cart' );
1457
+    do_action('wpinv_before_checkout_cart');
1458 1458
     echo '<div id="wpinv_checkout_cart_form" method="post">';
1459 1459
         echo '<div id="wpinv_checkout_cart_wrap">';
1460
-            wpinv_get_template_part( 'wpinv-checkout-cart' );
1460
+            wpinv_get_template_part('wpinv-checkout-cart');
1461 1461
         echo '</div>';
1462 1462
     echo '</div>';
1463
-    do_action( 'wpinv_after_checkout_cart' );
1463
+    do_action('wpinv_after_checkout_cart');
1464 1464
     $content = ob_get_clean();
1465 1465
     
1466
-    if ( $echo ) {
1466
+    if ($echo) {
1467 1467
         echo $content;
1468 1468
     } else {
1469 1469
         return $content;
1470 1470
     }
1471 1471
 }
1472
-add_action( 'wpinv_checkout_cart', 'wpinv_checkout_cart', 10 );
1472
+add_action('wpinv_checkout_cart', 'wpinv_checkout_cart', 10);
1473 1473
 
1474 1474
 function wpinv_empty_cart_message() {
1475
-	return apply_filters( 'wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __( 'Your cart is empty.', 'invoicing' ) . '</span>' );
1475
+	return apply_filters('wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __('Your cart is empty.', 'invoicing') . '</span>');
1476 1476
 }
1477 1477
 
1478 1478
 /**
@@ -1484,83 +1484,83 @@  discard block
 block discarded – undo
1484 1484
 function wpinv_empty_checkout_cart() {
1485 1485
 	echo wpinv_empty_cart_message();
1486 1486
 }
1487
-add_action( 'wpinv_cart_empty', 'wpinv_empty_checkout_cart' );
1487
+add_action('wpinv_cart_empty', 'wpinv_empty_checkout_cart');
1488 1488
 
1489 1489
 function wpinv_update_cart_button() {
1490
-    if ( !wpinv_item_quantities_enabled() )
1490
+    if (!wpinv_item_quantities_enabled())
1491 1491
         return;
1492 1492
 ?>
1493
-    <input type="submit" name="wpinv_update_cart_submit" class="wpinv-submit wpinv-no-js button" value="<?php _e( 'Update Cart', 'invoicing' ); ?>"/>
1493
+    <input type="submit" name="wpinv_update_cart_submit" class="wpinv-submit wpinv-no-js button" value="<?php _e('Update Cart', 'invoicing'); ?>"/>
1494 1494
     <input type="hidden" name="wpi_action" value="update_cart"/>
1495 1495
 <?php
1496 1496
 }
1497 1497
 
1498 1498
 function wpinv_checkout_cart_columns() {
1499 1499
     $default = 3;
1500
-    if ( wpinv_item_quantities_enabled() ) {
1500
+    if (wpinv_item_quantities_enabled()) {
1501 1501
         $default++;
1502 1502
     }
1503 1503
     
1504
-    if ( wpinv_use_taxes() ) {
1504
+    if (wpinv_use_taxes()) {
1505 1505
         $default++;
1506 1506
     }
1507 1507
 
1508
-    return apply_filters( 'wpinv_checkout_cart_columns', $default );
1508
+    return apply_filters('wpinv_checkout_cart_columns', $default);
1509 1509
 }
1510 1510
 
1511 1511
 function wpinv_display_cart_messages() {
1512 1512
     global $wpi_session;
1513 1513
 
1514
-    $messages = $wpi_session->get( 'wpinv_cart_messages' );
1514
+    $messages = $wpi_session->get('wpinv_cart_messages');
1515 1515
 
1516
-    if ( $messages ) {
1517
-        foreach ( $messages as $message_id => $message ) {
1516
+    if ($messages) {
1517
+        foreach ($messages as $message_id => $message) {
1518 1518
             // Try and detect what type of message this is
1519
-            if ( strpos( strtolower( $message ), 'error' ) ) {
1519
+            if (strpos(strtolower($message), 'error')) {
1520 1520
                 $type = 'error';
1521
-            } elseif ( strpos( strtolower( $message ), 'success' ) ) {
1521
+            } elseif (strpos(strtolower($message), 'success')) {
1522 1522
                 $type = 'success';
1523 1523
             } else {
1524 1524
                 $type = 'info';
1525 1525
             }
1526 1526
 
1527
-            $classes = apply_filters( 'wpinv_' . $type . '_class', array( 'wpinv_errors', 'wpinv-alert', 'wpinv-alert-' . $type ) );
1527
+            $classes = apply_filters('wpinv_' . $type . '_class', array('wpinv_errors', 'wpinv-alert', 'wpinv-alert-' . $type));
1528 1528
 
1529
-            echo '<div class="' . implode( ' ', $classes ) . '">';
1529
+            echo '<div class="' . implode(' ', $classes) . '">';
1530 1530
                 // Loop message codes and display messages
1531 1531
                     echo '<p class="wpinv_error" id="wpinv_msg_' . $message_id . '">' . $message . '</p>';
1532 1532
             echo '</div>';
1533 1533
         }
1534 1534
 
1535 1535
         // Remove all of the cart saving messages
1536
-        $wpi_session->set( 'wpinv_cart_messages', null );
1536
+        $wpi_session->set('wpinv_cart_messages', null);
1537 1537
     }
1538 1538
 }
1539
-add_action( 'wpinv_before_checkout_cart', 'wpinv_display_cart_messages' );
1539
+add_action('wpinv_before_checkout_cart', 'wpinv_display_cart_messages');
1540 1540
 
1541 1541
 function wpinv_discount_field() {
1542
-    if ( isset( $_GET['wpi-gateway'] ) && wpinv_is_ajax_disabled() ) {
1542
+    if (isset($_GET['wpi-gateway']) && wpinv_is_ajax_disabled()) {
1543 1543
         return; // Only show before a payment method has been selected if ajax is disabled
1544 1544
     }
1545 1545
 
1546
-    if ( !wpinv_is_checkout() ) {
1546
+    if (!wpinv_is_checkout()) {
1547 1547
         return;
1548 1548
     }
1549 1549
 
1550
-    if ( wpinv_has_active_discounts() && wpinv_get_cart_total() ) {
1550
+    if (wpinv_has_active_discounts() && wpinv_get_cart_total()) {
1551 1551
     ?>
1552 1552
     <div id="wpinv-discount-field" class="panel panel-default">
1553 1553
         <div class="panel-body">
1554 1554
             <p>
1555
-                <label class="wpinv-label" for="wpinv_discount_code"><strong><?php _e( 'Discount', 'invoicing' ); ?></strong></label>
1556
-                <span class="wpinv-description"><?php _e( 'Enter a discount code if you have one.', 'invoicing' ); ?></span>
1555
+                <label class="wpinv-label" for="wpinv_discount_code"><strong><?php _e('Discount', 'invoicing'); ?></strong></label>
1556
+                <span class="wpinv-description"><?php _e('Enter a discount code if you have one.', 'invoicing'); ?></span>
1557 1557
             </p>
1558 1558
             <div class="form-group row">
1559 1559
                 <div class="col-sm-4">
1560
-                    <input class="wpinv-input form-control" type="text" id="wpinv_discount_code" name="wpinv_discount_code" placeholder="<?php _e( 'Enter discount code', 'invoicing' ); ?>"/>
1560
+                    <input class="wpinv-input form-control" type="text" id="wpinv_discount_code" name="wpinv_discount_code" placeholder="<?php _e('Enter discount code', 'invoicing'); ?>"/>
1561 1561
                 </div>
1562 1562
                 <div class="col-sm-3">
1563
-                    <button id="wpi-apply-discount" type="button" class="btn btn-success btn-sm"><?php _e( 'Apply Discount', 'invoicing' ); ?></button>
1563
+                    <button id="wpi-apply-discount" type="button" class="btn btn-success btn-sm"><?php _e('Apply Discount', 'invoicing'); ?></button>
1564 1564
                 </div>
1565 1565
                 <div style="clear:both"></div>
1566 1566
                 <div class="col-sm-12 wpinv-discount-msg">
@@ -1573,10 +1573,10 @@  discard block
 block discarded – undo
1573 1573
 <?php
1574 1574
     }
1575 1575
 }
1576
-add_action( 'wpinv_after_checkout_cart', 'wpinv_discount_field', -10 );
1576
+add_action('wpinv_after_checkout_cart', 'wpinv_discount_field', -10);
1577 1577
 
1578 1578
 function wpinv_agree_to_terms_js() {
1579
-    if ( wpinv_get_option( 'show_agree_to_terms', false ) ) {
1579
+    if (wpinv_get_option('show_agree_to_terms', false)) {
1580 1580
 ?>
1581 1581
 <script type="text/javascript">
1582 1582
     jQuery(document).ready(function($){
@@ -1591,127 +1591,127 @@  discard block
 block discarded – undo
1591 1591
 <?php
1592 1592
     }
1593 1593
 }
1594
-add_action( 'wpinv_checkout_form_top', 'wpinv_agree_to_terms_js' );
1594
+add_action('wpinv_checkout_form_top', 'wpinv_agree_to_terms_js');
1595 1595
 
1596 1596
 function wpinv_payment_mode_select() {
1597
-    $gateways = wpinv_get_enabled_payment_gateways( true );
1598
-    $gateways = apply_filters( 'wpinv_payment_gateways_on_cart', $gateways );
1597
+    $gateways = wpinv_get_enabled_payment_gateways(true);
1598
+    $gateways = apply_filters('wpinv_payment_gateways_on_cart', $gateways);
1599 1599
     $page_URL = wpinv_get_current_page_url();
1600
-    $invoice = wpinv_get_invoice( 0, true );
1600
+    $invoice = wpinv_get_invoice(0, true);
1601 1601
 
1602 1602
     do_action('wpinv_payment_mode_top');
1603 1603
     $invoice_id = (int)$invoice->ID;
1604
-    $chosen_gateway = wpinv_get_chosen_gateway( $invoice_id );
1604
+    $chosen_gateway = wpinv_get_chosen_gateway($invoice_id);
1605 1605
     ?>
1606
-    <div id="wpinv_payment_mode_select" data-gateway="<?php echo $chosen_gateway; ?>" <?php echo ( $invoice->is_free() ? 'style="display:none;" data-free="1"' : '' ); ?>>
1607
-            <?php do_action( 'wpinv_payment_mode_before_gateways_wrap' ); ?>
1606
+    <div id="wpinv_payment_mode_select" data-gateway="<?php echo $chosen_gateway; ?>" <?php echo ($invoice->is_free() ? 'style="display:none;" data-free="1"' : ''); ?>>
1607
+            <?php do_action('wpinv_payment_mode_before_gateways_wrap'); ?>
1608 1608
             <div id="wpinv-payment-mode-wrap" class="panel panel-default">
1609
-                <div class="panel-heading"><h3 class="panel-title"><?php _e( 'Select Payment Method', 'invoicing' ); ?></h3></div>
1609
+                <div class="panel-heading"><h3 class="panel-title"><?php _e('Select Payment Method', 'invoicing'); ?></h3></div>
1610 1610
                 <div class="panel-body list-group wpi-payment_methods">
1611 1611
                     <?php
1612
-                    do_action( 'wpinv_payment_mode_before_gateways' );
1613
-
1614
-                    if ( !empty( $gateways ) ) {
1615
-                        foreach ( $gateways as $gateway_id => $gateway ) {
1616
-                            $checked       = checked( $gateway_id, $chosen_gateway, false );
1617
-                            $button_label  = wpinv_get_gateway_button_label( $gateway_id );
1618
-                            $gateway_label = wpinv_get_gateway_checkout_label( $gateway_id );
1619
-                            $description   = wpinv_get_gateway_description( $gateway_id );
1612
+                    do_action('wpinv_payment_mode_before_gateways');
1613
+
1614
+                    if (!empty($gateways)) {
1615
+                        foreach ($gateways as $gateway_id => $gateway) {
1616
+                            $checked       = checked($gateway_id, $chosen_gateway, false);
1617
+                            $button_label  = wpinv_get_gateway_button_label($gateway_id);
1618
+                            $gateway_label = wpinv_get_gateway_checkout_label($gateway_id);
1619
+                            $description   = wpinv_get_gateway_description($gateway_id);
1620 1620
                             ?>
1621 1621
                             <div class="list-group-item">
1622 1622
                                 <div class="radio">
1623
-                                    <label><input type="radio" data-button-text="<?php echo esc_attr( $button_label );?>" value="<?php echo esc_attr( $gateway_id ) ;?>" <?php echo $checked ;?> id="wpi_gateway_<?php echo esc_attr( $gateway_id );?>" name="wpi-gateway" class="wpi-pmethod"><?php echo esc_html( $gateway_label ); ?></label>
1623
+                                    <label><input type="radio" data-button-text="<?php echo esc_attr($button_label); ?>" value="<?php echo esc_attr($gateway_id); ?>" <?php echo $checked; ?> id="wpi_gateway_<?php echo esc_attr($gateway_id); ?>" name="wpi-gateway" class="wpi-pmethod"><?php echo esc_html($gateway_label); ?></label>
1624 1624
                                 </div>
1625
-                                <div style="display:none;" class="payment_box wpi_gateway_<?php echo esc_attr( $gateway_id );?>" role="alert">
1626
-                                    <?php if ( !empty( $description ) ) { ?>
1627
-                                        <div class="wpi-gateway-desc alert alert-info"><?php _e( $description, 'invoicing' ); ?></div>
1625
+                                <div style="display:none;" class="payment_box wpi_gateway_<?php echo esc_attr($gateway_id); ?>" role="alert">
1626
+                                    <?php if (!empty($description)) { ?>
1627
+                                        <div class="wpi-gateway-desc alert alert-info"><?php _e($description, 'invoicing'); ?></div>
1628 1628
                                     <?php } ?>
1629
-                                    <?php do_action( 'wpinv_' . $gateway_id . '_cc_form', $invoice_id ) ;?>
1629
+                                    <?php do_action('wpinv_' . $gateway_id . '_cc_form', $invoice_id); ?>
1630 1630
                                 </div>
1631 1631
                             </div>
1632 1632
                             <?php
1633 1633
                         }
1634 1634
                     } else {
1635
-                        echo '<div class="alert alert-warning">'. __( 'No payment gateway active', 'invoicing' ) .'</div>';
1635
+                        echo '<div class="alert alert-warning">' . __('No payment gateway active', 'invoicing') . '</div>';
1636 1636
                     }
1637 1637
 
1638
-                    do_action( 'wpinv_payment_mode_after_gateways' );
1638
+                    do_action('wpinv_payment_mode_after_gateways');
1639 1639
                     ?>
1640 1640
                 </div>
1641 1641
             </div>
1642
-            <?php do_action( 'wpinv_payment_mode_after_gateways_wrap' ); ?>
1642
+            <?php do_action('wpinv_payment_mode_after_gateways_wrap'); ?>
1643 1643
     </div>
1644 1644
     <?php
1645 1645
     do_action('wpinv_payment_mode_bottom');
1646 1646
 }
1647
-add_action( 'wpinv_payment_mode_select', 'wpinv_payment_mode_select' );
1647
+add_action('wpinv_payment_mode_select', 'wpinv_payment_mode_select');
1648 1648
 
1649 1649
 function wpinv_checkout_billing_info() {
1650
-    if ( wpinv_is_checkout() ) {
1650
+    if (wpinv_is_checkout()) {
1651 1651
         $logged_in          = is_user_logged_in();
1652 1652
         $billing_details    = wpinv_checkout_billing_details();
1653
-        $selected_country   = !empty( $billing_details['country'] ) ? $billing_details['country'] : wpinv_default_billing_country();
1653
+        $selected_country   = !empty($billing_details['country']) ? $billing_details['country'] : wpinv_default_billing_country();
1654 1654
         ?>
1655 1655
         <div id="wpinv-fields" class="clearfix">
1656 1656
             <div id="wpi-billing" class="wpi-billing clearfix panel panel-default">
1657
-                <div class="panel-heading"><h3 class="panel-title"><?php _e( 'Billing Details', 'invoicing' );?></h3></div>
1657
+                <div class="panel-heading"><h3 class="panel-title"><?php _e('Billing Details', 'invoicing'); ?></h3></div>
1658 1658
                 <div id="wpinv-fields-box" class="panel-body">
1659
-                    <?php do_action( 'wpinv_checkout_billing_fields_first', $billing_details ); ?>
1659
+                    <?php do_action('wpinv_checkout_billing_fields_first', $billing_details); ?>
1660 1660
                     <p class="wpi-cart-field wpi-col2 wpi-colf">
1661
-                        <label for="wpinv_first_name" class="wpi-label"><?php _e( 'First Name', 'invoicing' );?><?php if ( wpinv_get_option( 'fname_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1661
+                        <label for="wpinv_first_name" class="wpi-label"><?php _e('First Name', 'invoicing'); ?><?php if (wpinv_get_option('fname_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1662 1662
                         <?php
1663
-                        echo wpinv_html_text( array(
1663
+                        echo wpinv_html_text(array(
1664 1664
                                 'id'            => 'wpinv_first_name',
1665 1665
                                 'name'          => 'wpinv_first_name',
1666 1666
                                 'value'         => $billing_details['first_name'],
1667 1667
                                 'class'         => 'wpi-input form-control',
1668
-                                'placeholder'   => __( 'First name', 'invoicing' ),
1669
-                                'required'      => (bool)wpinv_get_option( 'fname_mandatory' ),
1670
-                            ) );
1668
+                                'placeholder'   => __('First name', 'invoicing'),
1669
+                                'required'      => (bool)wpinv_get_option('fname_mandatory'),
1670
+                            ));
1671 1671
                         ?>
1672 1672
                     </p>
1673 1673
                     <p class="wpi-cart-field wpi-col2 wpi-coll">
1674
-                        <label for="wpinv_last_name" class="wpi-label"><?php _e( 'Last Name', 'invoicing' );?><?php if ( wpinv_get_option( 'lname_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1674
+                        <label for="wpinv_last_name" class="wpi-label"><?php _e('Last Name', 'invoicing'); ?><?php if (wpinv_get_option('lname_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1675 1675
                         <?php
1676
-                        echo wpinv_html_text( array(
1676
+                        echo wpinv_html_text(array(
1677 1677
                                 'id'            => 'wpinv_last_name',
1678 1678
                                 'name'          => 'wpinv_last_name',
1679 1679
                                 'value'         => $billing_details['last_name'],
1680 1680
                                 'class'         => 'wpi-input form-control',
1681
-                                'placeholder'   => __( 'Last name', 'invoicing' ),
1682
-                                'required'      => (bool)wpinv_get_option( 'lname_mandatory' ),
1683
-                            ) );
1681
+                                'placeholder'   => __('Last name', 'invoicing'),
1682
+                                'required'      => (bool)wpinv_get_option('lname_mandatory'),
1683
+                            ));
1684 1684
                         ?>
1685 1685
                     </p>
1686 1686
                     <p class="wpi-cart-field wpi-col2 wpi-colf">
1687
-                        <label for="wpinv_address" class="wpi-label"><?php _e( 'Address', 'invoicing' );?><?php if ( wpinv_get_option( 'address_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1687
+                        <label for="wpinv_address" class="wpi-label"><?php _e('Address', 'invoicing'); ?><?php if (wpinv_get_option('address_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1688 1688
                         <?php
1689
-                        echo wpinv_html_text( array(
1689
+                        echo wpinv_html_text(array(
1690 1690
                                 'id'            => 'wpinv_address',
1691 1691
                                 'name'          => 'wpinv_address',
1692 1692
                                 'value'         => $billing_details['address'],
1693 1693
                                 'class'         => 'wpi-input form-control',
1694
-                                'placeholder'   => __( 'Address', 'invoicing' ),
1695
-                                'required'      => (bool)wpinv_get_option( 'address_mandatory' ),
1696
-                            ) );
1694
+                                'placeholder'   => __('Address', 'invoicing'),
1695
+                                'required'      => (bool)wpinv_get_option('address_mandatory'),
1696
+                            ));
1697 1697
                         ?>
1698 1698
                     </p>
1699 1699
                     <p class="wpi-cart-field wpi-col2 wpi-coll">
1700
-                        <label for="wpinv_city" class="wpi-label"><?php _e( 'City', 'invoicing' );?><?php if ( wpinv_get_option( 'city_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1700
+                        <label for="wpinv_city" class="wpi-label"><?php _e('City', 'invoicing'); ?><?php if (wpinv_get_option('city_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1701 1701
                         <?php
1702
-                        echo wpinv_html_text( array(
1702
+                        echo wpinv_html_text(array(
1703 1703
                                 'id'            => 'wpinv_city',
1704 1704
                                 'name'          => 'wpinv_city',
1705 1705
                                 'value'         => $billing_details['city'],
1706 1706
                                 'class'         => 'wpi-input form-control',
1707
-                                'placeholder'   => __( 'City', 'invoicing' ),
1708
-                                'required'      => (bool)wpinv_get_option( 'city_mandatory' ),
1709
-                            ) );
1707
+                                'placeholder'   => __('City', 'invoicing'),
1708
+                                'required'      => (bool)wpinv_get_option('city_mandatory'),
1709
+                            ));
1710 1710
                         ?>
1711 1711
                     </p>
1712 1712
                     <p id="wpinv_country_box" class="wpi-cart-field wpi-col2 wpi-colf">
1713
-                        <label for="wpinv_country" class="wpi-label"><?php _e( 'Country', 'invoicing' );?><?php if ( wpinv_get_option( 'country_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1714
-                        <?php echo wpinv_html_select( array(
1713
+                        <label for="wpinv_country" class="wpi-label"><?php _e('Country', 'invoicing'); ?><?php if (wpinv_get_option('country_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1714
+                        <?php echo wpinv_html_select(array(
1715 1715
                             'options'          => wpinv_get_country_list(),
1716 1716
                             'name'             => 'wpinv_country',
1717 1717
                             'id'               => 'wpinv_country',
@@ -1719,16 +1719,16 @@  discard block
 block discarded – undo
1719 1719
                             'show_option_all'  => false,
1720 1720
                             'show_option_none' => false,
1721 1721
                             'class'            => 'wpi-input form-control wpi_select2',
1722
-                            'placeholder'      => __( 'Choose a country', 'invoicing' ),
1723
-                            'required'         => (bool)wpinv_get_option( 'country_mandatory' ),
1724
-                        ) ); ?>
1722
+                            'placeholder'      => __('Choose a country', 'invoicing'),
1723
+                            'required'         => (bool)wpinv_get_option('country_mandatory'),
1724
+                        )); ?>
1725 1725
                     </p>
1726 1726
                     <p id="wpinv_state_box" class="wpi-cart-field wpi-col2 wpi-coll">
1727
-                        <label for="wpinv_state" class="wpi-label"><?php _e( 'State / Province', 'invoicing' );?><?php if ( wpinv_get_option( 'state_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1727
+                        <label for="wpinv_state" class="wpi-label"><?php _e('State / Province', 'invoicing'); ?><?php if (wpinv_get_option('state_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1728 1728
                         <?php
1729
-                        $states = wpinv_get_country_states( $selected_country );
1730
-                        if( !empty( $states ) ) {
1731
-                            echo wpinv_html_select( array(
1729
+                        $states = wpinv_get_country_states($selected_country);
1730
+                        if (!empty($states)) {
1731
+                            echo wpinv_html_select(array(
1732 1732
                                 'options'          => $states,
1733 1733
                                 'name'             => 'wpinv_state',
1734 1734
                                 'id'               => 'wpinv_state',
@@ -1736,61 +1736,61 @@  discard block
 block discarded – undo
1736 1736
                                 'show_option_all'  => false,
1737 1737
                                 'show_option_none' => false,
1738 1738
                                 'class'            => 'wpi-input form-control wpi_select2',
1739
-                                'placeholder'      => __( 'Choose a state', 'invoicing' ),
1740
-                                'required'         => (bool)wpinv_get_option( 'state_mandatory' ),
1741
-                            ) );
1739
+                                'placeholder'      => __('Choose a state', 'invoicing'),
1740
+                                'required'         => (bool)wpinv_get_option('state_mandatory'),
1741
+                            ));
1742 1742
                         } else {
1743
-                            echo wpinv_html_text( array(
1743
+                            echo wpinv_html_text(array(
1744 1744
                                 'name'          => 'wpinv_state',
1745 1745
                                 'value'         => $billing_details['state'],
1746 1746
                                 'id'            => 'wpinv_state',
1747 1747
                                 'class'         => 'wpi-input form-control',
1748
-                                'placeholder'   => __( 'State / Province', 'invoicing' ),
1749
-                                'required'      => (bool)wpinv_get_option( 'state_mandatory' ),
1750
-                            ) );
1748
+                                'placeholder'   => __('State / Province', 'invoicing'),
1749
+                                'required'      => (bool)wpinv_get_option('state_mandatory'),
1750
+                            ));
1751 1751
                         }
1752 1752
                         ?>
1753 1753
                     </p>
1754 1754
                     <p class="wpi-cart-field wpi-col2 wpi-colf">
1755
-                        <label for="wpinv_zip" class="wpi-label"><?php _e( 'ZIP / Postcode', 'invoicing' );?><?php if ( wpinv_get_option( 'zip_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1755
+                        <label for="wpinv_zip" class="wpi-label"><?php _e('ZIP / Postcode', 'invoicing'); ?><?php if (wpinv_get_option('zip_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1756 1756
                         <?php
1757
-                        echo wpinv_html_text( array(
1757
+                        echo wpinv_html_text(array(
1758 1758
                                 'name'          => 'wpinv_zip',
1759 1759
                                 'value'         => $billing_details['zip'],
1760 1760
                                 'id'            => 'wpinv_zip',
1761 1761
                                 'class'         => 'wpi-input form-control',
1762
-                                'placeholder'   => __( 'ZIP / Postcode', 'invoicing' ),
1763
-                                'required'      => (bool)wpinv_get_option( 'zip_mandatory' ),
1764
-                            ) );
1762
+                                'placeholder'   => __('ZIP / Postcode', 'invoicing'),
1763
+                                'required'      => (bool)wpinv_get_option('zip_mandatory'),
1764
+                            ));
1765 1765
                         ?>
1766 1766
                     </p>
1767 1767
                     <p class="wpi-cart-field wpi-col2 wpi-coll">
1768
-                        <label for="wpinv_phone" class="wpi-label"><?php _e( 'Phone', 'invoicing' );?><?php if ( wpinv_get_option( 'phone_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label>
1768
+                        <label for="wpinv_phone" class="wpi-label"><?php _e('Phone', 'invoicing'); ?><?php if (wpinv_get_option('phone_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label>
1769 1769
                         <?php
1770
-                        echo wpinv_html_text( array(
1770
+                        echo wpinv_html_text(array(
1771 1771
                                 'id'            => 'wpinv_phone',
1772 1772
                                 'name'          => 'wpinv_phone',
1773 1773
                                 'value'         => $billing_details['phone'],
1774 1774
                                 'class'         => 'wpi-input form-control',
1775
-                                'placeholder'   => __( 'Phone', 'invoicing' ),
1776
-                                'required'      => (bool)wpinv_get_option( 'phone_mandatory' ),
1777
-                            ) );
1775
+                                'placeholder'   => __('Phone', 'invoicing'),
1776
+                                'required'      => (bool)wpinv_get_option('phone_mandatory'),
1777
+                            ));
1778 1778
                         ?>
1779 1779
                     </p>
1780
-                    <?php do_action( 'wpinv_checkout_billing_fields_last', $billing_details ); ?>
1780
+                    <?php do_action('wpinv_checkout_billing_fields_last', $billing_details); ?>
1781 1781
                     <div class="clearfix"></div>
1782 1782
                 </div>
1783 1783
             </div>
1784
-            <?php do_action( 'wpinv_after_billing_fields', $billing_details ); ?>
1784
+            <?php do_action('wpinv_after_billing_fields', $billing_details); ?>
1785 1785
         </div>
1786 1786
         <?php
1787 1787
     }
1788 1788
 }
1789
-add_action( 'wpinv_checkout_billing_info', 'wpinv_checkout_billing_info' );
1789
+add_action('wpinv_checkout_billing_info', 'wpinv_checkout_billing_info');
1790 1790
 
1791 1791
 function wpinv_checkout_hidden_fields() {
1792 1792
 ?>
1793
-    <?php if ( is_user_logged_in() ) { ?>
1793
+    <?php if (is_user_logged_in()) { ?>
1794 1794
     <input type="hidden" name="wpinv_user_id" value="<?php echo get_current_user_id(); ?>"/>
1795 1795
     <?php } ?>
1796 1796
     <input type="hidden" name="wpi_action" value="payment" />
@@ -1800,9 +1800,9 @@  discard block
 block discarded – undo
1800 1800
 function wpinv_checkout_button_purchase() {
1801 1801
     ob_start();
1802 1802
 ?>
1803
-    <input type="submit" class="btn btn-success wpinv-submit" id="wpinv-payment-button" data-value="<?php esc_attr_e( 'Proceed to Pay', 'invoicing' ) ?>" name="wpinv_payment" value="<?php esc_attr_e( 'Proceed to Pay', 'invoicing' ) ?>"/>
1803
+    <input type="submit" class="btn btn-success wpinv-submit" id="wpinv-payment-button" data-value="<?php esc_attr_e('Proceed to Pay', 'invoicing') ?>" name="wpinv_payment" value="<?php esc_attr_e('Proceed to Pay', 'invoicing') ?>"/>
1804 1804
 <?php
1805
-    return apply_filters( 'wpinv_checkout_button_purchase', ob_get_clean() );
1805
+    return apply_filters('wpinv_checkout_button_purchase', ob_get_clean());
1806 1806
 }
1807 1807
 
1808 1808
 function wpinv_checkout_total() {
@@ -1811,90 +1811,90 @@  discard block
 block discarded – undo
1811 1811
 <div id="wpinv_checkout_total" class="panel panel-info">
1812 1812
     <div class="panel-body">
1813 1813
     <?php
1814
-    do_action( 'wpinv_purchase_form_before_checkout_total' );
1814
+    do_action('wpinv_purchase_form_before_checkout_total');
1815 1815
     ?>
1816
-    <strong><?php _e( 'Invoice Total:', 'invoicing' ) ?></strong> <span class="wpinv-chdeckout-total"><?php echo $cart_total;?></span>
1816
+    <strong><?php _e('Invoice Total:', 'invoicing') ?></strong> <span class="wpinv-chdeckout-total"><?php echo $cart_total; ?></span>
1817 1817
     <?php
1818
-    do_action( 'wpinv_purchase_form_after_checkout_total' );
1818
+    do_action('wpinv_purchase_form_after_checkout_total');
1819 1819
     ?>
1820 1820
     </div>
1821 1821
 </div>
1822 1822
 <?php
1823 1823
 }
1824
-add_action( 'wpinv_checkout_form_bottom', 'wpinv_checkout_total', 9998 );
1824
+add_action('wpinv_checkout_form_bottom', 'wpinv_checkout_total', 9998);
1825 1825
 
1826 1826
 function wpinv_checkout_accept_tandc() {
1827
-    $page = wpinv_get_option( 'tandc_page' );
1827
+    $page = wpinv_get_option('tandc_page');
1828 1828
     ?>
1829 1829
     <div id="wpinv_checkout_tandc" class="panel panel-success">
1830 1830
         <div class="panel-body">
1831 1831
             <?php echo wpinv_get_policy_text(); ?>
1832 1832
             <?php
1833
-            if(isset($page) && (int)$page > 0 && apply_filters( 'wpinv_checkout_show_terms', true )){
1834
-                $terms_link = esc_url( get_permalink( $page ) );
1833
+            if (isset($page) && (int)$page > 0 && apply_filters('wpinv_checkout_show_terms', true)) {
1834
+                $terms_link = esc_url(get_permalink($page));
1835 1835
                 ?>
1836 1836
                 <label class="">
1837
-                    <input type="checkbox" class="wpi-terms-checkbox" name="wpi_terms" id="wpi-terms" <?php checked( apply_filters( 'wpinv_terms_is_checked_default', isset( $_POST['wpi_terms'] ) ), true ); ?>> <span><?php printf( __( 'I&rsquo;ve read and accept the <a href="%s" target="_blank" class="wpi-terms-and-conditions-link">terms &amp; conditions</a>', 'invoicing' ), $terms_link ); ?></span> <span class="wpi-required">*</span>
1837
+                    <input type="checkbox" class="wpi-terms-checkbox" name="wpi_terms" id="wpi-terms" <?php checked(apply_filters('wpinv_terms_is_checked_default', isset($_POST['wpi_terms'])), true); ?>> <span><?php printf(__('I&rsquo;ve read and accept the <a href="%s" target="_blank" class="wpi-terms-and-conditions-link">terms &amp; conditions</a>', 'invoicing'), $terms_link); ?></span> <span class="wpi-required">*</span>
1838 1838
                 </label>
1839 1839
             <?php } ?>
1840 1840
         </div>
1841 1841
     </div>
1842 1842
     <?php
1843 1843
 }
1844
-add_action( 'wpinv_checkout_form_bottom', 'wpinv_checkout_accept_tandc', 9995 );
1844
+add_action('wpinv_checkout_form_bottom', 'wpinv_checkout_accept_tandc', 9995);
1845 1845
 
1846 1846
 function wpinv_checkout_submit() {
1847 1847
 ?>
1848 1848
 <div id="wpinv_purchase_submit" class="panel panel-success">
1849 1849
     <div class="panel-body text-center">
1850 1850
     <?php
1851
-    do_action( 'wpinv_purchase_form_before_submit' );
1851
+    do_action('wpinv_purchase_form_before_submit');
1852 1852
     wpinv_checkout_hidden_fields();
1853 1853
     echo wpinv_checkout_button_purchase();
1854
-    do_action( 'wpinv_purchase_form_after_submit' );
1854
+    do_action('wpinv_purchase_form_after_submit');
1855 1855
     ?>
1856 1856
     </div>
1857 1857
 </div>
1858 1858
 <?php
1859 1859
 }
1860
-add_action( 'wpinv_checkout_form_bottom', 'wpinv_checkout_submit', 9999 );
1860
+add_action('wpinv_checkout_form_bottom', 'wpinv_checkout_submit', 9999);
1861 1861
 
1862
-function wpinv_receipt_billing_address( $invoice_id = 0 ) {
1863
-    $invoice = wpinv_get_invoice( $invoice_id );
1862
+function wpinv_receipt_billing_address($invoice_id = 0) {
1863
+    $invoice = wpinv_get_invoice($invoice_id);
1864 1864
 
1865
-    if ( empty( $invoice ) ) {
1865
+    if (empty($invoice)) {
1866 1866
         return NULL;
1867 1867
     }
1868 1868
 
1869 1869
     $billing_details = $invoice->get_user_info();
1870
-    $address_row = wpinv_get_invoice_address_markup( $billing_details );
1870
+    $address_row = wpinv_get_invoice_address_markup($billing_details);
1871 1871
 
1872 1872
     ob_start();
1873 1873
     ?>
1874 1874
     <table class="table table-bordered table-sm wpi-billing-details">
1875 1875
         <tbody>
1876 1876
             <tr class="wpi-receipt-name">
1877
-                <th class="text-left"><?php _e( 'Name', 'invoicing' ); ?></th>
1878
-                <td><?php echo esc_html( trim( $billing_details['first_name'] . ' ' . $billing_details['last_name'] ) ) ;?></td>
1877
+                <th class="text-left"><?php _e('Name', 'invoicing'); ?></th>
1878
+                <td><?php echo esc_html(trim($billing_details['first_name'] . ' ' . $billing_details['last_name'])); ?></td>
1879 1879
             </tr>
1880 1880
             <tr class="wpi-receipt-email">
1881
-                <th class="text-left"><?php _e( 'Email', 'invoicing' ); ?></th>
1882
-                <td><?php echo $billing_details['email'] ;?></td>
1881
+                <th class="text-left"><?php _e('Email', 'invoicing'); ?></th>
1882
+                <td><?php echo $billing_details['email']; ?></td>
1883 1883
             </tr>
1884
-            <?php if ( $billing_details['company'] ) { ?>
1884
+            <?php if ($billing_details['company']) { ?>
1885 1885
             <tr class="wpi-receipt-company">
1886
-                <th class="text-left"><?php _e( 'Company', 'invoicing' ); ?></th>
1887
-                <td><?php echo esc_html( $billing_details['company'] ) ;?></td>
1886
+                <th class="text-left"><?php _e('Company', 'invoicing'); ?></th>
1887
+                <td><?php echo esc_html($billing_details['company']); ?></td>
1888 1888
             </tr>
1889 1889
             <?php } ?>
1890 1890
             <tr class="wpi-receipt-address">
1891
-                <th class="text-left"><?php _e( 'Address', 'invoicing' ); ?></th>
1892
-                <td><?php echo $address_row ;?></td>
1891
+                <th class="text-left"><?php _e('Address', 'invoicing'); ?></th>
1892
+                <td><?php echo $address_row; ?></td>
1893 1893
             </tr>
1894
-            <?php if ( $billing_details['phone'] ) { ?>
1894
+            <?php if ($billing_details['phone']) { ?>
1895 1895
             <tr class="wpi-receipt-phone">
1896
-                <th class="text-left"><?php _e( 'Phone', 'invoicing' ); ?></th>
1897
-                <td><?php echo esc_html( $billing_details['phone'] ) ;?></td>
1896
+                <th class="text-left"><?php _e('Phone', 'invoicing'); ?></th>
1897
+                <td><?php echo esc_html($billing_details['phone']); ?></td>
1898 1898
             </tr>
1899 1899
             <?php } ?>
1900 1900
         </tbody>
@@ -1902,74 +1902,74 @@  discard block
 block discarded – undo
1902 1902
     <?php
1903 1903
     $output = ob_get_clean();
1904 1904
     
1905
-    $output = apply_filters( 'wpinv_receipt_billing_address', $output, $invoice_id );
1905
+    $output = apply_filters('wpinv_receipt_billing_address', $output, $invoice_id);
1906 1906
 
1907 1907
     echo $output;
1908 1908
 }
1909 1909
 
1910
-function wpinv_filter_success_page_content( $content ) {
1911
-    if ( isset( $_GET['payment-confirm'] ) && wpinv_is_success_page() ) {
1912
-        if ( has_filter( 'wpinv_payment_confirm_' . sanitize_text_field( $_GET['payment-confirm'] ) ) ) {
1913
-            $content = apply_filters( 'wpinv_payment_confirm_' . sanitize_text_field( $_GET['payment-confirm'] ), $content );
1910
+function wpinv_filter_success_page_content($content) {
1911
+    if (isset($_GET['payment-confirm']) && wpinv_is_success_page()) {
1912
+        if (has_filter('wpinv_payment_confirm_' . sanitize_text_field($_GET['payment-confirm']))) {
1913
+            $content = apply_filters('wpinv_payment_confirm_' . sanitize_text_field($_GET['payment-confirm']), $content);
1914 1914
         }
1915 1915
     }
1916 1916
 
1917 1917
     return $content;
1918 1918
 }
1919
-add_filter( 'the_content', 'wpinv_filter_success_page_content', 99999 );
1919
+add_filter('the_content', 'wpinv_filter_success_page_content', 99999);
1920 1920
 
1921
-function wpinv_receipt_actions( $invoice ) {
1922
-    if ( !empty( $invoice ) ) {
1921
+function wpinv_receipt_actions($invoice) {
1922
+    if (!empty($invoice)) {
1923 1923
         $actions = array();
1924 1924
 
1925
-        if ( wpinv_user_can_view_invoice( $invoice->ID ) ) {
1926
-            $actions['print']   = array(
1927
-                'url'  => $invoice->get_view_url( true ),
1928
-                'name' => __( 'Print Invoice', 'invoicing' ),
1925
+        if (wpinv_user_can_view_invoice($invoice->ID)) {
1926
+            $actions['print'] = array(
1927
+                'url'  => $invoice->get_view_url(true),
1928
+                'name' => __('Print Invoice', 'invoicing'),
1929 1929
                 'class' => 'btn-primary',
1930 1930
             );
1931 1931
         }
1932 1932
 
1933
-        if ( is_user_logged_in() ) {
1933
+        if (is_user_logged_in()) {
1934 1934
             $actions['history'] = array(
1935 1935
                 'url'  => wpinv_get_history_page_uri(),
1936
-                'name' => __( 'Invoice History', 'invoicing' ),
1936
+                'name' => __('Invoice History', 'invoicing'),
1937 1937
                 'class' => 'btn-warning',
1938 1938
             );
1939 1939
         }
1940 1940
 
1941
-        $actions = apply_filters( 'wpinv_invoice_receipt_actions', $actions, $invoice );
1941
+        $actions = apply_filters('wpinv_invoice_receipt_actions', $actions, $invoice);
1942 1942
 
1943
-        if ( !empty( $actions ) ) {
1943
+        if (!empty($actions)) {
1944 1944
         ?>
1945 1945
         <div class="wpinv-receipt-actions text-right">
1946
-            <?php foreach ( $actions as $key => $action ) { $class = !empty($action['class']) ? sanitize_html_class( $action['class'] ) : ''; ?>
1947
-            <a href="<?php echo esc_url( $action['url'] );?>" class="btn btn-sm <?php echo $class . ' ' . sanitize_html_class( $key );?>" <?php echo ( !empty($action['attrs']) ? $action['attrs'] : '' ) ;?>><?php echo esc_html( $action['name'] );?></a>
1946
+            <?php foreach ($actions as $key => $action) { $class = !empty($action['class']) ? sanitize_html_class($action['class']) : ''; ?>
1947
+            <a href="<?php echo esc_url($action['url']); ?>" class="btn btn-sm <?php echo $class . ' ' . sanitize_html_class($key); ?>" <?php echo (!empty($action['attrs']) ? $action['attrs'] : ''); ?>><?php echo esc_html($action['name']); ?></a>
1948 1948
             <?php } ?>
1949 1949
         </div>
1950 1950
         <?php
1951 1951
         }
1952 1952
     }
1953 1953
 }
1954
-add_action( 'wpinv_receipt_start', 'wpinv_receipt_actions', -10, 1 );
1954
+add_action('wpinv_receipt_start', 'wpinv_receipt_actions', -10, 1);
1955 1955
 
1956
-function wpinv_invoice_link( $invoice_id ) {
1957
-    $invoice = wpinv_get_invoice( $invoice_id );
1956
+function wpinv_invoice_link($invoice_id) {
1957
+    $invoice = wpinv_get_invoice($invoice_id);
1958 1958
 
1959
-    if ( empty( $invoice ) ) {
1959
+    if (empty($invoice)) {
1960 1960
         return NULL;
1961 1961
     }
1962 1962
 
1963
-    $invoice_link = '<a href="' . esc_url( $invoice->get_view_url() ) . '">' . $invoice->get_number() . '</a>';
1963
+    $invoice_link = '<a href="' . esc_url($invoice->get_view_url()) . '">' . $invoice->get_number() . '</a>';
1964 1964
 
1965
-    return apply_filters( 'wpinv_get_invoice_link', $invoice_link, $invoice );
1965
+    return apply_filters('wpinv_get_invoice_link', $invoice_link, $invoice);
1966 1966
 }
1967 1967
 
1968
-function wpinv_invoice_subscription_details( $invoice ) {
1969
-    if ( !empty( $invoice ) && $invoice->is_recurring() && ! wpinv_is_subscription_payment( $invoice ) ) {
1970
-        $subscription = wpinv_get_subscription( $invoice, true );
1968
+function wpinv_invoice_subscription_details($invoice) {
1969
+    if (!empty($invoice) && $invoice->is_recurring() && !wpinv_is_subscription_payment($invoice)) {
1970
+        $subscription = wpinv_get_subscription($invoice, true);
1971 1971
 
1972
-        if ( empty( $subscription ) ) {
1972
+        if (empty($subscription)) {
1973 1973
             return;
1974 1974
         }
1975 1975
 
@@ -1980,15 +1980,15 @@  discard block
 block discarded – undo
1980 1980
         $payments = $subscription->get_child_payments();
1981 1981
         ?>
1982 1982
         <div class="wpinv-subscriptions-details">
1983
-            <h3 class="wpinv-subscriptions-t"><?php echo apply_filters( 'wpinv_subscription_details_title', __( 'Subscription Details', 'invoicing' ) ); ?></h3>
1983
+            <h3 class="wpinv-subscriptions-t"><?php echo apply_filters('wpinv_subscription_details_title', __('Subscription Details', 'invoicing')); ?></h3>
1984 1984
             <table class="table">
1985 1985
                 <thead>
1986 1986
                     <tr>
1987
-                        <th><?php _e( 'Billing Cycle', 'invoicing' ) ;?></th>
1988
-                        <th><?php _e( 'Start Date', 'invoicing' ) ;?></th>
1989
-                        <th><?php _e( 'Expiration Date', 'invoicing' ) ;?></th>
1990
-                        <th class="text-center"><?php _e( 'Times Billed', 'invoicing' ) ;?></th>
1991
-                        <th class="text-center"><?php _e( 'Status', 'invoicing' ) ;?></th>
1987
+                        <th><?php _e('Billing Cycle', 'invoicing'); ?></th>
1988
+                        <th><?php _e('Start Date', 'invoicing'); ?></th>
1989
+                        <th><?php _e('Expiration Date', 'invoicing'); ?></th>
1990
+                        <th class="text-center"><?php _e('Times Billed', 'invoicing'); ?></th>
1991
+                        <th class="text-center"><?php _e('Status', 'invoicing'); ?></th>
1992 1992
                     </tr>
1993 1993
                 </thead>
1994 1994
                 <tbody>
@@ -2002,29 +2002,29 @@  discard block
 block discarded – undo
2002 2002
                 </tbody>
2003 2003
             </table>
2004 2004
         </div>
2005
-        <?php if ( !empty( $payments ) ) { ?>
2005
+        <?php if (!empty($payments)) { ?>
2006 2006
         <div class="wpinv-renewal-payments">
2007
-            <h3 class="wpinv-renewals-t"><?php echo apply_filters( 'wpinv_renewal_payments_title', __( 'Renewal Payments', 'invoicing' ) ); ?></h3>
2007
+            <h3 class="wpinv-renewals-t"><?php echo apply_filters('wpinv_renewal_payments_title', __('Renewal Payments', 'invoicing')); ?></h3>
2008 2008
             <table class="table">
2009 2009
                 <thead>
2010 2010
                     <tr>
2011 2011
                         <th>#</th>
2012
-                        <th><?php _e( 'Invoice', 'invoicing' ) ;?></th>
2013
-                        <th><?php _e( 'Date', 'invoicing' ) ;?></th>
2014
-                        <th class="text-right"><?php _e( 'Amount', 'invoicing' ) ;?></th>
2012
+                        <th><?php _e('Invoice', 'invoicing'); ?></th>
2013
+                        <th><?php _e('Date', 'invoicing'); ?></th>
2014
+                        <th class="text-right"><?php _e('Amount', 'invoicing'); ?></th>
2015 2015
                     </tr>
2016 2016
                 </thead>
2017 2017
                 <tbody>
2018 2018
                     <?php
2019 2019
                         $i = 1;
2020
-                        foreach ( $payments as $payment ) {
2020
+                        foreach ($payments as $payment) {
2021 2021
                             $invoice_id = $payment->ID;
2022 2022
                     ?>
2023 2023
                     <tr>
2024
-                        <th scope="row"><?php echo $i;?></th>
2025
-                        <td><?php echo wpinv_invoice_link( $invoice_id ) ;?></td>
2026
-                        <td><?php echo wpinv_get_invoice_date( $invoice_id ); ?></td>
2027
-                        <td class="text-right"><?php echo wpinv_payment_total( $invoice_id, true ); ?></td>
2024
+                        <th scope="row"><?php echo $i; ?></th>
2025
+                        <td><?php echo wpinv_invoice_link($invoice_id); ?></td>
2026
+                        <td><?php echo wpinv_get_invoice_date($invoice_id); ?></td>
2027
+                        <td class="text-right"><?php echo wpinv_payment_total($invoice_id, true); ?></td>
2028 2028
                     </tr>
2029 2029
                     <?php $i++; } ?>
2030 2030
                 </tbody>
@@ -2035,52 +2035,52 @@  discard block
 block discarded – undo
2035 2035
     }
2036 2036
 }
2037 2037
 
2038
-function wpinv_cart_total_label( $label, $invoice ) {
2039
-    if ( empty( $invoice ) ) {
2038
+function wpinv_cart_total_label($label, $invoice) {
2039
+    if (empty($invoice)) {
2040 2040
         return $label;
2041 2041
     }
2042 2042
 
2043 2043
     $prefix_label = '';
2044
-    if ( $invoice->is_parent() && $item_id = $invoice->get_recurring() ) {
2045
-        $prefix_label   = '<span class="label label-primary label-recurring">' . __( 'Recurring Payment', 'invoicing' ) . '</span> ' . wpinv_subscription_payment_desc( $invoice );
2046
-    } else if ( $invoice->is_renewal() ) {
2047
-        $prefix_label   = '<span class="label label-primary label-renewal">' . __( 'Renewal Payment', 'invoicing' ) . '</span> ';        
2044
+    if ($invoice->is_parent() && $item_id = $invoice->get_recurring()) {
2045
+        $prefix_label   = '<span class="label label-primary label-recurring">' . __('Recurring Payment', 'invoicing') . '</span> ' . wpinv_subscription_payment_desc($invoice);
2046
+    } else if ($invoice->is_renewal()) {
2047
+        $prefix_label   = '<span class="label label-primary label-renewal">' . __('Renewal Payment', 'invoicing') . '</span> ';        
2048 2048
     }
2049 2049
 
2050
-    if ( $prefix_label != '' ) {
2051
-        $label  = '<span class="wpinv-cart-sub-desc">' . $prefix_label . '</span> ' . $label;
2050
+    if ($prefix_label != '') {
2051
+        $label = '<span class="wpinv-cart-sub-desc">' . $prefix_label . '</span> ' . $label;
2052 2052
     }
2053 2053
 
2054 2054
     return $label;
2055 2055
 }
2056
-add_filter( 'wpinv_cart_total_label', 'wpinv_cart_total_label', 10, 2 );
2057
-add_filter( 'wpinv_email_cart_total_label', 'wpinv_cart_total_label', 10, 2 );
2058
-add_filter( 'wpinv_print_cart_total_label', 'wpinv_cart_total_label', 10, 2 );
2056
+add_filter('wpinv_cart_total_label', 'wpinv_cart_total_label', 10, 2);
2057
+add_filter('wpinv_email_cart_total_label', 'wpinv_cart_total_label', 10, 2);
2058
+add_filter('wpinv_print_cart_total_label', 'wpinv_cart_total_label', 10, 2);
2059 2059
 
2060
-add_action( 'wpinv_invoice_print_middle', 'wpinv_invoice_subscription_details', 10, 1 );
2060
+add_action('wpinv_invoice_print_middle', 'wpinv_invoice_subscription_details', 10, 1);
2061 2061
 
2062
-function wpinv_invoice_print_description( $invoice ) {
2063
-    if ( empty( $invoice ) ) {
2062
+function wpinv_invoice_print_description($invoice) {
2063
+    if (empty($invoice)) {
2064 2064
         return NULL;
2065 2065
     }
2066
-    if ( $description = wpinv_get_invoice_description( $invoice->ID ) ) {
2066
+    if ($description = wpinv_get_invoice_description($invoice->ID)) {
2067 2067
         ?>
2068 2068
         <div class="row wpinv-lower">
2069 2069
             <div class="col-sm-12 wpinv-description">
2070
-                <?php echo wpautop( $description ); ?>
2070
+                <?php echo wpautop($description); ?>
2071 2071
             </div>
2072 2072
         </div>
2073 2073
         <?php
2074 2074
     }
2075 2075
 }
2076
-add_action( 'wpinv_invoice_print_middle', 'wpinv_invoice_print_description', 10.1, 1 );
2076
+add_action('wpinv_invoice_print_middle', 'wpinv_invoice_print_description', 10.1, 1);
2077 2077
 
2078
-function wpinv_invoice_print_payment_info( $invoice ) {
2079
-    if ( empty( $invoice ) ) {
2078
+function wpinv_invoice_print_payment_info($invoice) {
2079
+    if (empty($invoice)) {
2080 2080
         return NULL;
2081 2081
     }
2082 2082
 
2083
-    if ( $payments_info = wpinv_display_payments_info( $invoice->ID, false ) ) {
2083
+    if ($payments_info = wpinv_display_payments_info($invoice->ID, false)) {
2084 2084
         ?>
2085 2085
         <div class="row wpinv-payments">
2086 2086
             <div class="col-sm-12">
@@ -2092,43 +2092,43 @@  discard block
 block discarded – undo
2092 2092
 }
2093 2093
 // add_action( 'wpinv_invoice_print_after_line_items', 'wpinv_invoice_print_payment_info', 10, 1 );
2094 2094
 
2095
-function wpinv_get_invoice_note_line_item( $note, $echo = true ) {
2096
-    if ( empty( $note ) ) {
2095
+function wpinv_get_invoice_note_line_item($note, $echo = true) {
2096
+    if (empty($note)) {
2097 2097
         return NULL;
2098 2098
     }
2099 2099
 
2100
-    if ( is_int( $note ) ) {
2101
-        $note = get_comment( $note );
2100
+    if (is_int($note)) {
2101
+        $note = get_comment($note);
2102 2102
     }
2103 2103
 
2104
-    if ( !( is_object( $note ) && is_a( $note, 'WP_Comment' ) ) ) {
2104
+    if (!(is_object($note) && is_a($note, 'WP_Comment'))) {
2105 2105
         return NULL;
2106 2106
     }
2107 2107
 
2108
-    $note_classes   = array( 'note' );
2109
-    $note_classes[] = get_comment_meta( $note->comment_ID, '_wpi_customer_note', true ) ? 'customer-note' : '';
2108
+    $note_classes   = array('note');
2109
+    $note_classes[] = get_comment_meta($note->comment_ID, '_wpi_customer_note', true) ? 'customer-note' : '';
2110 2110
     $note_classes[] = $note->comment_author === 'System' ? 'system-note' : '';
2111
-    $note_classes   = apply_filters( 'wpinv_invoice_note_class', array_filter( $note_classes ), $note );
2112
-    $note_classes   = !empty( $note_classes ) ? implode( ' ', $note_classes ) : '';
2111
+    $note_classes   = apply_filters('wpinv_invoice_note_class', array_filter($note_classes), $note);
2112
+    $note_classes   = !empty($note_classes) ? implode(' ', $note_classes) : '';
2113 2113
 
2114 2114
     ob_start();
2115 2115
     ?>
2116
-    <li rel="<?php echo absint( $note->comment_ID ) ; ?>" class="<?php echo esc_attr( $note_classes ); ?>">
2116
+    <li rel="<?php echo absint($note->comment_ID); ?>" class="<?php echo esc_attr($note_classes); ?>">
2117 2117
         <div class="note_content">
2118
-            <?php echo wpautop( wptexturize( wp_kses_post( $note->comment_content ) ) ); ?>
2118
+            <?php echo wpautop(wptexturize(wp_kses_post($note->comment_content))); ?>
2119 2119
         </div>
2120 2120
         <p class="meta">
2121
-            <abbr class="exact-date" title="<?php echo $note->comment_date; ?>"><?php printf( __( '%1$s - %2$s at %3$s', 'invoicing' ), $note->comment_author, date_i18n( get_option( 'date_format' ), strtotime( $note->comment_date ) ), date_i18n( get_option( 'time_format' ), strtotime( $note->comment_date ) ) ); ?></abbr>&nbsp;&nbsp;
2122
-            <?php if ( $note->comment_author !== 'System' || wpinv_current_user_can_manage_invoicing() ) { ?>
2123
-                <a href="#" class="delete_note"><?php _e( 'Delete note', 'invoicing' ); ?></a>
2121
+            <abbr class="exact-date" title="<?php echo $note->comment_date; ?>"><?php printf(__('%1$s - %2$s at %3$s', 'invoicing'), $note->comment_author, date_i18n(get_option('date_format'), strtotime($note->comment_date)), date_i18n(get_option('time_format'), strtotime($note->comment_date))); ?></abbr>&nbsp;&nbsp;
2122
+            <?php if ($note->comment_author !== 'System' || wpinv_current_user_can_manage_invoicing()) { ?>
2123
+                <a href="#" class="delete_note"><?php _e('Delete note', 'invoicing'); ?></a>
2124 2124
             <?php } ?>
2125 2125
         </p>
2126 2126
     </li>
2127 2127
     <?php
2128 2128
     $note_content = ob_get_clean();
2129
-    $note_content = apply_filters( 'wpinv_get_invoice_note_line_item', $note_content, $note, $echo );
2129
+    $note_content = apply_filters('wpinv_get_invoice_note_line_item', $note_content, $note, $echo);
2130 2130
 
2131
-    if ( $echo ) {
2131
+    if ($echo) {
2132 2132
         echo $note_content;
2133 2133
     } else {
2134 2134
         return $note_content;
@@ -2138,43 +2138,43 @@  discard block
 block discarded – undo
2138 2138
 function wpinv_invalid_invoice_content() {
2139 2139
     global $post;
2140 2140
 
2141
-    $invoice = wpinv_get_invoice( $post->ID );
2141
+    $invoice = wpinv_get_invoice($post->ID);
2142 2142
 
2143
-    $error = __( 'This invoice is only viewable by clicking on the invoice link that sent to you via email.', 'invoicing' );
2144
-    if ( !empty( $invoice->ID ) && $invoice->has_status( array_keys( wpinv_get_invoice_statuses() ) ) ) {
2145
-        if ( is_user_logged_in() ) {
2146
-            if ( wpinv_require_login_to_checkout() ) {
2147
-                if ( isset( $_GET['invoice_key'] ) && $_GET['invoice_key'] === $invoice->get_key() ) {
2148
-                    $error = __( 'You are not allowed to view this invoice.', 'invoicing' );
2143
+    $error = __('This invoice is only viewable by clicking on the invoice link that sent to you via email.', 'invoicing');
2144
+    if (!empty($invoice->ID) && $invoice->has_status(array_keys(wpinv_get_invoice_statuses()))) {
2145
+        if (is_user_logged_in()) {
2146
+            if (wpinv_require_login_to_checkout()) {
2147
+                if (isset($_GET['invoice_key']) && $_GET['invoice_key'] === $invoice->get_key()) {
2148
+                    $error = __('You are not allowed to view this invoice.', 'invoicing');
2149 2149
                 }
2150 2150
             }
2151 2151
         } else {
2152
-            if ( wpinv_require_login_to_checkout() ) {
2153
-                if ( isset( $_GET['invoice_key'] ) && $_GET['invoice_key'] === $invoice->get_key() ) {
2154
-                    $error = __( 'You must be logged in to view this invoice.', 'invoicing' );
2152
+            if (wpinv_require_login_to_checkout()) {
2153
+                if (isset($_GET['invoice_key']) && $_GET['invoice_key'] === $invoice->get_key()) {
2154
+                    $error = __('You must be logged in to view this invoice.', 'invoicing');
2155 2155
                 }
2156 2156
             }
2157 2157
         }
2158 2158
     } else {
2159
-        $error = __( 'This invoice is deleted or does not exist.', 'invoicing' );
2159
+        $error = __('This invoice is deleted or does not exist.', 'invoicing');
2160 2160
     }
2161 2161
     ?>
2162 2162
     <div class="row wpinv-row-invalid">
2163 2163
         <div class="col-md-6 col-md-offset-3 wpinv-message error">
2164
-            <h3><?php _e( 'Access Denied', 'invoicing' ); ?></h3>
2164
+            <h3><?php _e('Access Denied', 'invoicing'); ?></h3>
2165 2165
             <p class="wpinv-msg-text"><?php echo $error; ?></p>
2166 2166
         </div>
2167 2167
     </div>
2168 2168
     <?php
2169 2169
 }
2170
-add_action( 'wpinv_invalid_invoice_content', 'wpinv_invalid_invoice_content' );
2170
+add_action('wpinv_invalid_invoice_content', 'wpinv_invalid_invoice_content');
2171 2171
 
2172
-add_action( 'wpinv_checkout_billing_fields_last', 'wpinv_force_company_name_field');
2173
-function wpinv_force_company_name_field(){
2172
+add_action('wpinv_checkout_billing_fields_last', 'wpinv_force_company_name_field');
2173
+function wpinv_force_company_name_field() {
2174 2174
     $invoice = wpinv_get_invoice_cart();
2175
-    $user_id = wpinv_get_user_id( $invoice->ID );
2176
-    $company = empty( $user_id ) ? "" : get_user_meta( $user_id, '_wpinv_company', true );
2177
-    if ( 1 == wpinv_get_option( 'force_show_company' ) && !wpinv_use_taxes() ) {
2175
+    $user_id = wpinv_get_user_id($invoice->ID);
2176
+    $company = empty($user_id) ? "" : get_user_meta($user_id, '_wpinv_company', true);
2177
+    if (1 == wpinv_get_option('force_show_company') && !wpinv_use_taxes()) {
2178 2178
         ?>
2179 2179
         <p class="wpi-cart-field wpi-col2 wpi-colf">
2180 2180
             <label for="wpinv_company" class="wpi-label"><?php _e('Company Name', 'invoicing'); ?></label>
@@ -2199,21 +2199,21 @@  discard block
 block discarded – undo
2199 2199
  * @return string
2200 2200
  */
2201 2201
 function wpinv_get_policy_text() {
2202
-    $privacy_page_id = get_option( 'wp_page_for_privacy_policy', 0 );
2202
+    $privacy_page_id = get_option('wp_page_for_privacy_policy', 0);
2203 2203
 
2204
-    $text = wpinv_get_option('invoicing_privacy_checkout_message', sprintf( __( 'Your personal data will be used to process your invoice, payment and for other purposes described in our %s.', 'invoicing' ), '[wpinv_privacy_policy]' ));
2204
+    $text = wpinv_get_option('invoicing_privacy_checkout_message', sprintf(__('Your personal data will be used to process your invoice, payment and for other purposes described in our %s.', 'invoicing'), '[wpinv_privacy_policy]'));
2205 2205
 
2206
-    if(!$privacy_page_id){
2207
-        $privacy_page_id = wpinv_get_option( 'privacy_page', 0 );
2206
+    if (!$privacy_page_id) {
2207
+        $privacy_page_id = wpinv_get_option('privacy_page', 0);
2208 2208
     }
2209 2209
 
2210
-    $privacy_link    = $privacy_page_id ? '<a href="' . esc_url( get_permalink( $privacy_page_id ) ) . '" class="wpinv-privacy-policy-link" target="_blank">' . __( 'privacy policy', 'invoicing' ) . '</a>' : __( 'privacy policy', 'invoicing' );
2210
+    $privacy_link = $privacy_page_id ? '<a href="' . esc_url(get_permalink($privacy_page_id)) . '" class="wpinv-privacy-policy-link" target="_blank">' . __('privacy policy', 'invoicing') . '</a>' : __('privacy policy', 'invoicing');
2211 2211
 
2212 2212
     $find_replace = array(
2213 2213
         '[wpinv_privacy_policy]' => $privacy_link,
2214 2214
     );
2215 2215
 
2216
-    $privacy_text = str_replace( array_keys( $find_replace ), array_values( $find_replace ), $text );
2216
+    $privacy_text = str_replace(array_keys($find_replace), array_values($find_replace), $text);
2217 2217
 
2218 2218
     return wp_kses_post(wpautop($privacy_text));
2219 2219
 }
@@ -2222,25 +2222,25 @@  discard block
 block discarded – undo
2222 2222
 /**
2223 2223
  * Allows the user to set their own price for an invoice item
2224 2224
  */
2225
-function wpinv_checkout_cart_item_name_your_price( $cart_item, $key ) {
2225
+function wpinv_checkout_cart_item_name_your_price($cart_item, $key) {
2226 2226
     
2227 2227
     //Ensure we have an item id
2228
-    if(! is_array( $cart_item ) || empty( $cart_item['id'] ) ) {
2228
+    if (!is_array($cart_item) || empty($cart_item['id'])) {
2229 2229
         return;
2230 2230
     }
2231 2231
 
2232 2232
     //Fetch the item
2233 2233
     $item_id = $cart_item['id'];
2234
-    $item    = new WPInv_Item( $item_id );
2234
+    $item    = new WPInv_Item($item_id);
2235 2235
     
2236
-    if(! $item->supports_dynamic_pricing() || !$item->get_is_dynamic_pricing() ) {
2236
+    if (!$item->supports_dynamic_pricing() || !$item->get_is_dynamic_pricing()) {
2237 2237
         return;
2238 2238
     }
2239 2239
 
2240 2240
     //Fetch the dynamic pricing "strings"
2241
-    $suggested_price_text = esc_html( wpinv_get_option( 'suggested_price_text', __( 'Suggested Price:', 'invoicing' ) ) );
2242
-    $minimum_price_text   = esc_html( wpinv_get_option( 'minimum_price_text', __( 'Minimum Price:', 'invoicing' ) ) );
2243
-    $name_your_price_text = esc_html( wpinv_get_option( 'name_your_price_text', __( 'Name Your Price', 'invoicing' ) ) );
2241
+    $suggested_price_text = esc_html(wpinv_get_option('suggested_price_text', __('Suggested Price:', 'invoicing')));
2242
+    $minimum_price_text   = esc_html(wpinv_get_option('minimum_price_text', __('Minimum Price:', 'invoicing')));
2243
+    $name_your_price_text = esc_html(wpinv_get_option('name_your_price_text', __('Name Your Price', 'invoicing')));
2244 2244
 
2245 2245
     //Display a "name_your_price" button
2246 2246
     echo " &mdash; <a href='#' class='wpinv-name-your-price-frontend small'>$name_your_price_text</a></div>";
@@ -2249,7 +2249,7 @@  discard block
 block discarded – undo
2249 2249
     echo '<div class="name-your-price-miniform">';
2250 2250
     
2251 2251
     //Maybe display the recommended price
2252
-    if( $item->get_price() > 0 && !empty( $suggested_price_text ) ) {
2252
+    if ($item->get_price() > 0 && !empty($suggested_price_text)) {
2253 2253
         $suggested_price = $item->get_the_price();
2254 2254
         echo "<div>$suggested_price_text &mdash; $suggested_price</div>";
2255 2255
     }
@@ -2257,50 +2257,50 @@  discard block
 block discarded – undo
2257 2257
     //Display the update price form
2258 2258
     $symbol         = wpinv_currency_symbol();
2259 2259
     $position       = wpinv_currency_position();
2260
-    $minimum        = esc_attr( $item->get_minimum_price() );
2261
-    $price          = esc_attr( $cart_item['item_price'] );
2262
-    $update         = esc_attr__( "Update", 'invoicing' );
2260
+    $minimum        = esc_attr($item->get_minimum_price());
2261
+    $price          = esc_attr($cart_item['item_price']);
2262
+    $update         = esc_attr__("Update", 'invoicing');
2263 2263
 
2264 2264
     //Ensure it supports dynamic prici
2265
-    if( $price < $minimum ) {
2265
+    if ($price < $minimum) {
2266 2266
         $price = $minimum;
2267 2267
     }
2268 2268
 
2269 2269
     echo '<label>';
2270 2270
     echo $position != 'right' ? $symbol . '&nbsp;' : '';
2271 2271
     echo "<input type='number' min='$minimum' placeholder='$price' value='$price' class='wpi-field-price' />";
2272
-    echo $position == 'right' ? '&nbsp;' . $symbol : '' ;
2272
+    echo $position == 'right' ? '&nbsp;' . $symbol : '';
2273 2273
     echo "</label>";
2274 2274
     echo "<input type='hidden' value='$item_id' class='wpi-field-item' />";
2275 2275
     echo "<a class='btn btn-success wpinv-submit wpinv-update-dynamic-price-frontend'>$update</a>";
2276 2276
 
2277 2277
     //Maybe display the minimum price
2278
-    if( $item->get_minimum_price() > 0 && !empty( $minimum_price_text ) ) {
2279
-        $minimum_price = wpinv_price( wpinv_format_amount( $item->get_minimum_price() ) );
2278
+    if ($item->get_minimum_price() > 0 && !empty($minimum_price_text)) {
2279
+        $minimum_price = wpinv_price(wpinv_format_amount($item->get_minimum_price()));
2280 2280
         echo "<div>$minimum_price_text &mdash; $minimum_price</div>";
2281 2281
     }
2282 2282
 
2283 2283
     echo "</div>";
2284 2284
 
2285 2285
 }
2286
-add_action( 'wpinv_checkout_cart_item_price_after', 'wpinv_checkout_cart_item_name_your_price', 10, 2 );
2286
+add_action('wpinv_checkout_cart_item_price_after', 'wpinv_checkout_cart_item_name_your_price', 10, 2);
2287 2287
 
2288 2288
 function wpinv_oxygen_fix_conflict() {
2289 2289
     global $ct_ignore_post_types;
2290 2290
 
2291
-    if ( ! is_array( $ct_ignore_post_types ) ) {
2291
+    if (!is_array($ct_ignore_post_types)) {
2292 2292
         $ct_ignore_post_types = array();
2293 2293
     }
2294 2294
 
2295
-    $post_types = array( 'wpi_discount', 'wpi_invoice', 'wpi_item' );
2295
+    $post_types = array('wpi_discount', 'wpi_invoice', 'wpi_item');
2296 2296
 
2297
-    foreach ( $post_types as $post_type ) {
2297
+    foreach ($post_types as $post_type) {
2298 2298
         $ct_ignore_post_types[] = $post_type;
2299 2299
 
2300 2300
         // Ignore post type
2301
-        add_filter( 'pre_option_oxygen_vsb_ignore_post_type_' . $post_type, '__return_true', 999 );
2301
+        add_filter('pre_option_oxygen_vsb_ignore_post_type_' . $post_type, '__return_true', 999);
2302 2302
     }
2303 2303
 
2304
-    remove_filter( 'template_include', 'wpinv_template', 10, 1 );
2305
-    add_filter( 'template_include', 'wpinv_template', 999, 1 );
2304
+    remove_filter('template_include', 'wpinv_template', 10, 1);
2305
+    add_filter('template_include', 'wpinv_template', 999, 1);
2306 2306
 }
2307 2307
\ No newline at end of file
Please login to merge, or discard this patch.
includes/api/class-wpinv-rest-invoice-controller.php 2 patches
Indentation   +1115 added lines, -1115 removed lines patch added patch discarded remove patch
@@ -20,31 +20,31 @@  discard block
 block discarded – undo
20 20
 class WPInv_REST_Invoice_Controller extends WP_REST_Posts_Controller {
21 21
 
22 22
     /**
23
-	 * Post type.
24
-	 *
25
-	 * @var string
26
-	 */
27
-	protected $post_type = 'wpi_invoice';
23
+     * Post type.
24
+     *
25
+     * @var string
26
+     */
27
+    protected $post_type = 'wpi_invoice';
28 28
 	
29
-	/**
30
-	 * Cached results of get_item_schema.
31
-	 *
32
-	 * @since 1.0.13
33
-	 * @var array
34
-	 */
35
-	protected $schema;
29
+    /**
30
+     * Cached results of get_item_schema.
31
+     *
32
+     * @since 1.0.13
33
+     * @var array
34
+     */
35
+    protected $schema;
36 36
 
37 37
     /**
38
-	 * Constructor.
39
-	 *
40
-	 * @since 1.0.13
41
-	 *
42
-	 * @param string $namespace Api Namespace
43
-	 */
44
-	public function __construct( $namespace ) {
38
+     * Constructor.
39
+     *
40
+     * @since 1.0.13
41
+     *
42
+     * @param string $namespace Api Namespace
43
+     */
44
+    public function __construct( $namespace ) {
45 45
         
46 46
         // Set api namespace...
47
-		$this->namespace = $namespace;
47
+        $this->namespace = $namespace;
48 48
 
49 49
         // ... and the rest base
50 50
         $this->rest_base = 'invoices';
@@ -52,39 +52,39 @@  discard block
 block discarded – undo
52 52
     }
53 53
     
54 54
     /**
55
-	 * Checks if a given request has access to read invoices.
55
+     * Checks if a given request has access to read invoices.
56 56
      * 
57
-	 *
58
-	 * @since 1.0.13
59
-	 *
60
-	 * @param WP_REST_Request $request Full details about the request.
61
-	 * @return true|WP_Error True if the request has read access, WP_Error object otherwise.
62
-	 */
63
-	public function get_items_permissions_check( $request ) {
57
+     *
58
+     * @since 1.0.13
59
+     *
60
+     * @param WP_REST_Request $request Full details about the request.
61
+     * @return true|WP_Error True if the request has read access, WP_Error object otherwise.
62
+     */
63
+    public function get_items_permissions_check( $request ) {
64 64
 	
65 65
         $post_type = get_post_type_object( $this->post_type );
66 66
 
67
-		if ( 'edit' === $request['context'] && ! current_user_can( $post_type->cap->edit_posts ) ) {
68
-			return new WP_Error( 'rest_forbidden_context', __( 'Sorry, you are not allowed to edit invoices.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
69
-		}
67
+        if ( 'edit' === $request['context'] && ! current_user_can( $post_type->cap->edit_posts ) ) {
68
+            return new WP_Error( 'rest_forbidden_context', __( 'Sorry, you are not allowed to edit invoices.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
69
+        }
70 70
 
71
-		// Read checks will be evaluated on a per invoice basis
71
+        // Read checks will be evaluated on a per invoice basis
72 72
 
73
-		return true;
73
+        return true;
74 74
 
75 75
     }
76 76
     
77 77
     /**
78
-	 * Retrieves a collection of invoices.
79
-	 *
80
-	 * @since 1.0.13
81
-	 *
82
-	 * @param WP_REST_Request $request Full details about the request.
83
-	 * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
84
-	 */
85
-	public function get_items( $request ) {
78
+     * Retrieves a collection of invoices.
79
+     *
80
+     * @since 1.0.13
81
+     *
82
+     * @param WP_REST_Request $request Full details about the request.
83
+     * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
84
+     */
85
+    public function get_items( $request ) {
86 86
 		
87
-		// Retrieve the list of registered invoice query parameters.
87
+        // Retrieve the list of registered invoice query parameters.
88 88
         $registered = $this->get_collection_params();
89 89
         
90 90
         $args       = array();
@@ -97,54 +97,54 @@  discard block
 block discarded – undo
97 97
 
98 98
         }
99 99
 
100
-		/**
101
-		 * Filters the wpinv_get_invoices arguments for invoices requests.
102
-		 *
103
-		 *
104
-		 * @since 1.0.13
105
-		 *
106
-		 *
107
-		 * @param array           $args    Key value array of query var to query value.
108
-		 * @param WP_REST_Request $request The request used.
109
-		 */
100
+        /**
101
+         * Filters the wpinv_get_invoices arguments for invoices requests.
102
+         *
103
+         *
104
+         * @since 1.0.13
105
+         *
106
+         *
107
+         * @param array           $args    Key value array of query var to query value.
108
+         * @param WP_REST_Request $request The request used.
109
+         */
110 110
         $args       = apply_filters( "wpinv_rest_get_invoices_arguments", $args, $request, $this );
111 111
 		
112
-		// Special args
113
-		$args[ 'return' ]   = 'objects';
114
-		$args[ 'paginate' ] = true;
112
+        // Special args
113
+        $args[ 'return' ]   = 'objects';
114
+        $args[ 'paginate' ] = true;
115 115
 
116 116
         // Run the query.
117
-		$query = wpinv_get_invoices( $args );
117
+        $query = wpinv_get_invoices( $args );
118 118
 		
119
-		// Prepare the retrieved invoices
120
-		$invoices = array();
121
-		foreach( $query->invoices as $invoice ) {
122
-
123
-			if ( ! $this->check_read_permission( $invoice ) ) {
124
-				continue;
125
-			}
126
-
127
-			$data       = $this->prepare_item_for_response( $invoice, $request );
128
-			$invoices[] = $this->prepare_response_for_collection( $data );
129
-
130
-		}
131
-
132
-		// Prepare the response.
133
-		$response = rest_ensure_response( $invoices );
134
-		$response->header( 'X-WP-Total', (int) $query->total );
135
-		$response->header( 'X-WP-TotalPages', (int) $query->max_num_pages );
136
-
137
-		/**
138
-		 * Filters the responses for invoices requests.
139
-		 *
140
-		 *
141
-		 * @since 1.0.13
142
-		 *
143
-		 *
144
-		 * @param arrWP_REST_Response $response    Response object.
145
-		 * @param WP_REST_Request     $request The request used.
119
+        // Prepare the retrieved invoices
120
+        $invoices = array();
121
+        foreach( $query->invoices as $invoice ) {
122
+
123
+            if ( ! $this->check_read_permission( $invoice ) ) {
124
+                continue;
125
+            }
126
+
127
+            $data       = $this->prepare_item_for_response( $invoice, $request );
128
+            $invoices[] = $this->prepare_response_for_collection( $data );
129
+
130
+        }
131
+
132
+        // Prepare the response.
133
+        $response = rest_ensure_response( $invoices );
134
+        $response->header( 'X-WP-Total', (int) $query->total );
135
+        $response->header( 'X-WP-TotalPages', (int) $query->max_num_pages );
136
+
137
+        /**
138
+         * Filters the responses for invoices requests.
139
+         *
140
+         *
141
+         * @since 1.0.13
142
+         *
143
+         *
144
+         * @param arrWP_REST_Response $response    Response object.
145
+         * @param WP_REST_Request     $request The request used.
146 146
          * @param array               $args Array of args used to retrieve the invoices
147
-		 */
147
+         */
148 148
         $response       = apply_filters( "rest_wpinv_invoices_response", $response, $request, $args );
149 149
 
150 150
         return rest_ensure_response( $response );
@@ -152,25 +152,25 @@  discard block
 block discarded – undo
152 152
     }
153 153
 
154 154
     /**
155
-	 * Get the post, if the ID is valid.
156
-	 *
157
-	 * @since 1.0.13
158
-	 *
159
-	 * @param int $invoice_id Supplied ID.
160
-	 * @return WPInv_Invoice|WP_Error Invoice object if ID is valid, WP_Error otherwise.
161
-	 */
162
-	protected function get_post( $invoice_id ) {
155
+     * Get the post, if the ID is valid.
156
+     *
157
+     * @since 1.0.13
158
+     *
159
+     * @param int $invoice_id Supplied ID.
160
+     * @return WPInv_Invoice|WP_Error Invoice object if ID is valid, WP_Error otherwise.
161
+     */
162
+    protected function get_post( $invoice_id ) {
163 163
 		
164
-		$error     = new WP_Error( 'rest_invoice_invalid_id', __( 'Invalid invoice ID.', 'invoicing' ), array( 'status' => 404 ) );
164
+        $error     = new WP_Error( 'rest_invoice_invalid_id', __( 'Invalid invoice ID.', 'invoicing' ), array( 'status' => 404 ) );
165 165
 
166 166
         // Ids start from 1
167 167
         if ( (int) $invoice_id <= 0 ) {
168
-			return $error;
169
-		}
168
+            return $error;
169
+        }
170 170
 
171
-		$invoice = wpinv_get_invoice( (int) $invoice_id );
172
-		if ( empty( $invoice ) ) {
173
-			return $error;
171
+        $invoice = wpinv_get_invoice( (int) $invoice_id );
172
+        if ( empty( $invoice ) ) {
173
+            return $error;
174 174
         }
175 175
 
176 176
         return $invoice;
@@ -178,77 +178,77 @@  discard block
 block discarded – undo
178 178
     }
179 179
 
180 180
     /**
181
-	 * Checks if a given request has access to read an invoice.
182
-	 *
183
-	 * @since 1.0.13
184
-	 *
185
-	 * @param WP_REST_Request $request Full details about the request.
186
-	 * @return bool|WP_Error True if the request has read access for the invoice, WP_Error object otherwise.
187
-	 */
188
-	public function get_item_permissions_check( $request ) {
181
+     * Checks if a given request has access to read an invoice.
182
+     *
183
+     * @since 1.0.13
184
+     *
185
+     * @param WP_REST_Request $request Full details about the request.
186
+     * @return bool|WP_Error True if the request has read access for the invoice, WP_Error object otherwise.
187
+     */
188
+    public function get_item_permissions_check( $request ) {
189 189
 
190 190
         // Retrieve the invoice object.
191 191
         $invoice = $this->get_post( $request['id'] );
192 192
         
193 193
         // Ensure it is valid.
194
-		if ( is_wp_error( $invoice ) ) {
195
-			return $invoice;
196
-		}
194
+        if ( is_wp_error( $invoice ) ) {
195
+            return $invoice;
196
+        }
197 197
 
198
-		if ( $invoice ) {
199
-			return $this->check_read_permission( $invoice );
200
-		}
198
+        if ( $invoice ) {
199
+            return $this->check_read_permission( $invoice );
200
+        }
201 201
 
202
-		return true;
202
+        return true;
203 203
     }
204 204
     
205 205
     /**
206
-	 * Checks if an invoice can be read.
207
-	 * 
208
-	 * An invoice can be read by site admins and owners of the invoice
209
-	 *
210
-	 *
211
-	 * @since 1.0.13
212
-	 *
213
-	 * @param WPInv_Invoice $invoice WPInv_Invoice object.
214
-	 * @return bool Whether the post can be read.
215
-	 */
216
-	public function check_read_permission( $invoice ) {
217
-		return wpinv_user_can_view_invoice( $invoice->ID );
206
+     * Checks if an invoice can be read.
207
+     * 
208
+     * An invoice can be read by site admins and owners of the invoice
209
+     *
210
+     *
211
+     * @since 1.0.13
212
+     *
213
+     * @param WPInv_Invoice $invoice WPInv_Invoice object.
214
+     * @return bool Whether the post can be read.
215
+     */
216
+    public function check_read_permission( $invoice ) {
217
+        return wpinv_user_can_view_invoice( $invoice->ID );
218 218
     }
219 219
     
220 220
     /**
221
-	 * Retrieves a single invoice.
222
-	 *
223
-	 * @since 1.0.13
224
-	 *
225
-	 * @param WP_REST_Request $request Full details about the request.
226
-	 * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
227
-	 */
228
-	public function get_item( $request ) {
221
+     * Retrieves a single invoice.
222
+     *
223
+     * @since 1.0.13
224
+     *
225
+     * @param WP_REST_Request $request Full details about the request.
226
+     * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
227
+     */
228
+    public function get_item( $request ) {
229 229
 
230 230
         // Fetch the invoice.
231 231
         $invoice = $this->get_post( $request['id'] );
232 232
         
233 233
         // Abort early if it does not exist
234
-		if ( is_wp_error( $invoice ) ) {
235
-			return $invoice;
236
-		}
237
-
238
-		// Prepare the response
239
-		$response = $this->prepare_item_for_response( $invoice, $request );
240
-		$response->link_header( 'alternate', esc_url( $invoice->get_view_url() ), array( 'type' => 'text/html' ) );
241
-
242
-		/**
243
-		 * Filters the responses for single invoice requests.
244
-		 *
245
-		 *
246
-		 * @since 1.0.13
247
-		 * @var WP_HTTP_Response
248
-		 *
249
-		 * @param WP_HTTP_Response $response Response.
250
-		 * @param WP_REST_Request  $request The request used.
251
-		 */
234
+        if ( is_wp_error( $invoice ) ) {
235
+            return $invoice;
236
+        }
237
+
238
+        // Prepare the response
239
+        $response = $this->prepare_item_for_response( $invoice, $request );
240
+        $response->link_header( 'alternate', esc_url( $invoice->get_view_url() ), array( 'type' => 'text/html' ) );
241
+
242
+        /**
243
+         * Filters the responses for single invoice requests.
244
+         *
245
+         *
246
+         * @since 1.0.13
247
+         * @var WP_HTTP_Response
248
+         *
249
+         * @param WP_HTTP_Response $response Response.
250
+         * @param WP_REST_Request  $request The request used.
251
+         */
252 252
         $response       = apply_filters( "rest_wpinv_get_invoice_response", $response, $request );
253 253
 
254 254
         return rest_ensure_response( $response );
@@ -256,23 +256,23 @@  discard block
 block discarded – undo
256 256
     }
257 257
     
258 258
     /**
259
-	 * Checks if a given request has access to create an invoice.
260
-	 *
261
-	 * @since 1.0.13
262
-	 *
263
-	 * @param WP_REST_Request $request Full details about the request.
264
-	 * @return true|WP_Error True if the request has access to create items, WP_Error object otherwise.
265
-	 */
266
-	public function create_item_permissions_check( $request ) {
259
+     * Checks if a given request has access to create an invoice.
260
+     *
261
+     * @since 1.0.13
262
+     *
263
+     * @param WP_REST_Request $request Full details about the request.
264
+     * @return true|WP_Error True if the request has access to create items, WP_Error object otherwise.
265
+     */
266
+    public function create_item_permissions_check( $request ) {
267 267
 	
268
-		if ( ! empty( $request['id'] ) ) {
269
-			return new WP_Error( 'rest_invoice_exists', __( 'Cannot create existing invoice.', 'invoicing' ), array( 'status' => 400 ) );
270
-		}
268
+        if ( ! empty( $request['id'] ) ) {
269
+            return new WP_Error( 'rest_invoice_exists', __( 'Cannot create existing invoice.', 'invoicing' ), array( 'status' => 400 ) );
270
+        }
271 271
 
272
-		$post_type = get_post_type_object( $this->post_type );
272
+        $post_type = get_post_type_object( $this->post_type );
273 273
 
274
-		if ( ! current_user_can( $post_type->cap->create_posts ) ) {
275
-			return new WP_Error( 
274
+        if ( ! current_user_can( $post_type->cap->create_posts ) ) {
275
+            return new WP_Error( 
276 276
                 'rest_cannot_create', 
277 277
                 __( 'Sorry, you are not allowed to create invoices as this user.', 'invoicing' ), 
278 278
                 array( 
@@ -281,88 +281,88 @@  discard block
 block discarded – undo
281 281
             );
282 282
         }
283 283
 
284
-		return true;
284
+        return true;
285 285
     }
286 286
     
287 287
     /**
288
-	 * Creates a single invoice.
289
-	 *
290
-	 * @since 1.0.13
291
-	 *
292
-	 * @param WP_REST_Request $request Full details about the request.
293
-	 * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
294
-	 */
295
-	public function create_item( $request ) {
296
-
297
-		if ( ! empty( $request['id'] ) ) {
298
-			return new WP_Error( 'rest_invoice_exists', __( 'Cannot create existing invoice.', 'invoicing' ), array( 'status' => 400 ) );
299
-		}
288
+     * Creates a single invoice.
289
+     *
290
+     * @since 1.0.13
291
+     *
292
+     * @param WP_REST_Request $request Full details about the request.
293
+     * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
294
+     */
295
+    public function create_item( $request ) {
296
+
297
+        if ( ! empty( $request['id'] ) ) {
298
+            return new WP_Error( 'rest_invoice_exists', __( 'Cannot create existing invoice.', 'invoicing' ), array( 'status' => 400 ) );
299
+        }
300 300
 
301
-		$request->set_param( 'context', 'edit' );
301
+        $request->set_param( 'context', 'edit' );
302 302
 
303
-		// Prepare the updated data.
304
-		$invoice_data = wp_unslash( $this->prepare_item_for_database( $request ) );
303
+        // Prepare the updated data.
304
+        $invoice_data = wp_unslash( $this->prepare_item_for_database( $request ) );
305 305
 
306
-		if ( is_wp_error( $invoice_data ) ) {
307
-			return $invoice_data;
308
-		}
306
+        if ( is_wp_error( $invoice_data ) ) {
307
+            return $invoice_data;
308
+        }
309 309
 
310
-		// Try creating the invoice
310
+        // Try creating the invoice
311 311
         $invoice = wpinv_insert_invoice( $invoice_data, true );
312 312
 
313
-		if ( is_wp_error( $invoice ) ) {
313
+        if ( is_wp_error( $invoice ) ) {
314 314
             return $invoice;
315
-		}
316
-
317
-		// Prepare the response
318
-		$response = $this->prepare_item_for_response( $invoice, $request );
319
-
320
-		/**
321
-		 * Fires after a single invoice is created or updated via the REST API.
322
-		 *
323
-		 * @since 1.0.13
324
-		 *
325
-		 * @param WPinv_Invoice   $invoice  Inserted or updated invoice object.
326
-		 * @param WP_REST_Request $request  Request object.
327
-		 * @param bool            $creating True when creating a post, false when updating.
328
-		 */
329
-		do_action( "wpinv_rest_insert_invoice", $invoice, $request, true );
330
-
331
-		/**
332
-		 * Filters the responses for creating single invoice requests.
333
-		 *
334
-		 *
335
-		 * @since 1.0.13
336
-		 *
337
-		 *
338
-		 * @param array           $invoice_data Invoice properties.
339
-		 * @param WP_REST_Request $request The request used.
340
-		 */
315
+        }
316
+
317
+        // Prepare the response
318
+        $response = $this->prepare_item_for_response( $invoice, $request );
319
+
320
+        /**
321
+         * Fires after a single invoice is created or updated via the REST API.
322
+         *
323
+         * @since 1.0.13
324
+         *
325
+         * @param WPinv_Invoice   $invoice  Inserted or updated invoice object.
326
+         * @param WP_REST_Request $request  Request object.
327
+         * @param bool            $creating True when creating a post, false when updating.
328
+         */
329
+        do_action( "wpinv_rest_insert_invoice", $invoice, $request, true );
330
+
331
+        /**
332
+         * Filters the responses for creating single invoice requests.
333
+         *
334
+         *
335
+         * @since 1.0.13
336
+         *
337
+         *
338
+         * @param array           $invoice_data Invoice properties.
339
+         * @param WP_REST_Request $request The request used.
340
+         */
341 341
         $response       = apply_filters( "rest_wpinv_create_invoice_response", $response, $request );
342 342
 
343 343
         return rest_ensure_response( $response );
344
-	}
345
-
346
-	/**
347
-	 * Checks if a given request has access to update an invoice.
348
-	 *
349
-	 * @since 1.0.13
350
-	 *
351
-	 * @param WP_REST_Request $request Full details about the request.
352
-	 * @return true|WP_Error True if the request has access to update the item, WP_Error object otherwise.
353
-	 */
354
-	public function update_item_permissions_check( $request ) {
355
-
356
-		// Retrieve the invoice.
357
-		$invoice = $this->get_post( $request['id'] );
358
-		if ( is_wp_error( $invoice ) ) {
359
-			return $invoice;
360
-		}
361
-
362
-		$post_type = get_post_type_object( $this->post_type );
363
-
364
-		if ( ! current_user_can(  $post_type->cap->edit_post, $invoice->ID  ) ) {
365
-			return new WP_Error( 
344
+    }
345
+
346
+    /**
347
+     * Checks if a given request has access to update an invoice.
348
+     *
349
+     * @since 1.0.13
350
+     *
351
+     * @param WP_REST_Request $request Full details about the request.
352
+     * @return true|WP_Error True if the request has access to update the item, WP_Error object otherwise.
353
+     */
354
+    public function update_item_permissions_check( $request ) {
355
+
356
+        // Retrieve the invoice.
357
+        $invoice = $this->get_post( $request['id'] );
358
+        if ( is_wp_error( $invoice ) ) {
359
+            return $invoice;
360
+        }
361
+
362
+        $post_type = get_post_type_object( $this->post_type );
363
+
364
+        if ( ! current_user_can(  $post_type->cap->edit_post, $invoice->ID  ) ) {
365
+            return new WP_Error( 
366 366
                 'rest_cannot_edit', 
367 367
                 __( 'Sorry, you are not allowed to update this invoice.', 'invoicing' ), 
368 368
                 array( 
@@ -371,162 +371,162 @@  discard block
 block discarded – undo
371 371
             );
372 372
         }
373 373
 
374
-		return true;
375
-	}
376
-
377
-	/**
378
-	 * Updates a single invoice.
379
-	 *
380
-	 * @since 1.0.13
381
-	 *
382
-	 * @param WP_REST_Request $request Full details about the request.
383
-	 * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
384
-	 */
385
-	public function update_item( $request ) {
374
+        return true;
375
+    }
376
+
377
+    /**
378
+     * Updates a single invoice.
379
+     *
380
+     * @since 1.0.13
381
+     *
382
+     * @param WP_REST_Request $request Full details about the request.
383
+     * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
384
+     */
385
+    public function update_item( $request ) {
386 386
 		
387
-		// Ensure the invoice exists.
387
+        // Ensure the invoice exists.
388 388
         $valid_check = $this->get_post( $request['id'] );
389 389
         
390 390
         // Abort early if it does not exist
391
-		if ( is_wp_error( $valid_check ) ) {
392
-			return $valid_check;
393
-		}
391
+        if ( is_wp_error( $valid_check ) ) {
392
+            return $valid_check;
393
+        }
394 394
 
395
-		$request->set_param( 'context', 'edit' );
395
+        $request->set_param( 'context', 'edit' );
396 396
 
397
-		// Prepare the updated data.
398
-		$data_to_update = wp_unslash( $this->prepare_item_for_database( $request ) );
397
+        // Prepare the updated data.
398
+        $data_to_update = wp_unslash( $this->prepare_item_for_database( $request ) );
399 399
 
400
-		if ( is_wp_error( $data_to_update ) ) {
401
-			return $data_to_update;
402
-		}
400
+        if ( is_wp_error( $data_to_update ) ) {
401
+            return $data_to_update;
402
+        }
403 403
 
404
-		// Abort if no invoice data is provided
404
+        // Abort if no invoice data is provided
405 405
         if( empty( $data_to_update ) ) {
406 406
             return new WP_Error( 'missing_data', __( 'An update request cannot be empty.', 'invoicing' ) );
407 407
         }
408 408
 
409
-		// Include the invoice ID
410
-		$data_to_update['ID'] = $request['id'];
411
-
412
-		// Update the invoice
413
-		$updated_invoice = wpinv_update_invoice( $data_to_update, true );
414
-
415
-		// Incase the update operation failed...
416
-		if ( is_wp_error( $updated_invoice ) ) {
417
-			return $updated_invoice;
418
-		}
419
-
420
-		// Prepare the response
421
-		$response = $this->prepare_item_for_response( $updated_invoice, $request );
422
-
423
-		/** This action is documented in includes/class-wpinv-rest-invoice-controller.php */
424
-		do_action( "wpinv_rest_insert_invoice", $updated_invoice, $request, false );
425
-
426
-		/**
427
-		 * Filters the responses for updating single invoice requests.
428
-		 *
429
-		 *
430
-		 * @since 1.0.13
431
-		 *
432
-		 *
433
-		 * @param array           $invoice_data Invoice properties.
434
-		 * @param WP_REST_Request $request The request used.
435
-		 */
409
+        // Include the invoice ID
410
+        $data_to_update['ID'] = $request['id'];
411
+
412
+        // Update the invoice
413
+        $updated_invoice = wpinv_update_invoice( $data_to_update, true );
414
+
415
+        // Incase the update operation failed...
416
+        if ( is_wp_error( $updated_invoice ) ) {
417
+            return $updated_invoice;
418
+        }
419
+
420
+        // Prepare the response
421
+        $response = $this->prepare_item_for_response( $updated_invoice, $request );
422
+
423
+        /** This action is documented in includes/class-wpinv-rest-invoice-controller.php */
424
+        do_action( "wpinv_rest_insert_invoice", $updated_invoice, $request, false );
425
+
426
+        /**
427
+         * Filters the responses for updating single invoice requests.
428
+         *
429
+         *
430
+         * @since 1.0.13
431
+         *
432
+         *
433
+         * @param array           $invoice_data Invoice properties.
434
+         * @param WP_REST_Request $request The request used.
435
+         */
436 436
         $response       = apply_filters( "wpinv_rest_update_invoice_response", $response, $request );
437 437
 
438 438
         return rest_ensure_response( $response );
439
-	}
440
-
441
-	/**
442
-	 * Checks if a given request has access to delete an invoice.
443
-	 *
444
-	 * @since 1.0.13
445
-	 *
446
-	 * @param WP_REST_Request $request Full details about the request.
447
-	 * @return true|WP_Error True if the request has access to delete the invoice, WP_Error object otherwise.
448
-	 */
449
-	public function delete_item_permissions_check( $request ) {
450
-
451
-		// Retrieve the invoice.
452
-		$invoice = $this->get_post( $request['id'] );
453
-		if ( is_wp_error( $invoice ) ) {
454
-			return $invoice;
455
-		}
456
-
457
-		// Ensure the current user can delete invoices
458
-		if ( wpinv_current_user_can_manage_invoicing() ||  current_user_can( 'delete_invoices', $request['id'] ) ) {
459
-			return new WP_Error( 
439
+    }
440
+
441
+    /**
442
+     * Checks if a given request has access to delete an invoice.
443
+     *
444
+     * @since 1.0.13
445
+     *
446
+     * @param WP_REST_Request $request Full details about the request.
447
+     * @return true|WP_Error True if the request has access to delete the invoice, WP_Error object otherwise.
448
+     */
449
+    public function delete_item_permissions_check( $request ) {
450
+
451
+        // Retrieve the invoice.
452
+        $invoice = $this->get_post( $request['id'] );
453
+        if ( is_wp_error( $invoice ) ) {
454
+            return $invoice;
455
+        }
456
+
457
+        // Ensure the current user can delete invoices
458
+        if ( wpinv_current_user_can_manage_invoicing() ||  current_user_can( 'delete_invoices', $request['id'] ) ) {
459
+            return new WP_Error( 
460 460
                 'rest_cannot_delete', 
461 461
                 __( 'Sorry, you are not allowed to delete this invoice.', 'invoicing' ), 
462 462
                 array( 
463 463
                     'status' => rest_authorization_required_code(),
464 464
                 )
465 465
             );
466
-		}
467
-
468
-		return true;
469
-	}
470
-
471
-	/**
472
-	 * Deletes a single invoice.
473
-	 *
474
-	 * @since 1.0.13
475
-	 *
476
-	 * @param WP_REST_Request $request Full details about the request.
477
-	 * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
478
-	 */
479
-	public function delete_item( $request ) {
466
+        }
467
+
468
+        return true;
469
+    }
470
+
471
+    /**
472
+     * Deletes a single invoice.
473
+     *
474
+     * @since 1.0.13
475
+     *
476
+     * @param WP_REST_Request $request Full details about the request.
477
+     * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
478
+     */
479
+    public function delete_item( $request ) {
480 480
 		
481
-		// Retrieve the invoice.
482
-		$invoice = $this->get_post( $request['id'] );
483
-		if ( is_wp_error( $invoice ) ) {
484
-			return $invoice;
485
-		}
481
+        // Retrieve the invoice.
482
+        $invoice = $this->get_post( $request['id'] );
483
+        if ( is_wp_error( $invoice ) ) {
484
+            return $invoice;
485
+        }
486 486
 
487
-		$request->set_param( 'context', 'edit' );
487
+        $request->set_param( 'context', 'edit' );
488 488
 
489
-		// Prepare the invoice id
490
-		$id    = $invoice->ID;
489
+        // Prepare the invoice id
490
+        $id    = $invoice->ID;
491 491
 
492
-		// Prepare the response
493
-		$response = $this->prepare_item_for_response( $invoice, $request );
492
+        // Prepare the response
493
+        $response = $this->prepare_item_for_response( $invoice, $request );
494 494
 
495
-		// Check if the user wants to bypass the trash...
496
-		$force_delete = (bool) $request['force'];
495
+        // Check if the user wants to bypass the trash...
496
+        $force_delete = (bool) $request['force'];
497 497
 
498
-		// Try deleting the invoice.
499
-		$deleted = wp_delete_post( $id, $force_delete );
498
+        // Try deleting the invoice.
499
+        $deleted = wp_delete_post( $id, $force_delete );
500 500
 
501
-		// Abort early if we can't delete the invoice.
502
-		if ( ! $deleted ) {
503
-			return new WP_Error( 'rest_cannot_delete', __( 'The invoice cannot be deleted.', 'invoicing' ), array( 'status' => 500 ) );
504
-		}
501
+        // Abort early if we can't delete the invoice.
502
+        if ( ! $deleted ) {
503
+            return new WP_Error( 'rest_cannot_delete', __( 'The invoice cannot be deleted.', 'invoicing' ), array( 'status' => 500 ) );
504
+        }
505 505
 
506
-		/**
507
-		 * Fires immediately after a single invoice is deleted or trashed via the REST API.
508
-		 *
509
-		 *
510
-		 * @since 1.0.13
511
-		 *
512
-		 * @param WPInv_Invoice    $invoice  The deleted or trashed invoice.
513
-		 * @param WP_REST_Request  $request  The request sent to the API.
514
-		 */
515
-		do_action( "wpinv_rest_delete_invoice", $invoice, $request );
506
+        /**
507
+         * Fires immediately after a single invoice is deleted or trashed via the REST API.
508
+         *
509
+         *
510
+         * @since 1.0.13
511
+         *
512
+         * @param WPInv_Invoice    $invoice  The deleted or trashed invoice.
513
+         * @param WP_REST_Request  $request  The request sent to the API.
514
+         */
515
+        do_action( "wpinv_rest_delete_invoice", $invoice, $request );
516 516
 
517
-		return $response;
517
+        return $response;
518 518
 
519
-	}
519
+    }
520 520
     
521 521
     
522 522
     /**
523
-	 * Retrieves the query params for the invoices collection.
524
-	 *
525
-	 * @since 1.0.13
526
-	 *
527
-	 * @return array Collection parameters.
528
-	 */
529
-	public function get_collection_params() {
523
+     * Retrieves the query params for the invoices collection.
524
+     *
525
+     * @since 1.0.13
526
+     *
527
+     * @return array Collection parameters.
528
+     */
529
+    public function get_collection_params() {
530 530
         
531 531
         $query_params               = array(
532 532
 
@@ -544,22 +544,22 @@  discard block
 block discarded – undo
544 544
 
545 545
             // User.
546 546
             'user'                  => array(
547
-				'description'       => __( 'Limit result set to invoices for a specif user.', 'invoicing' ),
548
-				'type'              => 'integer',
547
+                'description'       => __( 'Limit result set to invoices for a specif user.', 'invoicing' ),
548
+                'type'              => 'integer',
549 549
             ),
550 550
             
551 551
             // Number of results per page
552 552
             'limit'                 => array(
553
-				'description'       => __( 'Number of invoices to fetch.', 'invoicing' ),
554
-				'type'              => 'integer',
555
-				'default'           => (int) get_option( 'posts_per_page' ),
553
+                'description'       => __( 'Number of invoices to fetch.', 'invoicing' ),
554
+                'type'              => 'integer',
555
+                'default'           => (int) get_option( 'posts_per_page' ),
556 556
             ),
557 557
 
558 558
             // Pagination
559 559
             'page'     => array(
560
-				'description'       => __( 'Current page to fetch.', 'invoicing' ),
561
-				'type'              => 'integer',
562
-				'default'           => 1,
560
+                'description'       => __( 'Current page to fetch.', 'invoicing' ),
561
+                'type'              => 'integer',
562
+                'default'           => 1,
563 563
             ),
564 564
 
565 565
             // Exclude certain invoices
@@ -595,790 +595,790 @@  discard block
 block discarded – undo
595 595
             ),
596 596
         );
597 597
 
598
-		/**
599
-		 * Filter collection parameters for the invoices controller.
600
-		 *
601
-		 *
602
-		 * @since 1.0.13
603
-		 *
604
-		 * @param array        $query_params JSON Schema-formatted collection parameters.
605
-		 * @param WP_Post_Type $post_type    Post type object.
606
-		 */
607
-		return apply_filters( "rest_invoices_collection_params", $query_params, 'wpi-invoice' );
598
+        /**
599
+         * Filter collection parameters for the invoices controller.
600
+         *
601
+         *
602
+         * @since 1.0.13
603
+         *
604
+         * @param array        $query_params JSON Schema-formatted collection parameters.
605
+         * @param WP_Post_Type $post_type    Post type object.
606
+         */
607
+        return apply_filters( "rest_invoices_collection_params", $query_params, 'wpi-invoice' );
608 608
     }
609 609
     
610 610
     /**
611
-	 * Checks if a given post type can be viewed or managed.
612
-	 *
613
-	 * @since 1.0.13
614
-	 *
615
-	 * @param object|string $post_type Post type name or object.
616
-	 * @return bool Whether the post type is allowed in REST.
617
-	 */
618
-	protected function check_is_post_type_allowed( $post_type ) {
619
-		return true;
620
-	}
621
-
622
-	/**
623
-	 * Prepares a single invoice for create or update.
624
-	 *
625
-	 * @since 1.0.13
626
-	 *
627
-	 * @param WP_REST_Request $request Request object.
628
-	 * @return array|WP_Error Invoice Properties or WP_Error.
629
-	 */
630
-	protected function prepare_item_for_database( $request ) {
631
-		$prepared_invoice = new stdClass();
632
-
633
-		// Post ID.
634
-		if ( isset( $request['id'] ) ) {
635
-			$existing_invoice = $this->get_post( $request['id'] );
636
-			if ( is_wp_error( $existing_invoice ) ) {
637
-				return $existing_invoice;
638
-			}
639
-
640
-			$prepared_invoice->ID 		  = $existing_invoice->ID;
641
-			$prepared_invoice->invoice_id = $existing_invoice->ID;
642
-		}
643
-
644
-		$schema = $this->get_item_schema();
645
-
646
-		// Invoice owner.
647
-		if ( ! empty( $schema['properties']['user_id'] ) && isset( $request['user_id'] ) ) {
648
-			$prepared_invoice->user_id = (int) $request['user_id'];
649
-		}
650
-
651
-		// Cart details.
652
-		if ( ! empty( $schema['properties']['cart_details'] ) && isset( $request['cart_details'] ) ) {
653
-			$prepared_invoice->cart_details = (array) $request['cart_details'];
654
-		}
655
-
656
-		// Invoice status.
657
-		if ( ! empty( $schema['properties']['status'] ) && isset( $request['status'] ) ) {
658
-
659
-			if ( in_array( $request['status'], array_keys( wpinv_get_invoice_statuses( true, true ) ), true ) ) {
660
-				$prepared_invoice->status = $request['status'];
661
-			}
662
-
663
-		}
664
-
665
-		// User info
666
-		if ( ! empty( $schema['properties']['user_info'] ) && isset( $request['user_info'] ) ) {
667
-			$prepared_invoice->user_info = array();
668
-			$user_info = (array) $request['user_info'];
669
-
670
-			foreach( $user_info as $prop => $value ) {
671
-
672
-				if ( ! empty( $schema['properties']['user_info']['properties'][$prop] ) ) {
673
-
674
-					$prepared_invoice->user_info[$prop] = $value;
611
+     * Checks if a given post type can be viewed or managed.
612
+     *
613
+     * @since 1.0.13
614
+     *
615
+     * @param object|string $post_type Post type name or object.
616
+     * @return bool Whether the post type is allowed in REST.
617
+     */
618
+    protected function check_is_post_type_allowed( $post_type ) {
619
+        return true;
620
+    }
621
+
622
+    /**
623
+     * Prepares a single invoice for create or update.
624
+     *
625
+     * @since 1.0.13
626
+     *
627
+     * @param WP_REST_Request $request Request object.
628
+     * @return array|WP_Error Invoice Properties or WP_Error.
629
+     */
630
+    protected function prepare_item_for_database( $request ) {
631
+        $prepared_invoice = new stdClass();
632
+
633
+        // Post ID.
634
+        if ( isset( $request['id'] ) ) {
635
+            $existing_invoice = $this->get_post( $request['id'] );
636
+            if ( is_wp_error( $existing_invoice ) ) {
637
+                return $existing_invoice;
638
+            }
639
+
640
+            $prepared_invoice->ID 		  = $existing_invoice->ID;
641
+            $prepared_invoice->invoice_id = $existing_invoice->ID;
642
+        }
643
+
644
+        $schema = $this->get_item_schema();
645
+
646
+        // Invoice owner.
647
+        if ( ! empty( $schema['properties']['user_id'] ) && isset( $request['user_id'] ) ) {
648
+            $prepared_invoice->user_id = (int) $request['user_id'];
649
+        }
650
+
651
+        // Cart details.
652
+        if ( ! empty( $schema['properties']['cart_details'] ) && isset( $request['cart_details'] ) ) {
653
+            $prepared_invoice->cart_details = (array) $request['cart_details'];
654
+        }
655
+
656
+        // Invoice status.
657
+        if ( ! empty( $schema['properties']['status'] ) && isset( $request['status'] ) ) {
658
+
659
+            if ( in_array( $request['status'], array_keys( wpinv_get_invoice_statuses( true, true ) ), true ) ) {
660
+                $prepared_invoice->status = $request['status'];
661
+            }
662
+
663
+        }
664
+
665
+        // User info
666
+        if ( ! empty( $schema['properties']['user_info'] ) && isset( $request['user_info'] ) ) {
667
+            $prepared_invoice->user_info = array();
668
+            $user_info = (array) $request['user_info'];
669
+
670
+            foreach( $user_info as $prop => $value ) {
671
+
672
+                if ( ! empty( $schema['properties']['user_info']['properties'][$prop] ) ) {
673
+
674
+                    $prepared_invoice->user_info[$prop] = $value;
675 675
 		
676
-				}
676
+                }
677 677
 
678
-			}
678
+            }
679 679
 
680
-		}
680
+        }
681 681
 
682
-		// IP
683
-		if ( ! empty( $schema['properties']['ip'] ) && isset( $request['ip'] ) ) {
684
-			$prepared_invoice->ip = $request['ip'];
685
-		}
682
+        // IP
683
+        if ( ! empty( $schema['properties']['ip'] ) && isset( $request['ip'] ) ) {
684
+            $prepared_invoice->ip = $request['ip'];
685
+        }
686 686
 
687
-		// Payment details
688
-		$prepared_invoice->payment_details = array();
687
+        // Payment details
688
+        $prepared_invoice->payment_details = array();
689 689
 
690
-		if ( ! empty( $schema['properties']['gateway'] ) && isset( $request['gateway'] ) ) {
691
-			$prepared_invoice->payment_details['gateway'] = $request['gateway'];
692
-		}
690
+        if ( ! empty( $schema['properties']['gateway'] ) && isset( $request['gateway'] ) ) {
691
+            $prepared_invoice->payment_details['gateway'] = $request['gateway'];
692
+        }
693 693
 
694
-		if ( ! empty( $schema['properties']['gateway_title'] ) && isset( $request['gateway_title'] ) ) {
695
-			$prepared_invoice->payment_details['gateway_title'] = $request['gateway_title'];
696
-		}
694
+        if ( ! empty( $schema['properties']['gateway_title'] ) && isset( $request['gateway_title'] ) ) {
695
+            $prepared_invoice->payment_details['gateway_title'] = $request['gateway_title'];
696
+        }
697 697
 
698
-		if ( ! empty( $schema['properties']['currency'] ) && isset( $request['currency'] ) ) {
699
-			$prepared_invoice->payment_details['currency'] = $request['currency'];
700
-		}
698
+        if ( ! empty( $schema['properties']['currency'] ) && isset( $request['currency'] ) ) {
699
+            $prepared_invoice->payment_details['currency'] = $request['currency'];
700
+        }
701 701
 
702
-		if ( ! empty( $schema['properties']['transaction_id'] ) && isset( $request['transaction_id'] ) ) {
703
-			$prepared_invoice->payment_details['transaction_id'] = $request['transaction_id'];
704
-		}
702
+        if ( ! empty( $schema['properties']['transaction_id'] ) && isset( $request['transaction_id'] ) ) {
703
+            $prepared_invoice->payment_details['transaction_id'] = $request['transaction_id'];
704
+        }
705 705
 
706
-		// Dates
707
-		if ( ! empty( $schema['properties']['date'] ) && isset( $request['date'] ) ) {
708
-			$post_date = rest_get_date_with_gmt( $request['date'] );
706
+        // Dates
707
+        if ( ! empty( $schema['properties']['date'] ) && isset( $request['date'] ) ) {
708
+            $post_date = rest_get_date_with_gmt( $request['date'] );
709 709
 
710
-			if ( ! empty( $post_date ) ) {
711
-				$prepared_invoice->post_date = $post_date[0];
712
-			}
710
+            if ( ! empty( $post_date ) ) {
711
+                $prepared_invoice->post_date = $post_date[0];
712
+            }
713 713
 			
714
-		}
714
+        }
715 715
 
716
-		if ( ! empty( $schema['properties']['due_date'] ) && isset( $request['due_date'] ) ) {
717
-			$due_date = rest_get_date_with_gmt( $request['due_date'] );
716
+        if ( ! empty( $schema['properties']['due_date'] ) && isset( $request['due_date'] ) ) {
717
+            $due_date = rest_get_date_with_gmt( $request['due_date'] );
718 718
 
719
-			if ( ! empty( $due_date ) ) {
720
-				$prepared_invoice->due_date = $due_date[0];
721
-			}
719
+            if ( ! empty( $due_date ) ) {
720
+                $prepared_invoice->due_date = $due_date[0];
721
+            }
722 722
 
723
-		}
723
+        }
724 724
 
725
-		$invoice_data = (array) $prepared_invoice;
725
+        $invoice_data = (array) $prepared_invoice;
726 726
 
727
-		/**
728
-		 * Filters an invoice before it is inserted via the REST API.
729
-		 *
730
-		 * @since 1.0.13
731
-		 *
732
-		 * @param array        $invoice_data An array of invoice data
733
-		 * @param WP_REST_Request $request       Request object.
734
-		 */
735
-		return apply_filters( "wpinv_rest_pre_insert_invoice", $invoice_data, $request );
727
+        /**
728
+         * Filters an invoice before it is inserted via the REST API.
729
+         *
730
+         * @since 1.0.13
731
+         *
732
+         * @param array        $invoice_data An array of invoice data
733
+         * @param WP_REST_Request $request       Request object.
734
+         */
735
+        return apply_filters( "wpinv_rest_pre_insert_invoice", $invoice_data, $request );
736 736
 
737
-	}
737
+    }
738
+
739
+    /**
740
+     * Prepares a single invoice output for response.
741
+     *
742
+     * @since 1.0.13
743
+     *
744
+     * @param WPInv_Invoice   $invoice    Invoice object.
745
+     * @param WP_REST_Request $request Request object.
746
+     * @return WP_REST_Response Response object.
747
+     */
748
+    public function prepare_item_for_response( $invoice, $request ) {
738 749
 
739
-	/**
740
-	 * Prepares a single invoice output for response.
741
-	 *
742
-	 * @since 1.0.13
743
-	 *
744
-	 * @param WPInv_Invoice   $invoice    Invoice object.
745
-	 * @param WP_REST_Request $request Request object.
746
-	 * @return WP_REST_Response Response object.
747
-	 */
748
-	public function prepare_item_for_response( $invoice, $request ) {
750
+        $GLOBALS['post'] = get_post( $invoice->ID );
749 751
 
750
-		$GLOBALS['post'] = get_post( $invoice->ID );
752
+        setup_postdata( $invoice->ID );
751 753
 
752
-		setup_postdata( $invoice->ID );
754
+        // Fetch the fields to include in this response.
755
+        $fields = $this->get_fields_for_response( $request );
753 756
 
754
-		// Fetch the fields to include in this response.
755
-		$fields = $this->get_fields_for_response( $request );
757
+        // Base fields for every invoice.
758
+        $data = array();
759
+
760
+        // Set up ID
761
+        if ( rest_is_field_included( 'id', $fields ) ) {
762
+            $data['id'] = $invoice->ID;
763
+        }
764
+
765
+
766
+        // Basic properties
767
+        $invoice_properties = array(
768
+            'title', 'email', 'ip', 
769
+            'key', 'number', 'transaction_id', 'mode',
770
+            'gateway', 'gateway_title',
771
+            'total', 'discount', 'discount_code', 
772
+            'tax', 'fees_total', 'subtotal', 'currency',
773
+            'status', 'status_nicename', 'post_type'
774
+        );
775
+
776
+        foreach( $invoice_properties as $property ) {
777
+
778
+            if ( rest_is_field_included( $property, $fields ) ) {
779
+                $data[$property] = $invoice->get( $property );
780
+            }
781
+
782
+        }
783
+
784
+        // Cart details
785
+        if ( rest_is_field_included( 'cart_details', $fields ) ) {
786
+            $data['cart_details'] = $invoice->get( 'cart_details' );
787
+        }
788
+
789
+        //Dates
790
+        $invoice_properties = array( 'date', 'due_date', 'completed_date' );
791
+
792
+        foreach( $invoice_properties as $property ) {
793
+
794
+            if ( rest_is_field_included( $property, $fields ) ) {
795
+                $data[$property] = $this->prepare_date_response( '0000-00-00 00:00:00', $invoice->get( $property ) );
796
+            }
797
+
798
+        }
799
+
800
+        // User id
801
+        if ( rest_is_field_included( 'user_id', $fields ) ) {
802
+            $data['user_id'] = (int) $invoice->get( 'user_id' );
803
+        }
804
+
805
+        // User info
806
+        $user_info = array( 'first_name', 'last_name', 'company', 'vat_number', 'vat_rate', 'address', 'city', 'country', 'state', 'zip', 'phone' );
807
+
808
+        foreach( $user_info as $property ) {
809
+
810
+            if ( rest_is_field_included( "user_info.$property", $fields ) ) {
811
+                $data['user_info'][$property] = $invoice->get( $property );
812
+            }
813
+
814
+        }
815
+
816
+        // Slug
817
+        if ( rest_is_field_included( 'slug', $fields ) ) {
818
+            $data['slug'] = $invoice->get( 'post_name' );
819
+        }
820
+
821
+        // View invoice link
822
+        if ( rest_is_field_included( 'link', $fields ) ) {
823
+            $data['link'] = esc_url( $invoice->get_view_url() );
824
+        }
756 825
 
757
-		// Base fields for every invoice.
758
-		$data = array();
759 826
 
760
-		// Set up ID
761
-		if ( rest_is_field_included( 'id', $fields ) ) {
762
-			$data['id'] = $invoice->ID;
763
-		}
827
+        $context = ! empty( $request['context'] ) ? $request['context'] : 'view';
828
+        $data    = $this->add_additional_fields_to_object( $data, $request );
829
+        $data    = $this->filter_response_by_context( $data, $context );
764 830
 
831
+        // Wrap the data in a response object.
832
+        $response = rest_ensure_response( $data );
765 833
 
766
-		// Basic properties
767
-		$invoice_properties = array(
768
-			'title', 'email', 'ip', 
769
-			'key', 'number', 'transaction_id', 'mode',
770
-			'gateway', 'gateway_title',
771
-			'total', 'discount', 'discount_code', 
772
-			'tax', 'fees_total', 'subtotal', 'currency',
773
-			'status', 'status_nicename', 'post_type'
774
-		);
775
-
776
-		foreach( $invoice_properties as $property ) {
777
-
778
-			if ( rest_is_field_included( $property, $fields ) ) {
779
-				$data[$property] = $invoice->get( $property );
780
-			}
781
-
782
-		}
783
-
784
-		// Cart details
785
-		if ( rest_is_field_included( 'cart_details', $fields ) ) {
786
-			$data['cart_details'] = $invoice->get( 'cart_details' );
787
-		}
788
-
789
-		//Dates
790
-		$invoice_properties = array( 'date', 'due_date', 'completed_date' );
791
-
792
-		foreach( $invoice_properties as $property ) {
793
-
794
-			if ( rest_is_field_included( $property, $fields ) ) {
795
-				$data[$property] = $this->prepare_date_response( '0000-00-00 00:00:00', $invoice->get( $property ) );
796
-			}
797
-
798
-		}
799
-
800
-		// User id
801
-		if ( rest_is_field_included( 'user_id', $fields ) ) {
802
-			$data['user_id'] = (int) $invoice->get( 'user_id' );
803
-		}
804
-
805
-		// User info
806
-		$user_info = array( 'first_name', 'last_name', 'company', 'vat_number', 'vat_rate', 'address', 'city', 'country', 'state', 'zip', 'phone' );
807
-
808
-		foreach( $user_info as $property ) {
809
-
810
-			if ( rest_is_field_included( "user_info.$property", $fields ) ) {
811
-				$data['user_info'][$property] = $invoice->get( $property );
812
-			}
813
-
814
-		}
815
-
816
-		// Slug
817
-		if ( rest_is_field_included( 'slug', $fields ) ) {
818
-			$data['slug'] = $invoice->get( 'post_name' );
819
-		}
820
-
821
-		// View invoice link
822
-		if ( rest_is_field_included( 'link', $fields ) ) {
823
-			$data['link'] = esc_url( $invoice->get_view_url() );
824
-		}
825
-
826
-
827
-		$context = ! empty( $request['context'] ) ? $request['context'] : 'view';
828
-		$data    = $this->add_additional_fields_to_object( $data, $request );
829
-		$data    = $this->filter_response_by_context( $data, $context );
830
-
831
-		// Wrap the data in a response object.
832
-		$response = rest_ensure_response( $data );
833
-
834
-		$links = $this->prepare_links( $invoice );
835
-		$response->add_links( $links );
836
-
837
-		if ( ! empty( $links['self']['href'] ) ) {
838
-			$actions = $this->get_available_actions( $invoice, $request );
839
-
840
-			$self = $links['self']['href'];
841
-
842
-			foreach ( $actions as $rel ) {
843
-				$response->add_link( $rel, $self );
844
-			}
845
-		}
846
-
847
-		/**
848
-		 * Filters the invoice data for a response.
849
-		 *
850
-		 * @since 1.0.13
851
-		 *
852
-		 * @param WP_REST_Response $response The response object.
853
-		 * @param WPInv_Invoice    $invoice  The invoice object.
854
-		 * @param WP_REST_Request  $request  Request object.
855
-		 */
856
-		return apply_filters( "wpinv_rest_prepare_invoice", $response, $invoice, $request );
857
-	}
858
-
859
-	/**
860
-	 * Gets an array of fields to be included on the response.
861
-	 *
862
-	 * Included fields are based on item schema and `_fields=` request argument.
863
-	 *
864
-	 * @since 1.0.13
865
-	 *
866
-	 * @param WP_REST_Request $request Full details about the request.
867
-	 * @return array Fields to be included in the response.
868
-	 */
869
-	public function get_fields_for_response( $request ) {
870
-		$schema     = $this->get_item_schema();
871
-		$properties = isset( $schema['properties'] ) ? $schema['properties'] : array();
872
-
873
-		$additional_fields = $this->get_additional_fields();
874
-		foreach ( $additional_fields as $field_name => $field_options ) {
875
-			// For back-compat, include any field with an empty schema
876
-			// because it won't be present in $this->get_item_schema().
877
-			if ( is_null( $field_options['schema'] ) ) {
878
-				$properties[ $field_name ] = $field_options;
879
-			}
880
-		}
881
-
882
-		// Exclude fields that specify a different context than the request context.
883
-		$context = $request['context'];
884
-		if ( $context ) {
885
-			foreach ( $properties as $name => $options ) {
886
-				if ( ! empty( $options['context'] ) && ! in_array( $context, $options['context'], true ) ) {
887
-					unset( $properties[ $name ] );
888
-				}
889
-			}
890
-		}
891
-
892
-		$fields = array_keys( $properties );
893
-
894
-		if ( ! isset( $request['_fields'] ) ) {
895
-			return $fields;
896
-		}
897
-		$requested_fields = wpinv_parse_list( $request['_fields'] );
898
-		if ( 0 === count( $requested_fields ) ) {
899
-			return $fields;
900
-		}
901
-		// Trim off outside whitespace from the comma delimited list.
902
-		$requested_fields = array_map( 'trim', $requested_fields );
903
-		// Always persist 'id', because it can be needed for add_additional_fields_to_object().
904
-		if ( in_array( 'id', $fields, true ) ) {
905
-			$requested_fields[] = 'id';
906
-		}
907
-		// Return the list of all requested fields which appear in the schema.
908
-		return array_reduce(
909
-			$requested_fields,
910
-			function( $response_fields, $field ) use ( $fields ) {
911
-				if ( in_array( $field, $fields, true ) ) {
912
-					$response_fields[] = $field;
913
-					return $response_fields;
914
-				}
915
-				// Check for nested fields if $field is not a direct match.
916
-				$nested_fields = explode( '.', $field );
917
-				// A nested field is included so long as its top-level property is
918
-				// present in the schema.
919
-				if ( in_array( $nested_fields[0], $fields, true ) ) {
920
-					$response_fields[] = $field;
921
-				}
922
-				return $response_fields;
923
-			},
924
-			array()
925
-		);
926
-	}
927
-
928
-	/**
929
-	 * Retrieves the invoice's schema, conforming to JSON Schema.
930
-	 *
931
-	 * @since 1.0.13
932
-	 *
933
-	 * @return array Invoice schema data.
934
-	 */
935
-	public function get_item_schema() {
936
-
937
-		// Maybe retrieve the schema from cache.
938
-		if ( $this->schema ) {
939
-			return $this->add_additional_fields_schema( $this->schema );
940
-		}
941
-
942
-		$schema = array(
943
-			'$schema'    => 'http://json-schema.org/draft-04/schema#',
944
-			'title'      => $this->post_type,
945
-			'type'       => 'object',
946
-
947
-			// Base properties for every Invoice.
948
-			'properties' 		  => array(
949
-
950
-				'title'			  => array(
951
-					'description' => __( 'The title for the invoice.', 'invoicing' ),
952
-					'type'        => 'string',
953
-					'context'     => array( 'view', 'edit', 'embed' ),
954
-					'readonly'    => true,
955
-				),
956
-
957
-				'user_id'		  => array(
958
-					'description' => __( 'The ID of the owner of the invoice.', 'invoicing' ),
959
-					'type'        => 'integer',
960
-					'context'     => array( 'view', 'edit', 'embed' ),
961
-				),
962
-
963
-				'email'		  	  => array(
964
-					'description' => __( 'The email of the owner of the invoice.', 'invoicing' ),
965
-					'type'        => 'string',
966
-					'context'     => array( 'view', 'edit', 'embed' ),
967
-					'readonly'    => true,
968
-				),
969
-
970
-				'ip'			  => array(
971
-					'description' => __( 'The IP of the owner of the invoice.', 'invoicing' ),
972
-					'type'        => 'string',
973
-					'context'     => array( 'view', 'edit', 'embed' ),
974
-				),
975
-
976
-				'user_info'       => array(
977
-					'description' => __( 'Information about the owner of the invoice.', 'invoicing' ),
978
-					'type'        => 'object',
979
-					'context'     => array( 'view', 'edit', 'embed' ),
980
-					'properties'  => array(
981
-
982
-						'first_name'      => array(
983
-							'description' => __( 'The first name of the owner of the invoice.', 'invoicing' ),
984
-							'type'        => 'string',
985
-							'context'     => array( 'view', 'edit', 'embed' ),
986
-						),
987
-
988
-						'last_name'       => array(
989
-							'description' => __( 'The last name of the owner of the invoice.', 'invoicing' ),
990
-							'type'        => 'string',
991
-							'context'     => array( 'view', 'edit', 'embed' ),
992
-						),
993
-
994
-						'company'         => array(
995
-							'description' => __( 'The company of the owner of the invoice.', 'invoicing' ),
996
-							'type'        => 'string',
997
-							'context'     => array( 'view', 'edit', 'embed' ),
998
-						),
999
-
1000
-						'vat_number'      => array(
1001
-							'description' => __( 'The VAT number of the owner of the invoice.', 'invoicing' ),
1002
-							'type'        => 'string',
1003
-							'context'     => array( 'view', 'edit', 'embed' ),
1004
-						),
1005
-
1006
-						'vat_rate'        => array(
1007
-							'description' => __( 'The VAT rate applied on the invoice.', 'invoicing' ),
1008
-							'type'        => 'string',
1009
-							'context'     => array( 'view', 'edit', 'embed' ),
1010
-						),
1011
-
1012
-						'address'        => array(
1013
-							'description' => __( 'The address of the invoice owner.', 'invoicing' ),
1014
-							'type'        => 'string',
1015
-							'context'     => array( 'view', 'edit', 'embed' ),
1016
-						),
1017
-
1018
-						'city'            => array(
1019
-							'description' => __( 'The city of the invoice owner.', 'invoicing' ),
1020
-							'type'        => 'string',
1021
-							'context'     => array( 'view', 'edit', 'embed' ),
1022
-						),
1023
-
1024
-						'country'         => array(
1025
-							'description' => __( 'The country of the invoice owner.', 'invoicing' ),
1026
-							'type'        => 'string',
1027
-							'context'     => array( 'view', 'edit', 'embed' ),
1028
-						),
1029
-
1030
-						'state'           => array(
1031
-							'description' => __( 'The state of the invoice owner.', 'invoicing' ),
1032
-							'type'        => 'string',
1033
-							'context'     => array( 'view', 'edit', 'embed' ),
1034
-						),
1035
-
1036
-						'zip'             => array(
1037
-							'description' => __( 'The zip code of the invoice owner.', 'invoicing' ),
1038
-							'type'        => 'string',
1039
-							'context'     => array( 'view', 'edit', 'embed' ),
1040
-						),
1041
-
1042
-						'phone'             => array(
1043
-							'description' => __( 'The phone number of the invoice owner.', 'invoicing' ),
1044
-							'type'        => 'string',
1045
-							'context'     => array( 'view', 'edit', 'embed' ),
1046
-						),
1047
-					),
1048
-				),
1049
-
1050
-				'id'           => array(
1051
-					'description' => __( 'Unique identifier for the invoice.', 'invoicing' ),
1052
-					'type'        => 'integer',
1053
-					'context'     => array( 'view', 'edit', 'embed' ),
1054
-					'readonly'    => true,
1055
-				),
1056
-
1057
-				'key'			  => array(
1058
-					'description' => __( 'A unique key for the invoice.', 'invoicing' ),
1059
-					'type'        => 'string',
1060
-					'context'     => array( 'view', 'edit', 'embed' ),
1061
-					'readonly'    => true,
1062
-				),
1063
-
1064
-				'number'		  => array(
1065
-					'description' => __( 'The invoice number.', 'invoicing' ),
1066
-					'type'        => 'string',
1067
-					'context'     => array( 'view', 'edit', 'embed' ),
1068
-					'readonly'    => true,
1069
-				),
1070
-
1071
-				'transaction_id'  => array(
1072
-					'description' => __( 'The transaction id of the invoice.', 'invoicing' ),
1073
-					'type'        => 'string',
1074
-					'context'     => array( 'view', 'edit', 'embed' ),
1075
-				),
1076
-
1077
-				'gateway'		  => array(
1078
-					'description' => __( 'The gateway used to process the invoice.', 'invoicing' ),
1079
-					'type'        => 'string',
1080
-					'context'     => array( 'view', 'edit', 'embed' ),
1081
-				),
1082
-
1083
-				'gateway_title'	  => array(
1084
-					'description' => __( 'The title of the gateway used to process the invoice.', 'invoicing' ),
1085
-					'type'        => 'string',
1086
-					'context'     => array( 'view', 'edit', 'embed' ),
1087
-				),
1088
-
1089
-				'total'	  		  => array(
1090
-					'description' => __( 'The total amount of the invoice.', 'invoicing' ),
1091
-					'type'        => 'number',
1092
-					'context'     => array( 'view', 'edit', 'embed' ),
1093
-					'readonly'    => true,
1094
-				),
1095
-
1096
-				'discount'		  => array(
1097
-					'description' => __( 'The discount applied to the invoice.', 'invoicing' ),
1098
-					'type'        => 'number',
1099
-					'context'     => array( 'view', 'edit', 'embed' ),
1100
-					'readonly'    => true,
1101
-				),
1102
-
1103
-				'discount_code'	  => array(
1104
-					'description' => __( 'The discount code applied to the invoice.', 'invoicing' ),
1105
-					'type'        => 'string',
1106
-					'context'     => array( 'view', 'edit', 'embed' ),
1107
-					'readonly'    => true,
1108
-				),
1109
-
1110
-				'tax'	  		  => array(
1111
-					'description' => __( 'The tax applied to the invoice.', 'invoicing' ),
1112
-					'type'        => 'number',
1113
-					'context'     => array( 'view', 'edit', 'embed' ),
1114
-					'readonly'    => true,
1115
-				),
1116
-
1117
-				'fees_total'	  => array(
1118
-					'description' => __( 'The total fees applied to the invoice.', 'invoicing' ),
1119
-					'type'        => 'number',
1120
-					'context'     => array( 'view', 'edit', 'embed' ),
1121
-					'readonly'    => true,
1122
-				),
1123
-
1124
-				'subtotal'	  	  => array(
1125
-					'description' => __( 'The sub-total for the invoice.', 'invoicing' ),
1126
-					'type'        => 'number',
1127
-					'context'     => array( 'view', 'edit', 'embed' ),
1128
-					'readonly'    => true,
1129
-				),
1130
-
1131
-				'currency'	  	  => array(
1132
-					'description' => __( 'The currency used to process the invoice.', 'invoicing' ),
1133
-					'type'        => 'string',
1134
-					'context'     => array( 'view', 'edit', 'embed' ),
1135
-				),
1136
-
1137
-				'cart_details'	  => array(
1138
-					'description' => __( 'The cart details for invoice.', 'invoicing' ),
1139
-					'type'        => 'array',
1140
-					'context'     => array( 'view', 'edit', 'embed' ),
1141
-					'required'	  => true,
1142
-				),
1143
-
1144
-				'date'         => array(
1145
-					'description' => __( "The date the invoice was published, in the site's timezone.", 'invoicing' ),
1146
-					'type'        => array( 'string', 'null' ),
1147
-					'format'      => 'date-time',
1148
-					'context'     => array( 'view', 'edit', 'embed' ),
1149
-				),
1150
-
1151
-				'due_date'     => array(
1152
-					'description' => __( 'The due date for the invoice.', 'invoicing' ),
1153
-					'type'        => array( 'string', 'null' ),
1154
-					'format'      => 'date-time',
1155
-					'context'     => array( 'view', 'edit', 'embed' ),
1156
-				),
1157
-
1158
-				'completed_date'  => array(
1159
-					'description' => __( 'The completed date for the invoice.', 'invoicing' ),
1160
-					'type'        => array( 'string', 'null' ),
1161
-					'format'      => 'date-time',
1162
-					'context'     => array( 'view', 'edit', 'embed' ),
1163
-					'readonly'    => true,
1164
-				),
834
+        $links = $this->prepare_links( $invoice );
835
+        $response->add_links( $links );
836
+
837
+        if ( ! empty( $links['self']['href'] ) ) {
838
+            $actions = $this->get_available_actions( $invoice, $request );
839
+
840
+            $self = $links['self']['href'];
841
+
842
+            foreach ( $actions as $rel ) {
843
+                $response->add_link( $rel, $self );
844
+            }
845
+        }
846
+
847
+        /**
848
+         * Filters the invoice data for a response.
849
+         *
850
+         * @since 1.0.13
851
+         *
852
+         * @param WP_REST_Response $response The response object.
853
+         * @param WPInv_Invoice    $invoice  The invoice object.
854
+         * @param WP_REST_Request  $request  Request object.
855
+         */
856
+        return apply_filters( "wpinv_rest_prepare_invoice", $response, $invoice, $request );
857
+    }
858
+
859
+    /**
860
+     * Gets an array of fields to be included on the response.
861
+     *
862
+     * Included fields are based on item schema and `_fields=` request argument.
863
+     *
864
+     * @since 1.0.13
865
+     *
866
+     * @param WP_REST_Request $request Full details about the request.
867
+     * @return array Fields to be included in the response.
868
+     */
869
+    public function get_fields_for_response( $request ) {
870
+        $schema     = $this->get_item_schema();
871
+        $properties = isset( $schema['properties'] ) ? $schema['properties'] : array();
872
+
873
+        $additional_fields = $this->get_additional_fields();
874
+        foreach ( $additional_fields as $field_name => $field_options ) {
875
+            // For back-compat, include any field with an empty schema
876
+            // because it won't be present in $this->get_item_schema().
877
+            if ( is_null( $field_options['schema'] ) ) {
878
+                $properties[ $field_name ] = $field_options;
879
+            }
880
+        }
881
+
882
+        // Exclude fields that specify a different context than the request context.
883
+        $context = $request['context'];
884
+        if ( $context ) {
885
+            foreach ( $properties as $name => $options ) {
886
+                if ( ! empty( $options['context'] ) && ! in_array( $context, $options['context'], true ) ) {
887
+                    unset( $properties[ $name ] );
888
+                }
889
+            }
890
+        }
891
+
892
+        $fields = array_keys( $properties );
893
+
894
+        if ( ! isset( $request['_fields'] ) ) {
895
+            return $fields;
896
+        }
897
+        $requested_fields = wpinv_parse_list( $request['_fields'] );
898
+        if ( 0 === count( $requested_fields ) ) {
899
+            return $fields;
900
+        }
901
+        // Trim off outside whitespace from the comma delimited list.
902
+        $requested_fields = array_map( 'trim', $requested_fields );
903
+        // Always persist 'id', because it can be needed for add_additional_fields_to_object().
904
+        if ( in_array( 'id', $fields, true ) ) {
905
+            $requested_fields[] = 'id';
906
+        }
907
+        // Return the list of all requested fields which appear in the schema.
908
+        return array_reduce(
909
+            $requested_fields,
910
+            function( $response_fields, $field ) use ( $fields ) {
911
+                if ( in_array( $field, $fields, true ) ) {
912
+                    $response_fields[] = $field;
913
+                    return $response_fields;
914
+                }
915
+                // Check for nested fields if $field is not a direct match.
916
+                $nested_fields = explode( '.', $field );
917
+                // A nested field is included so long as its top-level property is
918
+                // present in the schema.
919
+                if ( in_array( $nested_fields[0], $fields, true ) ) {
920
+                    $response_fields[] = $field;
921
+                }
922
+                return $response_fields;
923
+            },
924
+            array()
925
+        );
926
+    }
927
+
928
+    /**
929
+     * Retrieves the invoice's schema, conforming to JSON Schema.
930
+     *
931
+     * @since 1.0.13
932
+     *
933
+     * @return array Invoice schema data.
934
+     */
935
+    public function get_item_schema() {
936
+
937
+        // Maybe retrieve the schema from cache.
938
+        if ( $this->schema ) {
939
+            return $this->add_additional_fields_schema( $this->schema );
940
+        }
941
+
942
+        $schema = array(
943
+            '$schema'    => 'http://json-schema.org/draft-04/schema#',
944
+            'title'      => $this->post_type,
945
+            'type'       => 'object',
946
+
947
+            // Base properties for every Invoice.
948
+            'properties' 		  => array(
949
+
950
+                'title'			  => array(
951
+                    'description' => __( 'The title for the invoice.', 'invoicing' ),
952
+                    'type'        => 'string',
953
+                    'context'     => array( 'view', 'edit', 'embed' ),
954
+                    'readonly'    => true,
955
+                ),
956
+
957
+                'user_id'		  => array(
958
+                    'description' => __( 'The ID of the owner of the invoice.', 'invoicing' ),
959
+                    'type'        => 'integer',
960
+                    'context'     => array( 'view', 'edit', 'embed' ),
961
+                ),
962
+
963
+                'email'		  	  => array(
964
+                    'description' => __( 'The email of the owner of the invoice.', 'invoicing' ),
965
+                    'type'        => 'string',
966
+                    'context'     => array( 'view', 'edit', 'embed' ),
967
+                    'readonly'    => true,
968
+                ),
969
+
970
+                'ip'			  => array(
971
+                    'description' => __( 'The IP of the owner of the invoice.', 'invoicing' ),
972
+                    'type'        => 'string',
973
+                    'context'     => array( 'view', 'edit', 'embed' ),
974
+                ),
975
+
976
+                'user_info'       => array(
977
+                    'description' => __( 'Information about the owner of the invoice.', 'invoicing' ),
978
+                    'type'        => 'object',
979
+                    'context'     => array( 'view', 'edit', 'embed' ),
980
+                    'properties'  => array(
981
+
982
+                        'first_name'      => array(
983
+                            'description' => __( 'The first name of the owner of the invoice.', 'invoicing' ),
984
+                            'type'        => 'string',
985
+                            'context'     => array( 'view', 'edit', 'embed' ),
986
+                        ),
987
+
988
+                        'last_name'       => array(
989
+                            'description' => __( 'The last name of the owner of the invoice.', 'invoicing' ),
990
+                            'type'        => 'string',
991
+                            'context'     => array( 'view', 'edit', 'embed' ),
992
+                        ),
993
+
994
+                        'company'         => array(
995
+                            'description' => __( 'The company of the owner of the invoice.', 'invoicing' ),
996
+                            'type'        => 'string',
997
+                            'context'     => array( 'view', 'edit', 'embed' ),
998
+                        ),
999
+
1000
+                        'vat_number'      => array(
1001
+                            'description' => __( 'The VAT number of the owner of the invoice.', 'invoicing' ),
1002
+                            'type'        => 'string',
1003
+                            'context'     => array( 'view', 'edit', 'embed' ),
1004
+                        ),
1005
+
1006
+                        'vat_rate'        => array(
1007
+                            'description' => __( 'The VAT rate applied on the invoice.', 'invoicing' ),
1008
+                            'type'        => 'string',
1009
+                            'context'     => array( 'view', 'edit', 'embed' ),
1010
+                        ),
1011
+
1012
+                        'address'        => array(
1013
+                            'description' => __( 'The address of the invoice owner.', 'invoicing' ),
1014
+                            'type'        => 'string',
1015
+                            'context'     => array( 'view', 'edit', 'embed' ),
1016
+                        ),
1017
+
1018
+                        'city'            => array(
1019
+                            'description' => __( 'The city of the invoice owner.', 'invoicing' ),
1020
+                            'type'        => 'string',
1021
+                            'context'     => array( 'view', 'edit', 'embed' ),
1022
+                        ),
1023
+
1024
+                        'country'         => array(
1025
+                            'description' => __( 'The country of the invoice owner.', 'invoicing' ),
1026
+                            'type'        => 'string',
1027
+                            'context'     => array( 'view', 'edit', 'embed' ),
1028
+                        ),
1029
+
1030
+                        'state'           => array(
1031
+                            'description' => __( 'The state of the invoice owner.', 'invoicing' ),
1032
+                            'type'        => 'string',
1033
+                            'context'     => array( 'view', 'edit', 'embed' ),
1034
+                        ),
1035
+
1036
+                        'zip'             => array(
1037
+                            'description' => __( 'The zip code of the invoice owner.', 'invoicing' ),
1038
+                            'type'        => 'string',
1039
+                            'context'     => array( 'view', 'edit', 'embed' ),
1040
+                        ),
1041
+
1042
+                        'phone'             => array(
1043
+                            'description' => __( 'The phone number of the invoice owner.', 'invoicing' ),
1044
+                            'type'        => 'string',
1045
+                            'context'     => array( 'view', 'edit', 'embed' ),
1046
+                        ),
1047
+                    ),
1048
+                ),
1049
+
1050
+                'id'           => array(
1051
+                    'description' => __( 'Unique identifier for the invoice.', 'invoicing' ),
1052
+                    'type'        => 'integer',
1053
+                    'context'     => array( 'view', 'edit', 'embed' ),
1054
+                    'readonly'    => true,
1055
+                ),
1056
+
1057
+                'key'			  => array(
1058
+                    'description' => __( 'A unique key for the invoice.', 'invoicing' ),
1059
+                    'type'        => 'string',
1060
+                    'context'     => array( 'view', 'edit', 'embed' ),
1061
+                    'readonly'    => true,
1062
+                ),
1063
+
1064
+                'number'		  => array(
1065
+                    'description' => __( 'The invoice number.', 'invoicing' ),
1066
+                    'type'        => 'string',
1067
+                    'context'     => array( 'view', 'edit', 'embed' ),
1068
+                    'readonly'    => true,
1069
+                ),
1070
+
1071
+                'transaction_id'  => array(
1072
+                    'description' => __( 'The transaction id of the invoice.', 'invoicing' ),
1073
+                    'type'        => 'string',
1074
+                    'context'     => array( 'view', 'edit', 'embed' ),
1075
+                ),
1076
+
1077
+                'gateway'		  => array(
1078
+                    'description' => __( 'The gateway used to process the invoice.', 'invoicing' ),
1079
+                    'type'        => 'string',
1080
+                    'context'     => array( 'view', 'edit', 'embed' ),
1081
+                ),
1082
+
1083
+                'gateway_title'	  => array(
1084
+                    'description' => __( 'The title of the gateway used to process the invoice.', 'invoicing' ),
1085
+                    'type'        => 'string',
1086
+                    'context'     => array( 'view', 'edit', 'embed' ),
1087
+                ),
1088
+
1089
+                'total'	  		  => array(
1090
+                    'description' => __( 'The total amount of the invoice.', 'invoicing' ),
1091
+                    'type'        => 'number',
1092
+                    'context'     => array( 'view', 'edit', 'embed' ),
1093
+                    'readonly'    => true,
1094
+                ),
1095
+
1096
+                'discount'		  => array(
1097
+                    'description' => __( 'The discount applied to the invoice.', 'invoicing' ),
1098
+                    'type'        => 'number',
1099
+                    'context'     => array( 'view', 'edit', 'embed' ),
1100
+                    'readonly'    => true,
1101
+                ),
1102
+
1103
+                'discount_code'	  => array(
1104
+                    'description' => __( 'The discount code applied to the invoice.', 'invoicing' ),
1105
+                    'type'        => 'string',
1106
+                    'context'     => array( 'view', 'edit', 'embed' ),
1107
+                    'readonly'    => true,
1108
+                ),
1109
+
1110
+                'tax'	  		  => array(
1111
+                    'description' => __( 'The tax applied to the invoice.', 'invoicing' ),
1112
+                    'type'        => 'number',
1113
+                    'context'     => array( 'view', 'edit', 'embed' ),
1114
+                    'readonly'    => true,
1115
+                ),
1116
+
1117
+                'fees_total'	  => array(
1118
+                    'description' => __( 'The total fees applied to the invoice.', 'invoicing' ),
1119
+                    'type'        => 'number',
1120
+                    'context'     => array( 'view', 'edit', 'embed' ),
1121
+                    'readonly'    => true,
1122
+                ),
1123
+
1124
+                'subtotal'	  	  => array(
1125
+                    'description' => __( 'The sub-total for the invoice.', 'invoicing' ),
1126
+                    'type'        => 'number',
1127
+                    'context'     => array( 'view', 'edit', 'embed' ),
1128
+                    'readonly'    => true,
1129
+                ),
1130
+
1131
+                'currency'	  	  => array(
1132
+                    'description' => __( 'The currency used to process the invoice.', 'invoicing' ),
1133
+                    'type'        => 'string',
1134
+                    'context'     => array( 'view', 'edit', 'embed' ),
1135
+                ),
1136
+
1137
+                'cart_details'	  => array(
1138
+                    'description' => __( 'The cart details for invoice.', 'invoicing' ),
1139
+                    'type'        => 'array',
1140
+                    'context'     => array( 'view', 'edit', 'embed' ),
1141
+                    'required'	  => true,
1142
+                ),
1143
+
1144
+                'date'         => array(
1145
+                    'description' => __( "The date the invoice was published, in the site's timezone.", 'invoicing' ),
1146
+                    'type'        => array( 'string', 'null' ),
1147
+                    'format'      => 'date-time',
1148
+                    'context'     => array( 'view', 'edit', 'embed' ),
1149
+                ),
1150
+
1151
+                'due_date'     => array(
1152
+                    'description' => __( 'The due date for the invoice.', 'invoicing' ),
1153
+                    'type'        => array( 'string', 'null' ),
1154
+                    'format'      => 'date-time',
1155
+                    'context'     => array( 'view', 'edit', 'embed' ),
1156
+                ),
1157
+
1158
+                'completed_date'  => array(
1159
+                    'description' => __( 'The completed date for the invoice.', 'invoicing' ),
1160
+                    'type'        => array( 'string', 'null' ),
1161
+                    'format'      => 'date-time',
1162
+                    'context'     => array( 'view', 'edit', 'embed' ),
1163
+                    'readonly'    => true,
1164
+                ),
1165 1165
 				
1166
-				'link'         => array(
1167
-					'description' => __( 'URL to the invoice.', 'invoicing' ),
1168
-					'type'        => 'string',
1169
-					'format'      => 'uri',
1170
-					'context'     => array( 'view', 'edit', 'embed' ),
1171
-					'readonly'    => true,
1172
-				),
1173
-
1174
-				'mode'       	  => array(
1175
-					'description' => __( 'The mode used to process the invoice.', 'invoicing' ),
1176
-					'type'        => 'string',
1177
-					'enum'        => array( 'live', 'test' ),
1178
-					'context'     => array( 'view', 'edit', 'embed' ),
1179
-					'readonly'    => true,
1180
-				),
1181
-
1182
-				'slug'       	  => array(
1183
-					'description' => __( 'An alphanumeric identifier for the invoice.', 'invoicing' ),
1184
-					'type'        => 'string',
1185
-					'context'     => array( 'view', 'edit', 'embed' ),
1186
-					'arg_options' => array(
1187
-						'sanitize_callback' => array( $this, 'sanitize_slug' ),
1188
-					),
1189
-					'readonly'    => true,
1190
-				),
1191
-
1192
-				'status'       	  => array(
1193
-					'description' => __( 'A named status for the invoice.', 'invoicing' ),
1194
-					'type'        => 'string',
1195
-					'enum'        => array_keys( wpinv_get_invoice_statuses( true, true ) ),
1196
-					'context'     => array( 'view', 'edit' ),
1197
-					'default'	  => 'wpi-pending',
1198
-				),
1199
-
1200
-				'status_nicename' => array(
1201
-					'description' => __( 'A human-readable status name for the invoice.', 'invoicing' ),
1202
-					'type'        => 'string',
1203
-					'context'     => array( 'view', 'embed' ),
1204
-					'readonly'    => true,
1205
-				),
1206
-
1207
-				'post_type'       => array(
1208
-					'description' => __( 'The post type for the invoice.', 'invoicing' ),
1209
-					'type'        => 'string',
1210
-					'context'     => array( 'view' ),
1211
-					'readonly'    => true,
1212
-				),
1213
-			),
1214
-		);
1215
-
1216
-		// Add helpful links to the invoice schem.
1217
-		$schema['links'] = $this->get_schema_links();
1218
-
1219
-		/**
1220
-		 * Filters the invoice schema for the REST API.
1221
-		 *
1222
-		 * Enables adding extra properties to invoices.
1223
-		 *
1224
-		 * @since 1.0.13
1225
-		 *
1226
-		 * @param array   $schema    The invoice schema.
1227
-		 */
1166
+                'link'         => array(
1167
+                    'description' => __( 'URL to the invoice.', 'invoicing' ),
1168
+                    'type'        => 'string',
1169
+                    'format'      => 'uri',
1170
+                    'context'     => array( 'view', 'edit', 'embed' ),
1171
+                    'readonly'    => true,
1172
+                ),
1173
+
1174
+                'mode'       	  => array(
1175
+                    'description' => __( 'The mode used to process the invoice.', 'invoicing' ),
1176
+                    'type'        => 'string',
1177
+                    'enum'        => array( 'live', 'test' ),
1178
+                    'context'     => array( 'view', 'edit', 'embed' ),
1179
+                    'readonly'    => true,
1180
+                ),
1181
+
1182
+                'slug'       	  => array(
1183
+                    'description' => __( 'An alphanumeric identifier for the invoice.', 'invoicing' ),
1184
+                    'type'        => 'string',
1185
+                    'context'     => array( 'view', 'edit', 'embed' ),
1186
+                    'arg_options' => array(
1187
+                        'sanitize_callback' => array( $this, 'sanitize_slug' ),
1188
+                    ),
1189
+                    'readonly'    => true,
1190
+                ),
1191
+
1192
+                'status'       	  => array(
1193
+                    'description' => __( 'A named status for the invoice.', 'invoicing' ),
1194
+                    'type'        => 'string',
1195
+                    'enum'        => array_keys( wpinv_get_invoice_statuses( true, true ) ),
1196
+                    'context'     => array( 'view', 'edit' ),
1197
+                    'default'	  => 'wpi-pending',
1198
+                ),
1199
+
1200
+                'status_nicename' => array(
1201
+                    'description' => __( 'A human-readable status name for the invoice.', 'invoicing' ),
1202
+                    'type'        => 'string',
1203
+                    'context'     => array( 'view', 'embed' ),
1204
+                    'readonly'    => true,
1205
+                ),
1206
+
1207
+                'post_type'       => array(
1208
+                    'description' => __( 'The post type for the invoice.', 'invoicing' ),
1209
+                    'type'        => 'string',
1210
+                    'context'     => array( 'view' ),
1211
+                    'readonly'    => true,
1212
+                ),
1213
+            ),
1214
+        );
1215
+
1216
+        // Add helpful links to the invoice schem.
1217
+        $schema['links'] = $this->get_schema_links();
1218
+
1219
+        /**
1220
+         * Filters the invoice schema for the REST API.
1221
+         *
1222
+         * Enables adding extra properties to invoices.
1223
+         *
1224
+         * @since 1.0.13
1225
+         *
1226
+         * @param array   $schema    The invoice schema.
1227
+         */
1228 1228
         $schema = apply_filters( "wpinv_rest_invoice_schema", $schema );
1229 1229
 
1230
-		// Cache the invoice schema.
1231
-		$this->schema = $schema;
1230
+        // Cache the invoice schema.
1231
+        $this->schema = $schema;
1232 1232
 		
1233
-		return $this->add_additional_fields_schema( $this->schema );
1234
-	}
1235
-
1236
-	/**
1237
-	 * Retrieve Link Description Objects that should be added to the Schema for the invoices collection.
1238
-	 *
1239
-	 * @since 1.0.13
1240
-	 *
1241
-	 * @return array
1242
-	 */
1243
-	protected function get_schema_links() {
1244
-
1245
-		$href = rest_url( "{$this->namespace}/{$this->rest_base}/{id}" );
1246
-
1247
-		$links = array();
1248
-
1249
-		$links[] = array(
1250
-			'rel'          => 'https://api.w.org/action-publish',
1251
-			'title'        => __( 'The current user can mark this invoice as completed.', 'invoicing' ),
1252
-			'href'         => $href,
1253
-			'targetSchema' => array(
1254
-				'type'       => 'object',
1255
-				'properties' => array(
1256
-					'status' => array(
1257
-						'type' => 'string',
1258
-						'enum' => array( 'publish', 'wpi-renewal' ),
1259
-					),
1260
-				),
1261
-			),
1262
-		);
1263
-
1264
-		$links[] = array(
1265
-			'rel'          => 'https://api.w.org/action-assign-author',
1266
-			'title'        => __( 'The current user can change the owner of this invoice.', 'invoicing' ),
1267
-			'href'         => $href,
1268
-			'targetSchema' => array(
1269
-				'type'       => 'object',
1270
-				'properties'   => array(
1271
-					'user_id'  => array(
1272
-						'type' => 'integer',
1273
-					),
1274
-				),
1275
-			),
1276
-		);
1277
-
1278
-		return $links;
1279
-	}
1280
-
1281
-	/**
1282
-	 * Prepares links for the request.
1283
-	 *
1284
-	 * @since 1.0.13
1285
-	 *
1286
-	 * @param WPInv_Invoice $invoice Invoice Object.
1287
-	 * @return array Links for the given invoice.
1288
-	 */
1289
-	protected function prepare_links( $invoice ) {
1290
-
1291
-		// Prepare the base REST API endpoint for invoices.
1292
-		$base = sprintf( '%s/%s', $this->namespace, $this->rest_base );
1293
-
1294
-		// Entity meta.
1295
-		$links = array(
1296
-			'self'       => array(
1297
-				'href' => rest_url( trailingslashit( $base ) . $invoice->ID ),
1298
-			),
1299
-			'collection' => array(
1300
-				'href' => rest_url( $base ),
1301
-			),
1302
-		);
1303
-
1304
-		if ( ! empty( $invoice->user_id ) ) {
1305
-			$links['user'] = array(
1306
-				'href'       => rest_url( 'wp/v2/users/' . $invoice->user_id ),
1307
-				'embeddable' => true,
1308
-			);
1309
-		}
1310
-
1311
-		/**
1312
-		 * Filters the returned invoice links for the REST API.
1313
-		 *
1314
-		 * Enables adding extra links to invoice API responses.
1315
-		 *
1316
-		 * @since 1.0.13
1317
-		 *
1318
-		 * @param array   $links    Rest links.
1319
-		 */
1320
-		return apply_filters( "wpinv_invoice_rest_links", $links );
1321
-
1322
-	}
1323
-
1324
-	/**
1325
-	 * Get the link relations available for the post and current user.
1326
-	 *
1327
-	 * @since 1.0.13
1328
-	 *
1329
-	 * @param WPInv_Invoice   $invoice    Invoice object.
1330
-	 * @param WP_REST_Request $request Request object.
1331
-	 * @return array List of link relations.
1332
-	 */
1333
-	protected function get_available_actions( $invoice, $request ) {
1334
-
1335
-		if ( 'edit' !== $request['context'] ) {
1336
-			return array();
1337
-		}
1338
-
1339
-		$rels = array();
1340
-
1341
-		// Retrieve the post type object.
1342
-		$post_type = get_post_type_object( $invoice->post_type );
1343
-
1344
-		// Mark invoice as completed.
1345
-		if ( current_user_can( $post_type->cap->publish_posts ) ) {
1346
-			$rels[] = 'https://api.w.org/action-publish';
1347
-		}
1348
-
1349
-		// Change the owner of the invoice.
1350
-		if ( current_user_can( $post_type->cap->edit_others_posts ) ) {
1351
-			$rels[] = 'https://api.w.org/action-assign-author';
1352
-		}
1353
-
1354
-		/**
1355
-		 * Filters the available invoice link relations for the REST API.
1356
-		 *
1357
-		 * Enables adding extra link relation for the current user and request to invoice responses.
1358
-		 *
1359
-		 * @since 1.0.13
1360
-		 *
1361
-		 * @param array   $rels    Available link relations.
1362
-		 */
1363
-		return apply_filters( "wpinv_invoice_rest_link_relations", $rels );
1364
-	}
1365
-
1366
-	/**
1367
-	 * Sanitizes and validates the list of post statuses.
1368
-	 *
1369
-	 * @since 1.0.13
1370
-	 *
1371
-	 * @param string|array    $statuses  One or more post statuses.
1372
-	 * @param WP_REST_Request $request   Full details about the request.
1373
-	 * @param string          $parameter Additional parameter to pass to validation.
1374
-	 * @return array|WP_Error A list of valid statuses, otherwise WP_Error object.
1375
-	 */
1376
-	public function sanitize_post_statuses( $statuses, $request, $parameter ) {
1377
-
1378
-		$statuses 	  = wp_parse_slug_list( $statuses );
1379
-		$valid_statuses = array_keys( wpinv_get_invoice_statuses( true, true ) );
1380
-		return array_intersect( $statuses, $valid_statuses );
1233
+        return $this->add_additional_fields_schema( $this->schema );
1234
+    }
1235
+
1236
+    /**
1237
+     * Retrieve Link Description Objects that should be added to the Schema for the invoices collection.
1238
+     *
1239
+     * @since 1.0.13
1240
+     *
1241
+     * @return array
1242
+     */
1243
+    protected function get_schema_links() {
1244
+
1245
+        $href = rest_url( "{$this->namespace}/{$this->rest_base}/{id}" );
1246
+
1247
+        $links = array();
1248
+
1249
+        $links[] = array(
1250
+            'rel'          => 'https://api.w.org/action-publish',
1251
+            'title'        => __( 'The current user can mark this invoice as completed.', 'invoicing' ),
1252
+            'href'         => $href,
1253
+            'targetSchema' => array(
1254
+                'type'       => 'object',
1255
+                'properties' => array(
1256
+                    'status' => array(
1257
+                        'type' => 'string',
1258
+                        'enum' => array( 'publish', 'wpi-renewal' ),
1259
+                    ),
1260
+                ),
1261
+            ),
1262
+        );
1263
+
1264
+        $links[] = array(
1265
+            'rel'          => 'https://api.w.org/action-assign-author',
1266
+            'title'        => __( 'The current user can change the owner of this invoice.', 'invoicing' ),
1267
+            'href'         => $href,
1268
+            'targetSchema' => array(
1269
+                'type'       => 'object',
1270
+                'properties'   => array(
1271
+                    'user_id'  => array(
1272
+                        'type' => 'integer',
1273
+                    ),
1274
+                ),
1275
+            ),
1276
+        );
1277
+
1278
+        return $links;
1279
+    }
1280
+
1281
+    /**
1282
+     * Prepares links for the request.
1283
+     *
1284
+     * @since 1.0.13
1285
+     *
1286
+     * @param WPInv_Invoice $invoice Invoice Object.
1287
+     * @return array Links for the given invoice.
1288
+     */
1289
+    protected function prepare_links( $invoice ) {
1290
+
1291
+        // Prepare the base REST API endpoint for invoices.
1292
+        $base = sprintf( '%s/%s', $this->namespace, $this->rest_base );
1293
+
1294
+        // Entity meta.
1295
+        $links = array(
1296
+            'self'       => array(
1297
+                'href' => rest_url( trailingslashit( $base ) . $invoice->ID ),
1298
+            ),
1299
+            'collection' => array(
1300
+                'href' => rest_url( $base ),
1301
+            ),
1302
+        );
1303
+
1304
+        if ( ! empty( $invoice->user_id ) ) {
1305
+            $links['user'] = array(
1306
+                'href'       => rest_url( 'wp/v2/users/' . $invoice->user_id ),
1307
+                'embeddable' => true,
1308
+            );
1309
+        }
1310
+
1311
+        /**
1312
+         * Filters the returned invoice links for the REST API.
1313
+         *
1314
+         * Enables adding extra links to invoice API responses.
1315
+         *
1316
+         * @since 1.0.13
1317
+         *
1318
+         * @param array   $links    Rest links.
1319
+         */
1320
+        return apply_filters( "wpinv_invoice_rest_links", $links );
1321
+
1322
+    }
1323
+
1324
+    /**
1325
+     * Get the link relations available for the post and current user.
1326
+     *
1327
+     * @since 1.0.13
1328
+     *
1329
+     * @param WPInv_Invoice   $invoice    Invoice object.
1330
+     * @param WP_REST_Request $request Request object.
1331
+     * @return array List of link relations.
1332
+     */
1333
+    protected function get_available_actions( $invoice, $request ) {
1334
+
1335
+        if ( 'edit' !== $request['context'] ) {
1336
+            return array();
1337
+        }
1338
+
1339
+        $rels = array();
1340
+
1341
+        // Retrieve the post type object.
1342
+        $post_type = get_post_type_object( $invoice->post_type );
1343
+
1344
+        // Mark invoice as completed.
1345
+        if ( current_user_can( $post_type->cap->publish_posts ) ) {
1346
+            $rels[] = 'https://api.w.org/action-publish';
1347
+        }
1348
+
1349
+        // Change the owner of the invoice.
1350
+        if ( current_user_can( $post_type->cap->edit_others_posts ) ) {
1351
+            $rels[] = 'https://api.w.org/action-assign-author';
1352
+        }
1353
+
1354
+        /**
1355
+         * Filters the available invoice link relations for the REST API.
1356
+         *
1357
+         * Enables adding extra link relation for the current user and request to invoice responses.
1358
+         *
1359
+         * @since 1.0.13
1360
+         *
1361
+         * @param array   $rels    Available link relations.
1362
+         */
1363
+        return apply_filters( "wpinv_invoice_rest_link_relations", $rels );
1364
+    }
1365
+
1366
+    /**
1367
+     * Sanitizes and validates the list of post statuses.
1368
+     *
1369
+     * @since 1.0.13
1370
+     *
1371
+     * @param string|array    $statuses  One or more post statuses.
1372
+     * @param WP_REST_Request $request   Full details about the request.
1373
+     * @param string          $parameter Additional parameter to pass to validation.
1374
+     * @return array|WP_Error A list of valid statuses, otherwise WP_Error object.
1375
+     */
1376
+    public function sanitize_post_statuses( $statuses, $request, $parameter ) {
1377
+
1378
+        $statuses 	  = wp_parse_slug_list( $statuses );
1379
+        $valid_statuses = array_keys( wpinv_get_invoice_statuses( true, true ) );
1380
+        return array_intersect( $statuses, $valid_statuses );
1381 1381
 		
1382
-	}
1382
+    }
1383 1383
     
1384 1384
 }
1385 1385
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +301 added lines, -301 removed lines patch added patch discarded remove patch
@@ -8,7 +8,7 @@  discard block
 block discarded – undo
8 8
  * @since    1.0.13
9 9
  */
10 10
 
11
-if ( !defined( 'WPINC' ) ) {
11
+if (!defined('WPINC')) {
12 12
     exit;
13 13
 }
14 14
 
@@ -41,7 +41,7 @@  discard block
 block discarded – undo
41 41
 	 *
42 42
 	 * @param string $namespace Api Namespace
43 43
 	 */
44
-	public function __construct( $namespace ) {
44
+	public function __construct($namespace) {
45 45
         
46 46
         // Set api namespace...
47 47
 		$this->namespace = $namespace;
@@ -60,12 +60,12 @@  discard block
 block discarded – undo
60 60
 	 * @param WP_REST_Request $request Full details about the request.
61 61
 	 * @return true|WP_Error True if the request has read access, WP_Error object otherwise.
62 62
 	 */
63
-	public function get_items_permissions_check( $request ) {
63
+	public function get_items_permissions_check($request) {
64 64
 	
65
-        $post_type = get_post_type_object( $this->post_type );
65
+        $post_type = get_post_type_object($this->post_type);
66 66
 
67
-		if ( 'edit' === $request['context'] && ! current_user_can( $post_type->cap->edit_posts ) ) {
68
-			return new WP_Error( 'rest_forbidden_context', __( 'Sorry, you are not allowed to edit invoices.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) );
67
+		if ('edit' === $request['context'] && !current_user_can($post_type->cap->edit_posts)) {
68
+			return new WP_Error('rest_forbidden_context', __('Sorry, you are not allowed to edit invoices.', 'invoicing'), array('status' => rest_authorization_required_code()));
69 69
 		}
70 70
 
71 71
 		// Read checks will be evaluated on a per invoice basis
@@ -82,17 +82,17 @@  discard block
 block discarded – undo
82 82
 	 * @param WP_REST_Request $request Full details about the request.
83 83
 	 * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
84 84
 	 */
85
-	public function get_items( $request ) {
85
+	public function get_items($request) {
86 86
 		
87 87
 		// Retrieve the list of registered invoice query parameters.
88 88
         $registered = $this->get_collection_params();
89 89
         
90 90
         $args       = array();
91 91
 
92
-        foreach( array_keys( $registered ) as $key ) {
92
+        foreach (array_keys($registered) as $key) {
93 93
 
94
-            if( isset( $request[ $key] ) ) {
95
-                $args[ $key ] = $request[ $key];
94
+            if (isset($request[$key])) {
95
+                $args[$key] = $request[$key];
96 96
             }
97 97
 
98 98
         }
@@ -107,32 +107,32 @@  discard block
 block discarded – undo
107 107
 		 * @param array           $args    Key value array of query var to query value.
108 108
 		 * @param WP_REST_Request $request The request used.
109 109
 		 */
110
-        $args       = apply_filters( "wpinv_rest_get_invoices_arguments", $args, $request, $this );
110
+        $args = apply_filters("wpinv_rest_get_invoices_arguments", $args, $request, $this);
111 111
 		
112 112
 		// Special args
113
-		$args[ 'return' ]   = 'objects';
114
-		$args[ 'paginate' ] = true;
113
+		$args['return']   = 'objects';
114
+		$args['paginate'] = true;
115 115
 
116 116
         // Run the query.
117
-		$query = wpinv_get_invoices( $args );
117
+		$query = wpinv_get_invoices($args);
118 118
 		
119 119
 		// Prepare the retrieved invoices
120 120
 		$invoices = array();
121
-		foreach( $query->invoices as $invoice ) {
121
+		foreach ($query->invoices as $invoice) {
122 122
 
123
-			if ( ! $this->check_read_permission( $invoice ) ) {
123
+			if (!$this->check_read_permission($invoice)) {
124 124
 				continue;
125 125
 			}
126 126
 
127
-			$data       = $this->prepare_item_for_response( $invoice, $request );
128
-			$invoices[] = $this->prepare_response_for_collection( $data );
127
+			$data       = $this->prepare_item_for_response($invoice, $request);
128
+			$invoices[] = $this->prepare_response_for_collection($data);
129 129
 
130 130
 		}
131 131
 
132 132
 		// Prepare the response.
133
-		$response = rest_ensure_response( $invoices );
134
-		$response->header( 'X-WP-Total', (int) $query->total );
135
-		$response->header( 'X-WP-TotalPages', (int) $query->max_num_pages );
133
+		$response = rest_ensure_response($invoices);
134
+		$response->header('X-WP-Total', (int)$query->total);
135
+		$response->header('X-WP-TotalPages', (int)$query->max_num_pages);
136 136
 
137 137
 		/**
138 138
 		 * Filters the responses for invoices requests.
@@ -145,9 +145,9 @@  discard block
 block discarded – undo
145 145
 		 * @param WP_REST_Request     $request The request used.
146 146
          * @param array               $args Array of args used to retrieve the invoices
147 147
 		 */
148
-        $response       = apply_filters( "rest_wpinv_invoices_response", $response, $request, $args );
148
+        $response = apply_filters("rest_wpinv_invoices_response", $response, $request, $args);
149 149
 
150
-        return rest_ensure_response( $response );
150
+        return rest_ensure_response($response);
151 151
         
152 152
     }
153 153
 
@@ -159,17 +159,17 @@  discard block
 block discarded – undo
159 159
 	 * @param int $invoice_id Supplied ID.
160 160
 	 * @return WPInv_Invoice|WP_Error Invoice object if ID is valid, WP_Error otherwise.
161 161
 	 */
162
-	protected function get_post( $invoice_id ) {
162
+	protected function get_post($invoice_id) {
163 163
 		
164
-		$error     = new WP_Error( 'rest_invoice_invalid_id', __( 'Invalid invoice ID.', 'invoicing' ), array( 'status' => 404 ) );
164
+		$error = new WP_Error('rest_invoice_invalid_id', __('Invalid invoice ID.', 'invoicing'), array('status' => 404));
165 165
 
166 166
         // Ids start from 1
167
-        if ( (int) $invoice_id <= 0 ) {
167
+        if ((int)$invoice_id <= 0) {
168 168
 			return $error;
169 169
 		}
170 170
 
171
-		$invoice = wpinv_get_invoice( (int) $invoice_id );
172
-		if ( empty( $invoice ) ) {
171
+		$invoice = wpinv_get_invoice((int)$invoice_id);
172
+		if (empty($invoice)) {
173 173
 			return $error;
174 174
         }
175 175
 
@@ -185,18 +185,18 @@  discard block
 block discarded – undo
185 185
 	 * @param WP_REST_Request $request Full details about the request.
186 186
 	 * @return bool|WP_Error True if the request has read access for the invoice, WP_Error object otherwise.
187 187
 	 */
188
-	public function get_item_permissions_check( $request ) {
188
+	public function get_item_permissions_check($request) {
189 189
 
190 190
         // Retrieve the invoice object.
191
-        $invoice = $this->get_post( $request['id'] );
191
+        $invoice = $this->get_post($request['id']);
192 192
         
193 193
         // Ensure it is valid.
194
-		if ( is_wp_error( $invoice ) ) {
194
+		if (is_wp_error($invoice)) {
195 195
 			return $invoice;
196 196
 		}
197 197
 
198
-		if ( $invoice ) {
199
-			return $this->check_read_permission( $invoice );
198
+		if ($invoice) {
199
+			return $this->check_read_permission($invoice);
200 200
 		}
201 201
 
202 202
 		return true;
@@ -213,8 +213,8 @@  discard block
 block discarded – undo
213 213
 	 * @param WPInv_Invoice $invoice WPInv_Invoice object.
214 214
 	 * @return bool Whether the post can be read.
215 215
 	 */
216
-	public function check_read_permission( $invoice ) {
217
-		return wpinv_user_can_view_invoice( $invoice->ID );
216
+	public function check_read_permission($invoice) {
217
+		return wpinv_user_can_view_invoice($invoice->ID);
218 218
     }
219 219
     
220 220
     /**
@@ -225,19 +225,19 @@  discard block
 block discarded – undo
225 225
 	 * @param WP_REST_Request $request Full details about the request.
226 226
 	 * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
227 227
 	 */
228
-	public function get_item( $request ) {
228
+	public function get_item($request) {
229 229
 
230 230
         // Fetch the invoice.
231
-        $invoice = $this->get_post( $request['id'] );
231
+        $invoice = $this->get_post($request['id']);
232 232
         
233 233
         // Abort early if it does not exist
234
-		if ( is_wp_error( $invoice ) ) {
234
+		if (is_wp_error($invoice)) {
235 235
 			return $invoice;
236 236
 		}
237 237
 
238 238
 		// Prepare the response
239
-		$response = $this->prepare_item_for_response( $invoice, $request );
240
-		$response->link_header( 'alternate', esc_url( $invoice->get_view_url() ), array( 'type' => 'text/html' ) );
239
+		$response = $this->prepare_item_for_response($invoice, $request);
240
+		$response->link_header('alternate', esc_url($invoice->get_view_url()), array('type' => 'text/html'));
241 241
 
242 242
 		/**
243 243
 		 * Filters the responses for single invoice requests.
@@ -249,9 +249,9 @@  discard block
 block discarded – undo
249 249
 		 * @param WP_HTTP_Response $response Response.
250 250
 		 * @param WP_REST_Request  $request The request used.
251 251
 		 */
252
-        $response       = apply_filters( "rest_wpinv_get_invoice_response", $response, $request );
252
+        $response = apply_filters("rest_wpinv_get_invoice_response", $response, $request);
253 253
 
254
-        return rest_ensure_response( $response );
254
+        return rest_ensure_response($response);
255 255
 
256 256
     }
257 257
     
@@ -263,18 +263,18 @@  discard block
 block discarded – undo
263 263
 	 * @param WP_REST_Request $request Full details about the request.
264 264
 	 * @return true|WP_Error True if the request has access to create items, WP_Error object otherwise.
265 265
 	 */
266
-	public function create_item_permissions_check( $request ) {
266
+	public function create_item_permissions_check($request) {
267 267
 	
268
-		if ( ! empty( $request['id'] ) ) {
269
-			return new WP_Error( 'rest_invoice_exists', __( 'Cannot create existing invoice.', 'invoicing' ), array( 'status' => 400 ) );
268
+		if (!empty($request['id'])) {
269
+			return new WP_Error('rest_invoice_exists', __('Cannot create existing invoice.', 'invoicing'), array('status' => 400));
270 270
 		}
271 271
 
272
-		$post_type = get_post_type_object( $this->post_type );
272
+		$post_type = get_post_type_object($this->post_type);
273 273
 
274
-		if ( ! current_user_can( $post_type->cap->create_posts ) ) {
274
+		if (!current_user_can($post_type->cap->create_posts)) {
275 275
 			return new WP_Error( 
276 276
                 'rest_cannot_create', 
277
-                __( 'Sorry, you are not allowed to create invoices as this user.', 'invoicing' ), 
277
+                __('Sorry, you are not allowed to create invoices as this user.', 'invoicing'), 
278 278
                 array( 
279 279
                     'status' => rest_authorization_required_code(),
280 280
                 )
@@ -292,30 +292,30 @@  discard block
 block discarded – undo
292 292
 	 * @param WP_REST_Request $request Full details about the request.
293 293
 	 * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
294 294
 	 */
295
-	public function create_item( $request ) {
295
+	public function create_item($request) {
296 296
 
297
-		if ( ! empty( $request['id'] ) ) {
298
-			return new WP_Error( 'rest_invoice_exists', __( 'Cannot create existing invoice.', 'invoicing' ), array( 'status' => 400 ) );
297
+		if (!empty($request['id'])) {
298
+			return new WP_Error('rest_invoice_exists', __('Cannot create existing invoice.', 'invoicing'), array('status' => 400));
299 299
 		}
300 300
 
301
-		$request->set_param( 'context', 'edit' );
301
+		$request->set_param('context', 'edit');
302 302
 
303 303
 		// Prepare the updated data.
304
-		$invoice_data = wp_unslash( $this->prepare_item_for_database( $request ) );
304
+		$invoice_data = wp_unslash($this->prepare_item_for_database($request));
305 305
 
306
-		if ( is_wp_error( $invoice_data ) ) {
306
+		if (is_wp_error($invoice_data)) {
307 307
 			return $invoice_data;
308 308
 		}
309 309
 
310 310
 		// Try creating the invoice
311
-        $invoice = wpinv_insert_invoice( $invoice_data, true );
311
+        $invoice = wpinv_insert_invoice($invoice_data, true);
312 312
 
313
-		if ( is_wp_error( $invoice ) ) {
313
+		if (is_wp_error($invoice)) {
314 314
             return $invoice;
315 315
 		}
316 316
 
317 317
 		// Prepare the response
318
-		$response = $this->prepare_item_for_response( $invoice, $request );
318
+		$response = $this->prepare_item_for_response($invoice, $request);
319 319
 
320 320
 		/**
321 321
 		 * Fires after a single invoice is created or updated via the REST API.
@@ -326,7 +326,7 @@  discard block
 block discarded – undo
326 326
 		 * @param WP_REST_Request $request  Request object.
327 327
 		 * @param bool            $creating True when creating a post, false when updating.
328 328
 		 */
329
-		do_action( "wpinv_rest_insert_invoice", $invoice, $request, true );
329
+		do_action("wpinv_rest_insert_invoice", $invoice, $request, true);
330 330
 
331 331
 		/**
332 332
 		 * Filters the responses for creating single invoice requests.
@@ -338,9 +338,9 @@  discard block
 block discarded – undo
338 338
 		 * @param array           $invoice_data Invoice properties.
339 339
 		 * @param WP_REST_Request $request The request used.
340 340
 		 */
341
-        $response       = apply_filters( "rest_wpinv_create_invoice_response", $response, $request );
341
+        $response = apply_filters("rest_wpinv_create_invoice_response", $response, $request);
342 342
 
343
-        return rest_ensure_response( $response );
343
+        return rest_ensure_response($response);
344 344
 	}
345 345
 
346 346
 	/**
@@ -351,20 +351,20 @@  discard block
 block discarded – undo
351 351
 	 * @param WP_REST_Request $request Full details about the request.
352 352
 	 * @return true|WP_Error True if the request has access to update the item, WP_Error object otherwise.
353 353
 	 */
354
-	public function update_item_permissions_check( $request ) {
354
+	public function update_item_permissions_check($request) {
355 355
 
356 356
 		// Retrieve the invoice.
357
-		$invoice = $this->get_post( $request['id'] );
358
-		if ( is_wp_error( $invoice ) ) {
357
+		$invoice = $this->get_post($request['id']);
358
+		if (is_wp_error($invoice)) {
359 359
 			return $invoice;
360 360
 		}
361 361
 
362
-		$post_type = get_post_type_object( $this->post_type );
362
+		$post_type = get_post_type_object($this->post_type);
363 363
 
364
-		if ( ! current_user_can(  $post_type->cap->edit_post, $invoice->ID  ) ) {
364
+		if (!current_user_can($post_type->cap->edit_post, $invoice->ID)) {
365 365
 			return new WP_Error( 
366 366
                 'rest_cannot_edit', 
367
-                __( 'Sorry, you are not allowed to update this invoice.', 'invoicing' ), 
367
+                __('Sorry, you are not allowed to update this invoice.', 'invoicing'), 
368 368
                 array( 
369 369
                     'status' => rest_authorization_required_code(),
370 370
                 )
@@ -382,46 +382,46 @@  discard block
 block discarded – undo
382 382
 	 * @param WP_REST_Request $request Full details about the request.
383 383
 	 * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
384 384
 	 */
385
-	public function update_item( $request ) {
385
+	public function update_item($request) {
386 386
 		
387 387
 		// Ensure the invoice exists.
388
-        $valid_check = $this->get_post( $request['id'] );
388
+        $valid_check = $this->get_post($request['id']);
389 389
         
390 390
         // Abort early if it does not exist
391
-		if ( is_wp_error( $valid_check ) ) {
391
+		if (is_wp_error($valid_check)) {
392 392
 			return $valid_check;
393 393
 		}
394 394
 
395
-		$request->set_param( 'context', 'edit' );
395
+		$request->set_param('context', 'edit');
396 396
 
397 397
 		// Prepare the updated data.
398
-		$data_to_update = wp_unslash( $this->prepare_item_for_database( $request ) );
398
+		$data_to_update = wp_unslash($this->prepare_item_for_database($request));
399 399
 
400
-		if ( is_wp_error( $data_to_update ) ) {
400
+		if (is_wp_error($data_to_update)) {
401 401
 			return $data_to_update;
402 402
 		}
403 403
 
404 404
 		// Abort if no invoice data is provided
405
-        if( empty( $data_to_update ) ) {
406
-            return new WP_Error( 'missing_data', __( 'An update request cannot be empty.', 'invoicing' ) );
405
+        if (empty($data_to_update)) {
406
+            return new WP_Error('missing_data', __('An update request cannot be empty.', 'invoicing'));
407 407
         }
408 408
 
409 409
 		// Include the invoice ID
410 410
 		$data_to_update['ID'] = $request['id'];
411 411
 
412 412
 		// Update the invoice
413
-		$updated_invoice = wpinv_update_invoice( $data_to_update, true );
413
+		$updated_invoice = wpinv_update_invoice($data_to_update, true);
414 414
 
415 415
 		// Incase the update operation failed...
416
-		if ( is_wp_error( $updated_invoice ) ) {
416
+		if (is_wp_error($updated_invoice)) {
417 417
 			return $updated_invoice;
418 418
 		}
419 419
 
420 420
 		// Prepare the response
421
-		$response = $this->prepare_item_for_response( $updated_invoice, $request );
421
+		$response = $this->prepare_item_for_response($updated_invoice, $request);
422 422
 
423 423
 		/** This action is documented in includes/class-wpinv-rest-invoice-controller.php */
424
-		do_action( "wpinv_rest_insert_invoice", $updated_invoice, $request, false );
424
+		do_action("wpinv_rest_insert_invoice", $updated_invoice, $request, false);
425 425
 
426 426
 		/**
427 427
 		 * Filters the responses for updating single invoice requests.
@@ -433,9 +433,9 @@  discard block
 block discarded – undo
433 433
 		 * @param array           $invoice_data Invoice properties.
434 434
 		 * @param WP_REST_Request $request The request used.
435 435
 		 */
436
-        $response       = apply_filters( "wpinv_rest_update_invoice_response", $response, $request );
436
+        $response = apply_filters("wpinv_rest_update_invoice_response", $response, $request);
437 437
 
438
-        return rest_ensure_response( $response );
438
+        return rest_ensure_response($response);
439 439
 	}
440 440
 
441 441
 	/**
@@ -446,19 +446,19 @@  discard block
 block discarded – undo
446 446
 	 * @param WP_REST_Request $request Full details about the request.
447 447
 	 * @return true|WP_Error True if the request has access to delete the invoice, WP_Error object otherwise.
448 448
 	 */
449
-	public function delete_item_permissions_check( $request ) {
449
+	public function delete_item_permissions_check($request) {
450 450
 
451 451
 		// Retrieve the invoice.
452
-		$invoice = $this->get_post( $request['id'] );
453
-		if ( is_wp_error( $invoice ) ) {
452
+		$invoice = $this->get_post($request['id']);
453
+		if (is_wp_error($invoice)) {
454 454
 			return $invoice;
455 455
 		}
456 456
 
457 457
 		// Ensure the current user can delete invoices
458
-		if ( wpinv_current_user_can_manage_invoicing() ||  current_user_can( 'delete_invoices', $request['id'] ) ) {
458
+		if (wpinv_current_user_can_manage_invoicing() || current_user_can('delete_invoices', $request['id'])) {
459 459
 			return new WP_Error( 
460 460
                 'rest_cannot_delete', 
461
-                __( 'Sorry, you are not allowed to delete this invoice.', 'invoicing' ), 
461
+                __('Sorry, you are not allowed to delete this invoice.', 'invoicing'), 
462 462
                 array( 
463 463
                     'status' => rest_authorization_required_code(),
464 464
                 )
@@ -476,31 +476,31 @@  discard block
 block discarded – undo
476 476
 	 * @param WP_REST_Request $request Full details about the request.
477 477
 	 * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure.
478 478
 	 */
479
-	public function delete_item( $request ) {
479
+	public function delete_item($request) {
480 480
 		
481 481
 		// Retrieve the invoice.
482
-		$invoice = $this->get_post( $request['id'] );
483
-		if ( is_wp_error( $invoice ) ) {
482
+		$invoice = $this->get_post($request['id']);
483
+		if (is_wp_error($invoice)) {
484 484
 			return $invoice;
485 485
 		}
486 486
 
487
-		$request->set_param( 'context', 'edit' );
487
+		$request->set_param('context', 'edit');
488 488
 
489 489
 		// Prepare the invoice id
490
-		$id    = $invoice->ID;
490
+		$id = $invoice->ID;
491 491
 
492 492
 		// Prepare the response
493
-		$response = $this->prepare_item_for_response( $invoice, $request );
493
+		$response = $this->prepare_item_for_response($invoice, $request);
494 494
 
495 495
 		// Check if the user wants to bypass the trash...
496
-		$force_delete = (bool) $request['force'];
496
+		$force_delete = (bool)$request['force'];
497 497
 
498 498
 		// Try deleting the invoice.
499
-		$deleted = wp_delete_post( $id, $force_delete );
499
+		$deleted = wp_delete_post($id, $force_delete);
500 500
 
501 501
 		// Abort early if we can't delete the invoice.
502
-		if ( ! $deleted ) {
503
-			return new WP_Error( 'rest_cannot_delete', __( 'The invoice cannot be deleted.', 'invoicing' ), array( 'status' => 500 ) );
502
+		if (!$deleted) {
503
+			return new WP_Error('rest_cannot_delete', __('The invoice cannot be deleted.', 'invoicing'), array('status' => 500));
504 504
 		}
505 505
 
506 506
 		/**
@@ -512,7 +512,7 @@  discard block
 block discarded – undo
512 512
 		 * @param WPInv_Invoice    $invoice  The deleted or trashed invoice.
513 513
 		 * @param WP_REST_Request  $request  The request sent to the API.
514 514
 		 */
515
-		do_action( "wpinv_rest_delete_invoice", $invoice, $request );
515
+		do_action("wpinv_rest_delete_invoice", $invoice, $request);
516 516
 
517 517
 		return $response;
518 518
 
@@ -528,43 +528,43 @@  discard block
 block discarded – undo
528 528
 	 */
529 529
 	public function get_collection_params() {
530 530
         
531
-        $query_params               = array(
531
+        $query_params = array(
532 532
 
533 533
             // Invoice status.
534 534
             'status'                => array(
535 535
                 'default'           => 'publish',
536
-                'description'       => __( 'Limit result set to invoices assigned one or more statuses.', 'invoicing' ),
536
+                'description'       => __('Limit result set to invoices assigned one or more statuses.', 'invoicing'),
537 537
                 'type'              => 'array',
538 538
                 'items'             => array(
539
-                    'enum'          => array_keys( wpinv_get_invoice_statuses( true, true ) ),
539
+                    'enum'          => array_keys(wpinv_get_invoice_statuses(true, true)),
540 540
                     'type'          => 'string',
541 541
                 ),
542
-                'sanitize_callback' => array( $this, 'sanitize_post_statuses' ),
542
+                'sanitize_callback' => array($this, 'sanitize_post_statuses'),
543 543
             ),
544 544
 
545 545
             // User.
546 546
             'user'                  => array(
547
-				'description'       => __( 'Limit result set to invoices for a specif user.', 'invoicing' ),
547
+				'description'       => __('Limit result set to invoices for a specif user.', 'invoicing'),
548 548
 				'type'              => 'integer',
549 549
             ),
550 550
             
551 551
             // Number of results per page
552 552
             'limit'                 => array(
553
-				'description'       => __( 'Number of invoices to fetch.', 'invoicing' ),
553
+				'description'       => __('Number of invoices to fetch.', 'invoicing'),
554 554
 				'type'              => 'integer',
555
-				'default'           => (int) get_option( 'posts_per_page' ),
555
+				'default'           => (int)get_option('posts_per_page'),
556 556
             ),
557 557
 
558 558
             // Pagination
559 559
             'page'     => array(
560
-				'description'       => __( 'Current page to fetch.', 'invoicing' ),
560
+				'description'       => __('Current page to fetch.', 'invoicing'),
561 561
 				'type'              => 'integer',
562 562
 				'default'           => 1,
563 563
             ),
564 564
 
565 565
             // Exclude certain invoices
566 566
             'exclude'  => array(
567
-                'description' => __( 'Ensure result set excludes specific IDs.', 'invoicing' ),
567
+                'description' => __('Ensure result set excludes specific IDs.', 'invoicing'),
568 568
                 'type'        => 'array',
569 569
                 'items'       => array(
570 570
                     'type' => 'integer',
@@ -574,7 +574,7 @@  discard block
 block discarded – undo
574 574
 
575 575
             // Order invoices by
576 576
             'orderby'  => array(
577
-                'description' => __( 'Sort invoices by object attribute.', 'invoicing' ),
577
+                'description' => __('Sort invoices by object attribute.', 'invoicing'),
578 578
                 'type'        => 'string',
579 579
                 'default'     => 'date',
580 580
                 'enum'        => array(
@@ -588,10 +588,10 @@  discard block
 block discarded – undo
588 588
 
589 589
             // How to order
590 590
             'order'    => array(
591
-                'description' => __( 'Order sort attribute ascending or descending.', 'invoicing' ),
591
+                'description' => __('Order sort attribute ascending or descending.', 'invoicing'),
592 592
                 'type'        => 'string',
593 593
                 'default'     => 'DESC',
594
-                'enum'        => array( 'ASC', 'DESC' ),
594
+                'enum'        => array('ASC', 'DESC'),
595 595
             ),
596 596
         );
597 597
 
@@ -604,7 +604,7 @@  discard block
 block discarded – undo
604 604
 		 * @param array        $query_params JSON Schema-formatted collection parameters.
605 605
 		 * @param WP_Post_Type $post_type    Post type object.
606 606
 		 */
607
-		return apply_filters( "rest_invoices_collection_params", $query_params, 'wpi-invoice' );
607
+		return apply_filters("rest_invoices_collection_params", $query_params, 'wpi-invoice');
608 608
     }
609 609
     
610 610
     /**
@@ -615,7 +615,7 @@  discard block
 block discarded – undo
615 615
 	 * @param object|string $post_type Post type name or object.
616 616
 	 * @return bool Whether the post type is allowed in REST.
617 617
 	 */
618
-	protected function check_is_post_type_allowed( $post_type ) {
618
+	protected function check_is_post_type_allowed($post_type) {
619 619
 		return true;
620 620
 	}
621 621
 
@@ -627,49 +627,49 @@  discard block
 block discarded – undo
627 627
 	 * @param WP_REST_Request $request Request object.
628 628
 	 * @return array|WP_Error Invoice Properties or WP_Error.
629 629
 	 */
630
-	protected function prepare_item_for_database( $request ) {
630
+	protected function prepare_item_for_database($request) {
631 631
 		$prepared_invoice = new stdClass();
632 632
 
633 633
 		// Post ID.
634
-		if ( isset( $request['id'] ) ) {
635
-			$existing_invoice = $this->get_post( $request['id'] );
636
-			if ( is_wp_error( $existing_invoice ) ) {
634
+		if (isset($request['id'])) {
635
+			$existing_invoice = $this->get_post($request['id']);
636
+			if (is_wp_error($existing_invoice)) {
637 637
 				return $existing_invoice;
638 638
 			}
639 639
 
640
-			$prepared_invoice->ID 		  = $existing_invoice->ID;
640
+			$prepared_invoice->ID = $existing_invoice->ID;
641 641
 			$prepared_invoice->invoice_id = $existing_invoice->ID;
642 642
 		}
643 643
 
644 644
 		$schema = $this->get_item_schema();
645 645
 
646 646
 		// Invoice owner.
647
-		if ( ! empty( $schema['properties']['user_id'] ) && isset( $request['user_id'] ) ) {
648
-			$prepared_invoice->user_id = (int) $request['user_id'];
647
+		if (!empty($schema['properties']['user_id']) && isset($request['user_id'])) {
648
+			$prepared_invoice->user_id = (int)$request['user_id'];
649 649
 		}
650 650
 
651 651
 		// Cart details.
652
-		if ( ! empty( $schema['properties']['cart_details'] ) && isset( $request['cart_details'] ) ) {
653
-			$prepared_invoice->cart_details = (array) $request['cart_details'];
652
+		if (!empty($schema['properties']['cart_details']) && isset($request['cart_details'])) {
653
+			$prepared_invoice->cart_details = (array)$request['cart_details'];
654 654
 		}
655 655
 
656 656
 		// Invoice status.
657
-		if ( ! empty( $schema['properties']['status'] ) && isset( $request['status'] ) ) {
657
+		if (!empty($schema['properties']['status']) && isset($request['status'])) {
658 658
 
659
-			if ( in_array( $request['status'], array_keys( wpinv_get_invoice_statuses( true, true ) ), true ) ) {
659
+			if (in_array($request['status'], array_keys(wpinv_get_invoice_statuses(true, true)), true)) {
660 660
 				$prepared_invoice->status = $request['status'];
661 661
 			}
662 662
 
663 663
 		}
664 664
 
665 665
 		// User info
666
-		if ( ! empty( $schema['properties']['user_info'] ) && isset( $request['user_info'] ) ) {
666
+		if (!empty($schema['properties']['user_info']) && isset($request['user_info'])) {
667 667
 			$prepared_invoice->user_info = array();
668
-			$user_info = (array) $request['user_info'];
668
+			$user_info = (array)$request['user_info'];
669 669
 
670
-			foreach( $user_info as $prop => $value ) {
670
+			foreach ($user_info as $prop => $value) {
671 671
 
672
-				if ( ! empty( $schema['properties']['user_info']['properties'][$prop] ) ) {
672
+				if (!empty($schema['properties']['user_info']['properties'][$prop])) {
673 673
 
674 674
 					$prepared_invoice->user_info[$prop] = $value;
675 675
 		
@@ -680,49 +680,49 @@  discard block
 block discarded – undo
680 680
 		}
681 681
 
682 682
 		// IP
683
-		if ( ! empty( $schema['properties']['ip'] ) && isset( $request['ip'] ) ) {
683
+		if (!empty($schema['properties']['ip']) && isset($request['ip'])) {
684 684
 			$prepared_invoice->ip = $request['ip'];
685 685
 		}
686 686
 
687 687
 		// Payment details
688 688
 		$prepared_invoice->payment_details = array();
689 689
 
690
-		if ( ! empty( $schema['properties']['gateway'] ) && isset( $request['gateway'] ) ) {
690
+		if (!empty($schema['properties']['gateway']) && isset($request['gateway'])) {
691 691
 			$prepared_invoice->payment_details['gateway'] = $request['gateway'];
692 692
 		}
693 693
 
694
-		if ( ! empty( $schema['properties']['gateway_title'] ) && isset( $request['gateway_title'] ) ) {
694
+		if (!empty($schema['properties']['gateway_title']) && isset($request['gateway_title'])) {
695 695
 			$prepared_invoice->payment_details['gateway_title'] = $request['gateway_title'];
696 696
 		}
697 697
 
698
-		if ( ! empty( $schema['properties']['currency'] ) && isset( $request['currency'] ) ) {
698
+		if (!empty($schema['properties']['currency']) && isset($request['currency'])) {
699 699
 			$prepared_invoice->payment_details['currency'] = $request['currency'];
700 700
 		}
701 701
 
702
-		if ( ! empty( $schema['properties']['transaction_id'] ) && isset( $request['transaction_id'] ) ) {
702
+		if (!empty($schema['properties']['transaction_id']) && isset($request['transaction_id'])) {
703 703
 			$prepared_invoice->payment_details['transaction_id'] = $request['transaction_id'];
704 704
 		}
705 705
 
706 706
 		// Dates
707
-		if ( ! empty( $schema['properties']['date'] ) && isset( $request['date'] ) ) {
708
-			$post_date = rest_get_date_with_gmt( $request['date'] );
707
+		if (!empty($schema['properties']['date']) && isset($request['date'])) {
708
+			$post_date = rest_get_date_with_gmt($request['date']);
709 709
 
710
-			if ( ! empty( $post_date ) ) {
710
+			if (!empty($post_date)) {
711 711
 				$prepared_invoice->post_date = $post_date[0];
712 712
 			}
713 713
 			
714 714
 		}
715 715
 
716
-		if ( ! empty( $schema['properties']['due_date'] ) && isset( $request['due_date'] ) ) {
717
-			$due_date = rest_get_date_with_gmt( $request['due_date'] );
716
+		if (!empty($schema['properties']['due_date']) && isset($request['due_date'])) {
717
+			$due_date = rest_get_date_with_gmt($request['due_date']);
718 718
 
719
-			if ( ! empty( $due_date ) ) {
719
+			if (!empty($due_date)) {
720 720
 				$prepared_invoice->due_date = $due_date[0];
721 721
 			}
722 722
 
723 723
 		}
724 724
 
725
-		$invoice_data = (array) $prepared_invoice;
725
+		$invoice_data = (array)$prepared_invoice;
726 726
 
727 727
 		/**
728 728
 		 * Filters an invoice before it is inserted via the REST API.
@@ -732,7 +732,7 @@  discard block
 block discarded – undo
732 732
 		 * @param array        $invoice_data An array of invoice data
733 733
 		 * @param WP_REST_Request $request       Request object.
734 734
 		 */
735
-		return apply_filters( "wpinv_rest_pre_insert_invoice", $invoice_data, $request );
735
+		return apply_filters("wpinv_rest_pre_insert_invoice", $invoice_data, $request);
736 736
 
737 737
 	}
738 738
 
@@ -745,20 +745,20 @@  discard block
 block discarded – undo
745 745
 	 * @param WP_REST_Request $request Request object.
746 746
 	 * @return WP_REST_Response Response object.
747 747
 	 */
748
-	public function prepare_item_for_response( $invoice, $request ) {
748
+	public function prepare_item_for_response($invoice, $request) {
749 749
 
750
-		$GLOBALS['post'] = get_post( $invoice->ID );
750
+		$GLOBALS['post'] = get_post($invoice->ID);
751 751
 
752
-		setup_postdata( $invoice->ID );
752
+		setup_postdata($invoice->ID);
753 753
 
754 754
 		// Fetch the fields to include in this response.
755
-		$fields = $this->get_fields_for_response( $request );
755
+		$fields = $this->get_fields_for_response($request);
756 756
 
757 757
 		// Base fields for every invoice.
758 758
 		$data = array();
759 759
 
760 760
 		// Set up ID
761
-		if ( rest_is_field_included( 'id', $fields ) ) {
761
+		if (rest_is_field_included('id', $fields)) {
762 762
 			$data['id'] = $invoice->ID;
763 763
 		}
764 764
 
@@ -773,74 +773,74 @@  discard block
 block discarded – undo
773 773
 			'status', 'status_nicename', 'post_type'
774 774
 		);
775 775
 
776
-		foreach( $invoice_properties as $property ) {
776
+		foreach ($invoice_properties as $property) {
777 777
 
778
-			if ( rest_is_field_included( $property, $fields ) ) {
779
-				$data[$property] = $invoice->get( $property );
778
+			if (rest_is_field_included($property, $fields)) {
779
+				$data[$property] = $invoice->get($property);
780 780
 			}
781 781
 
782 782
 		}
783 783
 
784 784
 		// Cart details
785
-		if ( rest_is_field_included( 'cart_details', $fields ) ) {
786
-			$data['cart_details'] = $invoice->get( 'cart_details' );
785
+		if (rest_is_field_included('cart_details', $fields)) {
786
+			$data['cart_details'] = $invoice->get('cart_details');
787 787
 		}
788 788
 
789 789
 		//Dates
790
-		$invoice_properties = array( 'date', 'due_date', 'completed_date' );
790
+		$invoice_properties = array('date', 'due_date', 'completed_date');
791 791
 
792
-		foreach( $invoice_properties as $property ) {
792
+		foreach ($invoice_properties as $property) {
793 793
 
794
-			if ( rest_is_field_included( $property, $fields ) ) {
795
-				$data[$property] = $this->prepare_date_response( '0000-00-00 00:00:00', $invoice->get( $property ) );
794
+			if (rest_is_field_included($property, $fields)) {
795
+				$data[$property] = $this->prepare_date_response('0000-00-00 00:00:00', $invoice->get($property));
796 796
 			}
797 797
 
798 798
 		}
799 799
 
800 800
 		// User id
801
-		if ( rest_is_field_included( 'user_id', $fields ) ) {
802
-			$data['user_id'] = (int) $invoice->get( 'user_id' );
801
+		if (rest_is_field_included('user_id', $fields)) {
802
+			$data['user_id'] = (int)$invoice->get('user_id');
803 803
 		}
804 804
 
805 805
 		// User info
806
-		$user_info = array( 'first_name', 'last_name', 'company', 'vat_number', 'vat_rate', 'address', 'city', 'country', 'state', 'zip', 'phone' );
806
+		$user_info = array('first_name', 'last_name', 'company', 'vat_number', 'vat_rate', 'address', 'city', 'country', 'state', 'zip', 'phone');
807 807
 
808
-		foreach( $user_info as $property ) {
808
+		foreach ($user_info as $property) {
809 809
 
810
-			if ( rest_is_field_included( "user_info.$property", $fields ) ) {
811
-				$data['user_info'][$property] = $invoice->get( $property );
810
+			if (rest_is_field_included("user_info.$property", $fields)) {
811
+				$data['user_info'][$property] = $invoice->get($property);
812 812
 			}
813 813
 
814 814
 		}
815 815
 
816 816
 		// Slug
817
-		if ( rest_is_field_included( 'slug', $fields ) ) {
818
-			$data['slug'] = $invoice->get( 'post_name' );
817
+		if (rest_is_field_included('slug', $fields)) {
818
+			$data['slug'] = $invoice->get('post_name');
819 819
 		}
820 820
 
821 821
 		// View invoice link
822
-		if ( rest_is_field_included( 'link', $fields ) ) {
823
-			$data['link'] = esc_url( $invoice->get_view_url() );
822
+		if (rest_is_field_included('link', $fields)) {
823
+			$data['link'] = esc_url($invoice->get_view_url());
824 824
 		}
825 825
 
826 826
 
827
-		$context = ! empty( $request['context'] ) ? $request['context'] : 'view';
828
-		$data    = $this->add_additional_fields_to_object( $data, $request );
829
-		$data    = $this->filter_response_by_context( $data, $context );
827
+		$context = !empty($request['context']) ? $request['context'] : 'view';
828
+		$data    = $this->add_additional_fields_to_object($data, $request);
829
+		$data    = $this->filter_response_by_context($data, $context);
830 830
 
831 831
 		// Wrap the data in a response object.
832
-		$response = rest_ensure_response( $data );
832
+		$response = rest_ensure_response($data);
833 833
 
834
-		$links = $this->prepare_links( $invoice );
835
-		$response->add_links( $links );
834
+		$links = $this->prepare_links($invoice);
835
+		$response->add_links($links);
836 836
 
837
-		if ( ! empty( $links['self']['href'] ) ) {
838
-			$actions = $this->get_available_actions( $invoice, $request );
837
+		if (!empty($links['self']['href'])) {
838
+			$actions = $this->get_available_actions($invoice, $request);
839 839
 
840 840
 			$self = $links['self']['href'];
841 841
 
842
-			foreach ( $actions as $rel ) {
843
-				$response->add_link( $rel, $self );
842
+			foreach ($actions as $rel) {
843
+				$response->add_link($rel, $self);
844 844
 			}
845 845
 		}
846 846
 
@@ -853,7 +853,7 @@  discard block
 block discarded – undo
853 853
 		 * @param WPInv_Invoice    $invoice  The invoice object.
854 854
 		 * @param WP_REST_Request  $request  Request object.
855 855
 		 */
856
-		return apply_filters( "wpinv_rest_prepare_invoice", $response, $invoice, $request );
856
+		return apply_filters("wpinv_rest_prepare_invoice", $response, $invoice, $request);
857 857
 	}
858 858
 
859 859
 	/**
@@ -866,57 +866,57 @@  discard block
 block discarded – undo
866 866
 	 * @param WP_REST_Request $request Full details about the request.
867 867
 	 * @return array Fields to be included in the response.
868 868
 	 */
869
-	public function get_fields_for_response( $request ) {
869
+	public function get_fields_for_response($request) {
870 870
 		$schema     = $this->get_item_schema();
871
-		$properties = isset( $schema['properties'] ) ? $schema['properties'] : array();
871
+		$properties = isset($schema['properties']) ? $schema['properties'] : array();
872 872
 
873 873
 		$additional_fields = $this->get_additional_fields();
874
-		foreach ( $additional_fields as $field_name => $field_options ) {
874
+		foreach ($additional_fields as $field_name => $field_options) {
875 875
 			// For back-compat, include any field with an empty schema
876 876
 			// because it won't be present in $this->get_item_schema().
877
-			if ( is_null( $field_options['schema'] ) ) {
878
-				$properties[ $field_name ] = $field_options;
877
+			if (is_null($field_options['schema'])) {
878
+				$properties[$field_name] = $field_options;
879 879
 			}
880 880
 		}
881 881
 
882 882
 		// Exclude fields that specify a different context than the request context.
883 883
 		$context = $request['context'];
884
-		if ( $context ) {
885
-			foreach ( $properties as $name => $options ) {
886
-				if ( ! empty( $options['context'] ) && ! in_array( $context, $options['context'], true ) ) {
887
-					unset( $properties[ $name ] );
884
+		if ($context) {
885
+			foreach ($properties as $name => $options) {
886
+				if (!empty($options['context']) && !in_array($context, $options['context'], true)) {
887
+					unset($properties[$name]);
888 888
 				}
889 889
 			}
890 890
 		}
891 891
 
892
-		$fields = array_keys( $properties );
892
+		$fields = array_keys($properties);
893 893
 
894
-		if ( ! isset( $request['_fields'] ) ) {
894
+		if (!isset($request['_fields'])) {
895 895
 			return $fields;
896 896
 		}
897
-		$requested_fields = wpinv_parse_list( $request['_fields'] );
898
-		if ( 0 === count( $requested_fields ) ) {
897
+		$requested_fields = wpinv_parse_list($request['_fields']);
898
+		if (0 === count($requested_fields)) {
899 899
 			return $fields;
900 900
 		}
901 901
 		// Trim off outside whitespace from the comma delimited list.
902
-		$requested_fields = array_map( 'trim', $requested_fields );
902
+		$requested_fields = array_map('trim', $requested_fields);
903 903
 		// Always persist 'id', because it can be needed for add_additional_fields_to_object().
904
-		if ( in_array( 'id', $fields, true ) ) {
904
+		if (in_array('id', $fields, true)) {
905 905
 			$requested_fields[] = 'id';
906 906
 		}
907 907
 		// Return the list of all requested fields which appear in the schema.
908 908
 		return array_reduce(
909 909
 			$requested_fields,
910
-			function( $response_fields, $field ) use ( $fields ) {
911
-				if ( in_array( $field, $fields, true ) ) {
910
+			function($response_fields, $field) use ($fields) {
911
+				if (in_array($field, $fields, true)) {
912 912
 					$response_fields[] = $field;
913 913
 					return $response_fields;
914 914
 				}
915 915
 				// Check for nested fields if $field is not a direct match.
916
-				$nested_fields = explode( '.', $field );
916
+				$nested_fields = explode('.', $field);
917 917
 				// A nested field is included so long as its top-level property is
918 918
 				// present in the schema.
919
-				if ( in_array( $nested_fields[0], $fields, true ) ) {
919
+				if (in_array($nested_fields[0], $fields, true)) {
920 920
 					$response_fields[] = $field;
921 921
 				}
922 922
 				return $response_fields;
@@ -935,8 +935,8 @@  discard block
 block discarded – undo
935 935
 	public function get_item_schema() {
936 936
 
937 937
 		// Maybe retrieve the schema from cache.
938
-		if ( $this->schema ) {
939
-			return $this->add_additional_fields_schema( $this->schema );
938
+		if ($this->schema) {
939
+			return $this->add_additional_fields_schema($this->schema);
940 940
 		}
941 941
 
942 942
 		$schema = array(
@@ -948,266 +948,266 @@  discard block
 block discarded – undo
948 948
 			'properties' 		  => array(
949 949
 
950 950
 				'title'			  => array(
951
-					'description' => __( 'The title for the invoice.', 'invoicing' ),
951
+					'description' => __('The title for the invoice.', 'invoicing'),
952 952
 					'type'        => 'string',
953
-					'context'     => array( 'view', 'edit', 'embed' ),
953
+					'context'     => array('view', 'edit', 'embed'),
954 954
 					'readonly'    => true,
955 955
 				),
956 956
 
957 957
 				'user_id'		  => array(
958
-					'description' => __( 'The ID of the owner of the invoice.', 'invoicing' ),
958
+					'description' => __('The ID of the owner of the invoice.', 'invoicing'),
959 959
 					'type'        => 'integer',
960
-					'context'     => array( 'view', 'edit', 'embed' ),
960
+					'context'     => array('view', 'edit', 'embed'),
961 961
 				),
962 962
 
963 963
 				'email'		  	  => array(
964
-					'description' => __( 'The email of the owner of the invoice.', 'invoicing' ),
964
+					'description' => __('The email of the owner of the invoice.', 'invoicing'),
965 965
 					'type'        => 'string',
966
-					'context'     => array( 'view', 'edit', 'embed' ),
966
+					'context'     => array('view', 'edit', 'embed'),
967 967
 					'readonly'    => true,
968 968
 				),
969 969
 
970 970
 				'ip'			  => array(
971
-					'description' => __( 'The IP of the owner of the invoice.', 'invoicing' ),
971
+					'description' => __('The IP of the owner of the invoice.', 'invoicing'),
972 972
 					'type'        => 'string',
973
-					'context'     => array( 'view', 'edit', 'embed' ),
973
+					'context'     => array('view', 'edit', 'embed'),
974 974
 				),
975 975
 
976 976
 				'user_info'       => array(
977
-					'description' => __( 'Information about the owner of the invoice.', 'invoicing' ),
977
+					'description' => __('Information about the owner of the invoice.', 'invoicing'),
978 978
 					'type'        => 'object',
979
-					'context'     => array( 'view', 'edit', 'embed' ),
979
+					'context'     => array('view', 'edit', 'embed'),
980 980
 					'properties'  => array(
981 981
 
982 982
 						'first_name'      => array(
983
-							'description' => __( 'The first name of the owner of the invoice.', 'invoicing' ),
983
+							'description' => __('The first name of the owner of the invoice.', 'invoicing'),
984 984
 							'type'        => 'string',
985
-							'context'     => array( 'view', 'edit', 'embed' ),
985
+							'context'     => array('view', 'edit', 'embed'),
986 986
 						),
987 987
 
988 988
 						'last_name'       => array(
989
-							'description' => __( 'The last name of the owner of the invoice.', 'invoicing' ),
989
+							'description' => __('The last name of the owner of the invoice.', 'invoicing'),
990 990
 							'type'        => 'string',
991
-							'context'     => array( 'view', 'edit', 'embed' ),
991
+							'context'     => array('view', 'edit', 'embed'),
992 992
 						),
993 993
 
994 994
 						'company'         => array(
995
-							'description' => __( 'The company of the owner of the invoice.', 'invoicing' ),
995
+							'description' => __('The company of the owner of the invoice.', 'invoicing'),
996 996
 							'type'        => 'string',
997
-							'context'     => array( 'view', 'edit', 'embed' ),
997
+							'context'     => array('view', 'edit', 'embed'),
998 998
 						),
999 999
 
1000 1000
 						'vat_number'      => array(
1001
-							'description' => __( 'The VAT number of the owner of the invoice.', 'invoicing' ),
1001
+							'description' => __('The VAT number of the owner of the invoice.', 'invoicing'),
1002 1002
 							'type'        => 'string',
1003
-							'context'     => array( 'view', 'edit', 'embed' ),
1003
+							'context'     => array('view', 'edit', 'embed'),
1004 1004
 						),
1005 1005
 
1006 1006
 						'vat_rate'        => array(
1007
-							'description' => __( 'The VAT rate applied on the invoice.', 'invoicing' ),
1007
+							'description' => __('The VAT rate applied on the invoice.', 'invoicing'),
1008 1008
 							'type'        => 'string',
1009
-							'context'     => array( 'view', 'edit', 'embed' ),
1009
+							'context'     => array('view', 'edit', 'embed'),
1010 1010
 						),
1011 1011
 
1012 1012
 						'address'        => array(
1013
-							'description' => __( 'The address of the invoice owner.', 'invoicing' ),
1013
+							'description' => __('The address of the invoice owner.', 'invoicing'),
1014 1014
 							'type'        => 'string',
1015
-							'context'     => array( 'view', 'edit', 'embed' ),
1015
+							'context'     => array('view', 'edit', 'embed'),
1016 1016
 						),
1017 1017
 
1018 1018
 						'city'            => array(
1019
-							'description' => __( 'The city of the invoice owner.', 'invoicing' ),
1019
+							'description' => __('The city of the invoice owner.', 'invoicing'),
1020 1020
 							'type'        => 'string',
1021
-							'context'     => array( 'view', 'edit', 'embed' ),
1021
+							'context'     => array('view', 'edit', 'embed'),
1022 1022
 						),
1023 1023
 
1024 1024
 						'country'         => array(
1025
-							'description' => __( 'The country of the invoice owner.', 'invoicing' ),
1025
+							'description' => __('The country of the invoice owner.', 'invoicing'),
1026 1026
 							'type'        => 'string',
1027
-							'context'     => array( 'view', 'edit', 'embed' ),
1027
+							'context'     => array('view', 'edit', 'embed'),
1028 1028
 						),
1029 1029
 
1030 1030
 						'state'           => array(
1031
-							'description' => __( 'The state of the invoice owner.', 'invoicing' ),
1031
+							'description' => __('The state of the invoice owner.', 'invoicing'),
1032 1032
 							'type'        => 'string',
1033
-							'context'     => array( 'view', 'edit', 'embed' ),
1033
+							'context'     => array('view', 'edit', 'embed'),
1034 1034
 						),
1035 1035
 
1036 1036
 						'zip'             => array(
1037
-							'description' => __( 'The zip code of the invoice owner.', 'invoicing' ),
1037
+							'description' => __('The zip code of the invoice owner.', 'invoicing'),
1038 1038
 							'type'        => 'string',
1039
-							'context'     => array( 'view', 'edit', 'embed' ),
1039
+							'context'     => array('view', 'edit', 'embed'),
1040 1040
 						),
1041 1041
 
1042 1042
 						'phone'             => array(
1043
-							'description' => __( 'The phone number of the invoice owner.', 'invoicing' ),
1043
+							'description' => __('The phone number of the invoice owner.', 'invoicing'),
1044 1044
 							'type'        => 'string',
1045
-							'context'     => array( 'view', 'edit', 'embed' ),
1045
+							'context'     => array('view', 'edit', 'embed'),
1046 1046
 						),
1047 1047
 					),
1048 1048
 				),
1049 1049
 
1050 1050
 				'id'           => array(
1051
-					'description' => __( 'Unique identifier for the invoice.', 'invoicing' ),
1051
+					'description' => __('Unique identifier for the invoice.', 'invoicing'),
1052 1052
 					'type'        => 'integer',
1053
-					'context'     => array( 'view', 'edit', 'embed' ),
1053
+					'context'     => array('view', 'edit', 'embed'),
1054 1054
 					'readonly'    => true,
1055 1055
 				),
1056 1056
 
1057 1057
 				'key'			  => array(
1058
-					'description' => __( 'A unique key for the invoice.', 'invoicing' ),
1058
+					'description' => __('A unique key for the invoice.', 'invoicing'),
1059 1059
 					'type'        => 'string',
1060
-					'context'     => array( 'view', 'edit', 'embed' ),
1060
+					'context'     => array('view', 'edit', 'embed'),
1061 1061
 					'readonly'    => true,
1062 1062
 				),
1063 1063
 
1064 1064
 				'number'		  => array(
1065
-					'description' => __( 'The invoice number.', 'invoicing' ),
1065
+					'description' => __('The invoice number.', 'invoicing'),
1066 1066
 					'type'        => 'string',
1067
-					'context'     => array( 'view', 'edit', 'embed' ),
1067
+					'context'     => array('view', 'edit', 'embed'),
1068 1068
 					'readonly'    => true,
1069 1069
 				),
1070 1070
 
1071 1071
 				'transaction_id'  => array(
1072
-					'description' => __( 'The transaction id of the invoice.', 'invoicing' ),
1072
+					'description' => __('The transaction id of the invoice.', 'invoicing'),
1073 1073
 					'type'        => 'string',
1074
-					'context'     => array( 'view', 'edit', 'embed' ),
1074
+					'context'     => array('view', 'edit', 'embed'),
1075 1075
 				),
1076 1076
 
1077 1077
 				'gateway'		  => array(
1078
-					'description' => __( 'The gateway used to process the invoice.', 'invoicing' ),
1078
+					'description' => __('The gateway used to process the invoice.', 'invoicing'),
1079 1079
 					'type'        => 'string',
1080
-					'context'     => array( 'view', 'edit', 'embed' ),
1080
+					'context'     => array('view', 'edit', 'embed'),
1081 1081
 				),
1082 1082
 
1083 1083
 				'gateway_title'	  => array(
1084
-					'description' => __( 'The title of the gateway used to process the invoice.', 'invoicing' ),
1084
+					'description' => __('The title of the gateway used to process the invoice.', 'invoicing'),
1085 1085
 					'type'        => 'string',
1086
-					'context'     => array( 'view', 'edit', 'embed' ),
1086
+					'context'     => array('view', 'edit', 'embed'),
1087 1087
 				),
1088 1088
 
1089 1089
 				'total'	  		  => array(
1090
-					'description' => __( 'The total amount of the invoice.', 'invoicing' ),
1090
+					'description' => __('The total amount of the invoice.', 'invoicing'),
1091 1091
 					'type'        => 'number',
1092
-					'context'     => array( 'view', 'edit', 'embed' ),
1092
+					'context'     => array('view', 'edit', 'embed'),
1093 1093
 					'readonly'    => true,
1094 1094
 				),
1095 1095
 
1096 1096
 				'discount'		  => array(
1097
-					'description' => __( 'The discount applied to the invoice.', 'invoicing' ),
1097
+					'description' => __('The discount applied to the invoice.', 'invoicing'),
1098 1098
 					'type'        => 'number',
1099
-					'context'     => array( 'view', 'edit', 'embed' ),
1099
+					'context'     => array('view', 'edit', 'embed'),
1100 1100
 					'readonly'    => true,
1101 1101
 				),
1102 1102
 
1103 1103
 				'discount_code'	  => array(
1104
-					'description' => __( 'The discount code applied to the invoice.', 'invoicing' ),
1104
+					'description' => __('The discount code applied to the invoice.', 'invoicing'),
1105 1105
 					'type'        => 'string',
1106
-					'context'     => array( 'view', 'edit', 'embed' ),
1106
+					'context'     => array('view', 'edit', 'embed'),
1107 1107
 					'readonly'    => true,
1108 1108
 				),
1109 1109
 
1110 1110
 				'tax'	  		  => array(
1111
-					'description' => __( 'The tax applied to the invoice.', 'invoicing' ),
1111
+					'description' => __('The tax applied to the invoice.', 'invoicing'),
1112 1112
 					'type'        => 'number',
1113
-					'context'     => array( 'view', 'edit', 'embed' ),
1113
+					'context'     => array('view', 'edit', 'embed'),
1114 1114
 					'readonly'    => true,
1115 1115
 				),
1116 1116
 
1117 1117
 				'fees_total'	  => array(
1118
-					'description' => __( 'The total fees applied to the invoice.', 'invoicing' ),
1118
+					'description' => __('The total fees applied to the invoice.', 'invoicing'),
1119 1119
 					'type'        => 'number',
1120
-					'context'     => array( 'view', 'edit', 'embed' ),
1120
+					'context'     => array('view', 'edit', 'embed'),
1121 1121
 					'readonly'    => true,
1122 1122
 				),
1123 1123
 
1124 1124
 				'subtotal'	  	  => array(
1125
-					'description' => __( 'The sub-total for the invoice.', 'invoicing' ),
1125
+					'description' => __('The sub-total for the invoice.', 'invoicing'),
1126 1126
 					'type'        => 'number',
1127
-					'context'     => array( 'view', 'edit', 'embed' ),
1127
+					'context'     => array('view', 'edit', 'embed'),
1128 1128
 					'readonly'    => true,
1129 1129
 				),
1130 1130
 
1131 1131
 				'currency'	  	  => array(
1132
-					'description' => __( 'The currency used to process the invoice.', 'invoicing' ),
1132
+					'description' => __('The currency used to process the invoice.', 'invoicing'),
1133 1133
 					'type'        => 'string',
1134
-					'context'     => array( 'view', 'edit', 'embed' ),
1134
+					'context'     => array('view', 'edit', 'embed'),
1135 1135
 				),
1136 1136
 
1137 1137
 				'cart_details'	  => array(
1138
-					'description' => __( 'The cart details for invoice.', 'invoicing' ),
1138
+					'description' => __('The cart details for invoice.', 'invoicing'),
1139 1139
 					'type'        => 'array',
1140
-					'context'     => array( 'view', 'edit', 'embed' ),
1140
+					'context'     => array('view', 'edit', 'embed'),
1141 1141
 					'required'	  => true,
1142 1142
 				),
1143 1143
 
1144 1144
 				'date'         => array(
1145
-					'description' => __( "The date the invoice was published, in the site's timezone.", 'invoicing' ),
1146
-					'type'        => array( 'string', 'null' ),
1145
+					'description' => __("The date the invoice was published, in the site's timezone.", 'invoicing'),
1146
+					'type'        => array('string', 'null'),
1147 1147
 					'format'      => 'date-time',
1148
-					'context'     => array( 'view', 'edit', 'embed' ),
1148
+					'context'     => array('view', 'edit', 'embed'),
1149 1149
 				),
1150 1150
 
1151 1151
 				'due_date'     => array(
1152
-					'description' => __( 'The due date for the invoice.', 'invoicing' ),
1153
-					'type'        => array( 'string', 'null' ),
1152
+					'description' => __('The due date for the invoice.', 'invoicing'),
1153
+					'type'        => array('string', 'null'),
1154 1154
 					'format'      => 'date-time',
1155
-					'context'     => array( 'view', 'edit', 'embed' ),
1155
+					'context'     => array('view', 'edit', 'embed'),
1156 1156
 				),
1157 1157
 
1158 1158
 				'completed_date'  => array(
1159
-					'description' => __( 'The completed date for the invoice.', 'invoicing' ),
1160
-					'type'        => array( 'string', 'null' ),
1159
+					'description' => __('The completed date for the invoice.', 'invoicing'),
1160
+					'type'        => array('string', 'null'),
1161 1161
 					'format'      => 'date-time',
1162
-					'context'     => array( 'view', 'edit', 'embed' ),
1162
+					'context'     => array('view', 'edit', 'embed'),
1163 1163
 					'readonly'    => true,
1164 1164
 				),
1165 1165
 				
1166 1166
 				'link'         => array(
1167
-					'description' => __( 'URL to the invoice.', 'invoicing' ),
1167
+					'description' => __('URL to the invoice.', 'invoicing'),
1168 1168
 					'type'        => 'string',
1169 1169
 					'format'      => 'uri',
1170
-					'context'     => array( 'view', 'edit', 'embed' ),
1170
+					'context'     => array('view', 'edit', 'embed'),
1171 1171
 					'readonly'    => true,
1172 1172
 				),
1173 1173
 
1174 1174
 				'mode'       	  => array(
1175
-					'description' => __( 'The mode used to process the invoice.', 'invoicing' ),
1175
+					'description' => __('The mode used to process the invoice.', 'invoicing'),
1176 1176
 					'type'        => 'string',
1177
-					'enum'        => array( 'live', 'test' ),
1178
-					'context'     => array( 'view', 'edit', 'embed' ),
1177
+					'enum'        => array('live', 'test'),
1178
+					'context'     => array('view', 'edit', 'embed'),
1179 1179
 					'readonly'    => true,
1180 1180
 				),
1181 1181
 
1182 1182
 				'slug'       	  => array(
1183
-					'description' => __( 'An alphanumeric identifier for the invoice.', 'invoicing' ),
1183
+					'description' => __('An alphanumeric identifier for the invoice.', 'invoicing'),
1184 1184
 					'type'        => 'string',
1185
-					'context'     => array( 'view', 'edit', 'embed' ),
1185
+					'context'     => array('view', 'edit', 'embed'),
1186 1186
 					'arg_options' => array(
1187
-						'sanitize_callback' => array( $this, 'sanitize_slug' ),
1187
+						'sanitize_callback' => array($this, 'sanitize_slug'),
1188 1188
 					),
1189 1189
 					'readonly'    => true,
1190 1190
 				),
1191 1191
 
1192 1192
 				'status'       	  => array(
1193
-					'description' => __( 'A named status for the invoice.', 'invoicing' ),
1193
+					'description' => __('A named status for the invoice.', 'invoicing'),
1194 1194
 					'type'        => 'string',
1195
-					'enum'        => array_keys( wpinv_get_invoice_statuses( true, true ) ),
1196
-					'context'     => array( 'view', 'edit' ),
1195
+					'enum'        => array_keys(wpinv_get_invoice_statuses(true, true)),
1196
+					'context'     => array('view', 'edit'),
1197 1197
 					'default'	  => 'wpi-pending',
1198 1198
 				),
1199 1199
 
1200 1200
 				'status_nicename' => array(
1201
-					'description' => __( 'A human-readable status name for the invoice.', 'invoicing' ),
1201
+					'description' => __('A human-readable status name for the invoice.', 'invoicing'),
1202 1202
 					'type'        => 'string',
1203
-					'context'     => array( 'view', 'embed' ),
1203
+					'context'     => array('view', 'embed'),
1204 1204
 					'readonly'    => true,
1205 1205
 				),
1206 1206
 
1207 1207
 				'post_type'       => array(
1208
-					'description' => __( 'The post type for the invoice.', 'invoicing' ),
1208
+					'description' => __('The post type for the invoice.', 'invoicing'),
1209 1209
 					'type'        => 'string',
1210
-					'context'     => array( 'view' ),
1210
+					'context'     => array('view'),
1211 1211
 					'readonly'    => true,
1212 1212
 				),
1213 1213
 			),
@@ -1225,12 +1225,12 @@  discard block
 block discarded – undo
1225 1225
 		 *
1226 1226
 		 * @param array   $schema    The invoice schema.
1227 1227
 		 */
1228
-        $schema = apply_filters( "wpinv_rest_invoice_schema", $schema );
1228
+        $schema = apply_filters("wpinv_rest_invoice_schema", $schema);
1229 1229
 
1230 1230
 		// Cache the invoice schema.
1231 1231
 		$this->schema = $schema;
1232 1232
 		
1233
-		return $this->add_additional_fields_schema( $this->schema );
1233
+		return $this->add_additional_fields_schema($this->schema);
1234 1234
 	}
1235 1235
 
1236 1236
 	/**
@@ -1242,20 +1242,20 @@  discard block
 block discarded – undo
1242 1242
 	 */
1243 1243
 	protected function get_schema_links() {
1244 1244
 
1245
-		$href = rest_url( "{$this->namespace}/{$this->rest_base}/{id}" );
1245
+		$href = rest_url("{$this->namespace}/{$this->rest_base}/{id}");
1246 1246
 
1247 1247
 		$links = array();
1248 1248
 
1249 1249
 		$links[] = array(
1250 1250
 			'rel'          => 'https://api.w.org/action-publish',
1251
-			'title'        => __( 'The current user can mark this invoice as completed.', 'invoicing' ),
1251
+			'title'        => __('The current user can mark this invoice as completed.', 'invoicing'),
1252 1252
 			'href'         => $href,
1253 1253
 			'targetSchema' => array(
1254 1254
 				'type'       => 'object',
1255 1255
 				'properties' => array(
1256 1256
 					'status' => array(
1257 1257
 						'type' => 'string',
1258
-						'enum' => array( 'publish', 'wpi-renewal' ),
1258
+						'enum' => array('publish', 'wpi-renewal'),
1259 1259
 					),
1260 1260
 				),
1261 1261
 			),
@@ -1263,7 +1263,7 @@  discard block
 block discarded – undo
1263 1263
 
1264 1264
 		$links[] = array(
1265 1265
 			'rel'          => 'https://api.w.org/action-assign-author',
1266
-			'title'        => __( 'The current user can change the owner of this invoice.', 'invoicing' ),
1266
+			'title'        => __('The current user can change the owner of this invoice.', 'invoicing'),
1267 1267
 			'href'         => $href,
1268 1268
 			'targetSchema' => array(
1269 1269
 				'type'       => 'object',
@@ -1286,24 +1286,24 @@  discard block
 block discarded – undo
1286 1286
 	 * @param WPInv_Invoice $invoice Invoice Object.
1287 1287
 	 * @return array Links for the given invoice.
1288 1288
 	 */
1289
-	protected function prepare_links( $invoice ) {
1289
+	protected function prepare_links($invoice) {
1290 1290
 
1291 1291
 		// Prepare the base REST API endpoint for invoices.
1292
-		$base = sprintf( '%s/%s', $this->namespace, $this->rest_base );
1292
+		$base = sprintf('%s/%s', $this->namespace, $this->rest_base);
1293 1293
 
1294 1294
 		// Entity meta.
1295 1295
 		$links = array(
1296 1296
 			'self'       => array(
1297
-				'href' => rest_url( trailingslashit( $base ) . $invoice->ID ),
1297
+				'href' => rest_url(trailingslashit($base) . $invoice->ID),
1298 1298
 			),
1299 1299
 			'collection' => array(
1300
-				'href' => rest_url( $base ),
1300
+				'href' => rest_url($base),
1301 1301
 			),
1302 1302
 		);
1303 1303
 
1304
-		if ( ! empty( $invoice->user_id ) ) {
1304
+		if (!empty($invoice->user_id)) {
1305 1305
 			$links['user'] = array(
1306
-				'href'       => rest_url( 'wp/v2/users/' . $invoice->user_id ),
1306
+				'href'       => rest_url('wp/v2/users/' . $invoice->user_id),
1307 1307
 				'embeddable' => true,
1308 1308
 			);
1309 1309
 		}
@@ -1317,7 +1317,7 @@  discard block
 block discarded – undo
1317 1317
 		 *
1318 1318
 		 * @param array   $links    Rest links.
1319 1319
 		 */
1320
-		return apply_filters( "wpinv_invoice_rest_links", $links );
1320
+		return apply_filters("wpinv_invoice_rest_links", $links);
1321 1321
 
1322 1322
 	}
1323 1323
 
@@ -1330,24 +1330,24 @@  discard block
 block discarded – undo
1330 1330
 	 * @param WP_REST_Request $request Request object.
1331 1331
 	 * @return array List of link relations.
1332 1332
 	 */
1333
-	protected function get_available_actions( $invoice, $request ) {
1333
+	protected function get_available_actions($invoice, $request) {
1334 1334
 
1335
-		if ( 'edit' !== $request['context'] ) {
1335
+		if ('edit' !== $request['context']) {
1336 1336
 			return array();
1337 1337
 		}
1338 1338
 
1339 1339
 		$rels = array();
1340 1340
 
1341 1341
 		// Retrieve the post type object.
1342
-		$post_type = get_post_type_object( $invoice->post_type );
1342
+		$post_type = get_post_type_object($invoice->post_type);
1343 1343
 
1344 1344
 		// Mark invoice as completed.
1345
-		if ( current_user_can( $post_type->cap->publish_posts ) ) {
1345
+		if (current_user_can($post_type->cap->publish_posts)) {
1346 1346
 			$rels[] = 'https://api.w.org/action-publish';
1347 1347
 		}
1348 1348
 
1349 1349
 		// Change the owner of the invoice.
1350
-		if ( current_user_can( $post_type->cap->edit_others_posts ) ) {
1350
+		if (current_user_can($post_type->cap->edit_others_posts)) {
1351 1351
 			$rels[] = 'https://api.w.org/action-assign-author';
1352 1352
 		}
1353 1353
 
@@ -1360,7 +1360,7 @@  discard block
 block discarded – undo
1360 1360
 		 *
1361 1361
 		 * @param array   $rels    Available link relations.
1362 1362
 		 */
1363
-		return apply_filters( "wpinv_invoice_rest_link_relations", $rels );
1363
+		return apply_filters("wpinv_invoice_rest_link_relations", $rels);
1364 1364
 	}
1365 1365
 
1366 1366
 	/**
@@ -1373,11 +1373,11 @@  discard block
 block discarded – undo
1373 1373
 	 * @param string          $parameter Additional parameter to pass to validation.
1374 1374
 	 * @return array|WP_Error A list of valid statuses, otherwise WP_Error object.
1375 1375
 	 */
1376
-	public function sanitize_post_statuses( $statuses, $request, $parameter ) {
1376
+	public function sanitize_post_statuses($statuses, $request, $parameter) {
1377 1377
 
1378
-		$statuses 	  = wp_parse_slug_list( $statuses );
1379
-		$valid_statuses = array_keys( wpinv_get_invoice_statuses( true, true ) );
1380
-		return array_intersect( $statuses, $valid_statuses );
1378
+		$statuses = wp_parse_slug_list($statuses);
1379
+		$valid_statuses = array_keys(wpinv_get_invoice_statuses(true, true));
1380
+		return array_intersect($statuses, $valid_statuses);
1381 1381
 		
1382 1382
 	}
1383 1383
     
Please login to merge, or discard this patch.
includes/class-wpinv-invoice.php 2 patches
Spacing   +612 added lines, -612 removed lines patch added patch discarded remove patch
@@ -7,12 +7,12 @@  discard block
 block discarded – undo
7 7
  */
8 8
  
9 9
 // MUST have WordPress.
10
-if ( !defined( 'WPINC' ) ) {
11
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
10
+if (!defined('WPINC')) {
11
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
12 12
 }
13 13
 
14 14
 final class WPInv_Invoice {
15
-    public $ID  = 0;
15
+    public $ID = 0;
16 16
     public $title;
17 17
     public $post_type;
18 18
     
@@ -65,17 +65,17 @@  discard block
 block discarded – undo
65 65
     public $full_name = '';
66 66
     public $parent_invoice = 0;
67 67
     
68
-    public function __construct( $invoice_id = false ) {
69
-        if( empty( $invoice_id ) ) {
68
+    public function __construct($invoice_id = false) {
69
+        if (empty($invoice_id)) {
70 70
             return false;
71 71
         }
72 72
 
73
-        $this->setup_invoice( $invoice_id );
73
+        $this->setup_invoice($invoice_id);
74 74
     }
75 75
 
76
-    public function get( $key ) {
77
-        if ( method_exists( $this, 'get_' . $key ) ) {
78
-            $value = call_user_func( array( $this, 'get_' . $key ) );
76
+    public function get($key) {
77
+        if (method_exists($this, 'get_' . $key)) {
78
+            $value = call_user_func(array($this, 'get_' . $key));
79 79
         } else {
80 80
             $value = $this->$key;
81 81
         }
@@ -83,51 +83,51 @@  discard block
 block discarded – undo
83 83
         return $value;
84 84
     }
85 85
 
86
-    public function set( $key, $value ) {
87
-        $ignore = array( 'items', 'cart_details', 'fees', '_ID' );
86
+    public function set($key, $value) {
87
+        $ignore = array('items', 'cart_details', 'fees', '_ID');
88 88
 
89
-        if ( $key === 'status' ) {
89
+        if ($key === 'status') {
90 90
             $this->old_status = $this->status;
91 91
         }
92 92
 
93
-        if ( ! in_array( $key, $ignore ) ) {
94
-            $this->pending[ $key ] = $value;
93
+        if (!in_array($key, $ignore)) {
94
+            $this->pending[$key] = $value;
95 95
         }
96 96
 
97
-        if( '_ID' !== $key ) {
97
+        if ('_ID' !== $key) {
98 98
             $this->$key = $value;
99 99
         }
100 100
     }
101 101
 
102
-    public function _isset( $name ) {
103
-        if ( property_exists( $this, $name) ) {
104
-            return false === empty( $this->$name );
102
+    public function _isset($name) {
103
+        if (property_exists($this, $name)) {
104
+            return false === empty($this->$name);
105 105
         } else {
106 106
             return null;
107 107
         }
108 108
     }
109 109
 
110
-    private function setup_invoice( $invoice_id ) {
110
+    private function setup_invoice($invoice_id) {
111 111
         $this->pending = array();
112 112
 
113
-        if ( empty( $invoice_id ) ) {
113
+        if (empty($invoice_id)) {
114 114
             return false;
115 115
         }
116 116
 
117
-        $invoice = get_post( $invoice_id );
117
+        $invoice = get_post($invoice_id);
118 118
 
119
-        if( !$invoice || is_wp_error( $invoice ) ) {
119
+        if (!$invoice || is_wp_error($invoice)) {
120 120
             return false;
121 121
         }
122 122
 
123
-        if( !('wpi_invoice' == $invoice->post_type OR 'wpi_quote' == $invoice->post_type) ) {
123
+        if (!('wpi_invoice' == $invoice->post_type OR 'wpi_quote' == $invoice->post_type)) {
124 124
             return false;
125 125
         }
126 126
 
127
-        do_action( 'wpinv_pre_setup_invoice', $this, $invoice_id );
127
+        do_action('wpinv_pre_setup_invoice', $this, $invoice_id);
128 128
         
129 129
         // Primary Identifier
130
-        $this->ID              = absint( $invoice_id );
130
+        $this->ID              = absint($invoice_id);
131 131
         $this->post_type       = $invoice->post_type;
132 132
         
133 133
         // We have a payment, get the generic payment_meta item to reduce calls to it
@@ -139,7 +139,7 @@  discard block
 block discarded – undo
139 139
         $this->post_status     = $this->status;
140 140
         $this->mode            = $this->setup_mode();
141 141
         $this->parent_invoice  = $invoice->post_parent;
142
-        $this->post_name       = $this->setup_post_name( $invoice );
142
+        $this->post_name       = $this->setup_post_name($invoice);
143 143
         $this->status_nicename = $this->setup_status_nicename($invoice->post_status);
144 144
 
145 145
         // Items
@@ -161,8 +161,8 @@  discard block
 block discarded – undo
161 161
         
162 162
         // User based
163 163
         $this->ip              = $this->setup_ip();
164
-        $this->user_id         = !empty( $invoice->post_author ) ? $invoice->post_author : get_current_user_id();///$this->setup_user_id();
165
-        $this->email           = get_the_author_meta( 'email', $this->user_id );
164
+        $this->user_id         = !empty($invoice->post_author) ? $invoice->post_author : get_current_user_id(); ///$this->setup_user_id();
165
+        $this->email           = get_the_author_meta('email', $this->user_id);
166 166
         
167 167
         $this->user_info       = $this->setup_user_info();
168 168
                 
@@ -171,7 +171,7 @@  discard block
 block discarded – undo
171 171
         $this->company         = $this->user_info['company'];
172 172
         $this->vat_number      = $this->user_info['vat_number'];
173 173
         $this->vat_rate        = $this->user_info['vat_rate'];
174
-        $this->adddress_confirmed  = $this->user_info['adddress_confirmed'];
174
+        $this->adddress_confirmed = $this->user_info['adddress_confirmed'];
175 175
         $this->address         = $this->user_info['address'];
176 176
         $this->city            = $this->user_info['city'];
177 177
         $this->country         = $this->user_info['country'];
@@ -186,35 +186,35 @@  discard block
 block discarded – undo
186 186
         // Other Identifiers
187 187
         $this->key             = $this->setup_invoice_key();
188 188
         $this->number          = $this->setup_invoice_number();
189
-        $this->title           = !empty( $invoice->post_title ) ? $invoice->post_title : $this->number;
189
+        $this->title           = !empty($invoice->post_title) ? $invoice->post_title : $this->number;
190 190
         
191
-        $this->full_name       = trim( $this->first_name . ' '. $this->last_name );
191
+        $this->full_name       = trim($this->first_name . ' ' . $this->last_name);
192 192
         
193 193
         // Allow extensions to add items to this object via hook
194
-        do_action( 'wpinv_setup_invoice', $this, $invoice_id );
194
+        do_action('wpinv_setup_invoice', $this, $invoice_id);
195 195
 
196 196
         return true;
197 197
     }
198 198
     
199
-    private function setup_status_nicename( $status ) {
200
-        $all_invoice_statuses  = wpinv_get_invoice_statuses( true, true, $this );
201
-        $status   = isset( $all_invoice_statuses[$status] ) ? $all_invoice_statuses[$status] : __( $status, 'invoicing' );
199
+    private function setup_status_nicename($status) {
200
+        $all_invoice_statuses = wpinv_get_invoice_statuses(true, true, $this);
201
+        $status = isset($all_invoice_statuses[$status]) ? $all_invoice_statuses[$status] : __($status, 'invoicing');
202 202
 
203
-        return apply_filters( 'setup_status_nicename', $status );
203
+        return apply_filters('setup_status_nicename', $status);
204 204
     }
205 205
     
206
-    private function setup_post_name( $post = NULL ) {
206
+    private function setup_post_name($post = NULL) {
207 207
         global $wpdb;
208 208
         
209 209
         $post_name = '';
210 210
         
211
-        if ( !empty( $post ) ) {
212
-            if( !empty( $post->post_name ) ) {
211
+        if (!empty($post)) {
212
+            if (!empty($post->post_name)) {
213 213
                 $post_name = $post->post_name;
214
-            } else if ( !empty( $post->ID ) ) {
215
-                $post_name = wpinv_generate_post_name( $post->ID );
214
+            } else if (!empty($post->ID)) {
215
+                $post_name = wpinv_generate_post_name($post->ID);
216 216
 
217
-                $wpdb->update( $wpdb->posts, array( 'post_name' => $post_name ), array( 'ID' => $post->ID ) );
217
+                $wpdb->update($wpdb->posts, array('post_name' => $post_name), array('ID' => $post->ID));
218 218
             }
219 219
         }
220 220
 
@@ -222,12 +222,12 @@  discard block
 block discarded – undo
222 222
     }
223 223
     
224 224
     private function setup_due_date() {
225
-        $due_date = $this->get_meta( '_wpinv_due_date' );
225
+        $due_date = $this->get_meta('_wpinv_due_date');
226 226
         
227
-        if ( empty( $due_date ) ) {
228
-            $overdue_time = strtotime( $this->date ) + ( DAY_IN_SECONDS * absint( wpinv_get_option( 'overdue_days' ) ) );
229
-            $due_date = date_i18n( 'Y-m-d', $overdue_time );
230
-        } else if ( $due_date == 'none' ) {
227
+        if (empty($due_date)) {
228
+            $overdue_time = strtotime($this->date) + (DAY_IN_SECONDS * absint(wpinv_get_option('overdue_days')));
229
+            $due_date = date_i18n('Y-m-d', $overdue_time);
230
+        } else if ($due_date == 'none') {
231 231
             $due_date = '';
232 232
         }
233 233
         
@@ -235,66 +235,66 @@  discard block
 block discarded – undo
235 235
     }
236 236
     
237 237
     private function setup_completed_date() {
238
-        $invoice = get_post( $this->ID );
238
+        $invoice = get_post($this->ID);
239 239
 
240
-        if ( 'wpi-pending' == $invoice->post_status || 'preapproved' == $invoice->post_status ) {
240
+        if ('wpi-pending' == $invoice->post_status || 'preapproved' == $invoice->post_status) {
241 241
             return false; // This invoice was never paid
242 242
         }
243 243
 
244
-        $date = ( $date = $this->get_meta( '_wpinv_completed_date', true ) ) ? $date : $invoice->modified_date;
244
+        $date = ($date = $this->get_meta('_wpinv_completed_date', true)) ? $date : $invoice->modified_date;
245 245
 
246 246
         return $date;
247 247
     }
248 248
     
249 249
     private function setup_cart_details() {
250
-        $cart_details = isset( $this->payment_meta['cart_details'] ) ? maybe_unserialize( $this->payment_meta['cart_details'] ) : array();
250
+        $cart_details = isset($this->payment_meta['cart_details']) ? maybe_unserialize($this->payment_meta['cart_details']) : array();
251 251
         return $cart_details;
252 252
     }
253 253
     
254 254
     public function array_convert() {
255
-        return get_object_vars( $this );
255
+        return get_object_vars($this);
256 256
     }
257 257
     
258 258
     private function setup_items() {
259
-        $items = isset( $this->payment_meta['items'] ) ? maybe_unserialize( $this->payment_meta['items'] ) : array();
259
+        $items = isset($this->payment_meta['items']) ? maybe_unserialize($this->payment_meta['items']) : array();
260 260
         return $items;
261 261
     }
262 262
     
263 263
     private function setup_fees() {
264
-        $payment_fees = isset( $this->payment_meta['fees'] ) ? $this->payment_meta['fees'] : array();
264
+        $payment_fees = isset($this->payment_meta['fees']) ? $this->payment_meta['fees'] : array();
265 265
         return $payment_fees;
266 266
     }
267 267
         
268 268
     private function setup_currency() {
269
-        $currency = isset( $this->payment_meta['currency'] ) ? $this->payment_meta['currency'] : apply_filters( 'wpinv_currency_default', wpinv_get_currency(), $this );
269
+        $currency = isset($this->payment_meta['currency']) ? $this->payment_meta['currency'] : apply_filters('wpinv_currency_default', wpinv_get_currency(), $this);
270 270
         return $currency;
271 271
     }
272 272
     
273 273
     private function setup_discount() {
274 274
         //$discount = $this->get_meta( '_wpinv_discount', true );
275
-        $discount = (float)$this->subtotal - ( (float)$this->total - (float)$this->tax - (float)$this->fees_total );
276
-        if ( $discount < 0 ) {
275
+        $discount = (float)$this->subtotal - ((float)$this->total - (float)$this->tax - (float)$this->fees_total);
276
+        if ($discount < 0) {
277 277
             $discount = 0;
278 278
         }
279
-        $discount = wpinv_round_amount( $discount );
279
+        $discount = wpinv_round_amount($discount);
280 280
         
281 281
         return $discount;
282 282
     }
283 283
     
284 284
     private function setup_discount_code() {
285
-        $discount_code = !empty( $this->discounts ) ? $this->discounts : $this->get_meta( '_wpinv_discount_code', true );
285
+        $discount_code = !empty($this->discounts) ? $this->discounts : $this->get_meta('_wpinv_discount_code', true);
286 286
         return $discount_code;
287 287
     }
288 288
     
289 289
     private function setup_tax() {
290
-        $tax = $this->get_meta( '_wpinv_tax', true );
290
+        $tax = $this->get_meta('_wpinv_tax', true);
291 291
 
292 292
         // We don't have tax as it's own meta and no meta was passed
293
-        if ( '' === $tax ) {            
294
-            $tax = isset( $this->payment_meta['tax'] ) ? $this->payment_meta['tax'] : 0;
293
+        if ('' === $tax) {            
294
+            $tax = isset($this->payment_meta['tax']) ? $this->payment_meta['tax'] : 0;
295 295
         }
296 296
         
297
-        if ( $tax < 0 ) {
297
+        if ($tax < 0) {
298 298
             $tax = 0;
299 299
         }
300 300
 
@@ -305,9 +305,9 @@  discard block
 block discarded – undo
305 305
         $subtotal     = 0;
306 306
         $cart_details = $this->cart_details;
307 307
 
308
-        if ( is_array( $cart_details ) ) {
309
-            foreach ( $cart_details as $item ) {
310
-                if ( isset( $item['subtotal'] ) ) {
308
+        if (is_array($cart_details)) {
309
+            foreach ($cart_details as $item) {
310
+                if (isset($item['subtotal'])) {
311 311
                     $subtotal += $item['subtotal'];
312 312
                 }
313 313
             }
@@ -321,23 +321,23 @@  discard block
 block discarded – undo
321 321
     }
322 322
     
323 323
     private function setup_discounts() {
324
-        $discounts = ! empty( $this->payment_meta['user_info']['discount'] ) ? $this->payment_meta['user_info']['discount'] : array();
324
+        $discounts = !empty($this->payment_meta['user_info']['discount']) ? $this->payment_meta['user_info']['discount'] : array();
325 325
         return $discounts;
326 326
     }
327 327
     
328 328
     private function setup_total() {
329
-        $amount = $this->get_meta( '_wpinv_total', true );
329
+        $amount = $this->get_meta('_wpinv_total', true);
330 330
 
331
-        if ( empty( $amount ) && '0.00' != $amount ) {
332
-            $meta   = $this->get_meta( '_wpinv_payment_meta', true );
333
-            $meta   = maybe_unserialize( $meta );
331
+        if (empty($amount) && '0.00' != $amount) {
332
+            $meta   = $this->get_meta('_wpinv_payment_meta', true);
333
+            $meta   = maybe_unserialize($meta);
334 334
 
335
-            if ( isset( $meta['amount'] ) ) {
335
+            if (isset($meta['amount'])) {
336 336
                 $amount = $meta['amount'];
337 337
             }
338 338
         }
339 339
 
340
-        if($amount < 0){
340
+        if ($amount < 0) {
341 341
             $amount = 0;
342 342
         }
343 343
 
@@ -345,13 +345,13 @@  discard block
 block discarded – undo
345 345
     }
346 346
     
347 347
     private function setup_mode() {
348
-        return $this->get_meta( '_wpinv_mode' );
348
+        return $this->get_meta('_wpinv_mode');
349 349
     }
350 350
 
351 351
     private function setup_gateway() {
352
-        $gateway = $this->get_meta( '_wpinv_gateway' );
352
+        $gateway = $this->get_meta('_wpinv_gateway');
353 353
         
354
-        if ( empty( $gateway ) && 'publish' === $this->status ) {
354
+        if (empty($gateway) && 'publish' === $this->status) {
355 355
             $gateway = 'manual';
356 356
         }
357 357
         
@@ -359,23 +359,23 @@  discard block
 block discarded – undo
359 359
     }
360 360
     
361 361
     private function setup_gateway_title() {
362
-        $gateway_title = wpinv_get_gateway_checkout_label( $this->gateway );
362
+        $gateway_title = wpinv_get_gateway_checkout_label($this->gateway);
363 363
         return $gateway_title;
364 364
     }
365 365
 
366 366
     private function setup_transaction_id() {
367
-        $transaction_id = $this->get_meta( '_wpinv_transaction_id' );
367
+        $transaction_id = $this->get_meta('_wpinv_transaction_id');
368 368
 
369
-        if ( empty( $transaction_id ) || (int) $transaction_id === (int) $this->ID ) {
369
+        if (empty($transaction_id) || (int)$transaction_id === (int)$this->ID) {
370 370
             $gateway        = $this->gateway;
371
-            $transaction_id = apply_filters( 'wpinv_get_invoice_transaction_id-' . $gateway, $this->ID );
371
+            $transaction_id = apply_filters('wpinv_get_invoice_transaction_id-' . $gateway, $this->ID);
372 372
         }
373 373
 
374 374
         return $transaction_id;
375 375
     }
376 376
 
377 377
     private function setup_ip() {
378
-        $ip = $this->get_meta( '_wpinv_user_ip' );
378
+        $ip = $this->get_meta('_wpinv_user_ip');
379 379
         return $ip;
380 380
     }
381 381
 
@@ -385,62 +385,62 @@  discard block
 block discarded – undo
385 385
     ///}
386 386
         
387 387
     private function setup_first_name() {
388
-        $first_name = $this->get_meta( '_wpinv_first_name' );
388
+        $first_name = $this->get_meta('_wpinv_first_name');
389 389
         return $first_name;
390 390
     }
391 391
     
392 392
     private function setup_last_name() {
393
-        $last_name = $this->get_meta( '_wpinv_last_name' );
393
+        $last_name = $this->get_meta('_wpinv_last_name');
394 394
         return $last_name;
395 395
     }
396 396
     
397 397
     private function setup_company() {
398
-        $company = $this->get_meta( '_wpinv_company' );
398
+        $company = $this->get_meta('_wpinv_company');
399 399
         return $company;
400 400
     }
401 401
     
402 402
     private function setup_vat_number() {
403
-        $vat_number = $this->get_meta( '_wpinv_vat_number' );
403
+        $vat_number = $this->get_meta('_wpinv_vat_number');
404 404
         return $vat_number;
405 405
     }
406 406
     
407 407
     private function setup_vat_rate() {
408
-        $vat_rate = $this->get_meta( '_wpinv_vat_rate' );
408
+        $vat_rate = $this->get_meta('_wpinv_vat_rate');
409 409
         return $vat_rate;
410 410
     }
411 411
     
412 412
     private function setup_adddress_confirmed() {
413
-        $adddress_confirmed = $this->get_meta( '_wpinv_adddress_confirmed' );
413
+        $adddress_confirmed = $this->get_meta('_wpinv_adddress_confirmed');
414 414
         return $adddress_confirmed;
415 415
     }
416 416
     
417 417
     private function setup_phone() {
418
-        $phone = $this->get_meta( '_wpinv_phone' );
418
+        $phone = $this->get_meta('_wpinv_phone');
419 419
         return $phone;
420 420
     }
421 421
     
422 422
     private function setup_address() {
423
-        $address = $this->get_meta( '_wpinv_address', true );
423
+        $address = $this->get_meta('_wpinv_address', true);
424 424
         return $address;
425 425
     }
426 426
     
427 427
     private function setup_city() {
428
-        $city = $this->get_meta( '_wpinv_city', true );
428
+        $city = $this->get_meta('_wpinv_city', true);
429 429
         return $city;
430 430
     }
431 431
     
432 432
     private function setup_country() {
433
-        $country = $this->get_meta( '_wpinv_country', true );
433
+        $country = $this->get_meta('_wpinv_country', true);
434 434
         return $country;
435 435
     }
436 436
     
437 437
     private function setup_state() {
438
-        $state = $this->get_meta( '_wpinv_state', true );
438
+        $state = $this->get_meta('_wpinv_state', true);
439 439
         return $state;
440 440
     }
441 441
     
442 442
     private function setup_zip() {
443
-        $zip = $this->get_meta( '_wpinv_zip', true );
443
+        $zip = $this->get_meta('_wpinv_zip', true);
444 444
         return $zip;
445 445
     }
446 446
 
@@ -449,7 +449,7 @@  discard block
 block discarded – undo
449 449
             'user_id'        => $this->user_id,
450 450
             'first_name'     => $this->first_name,
451 451
             'last_name'      => $this->last_name,
452
-            'email'          => get_the_author_meta( 'email', $this->user_id ),
452
+            'email'          => get_the_author_meta('email', $this->user_id),
453 453
             'phone'          => $this->phone,
454 454
             'address'        => $this->address,
455 455
             'city'           => $this->city,
@@ -464,12 +464,12 @@  discard block
 block discarded – undo
464 464
         );
465 465
         
466 466
         $user_info = array();
467
-        if ( isset( $this->payment_meta['user_info'] ) ) {
468
-            $user_info = maybe_unserialize( $this->payment_meta['user_info'] );
467
+        if (isset($this->payment_meta['user_info'])) {
468
+            $user_info = maybe_unserialize($this->payment_meta['user_info']);
469 469
             
470
-            if ( !empty( $user_info ) && isset( $user_info['user_id'] ) && $post = get_post( $this->ID ) ) {
470
+            if (!empty($user_info) && isset($user_info['user_id']) && $post = get_post($this->ID)) {
471 471
                 $this->user_id = $post->post_author;
472
-                $this->email = get_the_author_meta( 'email', $this->user_id );
472
+                $this->email = get_the_author_meta('email', $this->user_id);
473 473
                 
474 474
                 $user_info['user_id'] = $this->user_id;
475 475
                 $user_info['email'] = $this->email;
@@ -478,13 +478,13 @@  discard block
 block discarded – undo
478 478
             }
479 479
         }
480 480
         
481
-        $user_info    = wp_parse_args( $user_info, $defaults );
481
+        $user_info = wp_parse_args($user_info, $defaults);
482 482
         
483 483
         // Get the user, but only if it's been created
484
-        $user = get_userdata( $this->user_id );
484
+        $user = get_userdata($this->user_id);
485 485
         
486
-        if ( !empty( $user ) && $user->ID > 0 ) {
487
-            if ( empty( $user_info ) ) {
486
+        if (!empty($user) && $user->ID > 0) {
487
+            if (empty($user_info)) {
488 488
                 $user_info = array(
489 489
                     'user_id'    => $user->ID,
490 490
                     'first_name' => $user->first_name,
@@ -493,23 +493,23 @@  discard block
 block discarded – undo
493 493
                     'discount'   => '',
494 494
                 );
495 495
             } else {
496
-                foreach ( $user_info as $key => $value ) {
497
-                    if ( ! empty( $value ) ) {
496
+                foreach ($user_info as $key => $value) {
497
+                    if (!empty($value)) {
498 498
                         continue;
499 499
                     }
500 500
 
501
-                    switch( $key ) {
501
+                    switch ($key) {
502 502
                         case 'user_id':
503
-                            $user_info[ $key ] = $user->ID;
503
+                            $user_info[$key] = $user->ID;
504 504
                             break;
505 505
                         case 'first_name':
506
-                            $user_info[ $key ] = $user->first_name;
506
+                            $user_info[$key] = $user->first_name;
507 507
                             break;
508 508
                         case 'last_name':
509
-                            $user_info[ $key ] = $user->last_name;
509
+                            $user_info[$key] = $user->last_name;
510 510
                             break;
511 511
                         case 'email':
512
-                            $user_info[ $key ] = $user->user_email;
512
+                            $user_info[$key] = $user->user_email;
513 513
                             break;
514 514
                     }
515 515
                 }
@@ -520,25 +520,25 @@  discard block
 block discarded – undo
520 520
     }
521 521
 
522 522
     private function setup_invoice_key() {
523
-        $key = $this->get_meta( '_wpinv_key', true );
523
+        $key = $this->get_meta('_wpinv_key', true);
524 524
         
525 525
         return $key;
526 526
     }
527 527
 
528 528
     private function setup_invoice_number() {
529
-        $number = $this->get_meta( '_wpinv_number', true );
529
+        $number = $this->get_meta('_wpinv_number', true);
530 530
 
531
-        if ( !$number ) {
531
+        if (!$number) {
532 532
             $number = $this->ID;
533 533
 
534
-            if ( $this->status == 'auto-draft' ) {
535
-                if ( wpinv_sequential_number_active( $this->post_type ) ) {
536
-                    $next_number = wpinv_get_next_invoice_number( $this->post_type );
534
+            if ($this->status == 'auto-draft') {
535
+                if (wpinv_sequential_number_active($this->post_type)) {
536
+                    $next_number = wpinv_get_next_invoice_number($this->post_type);
537 537
                     $number      = $next_number;
538 538
                 }
539 539
             }
540 540
             
541
-            $number = wpinv_format_invoice_number( $number, $this->post_type );
541
+            $number = wpinv_format_invoice_number($number, $this->post_type);
542 542
         }
543 543
 
544 544
         return $number;
@@ -547,10 +547,10 @@  discard block
 block discarded – undo
547 547
     private function insert_invoice() {
548 548
         global $wpdb;
549 549
 
550
-        if ( empty( $this->post_type ) ) {
551
-            if ( !empty( $this->ID ) && $post_type = get_post_type( $this->ID ) ) {
550
+        if (empty($this->post_type)) {
551
+            if (!empty($this->ID) && $post_type = get_post_type($this->ID)) {
552 552
                 $this->post_type = $post_type;
553
-            } else if ( !empty( $this->parent_invoice ) && $post_type = get_post_type( $this->parent_invoice ) ) {
553
+            } else if (!empty($this->parent_invoice) && $post_type = get_post_type($this->parent_invoice)) {
554 554
                 $this->post_type = $post_type;
555 555
             } else {
556 556
                 $this->post_type = 'wpi_invoice';
@@ -558,16 +558,16 @@  discard block
 block discarded – undo
558 558
         }
559 559
 
560 560
         $invoice_number = $this->ID;
561
-        if ( $number = $this->get_meta( '_wpinv_number', true ) ) {
561
+        if ($number = $this->get_meta('_wpinv_number', true)) {
562 562
             $invoice_number = $number;
563 563
         }
564 564
 
565
-        if ( empty( $this->key ) ) {
565
+        if (empty($this->key)) {
566 566
             $this->key = self::generate_key();
567 567
             $this->pending['key'] = $this->key;
568 568
         }
569 569
 
570
-        if ( empty( $this->ip ) ) {
570
+        if (empty($this->ip)) {
571 571
             $this->ip = wpinv_get_ip();
572 572
             $this->pending['ip'] = $this->ip;
573 573
         }
@@ -604,61 +604,61 @@  discard block
 block discarded – undo
604 604
                         'post_status'   => $this->status,
605 605
                         'post_author'   => $this->user_id,
606 606
                         'post_type'     => $this->post_type,
607
-                        'post_date'     => ! empty( $this->date ) && $this->date != '0000-00-00 00:00:00' ? $this->date : current_time( 'mysql' ),
608
-                        'post_date_gmt' => ! empty( $this->date ) && $this->date != '0000-00-00 00:00:00' ? get_gmt_from_date( $this->date ) : current_time( 'mysql', 1 ),
607
+                        'post_date'     => !empty($this->date) && $this->date != '0000-00-00 00:00:00' ? $this->date : current_time('mysql'),
608
+                        'post_date_gmt' => !empty($this->date) && $this->date != '0000-00-00 00:00:00' ? get_gmt_from_date($this->date) : current_time('mysql', 1),
609 609
                         'post_parent'   => $this->parent_invoice,
610 610
                     );
611
-        $args = apply_filters( 'wpinv_insert_invoice_args', $post_data, $this );
611
+        $args = apply_filters('wpinv_insert_invoice_args', $post_data, $this);
612 612
 
613 613
         // Create a blank invoice
614
-        if ( !empty( $this->ID ) ) {
615
-            $args['ID']         = $this->ID;
614
+        if (!empty($this->ID)) {
615
+            $args['ID'] = $this->ID;
616 616
 
617
-            $invoice_id = wp_update_post( $args, true );
617
+            $invoice_id = wp_update_post($args, true);
618 618
         } else {
619
-            $invoice_id = wp_insert_post( $args, true );
619
+            $invoice_id = wp_insert_post($args, true);
620 620
         }
621 621
 
622
-        if ( is_wp_error( $invoice_id ) ) {
622
+        if (is_wp_error($invoice_id)) {
623 623
             return false;
624 624
         }
625 625
 
626
-        if ( !empty( $invoice_id ) ) {
626
+        if (!empty($invoice_id)) {
627 627
             $this->ID  = $invoice_id;
628 628
             $this->_ID = $invoice_id;
629 629
 
630
-            $this->payment_meta = apply_filters( 'wpinv_payment_meta', $this->payment_meta, $payment_data );
631
-            if ( ! empty( $this->payment_meta['fees'] ) ) {
632
-                $this->fees = array_merge( $this->fees, $this->payment_meta['fees'] );
633
-                foreach( $this->fees as $fee ) {
634
-                    $this->increase_fees( $fee['amount'] );
630
+            $this->payment_meta = apply_filters('wpinv_payment_meta', $this->payment_meta, $payment_data);
631
+            if (!empty($this->payment_meta['fees'])) {
632
+                $this->fees = array_merge($this->fees, $this->payment_meta['fees']);
633
+                foreach ($this->fees as $fee) {
634
+                    $this->increase_fees($fee['amount']);
635 635
                 }
636 636
             }
637 637
 
638
-            $this->update_meta( '_wpinv_payment_meta', $this->payment_meta );            
638
+            $this->update_meta('_wpinv_payment_meta', $this->payment_meta);            
639 639
             $this->new = true;
640 640
         }
641 641
 
642 642
         return $this->ID;
643 643
     }
644 644
 
645
-    public function save( $setup = false ) {
645
+    public function save($setup = false) {
646 646
         global $wpi_session;
647 647
         
648 648
         $saved = false;
649
-        if ( empty( $this->items ) ) {
649
+        if (empty($this->items)) {
650 650
             return $saved; // Don't save empty invoice.
651 651
         }
652 652
         
653
-        if ( empty( $this->key ) ) {
653
+        if (empty($this->key)) {
654 654
             $this->key = self::generate_key();
655 655
             $this->pending['key'] = $this->key;
656 656
         }
657 657
         
658
-        if ( empty( $this->ID ) ) {
658
+        if (empty($this->ID)) {
659 659
             $invoice_id = $this->insert_invoice();
660 660
 
661
-            if ( false === $invoice_id ) {
661
+            if (false === $invoice_id) {
662 662
                 $saved = false;
663 663
             } else {
664 664
                 $this->ID = $invoice_id;
@@ -666,27 +666,27 @@  discard block
 block discarded – undo
666 666
         }
667 667
 
668 668
         // If we have something pending, let's save it
669
-        if ( !empty( $this->pending ) ) {
669
+        if (!empty($this->pending)) {
670 670
             $total_increase = 0;
671 671
             $total_decrease = 0;
672 672
 
673
-            foreach ( $this->pending as $key => $value ) {
674
-                switch( $key ) {
673
+            foreach ($this->pending as $key => $value) {
674
+                switch ($key) {
675 675
                     case 'items':
676 676
                         // Update totals for pending items
677
-                        foreach ( $this->pending[ $key ] as $item ) {
678
-                            switch( $item['action'] ) {
677
+                        foreach ($this->pending[$key] as $item) {
678
+                            switch ($item['action']) {
679 679
                                 case 'add':
680 680
                                     $price = $item['price'];
681 681
                                     $taxes = $item['tax'];
682 682
 
683
-                                    if ( 'publish' === $this->status ) {
683
+                                    if ('publish' === $this->status) {
684 684
                                         $total_increase += $price;
685 685
                                     }
686 686
                                     break;
687 687
 
688 688
                                 case 'remove':
689
-                                    if ( 'publish' === $this->status ) {
689
+                                    if ('publish' === $this->status) {
690 690
                                         $total_decrease += $item['price'];
691 691
                                     }
692 692
                                     break;
@@ -694,16 +694,16 @@  discard block
 block discarded – undo
694 694
                         }
695 695
                         break;
696 696
                     case 'fees':
697
-                        if ( 'publish' !== $this->status ) {
697
+                        if ('publish' !== $this->status) {
698 698
                             break;
699 699
                         }
700 700
 
701
-                        if ( empty( $this->pending[ $key ] ) ) {
701
+                        if (empty($this->pending[$key])) {
702 702
                             break;
703 703
                         }
704 704
 
705
-                        foreach ( $this->pending[ $key ] as $fee ) {
706
-                            switch( $fee['action'] ) {
705
+                        foreach ($this->pending[$key] as $fee) {
706
+                            switch ($fee['action']) {
707 707
                                 case 'add':
708 708
                                     $total_increase += $fee['amount'];
709 709
                                     break;
@@ -715,83 +715,83 @@  discard block
 block discarded – undo
715 715
                         }
716 716
                         break;
717 717
                     case 'status':
718
-                        $this->update_status( $this->status );
718
+                        $this->update_status($this->status);
719 719
                         break;
720 720
                     case 'gateway':
721
-                        $this->update_meta( '_wpinv_gateway', $this->gateway );
721
+                        $this->update_meta('_wpinv_gateway', $this->gateway);
722 722
                         break;
723 723
                     case 'mode':
724
-                        $this->update_meta( '_wpinv_mode', $this->mode );
724
+                        $this->update_meta('_wpinv_mode', $this->mode);
725 725
                         break;
726 726
                     case 'transaction_id':
727
-                        $this->update_meta( '_wpinv_transaction_id', $this->transaction_id );
727
+                        $this->update_meta('_wpinv_transaction_id', $this->transaction_id);
728 728
                         break;
729 729
                     case 'ip':
730
-                        $this->update_meta( '_wpinv_user_ip', $this->ip );
730
+                        $this->update_meta('_wpinv_user_ip', $this->ip);
731 731
                         break;
732 732
                     ///case 'user_id':
733 733
                         ///$this->update_meta( '_wpinv_user_id', $this->user_id );
734 734
                         ///$this->user_info['user_id'] = $this->user_id;
735 735
                         ///break;
736 736
                     case 'first_name':
737
-                        $this->update_meta( '_wpinv_first_name', $this->first_name );
737
+                        $this->update_meta('_wpinv_first_name', $this->first_name);
738 738
                         $this->user_info['first_name'] = $this->first_name;
739 739
                         break;
740 740
                     case 'last_name':
741
-                        $this->update_meta( '_wpinv_last_name', $this->last_name );
741
+                        $this->update_meta('_wpinv_last_name', $this->last_name);
742 742
                         $this->user_info['last_name'] = $this->last_name;
743 743
                         break;
744 744
                     case 'phone':
745
-                        $this->update_meta( '_wpinv_phone', $this->phone );
745
+                        $this->update_meta('_wpinv_phone', $this->phone);
746 746
                         $this->user_info['phone'] = $this->phone;
747 747
                         break;
748 748
                     case 'address':
749
-                        $this->update_meta( '_wpinv_address', $this->address );
749
+                        $this->update_meta('_wpinv_address', $this->address);
750 750
                         $this->user_info['address'] = $this->address;
751 751
                         break;
752 752
                     case 'city':
753
-                        $this->update_meta( '_wpinv_city', $this->city );
753
+                        $this->update_meta('_wpinv_city', $this->city);
754 754
                         $this->user_info['city'] = $this->city;
755 755
                         break;
756 756
                     case 'country':
757
-                        $this->update_meta( '_wpinv_country', $this->country );
757
+                        $this->update_meta('_wpinv_country', $this->country);
758 758
                         $this->user_info['country'] = $this->country;
759 759
                         break;
760 760
                     case 'state':
761
-                        $this->update_meta( '_wpinv_state', $this->state );
761
+                        $this->update_meta('_wpinv_state', $this->state);
762 762
                         $this->user_info['state'] = $this->state;
763 763
                         break;
764 764
                     case 'zip':
765
-                        $this->update_meta( '_wpinv_zip', $this->zip );
765
+                        $this->update_meta('_wpinv_zip', $this->zip);
766 766
                         $this->user_info['zip'] = $this->zip;
767 767
                         break;
768 768
                     case 'company':
769
-                        $this->update_meta( '_wpinv_company', $this->company );
769
+                        $this->update_meta('_wpinv_company', $this->company);
770 770
                         $this->user_info['company'] = $this->company;
771 771
                         break;
772 772
                     case 'vat_number':
773
-                        $this->update_meta( '_wpinv_vat_number', $this->vat_number );
773
+                        $this->update_meta('_wpinv_vat_number', $this->vat_number);
774 774
                         $this->user_info['vat_number'] = $this->vat_number;
775 775
                         
776
-                        $vat_info = $wpi_session->get( 'user_vat_data' );
777
-                        if ( $this->vat_number && !empty( $vat_info ) && isset( $vat_info['number'] ) && isset( $vat_info['valid'] ) && $vat_info['number'] == $this->vat_number ) {
778
-                            $adddress_confirmed = isset( $vat_info['adddress_confirmed'] ) ? $vat_info['adddress_confirmed'] : false;
779
-                            $this->update_meta( '_wpinv_adddress_confirmed', (bool)$adddress_confirmed );
776
+                        $vat_info = $wpi_session->get('user_vat_data');
777
+                        if ($this->vat_number && !empty($vat_info) && isset($vat_info['number']) && isset($vat_info['valid']) && $vat_info['number'] == $this->vat_number) {
778
+                            $adddress_confirmed = isset($vat_info['adddress_confirmed']) ? $vat_info['adddress_confirmed'] : false;
779
+                            $this->update_meta('_wpinv_adddress_confirmed', (bool)$adddress_confirmed);
780 780
                             $this->user_info['adddress_confirmed'] = (bool)$adddress_confirmed;
781 781
                         }
782 782
     
783 783
                         break;
784 784
                     case 'vat_rate':
785
-                        $this->update_meta( '_wpinv_vat_rate', $this->vat_rate );
785
+                        $this->update_meta('_wpinv_vat_rate', $this->vat_rate);
786 786
                         $this->user_info['vat_rate'] = $this->vat_rate;
787 787
                         break;
788 788
                     case 'adddress_confirmed':
789
-                        $this->update_meta( '_wpinv_adddress_confirmed', $this->adddress_confirmed );
789
+                        $this->update_meta('_wpinv_adddress_confirmed', $this->adddress_confirmed);
790 790
                         $this->user_info['adddress_confirmed'] = $this->adddress_confirmed;
791 791
                         break;
792 792
                     
793 793
                     case 'key':
794
-                        $this->update_meta( '_wpinv_key', $this->key );
794
+                        $this->update_meta('_wpinv_key', $this->key);
795 795
                         break;
796 796
                     case 'date':
797 797
                         $args = array(
@@ -800,49 +800,49 @@  discard block
 block discarded – undo
800 800
                             'edit_date' => true,
801 801
                         );
802 802
 
803
-                        wp_update_post( $args );
803
+                        wp_update_post($args);
804 804
                         break;
805 805
                     case 'due_date':
806
-                        if ( empty( $this->due_date ) ) {
806
+                        if (empty($this->due_date)) {
807 807
                             $this->due_date = 'none';
808 808
                         }
809 809
                         
810
-                        $this->update_meta( '_wpinv_due_date', $this->due_date );
810
+                        $this->update_meta('_wpinv_due_date', $this->due_date);
811 811
                         break;
812 812
                     case 'completed_date':
813
-                        $this->update_meta( '_wpinv_completed_date', $this->completed_date );
813
+                        $this->update_meta('_wpinv_completed_date', $this->completed_date);
814 814
                         break;
815 815
                     case 'discounts':
816
-                        if ( ! is_array( $this->discounts ) ) {
817
-                            $this->discounts = explode( ',', $this->discounts );
816
+                        if (!is_array($this->discounts)) {
817
+                            $this->discounts = explode(',', $this->discounts);
818 818
                         }
819 819
 
820
-                        $this->user_info['discount'] = implode( ',', $this->discounts );
820
+                        $this->user_info['discount'] = implode(',', $this->discounts);
821 821
                         break;
822 822
                     case 'discount':
823
-                        $this->update_meta( '_wpinv_discount', wpinv_round_amount( $this->discount ) );
823
+                        $this->update_meta('_wpinv_discount', wpinv_round_amount($this->discount));
824 824
                         break;
825 825
                     case 'discount_code':
826
-                        $this->update_meta( '_wpinv_discount_code', $this->discount_code );
826
+                        $this->update_meta('_wpinv_discount_code', $this->discount_code);
827 827
                         break;
828 828
                     case 'parent_invoice':
829 829
                         $args = array(
830 830
                             'ID'          => $this->ID,
831 831
                             'post_parent' => $this->parent_invoice,
832 832
                         );
833
-                        wp_update_post( $args );
833
+                        wp_update_post($args);
834 834
                         break;
835 835
                     default:
836
-                        do_action( 'wpinv_save', $this, $key );
836
+                        do_action('wpinv_save', $this, $key);
837 837
                         break;
838 838
                 }
839 839
             }
840 840
 
841
-            $this->update_meta( '_wpinv_subtotal', wpinv_round_amount( $this->subtotal ) );
842
-            $this->update_meta( '_wpinv_total', wpinv_round_amount( $this->total ) );
843
-            $this->update_meta( '_wpinv_tax', wpinv_round_amount( $this->tax ) );
841
+            $this->update_meta('_wpinv_subtotal', wpinv_round_amount($this->subtotal));
842
+            $this->update_meta('_wpinv_total', wpinv_round_amount($this->total));
843
+            $this->update_meta('_wpinv_tax', wpinv_round_amount($this->tax));
844 844
             
845
-            $this->items    = array_values( $this->items );
845
+            $this->items = array_values($this->items);
846 846
             
847 847
             $new_meta = array(
848 848
                 'items'         => $this->items,
@@ -853,12 +853,12 @@  discard block
 block discarded – undo
853 853
             );
854 854
             
855 855
             $meta        = $this->get_meta();
856
-            $merged_meta = array_merge( $meta, $new_meta );
856
+            $merged_meta = array_merge($meta, $new_meta);
857 857
 
858 858
             // Only save the payment meta if it's changed
859
-            if ( md5( serialize( $meta ) ) !== md5( serialize( $merged_meta) ) ) {
860
-                $updated     = $this->update_meta( '_wpinv_payment_meta', $merged_meta );
861
-                if ( false !== $updated ) {
859
+            if (md5(serialize($meta)) !== md5(serialize($merged_meta))) {
860
+                $updated = $this->update_meta('_wpinv_payment_meta', $merged_meta);
861
+                if (false !== $updated) {
862 862
                     $saved = true;
863 863
                 }
864 864
             }
@@ -866,15 +866,15 @@  discard block
 block discarded – undo
866 866
             $this->pending = array();
867 867
             $saved         = true;
868 868
         } else {
869
-            $this->update_meta( '_wpinv_subtotal', wpinv_round_amount( $this->subtotal ) );
870
-            $this->update_meta( '_wpinv_total', wpinv_round_amount( $this->total ) );
871
-            $this->update_meta( '_wpinv_tax', wpinv_round_amount( $this->tax ) );
869
+            $this->update_meta('_wpinv_subtotal', wpinv_round_amount($this->subtotal));
870
+            $this->update_meta('_wpinv_total', wpinv_round_amount($this->total));
871
+            $this->update_meta('_wpinv_tax', wpinv_round_amount($this->tax));
872 872
         }
873 873
         
874
-        do_action( 'wpinv_invoice_save', $this, $saved );
874
+        do_action('wpinv_invoice_save', $this, $saved);
875 875
 
876
-        if ( true === $saved || $setup ) {
877
-            $this->setup_invoice( $this->ID );
876
+        if (true === $saved || $setup) {
877
+            $this->setup_invoice($this->ID);
878 878
         }
879 879
         
880 880
         $this->refresh_item_ids();
@@ -882,7 +882,7 @@  discard block
 block discarded – undo
882 882
         return $saved;
883 883
     }
884 884
     
885
-    public function add_fee( $args, $global = true ) {
885
+    public function add_fee($args, $global = true) {
886 886
         $default_args = array(
887 887
             'label'       => '',
888 888
             'amount'      => 0,
@@ -892,75 +892,75 @@  discard block
 block discarded – undo
892 892
             'item_id'     => 0,
893 893
         );
894 894
 
895
-        $fee = wp_parse_args( $args, $default_args );
895
+        $fee = wp_parse_args($args, $default_args);
896 896
         
897
-        if ( empty( $fee['label'] ) ) {
897
+        if (empty($fee['label'])) {
898 898
             return false;
899 899
         }
900 900
         
901
-        $fee['id']  = sanitize_title( $fee['label'] );
901
+        $fee['id'] = sanitize_title($fee['label']);
902 902
         
903
-        $this->fees[]               = $fee;
903
+        $this->fees[] = $fee;
904 904
         
905 905
         $added_fee               = $fee;
906 906
         $added_fee['action']     = 'add';
907 907
         $this->pending['fees'][] = $added_fee;
908
-        reset( $this->fees );
908
+        reset($this->fees);
909 909
 
910
-        $this->increase_fees( $fee['amount'] );
910
+        $this->increase_fees($fee['amount']);
911 911
         return true;
912 912
     }
913 913
 
914
-    public function remove_fee( $key ) {
914
+    public function remove_fee($key) {
915 915
         $removed = false;
916 916
 
917
-        if ( is_numeric( $key ) ) {
918
-            $removed = $this->remove_fee_by( 'index', $key );
917
+        if (is_numeric($key)) {
918
+            $removed = $this->remove_fee_by('index', $key);
919 919
         }
920 920
 
921 921
         return $removed;
922 922
     }
923 923
 
924
-    public function remove_fee_by( $key, $value, $global = false ) {
925
-        $allowed_fee_keys = apply_filters( 'wpinv_fee_keys', array(
924
+    public function remove_fee_by($key, $value, $global = false) {
925
+        $allowed_fee_keys = apply_filters('wpinv_fee_keys', array(
926 926
             'index', 'label', 'amount', 'type',
927
-        ) );
927
+        ));
928 928
 
929
-        if ( ! in_array( $key, $allowed_fee_keys ) ) {
929
+        if (!in_array($key, $allowed_fee_keys)) {
930 930
             return false;
931 931
         }
932 932
 
933 933
         $removed = false;
934
-        if ( 'index' === $key && array_key_exists( $value, $this->fees ) ) {
935
-            $removed_fee             = $this->fees[ $value ];
934
+        if ('index' === $key && array_key_exists($value, $this->fees)) {
935
+            $removed_fee             = $this->fees[$value];
936 936
             $removed_fee['action']   = 'remove';
937 937
             $this->pending['fees'][] = $removed_fee;
938 938
 
939
-            $this->decrease_fees( $removed_fee['amount'] );
939
+            $this->decrease_fees($removed_fee['amount']);
940 940
 
941
-            unset( $this->fees[ $value ] );
941
+            unset($this->fees[$value]);
942 942
             $removed = true;
943
-        } else if ( 'index' !== $key ) {
944
-            foreach ( $this->fees as $index => $fee ) {
945
-                if ( isset( $fee[ $key ] ) && $fee[ $key ] == $value ) {
943
+        } else if ('index' !== $key) {
944
+            foreach ($this->fees as $index => $fee) {
945
+                if (isset($fee[$key]) && $fee[$key] == $value) {
946 946
                     $removed_fee             = $fee;
947 947
                     $removed_fee['action']   = 'remove';
948 948
                     $this->pending['fees'][] = $removed_fee;
949 949
 
950
-                    $this->decrease_fees( $removed_fee['amount'] );
950
+                    $this->decrease_fees($removed_fee['amount']);
951 951
 
952
-                    unset( $this->fees[ $index ] );
952
+                    unset($this->fees[$index]);
953 953
                     $removed = true;
954 954
 
955
-                    if ( false === $global ) {
955
+                    if (false === $global) {
956 956
                         break;
957 957
                     }
958 958
                 }
959 959
             }
960 960
         }
961 961
 
962
-        if ( true === $removed ) {
963
-            $this->fees = array_values( $this->fees );
962
+        if (true === $removed) {
963
+            $this->fees = array_values($this->fees);
964 964
         }
965 965
 
966 966
         return $removed;
@@ -968,35 +968,35 @@  discard block
 block discarded – undo
968 968
 
969 969
     
970 970
 
971
-    public function add_note( $note = '', $customer_type = false, $added_by_user = false, $system = false ) {
971
+    public function add_note($note = '', $customer_type = false, $added_by_user = false, $system = false) {
972 972
         // Bail if no note specified
973
-        if( !$note ) {
973
+        if (!$note) {
974 974
             return false;
975 975
         }
976 976
 
977
-        if ( empty( $this->ID ) )
977
+        if (empty($this->ID))
978 978
             return false;
979 979
         
980
-        if ( ( ( is_user_logged_in() && wpinv_current_user_can_manage_invoicing() ) || $added_by_user ) && !$system ) {
981
-            $user                 = get_user_by( 'id', get_current_user_id() );
980
+        if (((is_user_logged_in() && wpinv_current_user_can_manage_invoicing()) || $added_by_user) && !$system) {
981
+            $user                 = get_user_by('id', get_current_user_id());
982 982
             $comment_author       = $user->display_name;
983 983
             $comment_author_email = $user->user_email;
984 984
         } else {
985 985
             $comment_author       = 'System';
986 986
             $comment_author_email = 'system@';
987
-            $comment_author_email .= isset( $_SERVER['HTTP_HOST'] ) ? str_replace( 'www.', '', $_SERVER['HTTP_HOST'] ) : 'noreply.com';
988
-            $comment_author_email = sanitize_email( $comment_author_email );
987
+            $comment_author_email .= isset($_SERVER['HTTP_HOST']) ? str_replace('www.', '', $_SERVER['HTTP_HOST']) : 'noreply.com';
988
+            $comment_author_email = sanitize_email($comment_author_email);
989 989
         }
990 990
 
991
-        do_action( 'wpinv_pre_insert_invoice_note', $this->ID, $note, $customer_type );
991
+        do_action('wpinv_pre_insert_invoice_note', $this->ID, $note, $customer_type);
992 992
 
993
-        $note_id = wp_insert_comment( wp_filter_comment( array(
993
+        $note_id = wp_insert_comment(wp_filter_comment(array(
994 994
             'comment_post_ID'      => $this->ID,
995 995
             'comment_content'      => $note,
996 996
             'comment_agent'        => 'WPInvoicing',
997 997
             'user_id'              => is_admin() ? get_current_user_id() : 0,
998
-            'comment_date'         => current_time( 'mysql' ),
999
-            'comment_date_gmt'     => current_time( 'mysql', 1 ),
998
+            'comment_date'         => current_time('mysql'),
999
+            'comment_date_gmt'     => current_time('mysql', 1),
1000 1000
             'comment_approved'     => 1,
1001 1001
             'comment_parent'       => 0,
1002 1002
             'comment_author'       => $comment_author,
@@ -1004,53 +1004,53 @@  discard block
 block discarded – undo
1004 1004
             'comment_author_url'   => '',
1005 1005
             'comment_author_email' => $comment_author_email,
1006 1006
             'comment_type'         => 'wpinv_note'
1007
-        ) ) );
1007
+        )));
1008 1008
 
1009
-        do_action( 'wpinv_insert_payment_note', $note_id, $this->ID, $note );
1009
+        do_action('wpinv_insert_payment_note', $note_id, $this->ID, $note);
1010 1010
         
1011
-        if ( $customer_type ) {
1012
-            add_comment_meta( $note_id, '_wpi_customer_note', 1 );
1011
+        if ($customer_type) {
1012
+            add_comment_meta($note_id, '_wpi_customer_note', 1);
1013 1013
 
1014
-            do_action( 'wpinv_new_customer_note', array( 'invoice_id' => $this->ID, 'user_note' => $note ) );
1014
+            do_action('wpinv_new_customer_note', array('invoice_id' => $this->ID, 'user_note' => $note));
1015 1015
         }
1016 1016
 
1017 1017
         return $note_id;
1018 1018
     }
1019 1019
 
1020
-    private function increase_subtotal( $amount = 0.00 ) {
1021
-        $amount          = (float) $amount;
1020
+    private function increase_subtotal($amount = 0.00) {
1021
+        $amount          = (float)$amount;
1022 1022
         $this->subtotal += $amount;
1023
-        $this->subtotal  = wpinv_round_amount( $this->subtotal );
1023
+        $this->subtotal  = wpinv_round_amount($this->subtotal);
1024 1024
 
1025 1025
         $this->recalculate_total();
1026 1026
     }
1027 1027
 
1028
-    private function decrease_subtotal( $amount = 0.00 ) {
1029
-        $amount          = (float) $amount;
1028
+    private function decrease_subtotal($amount = 0.00) {
1029
+        $amount          = (float)$amount;
1030 1030
         $this->subtotal -= $amount;
1031
-        $this->subtotal  = wpinv_round_amount( $this->subtotal );
1031
+        $this->subtotal  = wpinv_round_amount($this->subtotal);
1032 1032
 
1033
-        if ( $this->subtotal < 0 ) {
1033
+        if ($this->subtotal < 0) {
1034 1034
             $this->subtotal = 0;
1035 1035
         }
1036 1036
 
1037 1037
         $this->recalculate_total();
1038 1038
     }
1039 1039
 
1040
-    private function increase_fees( $amount = 0.00 ) {
1040
+    private function increase_fees($amount = 0.00) {
1041 1041
         $amount            = (float)$amount;
1042 1042
         $this->fees_total += $amount;
1043
-        $this->fees_total  = wpinv_round_amount( $this->fees_total );
1043
+        $this->fees_total  = wpinv_round_amount($this->fees_total);
1044 1044
 
1045 1045
         $this->recalculate_total();
1046 1046
     }
1047 1047
 
1048
-    private function decrease_fees( $amount = 0.00 ) {
1049
-        $amount            = (float) $amount;
1048
+    private function decrease_fees($amount = 0.00) {
1049
+        $amount            = (float)$amount;
1050 1050
         $this->fees_total -= $amount;
1051
-        $this->fees_total  = wpinv_round_amount( $this->fees_total );
1051
+        $this->fees_total  = wpinv_round_amount($this->fees_total);
1052 1052
 
1053
-        if ( $this->fees_total < 0 ) {
1053
+        if ($this->fees_total < 0) {
1054 1054
             $this->fees_total = 0;
1055 1055
         }
1056 1056
 
@@ -1061,54 +1061,54 @@  discard block
 block discarded – undo
1061 1061
         global $wpi_nosave;
1062 1062
         
1063 1063
         $this->total = $this->subtotal + $this->tax + $this->fees_total;
1064
-        $this->total = wpinv_round_amount( $this->total );
1064
+        $this->total = wpinv_round_amount($this->total);
1065 1065
         
1066
-        do_action( 'wpinv_invoice_recalculate_total', $this, $wpi_nosave );
1066
+        do_action('wpinv_invoice_recalculate_total', $this, $wpi_nosave);
1067 1067
     }
1068 1068
     
1069
-    public function increase_tax( $amount = 0.00 ) {
1070
-        $amount       = (float) $amount;
1069
+    public function increase_tax($amount = 0.00) {
1070
+        $amount       = (float)$amount;
1071 1071
         $this->tax   += $amount;
1072 1072
 
1073 1073
         $this->recalculate_total();
1074 1074
     }
1075 1075
 
1076
-    public function decrease_tax( $amount = 0.00 ) {
1077
-        $amount     = (float) $amount;
1076
+    public function decrease_tax($amount = 0.00) {
1077
+        $amount     = (float)$amount;
1078 1078
         $this->tax -= $amount;
1079 1079
 
1080
-        if ( $this->tax < 0 ) {
1080
+        if ($this->tax < 0) {
1081 1081
             $this->tax = 0;
1082 1082
         }
1083 1083
 
1084 1084
         $this->recalculate_total();
1085 1085
     }
1086 1086
 
1087
-    public function update_status( $new_status = false, $note = '', $manual = false ) {
1088
-        $old_status = ! empty( $this->old_status ) ? $this->old_status : get_post_status( $this->ID );
1087
+    public function update_status($new_status = false, $note = '', $manual = false) {
1088
+        $old_status = !empty($this->old_status) ? $this->old_status : get_post_status($this->ID);
1089 1089
 
1090
-        if ( $old_status === $new_status && in_array( $new_status, array_keys( wpinv_get_invoice_statuses( true ) ) ) ) {
1090
+        if ($old_status === $new_status && in_array($new_status, array_keys(wpinv_get_invoice_statuses(true)))) {
1091 1091
             return false; // Don't permit status changes that aren't changes
1092 1092
         }
1093 1093
 
1094
-        $do_change = apply_filters( 'wpinv_should_update_invoice_status', true, $this->ID, $new_status, $old_status );
1094
+        $do_change = apply_filters('wpinv_should_update_invoice_status', true, $this->ID, $new_status, $old_status);
1095 1095
         $updated = false;
1096 1096
 
1097
-        if ( $do_change ) {
1098
-            do_action( 'wpinv_before_invoice_status_change', $this->ID, $new_status, $old_status );
1097
+        if ($do_change) {
1098
+            do_action('wpinv_before_invoice_status_change', $this->ID, $new_status, $old_status);
1099 1099
 
1100 1100
             $update_post_data                   = array();
1101 1101
             $update_post_data['ID']             = $this->ID;
1102 1102
             $update_post_data['post_status']    = $new_status;
1103
-            $update_post_data['edit_date']      = current_time( 'mysql', 0 );
1104
-            $update_post_data['edit_date_gmt']  = current_time( 'mysql', 1 );
1103
+            $update_post_data['edit_date']      = current_time('mysql', 0);
1104
+            $update_post_data['edit_date_gmt']  = current_time('mysql', 1);
1105 1105
             
1106
-            $update_post_data = apply_filters( 'wpinv_update_invoice_status_fields', $update_post_data, $this->ID );
1106
+            $update_post_data = apply_filters('wpinv_update_invoice_status_fields', $update_post_data, $this->ID);
1107 1107
 
1108
-            $updated = wp_update_post( $update_post_data );     
1108
+            $updated = wp_update_post($update_post_data);     
1109 1109
            
1110 1110
             // Process any specific status functions
1111
-            switch( $new_status ) {
1111
+            switch ($new_status) {
1112 1112
                 case 'wpi-refunded':
1113 1113
                     $this->process_refund();
1114 1114
                     break;
@@ -1121,9 +1121,9 @@  discard block
 block discarded – undo
1121 1121
             }
1122 1122
             
1123 1123
             // Status was changed.
1124
-            do_action( 'wpinv_status_' . $new_status, $this->ID, $old_status );
1125
-            do_action( 'wpinv_status_' . $old_status . '_to_' . $new_status, $this->ID, $old_status );
1126
-            do_action( 'wpinv_update_status', $this->ID, $new_status, $old_status );
1124
+            do_action('wpinv_status_' . $new_status, $this->ID, $old_status);
1125
+            do_action('wpinv_status_' . $old_status . '_to_' . $new_status, $this->ID, $old_status);
1126
+            do_action('wpinv_update_status', $this->ID, $new_status, $old_status);
1127 1127
         }
1128 1128
 
1129 1129
         return $updated;
@@ -1137,20 +1137,20 @@  discard block
 block discarded – undo
1137 1137
         $this->save();
1138 1138
     }
1139 1139
 
1140
-    public function update_meta( $meta_key = '', $meta_value = '', $prev_value = '' ) {
1141
-        if ( empty( $meta_key ) ) {
1140
+    public function update_meta($meta_key = '', $meta_value = '', $prev_value = '') {
1141
+        if (empty($meta_key)) {
1142 1142
             return false;
1143 1143
         }
1144 1144
 
1145
-        if ( $meta_key == 'key' || $meta_key == 'date' ) {
1145
+        if ($meta_key == 'key' || $meta_key == 'date') {
1146 1146
             $current_meta = $this->get_meta();
1147
-            $current_meta[ $meta_key ] = $meta_value;
1147
+            $current_meta[$meta_key] = $meta_value;
1148 1148
 
1149 1149
             $meta_key     = '_wpinv_payment_meta';
1150 1150
             $meta_value   = $current_meta;
1151 1151
         }
1152 1152
 
1153
-        $meta_value = apply_filters( 'wpinv_update_payment_meta_' . $meta_key, $meta_value, $this->ID );
1153
+        $meta_value = apply_filters('wpinv_update_payment_meta_' . $meta_key, $meta_value, $this->ID);
1154 1154
         
1155 1155
         // Do not update created date on invoice marked as paid.
1156 1156
         /*if ( $meta_key == '_wpinv_completed_date' && !empty( $meta_value ) ) {
@@ -1165,45 +1165,45 @@  discard block
 block discarded – undo
1165 1165
             wp_update_post( $args );
1166 1166
         }*/
1167 1167
         
1168
-        return update_post_meta( $this->ID, $meta_key, $meta_value, $prev_value );
1168
+        return update_post_meta($this->ID, $meta_key, $meta_value, $prev_value);
1169 1169
     }
1170 1170
 
1171 1171
     private function process_refund() {
1172 1172
         $process_refund = true;
1173 1173
 
1174 1174
         // If the payment was not in publish, don't decrement stats as they were never incremented
1175
-        if ( 'publish' != $this->old_status || 'wpi-refunded' != $this->status ) {
1175
+        if ('publish' != $this->old_status || 'wpi-refunded' != $this->status) {
1176 1176
             $process_refund = false;
1177 1177
         }
1178 1178
 
1179 1179
         // Allow extensions to filter for their own payment types, Example: Recurring Payments
1180
-        $process_refund = apply_filters( 'wpinv_should_process_refund', $process_refund, $this );
1180
+        $process_refund = apply_filters('wpinv_should_process_refund', $process_refund, $this);
1181 1181
 
1182
-        if ( false === $process_refund ) {
1182
+        if (false === $process_refund) {
1183 1183
             return;
1184 1184
         }
1185 1185
 
1186
-        do_action( 'wpinv_pre_refund_invoice', $this );
1186
+        do_action('wpinv_pre_refund_invoice', $this);
1187 1187
         
1188
-        $decrease_store_earnings = apply_filters( 'wpinv_decrease_store_earnings_on_refund', true, $this );
1189
-        $decrease_customer_value = apply_filters( 'wpinv_decrease_customer_value_on_refund', true, $this );
1190
-        $decrease_purchase_count = apply_filters( 'wpinv_decrease_customer_purchase_count_on_refund', true, $this );
1188
+        $decrease_store_earnings = apply_filters('wpinv_decrease_store_earnings_on_refund', true, $this);
1189
+        $decrease_customer_value = apply_filters('wpinv_decrease_customer_value_on_refund', true, $this);
1190
+        $decrease_purchase_count = apply_filters('wpinv_decrease_customer_purchase_count_on_refund', true, $this);
1191 1191
         
1192
-        do_action( 'wpinv_post_refund_invoice', $this );
1192
+        do_action('wpinv_post_refund_invoice', $this);
1193 1193
     }
1194 1194
 
1195 1195
     private function process_failure() {
1196 1196
         $discounts = $this->discounts;
1197
-        if ( empty( $discounts ) ) {
1197
+        if (empty($discounts)) {
1198 1198
             return;
1199 1199
         }
1200 1200
 
1201
-        if ( ! is_array( $discounts ) ) {
1202
-            $discounts = array_map( 'trim', explode( ',', $discounts ) );
1201
+        if (!is_array($discounts)) {
1202
+            $discounts = array_map('trim', explode(',', $discounts));
1203 1203
         }
1204 1204
 
1205
-        foreach ( $discounts as $discount ) {
1206
-            wpinv_decrease_discount_usage( $discount );
1205
+        foreach ($discounts as $discount) {
1206
+            wpinv_decrease_discount_usage($discount);
1207 1207
         }
1208 1208
     }
1209 1209
     
@@ -1211,92 +1211,92 @@  discard block
 block discarded – undo
1211 1211
         $process_pending = true;
1212 1212
 
1213 1213
         // If the payment was not in publish or revoked status, don't decrement stats as they were never incremented
1214
-        if ( ( 'publish' != $this->old_status && 'revoked' != $this->old_status ) || 'wpi-pending' != $this->status ) {
1214
+        if (('publish' != $this->old_status && 'revoked' != $this->old_status) || 'wpi-pending' != $this->status) {
1215 1215
             $process_pending = false;
1216 1216
         }
1217 1217
 
1218 1218
         // Allow extensions to filter for their own payment types, Example: Recurring Payments
1219
-        $process_pending = apply_filters( 'wpinv_should_process_pending', $process_pending, $this );
1219
+        $process_pending = apply_filters('wpinv_should_process_pending', $process_pending, $this);
1220 1220
 
1221
-        if ( false === $process_pending ) {
1221
+        if (false === $process_pending) {
1222 1222
             return;
1223 1223
         }
1224 1224
 
1225
-        $decrease_store_earnings = apply_filters( 'wpinv_decrease_store_earnings_on_pending', true, $this );
1226
-        $decrease_customer_value = apply_filters( 'wpinv_decrease_customer_value_on_pending', true, $this );
1227
-        $decrease_purchase_count = apply_filters( 'wpinv_decrease_customer_purchase_count_on_pending', true, $this );
1225
+        $decrease_store_earnings = apply_filters('wpinv_decrease_store_earnings_on_pending', true, $this);
1226
+        $decrease_customer_value = apply_filters('wpinv_decrease_customer_value_on_pending', true, $this);
1227
+        $decrease_purchase_count = apply_filters('wpinv_decrease_customer_purchase_count_on_pending', true, $this);
1228 1228
 
1229 1229
         $this->completed_date = '';
1230
-        $this->update_meta( '_wpinv_completed_date', '' );
1230
+        $this->update_meta('_wpinv_completed_date', '');
1231 1231
     }
1232 1232
     
1233 1233
     // get data
1234
-    public function get_meta( $meta_key = '_wpinv_payment_meta', $single = true ) {
1235
-        $meta = get_post_meta( $this->ID, $meta_key, $single );
1234
+    public function get_meta($meta_key = '_wpinv_payment_meta', $single = true) {
1235
+        $meta = get_post_meta($this->ID, $meta_key, $single);
1236 1236
 
1237
-        if ( $meta_key === '_wpinv_payment_meta' ) {
1237
+        if ($meta_key === '_wpinv_payment_meta') {
1238 1238
 
1239
-            if(!is_array($meta)){$meta = array();} // we need this to be an array so make sure it is.
1239
+            if (!is_array($meta)) {$meta = array(); } // we need this to be an array so make sure it is.
1240 1240
 
1241
-            if ( empty( $meta['key'] ) ) {
1241
+            if (empty($meta['key'])) {
1242 1242
                 $meta['key'] = $this->setup_invoice_key();
1243 1243
             }
1244 1244
 
1245
-            if ( empty( $meta['date'] ) ) {
1246
-                $meta['date'] = get_post_field( 'post_date', $this->ID );
1245
+            if (empty($meta['date'])) {
1246
+                $meta['date'] = get_post_field('post_date', $this->ID);
1247 1247
             }
1248 1248
         }
1249 1249
 
1250
-        $meta = apply_filters( 'wpinv_get_invoice_meta_' . $meta_key, $meta, $this->ID );
1250
+        $meta = apply_filters('wpinv_get_invoice_meta_' . $meta_key, $meta, $this->ID);
1251 1251
 
1252
-        return apply_filters( 'wpinv_get_invoice_meta', $meta, $this->ID, $meta_key );
1252
+        return apply_filters('wpinv_get_invoice_meta', $meta, $this->ID, $meta_key);
1253 1253
     }
1254 1254
     
1255 1255
     public function get_description() {
1256
-        $post = get_post( $this->ID );
1256
+        $post = get_post($this->ID);
1257 1257
         
1258
-        $description = !empty( $post ) ? $post->post_content : '';
1259
-        return apply_filters( 'wpinv_get_description', $description, $this->ID, $this );
1258
+        $description = !empty($post) ? $post->post_content : '';
1259
+        return apply_filters('wpinv_get_description', $description, $this->ID, $this);
1260 1260
     }
1261 1261
     
1262
-    public function get_status( $nicename = false ) {
1263
-        if ( !$nicename ) {
1262
+    public function get_status($nicename = false) {
1263
+        if (!$nicename) {
1264 1264
             $status = $this->status;
1265 1265
         } else {
1266 1266
             $status = $this->status_nicename;
1267 1267
         }
1268 1268
         
1269
-        return apply_filters( 'wpinv_get_status', $status, $nicename, $this->ID, $this );
1269
+        return apply_filters('wpinv_get_status', $status, $nicename, $this->ID, $this);
1270 1270
     }
1271 1271
     
1272 1272
     public function get_cart_details() {
1273
-        return apply_filters( 'wpinv_cart_details', $this->cart_details, $this->ID, $this );
1273
+        return apply_filters('wpinv_cart_details', $this->cart_details, $this->ID, $this);
1274 1274
     }
1275 1275
     
1276
-    public function get_subtotal( $currency = false ) {
1277
-        $subtotal = wpinv_round_amount( $this->subtotal );
1276
+    public function get_subtotal($currency = false) {
1277
+        $subtotal = wpinv_round_amount($this->subtotal);
1278 1278
         
1279
-        if ( $currency ) {
1280
-            $subtotal = wpinv_price( wpinv_format_amount( $subtotal, NULL, !$currency ), $this->get_currency() );
1279
+        if ($currency) {
1280
+            $subtotal = wpinv_price(wpinv_format_amount($subtotal, NULL, !$currency), $this->get_currency());
1281 1281
         }
1282 1282
         
1283
-        return apply_filters( 'wpinv_get_invoice_subtotal', $subtotal, $this->ID, $this, $currency );
1283
+        return apply_filters('wpinv_get_invoice_subtotal', $subtotal, $this->ID, $this, $currency);
1284 1284
     }
1285 1285
     
1286
-    public function get_total( $currency = false ) {        
1287
-        if ( $this->is_free_trial() ) {
1288
-            $total = wpinv_round_amount( 0 );
1286
+    public function get_total($currency = false) {        
1287
+        if ($this->is_free_trial()) {
1288
+            $total = wpinv_round_amount(0);
1289 1289
         } else {
1290
-            $total = wpinv_round_amount( $this->total );
1290
+            $total = wpinv_round_amount($this->total);
1291 1291
         }
1292
-        if ( $currency ) {
1293
-            $total = wpinv_price( wpinv_format_amount( $total, NULL, !$currency ), $this->get_currency() );
1292
+        if ($currency) {
1293
+            $total = wpinv_price(wpinv_format_amount($total, NULL, !$currency), $this->get_currency());
1294 1294
         }
1295 1295
         
1296
-        return apply_filters( 'wpinv_get_invoice_total', $total, $this->ID, $this, $currency );
1296
+        return apply_filters('wpinv_get_invoice_total', $total, $this->ID, $this, $currency);
1297 1297
     }
1298 1298
     
1299
-    public function get_recurring_details( $field = '', $currency = false ) {        
1299
+    public function get_recurring_details($field = '', $currency = false) {        
1300 1300
         $data                 = array();
1301 1301
         $data['cart_details'] = $this->cart_details;
1302 1302
         $data['subtotal']     = $this->get_subtotal();
@@ -1304,45 +1304,45 @@  discard block
 block discarded – undo
1304 1304
         $data['tax']          = $this->get_tax();
1305 1305
         $data['total']        = $this->get_total();
1306 1306
     
1307
-        if ( !empty( $this->cart_details ) && ( $this->is_parent() || $this->is_renewal() ) ) {
1307
+        if (!empty($this->cart_details) && ($this->is_parent() || $this->is_renewal())) {
1308 1308
             $is_free_trial = $this->is_free_trial();
1309
-            $discounts = $this->get_discounts( true );
1309
+            $discounts = $this->get_discounts(true);
1310 1310
             
1311
-            if ( $is_free_trial || !empty( $discounts ) ) {
1311
+            if ($is_free_trial || !empty($discounts)) {
1312 1312
                 $first_use_only = false;
1313 1313
                 
1314
-                if ( !empty( $discounts ) ) {
1315
-                    foreach ( $discounts as $key => $code ) {
1316
-                        if ( wpinv_discount_is_recurring( $code, true ) && !$this->is_renewal() ) {
1314
+                if (!empty($discounts)) {
1315
+                    foreach ($discounts as $key => $code) {
1316
+                        if (wpinv_discount_is_recurring($code, true) && !$this->is_renewal()) {
1317 1317
                             $first_use_only = true;
1318 1318
                             break;
1319 1319
                         }
1320 1320
                     }
1321 1321
                 }
1322 1322
                     
1323
-                if ( !$first_use_only ) {
1324
-                    $data['subtotal'] = wpinv_round_amount( $this->subtotal );
1325
-                    $data['discount'] = wpinv_round_amount( $this->discount );
1326
-                    $data['tax']      = wpinv_round_amount( $this->tax );
1327
-                    $data['total']    = wpinv_round_amount( $this->total );
1323
+                if (!$first_use_only) {
1324
+                    $data['subtotal'] = wpinv_round_amount($this->subtotal);
1325
+                    $data['discount'] = wpinv_round_amount($this->discount);
1326
+                    $data['tax']      = wpinv_round_amount($this->tax);
1327
+                    $data['total']    = wpinv_round_amount($this->total);
1328 1328
                 } else {
1329 1329
                     $cart_subtotal   = 0;
1330 1330
                     $cart_discount   = $this->discount;
1331 1331
                     $cart_tax        = 0;
1332 1332
 
1333
-                    foreach ( $this->cart_details as $key => $item ) {
1334
-                        $item_quantity  = $item['quantity'] > 0 ? absint( $item['quantity'] ) : 1;
1335
-                        $item_subtotal  = !empty( $item['subtotal'] ) ? $item['subtotal'] : $item['item_price'] * $item_quantity;
1333
+                    foreach ($this->cart_details as $key => $item) {
1334
+                        $item_quantity  = $item['quantity'] > 0 ? absint($item['quantity']) : 1;
1335
+                        $item_subtotal  = !empty($item['subtotal']) ? $item['subtotal'] : $item['item_price'] * $item_quantity;
1336 1336
                         $item_discount  = 0;
1337
-                        $item_tax       = $item_subtotal > 0 && !empty( $item['vat_rate'] ) ? ( $item_subtotal * 0.01 * (float)$item['vat_rate'] ) : 0;
1337
+                        $item_tax       = $item_subtotal > 0 && !empty($item['vat_rate']) ? ($item_subtotal * 0.01 * (float)$item['vat_rate']) : 0;
1338 1338
                         
1339
-                        if ( wpinv_prices_include_tax() ) {
1340
-                            $item_subtotal -= wpinv_round_amount( $item_tax );
1339
+                        if (wpinv_prices_include_tax()) {
1340
+                            $item_subtotal -= wpinv_round_amount($item_tax);
1341 1341
                         }
1342 1342
                         
1343 1343
                         $item_total     = $item_subtotal - $item_discount + $item_tax;
1344 1344
                         // Do not allow totals to go negative
1345
-                        if ( $item_total < 0 ) {
1345
+                        if ($item_total < 0) {
1346 1346
                             $item_total = 0;
1347 1347
                         }
1348 1348
                         
@@ -1350,118 +1350,118 @@  discard block
 block discarded – undo
1350 1350
                         $cart_discount  += (float)($item_discount);
1351 1351
                         $cart_tax       += (float)($item_tax);
1352 1352
                         
1353
-                        $data['cart_details'][$key]['discount']   = wpinv_round_amount( $item_discount );
1354
-                        $data['cart_details'][$key]['tax']        = wpinv_round_amount( $item_tax );
1355
-                        $data['cart_details'][$key]['price']      = wpinv_round_amount( $item_total );
1353
+                        $data['cart_details'][$key]['discount']   = wpinv_round_amount($item_discount);
1354
+                        $data['cart_details'][$key]['tax']        = wpinv_round_amount($item_tax);
1355
+                        $data['cart_details'][$key]['price']      = wpinv_round_amount($item_total);
1356 1356
                     }
1357 1357
 
1358 1358
 	                $total = $data['subtotal'] - $data['discount'] + $data['tax'];
1359
-	                if ( $total < 0 ) {
1359
+	                if ($total < 0) {
1360 1360
 		                $total = 0;
1361 1361
 	                }
1362 1362
 
1363
-                    $data['subtotal'] = wpinv_round_amount( $cart_subtotal );
1364
-                    $data['discount'] = wpinv_round_amount( $cart_discount );
1365
-                    $data['tax']      = wpinv_round_amount( $cart_tax );
1366
-                    $data['total']    = wpinv_round_amount( $total );
1363
+                    $data['subtotal'] = wpinv_round_amount($cart_subtotal);
1364
+                    $data['discount'] = wpinv_round_amount($cart_discount);
1365
+                    $data['tax']      = wpinv_round_amount($cart_tax);
1366
+                    $data['total']    = wpinv_round_amount($total);
1367 1367
                 }
1368 1368
             }
1369 1369
         }
1370 1370
         
1371
-        $data = apply_filters( 'wpinv_get_invoice_recurring_details', $data, $this, $field, $currency );
1371
+        $data = apply_filters('wpinv_get_invoice_recurring_details', $data, $this, $field, $currency);
1372 1372
 
1373
-        if ( isset( $data[$field] ) ) {
1374
-            return ( $currency ? wpinv_price( $data[$field], $this->get_currency() ) : $data[$field] );
1373
+        if (isset($data[$field])) {
1374
+            return ($currency ? wpinv_price($data[$field], $this->get_currency()) : $data[$field]);
1375 1375
         }
1376 1376
         
1377 1377
         return $data;
1378 1378
     }
1379 1379
     
1380
-    public function get_final_tax( $currency = false ) {        
1381
-        $final_total = wpinv_round_amount( $this->tax );
1382
-        if ( $currency ) {
1383
-            $final_total = wpinv_price( wpinv_format_amount( $final_total, NULL, !$currency ), $this->get_currency() );
1380
+    public function get_final_tax($currency = false) {        
1381
+        $final_total = wpinv_round_amount($this->tax);
1382
+        if ($currency) {
1383
+            $final_total = wpinv_price(wpinv_format_amount($final_total, NULL, !$currency), $this->get_currency());
1384 1384
         }
1385 1385
         
1386
-        return apply_filters( 'wpinv_get_invoice_final_total', $final_total, $this, $currency );
1386
+        return apply_filters('wpinv_get_invoice_final_total', $final_total, $this, $currency);
1387 1387
     }
1388 1388
     
1389
-    public function get_discounts( $array = false ) {
1389
+    public function get_discounts($array = false) {
1390 1390
         $discounts = $this->discounts;
1391
-        if ( $array && $discounts ) {
1392
-            $discounts = explode( ',', $discounts );
1391
+        if ($array && $discounts) {
1392
+            $discounts = explode(',', $discounts);
1393 1393
         }
1394
-        return apply_filters( 'wpinv_payment_discounts', $discounts, $this->ID, $this, $array );
1394
+        return apply_filters('wpinv_payment_discounts', $discounts, $this->ID, $this, $array);
1395 1395
     }
1396 1396
     
1397
-    public function get_discount( $currency = false, $dash = false ) {
1398
-        if ( !empty( $this->discounts ) ) {
1397
+    public function get_discount($currency = false, $dash = false) {
1398
+        if (!empty($this->discounts)) {
1399 1399
             global $ajax_cart_details;
1400 1400
             $ajax_cart_details = $this->get_cart_details();
1401 1401
             
1402
-            if ( !empty( $ajax_cart_details ) && count( $ajax_cart_details ) == count( $this->items ) ) {
1402
+            if (!empty($ajax_cart_details) && count($ajax_cart_details) == count($this->items)) {
1403 1403
                 $cart_items = $ajax_cart_details;
1404 1404
             } else {
1405 1405
                 $cart_items = $this->items;
1406 1406
             }
1407 1407
 
1408
-            $this->discount = wpinv_get_cart_items_discount_amount( $cart_items , $this->discounts );
1408
+            $this->discount = wpinv_get_cart_items_discount_amount($cart_items, $this->discounts);
1409 1409
         }
1410
-        $discount   = wpinv_round_amount( $this->discount );
1410
+        $discount   = wpinv_round_amount($this->discount);
1411 1411
         $dash       = $dash && $discount > 0 ? '&ndash;' : '';
1412 1412
         
1413
-        if ( $currency ) {
1414
-            $discount = wpinv_price( wpinv_format_amount( $discount, NULL, !$currency ), $this->get_currency() );
1413
+        if ($currency) {
1414
+            $discount = wpinv_price(wpinv_format_amount($discount, NULL, !$currency), $this->get_currency());
1415 1415
         }
1416 1416
         
1417
-        $discount   = $dash . $discount;
1417
+        $discount = $dash . $discount;
1418 1418
         
1419
-        return apply_filters( 'wpinv_get_invoice_discount', $discount, $this->ID, $this, $currency, $dash );
1419
+        return apply_filters('wpinv_get_invoice_discount', $discount, $this->ID, $this, $currency, $dash);
1420 1420
     }
1421 1421
     
1422 1422
     public function get_discount_code() {
1423 1423
         return $this->discount_code;
1424 1424
     }
1425 1425
     
1426
-    public function get_tax( $currency = false ) {
1427
-        $tax = wpinv_round_amount( $this->tax );
1426
+    public function get_tax($currency = false) {
1427
+        $tax = wpinv_round_amount($this->tax);
1428 1428
         
1429
-        if ( $currency ) {
1430
-            $tax = wpinv_price( wpinv_format_amount( $tax, NULL, !$currency ), $this->get_currency() );
1429
+        if ($currency) {
1430
+            $tax = wpinv_price(wpinv_format_amount($tax, NULL, !$currency), $this->get_currency());
1431 1431
         }
1432 1432
         
1433
-        return apply_filters( 'wpinv_get_invoice_tax', $tax, $this->ID, $this, $currency );
1433
+        return apply_filters('wpinv_get_invoice_tax', $tax, $this->ID, $this, $currency);
1434 1434
     }
1435 1435
     
1436
-    public function get_fees( $type = 'all' ) {
1437
-        $fees    = array();
1436
+    public function get_fees($type = 'all') {
1437
+        $fees = array();
1438 1438
 
1439
-        if ( ! empty( $this->fees ) && is_array( $this->fees ) ) {
1440
-            foreach ( $this->fees as $fee ) {
1441
-                if( 'all' != $type && ! empty( $fee['type'] ) && $type != $fee['type'] ) {
1439
+        if (!empty($this->fees) && is_array($this->fees)) {
1440
+            foreach ($this->fees as $fee) {
1441
+                if ('all' != $type && !empty($fee['type']) && $type != $fee['type']) {
1442 1442
                     continue;
1443 1443
                 }
1444 1444
 
1445
-                $fee['label'] = stripslashes( $fee['label'] );
1446
-                $fee['amount_display'] = wpinv_price( $fee['amount'], $this->get_currency() );
1447
-                $fees[]    = $fee;
1445
+                $fee['label'] = stripslashes($fee['label']);
1446
+                $fee['amount_display'] = wpinv_price($fee['amount'], $this->get_currency());
1447
+                $fees[] = $fee;
1448 1448
             }
1449 1449
         }
1450 1450
 
1451
-        return apply_filters( 'wpinv_get_invoice_fees', $fees, $this->ID, $this );
1451
+        return apply_filters('wpinv_get_invoice_fees', $fees, $this->ID, $this);
1452 1452
     }
1453 1453
     
1454
-    public function get_fees_total( $type = 'all' ) {
1455
-        $fees_total = (float) 0.00;
1454
+    public function get_fees_total($type = 'all') {
1455
+        $fees_total = (float)0.00;
1456 1456
 
1457
-        $payment_fees = isset( $this->payment_meta['fees'] ) ? $this->payment_meta['fees'] : array();
1458
-        if ( ! empty( $payment_fees ) ) {
1459
-            foreach ( $payment_fees as $fee ) {
1460
-                $fees_total += (float) $fee['amount'];
1457
+        $payment_fees = isset($this->payment_meta['fees']) ? $this->payment_meta['fees'] : array();
1458
+        if (!empty($payment_fees)) {
1459
+            foreach ($payment_fees as $fee) {
1460
+                $fees_total += (float)$fee['amount'];
1461 1461
             }
1462 1462
         }
1463 1463
 
1464
-        return apply_filters( 'wpinv_get_invoice_fees_total', $fees_total, $this->ID, $this );
1464
+        return apply_filters('wpinv_get_invoice_fees_total', $fees_total, $this->ID, $this);
1465 1465
         /*
1466 1466
         $fees = $this->get_fees( $type );
1467 1467
 
@@ -1481,116 +1481,116 @@  discard block
 block discarded – undo
1481 1481
     }
1482 1482
 
1483 1483
     public function get_user_id() {
1484
-        return apply_filters( 'wpinv_user_id', $this->user_id, $this->ID, $this );
1484
+        return apply_filters('wpinv_user_id', $this->user_id, $this->ID, $this);
1485 1485
     }
1486 1486
     
1487 1487
     public function get_first_name() {
1488
-        return apply_filters( 'wpinv_first_name', $this->first_name, $this->ID, $this );
1488
+        return apply_filters('wpinv_first_name', $this->first_name, $this->ID, $this);
1489 1489
     }
1490 1490
     
1491 1491
     public function get_last_name() {
1492
-        return apply_filters( 'wpinv_last_name', $this->last_name, $this->ID, $this );
1492
+        return apply_filters('wpinv_last_name', $this->last_name, $this->ID, $this);
1493 1493
     }
1494 1494
     
1495 1495
     public function get_user_full_name() {
1496
-        return apply_filters( 'wpinv_user_full_name', $this->full_name, $this->ID, $this );
1496
+        return apply_filters('wpinv_user_full_name', $this->full_name, $this->ID, $this);
1497 1497
     }
1498 1498
     
1499 1499
     public function get_user_info() {
1500
-        return apply_filters( 'wpinv_user_info', $this->user_info, $this->ID, $this );
1500
+        return apply_filters('wpinv_user_info', $this->user_info, $this->ID, $this);
1501 1501
     }
1502 1502
     
1503 1503
     public function get_email() {
1504
-        return apply_filters( 'wpinv_user_email', $this->email, $this->ID, $this );
1504
+        return apply_filters('wpinv_user_email', $this->email, $this->ID, $this);
1505 1505
     }
1506 1506
     
1507 1507
     public function get_address() {
1508
-        return apply_filters( 'wpinv_address', $this->address, $this->ID, $this );
1508
+        return apply_filters('wpinv_address', $this->address, $this->ID, $this);
1509 1509
     }
1510 1510
     
1511 1511
     public function get_phone() {
1512
-        return apply_filters( 'wpinv_phone', $this->phone, $this->ID, $this );
1512
+        return apply_filters('wpinv_phone', $this->phone, $this->ID, $this);
1513 1513
     }
1514 1514
     
1515 1515
     public function get_number() {
1516
-        return apply_filters( 'wpinv_number', $this->number, $this->ID, $this );
1516
+        return apply_filters('wpinv_number', $this->number, $this->ID, $this);
1517 1517
     }
1518 1518
     
1519 1519
     public function get_items() {
1520
-        return apply_filters( 'wpinv_payment_meta_items', $this->items, $this->ID, $this );
1520
+        return apply_filters('wpinv_payment_meta_items', $this->items, $this->ID, $this);
1521 1521
     }
1522 1522
     
1523 1523
     public function get_key() {
1524
-        return apply_filters( 'wpinv_key', $this->key, $this->ID, $this );
1524
+        return apply_filters('wpinv_key', $this->key, $this->ID, $this);
1525 1525
     }
1526 1526
     
1527 1527
     public function get_transaction_id() {
1528
-        return apply_filters( 'wpinv_get_invoice_transaction_id', $this->transaction_id, $this->ID, $this );
1528
+        return apply_filters('wpinv_get_invoice_transaction_id', $this->transaction_id, $this->ID, $this);
1529 1529
     }
1530 1530
     
1531 1531
     public function get_gateway() {
1532
-        return apply_filters( 'wpinv_gateway', $this->gateway, $this->ID, $this );
1532
+        return apply_filters('wpinv_gateway', $this->gateway, $this->ID, $this);
1533 1533
     }
1534 1534
     
1535 1535
     public function get_gateway_title() {
1536
-        $this->gateway_title = !empty( $this->gateway_title ) ? $this->gateway_title : wpinv_get_gateway_checkout_label( $this->gateway );
1536
+        $this->gateway_title = !empty($this->gateway_title) ? $this->gateway_title : wpinv_get_gateway_checkout_label($this->gateway);
1537 1537
         
1538
-        return apply_filters( 'wpinv_gateway_title', $this->gateway_title, $this->ID, $this );
1538
+        return apply_filters('wpinv_gateway_title', $this->gateway_title, $this->ID, $this);
1539 1539
     }
1540 1540
     
1541 1541
     public function get_currency() {
1542
-        return apply_filters( 'wpinv_currency_code', $this->currency, $this->ID, $this );
1542
+        return apply_filters('wpinv_currency_code', $this->currency, $this->ID, $this);
1543 1543
     }
1544 1544
     
1545 1545
     public function get_created_date() {
1546
-        return apply_filters( 'wpinv_created_date', $this->date, $this->ID, $this );
1546
+        return apply_filters('wpinv_created_date', $this->date, $this->ID, $this);
1547 1547
     }
1548 1548
     
1549
-    public function get_due_date( $display = false ) {
1550
-        $due_date = apply_filters( 'wpinv_due_date', $this->due_date, $this->ID, $this );
1549
+    public function get_due_date($display = false) {
1550
+        $due_date = apply_filters('wpinv_due_date', $this->due_date, $this->ID, $this);
1551 1551
         
1552
-        if ( !$display || empty( $due_date ) ) {
1552
+        if (!$display || empty($due_date)) {
1553 1553
             return $due_date;
1554 1554
         }
1555 1555
         
1556
-        return date_i18n( get_option( 'date_format' ), strtotime( $due_date ) );
1556
+        return date_i18n(get_option('date_format'), strtotime($due_date));
1557 1557
     }
1558 1558
     
1559 1559
     public function get_completed_date() {
1560
-        return apply_filters( 'wpinv_completed_date', $this->completed_date, $this->ID, $this );
1560
+        return apply_filters('wpinv_completed_date', $this->completed_date, $this->ID, $this);
1561 1561
     }
1562 1562
     
1563
-    public function get_invoice_date( $formatted = true ) {
1563
+    public function get_invoice_date($formatted = true) {
1564 1564
         $date_completed = $this->completed_date;
1565 1565
         $invoice_date   = $date_completed != '' && $date_completed != '0000-00-00 00:00:00' ? $date_completed : '';
1566 1566
         
1567
-        if ( $invoice_date == '' ) {
1567
+        if ($invoice_date == '') {
1568 1568
             $date_created   = $this->date;
1569 1569
             $invoice_date   = $date_created != '' && $date_created != '0000-00-00 00:00:00' ? $date_created : '';
1570 1570
         }
1571 1571
         
1572
-        if ( $formatted && $invoice_date ) {
1573
-            $invoice_date   = date_i18n( get_option( 'date_format' ), strtotime( $invoice_date ) );
1572
+        if ($formatted && $invoice_date) {
1573
+            $invoice_date = date_i18n(get_option('date_format'), strtotime($invoice_date));
1574 1574
         }
1575 1575
 
1576
-        return apply_filters( 'wpinv_get_invoice_date', $invoice_date, $formatted, $this->ID, $this );
1576
+        return apply_filters('wpinv_get_invoice_date', $invoice_date, $formatted, $this->ID, $this);
1577 1577
     }
1578 1578
     
1579 1579
     public function get_ip() {
1580
-        return apply_filters( 'wpinv_user_ip', $this->ip, $this->ID, $this );
1580
+        return apply_filters('wpinv_user_ip', $this->ip, $this->ID, $this);
1581 1581
     }
1582 1582
         
1583
-    public function has_status( $status ) {
1584
-        return apply_filters( 'wpinv_has_status', ( is_array( $status ) && in_array( $this->get_status(), $status ) ) || $this->get_status() === $status ? true : false, $this, $status );
1583
+    public function has_status($status) {
1584
+        return apply_filters('wpinv_has_status', (is_array($status) && in_array($this->get_status(), $status)) || $this->get_status() === $status ? true : false, $this, $status);
1585 1585
     }
1586 1586
     
1587
-    public function add_item( $item_id = 0, $args = array() ) {
1587
+    public function add_item($item_id = 0, $args = array()) {
1588 1588
         global $wpi_current_id, $wpi_item_id;
1589 1589
         
1590
-        $item = new WPInv_Item( $item_id );
1590
+        $item = new WPInv_Item($item_id);
1591 1591
 
1592 1592
         // Bail if this post isn't a item
1593
-        if( !$item || $item->post_type !== 'wpi_item' ) {
1593
+        if (!$item || $item->post_type !== 'wpi_item') {
1594 1594
             return false;
1595 1595
         }
1596 1596
         
@@ -1609,8 +1609,8 @@  discard block
 block discarded – undo
1609 1609
             'fees'          => array()
1610 1610
         );
1611 1611
 
1612
-        $args = wp_parse_args( apply_filters( 'wpinv_add_item_args', $args, $item->ID ), $defaults );
1613
-        $args['quantity']   = $has_quantities && $args['quantity'] > 0 ? absint( $args['quantity'] ) : 1;
1612
+        $args = wp_parse_args(apply_filters('wpinv_add_item_args', $args, $item->ID), $defaults);
1613
+        $args['quantity'] = $has_quantities && $args['quantity'] > 0 ? absint($args['quantity']) : 1;
1614 1614
 
1615 1615
         $wpi_current_id         = $this->ID;
1616 1616
         $wpi_item_id            = $item->ID;
@@ -1622,19 +1622,19 @@  discard block
 block discarded – undo
1622 1622
         $found_cart_key         = false;
1623 1623
         
1624 1624
         if ($has_quantities) {
1625
-            $this->cart_details = !empty( $this->cart_details ) ? array_values( $this->cart_details ) : $this->cart_details;
1625
+            $this->cart_details = !empty($this->cart_details) ? array_values($this->cart_details) : $this->cart_details;
1626 1626
             
1627
-            foreach ( $this->items as $key => $cart_item ) {
1628
-                if ( (int)$item_id !== (int)$cart_item['id'] ) {
1627
+            foreach ($this->items as $key => $cart_item) {
1628
+                if ((int)$item_id !== (int)$cart_item['id']) {
1629 1629
                     continue;
1630 1630
                 }
1631 1631
 
1632
-                $this->items[ $key ]['quantity'] += $args['quantity'];
1632
+                $this->items[$key]['quantity'] += $args['quantity'];
1633 1633
                 break;
1634 1634
             }
1635 1635
             
1636
-            foreach ( $this->cart_details as $cart_key => $cart_item ) {
1637
-                if ( $item_id != $cart_item['id'] ) {
1636
+            foreach ($this->cart_details as $cart_key => $cart_item) {
1637
+                if ($item_id != $cart_item['id']) {
1638 1638
                     continue;
1639 1639
                 }
1640 1640
 
@@ -1646,29 +1646,29 @@  discard block
 block discarded – undo
1646 1646
         if ($has_quantities && $found_cart_key !== false) {
1647 1647
             $cart_item          = $this->cart_details[$found_cart_key];
1648 1648
             $item_price         = $cart_item['item_price'];
1649
-            $quantity           = !empty( $cart_item['quantity'] ) ? $cart_item['quantity'] : 1;
1650
-            $tax_rate           = !empty( $cart_item['vat_rate'] ) ? $cart_item['vat_rate'] : 0;
1649
+            $quantity           = !empty($cart_item['quantity']) ? $cart_item['quantity'] : 1;
1650
+            $tax_rate           = !empty($cart_item['vat_rate']) ? $cart_item['vat_rate'] : 0;
1651 1651
             
1652 1652
             $new_quantity       = $quantity + $args['quantity'];
1653 1653
             $subtotal           = $item_price * $new_quantity;
1654 1654
             
1655 1655
             $args['quantity']   = $new_quantity;
1656
-            $discount           = !empty( $args['discount'] ) ? $args['discount'] : 0;
1657
-            $tax                = $subtotal > 0 && $tax_rate > 0 ? ( ( $subtotal - $discount ) * 0.01 * (float)$tax_rate ) : 0;
1656
+            $discount           = !empty($args['discount']) ? $args['discount'] : 0;
1657
+            $tax                = $subtotal > 0 && $tax_rate > 0 ? (($subtotal - $discount) * 0.01 * (float)$tax_rate) : 0;
1658 1658
             
1659 1659
             $discount_increased = $discount > 0 && $subtotal > 0 && $discount > (float)$cart_item['discount'] ? $discount - (float)$cart_item['discount'] : 0;
1660 1660
             $tax_increased      = $tax > 0 && $subtotal > 0 && $tax > (float)$cart_item['tax'] ? $tax - (float)$cart_item['tax'] : 0;
1661 1661
             // The total increase equals the number removed * the item_price
1662
-            $total_increased    = wpinv_round_amount( $item_price );
1662
+            $total_increased    = wpinv_round_amount($item_price);
1663 1663
             
1664
-            if ( wpinv_prices_include_tax() ) {
1665
-                $subtotal -= wpinv_round_amount( $tax );
1664
+            if (wpinv_prices_include_tax()) {
1665
+                $subtotal -= wpinv_round_amount($tax);
1666 1666
             }
1667 1667
 
1668
-            $total              = $subtotal - $discount + $tax;
1668
+            $total = $subtotal - $discount + $tax;
1669 1669
 
1670 1670
             // Do not allow totals to go negative
1671
-            if( $total < 0 ) {
1671
+            if ($total < 0) {
1672 1672
                 $total = 0;
1673 1673
             }
1674 1674
             
@@ -1684,25 +1684,25 @@  discard block
 block discarded – undo
1684 1684
             $this->cart_details[$found_cart_key] = $cart_item;
1685 1685
         } else {
1686 1686
             // Set custom price.
1687
-            if ( $args['custom_price'] !== '' ) {
1687
+            if ($args['custom_price'] !== '') {
1688 1688
                 $item_price = $args['custom_price'];
1689 1689
             } else {
1690 1690
                 // Allow overriding the price
1691
-                if ( false !== $args['item_price'] ) {
1691
+                if (false !== $args['item_price']) {
1692 1692
                     $item_price = $args['item_price'];
1693 1693
                 } else {
1694
-                    $item_price = wpinv_get_item_price( $item->ID );
1694
+                    $item_price = wpinv_get_item_price($item->ID);
1695 1695
                 }
1696 1696
             }
1697 1697
 
1698 1698
             // Sanitizing the price here so we don't have a dozen calls later
1699
-            $item_price = wpinv_sanitize_amount( $item_price );
1700
-            $subtotal   = wpinv_round_amount( $item_price * $args['quantity'] );
1699
+            $item_price = wpinv_sanitize_amount($item_price);
1700
+            $subtotal   = wpinv_round_amount($item_price * $args['quantity']);
1701 1701
         
1702
-            $discount   = !empty( $args['discount'] ) ? $args['discount'] : 0;
1703
-            $tax_class  = !empty( $args['vat_class'] ) ? $args['vat_class'] : '';
1704
-            $tax_rate   = !empty( $args['vat_rate'] ) ? $args['vat_rate'] : 0;
1705
-            $tax        = $subtotal > 0 && $tax_rate > 0 ? ( ( $subtotal - $discount ) * 0.01 * (float)$tax_rate ) : 0;
1702
+            $discount   = !empty($args['discount']) ? $args['discount'] : 0;
1703
+            $tax_class  = !empty($args['vat_class']) ? $args['vat_class'] : '';
1704
+            $tax_rate   = !empty($args['vat_rate']) ? $args['vat_rate'] : 0;
1705
+            $tax        = $subtotal > 0 && $tax_rate > 0 ? (($subtotal - $discount) * 0.01 * (float)$tax_rate) : 0;
1706 1706
 
1707 1707
             // Setup the items meta item
1708 1708
             $new_item = array(
@@ -1710,29 +1710,29 @@  discard block
 block discarded – undo
1710 1710
                 'quantity' => $args['quantity'],
1711 1711
             );
1712 1712
 
1713
-            $this->items[]  = $new_item;
1713
+            $this->items[] = $new_item;
1714 1714
 
1715
-            if ( wpinv_prices_include_tax() ) {
1716
-                $subtotal -= wpinv_round_amount( $tax );
1715
+            if (wpinv_prices_include_tax()) {
1716
+                $subtotal -= wpinv_round_amount($tax);
1717 1717
             }
1718 1718
 
1719
-            $total      = $subtotal - $discount + $tax;
1719
+            $total = $subtotal - $discount + $tax;
1720 1720
 
1721 1721
             // Do not allow totals to go negative
1722
-            if( $total < 0 ) {
1722
+            if ($total < 0) {
1723 1723
                 $total = 0;
1724 1724
             }
1725 1725
         
1726 1726
             $this->cart_details[] = array(
1727 1727
                 'name'          => !empty($args['name']) ? $args['name'] : $item->get_name(),
1728 1728
                 'id'            => $item->ID,
1729
-                'item_price'    => wpinv_round_amount( $item_price ),
1730
-                'custom_price'  => ( $args['custom_price'] !== '' ? wpinv_round_amount( $args['custom_price'] ) : '' ),
1729
+                'item_price'    => wpinv_round_amount($item_price),
1730
+                'custom_price'  => ($args['custom_price'] !== '' ? wpinv_round_amount($args['custom_price']) : ''),
1731 1731
                 'quantity'      => $args['quantity'],
1732 1732
                 'discount'      => $discount,
1733
-                'subtotal'      => wpinv_round_amount( $subtotal ),
1734
-                'tax'           => wpinv_round_amount( $tax ),
1735
-                'price'         => wpinv_round_amount( $total ),
1733
+                'subtotal'      => wpinv_round_amount($subtotal),
1734
+                'tax'           => wpinv_round_amount($tax),
1735
+                'price'         => wpinv_round_amount($total),
1736 1736
                 'vat_rate'      => $tax_rate,
1737 1737
                 'vat_class'     => $tax_class,
1738 1738
                 'meta'          => $args['meta'],
@@ -1742,18 +1742,18 @@  discard block
 block discarded – undo
1742 1742
             $subtotal = $subtotal - $discount;
1743 1743
         }
1744 1744
         
1745
-        $added_item = end( $this->cart_details );
1746
-        $added_item['action']  = 'add';
1745
+        $added_item = end($this->cart_details);
1746
+        $added_item['action'] = 'add';
1747 1747
         
1748 1748
         $this->pending['items'][] = $added_item;
1749 1749
         
1750
-        $this->increase_subtotal( $subtotal );
1751
-        $this->increase_tax( $tax );
1750
+        $this->increase_subtotal($subtotal);
1751
+        $this->increase_tax($tax);
1752 1752
 
1753 1753
         return true;
1754 1754
     }
1755 1755
     
1756
-    public function remove_item( $item_id, $args = array() ) {
1756
+    public function remove_item($item_id, $args = array()) {
1757 1757
         // Set some defaults
1758 1758
         $defaults = array(
1759 1759
             'quantity'      => 1,
@@ -1761,51 +1761,51 @@  discard block
 block discarded – undo
1761 1761
             'custom_price'  => '',
1762 1762
             'cart_index'    => false,
1763 1763
         );
1764
-        $args = wp_parse_args( $args, $defaults );
1764
+        $args = wp_parse_args($args, $defaults);
1765 1765
 
1766 1766
         // Bail if this post isn't a item
1767
-        if ( get_post_type( $item_id ) !== 'wpi_item' ) {
1767
+        if (get_post_type($item_id) !== 'wpi_item') {
1768 1768
             return false;
1769 1769
         }
1770 1770
         
1771
-        $this->cart_details = !empty( $this->cart_details ) ? array_values( $this->cart_details ) : $this->cart_details;
1771
+        $this->cart_details = !empty($this->cart_details) ? array_values($this->cart_details) : $this->cart_details;
1772 1772
 
1773
-        foreach ( $this->items as $key => $item ) {
1774
-            if ( !empty($item['id']) && (int)$item_id !== (int)$item['id'] ) {
1773
+        foreach ($this->items as $key => $item) {
1774
+            if (!empty($item['id']) && (int)$item_id !== (int)$item['id']) {
1775 1775
                 continue;
1776 1776
             }
1777 1777
 
1778
-            if ( false !== $args['cart_index'] ) {
1779
-                $cart_index = absint( $args['cart_index'] );
1780
-                $cart_item  = ! empty( $this->cart_details[ $cart_index ] ) ? $this->cart_details[ $cart_index ] : false;
1778
+            if (false !== $args['cart_index']) {
1779
+                $cart_index = absint($args['cart_index']);
1780
+                $cart_item  = !empty($this->cart_details[$cart_index]) ? $this->cart_details[$cart_index] : false;
1781 1781
 
1782
-                if ( ! empty( $cart_item ) ) {
1782
+                if (!empty($cart_item)) {
1783 1783
                     // If the cart index item isn't the same item ID, don't remove it
1784
-                    if ( !empty($cart_item['id']) && $cart_item['id'] != $item['id'] ) {
1784
+                    if (!empty($cart_item['id']) && $cart_item['id'] != $item['id']) {
1785 1785
                         continue;
1786 1786
                     }
1787 1787
                 }
1788 1788
             }
1789 1789
 
1790
-            $item_quantity = $this->items[ $key ]['quantity'];
1791
-            if ( $item_quantity > $args['quantity'] ) {
1792
-                $this->items[ $key ]['quantity'] -= $args['quantity'];
1790
+            $item_quantity = $this->items[$key]['quantity'];
1791
+            if ($item_quantity > $args['quantity']) {
1792
+                $this->items[$key]['quantity'] -= $args['quantity'];
1793 1793
                 break;
1794 1794
             } else {
1795
-                unset( $this->items[ $key ] );
1795
+                unset($this->items[$key]);
1796 1796
                 break;
1797 1797
             }
1798 1798
         }
1799 1799
 
1800 1800
         $found_cart_key = false;
1801
-        if ( false === $args['cart_index'] ) {
1802
-            foreach ( $this->cart_details as $cart_key => $item ) {
1803
-                if ( $item_id != $item['id'] ) {
1801
+        if (false === $args['cart_index']) {
1802
+            foreach ($this->cart_details as $cart_key => $item) {
1803
+                if ($item_id != $item['id']) {
1804 1804
                     continue;
1805 1805
                 }
1806 1806
 
1807
-                if ( false !== $args['item_price'] ) {
1808
-                    if ( isset( $item['item_price'] ) && (float) $args['item_price'] != (float) $item['item_price'] ) {
1807
+                if (false !== $args['item_price']) {
1808
+                    if (isset($item['item_price']) && (float)$args['item_price'] != (float)$item['item_price']) {
1809 1809
                         continue;
1810 1810
                     }
1811 1811
                 }
@@ -1814,13 +1814,13 @@  discard block
 block discarded – undo
1814 1814
                 break;
1815 1815
             }
1816 1816
         } else {
1817
-            $cart_index = absint( $args['cart_index'] );
1817
+            $cart_index = absint($args['cart_index']);
1818 1818
 
1819
-            if ( ! array_key_exists( $cart_index, $this->cart_details ) ) {
1819
+            if (!array_key_exists($cart_index, $this->cart_details)) {
1820 1820
                 return false; // Invalid cart index passed.
1821 1821
             }
1822 1822
 
1823
-            if ( (int) $this->cart_details[ $cart_index ]['id'] > 0 && (int) $this->cart_details[ $cart_index ]['id'] !== (int) $item_id ) {
1823
+            if ((int)$this->cart_details[$cart_index]['id'] > 0 && (int)$this->cart_details[$cart_index]['id'] !== (int)$item_id) {
1824 1824
                 return false; // We still need the proper Item ID to be sure.
1825 1825
             }
1826 1826
 
@@ -1828,41 +1828,41 @@  discard block
 block discarded – undo
1828 1828
         }
1829 1829
         
1830 1830
         $cart_item  = $this->cart_details[$found_cart_key];
1831
-        $quantity   = !empty( $cart_item['quantity'] ) ? $cart_item['quantity'] : 1;
1831
+        $quantity   = !empty($cart_item['quantity']) ? $cart_item['quantity'] : 1;
1832 1832
         
1833
-        if ( count( $this->cart_details ) == 1 && ( $quantity - $args['quantity'] ) < 1 ) {
1833
+        if (count($this->cart_details) == 1 && ($quantity - $args['quantity']) < 1) {
1834 1834
             return false; // Invoice must contain at least one item.
1835 1835
         }
1836 1836
         
1837
-        $discounts  = $this->get_discounts();
1837
+        $discounts = $this->get_discounts();
1838 1838
         
1839
-        if ( $quantity > $args['quantity'] ) {
1839
+        if ($quantity > $args['quantity']) {
1840 1840
             $item_price         = $cart_item['item_price'];
1841
-            $tax_rate           = !empty( $cart_item['vat_rate'] ) ? $cart_item['vat_rate'] : 0;
1841
+            $tax_rate           = !empty($cart_item['vat_rate']) ? $cart_item['vat_rate'] : 0;
1842 1842
             
1843
-            $new_quantity       = max( $quantity - $args['quantity'], 1);
1843
+            $new_quantity       = max($quantity - $args['quantity'], 1);
1844 1844
             $subtotal           = $item_price * $new_quantity;
1845 1845
             
1846 1846
             $args['quantity']   = $new_quantity;
1847
-            $discount           = !empty( $cart_item['discount'] ) ? $cart_item['discount'] : 0;
1848
-            $tax                = $subtotal > 0 && $tax_rate > 0 ? ( ( $subtotal - $discount ) * 0.01 * (float)$tax_rate ) : 0;
1847
+            $discount           = !empty($cart_item['discount']) ? $cart_item['discount'] : 0;
1848
+            $tax                = $subtotal > 0 && $tax_rate > 0 ? (($subtotal - $discount) * 0.01 * (float)$tax_rate) : 0;
1849 1849
             
1850
-            $discount_decrease  = (float)$cart_item['discount'] > 0 && $quantity > 0 ? wpinv_round_amount( ( (float)$cart_item['discount'] / $quantity ) ) : 0;
1850
+            $discount_decrease  = (float)$cart_item['discount'] > 0 && $quantity > 0 ? wpinv_round_amount(((float)$cart_item['discount'] / $quantity)) : 0;
1851 1851
             $discount_decrease  = $discount > 0 && $subtotal > 0 && (float)$cart_item['discount'] > $discount ? (float)$cart_item['discount'] - $discount : $discount_decrease; 
1852
-            $tax_decrease       = (float)$cart_item['tax'] > 0 && $quantity > 0 ? wpinv_round_amount( ( (float)$cart_item['tax'] / $quantity ) ) : 0;
1852
+            $tax_decrease       = (float)$cart_item['tax'] > 0 && $quantity > 0 ? wpinv_round_amount(((float)$cart_item['tax'] / $quantity)) : 0;
1853 1853
             $tax_decrease       = $tax > 0 && $subtotal > 0 && (float)$cart_item['tax'] > $tax ? (float)$cart_item['tax'] - $tax : $tax_decrease;
1854 1854
             
1855 1855
             // The total increase equals the number removed * the item_price
1856
-            $total_decrease     = wpinv_round_amount( $item_price );
1856
+            $total_decrease     = wpinv_round_amount($item_price);
1857 1857
             
1858
-            if ( wpinv_prices_include_tax() ) {
1859
-                $subtotal -= wpinv_round_amount( $tax );
1858
+            if (wpinv_prices_include_tax()) {
1859
+                $subtotal -= wpinv_round_amount($tax);
1860 1860
             }
1861 1861
 
1862
-            $total              = $subtotal - $discount + $tax;
1862
+            $total = $subtotal - $discount + $tax;
1863 1863
 
1864 1864
             // Do not allow totals to go negative
1865
-            if( $total < 0 ) {
1865
+            if ($total < 0) {
1866 1866
                 $total = 0;
1867 1867
             }
1868 1868
             
@@ -1881,16 +1881,16 @@  discard block
 block discarded – undo
1881 1881
             
1882 1882
             $this->cart_details[$found_cart_key] = $cart_item;
1883 1883
             
1884
-            $remove_item = end( $this->cart_details );
1884
+            $remove_item = end($this->cart_details);
1885 1885
         } else {
1886 1886
             $item_price     = $cart_item['item_price'];
1887
-            $discount       = !empty( $cart_item['discount'] ) ? $cart_item['discount'] : 0;
1888
-            $tax            = !empty( $cart_item['tax'] ) ? $cart_item['tax'] : 0;
1887
+            $discount       = !empty($cart_item['discount']) ? $cart_item['discount'] : 0;
1888
+            $tax            = !empty($cart_item['tax']) ? $cart_item['tax'] : 0;
1889 1889
         
1890
-            $subtotal_decrease  = ( $item_price * $quantity ) - $discount;
1890
+            $subtotal_decrease  = ($item_price * $quantity) - $discount;
1891 1891
             $tax_decrease       = $tax;
1892 1892
 
1893
-            unset( $this->cart_details[$found_cart_key] );
1893
+            unset($this->cart_details[$found_cart_key]);
1894 1894
             
1895 1895
             $remove_item             = $args;
1896 1896
             $remove_item['id']       = $item_id;
@@ -1901,8 +1901,8 @@  discard block
 block discarded – undo
1901 1901
         $remove_item['action']      = 'remove';
1902 1902
         $this->pending['items'][]   = $remove_item;
1903 1903
                
1904
-        $this->decrease_subtotal( $subtotal_decrease );
1905
-        $this->decrease_tax( $tax_decrease );
1904
+        $this->decrease_subtotal($subtotal_decrease);
1905
+        $this->decrease_tax($tax_decrease);
1906 1906
         
1907 1907
         return true;
1908 1908
     }
@@ -1910,7 +1910,7 @@  discard block
 block discarded – undo
1910 1910
     public function update_items($temp = false) {
1911 1911
         global $wpinv_euvat, $wpi_current_id, $wpi_item_id, $wpi_nosave;
1912 1912
         
1913
-        if ( !empty( $this->cart_details ) ) {
1913
+        if (!empty($this->cart_details)) {
1914 1914
             $wpi_nosave             = $temp;
1915 1915
             $cart_subtotal          = 0;
1916 1916
             $cart_discount          = 0;
@@ -1920,42 +1920,42 @@  discard block
 block discarded – undo
1920 1920
             $_POST['wpinv_country'] = $this->country;
1921 1921
             $_POST['wpinv_state']   = $this->state;
1922 1922
             
1923
-            foreach ( $this->cart_details as $key => $item ) {
1923
+            foreach ($this->cart_details as $key => $item) {
1924 1924
                 $item_price = $item['item_price'];
1925
-                $quantity   = wpinv_item_quantities_enabled() && $item['quantity'] > 0 ? absint( $item['quantity'] ) : 1;
1926
-                $amount     = wpinv_round_amount( $item_price * $quantity );
1925
+                $quantity   = wpinv_item_quantities_enabled() && $item['quantity'] > 0 ? absint($item['quantity']) : 1;
1926
+                $amount     = wpinv_round_amount($item_price * $quantity);
1927 1927
                 $subtotal   = $item_price * $quantity;
1928 1928
                 
1929 1929
                 $wpi_current_id         = $this->ID;
1930 1930
                 $wpi_item_id            = $item['id'];
1931 1931
                 
1932
-                $discount   = wpinv_get_cart_item_discount_amount( $item, $this->get_discounts() );
1932
+                $discount   = wpinv_get_cart_item_discount_amount($item, $this->get_discounts());
1933 1933
                 
1934
-                $tax_rate   = wpinv_get_tax_rate( $this->country, $this->state, $wpi_item_id );
1935
-                $tax_class  = $wpinv_euvat->get_item_class( $wpi_item_id );
1936
-                $tax        = $item_price > 0 ? ( ( $subtotal - $discount ) * 0.01 * (float)$tax_rate ) : 0;
1934
+                $tax_rate   = wpinv_get_tax_rate($this->country, $this->state, $wpi_item_id);
1935
+                $tax_class  = $wpinv_euvat->get_item_class($wpi_item_id);
1936
+                $tax        = $item_price > 0 ? (($subtotal - $discount) * 0.01 * (float)$tax_rate) : 0;
1937 1937
 
1938
-                if ( wpinv_prices_include_tax() ) {
1939
-                    $subtotal -= wpinv_round_amount( $tax );
1938
+                if (wpinv_prices_include_tax()) {
1939
+                    $subtotal -= wpinv_round_amount($tax);
1940 1940
                 }
1941 1941
 
1942
-                $total      = $subtotal - $discount + $tax;
1942
+                $total = $subtotal - $discount + $tax;
1943 1943
 
1944 1944
                 // Do not allow totals to go negative
1945
-                if( $total < 0 ) {
1945
+                if ($total < 0) {
1946 1946
                     $total = 0;
1947 1947
                 }
1948 1948
 
1949 1949
                 $cart_details[] = array(
1950 1950
                     'id'          => $item['id'],
1951 1951
                     'name'        => $item['name'],
1952
-                    'item_price'  => wpinv_round_amount( $item_price ),
1953
-                    'custom_price'=> ( isset( $item['custom_price'] ) ? $item['custom_price'] : '' ),
1952
+                    'item_price'  => wpinv_round_amount($item_price),
1953
+                    'custom_price'=> (isset($item['custom_price']) ? $item['custom_price'] : ''),
1954 1954
                     'quantity'    => $quantity,
1955 1955
                     'discount'    => $discount,
1956
-                    'subtotal'    => wpinv_round_amount( $subtotal ),
1957
-                    'tax'         => wpinv_round_amount( $tax ),
1958
-                    'price'       => wpinv_round_amount( $total ),
1956
+                    'subtotal'    => wpinv_round_amount($subtotal),
1957
+                    'tax'         => wpinv_round_amount($tax),
1958
+                    'price'       => wpinv_round_amount($total),
1959 1959
                     'vat_rate'    => $tax_rate,
1960 1960
                     'vat_class'   => $tax_class,
1961 1961
                     'meta'        => isset($item['meta']) ? $item['meta'] : array(),
@@ -1966,15 +1966,15 @@  discard block
 block discarded – undo
1966 1966
                 $cart_discount  += (float)($discount);
1967 1967
                 $cart_tax       += (float)($tax);
1968 1968
             }
1969
-            if ( $cart_subtotal < 0 ) {
1969
+            if ($cart_subtotal < 0) {
1970 1970
                 $cart_subtotal = 0;
1971 1971
             }
1972
-            if ( $cart_tax < 0 ) {
1972
+            if ($cart_tax < 0) {
1973 1973
                 $cart_tax = 0;
1974 1974
             }
1975
-            $this->subtotal = wpinv_round_amount( $cart_subtotal );
1976
-            $this->tax      = wpinv_round_amount( $cart_tax );
1977
-            $this->discount = wpinv_round_amount( $cart_discount );
1975
+            $this->subtotal = wpinv_round_amount($cart_subtotal);
1976
+            $this->tax      = wpinv_round_amount($cart_tax);
1977
+            $this->discount = wpinv_round_amount($cart_discount);
1978 1978
             
1979 1979
             $this->recalculate_total();
1980 1980
             
@@ -1986,197 +1986,197 @@  discard block
 block discarded – undo
1986 1986
     
1987 1987
     public function recalculate_totals($temp = false) {        
1988 1988
         $this->update_items($temp);
1989
-        $this->save( true );
1989
+        $this->save(true);
1990 1990
         
1991 1991
         return $this;
1992 1992
     }
1993 1993
     
1994 1994
     public function needs_payment() {
1995
-        $valid_invoice_statuses = apply_filters( 'wpinv_valid_invoice_statuses_for_payment', array( 'wpi-pending' ), $this );
1995
+        $valid_invoice_statuses = apply_filters('wpinv_valid_invoice_statuses_for_payment', array('wpi-pending'), $this);
1996 1996
 
1997
-        if ( $this->has_status( $valid_invoice_statuses ) && ( $this->get_total() > 0 || $this->is_free_trial() || $this->is_free() || $this->is_initial_free() ) ) {
1997
+        if ($this->has_status($valid_invoice_statuses) && ($this->get_total() > 0 || $this->is_free_trial() || $this->is_free() || $this->is_initial_free())) {
1998 1998
             $needs_payment = true;
1999 1999
         } else {
2000 2000
             $needs_payment = false;
2001 2001
         }
2002 2002
 
2003
-        return apply_filters( 'wpinv_needs_payment', $needs_payment, $this, $valid_invoice_statuses );
2003
+        return apply_filters('wpinv_needs_payment', $needs_payment, $this, $valid_invoice_statuses);
2004 2004
     }
2005 2005
     
2006
-    public function get_checkout_payment_url( $with_key = false, $secret = false ) {
2006
+    public function get_checkout_payment_url($with_key = false, $secret = false) {
2007 2007
         $pay_url = wpinv_get_checkout_uri();
2008 2008
 
2009
-        if ( is_ssl() ) {
2010
-            $pay_url = str_replace( 'http:', 'https:', $pay_url );
2009
+        if (is_ssl()) {
2010
+            $pay_url = str_replace('http:', 'https:', $pay_url);
2011 2011
         }
2012 2012
         
2013 2013
         $key = $this->get_key();
2014 2014
 
2015
-        if ( $with_key ) {
2016
-            $pay_url = add_query_arg( 'invoice_key', $key, $pay_url );
2015
+        if ($with_key) {
2016
+            $pay_url = add_query_arg('invoice_key', $key, $pay_url);
2017 2017
         } else {
2018
-            $pay_url = add_query_arg( array( 'wpi_action' => 'pay_for_invoice', 'invoice_key' => $key ), $pay_url );
2018
+            $pay_url = add_query_arg(array('wpi_action' => 'pay_for_invoice', 'invoice_key' => $key), $pay_url);
2019 2019
         }
2020 2020
         
2021
-        if ( $secret ) {
2022
-            $pay_url = add_query_arg( array( '_wpipay' => md5( $this->get_user_id() . '::' . $this->get_email() . '::' . $key ) ), $pay_url );
2021
+        if ($secret) {
2022
+            $pay_url = add_query_arg(array('_wpipay' => md5($this->get_user_id() . '::' . $this->get_email() . '::' . $key)), $pay_url);
2023 2023
         }
2024 2024
 
2025
-        return apply_filters( 'wpinv_get_checkout_payment_url', $pay_url, $this, $with_key, $secret );
2025
+        return apply_filters('wpinv_get_checkout_payment_url', $pay_url, $this, $with_key, $secret);
2026 2026
     }
2027 2027
     
2028
-    public function get_view_url( $with_key = false ) {
2029
-        $invoice_url = get_permalink( $this->ID );
2028
+    public function get_view_url($with_key = false) {
2029
+        $invoice_url = get_permalink($this->ID);
2030 2030
 
2031
-        if ( $with_key ) {
2032
-            $invoice_url = add_query_arg( 'invoice_key', $this->get_key(), $invoice_url );
2031
+        if ($with_key) {
2032
+            $invoice_url = add_query_arg('invoice_key', $this->get_key(), $invoice_url);
2033 2033
         }
2034 2034
 
2035
-        return apply_filters( 'wpinv_get_view_url', $invoice_url, $this, $with_key );
2035
+        return apply_filters('wpinv_get_view_url', $invoice_url, $this, $with_key);
2036 2036
     }
2037 2037
     
2038
-    public function generate_key( $string = '' ) {
2039
-        $auth_key  = defined( 'AUTH_KEY' ) ? AUTH_KEY : '';
2040
-        return strtolower( md5( $string . date( 'Y-m-d H:i:s' ) . $auth_key . uniqid( 'wpinv', true ) ) );  // Unique key
2038
+    public function generate_key($string = '') {
2039
+        $auth_key = defined('AUTH_KEY') ? AUTH_KEY : '';
2040
+        return strtolower(md5($string . date('Y-m-d H:i:s') . $auth_key . uniqid('wpinv', true))); // Unique key
2041 2041
     }
2042 2042
     
2043 2043
     public function is_recurring() {
2044
-        if ( empty( $this->cart_details ) ) {
2044
+        if (empty($this->cart_details)) {
2045 2045
             return false;
2046 2046
         }
2047 2047
         
2048 2048
         $has_subscription = false;
2049
-        foreach( $this->cart_details as $cart_item ) {
2050
-            if ( !empty( $cart_item['id'] ) && wpinv_is_recurring_item( $cart_item['id'] )  ) {
2049
+        foreach ($this->cart_details as $cart_item) {
2050
+            if (!empty($cart_item['id']) && wpinv_is_recurring_item($cart_item['id'])) {
2051 2051
                 $has_subscription = true;
2052 2052
                 break;
2053 2053
             }
2054 2054
         }
2055 2055
         
2056
-        if ( count( $this->cart_details ) > 1 ) {
2056
+        if (count($this->cart_details) > 1) {
2057 2057
             $has_subscription = false;
2058 2058
         }
2059 2059
 
2060
-        return apply_filters( 'wpinv_invoice_has_recurring_item', $has_subscription, $this->cart_details );
2060
+        return apply_filters('wpinv_invoice_has_recurring_item', $has_subscription, $this->cart_details);
2061 2061
     }
2062 2062
     
2063 2063
     public function is_free_trial() {
2064 2064
         $is_free_trial = false;
2065 2065
         
2066
-        if ( $this->is_parent() && $item = $this->get_recurring( true ) ) {
2067
-            if ( !empty( $item ) && $item->has_free_trial() ) {
2066
+        if ($this->is_parent() && $item = $this->get_recurring(true)) {
2067
+            if (!empty($item) && $item->has_free_trial()) {
2068 2068
                 $is_free_trial = true;
2069 2069
             }
2070 2070
         }
2071 2071
 
2072
-        return apply_filters( 'wpinv_invoice_is_free_trial', $is_free_trial, $this->cart_details );
2072
+        return apply_filters('wpinv_invoice_is_free_trial', $is_free_trial, $this->cart_details);
2073 2073
     }
2074 2074
     
2075 2075
     public function is_initial_free() {
2076 2076
         $is_initial_free = false;
2077 2077
         
2078
-        if ( ! ( (float)wpinv_round_amount( $this->get_total() ) > 0 ) && $this->is_parent() && $this->is_recurring() && ! $this->is_free_trial() && ! $this->is_free() ) {
2078
+        if (!((float)wpinv_round_amount($this->get_total()) > 0) && $this->is_parent() && $this->is_recurring() && !$this->is_free_trial() && !$this->is_free()) {
2079 2079
             $is_initial_free = true;
2080 2080
         }
2081 2081
 
2082
-        return apply_filters( 'wpinv_invoice_is_initial_free', $is_initial_free, $this->cart_details );
2082
+        return apply_filters('wpinv_invoice_is_initial_free', $is_initial_free, $this->cart_details);
2083 2083
     }
2084 2084
     
2085
-    public function get_recurring( $object = false ) {
2085
+    public function get_recurring($object = false) {
2086 2086
         $item = NULL;
2087 2087
         
2088
-        if ( empty( $this->cart_details ) ) {
2088
+        if (empty($this->cart_details)) {
2089 2089
             return $item;
2090 2090
         }
2091 2091
         
2092
-        foreach( $this->cart_details as $cart_item ) {
2093
-            if ( !empty( $cart_item['id'] ) && wpinv_is_recurring_item( $cart_item['id'] )  ) {
2092
+        foreach ($this->cart_details as $cart_item) {
2093
+            if (!empty($cart_item['id']) && wpinv_is_recurring_item($cart_item['id'])) {
2094 2094
                 $item = $cart_item['id'];
2095 2095
                 break;
2096 2096
             }
2097 2097
         }
2098 2098
         
2099
-        if ( $object ) {
2100
-            $item = $item ? new WPInv_Item( $item ) : NULL;
2099
+        if ($object) {
2100
+            $item = $item ? new WPInv_Item($item) : NULL;
2101 2101
             
2102
-            apply_filters( 'wpinv_invoice_get_recurring_item', $item, $this );
2102
+            apply_filters('wpinv_invoice_get_recurring_item', $item, $this);
2103 2103
         }
2104 2104
 
2105
-        return apply_filters( 'wpinv_invoice_get_recurring_item_id', $item, $this );
2105
+        return apply_filters('wpinv_invoice_get_recurring_item_id', $item, $this);
2106 2106
     }
2107 2107
     
2108 2108
     public function get_subscription_name() {
2109
-        $item = $this->get_recurring( true );
2109
+        $item = $this->get_recurring(true);
2110 2110
         
2111
-        if ( empty( $item ) ) {
2111
+        if (empty($item)) {
2112 2112
             return NULL;
2113 2113
         }
2114 2114
         
2115
-        if ( !($name = $item->get_name()) ) {
2115
+        if (!($name = $item->get_name())) {
2116 2116
             $name = $item->post_name;
2117 2117
         }
2118 2118
 
2119
-        return apply_filters( 'wpinv_invoice_get_subscription_name', $name, $this );
2119
+        return apply_filters('wpinv_invoice_get_subscription_name', $name, $this);
2120 2120
     }
2121 2121
     
2122 2122
     public function get_subscription_id() {
2123
-        $subscription_id = $this->get_meta( '_wpinv_subscr_profile_id', true );
2123
+        $subscription_id = $this->get_meta('_wpinv_subscr_profile_id', true);
2124 2124
         
2125
-        if ( empty( $subscription_id ) && !empty( $this->parent_invoice ) ) {
2126
-            $parent_invoice = wpinv_get_invoice( $this->parent_invoice );
2125
+        if (empty($subscription_id) && !empty($this->parent_invoice)) {
2126
+            $parent_invoice = wpinv_get_invoice($this->parent_invoice);
2127 2127
             
2128
-            $subscription_id = $parent_invoice->get_meta( '_wpinv_subscr_profile_id', true );
2128
+            $subscription_id = $parent_invoice->get_meta('_wpinv_subscr_profile_id', true);
2129 2129
         }
2130 2130
         
2131 2131
         return $subscription_id;
2132 2132
     }
2133 2133
     
2134 2134
     public function is_parent() {
2135
-        $is_parent = empty( $this->parent_invoice ) ? true : false;
2135
+        $is_parent = empty($this->parent_invoice) ? true : false;
2136 2136
 
2137
-        return apply_filters( 'wpinv_invoice_is_parent', $is_parent, $this );
2137
+        return apply_filters('wpinv_invoice_is_parent', $is_parent, $this);
2138 2138
     }
2139 2139
     
2140 2140
     public function is_renewal() {
2141 2141
         $is_renewal = $this->parent_invoice && $this->parent_invoice != $this->ID ? true : false;
2142 2142
 
2143
-        return apply_filters( 'wpinv_invoice_is_renewal', $is_renewal, $this );
2143
+        return apply_filters('wpinv_invoice_is_renewal', $is_renewal, $this);
2144 2144
     }
2145 2145
     
2146 2146
     public function get_parent_payment() {
2147 2147
         $parent_payment = NULL;
2148 2148
         
2149
-        if ( $this->is_renewal() ) {
2150
-            $parent_payment = wpinv_get_invoice( $this->parent_invoice );
2149
+        if ($this->is_renewal()) {
2150
+            $parent_payment = wpinv_get_invoice($this->parent_invoice);
2151 2151
         }
2152 2152
         
2153 2153
         return $parent_payment;
2154 2154
     }
2155 2155
     
2156 2156
     public function is_paid() {
2157
-        $is_paid = $this->has_status( array( 'publish', 'wpi-processing', 'wpi-renewal' ) );
2157
+        $is_paid = $this->has_status(array('publish', 'wpi-processing', 'wpi-renewal'));
2158 2158
 
2159
-        return apply_filters( 'wpinv_invoice_is_paid', $is_paid, $this );
2159
+        return apply_filters('wpinv_invoice_is_paid', $is_paid, $this);
2160 2160
     }
2161 2161
     
2162 2162
     public function is_refunded() {
2163
-        $is_refunded = $this->has_status( array( 'wpi-refunded' ) );
2163
+        $is_refunded = $this->has_status(array('wpi-refunded'));
2164 2164
 
2165
-        return apply_filters( 'wpinv_invoice_is_refunded', $is_refunded, $this );
2165
+        return apply_filters('wpinv_invoice_is_refunded', $is_refunded, $this);
2166 2166
     }
2167 2167
     
2168 2168
     public function is_free() {
2169 2169
         $is_free = false;
2170 2170
         
2171
-        if ( !( (float)wpinv_round_amount( $this->get_total() ) > 0 ) ) {
2172
-            if ( $this->is_parent() && $this->is_recurring() ) {
2173
-                $is_free = (float)wpinv_round_amount( $this->get_recurring_details( 'total' ) ) > 0 ? false : true;
2171
+        if (!((float)wpinv_round_amount($this->get_total()) > 0)) {
2172
+            if ($this->is_parent() && $this->is_recurring()) {
2173
+                $is_free = (float)wpinv_round_amount($this->get_recurring_details('total')) > 0 ? false : true;
2174 2174
             } else {
2175 2175
                 $is_free = true;
2176 2176
             }
2177 2177
         }
2178 2178
         
2179
-        return apply_filters( 'wpinv_invoice_is_free', $is_free, $this );
2179
+        return apply_filters('wpinv_invoice_is_free', $is_free, $this);
2180 2180
     }
2181 2181
     
2182 2182
     public function has_vat() {
@@ -2184,41 +2184,41 @@  discard block
 block discarded – undo
2184 2184
         
2185 2185
         $requires_vat = false;
2186 2186
         
2187
-        if ( $this->country ) {
2187
+        if ($this->country) {
2188 2188
             $wpi_country        = $this->country;
2189 2189
             
2190
-            $requires_vat       = $wpinv_euvat->requires_vat( $requires_vat, $this->get_user_id(), $wpinv_euvat->invoice_has_digital_rule( $this ) );
2190
+            $requires_vat       = $wpinv_euvat->requires_vat($requires_vat, $this->get_user_id(), $wpinv_euvat->invoice_has_digital_rule($this));
2191 2191
         }
2192 2192
         
2193
-        return apply_filters( 'wpinv_invoice_has_vat', $requires_vat, $this );
2193
+        return apply_filters('wpinv_invoice_has_vat', $requires_vat, $this);
2194 2194
     }
2195 2195
     
2196 2196
     public function refresh_item_ids() {
2197 2197
         $item_ids = array();
2198 2198
         
2199
-        if ( !empty( $this->cart_details ) ) {
2200
-            foreach ( $this->cart_details as $key => $item ) {
2201
-                if ( !empty( $item['id'] ) ) {
2199
+        if (!empty($this->cart_details)) {
2200
+            foreach ($this->cart_details as $key => $item) {
2201
+                if (!empty($item['id'])) {
2202 2202
                     $item_ids[] = $item['id'];
2203 2203
                 }
2204 2204
             }
2205 2205
         }
2206 2206
         
2207
-        $item_ids = !empty( $item_ids ) ? implode( ',', array_unique( $item_ids ) ) : '';
2207
+        $item_ids = !empty($item_ids) ? implode(',', array_unique($item_ids)) : '';
2208 2208
         
2209
-        update_post_meta( $this->ID, '_wpinv_item_ids', $item_ids );
2209
+        update_post_meta($this->ID, '_wpinv_item_ids', $item_ids);
2210 2210
     }
2211 2211
     
2212
-    public function get_invoice_quote_type( $post_id ) {
2213
-        if ( empty( $post_id ) ) {
2212
+    public function get_invoice_quote_type($post_id) {
2213
+        if (empty($post_id)) {
2214 2214
             return '';
2215 2215
         }
2216 2216
 
2217
-        $type = get_post_type( $post_id );
2217
+        $type = get_post_type($post_id);
2218 2218
 
2219
-        if ( 'wpi_invoice' === $type ) {
2219
+        if ('wpi_invoice' === $type) {
2220 2220
             $post_type = __('Invoice', 'invoicing');
2221
-        } else{
2221
+        } else {
2222 2222
             $post_type = __('Quote', 'invoicing');
2223 2223
         }
2224 2224
 
Please login to merge, or discard this patch.
Braces   +3 added lines, -2 removed lines patch added patch discarded remove patch
@@ -974,8 +974,9 @@
 block discarded – undo
974 974
             return false;
975 975
         }
976 976
 
977
-        if ( empty( $this->ID ) )
978
-            return false;
977
+        if ( empty( $this->ID ) ) {
978
+                    return false;
979
+        }
979 980
         
980 981
         if ( ( ( is_user_logged_in() && wpinv_current_user_can_manage_invoicing() ) || $added_by_user ) && !$system ) {
981 982
             $user                 = get_user_by( 'id', get_current_user_id() );
Please login to merge, or discard this patch.
includes/admin/register-settings.php 2 patches
Indentation   +328 added lines, -328 removed lines patch added patch discarded remove patch
@@ -984,326 +984,326 @@  discard block
 block discarded – undo
984 984
 }
985 985
 
986 986
 function wpinv_get_pages( $with_slug = false, $default_label = NULL ) {
987
-	$pages_options = array();
987
+    $pages_options = array();
988 988
 
989
-	if( $default_label !== NULL && $default_label !== false ) {
990
-		$pages_options = array( '' => $default_label ); // Blank option
991
-	}
989
+    if( $default_label !== NULL && $default_label !== false ) {
990
+        $pages_options = array( '' => $default_label ); // Blank option
991
+    }
992 992
 
993
-	$pages = get_pages();
994
-	if ( $pages ) {
995
-		foreach ( $pages as $page ) {
996
-			$title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title;
993
+    $pages = get_pages();
994
+    if ( $pages ) {
995
+        foreach ( $pages as $page ) {
996
+            $title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title;
997 997
             $pages_options[ $page->ID ] = $title;
998
-		}
999
-	}
998
+        }
999
+    }
1000 1000
 
1001
-	return $pages_options;
1001
+    return $pages_options;
1002 1002
 }
1003 1003
 
1004 1004
 function wpinv_header_callback( $args ) {
1005
-	if ( !empty( $args['desc'] ) ) {
1005
+    if ( !empty( $args['desc'] ) ) {
1006 1006
         echo $args['desc'];
1007 1007
     }
1008 1008
 }
1009 1009
 
1010 1010
 function wpinv_hidden_callback( $args ) {
1011
-	global $wpinv_options;
1012
-
1013
-	if ( isset( $args['set_value'] ) ) {
1014
-		$value = $args['set_value'];
1015
-	} elseif ( isset( $wpinv_options[ $args['id'] ] ) ) {
1016
-		$value = $wpinv_options[ $args['id'] ];
1017
-	} else {
1018
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1019
-	}
1020
-
1021
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
1022
-		$args['readonly'] = true;
1023
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1024
-		$name  = '';
1025
-	} else {
1026
-		$name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
1027
-	}
1028
-
1029
-	$html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key( $args['id'] ) . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '" />';
1011
+    global $wpinv_options;
1012
+
1013
+    if ( isset( $args['set_value'] ) ) {
1014
+        $value = $args['set_value'];
1015
+    } elseif ( isset( $wpinv_options[ $args['id'] ] ) ) {
1016
+        $value = $wpinv_options[ $args['id'] ];
1017
+    } else {
1018
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1019
+    }
1020
+
1021
+    if ( isset( $args['faux'] ) && true === $args['faux'] ) {
1022
+        $args['readonly'] = true;
1023
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1024
+        $name  = '';
1025
+    } else {
1026
+        $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
1027
+    }
1028
+
1029
+    $html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key( $args['id'] ) . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '" />';
1030 1030
     
1031
-	echo $html;
1031
+    echo $html;
1032 1032
 }
1033 1033
 
1034 1034
 function wpinv_checkbox_callback( $args ) {
1035
-	global $wpinv_options;
1035
+    global $wpinv_options;
1036 1036
     
1037 1037
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1038 1038
 
1039
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
1040
-		$name = '';
1041
-	} else {
1042
-		$name = 'name="wpinv_settings[' . $sanitize_id . ']"';
1043
-	}
1039
+    if ( isset( $args['faux'] ) && true === $args['faux'] ) {
1040
+        $name = '';
1041
+    } else {
1042
+        $name = 'name="wpinv_settings[' . $sanitize_id . ']"';
1043
+    }
1044 1044
 
1045
-	$checked = isset( $wpinv_options[ $args['id'] ] ) ? checked( 1, $wpinv_options[ $args['id'] ], false ) : '';
1046
-	$html = '<input type="checkbox" id="wpinv_settings[' . $sanitize_id . ']"' . $name . ' value="1" ' . $checked . '/>';
1047
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1045
+    $checked = isset( $wpinv_options[ $args['id'] ] ) ? checked( 1, $wpinv_options[ $args['id'] ], false ) : '';
1046
+    $html = '<input type="checkbox" id="wpinv_settings[' . $sanitize_id . ']"' . $name . ' value="1" ' . $checked . '/>';
1047
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1048 1048
 
1049
-	echo $html;
1049
+    echo $html;
1050 1050
 }
1051 1051
 
1052 1052
 function wpinv_multicheck_callback( $args ) {
1053
-	global $wpinv_options;
1053
+    global $wpinv_options;
1054 1054
 
1055
-	$sanitize_id = wpinv_sanitize_key( $args['id'] );
1056
-	$class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
1055
+    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1056
+    $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
1057 1057
 
1058
-	if ( ! empty( $args['options'] ) ) {
1059
-		echo '<div class="wpi-mcheck-rows wpi-mcheck-' . $sanitize_id . $class . '">';
1058
+    if ( ! empty( $args['options'] ) ) {
1059
+        echo '<div class="wpi-mcheck-rows wpi-mcheck-' . $sanitize_id . $class . '">';
1060 1060
         foreach( $args['options'] as $key => $option ):
1061
-			$sanitize_key = wpinv_sanitize_key( $key );
1062
-			if ( isset( $wpinv_options[$args['id']][$sanitize_key] ) ) { 
1063
-				$enabled = $sanitize_key;
1064
-			} else { 
1065
-				$enabled = NULL; 
1066
-			}
1067
-			echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/>&nbsp;';
1068
-			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post( $option ) . '</label></div>';
1069
-		endforeach;
1070
-		echo '</div>';
1071
-		echo '<p class="description">' . $args['desc'] . '</p>';
1072
-	}
1061
+            $sanitize_key = wpinv_sanitize_key( $key );
1062
+            if ( isset( $wpinv_options[$args['id']][$sanitize_key] ) ) { 
1063
+                $enabled = $sanitize_key;
1064
+            } else { 
1065
+                $enabled = NULL; 
1066
+            }
1067
+            echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/>&nbsp;';
1068
+            echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post( $option ) . '</label></div>';
1069
+        endforeach;
1070
+        echo '</div>';
1071
+        echo '<p class="description">' . $args['desc'] . '</p>';
1072
+    }
1073 1073
 }
1074 1074
 
1075 1075
 function wpinv_payment_icons_callback( $args ) {
1076
-	global $wpinv_options;
1076
+    global $wpinv_options;
1077 1077
     
1078 1078
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1079 1079
 
1080
-	if ( ! empty( $args['options'] ) ) {
1081
-		foreach( $args['options'] as $key => $option ) {
1080
+    if ( ! empty( $args['options'] ) ) {
1081
+        foreach( $args['options'] as $key => $option ) {
1082 1082
             $sanitize_key = wpinv_sanitize_key( $key );
1083 1083
             
1084
-			if( isset( $wpinv_options[$args['id']][$key] ) ) {
1085
-				$enabled = $option;
1086
-			} else {
1087
-				$enabled = NULL;
1088
-			}
1089
-
1090
-			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
1091
-
1092
-				echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/>&nbsp;';
1093
-
1094
-				if ( wpinv_string_is_image_url( $key ) ) {
1095
-					echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
1096
-				} else {
1097
-					$card = strtolower( str_replace( ' ', '', $option ) );
1098
-
1099
-					if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) {
1100
-						$image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' );
1101
-					} else {
1102
-						$image       = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false );
1103
-						$content_dir = WP_CONTENT_DIR;
1104
-
1105
-						if ( function_exists( 'wp_normalize_path' ) ) {
1106
-							// Replaces backslashes with forward slashes for Windows systems
1107
-							$image = wp_normalize_path( $image );
1108
-							$content_dir = wp_normalize_path( $content_dir );
1109
-						}
1110
-
1111
-						$image = str_replace( $content_dir, content_url(), $image );
1112
-					}
1113
-
1114
-					echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
1115
-				}
1116
-			echo $option . '</label>';
1117
-		}
1118
-		echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>';
1119
-	}
1084
+            if( isset( $wpinv_options[$args['id']][$key] ) ) {
1085
+                $enabled = $option;
1086
+            } else {
1087
+                $enabled = NULL;
1088
+            }
1089
+
1090
+            echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
1091
+
1092
+                echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/>&nbsp;';
1093
+
1094
+                if ( wpinv_string_is_image_url( $key ) ) {
1095
+                    echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
1096
+                } else {
1097
+                    $card = strtolower( str_replace( ' ', '', $option ) );
1098
+
1099
+                    if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) {
1100
+                        $image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' );
1101
+                    } else {
1102
+                        $image       = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false );
1103
+                        $content_dir = WP_CONTENT_DIR;
1104
+
1105
+                        if ( function_exists( 'wp_normalize_path' ) ) {
1106
+                            // Replaces backslashes with forward slashes for Windows systems
1107
+                            $image = wp_normalize_path( $image );
1108
+                            $content_dir = wp_normalize_path( $content_dir );
1109
+                        }
1110
+
1111
+                        $image = str_replace( $content_dir, content_url(), $image );
1112
+                    }
1113
+
1114
+                    echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
1115
+                }
1116
+            echo $option . '</label>';
1117
+        }
1118
+        echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>';
1119
+    }
1120 1120
 }
1121 1121
 
1122 1122
 function wpinv_radio_callback( $args ) {
1123
-	global $wpinv_options;
1123
+    global $wpinv_options;
1124 1124
     
1125 1125
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1126 1126
     
1127 1127
     foreach ( $args['options'] as $key => $option ) :
1128
-		$sanitize_key = wpinv_sanitize_key( $key );
1128
+        $sanitize_key = wpinv_sanitize_key( $key );
1129 1129
         
1130 1130
         $checked = false;
1131 1131
 
1132
-		if ( isset( $wpinv_options[ $args['id'] ] ) && $wpinv_options[ $args['id'] ] == $key )
1133
-			$checked = true;
1134
-		elseif( isset( $args['std'] ) && $args['std'] == $key && ! isset( $wpinv_options[ $args['id'] ] ) )
1135
-			$checked = true;
1132
+        if ( isset( $wpinv_options[ $args['id'] ] ) && $wpinv_options[ $args['id'] ] == $key )
1133
+            $checked = true;
1134
+        elseif( isset( $args['std'] ) && $args['std'] == $key && ! isset( $wpinv_options[ $args['id'] ] ) )
1135
+            $checked = true;
1136 1136
 
1137
-		echo '<input name="wpinv_settings[' . $sanitize_id . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="radio" value="' . $sanitize_key . '" ' . checked(true, $checked, false) . '/>&nbsp;';
1138
-		echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option ) . '</label><br/>';
1139
-	endforeach;
1137
+        echo '<input name="wpinv_settings[' . $sanitize_id . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="radio" value="' . $sanitize_key . '" ' . checked(true, $checked, false) . '/>&nbsp;';
1138
+        echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option ) . '</label><br/>';
1139
+    endforeach;
1140 1140
 
1141
-	echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>';
1141
+    echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>';
1142 1142
 }
1143 1143
 
1144 1144
 function wpinv_gateways_callback( $args ) {
1145
-	global $wpinv_options;
1145
+    global $wpinv_options;
1146 1146
     
1147 1147
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1148 1148
 
1149
-	foreach ( $args['options'] as $key => $option ) :
1150
-		$sanitize_key = wpinv_sanitize_key( $key );
1149
+    foreach ( $args['options'] as $key => $option ) :
1150
+        $sanitize_key = wpinv_sanitize_key( $key );
1151 1151
         
1152 1152
         if ( isset( $wpinv_options['gateways'][ $key ] ) )
1153
-			$enabled = '1';
1154
-		else
1155
-			$enabled = null;
1153
+            $enabled = '1';
1154
+        else
1155
+            $enabled = null;
1156 1156
 
1157
-		echo '<input name="wpinv_settings[' . esc_attr( $args['id'] ) . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="1" ' . checked('1', $enabled, false) . '/>&nbsp;';
1158
-		echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option['admin_label'] ) . '</label><br/>';
1159
-	endforeach;
1157
+        echo '<input name="wpinv_settings[' . esc_attr( $args['id'] ) . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="1" ' . checked('1', $enabled, false) . '/>&nbsp;';
1158
+        echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option['admin_label'] ) . '</label><br/>';
1159
+    endforeach;
1160 1160
 }
1161 1161
 
1162 1162
 function wpinv_gateway_select_callback($args) {
1163
-	global $wpinv_options;
1163
+    global $wpinv_options;
1164 1164
     
1165 1165
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1166 1166
     $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
1167 1167
 
1168
-	echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" >';
1168
+    echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" >';
1169 1169
 
1170
-	foreach ( $args['options'] as $key => $option ) :
1171
-		if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
1170
+    foreach ( $args['options'] as $key => $option ) :
1171
+        if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
1172 1172
             $selected = selected( $key, $args['selected'], false );
1173 1173
         } else {
1174 1174
             $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $key, $wpinv_options[$args['id']], false ) : '';
1175 1175
         }
1176
-		echo '<option value="' . wpinv_sanitize_key( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>';
1177
-	endforeach;
1176
+        echo '<option value="' . wpinv_sanitize_key( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>';
1177
+    endforeach;
1178 1178
 
1179
-	echo '</select>';
1180
-	echo '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1179
+    echo '</select>';
1180
+    echo '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1181 1181
 }
1182 1182
 
1183 1183
 function wpinv_text_callback( $args ) {
1184
-	global $wpinv_options;
1184
+    global $wpinv_options;
1185 1185
     
1186 1186
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1187 1187
 
1188
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1189
-		$value = $wpinv_options[ $args['id'] ];
1190
-	} else {
1191
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1192
-	}
1193
-
1194
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
1195
-		$args['readonly'] = true;
1196
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1197
-		$name  = '';
1198
-	} else {
1199
-		$name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
1200
-	}
1201
-	$class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : '';
1202
-
1203
-	$readonly = $args['readonly'] === true ? ' readonly="readonly"' : '';
1204
-	$size     = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1205
-	$html     = '<input type="text" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"' . $readonly . '/>';
1206
-	$html    .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1207
-
1208
-	echo $html;
1188
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1189
+        $value = $wpinv_options[ $args['id'] ];
1190
+    } else {
1191
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1192
+    }
1193
+
1194
+    if ( isset( $args['faux'] ) && true === $args['faux'] ) {
1195
+        $args['readonly'] = true;
1196
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1197
+        $name  = '';
1198
+    } else {
1199
+        $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
1200
+    }
1201
+    $class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : '';
1202
+
1203
+    $readonly = $args['readonly'] === true ? ' readonly="readonly"' : '';
1204
+    $size     = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1205
+    $html     = '<input type="text" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"' . $readonly . '/>';
1206
+    $html    .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1207
+
1208
+    echo $html;
1209 1209
 }
1210 1210
 
1211 1211
 function wpinv_number_callback( $args ) {
1212
-	global $wpinv_options;
1212
+    global $wpinv_options;
1213 1213
     
1214 1214
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1215 1215
 
1216
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1217
-		$value = $wpinv_options[ $args['id'] ];
1218
-	} else {
1219
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1220
-	}
1221
-
1222
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
1223
-		$args['readonly'] = true;
1224
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1225
-		$name  = '';
1226
-	} else {
1227
-		$name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
1228
-	}
1229
-
1230
-	$max  = isset( $args['max'] ) ? $args['max'] : 999999;
1231
-	$min  = isset( $args['min'] ) ? $args['min'] : 0;
1232
-	$step = isset( $args['step'] ) ? $args['step'] : 1;
1233
-	$class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : '';
1234
-
1235
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1236
-	$html = '<input type="number" step="' . esc_attr( $step ) . '" max="' . esc_attr( $max ) . '" min="' . esc_attr( $min ) . '" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"/>';
1237
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1238
-
1239
-	echo $html;
1216
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1217
+        $value = $wpinv_options[ $args['id'] ];
1218
+    } else {
1219
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1220
+    }
1221
+
1222
+    if ( isset( $args['faux'] ) && true === $args['faux'] ) {
1223
+        $args['readonly'] = true;
1224
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1225
+        $name  = '';
1226
+    } else {
1227
+        $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
1228
+    }
1229
+
1230
+    $max  = isset( $args['max'] ) ? $args['max'] : 999999;
1231
+    $min  = isset( $args['min'] ) ? $args['min'] : 0;
1232
+    $step = isset( $args['step'] ) ? $args['step'] : 1;
1233
+    $class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : '';
1234
+
1235
+    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1236
+    $html = '<input type="number" step="' . esc_attr( $step ) . '" max="' . esc_attr( $max ) . '" min="' . esc_attr( $min ) . '" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"/>';
1237
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1238
+
1239
+    echo $html;
1240 1240
 }
1241 1241
 
1242 1242
 function wpinv_textarea_callback( $args ) {
1243
-	global $wpinv_options;
1243
+    global $wpinv_options;
1244 1244
     
1245 1245
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1246 1246
 
1247
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1248
-		$value = $wpinv_options[ $args['id'] ];
1249
-	} else {
1250
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1251
-	}
1247
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1248
+        $value = $wpinv_options[ $args['id'] ];
1249
+    } else {
1250
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1251
+    }
1252 1252
     
1253 1253
     $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1254 1254
     $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text';
1255 1255
 
1256
-	$html = '<textarea class="' . sanitize_html_class( $class ) . ' txtarea-' . sanitize_html_class( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
1257
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1256
+    $html = '<textarea class="' . sanitize_html_class( $class ) . ' txtarea-' . sanitize_html_class( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
1257
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1258 1258
 
1259
-	echo $html;
1259
+    echo $html;
1260 1260
 }
1261 1261
 
1262 1262
 function wpinv_password_callback( $args ) {
1263
-	global $wpinv_options;
1263
+    global $wpinv_options;
1264 1264
     
1265 1265
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1266 1266
 
1267
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1268
-		$value = $wpinv_options[ $args['id'] ];
1269
-	} else {
1270
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1271
-	}
1267
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1268
+        $value = $wpinv_options[ $args['id'] ];
1269
+    } else {
1270
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1271
+    }
1272 1272
 
1273
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1274
-	$html = '<input type="password" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>';
1275
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1273
+    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1274
+    $html = '<input type="password" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>';
1275
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1276 1276
 
1277
-	echo $html;
1277
+    echo $html;
1278 1278
 }
1279 1279
 
1280 1280
 function wpinv_missing_callback($args) {
1281
-	printf(
1282
-		__( 'The callback function used for the %s setting is missing.', 'invoicing' ),
1283
-		'<strong>' . $args['id'] . '</strong>'
1284
-	);
1281
+    printf(
1282
+        __( 'The callback function used for the %s setting is missing.', 'invoicing' ),
1283
+        '<strong>' . $args['id'] . '</strong>'
1284
+    );
1285 1285
 }
1286 1286
 
1287 1287
 function wpinv_select_callback($args) {
1288
-	global $wpinv_options;
1288
+    global $wpinv_options;
1289 1289
     
1290 1290
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1291 1291
 
1292
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1293
-		$value = $wpinv_options[ $args['id'] ];
1294
-	} else {
1295
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1296
-	}
1292
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1293
+        $value = $wpinv_options[ $args['id'] ];
1294
+    } else {
1295
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1296
+    }
1297 1297
     
1298 1298
     if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
1299 1299
         $value = $args['selected'];
1300 1300
     }
1301 1301
 
1302
-	if ( isset( $args['placeholder'] ) ) {
1303
-		$placeholder = $args['placeholder'];
1304
-	} else {
1305
-		$placeholder = '';
1306
-	}
1302
+    if ( isset( $args['placeholder'] ) ) {
1303
+        $placeholder = $args['placeholder'];
1304
+    } else {
1305
+        $placeholder = '';
1306
+    }
1307 1307
     
1308 1308
     if( !empty( $args['onchange'] ) ) {
1309 1309
         $onchange = ' onchange="' . esc_attr( $args['onchange'] ) . '"';
@@ -1313,142 +1313,142 @@  discard block
 block discarded – undo
1313 1313
 
1314 1314
     $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
1315 1315
 
1316
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'"  name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" data-placeholder="' . esc_html( $placeholder ) . '"' . $onchange . ' />';
1316
+    $html = '<select id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'"  name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" data-placeholder="' . esc_html( $placeholder ) . '"' . $onchange . ' />';
1317 1317
 
1318
-	foreach ( $args['options'] as $option => $name ) {
1319
-		$selected = selected( $option, $value, false );
1320
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>';
1321
-	}
1318
+    foreach ( $args['options'] as $option => $name ) {
1319
+        $selected = selected( $option, $value, false );
1320
+        $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>';
1321
+    }
1322 1322
 
1323
-	$html .= '</select>';
1324
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1323
+    $html .= '</select>';
1324
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1325 1325
 
1326
-	echo $html;
1326
+    echo $html;
1327 1327
 }
1328 1328
 
1329 1329
 function wpinv_color_select_callback( $args ) {
1330
-	global $wpinv_options;
1330
+    global $wpinv_options;
1331 1331
     
1332 1332
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1333 1333
 
1334
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1335
-		$value = $wpinv_options[ $args['id'] ];
1336
-	} else {
1337
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1338
-	}
1334
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1335
+        $value = $wpinv_options[ $args['id'] ];
1336
+    } else {
1337
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1338
+    }
1339 1339
 
1340
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>';
1340
+    $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>';
1341 1341
 
1342
-	foreach ( $args['options'] as $option => $color ) {
1343
-		$selected = selected( $option, $value, false );
1344
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $color['label'] ) . '</option>';
1345
-	}
1342
+    foreach ( $args['options'] as $option => $color ) {
1343
+        $selected = selected( $option, $value, false );
1344
+        $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $color['label'] ) . '</option>';
1345
+    }
1346 1346
 
1347
-	$html .= '</select>';
1348
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1347
+    $html .= '</select>';
1348
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1349 1349
 
1350
-	echo $html;
1350
+    echo $html;
1351 1351
 }
1352 1352
 
1353 1353
 function wpinv_rich_editor_callback( $args ) {
1354
-	global $wpinv_options, $wp_version;
1354
+    global $wpinv_options, $wp_version;
1355 1355
     
1356 1356
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1357 1357
 
1358
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1359
-		$value = $wpinv_options[ $args['id'] ];
1358
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1359
+        $value = $wpinv_options[ $args['id'] ];
1360 1360
 
1361
-		if( empty( $args['allow_blank'] ) && empty( $value ) ) {
1362
-			$value = isset( $args['std'] ) ? $args['std'] : '';
1363
-		}
1364
-	} else {
1365
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1366
-	}
1361
+        if( empty( $args['allow_blank'] ) && empty( $value ) ) {
1362
+            $value = isset( $args['std'] ) ? $args['std'] : '';
1363
+        }
1364
+    } else {
1365
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1366
+    }
1367 1367
 
1368
-	$rows = isset( $args['size'] ) ? $args['size'] : 20;
1368
+    $rows = isset( $args['size'] ) ? $args['size'] : 20;
1369 1369
 
1370
-	if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) {
1371
-		ob_start();
1372
-		wp_editor( stripslashes( $value ), 'wpinv_settings_' . esc_attr( $args['id'] ), array( 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', 'textarea_rows' => absint( $rows ), 'media_buttons' => false ) );
1373
-		$html = ob_get_clean();
1374
-	} else {
1375
-		$html = '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
1376
-	}
1370
+    if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) {
1371
+        ob_start();
1372
+        wp_editor( stripslashes( $value ), 'wpinv_settings_' . esc_attr( $args['id'] ), array( 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', 'textarea_rows' => absint( $rows ), 'media_buttons' => false ) );
1373
+        $html = ob_get_clean();
1374
+    } else {
1375
+        $html = '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
1376
+    }
1377 1377
 
1378
-	$html .= '<br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1378
+    $html .= '<br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1379 1379
 
1380
-	echo $html;
1380
+    echo $html;
1381 1381
 }
1382 1382
 
1383 1383
 function wpinv_upload_callback( $args ) {
1384
-	global $wpinv_options;
1384
+    global $wpinv_options;
1385 1385
     
1386 1386
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1387 1387
 
1388
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1389
-		$value = $wpinv_options[$args['id']];
1390
-	} else {
1391
-		$value = isset($args['std']) ? $args['std'] : '';
1392
-	}
1388
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1389
+        $value = $wpinv_options[$args['id']];
1390
+    } else {
1391
+        $value = isset($args['std']) ? $args['std'] : '';
1392
+    }
1393 1393
 
1394
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1395
-	$html = '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>';
1396
-	$html .= '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>';
1397
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1394
+    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1395
+    $html = '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>';
1396
+    $html .= '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>';
1397
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1398 1398
 
1399
-	echo $html;
1399
+    echo $html;
1400 1400
 }
1401 1401
 
1402 1402
 function wpinv_color_callback( $args ) {
1403
-	global $wpinv_options;
1403
+    global $wpinv_options;
1404 1404
     
1405 1405
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1406 1406
 
1407
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1408
-		$value = $wpinv_options[ $args['id'] ];
1409
-	} else {
1410
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1411
-	}
1407
+    if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1408
+        $value = $wpinv_options[ $args['id'] ];
1409
+    } else {
1410
+        $value = isset( $args['std'] ) ? $args['std'] : '';
1411
+    }
1412 1412
 
1413
-	$default = isset( $args['std'] ) ? $args['std'] : '';
1413
+    $default = isset( $args['std'] ) ? $args['std'] : '';
1414 1414
 
1415
-	$html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $default ) . '" />';
1416
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1415
+    $html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $default ) . '" />';
1416
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1417 1417
 
1418
-	echo $html;
1418
+    echo $html;
1419 1419
 }
1420 1420
 
1421 1421
 function wpinv_country_states_callback($args) {
1422
-	global $wpinv_options;
1422
+    global $wpinv_options;
1423 1423
     
1424 1424
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
1425 1425
 
1426
-	if ( isset( $args['placeholder'] ) ) {
1427
-		$placeholder = $args['placeholder'];
1428
-	} else {
1429
-		$placeholder = '';
1430
-	}
1426
+    if ( isset( $args['placeholder'] ) ) {
1427
+        $placeholder = $args['placeholder'];
1428
+    } else {
1429
+        $placeholder = '';
1430
+    }
1431 1431
 
1432
-	$states = wpinv_get_country_states();
1432
+    $states = wpinv_get_country_states();
1433 1433
 
1434
-	$class = empty( $states ) ? ' class="wpinv-no-states"' : ' class="wpi_select2"';
1435
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>';
1434
+    $class = empty( $states ) ? ' class="wpinv-no-states"' : ' class="wpi_select2"';
1435
+    $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>';
1436 1436
 
1437
-	foreach ( $states as $option => $name ) {
1438
-		$selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $option, $wpinv_options[$args['id']], false ) : '';
1439
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>';
1440
-	}
1437
+    foreach ( $states as $option => $name ) {
1438
+        $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $option, $wpinv_options[$args['id']], false ) : '';
1439
+        $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>';
1440
+    }
1441 1441
 
1442
-	$html .= '</select>';
1443
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1442
+    $html .= '</select>';
1443
+    $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1444 1444
 
1445
-	echo $html;
1445
+    echo $html;
1446 1446
 }
1447 1447
 
1448 1448
 function wpinv_tax_rates_callback($args) {
1449
-	global $wpinv_options;
1450
-	$rates = wpinv_get_tax_rates();
1451
-	ob_start(); ?>
1449
+    global $wpinv_options;
1450
+    $rates = wpinv_get_tax_rates();
1451
+    ob_start(); ?>
1452 1452
     </td><tr>
1453 1453
     <td colspan="2" class="wpinv_tax_tdbox">
1454 1454
 	<p><?php echo $args['desc']; ?></p>
@@ -1472,40 +1472,40 @@  discard block
 block discarded – undo
1472 1472
 			<tr>
1473 1473
 				<td class="wpinv_tax_country">
1474 1474
 					<?php
1475
-					echo wpinv_html_select( array(
1476
-						'options'          => wpinv_get_country_list( true ),
1477
-						'name'             => 'tax_rates[' . $sanitized_key . '][country]',
1475
+                    echo wpinv_html_select( array(
1476
+                        'options'          => wpinv_get_country_list( true ),
1477
+                        'name'             => 'tax_rates[' . $sanitized_key . '][country]',
1478 1478
                         'id'               => 'tax_rates[' . $sanitized_key . '][country]',
1479
-						'selected'         => $rate['country'],
1480
-						'show_option_all'  => false,
1481
-						'show_option_none' => false,
1482
-						'class'            => 'wpinv-tax-country wpi_select2',
1483
-						'placeholder'      => __( 'Choose a country', 'invoicing' )
1484
-					) );
1485
-					?>
1479
+                        'selected'         => $rate['country'],
1480
+                        'show_option_all'  => false,
1481
+                        'show_option_none' => false,
1482
+                        'class'            => 'wpinv-tax-country wpi_select2',
1483
+                        'placeholder'      => __( 'Choose a country', 'invoicing' )
1484
+                    ) );
1485
+                    ?>
1486 1486
 				</td>
1487 1487
 				<td class="wpinv_tax_state">
1488 1488
 					<?php
1489
-					$states = wpinv_get_country_states( $rate['country'] );
1490
-					if( !empty( $states ) ) {
1491
-						echo wpinv_html_select( array(
1492
-							'options'          => array_merge( array( '' => '' ), $states ),
1493
-							'name'             => 'tax_rates[' . $sanitized_key . '][state]',
1489
+                    $states = wpinv_get_country_states( $rate['country'] );
1490
+                    if( !empty( $states ) ) {
1491
+                        echo wpinv_html_select( array(
1492
+                            'options'          => array_merge( array( '' => '' ), $states ),
1493
+                            'name'             => 'tax_rates[' . $sanitized_key . '][state]',
1494 1494
                             'id'               => 'tax_rates[' . $sanitized_key . '][state]',
1495
-							'selected'         => $rate['state'],
1496
-							'show_option_all'  => false,
1497
-							'show_option_none' => false,
1495
+                            'selected'         => $rate['state'],
1496
+                            'show_option_all'  => false,
1497
+                            'show_option_none' => false,
1498 1498
                             'class'            => 'wpi_select2',
1499
-							'placeholder'      => __( 'Choose a state', 'invoicing' )
1500
-						) );
1501
-					} else {
1502
-						echo wpinv_html_text( array(
1503
-							'name'  => 'tax_rates[' . $sanitized_key . '][state]', $rate['state'],
1504
-							'value' => ! empty( $rate['state'] ) ? $rate['state'] : '',
1499
+                            'placeholder'      => __( 'Choose a state', 'invoicing' )
1500
+                        ) );
1501
+                    } else {
1502
+                        echo wpinv_html_text( array(
1503
+                            'name'  => 'tax_rates[' . $sanitized_key . '][state]', $rate['state'],
1504
+                            'value' => ! empty( $rate['state'] ) ? $rate['state'] : '',
1505 1505
                             'id'    => 'tax_rates[' . $sanitized_key . '][state]',
1506
-						) );
1507
-					}
1508
-					?>
1506
+                        ) );
1507
+                    }
1508
+                    ?>
1509 1509
 				</td>
1510 1510
 				<td class="wpinv_tax_global">
1511 1511
 					<input type="checkbox" name="tax_rates[<?php echo $sanitized_key; ?>][global]" id="tax_rates[<?php echo $sanitized_key; ?>][global]" value="1"<?php checked( true, ! empty( $rate['global'] ) ); ?>/>
@@ -1520,19 +1520,19 @@  discard block
 block discarded – undo
1520 1520
 			<tr>
1521 1521
 				<td class="wpinv_tax_country">
1522 1522
 					<?php
1523
-					echo wpinv_html_select( array(
1524
-						'options'          => wpinv_get_country_list( true ),
1525
-						'name'             => 'tax_rates[0][country]',
1526
-						'show_option_all'  => false,
1527
-						'show_option_none' => false,
1528
-						'class'            => 'wpinv-tax-country wpi_select2',
1529
-						'placeholder'      => __( 'Choose a country', 'invoicing' )
1530
-					) ); ?>
1523
+                    echo wpinv_html_select( array(
1524
+                        'options'          => wpinv_get_country_list( true ),
1525
+                        'name'             => 'tax_rates[0][country]',
1526
+                        'show_option_all'  => false,
1527
+                        'show_option_none' => false,
1528
+                        'class'            => 'wpinv-tax-country wpi_select2',
1529
+                        'placeholder'      => __( 'Choose a country', 'invoicing' )
1530
+                    ) ); ?>
1531 1531
 				</td>
1532 1532
 				<td class="wpinv_tax_state">
1533 1533
 					<?php echo wpinv_html_text( array(
1534
-						'name' => 'tax_rates[0][state]'
1535
-					) ); ?>
1534
+                        'name' => 'tax_rates[0][state]'
1535
+                    ) ); ?>
1536 1536
 				</td>
1537 1537
 				<td class="wpinv_tax_global">
1538 1538
 					<input type="checkbox" name="tax_rates[0][global]" id="tax_rates[0][global]" value="1"/>
@@ -1547,7 +1547,7 @@  discard block
 block discarded – undo
1547 1547
         <tfoot><tr><td colspan="5"></td><td class="wpinv_tax_action"><span class="button-secondary" id="wpinv_add_tax_rate"><?php _e( 'Add Tax Rate', 'invoicing' ); ?></span></td></tr></tfoot>
1548 1548
 	</table>
1549 1549
 	<?php
1550
-	echo ob_get_clean();
1550
+    echo ob_get_clean();
1551 1551
 }
1552 1552
 
1553 1553
 function wpinv_tools_callback($args) {
@@ -1575,15 +1575,15 @@  discard block
 block discarded – undo
1575 1575
 }
1576 1576
 
1577 1577
 function wpinv_descriptive_text_callback( $args ) {
1578
-	echo wp_kses_post( $args['desc'] );
1578
+    echo wp_kses_post( $args['desc'] );
1579 1579
 }
1580 1580
 
1581 1581
 function wpinv_hook_callback( $args ) {
1582
-	do_action( 'wpinv_' . $args['id'], $args );
1582
+    do_action( 'wpinv_' . $args['id'], $args );
1583 1583
 }
1584 1584
 
1585 1585
 function wpinv_set_settings_cap() {
1586
-	return wpinv_get_capability();
1586
+    return wpinv_get_capability();
1587 1587
 }
1588 1588
 add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' );
1589 1589
 
Please login to merge, or discard this patch.
Spacing   +559 added lines, -559 removed lines patch added patch discarded remove patch
@@ -1,66 +1,66 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 // MUST have WordPress.
3
-if ( !defined( 'WPINC' ) ) {
4
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
3
+if (!defined('WPINC')) {
4
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
5 5
 }
6 6
 
7
-function wpinv_get_option( $key = '', $default = false ) {
7
+function wpinv_get_option($key = '', $default = false) {
8 8
     global $wpinv_options;
9 9
 
10
-    $value = isset( $wpinv_options[ $key ] ) ? $wpinv_options[ $key ] : $default;
11
-    $value = apply_filters( 'wpinv_get_option', $value, $key, $default );
10
+    $value = isset($wpinv_options[$key]) ? $wpinv_options[$key] : $default;
11
+    $value = apply_filters('wpinv_get_option', $value, $key, $default);
12 12
 
13
-    return apply_filters( 'wpinv_get_option_' . $key, $value, $key, $default );
13
+    return apply_filters('wpinv_get_option_' . $key, $value, $key, $default);
14 14
 }
15 15
 
16
-function wpinv_update_option( $key = '', $value = false ) {
16
+function wpinv_update_option($key = '', $value = false) {
17 17
     // If no key, exit
18
-    if ( empty( $key ) ) {
18
+    if (empty($key)) {
19 19
         return false;
20 20
     }
21 21
 
22
-    if ( empty( $value ) ) {
23
-        $remove_option = wpinv_delete_option( $key );
22
+    if (empty($value)) {
23
+        $remove_option = wpinv_delete_option($key);
24 24
         return $remove_option;
25 25
     }
26 26
 
27 27
     // First let's grab the current settings
28
-    $options = get_option( 'wpinv_settings' );
28
+    $options = get_option('wpinv_settings');
29 29
 
30 30
     // Let other plugin alter the value
31
-    $value = apply_filters( 'wpinv_update_option', $value, $key );
31
+    $value = apply_filters('wpinv_update_option', $value, $key);
32 32
 
33 33
     // Next let's try to update the value
34
-    $options[ $key ] = $value;
35
-    $did_update = update_option( 'wpinv_settings', $options );
34
+    $options[$key] = $value;
35
+    $did_update = update_option('wpinv_settings', $options);
36 36
 
37 37
     // If it's updated, let's update the global variable
38
-    if ( $did_update ) {
38
+    if ($did_update) {
39 39
         global $wpinv_options;
40
-        $wpinv_options[ $key ] = $value;
40
+        $wpinv_options[$key] = $value;
41 41
     }
42 42
 
43 43
     return $did_update;
44 44
 }
45 45
 
46
-function wpinv_delete_option( $key = '' ) {
46
+function wpinv_delete_option($key = '') {
47 47
     // If no key, exit
48
-    if ( empty( $key ) ) {
48
+    if (empty($key)) {
49 49
         return false;
50 50
     }
51 51
 
52 52
     // First let's grab the current settings
53
-    $options = get_option( 'wpinv_settings' );
53
+    $options = get_option('wpinv_settings');
54 54
 
55 55
     // Next let's try to update the value
56
-    if( isset( $options[ $key ] ) ) {
57
-        unset( $options[ $key ] );
56
+    if (isset($options[$key])) {
57
+        unset($options[$key]);
58 58
     }
59 59
 
60
-    $did_update = update_option( 'wpinv_settings', $options );
60
+    $did_update = update_option('wpinv_settings', $options);
61 61
 
62 62
     // If it updated, let's update the global variable
63
-    if ( $did_update ){
63
+    if ($did_update) {
64 64
         global $wpinv_options;
65 65
         $wpinv_options = $options;
66 66
     }
@@ -69,37 +69,37 @@  discard block
 block discarded – undo
69 69
 }
70 70
 
71 71
 function wpinv_get_settings() {
72
-    $settings = get_option( 'wpinv_settings' );
72
+    $settings = get_option('wpinv_settings');
73 73
 
74
-    if ( empty( $settings ) ) {
74
+    if (empty($settings)) {
75 75
         // Update old settings with new single option
76
-        $general_settings   = is_array( get_option( 'wpinv_settings_general' ) )    ? get_option( 'wpinv_settings_general' )    : array();
77
-        $gateways_settings  = is_array( get_option( 'wpinv_settings_gateways' ) )   ? get_option( 'wpinv_settings_gateways' )   : array();
78
-        $email_settings     = is_array( get_option( 'wpinv_settings_emails' ) )     ? get_option( 'wpinv_settings_emails' )     : array();
79
-        $tax_settings       = is_array( get_option( 'wpinv_settings_taxes' ) )      ? get_option( 'wpinv_settings_taxes' )      : array();
80
-        $misc_settings      = is_array( get_option( 'wpinv_settings_misc' ) )       ? get_option( 'wpinv_settings_misc' )       : array();
81
-        $tool_settings      = is_array( get_option( 'wpinv_settings_tools' ) )      ? get_option( 'wpinv_settings_tools' )      : array();
76
+        $general_settings   = is_array(get_option('wpinv_settings_general')) ? get_option('wpinv_settings_general') : array();
77
+        $gateways_settings  = is_array(get_option('wpinv_settings_gateways')) ? get_option('wpinv_settings_gateways') : array();
78
+        $email_settings     = is_array(get_option('wpinv_settings_emails')) ? get_option('wpinv_settings_emails') : array();
79
+        $tax_settings       = is_array(get_option('wpinv_settings_taxes')) ? get_option('wpinv_settings_taxes') : array();
80
+        $misc_settings      = is_array(get_option('wpinv_settings_misc')) ? get_option('wpinv_settings_misc') : array();
81
+        $tool_settings      = is_array(get_option('wpinv_settings_tools')) ? get_option('wpinv_settings_tools') : array();
82 82
 
83
-        $settings = array_merge( $general_settings, $gateways_settings, $email_settings, $tax_settings, $misc_settings, $tool_settings );
83
+        $settings = array_merge($general_settings, $gateways_settings, $email_settings, $tax_settings, $misc_settings, $tool_settings);
84 84
 
85
-        update_option( 'wpinv_settings', $settings );
85
+        update_option('wpinv_settings', $settings);
86 86
 
87 87
     }
88
-    return apply_filters( 'wpinv_get_settings', $settings );
88
+    return apply_filters('wpinv_get_settings', $settings);
89 89
 }
90 90
 
91 91
 function wpinv_register_settings() {
92
-    if ( false == get_option( 'wpinv_settings' ) ) {
93
-        add_option( 'wpinv_settings' );
92
+    if (false == get_option('wpinv_settings')) {
93
+        add_option('wpinv_settings');
94 94
     }
95 95
     
96 96
     $register_settings = wpinv_get_registered_settings();
97 97
     
98
-    foreach ( $register_settings as $tab => $sections ) {
99
-        foreach ( $sections as $section => $settings) {
98
+    foreach ($register_settings as $tab => $sections) {
99
+        foreach ($sections as $section => $settings) {
100 100
             // Check for backwards compatibility
101
-            $section_tabs = wpinv_get_settings_tab_sections( $tab );
102
-            if ( ! is_array( $section_tabs ) || ! array_key_exists( $section, $section_tabs ) ) {
101
+            $section_tabs = wpinv_get_settings_tab_sections($tab);
102
+            if (!is_array($section_tabs) || !array_key_exists($section, $section_tabs)) {
103 103
                 $section = 'main';
104 104
                 $settings = $sections;
105 105
             }
@@ -111,41 +111,41 @@  discard block
 block discarded – undo
111 111
                 'wpinv_settings_' . $tab . '_' . $section
112 112
             );
113 113
 
114
-            foreach ( $settings as $option ) {
114
+            foreach ($settings as $option) {
115 115
                 // For backwards compatibility
116
-                if ( empty( $option['id'] ) ) {
116
+                if (empty($option['id'])) {
117 117
                     continue;
118 118
                 }
119 119
 
120
-                $name = isset( $option['name'] ) ? $option['name'] : '';
120
+                $name = isset($option['name']) ? $option['name'] : '';
121 121
 
122 122
                 add_settings_field(
123 123
                     'wpinv_settings[' . $option['id'] . ']',
124 124
                     $name,
125
-                    function_exists( 'wpinv_' . $option['type'] . '_callback' ) ? 'wpinv_' . $option['type'] . '_callback' : 'wpinv_missing_callback',
125
+                    function_exists('wpinv_' . $option['type'] . '_callback') ? 'wpinv_' . $option['type'] . '_callback' : 'wpinv_missing_callback',
126 126
                     'wpinv_settings_' . $tab . '_' . $section,
127 127
                     'wpinv_settings_' . $tab . '_' . $section,
128 128
                     array(
129 129
                         'section'     => $section,
130
-                        'id'          => isset( $option['id'] )          ? $option['id']          : null,
131
-                        'desc'        => ! empty( $option['desc'] )      ? $option['desc']        : '',
132
-                        'name'        => isset( $option['name'] )        ? $option['name']        : null,
133
-                        'size'        => isset( $option['size'] )        ? $option['size']        : null,
134
-                        'options'     => isset( $option['options'] )     ? $option['options']     : '',
135
-                        'selected'    => isset( $option['selected'] )    ? $option['selected']    : null,
136
-                        'std'         => isset( $option['std'] )         ? $option['std']         : '',
137
-                        'min'         => isset( $option['min'] )         ? $option['min']         : null,
138
-                        'max'         => isset( $option['max'] )         ? $option['max']         : null,
139
-                        'step'        => isset( $option['step'] )        ? $option['step']        : null,
140
-                        'placeholder' => isset( $option['placeholder'] ) ? $option['placeholder'] : null,
141
-                        'allow_blank' => isset( $option['allow_blank'] ) ? $option['allow_blank'] : true,
142
-                        'readonly'    => isset( $option['readonly'] )    ? $option['readonly']    : false,
143
-                        'faux'        => isset( $option['faux'] )        ? $option['faux']        : false,
144
-                        'onchange'    => !empty( $option['onchange'] )   ? $option['onchange']    : '',
145
-                        'custom'      => !empty( $option['custom'] )     ? $option['custom']      : '',
146
-                        'class'       =>  !empty( $option['class'] )     ? $option['class']      : '',
147
-                        'cols'        => !empty( $option['cols'] ) && (int)$option['cols'] > 0 ? (int)$option['cols'] : 50,
148
-                        'rows'        => !empty( $option['rows'] ) && (int)$option['rows'] > 0 ? (int)$option['rows'] : 5,
130
+                        'id'          => isset($option['id']) ? $option['id'] : null,
131
+                        'desc'        => !empty($option['desc']) ? $option['desc'] : '',
132
+                        'name'        => isset($option['name']) ? $option['name'] : null,
133
+                        'size'        => isset($option['size']) ? $option['size'] : null,
134
+                        'options'     => isset($option['options']) ? $option['options'] : '',
135
+                        'selected'    => isset($option['selected']) ? $option['selected'] : null,
136
+                        'std'         => isset($option['std']) ? $option['std'] : '',
137
+                        'min'         => isset($option['min']) ? $option['min'] : null,
138
+                        'max'         => isset($option['max']) ? $option['max'] : null,
139
+                        'step'        => isset($option['step']) ? $option['step'] : null,
140
+                        'placeholder' => isset($option['placeholder']) ? $option['placeholder'] : null,
141
+                        'allow_blank' => isset($option['allow_blank']) ? $option['allow_blank'] : true,
142
+                        'readonly'    => isset($option['readonly']) ? $option['readonly'] : false,
143
+                        'faux'        => isset($option['faux']) ? $option['faux'] : false,
144
+                        'onchange'    => !empty($option['onchange']) ? $option['onchange'] : '',
145
+                        'custom'      => !empty($option['custom']) ? $option['custom'] : '',
146
+                        'class'       =>  !empty($option['class']) ? $option['class'] : '',
147
+                        'cols'        => !empty($option['cols']) && (int)$option['cols'] > 0 ? (int)$option['cols'] : 50,
148
+                        'rows'        => !empty($option['rows']) && (int)$option['rows'] > 0 ? (int)$option['rows'] : 5,
149 149
                     )
150 150
                 );
151 151
             }
@@ -153,203 +153,203 @@  discard block
 block discarded – undo
153 153
     }
154 154
 
155 155
     // Creates our settings in the options table
156
-    register_setting( 'wpinv_settings', 'wpinv_settings', 'wpinv_settings_sanitize' );
156
+    register_setting('wpinv_settings', 'wpinv_settings', 'wpinv_settings_sanitize');
157 157
 }
158
-add_action( 'admin_init', 'wpinv_register_settings' );
158
+add_action('admin_init', 'wpinv_register_settings');
159 159
 
160 160
 function wpinv_get_registered_settings() {
161
-    $pages = wpinv_get_pages( true );
161
+    $pages = wpinv_get_pages(true);
162 162
     
163 163
     $currencies = wpinv_get_currencies();
164 164
     
165 165
     $currency_code_options = array();
166
-    foreach ( $currencies as $code => $name ) {
167
-        $currency_code_options[ $code ] = $code . ' - ' . $name . ' (' . wpinv_currency_symbol( $code ) . ')';
166
+    foreach ($currencies as $code => $name) {
167
+        $currency_code_options[$code] = $code . ' - ' . $name . ' (' . wpinv_currency_symbol($code) . ')';
168 168
     }
169 169
     
170 170
     $due_payment_options       = array();
171
-    $due_payment_options[0]    = __( 'Now', 'invoicing' );
172
-    for ( $i = 1; $i <= 30; $i++ ) {
171
+    $due_payment_options[0]    = __('Now', 'invoicing');
172
+    for ($i = 1; $i <= 30; $i++) {
173 173
         $due_payment_options[$i] = $i;
174 174
     }
175 175
     
176 176
     $invoice_number_padd_options = array();
177
-    for ( $i = 0; $i <= 20; $i++ ) {
177
+    for ($i = 0; $i <= 20; $i++) {
178 178
         $invoice_number_padd_options[$i] = $i;
179 179
     }
180 180
     
181 181
     $currency_symbol = wpinv_currency_symbol();
182 182
     
183 183
     $last_number = $reset_number = '';
184
-    if ( $last_invoice_number = get_option( 'wpinv_last_invoice_number' ) ) {
185
-        $last_invoice_number = is_numeric( $last_invoice_number ) ? $last_invoice_number : wpinv_clean_invoice_number( $last_invoice_number );
184
+    if ($last_invoice_number = get_option('wpinv_last_invoice_number')) {
185
+        $last_invoice_number = is_numeric($last_invoice_number) ? $last_invoice_number : wpinv_clean_invoice_number($last_invoice_number);
186 186
 
187
-        if ( !empty( $last_invoice_number ) ) {
188
-            $last_number = ' ' . wp_sprintf( __( "( Last Invoice's sequential number: <b>%s</b> )", 'invoicing' ), $last_invoice_number );
187
+        if (!empty($last_invoice_number)) {
188
+            $last_number = ' ' . wp_sprintf(__("( Last Invoice's sequential number: <b>%s</b> )", 'invoicing'), $last_invoice_number);
189 189
         }
190 190
 
191 191
         $nonce = wp_create_nonce('reset_invoice_count');
192
-        $reset_number = '<a href="'.add_query_arg(array('reset_invoice_count' => 1, '_nonce' => $nonce)).'" class="btn button">'.__('Force Reset Sequence', 'invoicing' ). '</a>';
192
+        $reset_number = '<a href="' . add_query_arg(array('reset_invoice_count' => 1, '_nonce' => $nonce)) . '" class="btn button">' . __('Force Reset Sequence', 'invoicing') . '</a>';
193 193
     }
194 194
     
195 195
     $alert_wrapper_start = '<p style="color: #F00">';
196 196
     $alert_wrapper_close = '</p>';
197 197
     $wpinv_settings = array(
198
-        'general' => apply_filters( 'wpinv_settings_general',
198
+        'general' => apply_filters('wpinv_settings_general',
199 199
             array(
200 200
                 'main' => array(
201 201
                     'location_settings' => array(
202 202
                         'id'   => 'location_settings',
203
-                        'name' => '<h3>' . __( 'Default Location', 'invoicing' ) . '</h3>',
203
+                        'name' => '<h3>' . __('Default Location', 'invoicing') . '</h3>',
204 204
                         'desc' => '',
205 205
                         'type' => 'header',
206 206
                     ),
207 207
                     'default_country' => array(
208 208
                         'id'      => 'default_country',
209
-                        'name'    => __( 'Default Country', 'invoicing' ),
210
-                        'desc'    => __( 'Where does your store operate from?', 'invoicing' ),
209
+                        'name'    => __('Default Country', 'invoicing'),
210
+                        'desc'    => __('Where does your store operate from?', 'invoicing'),
211 211
                         'type'    => 'select',
212 212
                         'options' => wpinv_get_country_list(),
213 213
                         'std'     => 'GB',
214 214
                         'class'   => 'wpi_select2',
215
-                        'placeholder' => __( 'Select a country', 'invoicing' ),
215
+                        'placeholder' => __('Select a country', 'invoicing'),
216 216
                     ),
217 217
                     'default_state' => array(
218 218
                         'id'      => 'default_state',
219
-                        'name'    => __( 'Default State / Province', 'invoicing' ),
220
-                        'desc'    => __( 'What state / province does your store operate from?', 'invoicing' ),
219
+                        'name'    => __('Default State / Province', 'invoicing'),
220
+                        'desc'    => __('What state / province does your store operate from?', 'invoicing'),
221 221
                         'type'    => 'country_states',
222 222
                         'class'   => 'wpi_select2',
223
-                        'placeholder' => __( 'Select a state', 'invoicing' ),
223
+                        'placeholder' => __('Select a state', 'invoicing'),
224 224
                     ),
225 225
                     'store_name' => array(
226 226
                         'id'   => 'store_name',
227
-                        'name' => __( 'Store Name', 'invoicing' ),
228
-                        'desc' => __( 'Store name to print on invoices.', 'invoicing' ),
227
+                        'name' => __('Store Name', 'invoicing'),
228
+                        'desc' => __('Store name to print on invoices.', 'invoicing'),
229 229
                         'std'     => get_option('blogname'),
230 230
                         'type' => 'text',
231 231
                     ),
232 232
                     'logo' => array(
233 233
                         'id'   => 'logo',
234
-                        'name' => __( 'Logo URL', 'invoicing' ),
235
-                        'desc' => __( 'Store logo to print on invoices.', 'invoicing' ),
234
+                        'name' => __('Logo URL', 'invoicing'),
235
+                        'desc' => __('Store logo to print on invoices.', 'invoicing'),
236 236
                         'type' => 'text',
237 237
                     ),
238 238
                     'store_address' => array(
239 239
                         'id'   => 'store_address',
240
-                        'name' => __( 'Store Address', 'invoicing' ),
241
-                        'desc' => __( 'Enter the store address to display on invoice', 'invoicing' ),
240
+                        'name' => __('Store Address', 'invoicing'),
241
+                        'desc' => __('Enter the store address to display on invoice', 'invoicing'),
242 242
                         'type' => 'textarea',
243 243
                     ),
244 244
                     'page_settings' => array(
245 245
                         'id'   => 'page_settings',
246
-                        'name' => '<h3>' . __( 'Page Settings', 'invoicing' ) . '</h3>',
246
+                        'name' => '<h3>' . __('Page Settings', 'invoicing') . '</h3>',
247 247
                         'desc' => '',
248 248
                         'type' => 'header',
249 249
                     ),
250 250
                     'checkout_page' => array(
251 251
                         'id'          => 'checkout_page',
252
-                        'name'        => __( 'Checkout Page', 'invoicing' ),
253
-                        'desc'        => __( 'This is the checkout page where buyers will complete their payments. The <b>[wpinv_checkout]</b> short code must be on this page.', 'invoicing' ),
252
+                        'name'        => __('Checkout Page', 'invoicing'),
253
+                        'desc'        => __('This is the checkout page where buyers will complete their payments. The <b>[wpinv_checkout]</b> short code must be on this page.', 'invoicing'),
254 254
                         'type'        => 'select',
255 255
                         'options'     => $pages,
256 256
                         'class'       => 'wpi_select2',
257
-                        'placeholder' => __( 'Select a page', 'invoicing' ),
257
+                        'placeholder' => __('Select a page', 'invoicing'),
258 258
                     ),
259 259
                     'tandc_page' => array(
260 260
                         'id'          => 'tandc_page',
261
-                        'name'        => __( 'Terms & Conditions', 'invoicing' ),
262
-                        'desc'        => __( 'If you select a "Terms & Conditions" page here the customer will be asked to accept them on checkout.', 'invoicing' ),
261
+                        'name'        => __('Terms & Conditions', 'invoicing'),
262
+                        'desc'        => __('If you select a "Terms & Conditions" page here the customer will be asked to accept them on checkout.', 'invoicing'),
263 263
                         'type'        => 'select',
264
-                        'options'     => wpinv_get_pages( true,  __( 'Select a page', 'invoicing' )),
264
+                        'options'     => wpinv_get_pages(true, __('Select a page', 'invoicing')),
265 265
                         'class'       => 'wpi_select2',
266
-                        'placeholder' => __( 'Select a page', 'invoicing' ),
266
+                        'placeholder' => __('Select a page', 'invoicing'),
267 267
                     ),
268 268
                     'success_page' => array(
269 269
                         'id'          => 'success_page',
270
-                        'name'        => __( 'Success Page', 'invoicing' ),
271
-                        'desc'        => __( 'This is the page buyers are sent to after completing their payments. The <b>[wpinv_receipt]</b> short code should be on this page.', 'invoicing' ),
270
+                        'name'        => __('Success Page', 'invoicing'),
271
+                        'desc'        => __('This is the page buyers are sent to after completing their payments. The <b>[wpinv_receipt]</b> short code should be on this page.', 'invoicing'),
272 272
                         'type'        => 'select',
273 273
                         'options'     => $pages,
274 274
                         'class'       => 'wpi_select2',
275
-                        'placeholder' => __( 'Select a page', 'invoicing' ),
275
+                        'placeholder' => __('Select a page', 'invoicing'),
276 276
                     ),
277 277
                     'failure_page' => array(
278 278
                         'id'          => 'failure_page',
279
-                        'name'        => __( 'Failed Transaction Page', 'invoicing' ),
280
-                        'desc'        => __( 'This is the page buyers are sent to if their transaction is cancelled or fails.', 'invoicing' ),
279
+                        'name'        => __('Failed Transaction Page', 'invoicing'),
280
+                        'desc'        => __('This is the page buyers are sent to if their transaction is cancelled or fails.', 'invoicing'),
281 281
                         'type'        => 'select',
282 282
                         'options'     => $pages,
283 283
                         'class'       => 'wpi_select2',
284
-                        'placeholder' => __( 'Select a page', 'invoicing' ),
284
+                        'placeholder' => __('Select a page', 'invoicing'),
285 285
                     ),
286 286
                     'invoice_history_page' => array(
287 287
                         'id'          => 'invoice_history_page',
288
-                        'name'        => __( 'Invoice History Page', 'invoicing' ),
289
-                        'desc'        => __( 'This page shows an invoice history for the current user. The <b>[wpinv_history]</b> short code should be on this page.', 'invoicing' ),
288
+                        'name'        => __('Invoice History Page', 'invoicing'),
289
+                        'desc'        => __('This page shows an invoice history for the current user. The <b>[wpinv_history]</b> short code should be on this page.', 'invoicing'),
290 290
                         'type'        => 'select',
291 291
                         'options'     => $pages,
292 292
                         'class'       => 'wpi_select2',
293
-                        'placeholder' => __( 'Select a page', 'invoicing' ),
293
+                        'placeholder' => __('Select a page', 'invoicing'),
294 294
                     ),
295 295
                     'invoice_subscription_page' => array(
296 296
                         'id'          => 'invoice_subscription_page',
297
-                        'name'        => __( 'Invoice Subscriptions Page', 'invoicing' ),
298
-                        'desc'        => __( 'This page shows subscriptions history for the current user. The <b>[wpinv_subscriptions]</b> short code should be on this page.', 'invoicing' ),
297
+                        'name'        => __('Invoice Subscriptions Page', 'invoicing'),
298
+                        'desc'        => __('This page shows subscriptions history for the current user. The <b>[wpinv_subscriptions]</b> short code should be on this page.', 'invoicing'),
299 299
                         'type'        => 'select',
300 300
                         'options'     => $pages,
301 301
                         'class'       => 'wpi_select2',
302
-                        'placeholder' => __( 'Select a page', 'invoicing' ),
302
+                        'placeholder' => __('Select a page', 'invoicing'),
303 303
                     ),
304 304
                 ),
305 305
                 'currency_section' => array(
306 306
                     'currency_settings' => array(
307 307
                         'id'   => 'currency_settings',
308
-                        'name' => '<h3>' . __( 'Currency Settings', 'invoicing' ) . '</h3>',
308
+                        'name' => '<h3>' . __('Currency Settings', 'invoicing') . '</h3>',
309 309
                         'desc' => '',
310 310
                         'type' => 'header',
311 311
                     ),
312 312
                     'currency' => array(
313 313
                         'id'      => 'currency',
314
-                        'name'    => __( 'Currency', 'invoicing' ),
315
-                        'desc'    => __( 'Choose your currency. Note that some payment gateways have currency restrictions.', 'invoicing' ),
314
+                        'name'    => __('Currency', 'invoicing'),
315
+                        'desc'    => __('Choose your currency. Note that some payment gateways have currency restrictions.', 'invoicing'),
316 316
                         'type'    => 'select',
317 317
                         'class'       => 'wpi_select2',
318 318
                         'options' => $currency_code_options,
319 319
                     ),
320 320
                     'currency_position' => array(
321 321
                         'id'      => 'currency_position',
322
-                        'name'    => __( 'Currency Position', 'invoicing' ),
323
-                        'desc'    => __( 'Choose the location of the currency sign.', 'invoicing' ),
322
+                        'name'    => __('Currency Position', 'invoicing'),
323
+                        'desc'    => __('Choose the location of the currency sign.', 'invoicing'),
324 324
                         'type'    => 'select',
325 325
                         'class'   => 'wpi_select2',
326 326
                         'options'  => array(
327
-                            'left'        => __( 'Left', 'invoicing' ) . ' (' . $currency_symbol . wpinv_format_amount( '99.99' ) . ')',
328
-                            'right'       => __( 'Right', 'invoicing' ) . ' ('. wpinv_format_amount( '99.99' ) . $currency_symbol . ')',
329
-                            'left_space'  => __( 'Left with space', 'invoicing' ) . ' (' . $currency_symbol . ' ' . wpinv_format_amount( '99.99' ) . ')',
330
-                            'right_space' => __( 'Right with space', 'invoicing' ) . ' (' . wpinv_format_amount( '99.99' ) . ' ' . $currency_symbol . ')'
327
+                            'left'        => __('Left', 'invoicing') . ' (' . $currency_symbol . wpinv_format_amount('99.99') . ')',
328
+                            'right'       => __('Right', 'invoicing') . ' (' . wpinv_format_amount('99.99') . $currency_symbol . ')',
329
+                            'left_space'  => __('Left with space', 'invoicing') . ' (' . $currency_symbol . ' ' . wpinv_format_amount('99.99') . ')',
330
+                            'right_space' => __('Right with space', 'invoicing') . ' (' . wpinv_format_amount('99.99') . ' ' . $currency_symbol . ')'
331 331
                         )
332 332
                     ),
333 333
                     'thousands_separator' => array(
334 334
                         'id'   => 'thousands_separator',
335
-                        'name' => __( 'Thousands Separator', 'invoicing' ),
336
-                        'desc' => __( 'The symbol (usually , or .) to separate thousands', 'invoicing' ),
335
+                        'name' => __('Thousands Separator', 'invoicing'),
336
+                        'desc' => __('The symbol (usually , or .) to separate thousands', 'invoicing'),
337 337
                         'type' => 'text',
338 338
                         'size' => 'small',
339 339
                         'std'  => ',',
340 340
                     ),
341 341
                     'decimal_separator' => array(
342 342
                         'id'   => 'decimal_separator',
343
-                        'name' => __( 'Decimal Separator', 'invoicing' ),
344
-                        'desc' => __( 'The symbol (usually , or .) to separate decimal points', 'invoicing' ),
343
+                        'name' => __('Decimal Separator', 'invoicing'),
344
+                        'desc' => __('The symbol (usually , or .) to separate decimal points', 'invoicing'),
345 345
                         'type' => 'text',
346 346
                         'size' => 'small',
347 347
                         'std'  => '.',
348 348
                     ),
349 349
                     'decimals' => array(
350 350
                         'id'   => 'decimals',
351
-                        'name' => __( 'Number of Decimals', 'invoicing' ),
352
-                        'desc' => __( 'This sets the number of decimal points shown in displayed prices.', 'invoicing' ),
351
+                        'name' => __('Number of Decimals', 'invoicing'),
352
+                        'desc' => __('This sets the number of decimal points shown in displayed prices.', 'invoicing'),
353 353
                         'type' => 'number',
354 354
                         'size' => 'small',
355 355
                         'std'  => '2',
@@ -361,60 +361,60 @@  discard block
 block discarded – undo
361 361
                 'labels' => array(
362 362
                     'labels' => array(
363 363
                         'id'   => 'labels_settings',
364
-                        'name' => '<h3>' . __( 'Invoice Labels', 'invoicing' ) . '</h3>',
364
+                        'name' => '<h3>' . __('Invoice Labels', 'invoicing') . '</h3>',
365 365
                         'desc' => '',
366 366
                         'type' => 'header',
367 367
                     ),
368 368
                     'vat_name' => array(
369 369
                         'id' => 'vat_name',
370
-                        'name' => __( 'VAT Name', 'invoicing' ),
371
-                        'desc' => __( 'Enter the VAT name', 'invoicing' ),
370
+                        'name' => __('VAT Name', 'invoicing'),
371
+                        'desc' => __('Enter the VAT name', 'invoicing'),
372 372
                         'type' => 'text',
373 373
                         'size' => 'regular',
374 374
                         'std' => 'VAT'
375 375
                     ),
376 376
                     'vat_invoice_notice_label' => array(
377 377
                         'id' => 'vat_invoice_notice_label',
378
-                        'name' => __( 'Invoice Notice Label', 'invoicing' ),
379
-                        'desc' => __( 'Use this to add an invoice notice section (label) to your invoices', 'invoicing' ),
378
+                        'name' => __('Invoice Notice Label', 'invoicing'),
379
+                        'desc' => __('Use this to add an invoice notice section (label) to your invoices', 'invoicing'),
380 380
                         'type' => 'text',
381 381
                         'size' => 'regular',
382 382
                     ),
383 383
                     'vat_invoice_notice' => array(
384 384
                         'id' => 'vat_invoice_notice',
385
-                        'name' => __( 'Invoice notice', 'invoicing' ),
386
-                        'desc' =>   __( 'Use this to add an invoice notice section (description) to your invoices', 'invoicing' ),
385
+                        'name' => __('Invoice notice', 'invoicing'),
386
+                        'desc' =>   __('Use this to add an invoice notice section (description) to your invoices', 'invoicing'),
387 387
                         'type' => 'text',
388 388
                         'size' => 'regular',
389 389
                     ),
390 390
                     'name_your_price' => array(
391 391
                         'id'   => 'name_your_price_settings',
392
-                        'name' => '<h3>' . __( 'Name Your Price', 'invoicing' ) . '</h3>',
392
+                        'name' => '<h3>' . __('Name Your Price', 'invoicing') . '</h3>',
393 393
                         'desc' => '',
394 394
                         'type' => 'header',
395 395
                     ),
396 396
                     'suggested_price_text' => array(
397 397
                         'id'   => 'suggested_price_text',
398
-                        'name' => __( 'Suggested Price Text', 'invoicing' ),
399
-                        'desc' => __( "The label used to indicate an item's suggested price", 'invoicing' ),
398
+                        'name' => __('Suggested Price Text', 'invoicing'),
399
+                        'desc' => __("The label used to indicate an item's suggested price", 'invoicing'),
400 400
                         'type' => 'text',
401 401
                         'size' => 'regular',
402
-                        'std'  => __( 'Suggested Price:', 'invoicing' ),
402
+                        'std'  => __('Suggested Price:', 'invoicing'),
403 403
                     ),
404 404
                     'minimum_price_text' => array(
405 405
                         'id'   => 'minimum_price_text',
406
-                        'name' => __( 'Minimum Price Text', 'invoicing' ),
407
-                        'desc' => __( "The label used to indicate an item's minimum price", 'invoicing' ),
406
+                        'name' => __('Minimum Price Text', 'invoicing'),
407
+                        'desc' => __("The label used to indicate an item's minimum price", 'invoicing'),
408 408
                         'type' => 'text',
409 409
                         'size' => 'regular',
410
-                        'std'  => __( 'Minimum Price:', 'invoicing' ),
410
+                        'std'  => __('Minimum Price:', 'invoicing'),
411 411
                     ),
412 412
                     'name_your_price_text' => array(
413 413
                         'id'   => 'name_your_price_text',
414
-                        'name' => __( 'Name Your Price Text', 'invoicing' ),
414
+                        'name' => __('Name Your Price Text', 'invoicing'),
415 415
                         'type' => 'text',
416 416
                         'size' => 'regular',
417
-                        'std'  => __( 'Name Your Price', 'invoicing' ),
417
+                        'std'  => __('Name Your Price', 'invoicing'),
418 418
                     ),
419 419
                 )
420 420
             )
@@ -424,22 +424,22 @@  discard block
 block discarded – undo
424 424
                 'main' => array(
425 425
                     'gateway_settings' => array(
426 426
                         'id'   => 'api_header',
427
-                        'name' => '<h3>' . __( 'Gateway Settings', 'invoicing' ) . '</h3>',
427
+                        'name' => '<h3>' . __('Gateway Settings', 'invoicing') . '</h3>',
428 428
                         'desc' => '',
429 429
                         'type' => 'header',
430 430
                     ),
431 431
                     'gateways' => array(
432 432
                         'id'      => 'gateways',
433
-                        'name'    => __( 'Payment Gateways', 'invoicing' ),
434
-                        'desc'    => __( 'Choose the payment gateways you want to enable.', 'invoicing' ),
433
+                        'name'    => __('Payment Gateways', 'invoicing'),
434
+                        'desc'    => __('Choose the payment gateways you want to enable.', 'invoicing'),
435 435
                         'type'    => 'gateways',
436 436
                         'std'     => array('manual'=>1),
437 437
                         'options' => wpinv_get_payment_gateways(),
438 438
                     ),
439 439
                     'default_gateway' => array(
440 440
                         'id'      => 'default_gateway',
441
-                        'name'    => __( 'Default Gateway', 'invoicing' ),
442
-                        'desc'    => __( 'This gateway will be loaded automatically with the checkout page.', 'invoicing' ),
441
+                        'name'    => __('Default Gateway', 'invoicing'),
442
+                        'desc'    => __('This gateway will be loaded automatically with the checkout page.', 'invoicing'),
443 443
                         'type'    => 'gateway_select',
444 444
                         'std'     => 'manual',
445 445
                         'class'   => 'wpi_select2',
@@ -454,19 +454,19 @@  discard block
 block discarded – undo
454 454
                 'main' => array(
455 455
                     'tax_settings' => array(
456 456
                         'id'   => 'tax_settings',
457
-                        'name' => '<h3>' . __( 'Tax Settings', 'invoicing' ) . '</h3>',
457
+                        'name' => '<h3>' . __('Tax Settings', 'invoicing') . '</h3>',
458 458
                         'type' => 'header',
459 459
                     ),
460 460
                     'enable_taxes' => array(
461 461
                         'id'   => 'enable_taxes',
462
-                        'name' => __( 'Enable Taxes', 'invoicing' ),
463
-                        'desc' => __( 'Check this to enable taxes on invoices.', 'invoicing' ),
462
+                        'name' => __('Enable Taxes', 'invoicing'),
463
+                        'desc' => __('Check this to enable taxes on invoices.', 'invoicing'),
464 464
                         'type' => 'checkbox',
465 465
                     ),
466 466
                     'tax_rate' => array(
467 467
                         'id'   => 'tax_rate',
468
-                        'name' => __( 'Fallback Tax Rate', 'invoicing' ),
469
-                        'desc' => __( 'Enter a percentage, such as 6.5. Customers not in a specific rate will be charged this rate.', 'invoicing' ),
468
+                        'name' => __('Fallback Tax Rate', 'invoicing'),
469
+                        'desc' => __('Enter a percentage, such as 6.5. Customers not in a specific rate will be charged this rate.', 'invoicing'),
470 470
                         'type' => 'number',
471 471
                         'size' => 'small',
472 472
                         'min'  => '0',
@@ -478,8 +478,8 @@  discard block
 block discarded – undo
478 478
                 'rates' => array(
479 479
                     'tax_rates' => array(
480 480
                         'id'   => 'tax_rates',
481
-                        'name' => '<h3>' . __( 'Tax Rates', 'invoicing' ) . '</h3>',
482
-                        'desc' => __( 'Enter tax rates for specific regions.', 'invoicing' ),
481
+                        'name' => '<h3>' . __('Tax Rates', 'invoicing') . '</h3>',
482
+                        'desc' => __('Enter tax rates for specific regions.', 'invoicing'),
483 483
                         'type' => 'tax_rates',
484 484
                     ),
485 485
                 )
@@ -491,61 +491,61 @@  discard block
 block discarded – undo
491 491
                 'main' => array(
492 492
                     'email_settings_header' => array(
493 493
                         'id'   => 'email_settings_header',
494
-                        'name' => '<h3>' . __( 'Email Sender Options', 'invoicing' ) . '</h3>',
494
+                        'name' => '<h3>' . __('Email Sender Options', 'invoicing') . '</h3>',
495 495
                         'type' => 'header',
496 496
                     ),
497 497
                     'email_from_name' => array(
498 498
                         'id'   => 'email_from_name',
499
-                        'name' => __( 'From Name', 'invoicing' ),
500
-                        'desc' => __( 'Enter the sender\'s name appears in outgoing invoice emails. This should be your site name.', 'invoicing' ),
501
-                        'std' => esc_attr( get_bloginfo( 'name', 'display' ) ),
499
+                        'name' => __('From Name', 'invoicing'),
500
+                        'desc' => __('Enter the sender\'s name appears in outgoing invoice emails. This should be your site name.', 'invoicing'),
501
+                        'std' => esc_attr(get_bloginfo('name', 'display')),
502 502
                         'type' => 'text',
503 503
                     ),
504 504
                     'email_from' => array(
505 505
                         'id'   => 'email_from',
506
-                        'name' => __( 'From Email', 'invoicing' ),
507
-                        'desc' => sprintf (__( 'Email address to send invoice emails from. This will act as the "from" and "reply-to" address. %s If emails are not being sent it may be that your hosting prevents emails being sent if the email domains do not match.%s', 'invoicing' ), $alert_wrapper_start, $alert_wrapper_close),
508
-                        'std' => get_option( 'admin_email' ),
506
+                        'name' => __('From Email', 'invoicing'),
507
+                        'desc' => sprintf(__('Email address to send invoice emails from. This will act as the "from" and "reply-to" address. %s If emails are not being sent it may be that your hosting prevents emails being sent if the email domains do not match.%s', 'invoicing'), $alert_wrapper_start, $alert_wrapper_close),
508
+                        'std' => get_option('admin_email'),
509 509
                         'type' => 'text',
510 510
                     ),
511 511
                     'overdue_settings_header' => array(
512 512
                         'id'   => 'overdue_settings_header',
513
-                        'name' => '<h3>' . __( 'Due Date Settings', 'invoicing' ) . '</h3>',
513
+                        'name' => '<h3>' . __('Due Date Settings', 'invoicing') . '</h3>',
514 514
                         'type' => 'header',
515 515
                     ),
516 516
                     'overdue_active' => array(
517 517
                         'id'   => 'overdue_active',
518
-                        'name' => __( 'Enable Due Date', 'invoicing' ),
519
-                        'desc' => __( 'Check this to enable due date option for invoices.', 'invoicing' ),
518
+                        'name' => __('Enable Due Date', 'invoicing'),
519
+                        'desc' => __('Check this to enable due date option for invoices.', 'invoicing'),
520 520
                         'type' => 'checkbox',
521 521
                         'std'  => false,
522 522
                     ),
523 523
                     'overdue_days' => array(
524 524
                         'id'          => 'overdue_days',
525
-                        'name'        => __( 'Default Due Date', 'invoicing' ),
526
-                        'desc'        => __( 'Number of days each Invoice is due after the created date. This will automatically set the date in the "Due Date" field. Can be overridden on individual Invoices.', 'invoicing' ),
525
+                        'name'        => __('Default Due Date', 'invoicing'),
526
+                        'desc'        => __('Number of days each Invoice is due after the created date. This will automatically set the date in the "Due Date" field. Can be overridden on individual Invoices.', 'invoicing'),
527 527
                         'type'        => 'select',
528 528
                         'options'     => $due_payment_options,
529 529
                         'std'         => 0,
530
-                        'placeholder' => __( 'Select a page', 'invoicing' ),
530
+                        'placeholder' => __('Select a page', 'invoicing'),
531 531
                     ),
532 532
                     'email_template_header' => array(
533 533
                         'id'   => 'email_template_header',
534
-                        'name' => '<h3>' . __( 'Email Template', 'invoicing' ) . '</h3>',
534
+                        'name' => '<h3>' . __('Email Template', 'invoicing') . '</h3>',
535 535
                         'type' => 'header',
536 536
                     ),
537 537
                     'email_header_image' => array(
538 538
                         'id'   => 'email_header_image',
539
-                        'name' => __( 'Header Image', 'invoicing' ),
540
-                        'desc' => __( 'URL to an image you want to show in the email header. Upload images using the media uploader (Admin > Media).', 'invoicing' ),
539
+                        'name' => __('Header Image', 'invoicing'),
540
+                        'desc' => __('URL to an image you want to show in the email header. Upload images using the media uploader (Admin > Media).', 'invoicing'),
541 541
                         'std' => '',
542 542
                         'type' => 'text',
543 543
                     ),
544 544
                     'email_footer_text' => array(
545 545
                         'id'   => 'email_footer_text',
546
-                        'name' => __( 'Footer Text', 'invoicing' ),
547
-                        'desc' => __( 'The text to appear in the footer of all invoice emails.', 'invoicing' ),
548
-                        'std' => get_bloginfo( 'name', 'display' ) . ' - ' . __( 'Powered by GeoDirectory', 'invoicing' ),
546
+                        'name' => __('Footer Text', 'invoicing'),
547
+                        'desc' => __('The text to appear in the footer of all invoice emails.', 'invoicing'),
548
+                        'std' => get_bloginfo('name', 'display') . ' - ' . __('Powered by GeoDirectory', 'invoicing'),
549 549
                         'type' => 'textarea',
550 550
                         'class' => 'regular-text',
551 551
                         'rows' => 2,
@@ -553,29 +553,29 @@  discard block
 block discarded – undo
553 553
                     ),
554 554
                     'email_base_color' => array(
555 555
                         'id'   => 'email_base_color',
556
-                        'name' => __( 'Base Color', 'invoicing' ),
557
-                        'desc' => __( 'The base color for invoice email template. Default <code>#557da2</code>.', 'invoicing' ),
556
+                        'name' => __('Base Color', 'invoicing'),
557
+                        'desc' => __('The base color for invoice email template. Default <code>#557da2</code>.', 'invoicing'),
558 558
                         'std' => '#557da2',
559 559
                         'type' => 'color',
560 560
                     ),
561 561
                     'email_background_color' => array(
562 562
                         'id'   => 'email_background_color',
563
-                        'name' => __( 'Background Color', 'invoicing' ),
564
-                        'desc' => __( 'The background color of email template. Default <code>#f5f5f5</code>.', 'invoicing' ),
563
+                        'name' => __('Background Color', 'invoicing'),
564
+                        'desc' => __('The background color of email template. Default <code>#f5f5f5</code>.', 'invoicing'),
565 565
                         'std' => '#f5f5f5',
566 566
                         'type' => 'color',
567 567
                     ),
568 568
                     'email_body_background_color' => array(
569 569
                         'id'   => 'email_body_background_color',
570
-                        'name' => __( 'Body Background Color', 'invoicing' ),
571
-                        'desc' => __( 'The main body background color of email template. Default <code>#fdfdfd</code>.', 'invoicing' ),
570
+                        'name' => __('Body Background Color', 'invoicing'),
571
+                        'desc' => __('The main body background color of email template. Default <code>#fdfdfd</code>.', 'invoicing'),
572 572
                         'std' => '#fdfdfd',
573 573
                         'type' => 'color',
574 574
                     ),
575 575
                     'email_text_color' => array(
576 576
                         'id'   => 'email_text_color',
577
-                        'name' => __( 'Body Text Color', 'invoicing' ),
578
-                        'desc' => __( 'The main body text color. Default <code>#505050</code>.', 'invoicing' ),
577
+                        'name' => __('Body Text Color', 'invoicing'),
578
+                        'desc' => __('The main body text color. Default <code>#505050</code>.', 'invoicing'),
579 579
                         'std' => '#505050',
580 580
                         'type' => 'color',
581 581
                     ),
@@ -594,26 +594,26 @@  discard block
 block discarded – undo
594 594
                 'main' => array(
595 595
                     'invoicing_privacy_policy_settings' => array(
596 596
                         'id'   => 'invoicing_privacy_policy_settings',
597
-                        'name' => '<h3>' . __( 'Privacy Policy', 'invoicing' ) . '</h3>',
597
+                        'name' => '<h3>' . __('Privacy Policy', 'invoicing') . '</h3>',
598 598
                         'type' => 'header',
599 599
                     ),
600 600
                     'privacy_page' => array(
601 601
                         'id'          => 'privacy_page',
602
-                        'name'        => __( 'Privacy Page', 'invoicing' ),
603
-                        'desc'        => __( 'If no privacy policy page set in Settings->Privacy default settings, this page will be used on checkout page.', 'invoicing' ),
602
+                        'name'        => __('Privacy Page', 'invoicing'),
603
+                        'desc'        => __('If no privacy policy page set in Settings->Privacy default settings, this page will be used on checkout page.', 'invoicing'),
604 604
                         'type'        => 'select',
605
-                        'options'     => wpinv_get_pages( true,  __( 'Select a page', 'invoicing' )),
605
+                        'options'     => wpinv_get_pages(true, __('Select a page', 'invoicing')),
606 606
                         'class'       => 'wpi_select2',
607
-                        'placeholder' => __( 'Select a page', 'invoicing' ),
607
+                        'placeholder' => __('Select a page', 'invoicing'),
608 608
                     ),
609 609
                     'invoicing_privacy_checkout_message' => array(
610 610
                         'id' => 'invoicing_privacy_checkout_message',
611
-                        'name' => __( 'Checkout privacy policy', 'invoicing' ),
612
-                        'desc' => __( 'Optionally add privacy policy message which will display on checkout page.', 'invoicing' ),
611
+                        'name' => __('Checkout privacy policy', 'invoicing'),
612
+                        'desc' => __('Optionally add privacy policy message which will display on checkout page.', 'invoicing'),
613 613
                         'type' => 'textarea',
614 614
                         'class'=> 'regular-text',
615 615
                         'rows' => 4,
616
-                        'std'  => sprintf( __( 'Your personal data will be used to process your invoice, payment and for other purposes described in our %s.', 'invoicing' ), '[wpinv_privacy_policy]' ),
616
+                        'std'  => sprintf(__('Your personal data will be used to process your invoice, payment and for other purposes described in our %s.', 'invoicing'), '[wpinv_privacy_policy]'),
617 617
                     ),
618 618
                 ),
619 619
             )
@@ -624,19 +624,19 @@  discard block
 block discarded – undo
624 624
                 'main' => array(
625 625
                     'invoice_number_format_settings' => array(
626 626
                         'id'   => 'invoice_number_format_settings',
627
-                        'name' => '<h3>' . __( 'Invoice Number', 'invoicing' ) . '</h3>',
627
+                        'name' => '<h3>' . __('Invoice Number', 'invoicing') . '</h3>',
628 628
                         'type' => 'header',
629 629
                     ),
630 630
                     'sequential_invoice_number' => array(
631 631
                         'id'   => 'sequential_invoice_number',
632
-                        'name' => __( 'Sequential Invoice Numbers', 'invoicing' ),
633
-                        'desc' => __('Check this box to enable sequential invoice numbers.', 'invoicing' ) . $reset_number,
632
+                        'name' => __('Sequential Invoice Numbers', 'invoicing'),
633
+                        'desc' => __('Check this box to enable sequential invoice numbers.', 'invoicing') . $reset_number,
634 634
                         'type' => 'checkbox',
635 635
                     ),
636 636
                     'invoice_sequence_start' => array(
637 637
                         'id'   => 'invoice_sequence_start',
638
-                        'name' => __( 'Sequential Starting Number', 'invoicing' ),
639
-                        'desc' => __( 'The number at which the invoice number sequence should begin.', 'invoicing' ) . $last_number,
638
+                        'name' => __('Sequential Starting Number', 'invoicing'),
639
+                        'desc' => __('The number at which the invoice number sequence should begin.', 'invoicing') . $last_number,
640 640
                         'type' => 'number',
641 641
                         'size' => 'small',
642 642
                         'std'  => '1',
@@ -644,8 +644,8 @@  discard block
 block discarded – undo
644 644
                     ),
645 645
                     'invoice_number_padd' => array(
646 646
                         'id'      => 'invoice_number_padd',
647
-                        'name'    => __( 'Minimum Digits', 'invoicing' ),
648
-                        'desc'    => __( 'If the invoice number has less digits than this number, it is left padded with 0s. Ex: invoice number 108 will padded to 00108 if digits set to 5. The default 0 means no padding.', 'invoicing' ),
647
+                        'name'    => __('Minimum Digits', 'invoicing'),
648
+                        'desc'    => __('If the invoice number has less digits than this number, it is left padded with 0s. Ex: invoice number 108 will padded to 00108 if digits set to 5. The default 0 means no padding.', 'invoicing'),
649 649
                         'type'    => 'select',
650 650
                         'options' => $invoice_number_padd_options,
651 651
                         'std'     => 5,
@@ -653,8 +653,8 @@  discard block
 block discarded – undo
653 653
                     ),
654 654
                     'invoice_number_prefix' => array(
655 655
                         'id' => 'invoice_number_prefix',
656
-                        'name' => __( 'Invoice Number Prefix', 'invoicing' ),
657
-                        'desc' => __( 'Prefix for all invoice numbers. Ex: WPINV-', 'invoicing' ),
656
+                        'name' => __('Invoice Number Prefix', 'invoicing'),
657
+                        'desc' => __('Prefix for all invoice numbers. Ex: WPINV-', 'invoicing'),
658 658
                         'type' => 'text',
659 659
                         'size' => 'regular',
660 660
                         'std' => 'WPINV-',
@@ -662,32 +662,32 @@  discard block
 block discarded – undo
662 662
                     ),
663 663
                     'invoice_number_postfix' => array(
664 664
                         'id' => 'invoice_number_postfix',
665
-                        'name' => __( 'Invoice Number Postfix', 'invoicing' ),
666
-                        'desc' => __( 'Postfix for all invoice numbers.', 'invoicing' ),
665
+                        'name' => __('Invoice Number Postfix', 'invoicing'),
666
+                        'desc' => __('Postfix for all invoice numbers.', 'invoicing'),
667 667
                         'type' => 'text',
668 668
                         'size' => 'regular',
669 669
                         'std' => ''
670 670
                     ),
671 671
                     'checkout_settings' => array(
672 672
                         'id'   => 'checkout_settings',
673
-                        'name' => '<h3>' . __( 'Checkout Settings', 'invoicing' ) . '</h3>',
673
+                        'name' => '<h3>' . __('Checkout Settings', 'invoicing') . '</h3>',
674 674
                         'type' => 'header',
675 675
                     ),
676 676
                     'login_to_checkout' => array(
677 677
                         'id'   => 'login_to_checkout',
678
-                        'name' => __( 'Require Login To Checkout', 'invoicing' ),
679
-                        'desc' => __( 'If ticked then user needs to be logged in to view or pay invoice, can only view or pay their own invoice. If unticked then anyone can view or pay the invoice.', 'invoicing' ),
678
+                        'name' => __('Require Login To Checkout', 'invoicing'),
679
+                        'desc' => __('If ticked then user needs to be logged in to view or pay invoice, can only view or pay their own invoice. If unticked then anyone can view or pay the invoice.', 'invoicing'),
680 680
                         'type' => 'checkbox',
681 681
                     ),
682 682
                     'uninstall_settings' => array(
683 683
                         'id'   => 'uninstall_settings',
684
-                        'name' => '<h3>' . __( 'Uninstall Settings', 'invoicing' ) . '</h3>',
684
+                        'name' => '<h3>' . __('Uninstall Settings', 'invoicing') . '</h3>',
685 685
                         'type' => 'header',
686 686
                     ),
687 687
                     'remove_data_on_unistall' => array(
688 688
                         'id'   => 'remove_data_on_unistall',
689
-                        'name' => __( 'Remove Data on Uninstall?', 'invoicing' ),
690
-                        'desc' => __( 'Check this box if you would like Invoicing plugin to completely remove all of its data when the plugin is deleted/uninstalled.', 'invoicing' ),
689
+                        'name' => __('Remove Data on Uninstall?', 'invoicing'),
690
+                        'desc' => __('Check this box if you would like Invoicing plugin to completely remove all of its data when the plugin is deleted/uninstalled.', 'invoicing'),
691 691
                         'type' => 'checkbox',
692 692
                         'std'  => ''
693 693
                     ),
@@ -695,80 +695,80 @@  discard block
 block discarded – undo
695 695
                 'fields' => array(
696 696
                     'fields_settings' => array(
697 697
                         'id'   => 'fields_settings',
698
-                        'name' => '<h3>' . __( 'Address Fields', 'invoicing' ) . '</h3>',
699
-                        'desc' => __( 'Tick fields which are mandatory in invoice address fields.', 'invoicing' ),
698
+                        'name' => '<h3>' . __('Address Fields', 'invoicing') . '</h3>',
699
+                        'desc' => __('Tick fields which are mandatory in invoice address fields.', 'invoicing'),
700 700
                         'type' => 'header',
701 701
                     ),
702 702
                     'fname_mandatory' => array(
703 703
                         'id'   => 'fname_mandatory',
704
-                        'name' => __( 'First Name', 'invoicing' ),
704
+                        'name' => __('First Name', 'invoicing'),
705 705
                         'type' => 'checkbox',
706 706
                         'std'  => true,
707 707
                     ),
708 708
                     'lname_mandatory' => array(
709 709
                         'id'   => 'lname_mandatory',
710
-                        'name' => __( 'Last Name', 'invoicing' ),
710
+                        'name' => __('Last Name', 'invoicing'),
711 711
                         'type' => 'checkbox',
712 712
                         'std'  => true,
713 713
                     ),
714 714
                     'address_mandatory' => array(
715 715
                         'id'   => 'address_mandatory',
716
-                        'name' => __( 'Address', 'invoicing' ),
716
+                        'name' => __('Address', 'invoicing'),
717 717
                         'type' => 'checkbox',
718 718
                         'std'  => true,
719 719
                     ),
720 720
                     'city_mandatory' => array(
721 721
                         'id'   => 'city_mandatory',
722
-                        'name' => __( 'City', 'invoicing' ),
722
+                        'name' => __('City', 'invoicing'),
723 723
                         'type' => 'checkbox',
724 724
                         'std'  => true,
725 725
                     ),
726 726
                     'country_mandatory' => array(
727 727
                         'id'   => 'country_mandatory',
728
-                        'name' => __( 'Country', 'invoicing' ),
728
+                        'name' => __('Country', 'invoicing'),
729 729
                         'type' => 'checkbox',
730 730
                         'std'  => true,
731 731
                     ),
732 732
                     'state_mandatory' => array(
733 733
                         'id'   => 'state_mandatory',
734
-                        'name' => __( 'State / Province', 'invoicing' ),
734
+                        'name' => __('State / Province', 'invoicing'),
735 735
                         'type' => 'checkbox',
736 736
                         'std'  => true,
737 737
                     ),
738 738
                     'zip_mandatory' => array(
739 739
                         'id'   => 'zip_mandatory',
740
-                        'name' => __( 'ZIP / Postcode', 'invoicing' ),
740
+                        'name' => __('ZIP / Postcode', 'invoicing'),
741 741
                         'type' => 'checkbox',
742 742
                         'std'  => true,
743 743
                     ),
744 744
                     'phone_mandatory' => array(
745 745
                         'id'   => 'phone_mandatory',
746
-                        'name' => __( 'Phone Number', 'invoicing' ),
746
+                        'name' => __('Phone Number', 'invoicing'),
747 747
                         'type' => 'checkbox',
748 748
                         'std'  => true,
749 749
                     ),
750 750
                     'force_show_company' => array(
751 751
                         'id'   => 'force_show_company',
752
-                        'name' => __( 'Force show company name at checkout.', 'invoicing' ),
752
+                        'name' => __('Force show company name at checkout.', 'invoicing'),
753 753
                         'type' => 'checkbox',
754 754
                         'std'  => false,
755 755
                     ),
756 756
                     'address_autofill_settings' => array(
757 757
                         'id'   => 'address_autofill_settings',
758
-                        'name' => '<h3>' . __( 'Google Address Auto Complete', 'invoicing' ) . '</h3>',
758
+                        'name' => '<h3>' . __('Google Address Auto Complete', 'invoicing') . '</h3>',
759 759
                         'type' => 'header',
760 760
                     ),
761 761
                     'address_autofill_active' => array(
762 762
                         'id'   => 'address_autofill_active',
763
-                        'name' => __( 'Enable/Disable', 'invoicing' ),
764
-                        'desc' => __( 'Enable google address auto complete', 'invoicing' ),
763
+                        'name' => __('Enable/Disable', 'invoicing'),
764
+                        'desc' => __('Enable google address auto complete', 'invoicing'),
765 765
                         'type' => 'checkbox',
766 766
                         'std'  => 0
767 767
                     ),
768 768
                     'address_autofill_api' => array(
769 769
                         'id' => 'address_autofill_api',
770
-                        'name' => __( 'Google Place API Key', 'invoicing' ),
771
-                        'desc' => wp_sprintf(__( 'Enter google place API key. For more information go to google place API %sdocumenation%s', 'invoicing' ), '<a href="https://developers.google.com/maps/documentation/javascript/places-autocomplete" target="_blank">', '</a>' ),
770
+                        'name' => __('Google Place API Key', 'invoicing'),
771
+                        'desc' => wp_sprintf(__('Enter google place API key. For more information go to google place API %sdocumenation%s', 'invoicing'), '<a href="https://developers.google.com/maps/documentation/javascript/places-autocomplete" target="_blank">', '</a>'),
772 772
                         'type' => 'text',
773 773
                         'size' => 'regular',
774 774
                         'std' => ''
@@ -777,13 +777,13 @@  discard block
 block discarded – undo
777 777
                 'custom-css' => array(
778 778
                     'css_settings' => array(
779 779
                         'id'   => 'css_settings',
780
-                        'name' => '<h3>' . __( 'Custom CSS', 'invoicing' ) . '</h3>',
780
+                        'name' => '<h3>' . __('Custom CSS', 'invoicing') . '</h3>',
781 781
                         'type' => 'header',
782 782
                     ),
783 783
                     'template_custom_css' => array(
784 784
                         'id' => 'template_custom_css',
785
-                        'name' => __( 'Invoice Template CSS', 'invoicing' ),
786
-                        'desc' => __( 'Add CSS to modify appearance of the print invoice page.', 'invoicing' ),
785
+                        'name' => __('Invoice Template CSS', 'invoicing'),
786
+                        'desc' => __('Add CSS to modify appearance of the print invoice page.', 'invoicing'),
787 787
                         'type' => 'textarea',
788 788
                         'class'=> 'regular-text',
789 789
                         'rows' => 10,
@@ -797,8 +797,8 @@  discard block
 block discarded – undo
797 797
                 'main' => array(
798 798
                     'tool_settings' => array(
799 799
                         'id'   => 'tool_settings',
800
-                        'name' => '<h3>' . __( 'Diagnostic Tools', 'invoicing' ) . '</h3>',
801
-                        'desc' => __( 'Invoicing diagnostic tools', 'invoicing' ),
800
+                        'name' => '<h3>' . __('Diagnostic Tools', 'invoicing') . '</h3>',
801
+                        'desc' => __('Invoicing diagnostic tools', 'invoicing'),
802 802
                         'type' => 'tools',
803 803
                     ),
804 804
                 ),
@@ -806,136 +806,136 @@  discard block
 block discarded – undo
806 806
         )
807 807
     );
808 808
 
809
-    return apply_filters( 'wpinv_registered_settings', $wpinv_settings );
809
+    return apply_filters('wpinv_registered_settings', $wpinv_settings);
810 810
 }
811 811
 
812
-function wpinv_settings_sanitize( $input = array() ) {
812
+function wpinv_settings_sanitize($input = array()) {
813 813
     global $wpinv_options;
814 814
 
815
-    if ( empty( $_POST['_wp_http_referer'] ) ) {
815
+    if (empty($_POST['_wp_http_referer'])) {
816 816
         return $input;
817 817
     }
818 818
 
819
-    parse_str( $_POST['_wp_http_referer'], $referrer );
819
+    parse_str($_POST['_wp_http_referer'], $referrer);
820 820
 
821 821
     $settings = wpinv_get_registered_settings();
822
-    $tab      = isset( $referrer['tab'] ) ? $referrer['tab'] : 'general';
823
-    $section  = isset( $referrer['section'] ) ? $referrer['section'] : 'main';
822
+    $tab      = isset($referrer['tab']) ? $referrer['tab'] : 'general';
823
+    $section  = isset($referrer['section']) ? $referrer['section'] : 'main';
824 824
 
825 825
     $input = $input ? $input : array();
826
-    $input = apply_filters( 'wpinv_settings_tab_' . $tab . '_sanitize', $input );
827
-    $input = apply_filters( 'wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input );
826
+    $input = apply_filters('wpinv_settings_tab_' . $tab . '_sanitize', $input);
827
+    $input = apply_filters('wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input);
828 828
 
829 829
     // Loop through each setting being saved and pass it through a sanitization filter
830
-    foreach ( $input as $key => $value ) {
830
+    foreach ($input as $key => $value) {
831 831
         // Get the setting type (checkbox, select, etc)
832
-        $type = isset( $settings[ $tab ][ $key ]['type'] ) ? $settings[ $tab ][ $key ]['type'] : false;
832
+        $type = isset($settings[$tab][$key]['type']) ? $settings[$tab][$key]['type'] : false;
833 833
 
834
-        if ( $type ) {
834
+        if ($type) {
835 835
             // Field type specific filter
836
-            $input[$key] = apply_filters( 'wpinv_settings_sanitize_' . $type, $value, $key );
836
+            $input[$key] = apply_filters('wpinv_settings_sanitize_' . $type, $value, $key);
837 837
         }
838 838
 
839 839
         // General filter
840
-        $input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key );
840
+        $input[$key] = apply_filters('wpinv_settings_sanitize', $input[$key], $key);
841 841
     }
842 842
 
843 843
     // Loop through the whitelist and unset any that are empty for the tab being saved
844
-    $main_settings    = $section == 'main' ? $settings[ $tab ] : array(); // Check for extensions that aren't using new sections
845
-    $section_settings = ! empty( $settings[ $tab ][ $section ] ) ? $settings[ $tab ][ $section ] : array();
844
+    $main_settings    = $section == 'main' ? $settings[$tab] : array(); // Check for extensions that aren't using new sections
845
+    $section_settings = !empty($settings[$tab][$section]) ? $settings[$tab][$section] : array();
846 846
 
847
-    $found_settings = array_merge( $main_settings, $section_settings );
847
+    $found_settings = array_merge($main_settings, $section_settings);
848 848
 
849
-    if ( ! empty( $found_settings ) ) {
850
-        foreach ( $found_settings as $key => $value ) {
849
+    if (!empty($found_settings)) {
850
+        foreach ($found_settings as $key => $value) {
851 851
 
852 852
             // settings used to have numeric keys, now they have keys that match the option ID. This ensures both methods work
853
-            if ( is_numeric( $key ) ) {
853
+            if (is_numeric($key)) {
854 854
                 $key = $value['id'];
855 855
             }
856 856
 
857
-            if ( empty( $input[ $key ] ) ) {
858
-                unset( $wpinv_options[ $key ] );
857
+            if (empty($input[$key])) {
858
+                unset($wpinv_options[$key]);
859 859
             }
860 860
         }
861 861
     }
862 862
 
863 863
     // Merge our new settings with the existing
864
-    $output = array_merge( $wpinv_options, $input );
864
+    $output = array_merge($wpinv_options, $input);
865 865
 
866
-    add_settings_error( 'wpinv-notices', '', __( 'Settings updated.', 'invoicing' ), 'updated' );
866
+    add_settings_error('wpinv-notices', '', __('Settings updated.', 'invoicing'), 'updated');
867 867
 
868 868
     return $output;
869 869
 }
870 870
 
871
-function wpinv_settings_sanitize_misc_accounting( $input ) {
871
+function wpinv_settings_sanitize_misc_accounting($input) {
872 872
     global $wpi_session;
873 873
 
874
-    if ( ! wpinv_current_user_can_manage_invoicing() ) {
874
+    if (!wpinv_current_user_can_manage_invoicing()) {
875 875
         return $input;
876 876
     }
877 877
 
878
-    if( ! empty( $input['enable_sequential'] ) && !wpinv_get_option( 'enable_sequential' ) ) {
878
+    if (!empty($input['enable_sequential']) && !wpinv_get_option('enable_sequential')) {
879 879
         // Shows an admin notice about upgrading previous order numbers
880
-        $wpi_session->set( 'upgrade_sequential', '1' );
880
+        $wpi_session->set('upgrade_sequential', '1');
881 881
     }
882 882
 
883 883
     return $input;
884 884
 }
885
-add_filter( 'wpinv_settings_misc-accounting_sanitize', 'wpinv_settings_sanitize_misc_accounting' );
885
+add_filter('wpinv_settings_misc-accounting_sanitize', 'wpinv_settings_sanitize_misc_accounting');
886 886
 
887
-function wpinv_settings_sanitize_tax_rates( $input ) {
888
-    if( ! wpinv_current_user_can_manage_invoicing() ) {
887
+function wpinv_settings_sanitize_tax_rates($input) {
888
+    if (!wpinv_current_user_can_manage_invoicing()) {
889 889
         return $input;
890 890
     }
891 891
 
892
-    $new_rates = !empty( $_POST['tax_rates'] ) ? array_values( $_POST['tax_rates'] ) : array();
892
+    $new_rates = !empty($_POST['tax_rates']) ? array_values($_POST['tax_rates']) : array();
893 893
 
894 894
     $tax_rates = array();
895 895
 
896
-    if ( !empty( $new_rates ) ) {
897
-        foreach ( $new_rates as $rate ) {
898
-            if ( isset( $rate['country'] ) && empty( $rate['country'] ) && empty( $rate['state'] ) ) {
896
+    if (!empty($new_rates)) {
897
+        foreach ($new_rates as $rate) {
898
+            if (isset($rate['country']) && empty($rate['country']) && empty($rate['state'])) {
899 899
                 continue;
900 900
             }
901 901
             
902
-            $rate['rate'] = wpinv_sanitize_amount( $rate['rate'], 4 );
902
+            $rate['rate'] = wpinv_sanitize_amount($rate['rate'], 4);
903 903
             
904 904
             $tax_rates[] = $rate;
905 905
         }
906 906
     }
907 907
 
908
-    update_option( 'wpinv_tax_rates', $tax_rates );
908
+    update_option('wpinv_tax_rates', $tax_rates);
909 909
 
910 910
     return $input;
911 911
 }
912
-add_filter( 'wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates' );
912
+add_filter('wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates');
913 913
 
914
-function wpinv_sanitize_text_field( $input ) {
915
-    return trim( $input );
914
+function wpinv_sanitize_text_field($input) {
915
+    return trim($input);
916 916
 }
917
-add_filter( 'wpinv_settings_sanitize_text', 'wpinv_sanitize_text_field' );
917
+add_filter('wpinv_settings_sanitize_text', 'wpinv_sanitize_text_field');
918 918
 
919 919
 function wpinv_get_settings_tabs() {
920 920
     $tabs             = array();
921
-    $tabs['general']  = __( 'General', 'invoicing' );
922
-    $tabs['gateways'] = __( 'Payment Gateways', 'invoicing' );
923
-    $tabs['taxes']    = __( 'Taxes', 'invoicing' );
924
-    $tabs['emails']   = __( 'Emails', 'invoicing' );
925
-    $tabs['privacy']  = __( 'Privacy', 'invoicing' );
926
-    $tabs['misc']     = __( 'Misc', 'invoicing' );
927
-    $tabs['tools']    = __( 'Tools', 'invoicing' );
928
-
929
-    return apply_filters( 'wpinv_settings_tabs', $tabs );
921
+    $tabs['general']  = __('General', 'invoicing');
922
+    $tabs['gateways'] = __('Payment Gateways', 'invoicing');
923
+    $tabs['taxes']    = __('Taxes', 'invoicing');
924
+    $tabs['emails']   = __('Emails', 'invoicing');
925
+    $tabs['privacy']  = __('Privacy', 'invoicing');
926
+    $tabs['misc']     = __('Misc', 'invoicing');
927
+    $tabs['tools']    = __('Tools', 'invoicing');
928
+
929
+    return apply_filters('wpinv_settings_tabs', $tabs);
930 930
 }
931 931
 
932
-function wpinv_get_settings_tab_sections( $tab = false ) {
932
+function wpinv_get_settings_tab_sections($tab = false) {
933 933
     $tabs     = false;
934 934
     $sections = wpinv_get_registered_settings_sections();
935 935
 
936
-    if( $tab && ! empty( $sections[ $tab ] ) ) {
937
-        $tabs = $sections[ $tab ];
938
-    } else if ( $tab ) {
936
+    if ($tab && !empty($sections[$tab])) {
937
+        $tabs = $sections[$tab];
938
+    } else if ($tab) {
939 939
         $tabs = false;
940 940
     }
941 941
 
@@ -945,143 +945,143 @@  discard block
 block discarded – undo
945 945
 function wpinv_get_registered_settings_sections() {
946 946
     static $sections = false;
947 947
 
948
-    if ( false !== $sections ) {
948
+    if (false !== $sections) {
949 949
         return $sections;
950 950
     }
951 951
 
952 952
     $sections = array(
953
-        'general' => apply_filters( 'wpinv_settings_sections_general', array(
954
-            'main' => __( 'General Settings', 'invoicing' ),
955
-            'currency_section' => __( 'Currency Settings', 'invoicing' ),
956
-            'labels' => __( 'Label Texts', 'invoicing' ),
957
-        ) ),
958
-        'gateways' => apply_filters( 'wpinv_settings_sections_gateways', array(
959
-            'main' => __( 'Gateway Settings', 'invoicing' ),
960
-        ) ),
961
-        'taxes' => apply_filters( 'wpinv_settings_sections_taxes', array(
962
-            'main' => __( 'Tax Settings', 'invoicing' ),
963
-            'rates' => __( 'Tax Rates', 'invoicing' ),
964
-        ) ),
965
-        'emails' => apply_filters( 'wpinv_settings_sections_emails', array(
966
-            'main' => __( 'Email Settings', 'invoicing' ),
967
-        ) ),
968
-        'privacy' => apply_filters( 'wpinv_settings_sections_privacy', array(
969
-            'main' => __( 'Privacy policy', 'invoicing' ),
970
-        ) ),
971
-        'misc' => apply_filters( 'wpinv_settings_sections_misc', array(
972
-            'main' => __( 'Miscellaneous', 'invoicing' ),
973
-            'fields' => __( 'Fields Settings', 'invoicing' ),
974
-            'custom-css' => __( 'Custom CSS', 'invoicing' ),
975
-        ) ),
976
-        'tools' => apply_filters( 'wpinv_settings_sections_tools', array(
977
-            'main' => __( 'Diagnostic Tools', 'invoicing' ),
978
-        ) ),
953
+        'general' => apply_filters('wpinv_settings_sections_general', array(
954
+            'main' => __('General Settings', 'invoicing'),
955
+            'currency_section' => __('Currency Settings', 'invoicing'),
956
+            'labels' => __('Label Texts', 'invoicing'),
957
+        )),
958
+        'gateways' => apply_filters('wpinv_settings_sections_gateways', array(
959
+            'main' => __('Gateway Settings', 'invoicing'),
960
+        )),
961
+        'taxes' => apply_filters('wpinv_settings_sections_taxes', array(
962
+            'main' => __('Tax Settings', 'invoicing'),
963
+            'rates' => __('Tax Rates', 'invoicing'),
964
+        )),
965
+        'emails' => apply_filters('wpinv_settings_sections_emails', array(
966
+            'main' => __('Email Settings', 'invoicing'),
967
+        )),
968
+        'privacy' => apply_filters('wpinv_settings_sections_privacy', array(
969
+            'main' => __('Privacy policy', 'invoicing'),
970
+        )),
971
+        'misc' => apply_filters('wpinv_settings_sections_misc', array(
972
+            'main' => __('Miscellaneous', 'invoicing'),
973
+            'fields' => __('Fields Settings', 'invoicing'),
974
+            'custom-css' => __('Custom CSS', 'invoicing'),
975
+        )),
976
+        'tools' => apply_filters('wpinv_settings_sections_tools', array(
977
+            'main' => __('Diagnostic Tools', 'invoicing'),
978
+        )),
979 979
     );
980 980
 
981
-    $sections = apply_filters( 'wpinv_settings_sections', $sections );
981
+    $sections = apply_filters('wpinv_settings_sections', $sections);
982 982
 
983 983
     return $sections;
984 984
 }
985 985
 
986
-function wpinv_get_pages( $with_slug = false, $default_label = NULL ) {
986
+function wpinv_get_pages($with_slug = false, $default_label = NULL) {
987 987
 	$pages_options = array();
988 988
 
989
-	if( $default_label !== NULL && $default_label !== false ) {
990
-		$pages_options = array( '' => $default_label ); // Blank option
989
+	if ($default_label !== NULL && $default_label !== false) {
990
+		$pages_options = array('' => $default_label); // Blank option
991 991
 	}
992 992
 
993 993
 	$pages = get_pages();
994
-	if ( $pages ) {
995
-		foreach ( $pages as $page ) {
994
+	if ($pages) {
995
+		foreach ($pages as $page) {
996 996
 			$title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title;
997
-            $pages_options[ $page->ID ] = $title;
997
+            $pages_options[$page->ID] = $title;
998 998
 		}
999 999
 	}
1000 1000
 
1001 1001
 	return $pages_options;
1002 1002
 }
1003 1003
 
1004
-function wpinv_header_callback( $args ) {
1005
-	if ( !empty( $args['desc'] ) ) {
1004
+function wpinv_header_callback($args) {
1005
+	if (!empty($args['desc'])) {
1006 1006
         echo $args['desc'];
1007 1007
     }
1008 1008
 }
1009 1009
 
1010
-function wpinv_hidden_callback( $args ) {
1010
+function wpinv_hidden_callback($args) {
1011 1011
 	global $wpinv_options;
1012 1012
 
1013
-	if ( isset( $args['set_value'] ) ) {
1013
+	if (isset($args['set_value'])) {
1014 1014
 		$value = $args['set_value'];
1015
-	} elseif ( isset( $wpinv_options[ $args['id'] ] ) ) {
1016
-		$value = $wpinv_options[ $args['id'] ];
1015
+	} elseif (isset($wpinv_options[$args['id']])) {
1016
+		$value = $wpinv_options[$args['id']];
1017 1017
 	} else {
1018
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1018
+		$value = isset($args['std']) ? $args['std'] : '';
1019 1019
 	}
1020 1020
 
1021
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
1021
+	if (isset($args['faux']) && true === $args['faux']) {
1022 1022
 		$args['readonly'] = true;
1023
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1023
+		$value = isset($args['std']) ? $args['std'] : '';
1024 1024
 		$name  = '';
1025 1025
 	} else {
1026
-		$name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
1026
+		$name = 'name="wpinv_settings[' . esc_attr($args['id']) . ']"';
1027 1027
 	}
1028 1028
 
1029
-	$html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key( $args['id'] ) . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '" />';
1029
+	$html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key($args['id']) . ']" ' . $name . ' value="' . esc_attr(stripslashes($value)) . '" />';
1030 1030
     
1031 1031
 	echo $html;
1032 1032
 }
1033 1033
 
1034
-function wpinv_checkbox_callback( $args ) {
1034
+function wpinv_checkbox_callback($args) {
1035 1035
 	global $wpinv_options;
1036 1036
     
1037
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1037
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1038 1038
 
1039
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
1039
+	if (isset($args['faux']) && true === $args['faux']) {
1040 1040
 		$name = '';
1041 1041
 	} else {
1042 1042
 		$name = 'name="wpinv_settings[' . $sanitize_id . ']"';
1043 1043
 	}
1044 1044
 
1045
-	$checked = isset( $wpinv_options[ $args['id'] ] ) ? checked( 1, $wpinv_options[ $args['id'] ], false ) : '';
1045
+	$checked = isset($wpinv_options[$args['id']]) ? checked(1, $wpinv_options[$args['id']], false) : '';
1046 1046
 	$html = '<input type="checkbox" id="wpinv_settings[' . $sanitize_id . ']"' . $name . ' value="1" ' . $checked . '/>';
1047
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1047
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1048 1048
 
1049 1049
 	echo $html;
1050 1050
 }
1051 1051
 
1052
-function wpinv_multicheck_callback( $args ) {
1052
+function wpinv_multicheck_callback($args) {
1053 1053
 	global $wpinv_options;
1054 1054
 
1055
-	$sanitize_id = wpinv_sanitize_key( $args['id'] );
1056
-	$class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
1055
+	$sanitize_id = wpinv_sanitize_key($args['id']);
1056
+	$class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : '';
1057 1057
 
1058
-	if ( ! empty( $args['options'] ) ) {
1058
+	if (!empty($args['options'])) {
1059 1059
 		echo '<div class="wpi-mcheck-rows wpi-mcheck-' . $sanitize_id . $class . '">';
1060
-        foreach( $args['options'] as $key => $option ):
1061
-			$sanitize_key = wpinv_sanitize_key( $key );
1062
-			if ( isset( $wpinv_options[$args['id']][$sanitize_key] ) ) { 
1060
+        foreach ($args['options'] as $key => $option):
1061
+			$sanitize_key = wpinv_sanitize_key($key);
1062
+			if (isset($wpinv_options[$args['id']][$sanitize_key])) { 
1063 1063
 				$enabled = $sanitize_key;
1064 1064
 			} else { 
1065 1065
 				$enabled = NULL; 
1066 1066
 			}
1067
-			echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/>&nbsp;';
1068
-			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post( $option ) . '</label></div>';
1067
+			echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr($sanitize_key) . '" ' . checked($sanitize_key, $enabled, false) . '/>&nbsp;';
1068
+			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post($option) . '</label></div>';
1069 1069
 		endforeach;
1070 1070
 		echo '</div>';
1071 1071
 		echo '<p class="description">' . $args['desc'] . '</p>';
1072 1072
 	}
1073 1073
 }
1074 1074
 
1075
-function wpinv_payment_icons_callback( $args ) {
1075
+function wpinv_payment_icons_callback($args) {
1076 1076
 	global $wpinv_options;
1077 1077
     
1078
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1078
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1079 1079
 
1080
-	if ( ! empty( $args['options'] ) ) {
1081
-		foreach( $args['options'] as $key => $option ) {
1082
-            $sanitize_key = wpinv_sanitize_key( $key );
1080
+	if (!empty($args['options'])) {
1081
+		foreach ($args['options'] as $key => $option) {
1082
+            $sanitize_key = wpinv_sanitize_key($key);
1083 1083
             
1084
-			if( isset( $wpinv_options[$args['id']][$key] ) ) {
1084
+			if (isset($wpinv_options[$args['id']][$key])) {
1085 1085
 				$enabled = $option;
1086 1086
 			} else {
1087 1087
 				$enabled = NULL;
@@ -1089,197 +1089,197 @@  discard block
 block discarded – undo
1089 1089
 
1090 1090
 			echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
1091 1091
 
1092
-				echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/>&nbsp;';
1092
+				echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr($option) . '" ' . checked($option, $enabled, false) . '/>&nbsp;';
1093 1093
 
1094
-				if ( wpinv_string_is_image_url( $key ) ) {
1095
-					echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
1094
+				if (wpinv_string_is_image_url($key)) {
1095
+					echo '<img class="payment-icon" src="' . esc_url($key) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
1096 1096
 				} else {
1097
-					$card = strtolower( str_replace( ' ', '', $option ) );
1097
+					$card = strtolower(str_replace(' ', '', $option));
1098 1098
 
1099
-					if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) {
1100
-						$image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' );
1099
+					if (has_filter('wpinv_accepted_payment_' . $card . '_image')) {
1100
+						$image = apply_filters('wpinv_accepted_payment_' . $card . '_image', '');
1101 1101
 					} else {
1102
-						$image       = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false );
1102
+						$image       = wpinv_locate_template('images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false);
1103 1103
 						$content_dir = WP_CONTENT_DIR;
1104 1104
 
1105
-						if ( function_exists( 'wp_normalize_path' ) ) {
1105
+						if (function_exists('wp_normalize_path')) {
1106 1106
 							// Replaces backslashes with forward slashes for Windows systems
1107
-							$image = wp_normalize_path( $image );
1108
-							$content_dir = wp_normalize_path( $content_dir );
1107
+							$image = wp_normalize_path($image);
1108
+							$content_dir = wp_normalize_path($content_dir);
1109 1109
 						}
1110 1110
 
1111
-						$image = str_replace( $content_dir, content_url(), $image );
1111
+						$image = str_replace($content_dir, content_url(), $image);
1112 1112
 					}
1113 1113
 
1114
-					echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
1114
+					echo '<img class="payment-icon" src="' . esc_url($image) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
1115 1115
 				}
1116 1116
 			echo $option . '</label>';
1117 1117
 		}
1118
-		echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>';
1118
+		echo '<p class="description" style="margin-top:16px;">' . wp_kses_post($args['desc']) . '</p>';
1119 1119
 	}
1120 1120
 }
1121 1121
 
1122
-function wpinv_radio_callback( $args ) {
1122
+function wpinv_radio_callback($args) {
1123 1123
 	global $wpinv_options;
1124 1124
     
1125
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1125
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1126 1126
     
1127
-    foreach ( $args['options'] as $key => $option ) :
1128
-		$sanitize_key = wpinv_sanitize_key( $key );
1127
+    foreach ($args['options'] as $key => $option) :
1128
+		$sanitize_key = wpinv_sanitize_key($key);
1129 1129
         
1130 1130
         $checked = false;
1131 1131
 
1132
-		if ( isset( $wpinv_options[ $args['id'] ] ) && $wpinv_options[ $args['id'] ] == $key )
1132
+		if (isset($wpinv_options[$args['id']]) && $wpinv_options[$args['id']] == $key)
1133 1133
 			$checked = true;
1134
-		elseif( isset( $args['std'] ) && $args['std'] == $key && ! isset( $wpinv_options[ $args['id'] ] ) )
1134
+		elseif (isset($args['std']) && $args['std'] == $key && !isset($wpinv_options[$args['id']]))
1135 1135
 			$checked = true;
1136 1136
 
1137 1137
 		echo '<input name="wpinv_settings[' . $sanitize_id . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="radio" value="' . $sanitize_key . '" ' . checked(true, $checked, false) . '/>&nbsp;';
1138
-		echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option ) . '</label><br/>';
1138
+		echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html($option) . '</label><br/>';
1139 1139
 	endforeach;
1140 1140
 
1141
-	echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>';
1141
+	echo '<p class="description">' . wp_kses_post($args['desc']) . '</p>';
1142 1142
 }
1143 1143
 
1144
-function wpinv_gateways_callback( $args ) {
1144
+function wpinv_gateways_callback($args) {
1145 1145
 	global $wpinv_options;
1146 1146
     
1147
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1147
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1148 1148
 
1149
-	foreach ( $args['options'] as $key => $option ) :
1150
-		$sanitize_key = wpinv_sanitize_key( $key );
1149
+	foreach ($args['options'] as $key => $option) :
1150
+		$sanitize_key = wpinv_sanitize_key($key);
1151 1151
         
1152
-        if ( isset( $wpinv_options['gateways'][ $key ] ) )
1152
+        if (isset($wpinv_options['gateways'][$key]))
1153 1153
 			$enabled = '1';
1154 1154
 		else
1155 1155
 			$enabled = null;
1156 1156
 
1157
-		echo '<input name="wpinv_settings[' . esc_attr( $args['id'] ) . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="1" ' . checked('1', $enabled, false) . '/>&nbsp;';
1158
-		echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option['admin_label'] ) . '</label><br/>';
1157
+		echo '<input name="wpinv_settings[' . esc_attr($args['id']) . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="1" ' . checked('1', $enabled, false) . '/>&nbsp;';
1158
+		echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html($option['admin_label']) . '</label><br/>';
1159 1159
 	endforeach;
1160 1160
 }
1161 1161
 
1162 1162
 function wpinv_gateway_select_callback($args) {
1163 1163
 	global $wpinv_options;
1164 1164
     
1165
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1166
-    $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
1165
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1166
+    $class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : '';
1167 1167
 
1168
-	echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" >';
1168
+	echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="' . $class . '" >';
1169 1169
 
1170
-	foreach ( $args['options'] as $key => $option ) :
1171
-		if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
1172
-            $selected = selected( $key, $args['selected'], false );
1170
+	foreach ($args['options'] as $key => $option) :
1171
+		if (isset($args['selected']) && $args['selected'] !== null && $args['selected'] !== false) {
1172
+            $selected = selected($key, $args['selected'], false);
1173 1173
         } else {
1174
-            $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $key, $wpinv_options[$args['id']], false ) : '';
1174
+            $selected = isset($wpinv_options[$args['id']]) ? selected($key, $wpinv_options[$args['id']], false) : '';
1175 1175
         }
1176
-		echo '<option value="' . wpinv_sanitize_key( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>';
1176
+		echo '<option value="' . wpinv_sanitize_key($key) . '"' . $selected . '>' . esc_html($option['admin_label']) . '</option>';
1177 1177
 	endforeach;
1178 1178
 
1179 1179
 	echo '</select>';
1180
-	echo '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1180
+	echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1181 1181
 }
1182 1182
 
1183
-function wpinv_text_callback( $args ) {
1183
+function wpinv_text_callback($args) {
1184 1184
 	global $wpinv_options;
1185 1185
     
1186
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1186
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1187 1187
 
1188
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1189
-		$value = $wpinv_options[ $args['id'] ];
1188
+	if (isset($wpinv_options[$args['id']])) {
1189
+		$value = $wpinv_options[$args['id']];
1190 1190
 	} else {
1191
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1191
+		$value = isset($args['std']) ? $args['std'] : '';
1192 1192
 	}
1193 1193
 
1194
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
1194
+	if (isset($args['faux']) && true === $args['faux']) {
1195 1195
 		$args['readonly'] = true;
1196
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1196
+		$value = isset($args['std']) ? $args['std'] : '';
1197 1197
 		$name  = '';
1198 1198
 	} else {
1199
-		$name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
1199
+		$name = 'name="wpinv_settings[' . esc_attr($args['id']) . ']"';
1200 1200
 	}
1201
-	$class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : '';
1201
+	$class = !empty($args['class']) ? sanitize_html_class($args['class']) : '';
1202 1202
 
1203 1203
 	$readonly = $args['readonly'] === true ? ' readonly="readonly"' : '';
1204
-	$size     = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1205
-	$html     = '<input type="text" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"' . $readonly . '/>';
1206
-	$html    .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1204
+	$size     = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
1205
+	$html     = '<input type="text" class="' . sanitize_html_class($size) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr(stripslashes($value)) . '"' . $readonly . '/>';
1206
+	$html    .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1207 1207
 
1208 1208
 	echo $html;
1209 1209
 }
1210 1210
 
1211
-function wpinv_number_callback( $args ) {
1211
+function wpinv_number_callback($args) {
1212 1212
 	global $wpinv_options;
1213 1213
     
1214
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1214
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1215 1215
 
1216
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1217
-		$value = $wpinv_options[ $args['id'] ];
1216
+	if (isset($wpinv_options[$args['id']])) {
1217
+		$value = $wpinv_options[$args['id']];
1218 1218
 	} else {
1219
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1219
+		$value = isset($args['std']) ? $args['std'] : '';
1220 1220
 	}
1221 1221
 
1222
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
1222
+	if (isset($args['faux']) && true === $args['faux']) {
1223 1223
 		$args['readonly'] = true;
1224
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1224
+		$value = isset($args['std']) ? $args['std'] : '';
1225 1225
 		$name  = '';
1226 1226
 	} else {
1227
-		$name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"';
1227
+		$name = 'name="wpinv_settings[' . esc_attr($args['id']) . ']"';
1228 1228
 	}
1229 1229
 
1230
-	$max  = isset( $args['max'] ) ? $args['max'] : 999999;
1231
-	$min  = isset( $args['min'] ) ? $args['min'] : 0;
1232
-	$step = isset( $args['step'] ) ? $args['step'] : 1;
1233
-	$class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : '';
1230
+	$max  = isset($args['max']) ? $args['max'] : 999999;
1231
+	$min  = isset($args['min']) ? $args['min'] : 0;
1232
+	$step = isset($args['step']) ? $args['step'] : 1;
1233
+	$class = !empty($args['class']) ? sanitize_html_class($args['class']) : '';
1234 1234
 
1235
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1236
-	$html = '<input type="number" step="' . esc_attr( $step ) . '" max="' . esc_attr( $max ) . '" min="' . esc_attr( $min ) . '" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"/>';
1237
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1235
+	$size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
1236
+	$html = '<input type="number" step="' . esc_attr($step) . '" max="' . esc_attr($max) . '" min="' . esc_attr($min) . '" class="' . sanitize_html_class($size) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr(stripslashes($value)) . '"/>';
1237
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1238 1238
 
1239 1239
 	echo $html;
1240 1240
 }
1241 1241
 
1242
-function wpinv_textarea_callback( $args ) {
1242
+function wpinv_textarea_callback($args) {
1243 1243
 	global $wpinv_options;
1244 1244
     
1245
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1245
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1246 1246
 
1247
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1248
-		$value = $wpinv_options[ $args['id'] ];
1247
+	if (isset($wpinv_options[$args['id']])) {
1248
+		$value = $wpinv_options[$args['id']];
1249 1249
 	} else {
1250
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1250
+		$value = isset($args['std']) ? $args['std'] : '';
1251 1251
 	}
1252 1252
     
1253
-    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1254
-    $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text';
1253
+    $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
1254
+    $class = (isset($args['class']) && !is_null($args['class'])) ? $args['class'] : 'large-text';
1255 1255
 
1256
-	$html = '<textarea class="' . sanitize_html_class( $class ) . ' txtarea-' . sanitize_html_class( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
1257
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1256
+	$html = '<textarea class="' . sanitize_html_class($class) . ' txtarea-' . sanitize_html_class($size) . ' wpi-' . esc_attr(sanitize_html_class($sanitize_id)) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']">' . esc_textarea(stripslashes($value)) . '</textarea>';
1257
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1258 1258
 
1259 1259
 	echo $html;
1260 1260
 }
1261 1261
 
1262
-function wpinv_password_callback( $args ) {
1262
+function wpinv_password_callback($args) {
1263 1263
 	global $wpinv_options;
1264 1264
     
1265
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1265
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1266 1266
 
1267
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1268
-		$value = $wpinv_options[ $args['id'] ];
1267
+	if (isset($wpinv_options[$args['id']])) {
1268
+		$value = $wpinv_options[$args['id']];
1269 1269
 	} else {
1270
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1270
+		$value = isset($args['std']) ? $args['std'] : '';
1271 1271
 	}
1272 1272
 
1273
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1274
-	$html = '<input type="password" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>';
1275
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1273
+	$size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
1274
+	$html = '<input type="password" class="' . sanitize_html_class($size) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr($value) . '"/>';
1275
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1276 1276
 
1277 1277
 	echo $html;
1278 1278
 }
1279 1279
 
1280 1280
 function wpinv_missing_callback($args) {
1281 1281
 	printf(
1282
-		__( 'The callback function used for the %s setting is missing.', 'invoicing' ),
1282
+		__('The callback function used for the %s setting is missing.', 'invoicing'),
1283 1283
 		'<strong>' . $args['id'] . '</strong>'
1284 1284
 	);
1285 1285
 }
@@ -1287,133 +1287,133 @@  discard block
 block discarded – undo
1287 1287
 function wpinv_select_callback($args) {
1288 1288
 	global $wpinv_options;
1289 1289
     
1290
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1290
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1291 1291
 
1292
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1293
-		$value = $wpinv_options[ $args['id'] ];
1292
+	if (isset($wpinv_options[$args['id']])) {
1293
+		$value = $wpinv_options[$args['id']];
1294 1294
 	} else {
1295
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1295
+		$value = isset($args['std']) ? $args['std'] : '';
1296 1296
 	}
1297 1297
     
1298
-    if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
1298
+    if (isset($args['selected']) && $args['selected'] !== null && $args['selected'] !== false) {
1299 1299
         $value = $args['selected'];
1300 1300
     }
1301 1301
 
1302
-	if ( isset( $args['placeholder'] ) ) {
1302
+	if (isset($args['placeholder'])) {
1303 1303
 		$placeholder = $args['placeholder'];
1304 1304
 	} else {
1305 1305
 		$placeholder = '';
1306 1306
 	}
1307 1307
     
1308
-    if( !empty( $args['onchange'] ) ) {
1309
-        $onchange = ' onchange="' . esc_attr( $args['onchange'] ) . '"';
1308
+    if (!empty($args['onchange'])) {
1309
+        $onchange = ' onchange="' . esc_attr($args['onchange']) . '"';
1310 1310
     } else {
1311 1311
         $onchange = '';
1312 1312
     }
1313 1313
 
1314
-    $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
1314
+    $class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : '';
1315 1315
 
1316
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'"  name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" data-placeholder="' . esc_html( $placeholder ) . '"' . $onchange . ' />';
1316
+	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" class="' . $class . '"  name="wpinv_settings[' . esc_attr($args['id']) . ']" data-placeholder="' . esc_html($placeholder) . '"' . $onchange . ' />';
1317 1317
 
1318
-	foreach ( $args['options'] as $option => $name ) {
1319
-		$selected = selected( $option, $value, false );
1320
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>';
1318
+	foreach ($args['options'] as $option => $name) {
1319
+		$selected = selected($option, $value, false);
1320
+		$html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($name) . '</option>';
1321 1321
 	}
1322 1322
 
1323 1323
 	$html .= '</select>';
1324
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1324
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1325 1325
 
1326 1326
 	echo $html;
1327 1327
 }
1328 1328
 
1329
-function wpinv_color_select_callback( $args ) {
1329
+function wpinv_color_select_callback($args) {
1330 1330
 	global $wpinv_options;
1331 1331
     
1332
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1332
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1333 1333
 
1334
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1335
-		$value = $wpinv_options[ $args['id'] ];
1334
+	if (isset($wpinv_options[$args['id']])) {
1335
+		$value = $wpinv_options[$args['id']];
1336 1336
 	} else {
1337
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1337
+		$value = isset($args['std']) ? $args['std'] : '';
1338 1338
 	}
1339 1339
 
1340
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>';
1340
+	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']"/>';
1341 1341
 
1342
-	foreach ( $args['options'] as $option => $color ) {
1343
-		$selected = selected( $option, $value, false );
1344
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $color['label'] ) . '</option>';
1342
+	foreach ($args['options'] as $option => $color) {
1343
+		$selected = selected($option, $value, false);
1344
+		$html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($color['label']) . '</option>';
1345 1345
 	}
1346 1346
 
1347 1347
 	$html .= '</select>';
1348
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1348
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1349 1349
 
1350 1350
 	echo $html;
1351 1351
 }
1352 1352
 
1353
-function wpinv_rich_editor_callback( $args ) {
1353
+function wpinv_rich_editor_callback($args) {
1354 1354
 	global $wpinv_options, $wp_version;
1355 1355
     
1356
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1356
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1357 1357
 
1358
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1359
-		$value = $wpinv_options[ $args['id'] ];
1358
+	if (isset($wpinv_options[$args['id']])) {
1359
+		$value = $wpinv_options[$args['id']];
1360 1360
 
1361
-		if( empty( $args['allow_blank'] ) && empty( $value ) ) {
1362
-			$value = isset( $args['std'] ) ? $args['std'] : '';
1361
+		if (empty($args['allow_blank']) && empty($value)) {
1362
+			$value = isset($args['std']) ? $args['std'] : '';
1363 1363
 		}
1364 1364
 	} else {
1365
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1365
+		$value = isset($args['std']) ? $args['std'] : '';
1366 1366
 	}
1367 1367
 
1368
-	$rows = isset( $args['size'] ) ? $args['size'] : 20;
1368
+	$rows = isset($args['size']) ? $args['size'] : 20;
1369 1369
 
1370
-	if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) {
1370
+	if ($wp_version >= 3.3 && function_exists('wp_editor')) {
1371 1371
 		ob_start();
1372
-		wp_editor( stripslashes( $value ), 'wpinv_settings_' . esc_attr( $args['id'] ), array( 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', 'textarea_rows' => absint( $rows ), 'media_buttons' => false ) );
1372
+		wp_editor(stripslashes($value), 'wpinv_settings_' . esc_attr($args['id']), array('textarea_name' => 'wpinv_settings[' . esc_attr($args['id']) . ']', 'textarea_rows' => absint($rows), 'media_buttons' => false));
1373 1373
 		$html = ob_get_clean();
1374 1374
 	} else {
1375
-		$html = '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
1375
+		$html = '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" class="wpi-' . esc_attr(sanitize_html_class($args['id'])) . '">' . esc_textarea(stripslashes($value)) . '</textarea>';
1376 1376
 	}
1377 1377
 
1378
-	$html .= '<br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1378
+	$html .= '<br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1379 1379
 
1380 1380
 	echo $html;
1381 1381
 }
1382 1382
 
1383
-function wpinv_upload_callback( $args ) {
1383
+function wpinv_upload_callback($args) {
1384 1384
 	global $wpinv_options;
1385 1385
     
1386
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1386
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1387 1387
 
1388
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1388
+	if (isset($wpinv_options[$args['id']])) {
1389 1389
 		$value = $wpinv_options[$args['id']];
1390 1390
 	} else {
1391 1391
 		$value = isset($args['std']) ? $args['std'] : '';
1392 1392
 	}
1393 1393
 
1394
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
1395
-	$html = '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>';
1396
-	$html .= '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>';
1397
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
1394
+	$size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular';
1395
+	$html = '<input type="text" class="' . sanitize_html_class($size) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr(stripslashes($value)) . '"/>';
1396
+	$html .= '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __('Upload File', 'invoicing') . '"/></span>';
1397
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1398 1398
 
1399 1399
 	echo $html;
1400 1400
 }
1401 1401
 
1402
-function wpinv_color_callback( $args ) {
1402
+function wpinv_color_callback($args) {
1403 1403
 	global $wpinv_options;
1404 1404
     
1405
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1405
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1406 1406
 
1407
-	if ( isset( $wpinv_options[ $args['id'] ] ) ) {
1408
-		$value = $wpinv_options[ $args['id'] ];
1407
+	if (isset($wpinv_options[$args['id']])) {
1408
+		$value = $wpinv_options[$args['id']];
1409 1409
 	} else {
1410
-		$value = isset( $args['std'] ) ? $args['std'] : '';
1410
+		$value = isset($args['std']) ? $args['std'] : '';
1411 1411
 	}
1412 1412
 
1413
-	$default = isset( $args['std'] ) ? $args['std'] : '';
1413
+	$default = isset($args['std']) ? $args['std'] : '';
1414 1414
 
1415
-	$html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $default ) . '" />';
1416
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1415
+	$html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr($value) . '" data-default-color="' . esc_attr($default) . '" />';
1416
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1417 1417
 
1418 1418
 	echo $html;
1419 1419
 }
@@ -1421,9 +1421,9 @@  discard block
 block discarded – undo
1421 1421
 function wpinv_country_states_callback($args) {
1422 1422
 	global $wpinv_options;
1423 1423
     
1424
-    $sanitize_id = wpinv_sanitize_key( $args['id'] );
1424
+    $sanitize_id = wpinv_sanitize_key($args['id']);
1425 1425
 
1426
-	if ( isset( $args['placeholder'] ) ) {
1426
+	if (isset($args['placeholder'])) {
1427 1427
 		$placeholder = $args['placeholder'];
1428 1428
 	} else {
1429 1429
 		$placeholder = '';
@@ -1431,16 +1431,16 @@  discard block
 block discarded – undo
1431 1431
 
1432 1432
 	$states = wpinv_get_country_states();
1433 1433
 
1434
-	$class = empty( $states ) ? ' class="wpinv-no-states"' : ' class="wpi_select2"';
1435
-	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>';
1434
+	$class = empty($states) ? ' class="wpinv-no-states"' : ' class="wpi_select2"';
1435
+	$html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']"' . $class . 'data-placeholder="' . esc_html($placeholder) . '"/>';
1436 1436
 
1437
-	foreach ( $states as $option => $name ) {
1438
-		$selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $option, $wpinv_options[$args['id']], false ) : '';
1439
-		$html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>';
1437
+	foreach ($states as $option => $name) {
1438
+		$selected = isset($wpinv_options[$args['id']]) ? selected($option, $wpinv_options[$args['id']], false) : '';
1439
+		$html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($name) . '</option>';
1440 1440
 	}
1441 1441
 
1442 1442
 	$html .= '</select>';
1443
-	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> '  . wp_kses_post( $args['desc'] ) . '</label>';
1443
+	$html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>';
1444 1444
 
1445 1445
 	echo $html;
1446 1446
 }
@@ -1455,96 +1455,96 @@  discard block
 block discarded – undo
1455 1455
 	<table id="wpinv_tax_rates" class="wp-list-table widefat fixed posts">
1456 1456
 		<thead>
1457 1457
 			<tr>
1458
-				<th scope="col" class="wpinv_tax_country"><?php _e( 'Country', 'invoicing' ); ?></th>
1459
-				<th scope="col" class="wpinv_tax_state"><?php _e( 'State / Province', 'invoicing' ); ?></th>
1460
-                <th scope="col" class="wpinv_tax_global" title="<?php esc_attr_e( 'Apply rate to whole country, regardless of state / province', 'invoicing' ); ?>"><?php _e( 'Country Wide', 'invoicing' ); ?></th>
1461
-                <th scope="col" class="wpinv_tax_rate"><?php _e( 'Rate %', 'invoicing' ); ?></th> 
1462
-                <th scope="col" class="wpinv_tax_name"><?php _e( 'Tax Name', 'invoicing' ); ?></th>
1463
-				<th scope="col" class="wpinv_tax_action"><?php _e( 'Remove', 'invoicing' ); ?></th>
1458
+				<th scope="col" class="wpinv_tax_country"><?php _e('Country', 'invoicing'); ?></th>
1459
+				<th scope="col" class="wpinv_tax_state"><?php _e('State / Province', 'invoicing'); ?></th>
1460
+                <th scope="col" class="wpinv_tax_global" title="<?php esc_attr_e('Apply rate to whole country, regardless of state / province', 'invoicing'); ?>"><?php _e('Country Wide', 'invoicing'); ?></th>
1461
+                <th scope="col" class="wpinv_tax_rate"><?php _e('Rate %', 'invoicing'); ?></th> 
1462
+                <th scope="col" class="wpinv_tax_name"><?php _e('Tax Name', 'invoicing'); ?></th>
1463
+				<th scope="col" class="wpinv_tax_action"><?php _e('Remove', 'invoicing'); ?></th>
1464 1464
 			</tr>
1465 1465
 		</thead>
1466 1466
         <tbody>
1467
-		<?php if( !empty( $rates ) ) : ?>
1468
-			<?php foreach( $rates as $key => $rate ) : ?>
1467
+		<?php if (!empty($rates)) : ?>
1468
+			<?php foreach ($rates as $key => $rate) : ?>
1469 1469
             <?php 
1470
-            $sanitized_key = wpinv_sanitize_key( $key );
1470
+            $sanitized_key = wpinv_sanitize_key($key);
1471 1471
             ?>
1472 1472
 			<tr>
1473 1473
 				<td class="wpinv_tax_country">
1474 1474
 					<?php
1475
-					echo wpinv_html_select( array(
1476
-						'options'          => wpinv_get_country_list( true ),
1475
+					echo wpinv_html_select(array(
1476
+						'options'          => wpinv_get_country_list(true),
1477 1477
 						'name'             => 'tax_rates[' . $sanitized_key . '][country]',
1478 1478
                         'id'               => 'tax_rates[' . $sanitized_key . '][country]',
1479 1479
 						'selected'         => $rate['country'],
1480 1480
 						'show_option_all'  => false,
1481 1481
 						'show_option_none' => false,
1482 1482
 						'class'            => 'wpinv-tax-country wpi_select2',
1483
-						'placeholder'      => __( 'Choose a country', 'invoicing' )
1484
-					) );
1483
+						'placeholder'      => __('Choose a country', 'invoicing')
1484
+					));
1485 1485
 					?>
1486 1486
 				</td>
1487 1487
 				<td class="wpinv_tax_state">
1488 1488
 					<?php
1489
-					$states = wpinv_get_country_states( $rate['country'] );
1490
-					if( !empty( $states ) ) {
1491
-						echo wpinv_html_select( array(
1492
-							'options'          => array_merge( array( '' => '' ), $states ),
1489
+					$states = wpinv_get_country_states($rate['country']);
1490
+					if (!empty($states)) {
1491
+						echo wpinv_html_select(array(
1492
+							'options'          => array_merge(array('' => ''), $states),
1493 1493
 							'name'             => 'tax_rates[' . $sanitized_key . '][state]',
1494 1494
                             'id'               => 'tax_rates[' . $sanitized_key . '][state]',
1495 1495
 							'selected'         => $rate['state'],
1496 1496
 							'show_option_all'  => false,
1497 1497
 							'show_option_none' => false,
1498 1498
                             'class'            => 'wpi_select2',
1499
-							'placeholder'      => __( 'Choose a state', 'invoicing' )
1500
-						) );
1499
+							'placeholder'      => __('Choose a state', 'invoicing')
1500
+						));
1501 1501
 					} else {
1502
-						echo wpinv_html_text( array(
1502
+						echo wpinv_html_text(array(
1503 1503
 							'name'  => 'tax_rates[' . $sanitized_key . '][state]', $rate['state'],
1504
-							'value' => ! empty( $rate['state'] ) ? $rate['state'] : '',
1504
+							'value' => !empty($rate['state']) ? $rate['state'] : '',
1505 1505
                             'id'    => 'tax_rates[' . $sanitized_key . '][state]',
1506
-						) );
1506
+						));
1507 1507
 					}
1508 1508
 					?>
1509 1509
 				</td>
1510 1510
 				<td class="wpinv_tax_global">
1511
-					<input type="checkbox" name="tax_rates[<?php echo $sanitized_key; ?>][global]" id="tax_rates[<?php echo $sanitized_key; ?>][global]" value="1"<?php checked( true, ! empty( $rate['global'] ) ); ?>/>
1512
-					<label for="tax_rates[<?php echo $sanitized_key; ?>][global]"><?php _e( 'Apply to whole country', 'invoicing' ); ?></label>
1511
+					<input type="checkbox" name="tax_rates[<?php echo $sanitized_key; ?>][global]" id="tax_rates[<?php echo $sanitized_key; ?>][global]" value="1"<?php checked(true, !empty($rate['global'])); ?>/>
1512
+					<label for="tax_rates[<?php echo $sanitized_key; ?>][global]"><?php _e('Apply to whole country', 'invoicing'); ?></label>
1513 1513
 				</td>
1514
-				<td class="wpinv_tax_rate"><input type="number" class="small-text" step="any" min="0" max="99" name="tax_rates[<?php echo $sanitized_key; ?>][rate]" value="<?php echo esc_html( $rate['rate'] ); ?>"/></td>
1515
-                <td class="wpinv_tax_name"><input type="text" class="regular-text" name="tax_rates[<?php echo $sanitized_key; ?>][name]" value="<?php echo esc_html( $rate['name'] ); ?>"/></td>
1516
-				<td class="wpinv_tax_action"><span class="wpinv_remove_tax_rate button-secondary"><?php _e( 'Remove Rate', 'invoicing' ); ?></span></td>
1514
+				<td class="wpinv_tax_rate"><input type="number" class="small-text" step="any" min="0" max="99" name="tax_rates[<?php echo $sanitized_key; ?>][rate]" value="<?php echo esc_html($rate['rate']); ?>"/></td>
1515
+                <td class="wpinv_tax_name"><input type="text" class="regular-text" name="tax_rates[<?php echo $sanitized_key; ?>][name]" value="<?php echo esc_html($rate['name']); ?>"/></td>
1516
+				<td class="wpinv_tax_action"><span class="wpinv_remove_tax_rate button-secondary"><?php _e('Remove Rate', 'invoicing'); ?></span></td>
1517 1517
 			</tr>
1518 1518
 			<?php endforeach; ?>
1519 1519
 		<?php else : ?>
1520 1520
 			<tr>
1521 1521
 				<td class="wpinv_tax_country">
1522 1522
 					<?php
1523
-					echo wpinv_html_select( array(
1524
-						'options'          => wpinv_get_country_list( true ),
1523
+					echo wpinv_html_select(array(
1524
+						'options'          => wpinv_get_country_list(true),
1525 1525
 						'name'             => 'tax_rates[0][country]',
1526 1526
 						'show_option_all'  => false,
1527 1527
 						'show_option_none' => false,
1528 1528
 						'class'            => 'wpinv-tax-country wpi_select2',
1529
-						'placeholder'      => __( 'Choose a country', 'invoicing' )
1530
-					) ); ?>
1529
+						'placeholder'      => __('Choose a country', 'invoicing')
1530
+					)); ?>
1531 1531
 				</td>
1532 1532
 				<td class="wpinv_tax_state">
1533
-					<?php echo wpinv_html_text( array(
1533
+					<?php echo wpinv_html_text(array(
1534 1534
 						'name' => 'tax_rates[0][state]'
1535
-					) ); ?>
1535
+					)); ?>
1536 1536
 				</td>
1537 1537
 				<td class="wpinv_tax_global">
1538 1538
 					<input type="checkbox" name="tax_rates[0][global]" id="tax_rates[0][global]" value="1"/>
1539
-					<label for="tax_rates[0][global]"><?php _e( 'Apply to whole country', 'invoicing' ); ?></label>
1539
+					<label for="tax_rates[0][global]"><?php _e('Apply to whole country', 'invoicing'); ?></label>
1540 1540
 				</td>
1541
-				<td class="wpinv_tax_rate"><input type="number" class="small-text" step="any" min="0" max="99" name="tax_rates[0][rate]" placeholder="<?php echo (float)wpinv_get_option( 'tax_rate', 0 ) ;?>" value="<?php echo (float)wpinv_get_option( 'tax_rate', 0 ) ;?>"/></td>
1541
+				<td class="wpinv_tax_rate"><input type="number" class="small-text" step="any" min="0" max="99" name="tax_rates[0][rate]" placeholder="<?php echo (float)wpinv_get_option('tax_rate', 0); ?>" value="<?php echo (float)wpinv_get_option('tax_rate', 0); ?>"/></td>
1542 1542
                 <td class="wpinv_tax_name"><input type="text" class="regular-text" name="tax_rates[0][name]" /></td>
1543
-				<td><span class="wpinv_remove_tax_rate button-secondary"><?php _e( 'Remove Rate', 'invoicing' ); ?></span></td>
1543
+				<td><span class="wpinv_remove_tax_rate button-secondary"><?php _e('Remove Rate', 'invoicing'); ?></span></td>
1544 1544
 			</tr>
1545 1545
 		<?php endif; ?>
1546 1546
         </tbody>
1547
-        <tfoot><tr><td colspan="5"></td><td class="wpinv_tax_action"><span class="button-secondary" id="wpinv_add_tax_rate"><?php _e( 'Add Tax Rate', 'invoicing' ); ?></span></td></tr></tfoot>
1547
+        <tfoot><tr><td colspan="5"></td><td class="wpinv_tax_action"><span class="button-secondary" id="wpinv_add_tax_rate"><?php _e('Add Tax Rate', 'invoicing'); ?></span></td></tr></tfoot>
1548 1548
 	</table>
1549 1549
 	<?php
1550 1550
 	echo ob_get_clean();
@@ -1555,76 +1555,76 @@  discard block
 block discarded – undo
1555 1555
     ob_start(); ?>
1556 1556
     </td><tr>
1557 1557
     <td colspan="2" class="wpinv_tools_tdbox">
1558
-    <?php if ( $args['desc'] ) { ?><p><?php echo $args['desc']; ?></p><?php } ?>
1559
-    <?php do_action( 'wpinv_tools_before' ); ?>
1558
+    <?php if ($args['desc']) { ?><p><?php echo $args['desc']; ?></p><?php } ?>
1559
+    <?php do_action('wpinv_tools_before'); ?>
1560 1560
     <table id="wpinv_tools_table" class="wp-list-table widefat fixed posts">
1561 1561
         <thead>
1562 1562
             <tr>
1563
-                <th scope="col" class="wpinv-th-tool"><?php _e( 'Tool', 'invoicing' ); ?></th>
1564
-                <th scope="col" class="wpinv-th-desc"><?php _e( 'Description', 'invoicing' ); ?></th>
1565
-                <th scope="col" class="wpinv-th-action"><?php _e( 'Action', 'invoicing' ); ?></th>
1563
+                <th scope="col" class="wpinv-th-tool"><?php _e('Tool', 'invoicing'); ?></th>
1564
+                <th scope="col" class="wpinv-th-desc"><?php _e('Description', 'invoicing'); ?></th>
1565
+                <th scope="col" class="wpinv-th-action"><?php _e('Action', 'invoicing'); ?></th>
1566 1566
             </tr>
1567 1567
         </thead>
1568
-            <?php do_action( 'wpinv_tools_row' ); ?>
1568
+            <?php do_action('wpinv_tools_row'); ?>
1569 1569
         <tbody>
1570 1570
         </tbody>
1571 1571
     </table>
1572
-    <?php do_action( 'wpinv_tools_after' ); ?>
1572
+    <?php do_action('wpinv_tools_after'); ?>
1573 1573
     <?php
1574 1574
     echo ob_get_clean();
1575 1575
 }
1576 1576
 
1577
-function wpinv_descriptive_text_callback( $args ) {
1578
-	echo wp_kses_post( $args['desc'] );
1577
+function wpinv_descriptive_text_callback($args) {
1578
+	echo wp_kses_post($args['desc']);
1579 1579
 }
1580 1580
 
1581
-function wpinv_hook_callback( $args ) {
1582
-	do_action( 'wpinv_' . $args['id'], $args );
1581
+function wpinv_hook_callback($args) {
1582
+	do_action('wpinv_' . $args['id'], $args);
1583 1583
 }
1584 1584
 
1585 1585
 function wpinv_set_settings_cap() {
1586 1586
 	return wpinv_get_capability();
1587 1587
 }
1588
-add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' );
1588
+add_filter('option_page_capability_wpinv_settings', 'wpinv_set_settings_cap');
1589 1589
 
1590
-function wpinv_settings_sanitize_input( $value, $key ) {
1591
-    if ( $key == 'tax_rate' || $key == 'eu_fallback_rate' ) {
1592
-        $value = wpinv_sanitize_amount( $value, 4 );
1590
+function wpinv_settings_sanitize_input($value, $key) {
1591
+    if ($key == 'tax_rate' || $key == 'eu_fallback_rate') {
1592
+        $value = wpinv_sanitize_amount($value, 4);
1593 1593
         $value = $value >= 100 ? 99 : $value;
1594 1594
     }
1595 1595
         
1596 1596
     return $value;
1597 1597
 }
1598
-add_filter( 'wpinv_settings_sanitize', 'wpinv_settings_sanitize_input', 10, 2 );
1598
+add_filter('wpinv_settings_sanitize', 'wpinv_settings_sanitize_input', 10, 2);
1599 1599
 
1600
-function wpinv_on_update_settings( $old_value, $value, $option ) {
1601
-    $old = !empty( $old_value['remove_data_on_unistall'] ) ? 1 : '';
1602
-    $new = !empty( $value['remove_data_on_unistall'] ) ? 1 : '';
1600
+function wpinv_on_update_settings($old_value, $value, $option) {
1601
+    $old = !empty($old_value['remove_data_on_unistall']) ? 1 : '';
1602
+    $new = !empty($value['remove_data_on_unistall']) ? 1 : '';
1603 1603
     
1604
-    if ( $old != $new ) {
1605
-        update_option( 'wpinv_remove_data_on_invoice_unistall', $new );
1604
+    if ($old != $new) {
1605
+        update_option('wpinv_remove_data_on_invoice_unistall', $new);
1606 1606
     }
1607 1607
 }
1608
-add_action( 'update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3 );
1609
-add_action( 'wpinv_settings_tab_bottom_emails_new_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1610
-add_action( 'wpinv_settings_tab_bottom_emails_cancelled_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1611
-add_action( 'wpinv_settings_tab_bottom_emails_failed_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1612
-add_action( 'wpinv_settings_tab_bottom_emails_onhold_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1613
-add_action( 'wpinv_settings_tab_bottom_emails_processing_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1614
-add_action( 'wpinv_settings_tab_bottom_emails_completed_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1615
-add_action( 'wpinv_settings_tab_bottom_emails_refunded_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1616
-add_action( 'wpinv_settings_tab_bottom_emails_user_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1617
-add_action( 'wpinv_settings_tab_bottom_emails_user_note', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1618
-add_action( 'wpinv_settings_tab_bottom_emails_overdue', 'wpinv_settings_tab_bottom_emails', 10, 2 );
1619
-
1620
-function wpinv_settings_tab_bottom_emails( $active_tab, $section ) {
1608
+add_action('update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3);
1609
+add_action('wpinv_settings_tab_bottom_emails_new_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1610
+add_action('wpinv_settings_tab_bottom_emails_cancelled_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1611
+add_action('wpinv_settings_tab_bottom_emails_failed_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1612
+add_action('wpinv_settings_tab_bottom_emails_onhold_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1613
+add_action('wpinv_settings_tab_bottom_emails_processing_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1614
+add_action('wpinv_settings_tab_bottom_emails_completed_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1615
+add_action('wpinv_settings_tab_bottom_emails_refunded_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1616
+add_action('wpinv_settings_tab_bottom_emails_user_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2);
1617
+add_action('wpinv_settings_tab_bottom_emails_user_note', 'wpinv_settings_tab_bottom_emails', 10, 2);
1618
+add_action('wpinv_settings_tab_bottom_emails_overdue', 'wpinv_settings_tab_bottom_emails', 10, 2);
1619
+
1620
+function wpinv_settings_tab_bottom_emails($active_tab, $section) {
1621 1621
     ?>
1622 1622
     <div class="wpinv-email-wc-row ">
1623 1623
         <div class="wpinv-email-wc-td">
1624
-            <h3 class="wpinv-email-wc-title"><?php echo apply_filters( 'wpinv_settings_email_wildcards_title', __( 'Wildcards For Emails', 'invoicing' ) ); ?></h3>
1624
+            <h3 class="wpinv-email-wc-title"><?php echo apply_filters('wpinv_settings_email_wildcards_title', __('Wildcards For Emails', 'invoicing')); ?></h3>
1625 1625
             <p class="wpinv-email-wc-description">
1626 1626
                 <?php
1627
-                $description = __( 'The following wildcards can be used in email subjects, heading and content:<br>
1627
+                $description = __('The following wildcards can be used in email subjects, heading and content:<br>
1628 1628
                     <strong>{site_title} :</strong> Site Title<br>
1629 1629
                     <strong>{name} :</strong> Customer\'s full name<br>
1630 1630
                     <strong>{first_name} :</strong> Customer\'s first name<br>
@@ -1638,7 +1638,7 @@  discard block
 block discarded – undo
1638 1638
                     <strong>{invoice_due_date} :</strong> The date the invoice is due<br>
1639 1639
                     <strong>{date} :</strong> Today\'s date.<br>
1640 1640
                     <strong>{is_was} :</strong> If due date of invoice is past, displays "was" otherwise displays "is"<br>
1641
-                    <strong>{invoice_label} :</strong> Invoices/quotes singular name. Ex: Invoice/Quote<br>', 'invoicing' );
1641
+                    <strong>{invoice_label} :</strong> Invoices/quotes singular name. Ex: Invoice/Quote<br>', 'invoicing');
1642 1642
                 echo apply_filters('wpinv_settings_email_wildcards_description', $description, $active_tab, $section);
1643 1643
                 ?>
1644 1644
             </p>
Please login to merge, or discard this patch.
includes/admin/class-wpinv-admin-menus.php 1 patch
Spacing   +91 added lines, -91 removed lines patch added patch discarded remove patch
@@ -3,7 +3,7 @@  discard block
 block discarded – undo
3 3
  * Setup menus in WP admin.
4 4
  */
5 5
 
6
-defined( 'ABSPATH' ) || exit;
6
+defined('ABSPATH') || exit;
7 7
 
8 8
 /**
9 9
  * WC_Admin_Menus Class.
@@ -13,40 +13,40 @@  discard block
 block discarded – undo
13 13
      * Hook in tabs.
14 14
      */
15 15
     public function __construct() {
16
-        add_action( 'admin_menu', array( $this, 'admin_menu' ), 10 );
17
-        add_action( 'admin_menu', array( $this, 'add_addons_menu' ), 99 );
18
-        add_action( 'admin_menu', array( $this, 'remove_admin_submenus' ), 10 );
19
-        add_action( 'admin_head-nav-menus.php', array( $this, 'add_nav_menu_meta_boxes' ) );
16
+        add_action('admin_menu', array($this, 'admin_menu'), 10);
17
+        add_action('admin_menu', array($this, 'add_addons_menu'), 99);
18
+        add_action('admin_menu', array($this, 'remove_admin_submenus'), 10);
19
+        add_action('admin_head-nav-menus.php', array($this, 'add_nav_menu_meta_boxes'));
20 20
     }
21 21
 
22 22
     public function admin_menu() {
23 23
         global $menu, $submenu;
24 24
 
25
-        if ( ! wpinv_current_user_can_manage_invoicing() ) {
25
+        if (!wpinv_current_user_can_manage_invoicing()) {
26 26
             return;
27 27
         }
28 28
 
29
-        $capability = apply_filters( 'invoicing_capability', wpinv_get_capability() );
29
+        $capability = apply_filters('invoicing_capability', wpinv_get_capability());
30 30
 
31
-        if ( wpinv_current_user_can_manage_invoicing() ) {
32
-            $menu[] = array( '', 'read', 'separator-wpinv', '', 'wp-menu-separator wpinv' );
31
+        if (wpinv_current_user_can_manage_invoicing()) {
32
+            $menu[] = array('', 'read', 'separator-wpinv', '', 'wp-menu-separator wpinv');
33 33
 
34 34
             // Allow users with 'manage_invocing' capability to create new invoices
35
-            $submenu['post-new.php?post_type=wpi_invoice'][] = array( '', '', 'post-new.php?post_type=wpi_invoice', '' );
36
-            $submenu['post-new.php?post_type=wpi_item'][] = array( '', '', 'post-new.php?post_type=wpi_item', '' );
37
-            $submenu['post-new.php?post_type=wpi_discount'][] = array( '', '', 'post-new.php?post_type=wpi_discount', '' );
35
+            $submenu['post-new.php?post_type=wpi_invoice'][] = array('', '', 'post-new.php?post_type=wpi_invoice', '');
36
+            $submenu['post-new.php?post_type=wpi_item'][] = array('', '', 'post-new.php?post_type=wpi_item', '');
37
+            $submenu['post-new.php?post_type=wpi_discount'][] = array('', '', 'post-new.php?post_type=wpi_discount', '');
38 38
 
39 39
         }
40 40
 
41
-        $wpi_invoice = get_post_type_object( 'wpi_invoice' );
41
+        $wpi_invoice = get_post_type_object('wpi_invoice');
42 42
 
43
-        add_menu_page( __( 'Invoicing', 'invoicing' ), __( 'Invoicing', 'invoicing' ), $capability, 'wpinv', null, $wpi_invoice->menu_icon, '54.123460' );
43
+        add_menu_page(__('Invoicing', 'invoicing'), __('Invoicing', 'invoicing'), $capability, 'wpinv', null, $wpi_invoice->menu_icon, '54.123460');
44 44
 
45
-        add_submenu_page( 'wpinv', __( 'Invoice Settings', 'invoicing' ), __( 'Settings', 'invoicing' ), $capability, 'wpinv-settings', array( $this, 'options_page' ));
45
+        add_submenu_page('wpinv', __('Invoice Settings', 'invoicing'), __('Settings', 'invoicing'), $capability, 'wpinv-settings', array($this, 'options_page'));
46 46
     }
47 47
 
48
-    public function add_addons_menu(){
49
-        if ( !apply_filters( 'wpi_show_addons_page', true ) ) {
48
+    public function add_addons_menu() {
49
+        if (!apply_filters('wpi_show_addons_page', true)) {
50 50
             return;
51 51
         }
52 52
 
@@ -56,78 +56,78 @@  discard block
 block discarded – undo
56 56
             __('Extensions', 'invoicing'),
57 57
             'manage_options',
58 58
             'wpi-addons',
59
-            array( $this, 'addons_page' )
59
+            array($this, 'addons_page')
60 60
         );
61 61
     }
62 62
 
63
-    public function addons_page(){
63
+    public function addons_page() {
64 64
         $addon_obj = new WPInv_Admin_Addons();
65 65
         $addon_obj->output();
66 66
     }
67 67
 
68 68
     function options_page() {
69
-        $page       = isset( $_GET['page'] )                ? strtolower( $_GET['page'] )               : false;
69
+        $page = isset($_GET['page']) ? strtolower($_GET['page']) : false;
70 70
 
71
-        if ( $page !== 'wpinv-settings' ) {
71
+        if ($page !== 'wpinv-settings') {
72 72
             return;
73 73
         }
74 74
 
75 75
         $settings_tabs = wpinv_get_settings_tabs();
76 76
         $settings_tabs = empty($settings_tabs) ? array() : $settings_tabs;
77
-        $active_tab    = isset( $_GET['tab'] ) && array_key_exists( $_GET['tab'], $settings_tabs ) ? sanitize_text_field( $_GET['tab'] ) : 'general';
78
-        $sections      = wpinv_get_settings_tab_sections( $active_tab );
77
+        $active_tab    = isset($_GET['tab']) && array_key_exists($_GET['tab'], $settings_tabs) ? sanitize_text_field($_GET['tab']) : 'general';
78
+        $sections      = wpinv_get_settings_tab_sections($active_tab);
79 79
         $key           = 'main';
80 80
 
81
-        if ( is_array( $sections ) ) {
82
-            $key = key( $sections );
81
+        if (is_array($sections)) {
82
+            $key = key($sections);
83 83
         }
84 84
 
85
-        $registered_sections = wpinv_get_settings_tab_sections( $active_tab );
86
-        $section             = isset( $_GET['section'] ) && ! empty( $registered_sections ) && array_key_exists( $_GET['section'], $registered_sections ) ? $_GET['section'] : $key;
85
+        $registered_sections = wpinv_get_settings_tab_sections($active_tab);
86
+        $section             = isset($_GET['section']) && !empty($registered_sections) && array_key_exists($_GET['section'], $registered_sections) ? $_GET['section'] : $key;
87 87
         ob_start();
88 88
         ?>
89 89
         <div class="wrap">
90 90
             <h1 class="nav-tab-wrapper">
91 91
                 <?php
92
-                foreach( wpinv_get_settings_tabs() as $tab_id => $tab_name ) {
93
-                    $tab_url = add_query_arg( array(
92
+                foreach (wpinv_get_settings_tabs() as $tab_id => $tab_name) {
93
+                    $tab_url = add_query_arg(array(
94 94
                         'settings-updated' => false,
95 95
                         'tab' => $tab_id,
96
-                    ) );
96
+                    ));
97 97
 
98 98
                     // Remove the section from the tabs so we always end up at the main section
99
-                    $tab_url = remove_query_arg( 'section', $tab_url );
100
-                    $tab_url = remove_query_arg( 'wpi_sub', $tab_url );
99
+                    $tab_url = remove_query_arg('section', $tab_url);
100
+                    $tab_url = remove_query_arg('wpi_sub', $tab_url);
101 101
 
102 102
                     $active = $active_tab == $tab_id ? ' nav-tab-active' : '';
103 103
 
104
-                    echo '<a href="' . esc_url( $tab_url ) . '" title="' . esc_attr( $tab_name ) . '" class="nav-tab' . $active . '">';
105
-                    echo esc_html( $tab_name );
104
+                    echo '<a href="' . esc_url($tab_url) . '" title="' . esc_attr($tab_name) . '" class="nav-tab' . $active . '">';
105
+                    echo esc_html($tab_name);
106 106
                     echo '</a>';
107 107
                 }
108 108
                 ?>
109 109
             </h1>
110 110
             <?php
111
-            $number_of_sections = count( $sections );
111
+            $number_of_sections = count($sections);
112 112
             $number = 0;
113
-            if ( $number_of_sections > 1 ) {
113
+            if ($number_of_sections > 1) {
114 114
                 echo '<div><ul class="subsubsub">';
115
-                foreach( $sections as $section_id => $section_name ) {
115
+                foreach ($sections as $section_id => $section_name) {
116 116
                     echo '<li>';
117 117
                     $number++;
118
-                    $tab_url = add_query_arg( array(
118
+                    $tab_url = add_query_arg(array(
119 119
                         'settings-updated' => false,
120 120
                         'tab' => $active_tab,
121 121
                         'section' => $section_id
122
-                    ) );
123
-                    $tab_url = remove_query_arg( 'wpi_sub', $tab_url );
122
+                    ));
123
+                    $tab_url = remove_query_arg('wpi_sub', $tab_url);
124 124
                     $class = '';
125
-                    if ( $section == $section_id ) {
125
+                    if ($section == $section_id) {
126 126
                         $class = 'current';
127 127
                     }
128
-                    echo '<a class="' . $class . '" href="' . esc_url( $tab_url ) . '">' . $section_name . '</a>';
128
+                    echo '<a class="' . $class . '" href="' . esc_url($tab_url) . '">' . $section_name . '</a>';
129 129
 
130
-                    if ( $number != $number_of_sections ) {
130
+                    if ($number != $number_of_sections) {
131 131
                         echo ' | ';
132 132
                     }
133 133
                     echo '</li>';
@@ -139,19 +139,19 @@  discard block
 block discarded – undo
139 139
                 <form method="post" action="options.php">
140 140
                     <table class="form-table">
141 141
                         <?php
142
-                        settings_fields( 'wpinv_settings' );
142
+                        settings_fields('wpinv_settings');
143 143
 
144
-                        if ( 'main' === $section ) {
145
-                            do_action( 'wpinv_settings_tab_top', $active_tab );
144
+                        if ('main' === $section) {
145
+                            do_action('wpinv_settings_tab_top', $active_tab);
146 146
                         }
147 147
 
148
-                        do_action( 'wpinv_settings_tab_top_' . $active_tab . '_' . $section, $active_tab, $section );
149
-                        do_settings_sections( 'wpinv_settings_' . $active_tab . '_' . $section, $active_tab, $section );
150
-                        do_action( 'wpinv_settings_tab_bottom_' . $active_tab . '_' . $section, $active_tab, $section );
148
+                        do_action('wpinv_settings_tab_top_' . $active_tab . '_' . $section, $active_tab, $section);
149
+                        do_settings_sections('wpinv_settings_' . $active_tab . '_' . $section, $active_tab, $section);
150
+                        do_action('wpinv_settings_tab_bottom_' . $active_tab . '_' . $section, $active_tab, $section);
151 151
 
152 152
                         // For backwards compatibility
153
-                        if ( 'main' === $section ) {
154
-                            do_action( 'wpinv_settings_tab_bottom', $active_tab );
153
+                        if ('main' === $section) {
154
+                            do_action('wpinv_settings_tab_bottom', $active_tab);
155 155
                         }
156 156
                         ?>
157 157
                     </table>
@@ -165,52 +165,52 @@  discard block
 block discarded – undo
165 165
     }
166 166
 
167 167
     public function remove_admin_submenus() {
168
-        remove_submenu_page( 'edit.php?post_type=wpi_invoice', 'post-new.php?post_type=wpi_invoice' );
168
+        remove_submenu_page('edit.php?post_type=wpi_invoice', 'post-new.php?post_type=wpi_invoice');
169 169
     }
170 170
 
171
-    public function add_nav_menu_meta_boxes(){
172
-        add_meta_box( 'wpinv_endpoints_nav_link', __( 'Invoicing Pages', 'invoicing' ), array( $this, 'nav_menu_links' ), 'nav-menus', 'side', 'low' );
171
+    public function add_nav_menu_meta_boxes() {
172
+        add_meta_box('wpinv_endpoints_nav_link', __('Invoicing Pages', 'invoicing'), array($this, 'nav_menu_links'), 'nav-menus', 'side', 'low');
173 173
     }
174 174
 
175
-    public function nav_menu_links(){
175
+    public function nav_menu_links() {
176 176
         $endpoints = $this->get_menu_items();
177 177
         ?>
178 178
         <div id="invoicing-endpoints" class="posttypediv">
179
-        <?php if(!empty($endpoints['pages'])){ ?>
179
+        <?php if (!empty($endpoints['pages'])) { ?>
180 180
             <div id="tabs-panel-invoicing-endpoints" class="tabs-panel tabs-panel-active">
181 181
                 <ul id="invoicing-endpoints-checklist" class="categorychecklist form-no-clear">
182 182
                     <?php
183 183
                     $walker = new Walker_Nav_Menu_Checklist(array());
184
-                    echo walk_nav_menu_tree(array_map('wp_setup_nav_menu_item', $endpoints['pages']), 0, (object) array('walker' => $walker));
184
+                    echo walk_nav_menu_tree(array_map('wp_setup_nav_menu_item', $endpoints['pages']), 0, (object)array('walker' => $walker));
185 185
                     ?>
186 186
                 </ul>
187 187
             </div>
188 188
         <?php } ?>
189 189
         <p class="button-controls">
190 190
         <span class="list-controls">
191
-            <a href="<?php echo admin_url( 'nav-menus.php?page-tab=all&selectall=1#invoicing-endpoints' ); ?>" class="select-all"><?php _e( 'Select all', 'invoicing' ); ?></a>
191
+            <a href="<?php echo admin_url('nav-menus.php?page-tab=all&selectall=1#invoicing-endpoints'); ?>" class="select-all"><?php _e('Select all', 'invoicing'); ?></a>
192 192
         </span>
193 193
             <span class="add-to-menu">
194
-            <input type="submit" class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e( 'Add to menu', 'invoicing' ); ?>" name="add-post-type-menu-item" id="submit-invoicing-endpoints">
194
+            <input type="submit" class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e('Add to menu', 'invoicing'); ?>" name="add-post-type-menu-item" id="submit-invoicing-endpoints">
195 195
             <span class="spinner"></span>
196 196
         </span>
197 197
         </p>
198 198
         <?php
199 199
     }
200 200
 
201
-    public function get_menu_items(){
201
+    public function get_menu_items() {
202 202
         $items = array();
203 203
 
204
-        $wpinv_history_page_id = (int)wpinv_get_option( 'invoice_history_page' );
205
-        if($wpinv_history_page_id > 0){
204
+        $wpinv_history_page_id = (int)wpinv_get_option('invoice_history_page');
205
+        if ($wpinv_history_page_id > 0) {
206 206
             $item = new stdClass();
207 207
             $item->object_id = $wpinv_history_page_id;
208 208
             $item->db_id = 0;
209
-            $item->object =  'page';
209
+            $item->object = 'page';
210 210
             $item->menu_item_parent = 0;
211 211
             $item->type = 'post_type';
212
-            $item->title = __('Invoice History Page','invoicing');
213
-            $item->url = get_permalink( $wpinv_history_page_id );
212
+            $item->title = __('Invoice History Page', 'invoicing');
213
+            $item->url = get_permalink($wpinv_history_page_id);
214 214
             $item->target = '';
215 215
             $item->attr_title = '';
216 216
             $item->classes = array('wpinv-menu-item');
@@ -219,16 +219,16 @@  discard block
 block discarded – undo
219 219
             $items['pages'][] = $item;
220 220
         }
221 221
 
222
-        $wpinv_sub_history_page_id = (int)wpinv_get_option( 'invoice_subscription_page' );
223
-        if($wpinv_sub_history_page_id > 0){
222
+        $wpinv_sub_history_page_id = (int)wpinv_get_option('invoice_subscription_page');
223
+        if ($wpinv_sub_history_page_id > 0) {
224 224
             $item = new stdClass();
225 225
             $item->object_id = $wpinv_sub_history_page_id;
226 226
             $item->db_id = 0;
227
-            $item->object =  'page';
227
+            $item->object = 'page';
228 228
             $item->menu_item_parent = 0;
229 229
             $item->type = 'post_type';
230
-            $item->title = __('Invoice Subscriptions Page','invoicing');
231
-            $item->url = get_permalink( $wpinv_sub_history_page_id );
230
+            $item->title = __('Invoice Subscriptions Page', 'invoicing');
231
+            $item->url = get_permalink($wpinv_sub_history_page_id);
232 232
             $item->target = '';
233 233
             $item->attr_title = '';
234 234
             $item->classes = array('wpinv-menu-item');
@@ -237,16 +237,16 @@  discard block
 block discarded – undo
237 237
             $items['pages'][] = $item;
238 238
         }
239 239
 
240
-        $wpinv_checkout_page_id = (int)wpinv_get_option( 'checkout_page' );
241
-        if($wpinv_checkout_page_id > 0){
240
+        $wpinv_checkout_page_id = (int)wpinv_get_option('checkout_page');
241
+        if ($wpinv_checkout_page_id > 0) {
242 242
             $item = new stdClass();
243 243
             $item->object_id = $wpinv_checkout_page_id;
244 244
             $item->db_id = 0;
245
-            $item->object =  'page';
245
+            $item->object = 'page';
246 246
             $item->menu_item_parent = 0;
247 247
             $item->type = 'post_type';
248
-            $item->title = __('Checkout Page','invoicing');
249
-            $item->url = get_permalink( $wpinv_checkout_page_id );
248
+            $item->title = __('Checkout Page', 'invoicing');
249
+            $item->url = get_permalink($wpinv_checkout_page_id);
250 250
             $item->target = '';
251 251
             $item->attr_title = '';
252 252
             $item->classes = array('wpinv-menu-item');
@@ -255,16 +255,16 @@  discard block
 block discarded – undo
255 255
             $items['pages'][] = $item;
256 256
         }
257 257
 
258
-        $wpinv_tandc_page_id = (int)wpinv_get_option( 'tandc_page' );
259
-        if($wpinv_tandc_page_id > 0){
258
+        $wpinv_tandc_page_id = (int)wpinv_get_option('tandc_page');
259
+        if ($wpinv_tandc_page_id > 0) {
260 260
             $item = new stdClass();
261 261
             $item->object_id = $wpinv_tandc_page_id;
262 262
             $item->db_id = 0;
263
-            $item->object =  'page';
263
+            $item->object = 'page';
264 264
             $item->menu_item_parent = 0;
265 265
             $item->type = 'post_type';
266
-            $item->title = __('Terms & Conditions','invoicing');
267
-            $item->url = get_permalink( $wpinv_tandc_page_id );
266
+            $item->title = __('Terms & Conditions', 'invoicing');
267
+            $item->url = get_permalink($wpinv_tandc_page_id);
268 268
             $item->target = '';
269 269
             $item->attr_title = '';
270 270
             $item->classes = array('wpinv-menu-item');
@@ -273,16 +273,16 @@  discard block
 block discarded – undo
273 273
             $items['pages'][] = $item;
274 274
         }
275 275
 
276
-        $wpinv_success_page_id = (int)wpinv_get_option( 'success_page' );
277
-        if($wpinv_success_page_id > 0){
276
+        $wpinv_success_page_id = (int)wpinv_get_option('success_page');
277
+        if ($wpinv_success_page_id > 0) {
278 278
             $item = new stdClass();
279 279
             $item->object_id = $wpinv_success_page_id;
280 280
             $item->db_id = 0;
281
-            $item->object =  'page';
281
+            $item->object = 'page';
282 282
             $item->menu_item_parent = 0;
283 283
             $item->type = 'post_type';
284
-            $item->title = __('Success Page','invoicing');
285
-            $item->url = get_permalink( $wpinv_success_page_id );
284
+            $item->title = __('Success Page', 'invoicing');
285
+            $item->url = get_permalink($wpinv_success_page_id);
286 286
             $item->target = '';
287 287
             $item->attr_title = '';
288 288
             $item->classes = array('wpinv-menu-item');
@@ -291,16 +291,16 @@  discard block
 block discarded – undo
291 291
             $items['pages'][] = $item;
292 292
         }
293 293
 
294
-        $wpinv_failure_page_id = (int)wpinv_get_option( 'failure_page' );
295
-        if($wpinv_failure_page_id > 0){
294
+        $wpinv_failure_page_id = (int)wpinv_get_option('failure_page');
295
+        if ($wpinv_failure_page_id > 0) {
296 296
             $item = new stdClass();
297 297
             $item->object_id = $wpinv_failure_page_id;
298 298
             $item->db_id = 0;
299
-            $item->object =  'page';
299
+            $item->object = 'page';
300 300
             $item->menu_item_parent = 0;
301 301
             $item->type = 'post_type';
302
-            $item->title = __('Failed Transaction Page','invoicing');
303
-            $item->url = get_permalink( $wpinv_failure_page_id );
302
+            $item->title = __('Failed Transaction Page', 'invoicing');
303
+            $item->url = get_permalink($wpinv_failure_page_id);
304 304
             $item->target = '';
305 305
             $item->attr_title = '';
306 306
             $item->classes = array('wpinv-menu-item');
@@ -309,7 +309,7 @@  discard block
 block discarded – undo
309 309
             $items['pages'][] = $item;
310 310
         }
311 311
 
312
-        return apply_filters( 'wpinv_menu_items', $items );
312
+        return apply_filters('wpinv_menu_items', $items);
313 313
     }
314 314
 
315 315
 }
Please login to merge, or discard this patch.
includes/admin/admin-meta-boxes.php 1 patch
Spacing   +149 added lines, -149 removed lines patch added patch discarded remove patch
@@ -1,67 +1,67 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 // MUST have WordPress.
3
-if ( !defined( 'WPINC' ) ) {
4
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
3
+if (!defined('WPINC')) {
4
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
5 5
 }
6 6
 
7
-function wpinv_add_meta_boxes( $post_type, $post ) {
7
+function wpinv_add_meta_boxes($post_type, $post) {
8 8
     global $wpi_mb_invoice;
9
-    if ( $post_type == 'wpi_invoice' && !empty( $post->ID ) ) {
10
-        $wpi_mb_invoice = wpinv_get_invoice( $post->ID );
9
+    if ($post_type == 'wpi_invoice' && !empty($post->ID)) {
10
+        $wpi_mb_invoice = wpinv_get_invoice($post->ID);
11 11
     }
12 12
     
13
-    if ( !empty( $wpi_mb_invoice ) && !$wpi_mb_invoice->has_status( array( 'draft', 'auto-draft' ) ) ) {
14
-        add_meta_box( 'wpinv-mb-resend-invoice', __( 'Resend Invoice', 'invoicing' ), 'WPInv_Meta_Box_Details::resend_invoice', 'wpi_invoice', 'side', 'high' );
13
+    if (!empty($wpi_mb_invoice) && !$wpi_mb_invoice->has_status(array('draft', 'auto-draft'))) {
14
+        add_meta_box('wpinv-mb-resend-invoice', __('Resend Invoice', 'invoicing'), 'WPInv_Meta_Box_Details::resend_invoice', 'wpi_invoice', 'side', 'high');
15 15
     }
16 16
     
17
-    if ( !empty( $wpi_mb_invoice ) && $wpi_mb_invoice->is_recurring() && $wpi_mb_invoice->is_parent() ) {
18
-        add_meta_box( 'wpinv-mb-subscriptions', __( 'Subscriptions', 'invoicing' ), 'WPInv_Meta_Box_Details::subscriptions', 'wpi_invoice', 'side', 'high' );
17
+    if (!empty($wpi_mb_invoice) && $wpi_mb_invoice->is_recurring() && $wpi_mb_invoice->is_parent()) {
18
+        add_meta_box('wpinv-mb-subscriptions', __('Subscriptions', 'invoicing'), 'WPInv_Meta_Box_Details::subscriptions', 'wpi_invoice', 'side', 'high');
19 19
     }
20 20
     
21
-    if ( wpinv_is_subscription_payment( $wpi_mb_invoice ) ) {
22
-        add_meta_box( 'wpinv-mb-renewals', __( 'Renewal Payment', 'invoicing' ), 'WPInv_Meta_Box_Details::renewals', 'wpi_invoice', 'side', 'high' );
21
+    if (wpinv_is_subscription_payment($wpi_mb_invoice)) {
22
+        add_meta_box('wpinv-mb-renewals', __('Renewal Payment', 'invoicing'), 'WPInv_Meta_Box_Details::renewals', 'wpi_invoice', 'side', 'high');
23 23
     }
24 24
     
25
-    add_meta_box( 'wpinv-details', __( 'Invoice Details', 'invoicing' ), 'WPInv_Meta_Box_Details::output', 'wpi_invoice', 'side', 'default' );
26
-    add_meta_box( 'wpinv-payment-meta', __( 'Payment Meta', 'invoicing' ), 'WPInv_Meta_Box_Details::payment_meta', 'wpi_invoice', 'side', 'default' );
25
+    add_meta_box('wpinv-details', __('Invoice Details', 'invoicing'), 'WPInv_Meta_Box_Details::output', 'wpi_invoice', 'side', 'default');
26
+    add_meta_box('wpinv-payment-meta', __('Payment Meta', 'invoicing'), 'WPInv_Meta_Box_Details::payment_meta', 'wpi_invoice', 'side', 'default');
27 27
    
28
-    add_meta_box( 'wpinv-address', __( 'Billing Details', 'invoicing' ), 'WPInv_Meta_Box_Billing_Details::output', 'wpi_invoice', 'normal', 'high' );
29
-    add_meta_box( 'wpinv-items', __( 'Invoice Items', 'invoicing' ), 'WPInv_Meta_Box_Items::output', 'wpi_invoice', 'normal', 'high' );
30
-    add_meta_box( 'wpinv-notes', __( 'Invoice Notes', 'invoicing' ), 'WPInv_Meta_Box_Notes::output', 'wpi_invoice', 'normal', 'high' );
28
+    add_meta_box('wpinv-address', __('Billing Details', 'invoicing'), 'WPInv_Meta_Box_Billing_Details::output', 'wpi_invoice', 'normal', 'high');
29
+    add_meta_box('wpinv-items', __('Invoice Items', 'invoicing'), 'WPInv_Meta_Box_Items::output', 'wpi_invoice', 'normal', 'high');
30
+    add_meta_box('wpinv-notes', __('Invoice Notes', 'invoicing'), 'WPInv_Meta_Box_Notes::output', 'wpi_invoice', 'normal', 'high');
31 31
 
32 32
 	remove_meta_box('wpseo_meta', 'wpi_invoice', 'normal');
33 33
 }
34
-add_action( 'add_meta_boxes', 'wpinv_add_meta_boxes', 30, 2 );
34
+add_action('add_meta_boxes', 'wpinv_add_meta_boxes', 30, 2);
35 35
 
36
-function wpinv_save_meta_boxes( $post_id, $post, $update = false ) {
37
-    remove_action( 'save_post', __FUNCTION__ );
36
+function wpinv_save_meta_boxes($post_id, $post, $update = false) {
37
+    remove_action('save_post', __FUNCTION__);
38 38
     
39 39
     // $post_id and $post are required
40
-    if ( empty( $post_id ) || empty( $post ) ) {
40
+    if (empty($post_id) || empty($post)) {
41 41
         return;
42 42
     }
43 43
         
44
-    if ( !current_user_can( 'edit_post', $post_id ) || empty( $post->post_type ) ) {
44
+    if (!current_user_can('edit_post', $post_id) || empty($post->post_type)) {
45 45
         return;
46 46
     }
47 47
     
48 48
     // Dont' save meta boxes for revisions or autosaves
49
-    if ( defined( 'DOING_AUTOSAVE' ) || is_int( wp_is_post_revision( $post ) ) || is_int( wp_is_post_autosave( $post ) ) ) {
49
+    if (defined('DOING_AUTOSAVE') || is_int(wp_is_post_revision($post)) || is_int(wp_is_post_autosave($post))) {
50 50
         return;
51 51
     }
52 52
         
53
-    if ( $post->post_type == 'wpi_invoice' or $post->post_type == 'wpi_quote' ) {
54
-        if ( ( defined( 'DOING_AJAX') && DOING_AJAX ) || isset( $_REQUEST['bulk_edit'] ) ) {
53
+    if ($post->post_type == 'wpi_invoice' or $post->post_type == 'wpi_quote') {
54
+        if ((defined('DOING_AJAX') && DOING_AJAX) || isset($_REQUEST['bulk_edit'])) {
55 55
             return;
56 56
         }
57 57
     
58
-        if ( isset( $_POST['wpinv_save_invoice'] ) && wp_verify_nonce( $_POST['wpinv_save_invoice'], 'wpinv_save_invoice' ) ) {
59
-            WPInv_Meta_Box_Items::save( $post_id, $_POST, $post );
58
+        if (isset($_POST['wpinv_save_invoice']) && wp_verify_nonce($_POST['wpinv_save_invoice'], 'wpinv_save_invoice')) {
59
+            WPInv_Meta_Box_Items::save($post_id, $_POST, $post);
60 60
         }
61
-    } else if ( $post->post_type == 'wpi_item' ) {
61
+    } else if ($post->post_type == 'wpi_item') {
62 62
         // verify nonce
63
-        if ( isset( $_POST['wpinv_vat_meta_box_nonce'] ) && wp_verify_nonce( $_POST['wpinv_vat_meta_box_nonce'], 'wpinv_item_meta_box_save' ) ) {
64
-            $fields                                 = array();
63
+        if (isset($_POST['wpinv_vat_meta_box_nonce']) && wp_verify_nonce($_POST['wpinv_vat_meta_box_nonce'], 'wpinv_item_meta_box_save')) {
64
+            $fields = array();
65 65
             $fields['_wpinv_price']              = 'wpinv_item_price';
66 66
             $fields['_wpinv_vat_class']          = 'wpinv_vat_class';
67 67
             $fields['_wpinv_vat_rule']           = 'wpinv_vat_rules';
@@ -76,96 +76,96 @@  discard block
 block discarded – undo
76 76
             $fields['_wpinv_dynamic_pricing']    = 'wpinv_name_your_price';
77 77
             $fields['_minimum_price']            = 'wpinv_minimum_price';
78 78
             
79
-            if ( !isset( $_POST['wpinv_is_recurring'] ) ) {
79
+            if (!isset($_POST['wpinv_is_recurring'])) {
80 80
                 $_POST['wpinv_is_recurring'] = 0;
81 81
             }
82 82
 
83
-            if ( !isset( $_POST['wpinv_name_your_price'] ) ) {
83
+            if (!isset($_POST['wpinv_name_your_price'])) {
84 84
                 $_POST['wpinv_name_your_price'] = 0;
85 85
             }
86 86
             
87
-            if ( !isset( $_POST['wpinv_free_trial'] ) || empty( $_POST['wpinv_is_recurring'] ) ) {
87
+            if (!isset($_POST['wpinv_free_trial']) || empty($_POST['wpinv_is_recurring'])) {
88 88
                 $_POST['wpinv_free_trial'] = 0;
89 89
             }
90 90
             
91
-            foreach ( $fields as $field => $name ) {
92
-                if ( isset( $_POST[ $name ] ) ) {
93
-                    $allowed = apply_filters( 'wpinv_item_allowed_save_meta_value', true, $field, $post_id );
91
+            foreach ($fields as $field => $name) {
92
+                if (isset($_POST[$name])) {
93
+                    $allowed = apply_filters('wpinv_item_allowed_save_meta_value', true, $field, $post_id);
94 94
 
95
-                    if ( !$allowed ) {
95
+                    if (!$allowed) {
96 96
                         continue;
97 97
                     }
98 98
 
99
-                    if ( $field == '_wpinv_price' ) {
100
-                        $value = wpinv_sanitize_amount( $_POST[ $name ] );
99
+                    if ($field == '_wpinv_price') {
100
+                        $value = wpinv_sanitize_amount($_POST[$name]);
101 101
                     } else {
102
-                        $value = is_string( $_POST[ $name ] ) ? sanitize_text_field( $_POST[ $name ] ) : $_POST[ $name ];
102
+                        $value = is_string($_POST[$name]) ? sanitize_text_field($_POST[$name]) : $_POST[$name];
103 103
                     }
104 104
                     
105
-                    $value = apply_filters( 'wpinv_item_metabox_save_' . $field, $value, $name );
106
-                    update_post_meta( $post_id, $field, $value );
105
+                    $value = apply_filters('wpinv_item_metabox_save_' . $field, $value, $name);
106
+                    update_post_meta($post_id, $field, $value);
107 107
                 }
108 108
             }
109 109
             
110
-            if ( !get_post_meta( $post_id, '_wpinv_custom_id', true ) ) {
111
-                update_post_meta( $post_id, '_wpinv_custom_id', $post_id );
110
+            if (!get_post_meta($post_id, '_wpinv_custom_id', true)) {
111
+                update_post_meta($post_id, '_wpinv_custom_id', $post_id);
112 112
             }
113 113
         }
114 114
     }
115 115
 }
116
-add_action( 'save_post', 'wpinv_save_meta_boxes', 10, 3 );
116
+add_action('save_post', 'wpinv_save_meta_boxes', 10, 3);
117 117
 
118 118
 function wpinv_register_item_meta_boxes() {    
119 119
     global $wpinv_euvat;
120 120
     
121
-    add_meta_box( 'wpinv_field_prices', __( 'Item Price', 'invoicing' ), 'WPInv_Meta_Box_Items::prices', 'wpi_item', 'normal', 'high' );
121
+    add_meta_box('wpinv_field_prices', __('Item Price', 'invoicing'), 'WPInv_Meta_Box_Items::prices', 'wpi_item', 'normal', 'high');
122 122
 
123
-    if ( $wpinv_euvat->allow_vat_rules() ) {
124
-        add_meta_box( 'wpinv_field_vat_rules', __( 'VAT rules type to use', 'invoicing' ), 'WPInv_Meta_Box_Items::vat_rules', 'wpi_item', 'normal', 'high' );
123
+    if ($wpinv_euvat->allow_vat_rules()) {
124
+        add_meta_box('wpinv_field_vat_rules', __('VAT rules type to use', 'invoicing'), 'WPInv_Meta_Box_Items::vat_rules', 'wpi_item', 'normal', 'high');
125 125
     }
126 126
     
127
-    if ( $wpinv_euvat->allow_vat_classes() ) {
128
-        add_meta_box( 'wpinv_field_vat_classes', __( 'VAT rates class to use', 'invoicing' ), 'WPInv_Meta_Box_Items::vat_classes', 'wpi_item', 'normal', 'high' );
127
+    if ($wpinv_euvat->allow_vat_classes()) {
128
+        add_meta_box('wpinv_field_vat_classes', __('VAT rates class to use', 'invoicing'), 'WPInv_Meta_Box_Items::vat_classes', 'wpi_item', 'normal', 'high');
129 129
     }
130 130
     
131
-    add_meta_box( 'wpinv_field_item_info', __( 'Item info', 'invoicing' ), 'WPInv_Meta_Box_Items::item_info', 'wpi_item', 'side', 'core' );
132
-    add_meta_box( 'wpinv_field_meta_values', __( 'Item Meta Values', 'invoicing' ), 'WPInv_Meta_Box_Items::meta_values', 'wpi_item', 'side', 'core' );
131
+    add_meta_box('wpinv_field_item_info', __('Item info', 'invoicing'), 'WPInv_Meta_Box_Items::item_info', 'wpi_item', 'side', 'core');
132
+    add_meta_box('wpinv_field_meta_values', __('Item Meta Values', 'invoicing'), 'WPInv_Meta_Box_Items::meta_values', 'wpi_item', 'side', 'core');
133 133
 }
134 134
 
135 135
 function wpinv_register_discount_meta_boxes() {
136
-    add_meta_box( 'wpinv_discount_fields', __( 'Discount Details', 'invoicing' ), 'wpinv_discount_metabox_details', 'wpi_discount', 'normal', 'high' );
136
+    add_meta_box('wpinv_discount_fields', __('Discount Details', 'invoicing'), 'wpinv_discount_metabox_details', 'wpi_discount', 'normal', 'high');
137 137
 }
138 138
 
139
-function wpinv_discount_metabox_details( $post ) {
139
+function wpinv_discount_metabox_details($post) {
140 140
     $discount_id    = $post->ID;
141
-    $discount       = wpinv_get_discount( $discount_id );
141
+    $discount       = wpinv_get_discount($discount_id);
142 142
     
143
-    $type               = wpinv_get_discount_type( $discount_id );
144
-    $item_reqs          = wpinv_get_discount_item_reqs( $discount_id );
145
-    $excluded_items     = wpinv_get_discount_excluded_items( $discount_id );
146
-    $min_total          = wpinv_get_discount_min_total( $discount_id );
147
-    $max_total          = wpinv_get_discount_max_total( $discount_id );
148
-    $max_uses           = wpinv_get_discount_max_uses( $discount_id );
149
-    $single_use         = wpinv_discount_is_single_use( $discount_id );
150
-    $recurring          = (bool)wpinv_discount_is_recurring( $discount_id );
151
-    $start_date         = wpinv_get_discount_start_date( $discount_id );
152
-    $expiration_date    = wpinv_get_discount_expiration( $discount_id );
143
+    $type               = wpinv_get_discount_type($discount_id);
144
+    $item_reqs          = wpinv_get_discount_item_reqs($discount_id);
145
+    $excluded_items     = wpinv_get_discount_excluded_items($discount_id);
146
+    $min_total          = wpinv_get_discount_min_total($discount_id);
147
+    $max_total          = wpinv_get_discount_max_total($discount_id);
148
+    $max_uses           = wpinv_get_discount_max_uses($discount_id);
149
+    $single_use         = wpinv_discount_is_single_use($discount_id);
150
+    $recurring          = (bool)wpinv_discount_is_recurring($discount_id);
151
+    $start_date         = wpinv_get_discount_start_date($discount_id);
152
+    $expiration_date    = wpinv_get_discount_expiration($discount_id);
153 153
     
154
-    if ( ! empty( $start_date ) && strpos( $start_date, '0000' ) === false ) {
155
-        $start_time         = strtotime( $start_date );
156
-        $start_h            = date_i18n( 'H', $start_time );
157
-        $start_m            = date_i18n( 'i', $start_time );
158
-        $start_date         = date_i18n( 'Y-m-d', $start_time );
154
+    if (!empty($start_date) && strpos($start_date, '0000') === false) {
155
+        $start_time         = strtotime($start_date);
156
+        $start_h            = date_i18n('H', $start_time);
157
+        $start_m            = date_i18n('i', $start_time);
158
+        $start_date         = date_i18n('Y-m-d', $start_time);
159 159
     } else {
160 160
         $start_h            = '00';
161 161
         $start_m            = '00';
162 162
     }
163 163
 
164
-    if ( ! empty( $expiration_date ) && strpos( $expiration_date, '0000' ) === false ) {
165
-        $expiration_time    = strtotime( $expiration_date );
166
-        $expiration_h       = date_i18n( 'H', $expiration_time );
167
-        $expiration_m       = date_i18n( 'i', $expiration_time );
168
-        $expiration_date    = date_i18n( 'Y-m-d', $expiration_time );
164
+    if (!empty($expiration_date) && strpos($expiration_date, '0000') === false) {
165
+        $expiration_time    = strtotime($expiration_date);
166
+        $expiration_h       = date_i18n('H', $expiration_time);
167
+        $expiration_m       = date_i18n('i', $expiration_time);
168
+        $expiration_date    = date_i18n('Y-m-d', $expiration_time);
169 169
     } else {
170 170
         $expiration_h       = '23';
171 171
         $expiration_m       = '59';
@@ -175,207 +175,207 @@  discard block
 block discarded – undo
175 175
     $max_total          = $max_total > 0 ? $max_total : '';
176 176
     $max_uses           = $max_uses > 0 ? $max_uses : '';
177 177
 ?>
178
-<?php do_action( 'wpinv_discount_form_top', $post ); ?>
179
-<?php wp_nonce_field( 'wpinv_discount_metabox_nonce', 'wpinv_discount_metabox_nonce' ); ;?>
178
+<?php do_action('wpinv_discount_form_top', $post); ?>
179
+<?php wp_nonce_field('wpinv_discount_metabox_nonce', 'wpinv_discount_metabox_nonce'); ;?>
180 180
 <table class="form-table wpi-form-table">
181 181
     <tbody>
182
-        <?php do_action( 'wpinv_discount_form_first', $post ); ?>
183
-        <?php do_action( 'wpinv_discount_form_before_code', $post ); ?>
182
+        <?php do_action('wpinv_discount_form_first', $post); ?>
183
+        <?php do_action('wpinv_discount_form_before_code', $post); ?>
184 184
         <tr>
185 185
             <th valign="top" scope="row">
186
-                <label for="wpinv_discount_code"><?php _e( 'Discount Code', 'invoicing' ); ?></label>
186
+                <label for="wpinv_discount_code"><?php _e('Discount Code', 'invoicing'); ?></label>
187 187
             </th>
188 188
             <td>
189
-                <input type="text" name="code" id="wpinv_discount_code" class="medium-text" value="<?php echo esc_attr( wpinv_get_discount_code( $discount_id ) ); ?>" required>
190
-                <p class="description"><?php _e( 'Enter a code for this discount, such as 10OFF', 'invoicing' ); ?></p>
189
+                <input type="text" name="code" id="wpinv_discount_code" class="medium-text" value="<?php echo esc_attr(wpinv_get_discount_code($discount_id)); ?>" required>
190
+                <p class="description"><?php _e('Enter a code for this discount, such as 10OFF', 'invoicing'); ?></p>
191 191
             </td>
192 192
         </tr>
193
-        <?php do_action( 'wpinv_discount_form_before_type', $post ); ?>
193
+        <?php do_action('wpinv_discount_form_before_type', $post); ?>
194 194
         <tr>
195 195
             <th valign="top" scope="row">
196
-                <label for="wpinv_discount_type"><?php _e( 'Discount Type', 'invoicing' ); ?></label>
196
+                <label for="wpinv_discount_type"><?php _e('Discount Type', 'invoicing'); ?></label>
197 197
             </th>
198 198
             <td>
199 199
                 <select id="wpinv_discount_type" name="type" class="medium-text wpi_select2">
200
-                    <?php foreach ( wpinv_get_discount_types() as $value => $label ) { ?>
201
-                    <option value="<?php echo $value ;?>" <?php selected( $type, $value ); ?>><?php echo $label; ?></option>
200
+                    <?php foreach (wpinv_get_discount_types() as $value => $label) { ?>
201
+                    <option value="<?php echo $value; ?>" <?php selected($type, $value); ?>><?php echo $label; ?></option>
202 202
                     <?php } ?>
203 203
                 </select>
204
-                <p class="description"><?php _e( 'The kind of discount to apply for this discount.', 'invoicing' ); ?></p>
204
+                <p class="description"><?php _e('The kind of discount to apply for this discount.', 'invoicing'); ?></p>
205 205
             </td>
206 206
         </tr>
207
-        <?php do_action( 'wpinv_discount_form_before_amount', $post ); ?>
207
+        <?php do_action('wpinv_discount_form_before_amount', $post); ?>
208 208
         <tr>
209 209
             <th valign="top" scope="row">
210
-                <label for="wpinv_discount_amount"><?php _e( 'Amount', 'invoicing' ); ?></label>
210
+                <label for="wpinv_discount_amount"><?php _e('Amount', 'invoicing'); ?></label>
211 211
             </th>
212 212
             <td>
213
-                <input type="text" name="amount" id="wpinv_discount_amount" class="wpi-field-price wpi-price" value="<?php echo esc_attr( wpinv_get_discount_amount( $discount_id ) ); ?>" required> <font class="wpi-discount-p">%</font><font class="wpi-discount-f" style="display:none;"><?php echo wpinv_currency_symbol() ;?></font>
214
-                <p style="display:none;" class="description"><?php _e( 'Enter the discount amount in USD', 'invoicing' ); ?></p>
215
-                <p class="description"><?php _e( 'Enter the discount value. Ex: 10', 'invoicing' ); ?></p>
213
+                <input type="text" name="amount" id="wpinv_discount_amount" class="wpi-field-price wpi-price" value="<?php echo esc_attr(wpinv_get_discount_amount($discount_id)); ?>" required> <font class="wpi-discount-p">%</font><font class="wpi-discount-f" style="display:none;"><?php echo wpinv_currency_symbol(); ?></font>
214
+                <p style="display:none;" class="description"><?php _e('Enter the discount amount in USD', 'invoicing'); ?></p>
215
+                <p class="description"><?php _e('Enter the discount value. Ex: 10', 'invoicing'); ?></p>
216 216
             </td>
217 217
         </tr>
218
-        <?php do_action( 'wpinv_discount_form_before_items', $post ); ?>
218
+        <?php do_action('wpinv_discount_form_before_items', $post); ?>
219 219
         <tr>
220 220
             <th valign="top" scope="row">
221
-                <label for="wpinv_discount_items"><?php _e( 'Items', 'invoicing' ); ?></label>
221
+                <label for="wpinv_discount_items"><?php _e('Items', 'invoicing'); ?></label>
222 222
             </th>
223 223
             <td>
224
-                <p><?php echo wpinv_item_dropdown( array(
224
+                <p><?php echo wpinv_item_dropdown(array(
225 225
                         'name'              => 'items[]',
226 226
                         'id'                => 'items',
227 227
                         'selected'          => $item_reqs,
228 228
                         'multiple'          => true,
229 229
                         'class'             => 'medium-text wpi_select2',
230
-                        'placeholder'       => __( 'Select one or more Items', 'invoicing' ),
230
+                        'placeholder'       => __('Select one or more Items', 'invoicing'),
231 231
                         'show_recurring'    => true,
232
-                    ) ); ?>
232
+                    )); ?>
233 233
                 </p>
234
-                <p class="description"><?php _e( 'Items which need to be in the cart to use this discount or, for "Item Discounts", which items are discounted. If left blank, this discount can be used on any item.', 'invoicing' ); ?></p>
234
+                <p class="description"><?php _e('Items which need to be in the cart to use this discount or, for "Item Discounts", which items are discounted. If left blank, this discount can be used on any item.', 'invoicing'); ?></p>
235 235
             </td>
236 236
         </tr>
237
-        <?php do_action( 'wpinv_discount_form_before_excluded_items', $post ); ?>
237
+        <?php do_action('wpinv_discount_form_before_excluded_items', $post); ?>
238 238
         <tr>
239 239
             <th valign="top" scope="row">
240
-                <label for="wpinv_discount_excluded_items"><?php _e( 'Excluded Items', 'invoicing' ); ?></label>
240
+                <label for="wpinv_discount_excluded_items"><?php _e('Excluded Items', 'invoicing'); ?></label>
241 241
             </th>
242 242
             <td>
243
-                <p><?php echo wpinv_item_dropdown( array(
243
+                <p><?php echo wpinv_item_dropdown(array(
244 244
                         'name'              => 'excluded_items[]',
245 245
                         'id'                => 'excluded_items',
246 246
                         'selected'          => $excluded_items,
247 247
                         'multiple'          => true,
248 248
                         'class'             => 'medium-text wpi_select2',
249
-                        'placeholder'       => __( 'Select one or more Items', 'invoicing' ),
249
+                        'placeholder'       => __('Select one or more Items', 'invoicing'),
250 250
                         'show_recurring'    => true,
251
-                    ) ); ?>
251
+                    )); ?>
252 252
                 </p>
253
-                <p class="description"><?php _e( 'Items which are NOT allowed to use this discount.', 'invoicing' ); ?></p>
253
+                <p class="description"><?php _e('Items which are NOT allowed to use this discount.', 'invoicing'); ?></p>
254 254
             </td>
255 255
         </tr>
256
-        <?php do_action( 'wpinv_discount_form_before_start', $post ); ?>
256
+        <?php do_action('wpinv_discount_form_before_start', $post); ?>
257 257
         <tr>
258 258
             <th valign="top" scope="row">
259
-                <label for="wpinv_discount_start"><?php _e( 'Start Date', 'invoicing' ); ?></label>
259
+                <label for="wpinv_discount_start"><?php _e('Start Date', 'invoicing'); ?></label>
260 260
             </th>
261 261
             <td>
262
-                <input type="text" class="w120 wpiDatepicker" id="wpinv_discount_start" data-dateFormat="yy-mm-dd" name="start" value="<?php echo esc_attr( $start_date ); ?>"> @ <select id="wpinv_discount_start_h" name="start_h">
263
-                    <?php for ( $i = 0; $i <= 23; $i++ ) { $value = str_pad( $i, 2, '0', STR_PAD_LEFT ); ?>
264
-                    <option value="<?php echo $value;?>" <?php selected( $value, $start_h ); ?>><?php echo $value;?></option>
262
+                <input type="text" class="w120 wpiDatepicker" id="wpinv_discount_start" data-dateFormat="yy-mm-dd" name="start" value="<?php echo esc_attr($start_date); ?>"> @ <select id="wpinv_discount_start_h" name="start_h">
263
+                    <?php for ($i = 0; $i <= 23; $i++) { $value = str_pad($i, 2, '0', STR_PAD_LEFT); ?>
264
+                    <option value="<?php echo $value; ?>" <?php selected($value, $start_h); ?>><?php echo $value; ?></option>
265 265
                     <?php } ?>
266 266
                 </select> : <select id="wpinv_discount_start_m" name="start_m">
267
-                    <?php for ( $i = 0; $i <= 59; $i++ ) { $value = str_pad( $i, 2, '0', STR_PAD_LEFT ); ?>
268
-                    <option value="<?php echo $value;?>" <?php selected( $value, $start_m ); ?>><?php echo $value;?></option>
267
+                    <?php for ($i = 0; $i <= 59; $i++) { $value = str_pad($i, 2, '0', STR_PAD_LEFT); ?>
268
+                    <option value="<?php echo $value; ?>" <?php selected($value, $start_m); ?>><?php echo $value; ?></option>
269 269
                     <?php } ?>
270 270
                 </select>
271
-                <p class="description"><?php _e( 'Enter the start date for this discount code in the format of yyyy-mm-dd. For no start date, leave blank. If entered, the discount can only be used after or on this date.', 'invoicing' ); ?></p>
271
+                <p class="description"><?php _e('Enter the start date for this discount code in the format of yyyy-mm-dd. For no start date, leave blank. If entered, the discount can only be used after or on this date.', 'invoicing'); ?></p>
272 272
             </td>
273 273
         </tr>
274
-        <?php do_action( 'wpinv_discount_form_before_expiration', $post ); ?>
274
+        <?php do_action('wpinv_discount_form_before_expiration', $post); ?>
275 275
         <tr>
276 276
             <th valign="top" scope="row">
277
-                <label for="wpinv_discount_expiration"><?php _e( 'Expiration Date', 'invoicing' ); ?></label>
277
+                <label for="wpinv_discount_expiration"><?php _e('Expiration Date', 'invoicing'); ?></label>
278 278
             </th>
279 279
             <td>
280
-                <input type="text" class="w120 wpiDatepicker" id="wpinv_discount_expiration" data-dateFormat="yy-mm-dd" name="expiration" value="<?php echo esc_attr( $expiration_date ); ?>"> @ <select id="wpinv_discount_expiration_h" name="expiration_h">
281
-                    <?php for ( $i = 0; $i <= 23; $i++ ) { $value = str_pad( $i, 2, '0', STR_PAD_LEFT ); ?>
282
-                    <option value="<?php echo $value;?>" <?php selected( $value, $expiration_h ); ?>><?php echo $value;?></option>
280
+                <input type="text" class="w120 wpiDatepicker" id="wpinv_discount_expiration" data-dateFormat="yy-mm-dd" name="expiration" value="<?php echo esc_attr($expiration_date); ?>"> @ <select id="wpinv_discount_expiration_h" name="expiration_h">
281
+                    <?php for ($i = 0; $i <= 23; $i++) { $value = str_pad($i, 2, '0', STR_PAD_LEFT); ?>
282
+                    <option value="<?php echo $value; ?>" <?php selected($value, $expiration_h); ?>><?php echo $value; ?></option>
283 283
                     <?php } ?>
284 284
                 </select> : <select id="wpinv_discount_expiration_m" name="expiration_m">
285
-                    <?php for ( $i = 0; $i <= 59; $i++ ) { $value = str_pad( $i, 2, '0', STR_PAD_LEFT ); ?>
286
-                    <option value="<?php echo $value;?>" <?php selected( $value, $expiration_m ); ?>><?php echo $value;?></option>
285
+                    <?php for ($i = 0; $i <= 59; $i++) { $value = str_pad($i, 2, '0', STR_PAD_LEFT); ?>
286
+                    <option value="<?php echo $value; ?>" <?php selected($value, $expiration_m); ?>><?php echo $value; ?></option>
287 287
                     <?php } ?>
288 288
                 </select>
289
-                <p class="description"><?php _e( 'Enter the expiration date for this discount code in the format of yyyy-mm-dd. Leave blank for no expiration.', 'invoicing' ); ?></p>
289
+                <p class="description"><?php _e('Enter the expiration date for this discount code in the format of yyyy-mm-dd. Leave blank for no expiration.', 'invoicing'); ?></p>
290 290
             </td>
291 291
         </tr>
292
-        <?php do_action( 'wpinv_discount_form_before_min_total', $post ); ?>
292
+        <?php do_action('wpinv_discount_form_before_min_total', $post); ?>
293 293
         <tr>
294 294
             <th valign="top" scope="row">
295
-                <label for="wpinv_discount_min_total"><?php _e( 'Minimum Amount', 'invoicing' ); ?></label>
295
+                <label for="wpinv_discount_min_total"><?php _e('Minimum Amount', 'invoicing'); ?></label>
296 296
             </th>
297 297
             <td>
298 298
                 <input type="text" name="min_total" id="wpinv_discount_min_total" class="wpi-field-price wpi-price" value="<?php echo $min_total; ?>">
299
-                <p class="description"><?php _e( 'This allows you to set the minimum amount (subtotal, including taxes) allowed when using the discount.', 'invoicing' ); ?></p>
299
+                <p class="description"><?php _e('This allows you to set the minimum amount (subtotal, including taxes) allowed when using the discount.', 'invoicing'); ?></p>
300 300
             </td>
301 301
         </tr>
302
-        <?php do_action( 'wpinv_discount_form_before_max_total', $post ); ?>
302
+        <?php do_action('wpinv_discount_form_before_max_total', $post); ?>
303 303
         <tr>
304 304
             <th valign="top" scope="row">
305
-                <label for="wpinv_discount_max_total"><?php _e( 'Maximum Amount', 'invoicing' ); ?></label>
305
+                <label for="wpinv_discount_max_total"><?php _e('Maximum Amount', 'invoicing'); ?></label>
306 306
             </th>
307 307
             <td>
308 308
                 <input type="text" name="max_total" id="wpinv_discount_max_total" class="wpi-field-price wpi-price" value="<?php echo $max_total; ?>">
309
-                <p class="description"><?php _e( 'This allows you to set the maximum amount (subtotal, including taxes) allowed when using the discount.', 'invoicing' ); ?></p>
309
+                <p class="description"><?php _e('This allows you to set the maximum amount (subtotal, including taxes) allowed when using the discount.', 'invoicing'); ?></p>
310 310
             </td>
311 311
         </tr>
312
-        <?php do_action( 'wpinv_discount_form_before_recurring', $post ); ?>
312
+        <?php do_action('wpinv_discount_form_before_recurring', $post); ?>
313 313
         <tr>
314 314
             <th valign="top" scope="row">
315
-                <label for="wpinv_discount_recurring"><?php _e( 'For recurring apply to', 'invoicing' ); ?></label>
315
+                <label for="wpinv_discount_recurring"><?php _e('For recurring apply to', 'invoicing'); ?></label>
316 316
             </th>
317 317
             <td>
318 318
                 <select id="wpinv_discount_recurring" name="recurring" class="medium-text wpi_select2">
319
-                    <option value="0" <?php selected( false, $recurring ); ?>><?php _e( 'All payments', 'invoicing' ); ?></option>
320
-                    <option value="1" <?php selected( true, $recurring ); ?>><?php _e( 'First payment only', 'invoicing' ); ?></option>
319
+                    <option value="0" <?php selected(false, $recurring); ?>><?php _e('All payments', 'invoicing'); ?></option>
320
+                    <option value="1" <?php selected(true, $recurring); ?>><?php _e('First payment only', 'invoicing'); ?></option>
321 321
                 </select>
322
-                <p class="description"><?php _e( '<b>All payments:</b> Apply this discount to all recurring payments of the recurring invoice. <br><b>First payment only:</b> Apply this discount to only first payment of the recurring invoice.', 'invoicing' ); ?></p>
322
+                <p class="description"><?php _e('<b>All payments:</b> Apply this discount to all recurring payments of the recurring invoice. <br><b>First payment only:</b> Apply this discount to only first payment of the recurring invoice.', 'invoicing'); ?></p>
323 323
             </td>
324 324
         </tr>
325
-        <?php do_action( 'wpinv_discount_form_before_max_uses', $post ); ?>
325
+        <?php do_action('wpinv_discount_form_before_max_uses', $post); ?>
326 326
         <tr>
327 327
             <th valign="top" scope="row">
328
-                <label for="wpinv_discount_max_uses"><?php _e( 'Max Uses', 'invoicing' ); ?></label>
328
+                <label for="wpinv_discount_max_uses"><?php _e('Max Uses', 'invoicing'); ?></label>
329 329
             </th>
330 330
             <td>
331 331
                 <input type="number" min="0" step="1" id="wpinv_discount_max_uses" name="max_uses" class="medium-text" value="<?php echo $max_uses; ?>">
332
-                <p class="description"><?php _e( 'The maximum number of times this discount can be used. Leave blank for unlimited.', 'invoicing' ); ?></p>
332
+                <p class="description"><?php _e('The maximum number of times this discount can be used. Leave blank for unlimited.', 'invoicing'); ?></p>
333 333
             </td>
334 334
         </tr>
335
-        <?php do_action( 'wpinv_discount_form_before_single_use', $post ); ?>
335
+        <?php do_action('wpinv_discount_form_before_single_use', $post); ?>
336 336
         <tr>
337 337
             <th valign="top" scope="row">
338
-                <label for="wpinv_discount_single_use"><?php _e( 'Use Once Per User', 'invoicing' ); ?></label>
338
+                <label for="wpinv_discount_single_use"><?php _e('Use Once Per User', 'invoicing'); ?></label>
339 339
             </th>
340 340
             <td>
341
-                <input type="checkbox" value="1" name="single_use" id="wpinv_discount_single_use" <?php checked( true, $single_use ); ?>>
342
-                <span class="description"><?php _e( 'Limit this discount to a single use per user?', 'invoicing' ); ?></span>
341
+                <input type="checkbox" value="1" name="single_use" id="wpinv_discount_single_use" <?php checked(true, $single_use); ?>>
342
+                <span class="description"><?php _e('Limit this discount to a single use per user?', 'invoicing'); ?></span>
343 343
             </td>
344 344
         </tr>
345
-        <?php do_action( 'wpinv_discount_form_last', $post ); ?>
345
+        <?php do_action('wpinv_discount_form_last', $post); ?>
346 346
     </tbody>
347 347
 </table>
348
-<?php do_action( 'wpinv_discount_form_bottom', $post ); ?>
348
+<?php do_action('wpinv_discount_form_bottom', $post); ?>
349 349
     <?php
350 350
 }
351 351
 
352
-function wpinv_discount_metabox_save( $post_id, $post, $update = false ) {
353
-    $post_type = !empty( $post ) ? $post->post_type : '';
352
+function wpinv_discount_metabox_save($post_id, $post, $update = false) {
353
+    $post_type = !empty($post) ? $post->post_type : '';
354 354
     
355
-    if ( $post_type != 'wpi_discount' ) {
355
+    if ($post_type != 'wpi_discount') {
356 356
         return;
357 357
     }
358 358
     
359
-    if ( !isset( $_POST['wpinv_discount_metabox_nonce'] ) || ( isset( $_POST['wpinv_discount_metabox_nonce'] ) && !wp_verify_nonce( $_POST['wpinv_discount_metabox_nonce'], 'wpinv_discount_metabox_nonce' ) ) ) {
359
+    if (!isset($_POST['wpinv_discount_metabox_nonce']) || (isset($_POST['wpinv_discount_metabox_nonce']) && !wp_verify_nonce($_POST['wpinv_discount_metabox_nonce'], 'wpinv_discount_metabox_nonce'))) {
360 360
         return;
361 361
     }
362 362
     
363
-    if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ( defined( 'DOING_AJAX') && DOING_AJAX ) || isset( $_REQUEST['bulk_edit'] ) ) {
363
+    if ((defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) || (defined('DOING_AJAX') && DOING_AJAX) || isset($_REQUEST['bulk_edit'])) {
364 364
         return;
365 365
     }
366 366
     
367
-    if ( !current_user_can( wpinv_get_capability(), $post_id ) ) {
367
+    if (!current_user_can(wpinv_get_capability(), $post_id)) {
368 368
         return;
369 369
     }
370 370
     
371
-    if ( !empty( $_POST['start'] ) && isset( $_POST['start_h'] ) && isset( $_POST['start_m'] ) && $_POST['start_h'] !== '' && $_POST['start_m'] !== '' ) {
371
+    if (!empty($_POST['start']) && isset($_POST['start_h']) && isset($_POST['start_m']) && $_POST['start_h'] !== '' && $_POST['start_m'] !== '') {
372 372
         $_POST['start'] = $_POST['start'] . ' ' . $_POST['start_h'] . ':' . $_POST['start_m'];
373 373
     }
374 374
 
375
-    if ( !empty( $_POST['expiration'] ) && isset( $_POST['expiration_h'] ) && isset( $_POST['expiration_m'] ) ) {
375
+    if (!empty($_POST['expiration']) && isset($_POST['expiration_h']) && isset($_POST['expiration_m'])) {
376 376
         $_POST['expiration'] = $_POST['expiration'] . ' ' . $_POST['expiration_h'] . ':' . $_POST['expiration_m'];
377 377
     }
378 378
     
379
-    return wpinv_store_discount( $post_id, $_POST, $post, $update );
379
+    return wpinv_store_discount($post_id, $_POST, $post, $update);
380 380
 }
381
-add_action( 'save_post', 'wpinv_discount_metabox_save', 10, 3 );
382 381
\ No newline at end of file
382
+add_action('save_post', 'wpinv_discount_metabox_save', 10, 3);
383 383
\ No newline at end of file
Please login to merge, or discard this patch.
includes/admin/wpinv-admin-functions.php 2 patches
Indentation   +45 added lines, -45 removed lines patch added patch discarded remove patch
@@ -101,9 +101,9 @@  discard block
 block discarded – undo
101 101
         case 'status' :
102 102
             $value   = $wpi_invoice->get_status( true ) . ( $wpi_invoice->is_recurring() && $wpi_invoice->is_parent() ? ' <span class="wpi-suffix">' . __( '(r)', 'invoicing' ) . '</span>' : '' );
103 103
             $is_viewed = wpinv_is_invoice_viewed( $wpi_invoice->ID );
104
-	        $gateway_title = wpinv_get_gateway_admin_label( $wpi_invoice->get_gateway() );
105
-	        $offline_gateways = apply_filters('wpinv_offline_payments', array('bank_transfer', 'cheque', 'cod'));
106
-	        $is_offline_payment = in_array($wpi_invoice->get_gateway(), $offline_gateways) ? true : false;
104
+            $gateway_title = wpinv_get_gateway_admin_label( $wpi_invoice->get_gateway() );
105
+            $offline_gateways = apply_filters('wpinv_offline_payments', array('bank_transfer', 'cheque', 'cod'));
106
+            $is_offline_payment = in_array($wpi_invoice->get_gateway(), $offline_gateways) ? true : false;
107 107
 
108 108
             if ( 1 == $is_viewed ) {
109 109
                 $value .= '&nbsp;&nbsp;<i class="fa fa-eye" title="'.__( 'Viewed by Customer', 'invoicing' ).'"></i>';
@@ -174,69 +174,69 @@  discard block
 block discarded – undo
174 174
 }
175 175
 
176 176
 function wpinv_admin_messages() {
177
-	global $wpinv_options, $pagenow, $post;
177
+    global $wpinv_options, $pagenow, $post;
178 178
 
179
-	if ( isset( $_GET['wpinv-message'] ) && 'discount_added' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
180
-		 add_settings_error( 'wpinv-notices', 'wpinv-discount-added', __( 'Discount code added.', 'invoicing' ), 'updated' );
181
-	}
179
+    if ( isset( $_GET['wpinv-message'] ) && 'discount_added' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
180
+            add_settings_error( 'wpinv-notices', 'wpinv-discount-added', __( 'Discount code added.', 'invoicing' ), 'updated' );
181
+    }
182 182
 
183
-	if ( isset( $_GET['wpinv-message'] ) && 'discount_add_failed' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
184
-		add_settings_error( 'wpinv-notices', 'wpinv-discount-add-fail', __( 'There was a problem adding your discount code, please try again.', 'invoicing' ), 'error' );
185
-	}
183
+    if ( isset( $_GET['wpinv-message'] ) && 'discount_add_failed' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
184
+        add_settings_error( 'wpinv-notices', 'wpinv-discount-add-fail', __( 'There was a problem adding your discount code, please try again.', 'invoicing' ), 'error' );
185
+    }
186 186
 
187
-	if ( isset( $_GET['wpinv-message'] ) && 'discount_exists' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
188
-		add_settings_error( 'wpinv-notices', 'wpinv-discount-exists', __( 'A discount with that code already exists, please use a different code.', 'invoicing' ), 'error' );
189
-	}
187
+    if ( isset( $_GET['wpinv-message'] ) && 'discount_exists' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
188
+        add_settings_error( 'wpinv-notices', 'wpinv-discount-exists', __( 'A discount with that code already exists, please use a different code.', 'invoicing' ), 'error' );
189
+    }
190 190
 
191
-	if ( isset( $_GET['wpinv-message'] ) && 'discount_updated' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
192
-		 add_settings_error( 'wpinv-notices', 'wpinv-discount-updated', __( 'Discount code updated.', 'invoicing' ), 'updated' );
193
-	}
191
+    if ( isset( $_GET['wpinv-message'] ) && 'discount_updated' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
192
+            add_settings_error( 'wpinv-notices', 'wpinv-discount-updated', __( 'Discount code updated.', 'invoicing' ), 'updated' );
193
+    }
194 194
 
195
-	if ( isset( $_GET['wpinv-message'] ) && 'discount_update_failed' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
196
-		add_settings_error( 'wpinv-notices', 'wpinv-discount-updated-fail', __( 'There was a problem updating your discount code, please try again.', 'invoicing' ), 'error' );
197
-	}
195
+    if ( isset( $_GET['wpinv-message'] ) && 'discount_update_failed' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
196
+        add_settings_error( 'wpinv-notices', 'wpinv-discount-updated-fail', __( 'There was a problem updating your discount code, please try again.', 'invoicing' ), 'error' );
197
+    }
198 198
 
199
-	if ( isset( $_GET['wpinv-message'] ) && 'invoice_deleted' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
200
-		add_settings_error( 'wpinv-notices', 'wpinv-deleted', __( 'The invoice has been deleted.', 'invoicing' ), 'updated' );
201
-	}
199
+    if ( isset( $_GET['wpinv-message'] ) && 'invoice_deleted' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
200
+        add_settings_error( 'wpinv-notices', 'wpinv-deleted', __( 'The invoice has been deleted.', 'invoicing' ), 'updated' );
201
+    }
202 202
 
203
-	if ( isset( $_GET['wpinv-message'] ) && 'email_disabled' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
204
-		add_settings_error( 'wpinv-notices', 'wpinv-sent-fail', __( 'Email notification is disabled. Please check settings.', 'invoicing' ), 'error' );
205
-	}
203
+    if ( isset( $_GET['wpinv-message'] ) && 'email_disabled' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
204
+        add_settings_error( 'wpinv-notices', 'wpinv-sent-fail', __( 'Email notification is disabled. Please check settings.', 'invoicing' ), 'error' );
205
+    }
206 206
 
207
-	if ( isset( $_GET['wpinv-message'] ) && 'email_sent' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
208
-		add_settings_error( 'wpinv-notices', 'wpinv-sent', __( 'The email has been sent to customer.', 'invoicing' ), 'updated' );
207
+    if ( isset( $_GET['wpinv-message'] ) && 'email_sent' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
208
+        add_settings_error( 'wpinv-notices', 'wpinv-sent', __( 'The email has been sent to customer.', 'invoicing' ), 'updated' );
209 209
     }
210 210
     
211 211
     if ( isset( $_GET['wpinv-message'] ) && 'email_fail' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
212
-		add_settings_error( 'wpinv-notices', 'wpinv-sent-fail', __( 'Fail to send email to the customer.', 'invoicing' ), 'error' );
212
+        add_settings_error( 'wpinv-notices', 'wpinv-sent-fail', __( 'Fail to send email to the customer.', 'invoicing' ), 'error' );
213 213
     }
214 214
 
215 215
     if ( isset( $_GET['wpinv-message'] ) && 'invoice-note-deleted' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
216 216
         add_settings_error( 'wpinv-notices', 'wpinv-note-deleted', __( 'The invoice note has been deleted.', 'invoicing' ), 'updated' );
217 217
     }
218 218
 
219
-	if ( isset( $_GET['wpinv-message'] ) && 'settings-imported' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
220
-		add_settings_error( 'wpinv-notices', 'wpinv-settings-imported', __( 'The settings have been imported.', 'invoicing' ), 'updated' );
221
-	}
219
+    if ( isset( $_GET['wpinv-message'] ) && 'settings-imported' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
220
+        add_settings_error( 'wpinv-notices', 'wpinv-settings-imported', __( 'The settings have been imported.', 'invoicing' ), 'updated' );
221
+    }
222 222
 
223
-	if ( isset( $_GET['wpinv-message'] ) && 'note-added' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
224
-		add_settings_error( 'wpinv-notices', 'wpinv-note-added', __( 'The invoice note has been added successfully.', 'invoicing' ), 'updated' );
225
-	}
223
+    if ( isset( $_GET['wpinv-message'] ) && 'note-added' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
224
+        add_settings_error( 'wpinv-notices', 'wpinv-note-added', __( 'The invoice note has been added successfully.', 'invoicing' ), 'updated' );
225
+    }
226 226
 
227
-	if ( isset( $_GET['wpinv-message'] ) && 'invoice-updated' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
228
-		add_settings_error( 'wpinv-notices', 'wpinv-updated', __( 'The invoice has been successfully updated.', 'invoicing' ), 'updated' );
229
-	}
227
+    if ( isset( $_GET['wpinv-message'] ) && 'invoice-updated' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
228
+        add_settings_error( 'wpinv-notices', 'wpinv-updated', __( 'The invoice has been successfully updated.', 'invoicing' ), 'updated' );
229
+    }
230 230
     
231
-	if ( $pagenow == 'post.php' && !empty( $post->post_type ) && $post->post_type == 'wpi_item' && !wpinv_item_is_editable( $post ) ) {
232
-		$message = apply_filters( 'wpinv_item_non_editable_message', __( 'This item in not editable.', 'invoicing' ), $post->ID );
231
+    if ( $pagenow == 'post.php' && !empty( $post->post_type ) && $post->post_type == 'wpi_item' && !wpinv_item_is_editable( $post ) ) {
232
+        $message = apply_filters( 'wpinv_item_non_editable_message', __( 'This item in not editable.', 'invoicing' ), $post->ID );
233 233
 
234
-		if ( !empty( $message ) ) {
235
-			add_settings_error( 'wpinv-notices', 'wpinv-edit-n', $message, 'updated' );
236
-		}
237
-	}
234
+        if ( !empty( $message ) ) {
235
+            add_settings_error( 'wpinv-notices', 'wpinv-edit-n', $message, 'updated' );
236
+        }
237
+    }
238 238
 
239
-	settings_errors( 'wpinv-notices' );
239
+    settings_errors( 'wpinv-notices' );
240 240
 }
241 241
 add_action( 'admin_notices', 'wpinv_admin_messages' );
242 242
 
@@ -326,7 +326,7 @@  discard block
 block discarded – undo
326 326
         break;
327 327
         case 'id' :
328 328
            echo $post->ID;
329
-           echo '<div class="hidden" id="wpinv_inline-' . $post->ID . '">
329
+            echo '<div class="hidden" id="wpinv_inline-' . $post->ID . '">
330 330
                     <div class="price">' . wpinv_get_item_price( $post->ID ) . '</div>';
331 331
                     if ( $wpinv_euvat->allow_vat_rules() ) {
332 332
                         echo '<div class="vat_rule">' . $wpinv_euvat->get_item_rule( $post->ID ) . '</div>';
Please login to merge, or discard this patch.
Spacing   +232 added lines, -232 removed lines patch added patch discarded remove patch
@@ -7,245 +7,245 @@  discard block
 block discarded – undo
7 7
  */
8 8
  
9 9
 // MUST have WordPress.
10
-if ( !defined( 'WPINC' ) ) {
11
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
10
+if (!defined('WPINC')) {
11
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
12 12
 }
13 13
 
14
-function wpinv_columns( $columns ) {
14
+function wpinv_columns($columns) {
15 15
     $columns = array(
16 16
         'cb'                => $columns['cb'],
17
-        'number'            => __( 'Number', 'invoicing' ),
18
-        'customer'          => __( 'Customer', 'invoicing' ),
19
-        'amount'            => __( 'Amount', 'invoicing' ),
20
-        'invoice_date'      => __( 'Created Date', 'invoicing' ),
21
-        'payment_date'      => __( 'Payment Date', 'invoicing' ),
22
-        'status'            => __( 'Status', 'invoicing' ),
23
-        'ID'                => __( 'ID', 'invoicing' ),
24
-        'wpi_actions'       => __( 'Actions', 'invoicing' ),
17
+        'number'            => __('Number', 'invoicing'),
18
+        'customer'          => __('Customer', 'invoicing'),
19
+        'amount'            => __('Amount', 'invoicing'),
20
+        'invoice_date'      => __('Created Date', 'invoicing'),
21
+        'payment_date'      => __('Payment Date', 'invoicing'),
22
+        'status'            => __('Status', 'invoicing'),
23
+        'ID'                => __('ID', 'invoicing'),
24
+        'wpi_actions'       => __('Actions', 'invoicing'),
25 25
     );
26 26
 
27
-    return apply_filters( 'wpi_invoice_table_columns', $columns );
27
+    return apply_filters('wpi_invoice_table_columns', $columns);
28 28
 }
29
-add_filter( 'manage_wpi_invoice_posts_columns', 'wpinv_columns' );
29
+add_filter('manage_wpi_invoice_posts_columns', 'wpinv_columns');
30 30
 
31
-function wpinv_bulk_actions( $actions ) {
32
-    if ( isset( $actions['edit'] ) ) {
33
-        unset( $actions['edit'] );
31
+function wpinv_bulk_actions($actions) {
32
+    if (isset($actions['edit'])) {
33
+        unset($actions['edit']);
34 34
     }
35 35
 
36 36
     return $actions;
37 37
 }
38
-add_filter( 'bulk_actions-edit-wpi_invoice', 'wpinv_bulk_actions' );
39
-add_filter( 'bulk_actions-edit-wpi_item', 'wpinv_bulk_actions' );
38
+add_filter('bulk_actions-edit-wpi_invoice', 'wpinv_bulk_actions');
39
+add_filter('bulk_actions-edit-wpi_item', 'wpinv_bulk_actions');
40 40
 
41
-function wpinv_sortable_columns( $columns ) {
41
+function wpinv_sortable_columns($columns) {
42 42
     $columns = array(
43
-        'ID'            => array( 'ID', true ),
44
-        'number'        => array( 'number', false ),
45
-        'amount'        => array( 'amount', false ),
46
-        'invoice_date'  => array( 'date', false ),
47
-        'payment_date'  => array( 'payment_date', true ),
48
-        'customer'      => array( 'customer', false ),
49
-        'status'        => array( 'status', false ),
43
+        'ID'            => array('ID', true),
44
+        'number'        => array('number', false),
45
+        'amount'        => array('amount', false),
46
+        'invoice_date'  => array('date', false),
47
+        'payment_date'  => array('payment_date', true),
48
+        'customer'      => array('customer', false),
49
+        'status'        => array('status', false),
50 50
     );
51 51
     
52
-    return apply_filters( 'wpi_invoice_table_sortable_columns', $columns );
52
+    return apply_filters('wpi_invoice_table_sortable_columns', $columns);
53 53
 }
54
-add_filter( 'manage_edit-wpi_invoice_sortable_columns', 'wpinv_sortable_columns' );
54
+add_filter('manage_edit-wpi_invoice_sortable_columns', 'wpinv_sortable_columns');
55 55
 
56
-add_action( 'manage_wpi_invoice_posts_custom_column', 'wpinv_posts_custom_column');
57
-function wpinv_posts_custom_column( $column_name, $post_id = 0 ) {
56
+add_action('manage_wpi_invoice_posts_custom_column', 'wpinv_posts_custom_column');
57
+function wpinv_posts_custom_column($column_name, $post_id = 0) {
58 58
     global $post, $wpi_invoice;
59 59
     
60
-    if ( empty( $wpi_invoice ) || ( !empty( $wpi_invoice ) && $post->ID != $wpi_invoice->ID ) ) {
61
-        $wpi_invoice = new WPInv_Invoice( $post->ID );
60
+    if (empty($wpi_invoice) || (!empty($wpi_invoice) && $post->ID != $wpi_invoice->ID)) {
61
+        $wpi_invoice = new WPInv_Invoice($post->ID);
62 62
     }
63 63
 
64 64
     $value = NULL;
65 65
     
66
-    switch ( $column_name ) {
66
+    switch ($column_name) {
67 67
         case 'email' :
68
-            $value   = $wpi_invoice->get_email();
68
+            $value = $wpi_invoice->get_email();
69 69
             break;
70 70
         case 'customer' :
71 71
             $customer_name = $wpi_invoice->get_user_full_name();
72
-            $customer_name = $customer_name != '' ? $customer_name : __( 'Customer', 'invoicing' );
73
-            $value = '<a href="' . esc_url( get_edit_user_link( $wpi_invoice->get_user_id() ) ) . '">' . $customer_name . '</a>';
74
-            if ( $email = $wpi_invoice->get_email() ) {
72
+            $customer_name = $customer_name != '' ? $customer_name : __('Customer', 'invoicing');
73
+            $value = '<a href="' . esc_url(get_edit_user_link($wpi_invoice->get_user_id())) . '">' . $customer_name . '</a>';
74
+            if ($email = $wpi_invoice->get_email()) {
75 75
                 $value .= '<br><a class="email" href="mailto:' . $email . '">' . $email . '</a>';
76 76
             }
77 77
             break;
78 78
         case 'amount' :
79
-            echo $wpi_invoice->get_total( true );
79
+            echo $wpi_invoice->get_total(true);
80 80
             break;
81 81
         case 'invoice_date' :
82
-            $date_format = get_option( 'date_format' );
82
+            $date_format = get_option('date_format');
83 83
             
84 84
             $m_time = $post->post_date;
85
-            $h_time = mysql2date( $date_format, $m_time );
85
+            $h_time = mysql2date($date_format, $m_time);
86 86
             
87
-            $value   = '<abbr title="' . $m_time . '">' . $h_time . '</abbr>';
87
+            $value = '<abbr title="' . $m_time . '">' . $h_time . '</abbr>';
88 88
             break;
89 89
         case 'payment_date' :
90
-            if ( $date_completed = $wpi_invoice->get_meta( '_wpinv_completed_date', true ) ) {
91
-                $date_format = get_option( 'date_format' );
90
+            if ($date_completed = $wpi_invoice->get_meta('_wpinv_completed_date', true)) {
91
+                $date_format = get_option('date_format');
92 92
                 
93 93
                 $m_time = $date_completed;
94
-                $h_time = mysql2date( $date_format, $m_time );
94
+                $h_time = mysql2date($date_format, $m_time);
95 95
                 
96
-                $value   = '<abbr title="' . $m_time . '">' . $h_time . '</abbr>';
96
+                $value = '<abbr title="' . $m_time . '">' . $h_time . '</abbr>';
97 97
             } else {
98 98
                 $value = '-';
99 99
             }
100 100
             break;
101 101
         case 'status' :
102
-            $value   = $wpi_invoice->get_status( true ) . ( $wpi_invoice->is_recurring() && $wpi_invoice->is_parent() ? ' <span class="wpi-suffix">' . __( '(r)', 'invoicing' ) . '</span>' : '' );
103
-            $is_viewed = wpinv_is_invoice_viewed( $wpi_invoice->ID );
104
-	        $gateway_title = wpinv_get_gateway_admin_label( $wpi_invoice->get_gateway() );
102
+            $value = $wpi_invoice->get_status(true) . ($wpi_invoice->is_recurring() && $wpi_invoice->is_parent() ? ' <span class="wpi-suffix">' . __('(r)', 'invoicing') . '</span>' : '');
103
+            $is_viewed = wpinv_is_invoice_viewed($wpi_invoice->ID);
104
+	        $gateway_title = wpinv_get_gateway_admin_label($wpi_invoice->get_gateway());
105 105
 	        $offline_gateways = apply_filters('wpinv_offline_payments', array('bank_transfer', 'cheque', 'cod'));
106 106
 	        $is_offline_payment = in_array($wpi_invoice->get_gateway(), $offline_gateways) ? true : false;
107 107
 
108
-            if ( 1 == $is_viewed ) {
109
-                $value .= '&nbsp;&nbsp;<i class="fa fa-eye" title="'.__( 'Viewed by Customer', 'invoicing' ).'"></i>';
108
+            if (1 == $is_viewed) {
109
+                $value .= '&nbsp;&nbsp;<i class="fa fa-eye" title="' . __('Viewed by Customer', 'invoicing') . '"></i>';
110 110
             }
111
-            if ( ( $wpi_invoice->is_paid() || $wpi_invoice->is_refunded() || $is_offline_payment ) && ( isset( $gateway_title ) ) ) {
112
-                $value .= '<br><small class="meta gateway">' . wp_sprintf( __( 'Via %s', 'invoicing' ), $gateway_title ) . '</small>';
111
+            if (($wpi_invoice->is_paid() || $wpi_invoice->is_refunded() || $is_offline_payment) && (isset($gateway_title))) {
112
+                $value .= '<br><small class="meta gateway">' . wp_sprintf(__('Via %s', 'invoicing'), $gateway_title) . '</small>';
113 113
             }
114 114
             break;
115 115
         case 'number' :
116
-            $edit_link = get_edit_post_link( $post->ID );
117
-            $value = '<a title="' . esc_attr__( 'View Invoice Details', 'invoicing' ) . '" href="' . esc_url( $edit_link ) . '">' . $wpi_invoice->get_number() . '</a>';
116
+            $edit_link = get_edit_post_link($post->ID);
117
+            $value = '<a title="' . esc_attr__('View Invoice Details', 'invoicing') . '" href="' . esc_url($edit_link) . '">' . $wpi_invoice->get_number() . '</a>';
118 118
             break;
119 119
         case 'wpi_actions' :
120 120
             $value = '';
121
-            if ( !empty( $post->post_name ) ) {
122
-                $value .= '<a title="' . esc_attr__( 'Print invoice', 'invoicing' ) . '" href="' . esc_url( get_permalink( $post->ID ) ) . '" class="button ui-tip column-act-btn" title="" target="_blank"><span class="dashicons dashicons-print"><i style="" class="fa fa-print"></i></span></a>';
121
+            if (!empty($post->post_name)) {
122
+                $value .= '<a title="' . esc_attr__('Print invoice', 'invoicing') . '" href="' . esc_url(get_permalink($post->ID)) . '" class="button ui-tip column-act-btn" title="" target="_blank"><span class="dashicons dashicons-print"><i style="" class="fa fa-print"></i></span></a>';
123 123
             }
124 124
             
125
-            if ( $email = $wpi_invoice->get_email() ) {
126
-                $value .= '<a title="' . esc_attr__( 'Send invoice to customer', 'invoicing' ) . '" href="' . esc_url( add_query_arg( array( 'wpi_action' => 'send_invoice', 'invoice_id' => $post->ID ) ) ) . '" class="button ui-tip column-act-btn"><span class="dashicons dashicons-email-alt"></span></a>';
125
+            if ($email = $wpi_invoice->get_email()) {
126
+                $value .= '<a title="' . esc_attr__('Send invoice to customer', 'invoicing') . '" href="' . esc_url(add_query_arg(array('wpi_action' => 'send_invoice', 'invoice_id' => $post->ID))) . '" class="button ui-tip column-act-btn"><span class="dashicons dashicons-email-alt"></span></a>';
127 127
             }
128 128
             
129 129
             break;
130 130
         default:
131
-            $value = isset( $post->$column_name ) ? $post->$column_name : '';
131
+            $value = isset($post->$column_name) ? $post->$column_name : '';
132 132
             break;
133 133
 
134 134
     }
135
-    $value = apply_filters( 'wpinv_payments_table_column', $value, $post->ID, $column_name );
135
+    $value = apply_filters('wpinv_payments_table_column', $value, $post->ID, $column_name);
136 136
     
137
-    if ( $value !== NULL ) {
137
+    if ($value !== NULL) {
138 138
         echo $value;
139 139
     }
140 140
 }
141 141
 
142
-function wpinv_admin_post_id( $id = 0 ) {
142
+function wpinv_admin_post_id($id = 0) {
143 143
     global $post;
144 144
 
145
-    if ( isset( $id ) && ! empty( $id ) ) {
145
+    if (isset($id) && !empty($id)) {
146 146
         return (int)$id;
147
-    } else if ( get_the_ID() ) {
148
-        return (int) get_the_ID();
149
-    } else if ( isset( $post->ID ) && !empty( $post->ID ) ) {
150
-        return (int) $post->ID;
151
-    } else if ( isset( $_GET['post'] ) && !empty( $_GET['post'] ) ) {
152
-        return (int) $_GET['post'];
153
-    } else if ( isset( $_GET['id'] ) && !empty( $_GET['id'] ) ) {
154
-        return (int) $_GET['id'];
155
-    } else if ( isset( $_POST['id'] ) && !empty( $_POST['id'] ) ) {
156
-        return (int) $_POST['id'];
147
+    } else if (get_the_ID()) {
148
+        return (int)get_the_ID();
149
+    } else if (isset($post->ID) && !empty($post->ID)) {
150
+        return (int)$post->ID;
151
+    } else if (isset($_GET['post']) && !empty($_GET['post'])) {
152
+        return (int)$_GET['post'];
153
+    } else if (isset($_GET['id']) && !empty($_GET['id'])) {
154
+        return (int)$_GET['id'];
155
+    } else if (isset($_POST['id']) && !empty($_POST['id'])) {
156
+        return (int)$_POST['id'];
157 157
     } 
158 158
 
159 159
     return null;
160 160
 }
161 161
     
162
-function wpinv_admin_post_type( $id = 0 ) {
163
-    if ( !$id ) {
162
+function wpinv_admin_post_type($id = 0) {
163
+    if (!$id) {
164 164
         $id = wpinv_admin_post_id();
165 165
     }
166 166
     
167
-    $type = get_post_type( $id );
167
+    $type = get_post_type($id);
168 168
     
169
-    if ( !$type ) {
170
-        $type = isset( $_GET['post_type'] ) && !empty( $_GET['post_type'] ) ? $_GET['post_type'] : null;
169
+    if (!$type) {
170
+        $type = isset($_GET['post_type']) && !empty($_GET['post_type']) ? $_GET['post_type'] : null;
171 171
     }
172 172
     
173
-    return apply_filters( 'wpinv_admin_post_type', $type, $id );
173
+    return apply_filters('wpinv_admin_post_type', $type, $id);
174 174
 }
175 175
 
176 176
 function wpinv_admin_messages() {
177 177
 	global $wpinv_options, $pagenow, $post;
178 178
 
179
-	if ( isset( $_GET['wpinv-message'] ) && 'discount_added' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
180
-		 add_settings_error( 'wpinv-notices', 'wpinv-discount-added', __( 'Discount code added.', 'invoicing' ), 'updated' );
179
+	if (isset($_GET['wpinv-message']) && 'discount_added' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) {
180
+		 add_settings_error('wpinv-notices', 'wpinv-discount-added', __('Discount code added.', 'invoicing'), 'updated');
181 181
 	}
182 182
 
183
-	if ( isset( $_GET['wpinv-message'] ) && 'discount_add_failed' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
184
-		add_settings_error( 'wpinv-notices', 'wpinv-discount-add-fail', __( 'There was a problem adding your discount code, please try again.', 'invoicing' ), 'error' );
183
+	if (isset($_GET['wpinv-message']) && 'discount_add_failed' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) {
184
+		add_settings_error('wpinv-notices', 'wpinv-discount-add-fail', __('There was a problem adding your discount code, please try again.', 'invoicing'), 'error');
185 185
 	}
186 186
 
187
-	if ( isset( $_GET['wpinv-message'] ) && 'discount_exists' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
188
-		add_settings_error( 'wpinv-notices', 'wpinv-discount-exists', __( 'A discount with that code already exists, please use a different code.', 'invoicing' ), 'error' );
187
+	if (isset($_GET['wpinv-message']) && 'discount_exists' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) {
188
+		add_settings_error('wpinv-notices', 'wpinv-discount-exists', __('A discount with that code already exists, please use a different code.', 'invoicing'), 'error');
189 189
 	}
190 190
 
191
-	if ( isset( $_GET['wpinv-message'] ) && 'discount_updated' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
192
-		 add_settings_error( 'wpinv-notices', 'wpinv-discount-updated', __( 'Discount code updated.', 'invoicing' ), 'updated' );
191
+	if (isset($_GET['wpinv-message']) && 'discount_updated' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) {
192
+		 add_settings_error('wpinv-notices', 'wpinv-discount-updated', __('Discount code updated.', 'invoicing'), 'updated');
193 193
 	}
194 194
 
195
-	if ( isset( $_GET['wpinv-message'] ) && 'discount_update_failed' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
196
-		add_settings_error( 'wpinv-notices', 'wpinv-discount-updated-fail', __( 'There was a problem updating your discount code, please try again.', 'invoicing' ), 'error' );
195
+	if (isset($_GET['wpinv-message']) && 'discount_update_failed' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) {
196
+		add_settings_error('wpinv-notices', 'wpinv-discount-updated-fail', __('There was a problem updating your discount code, please try again.', 'invoicing'), 'error');
197 197
 	}
198 198
 
199
-	if ( isset( $_GET['wpinv-message'] ) && 'invoice_deleted' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
200
-		add_settings_error( 'wpinv-notices', 'wpinv-deleted', __( 'The invoice has been deleted.', 'invoicing' ), 'updated' );
199
+	if (isset($_GET['wpinv-message']) && 'invoice_deleted' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) {
200
+		add_settings_error('wpinv-notices', 'wpinv-deleted', __('The invoice has been deleted.', 'invoicing'), 'updated');
201 201
 	}
202 202
 
203
-	if ( isset( $_GET['wpinv-message'] ) && 'email_disabled' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
204
-		add_settings_error( 'wpinv-notices', 'wpinv-sent-fail', __( 'Email notification is disabled. Please check settings.', 'invoicing' ), 'error' );
203
+	if (isset($_GET['wpinv-message']) && 'email_disabled' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) {
204
+		add_settings_error('wpinv-notices', 'wpinv-sent-fail', __('Email notification is disabled. Please check settings.', 'invoicing'), 'error');
205 205
 	}
206 206
 
207
-	if ( isset( $_GET['wpinv-message'] ) && 'email_sent' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
208
-		add_settings_error( 'wpinv-notices', 'wpinv-sent', __( 'The email has been sent to customer.', 'invoicing' ), 'updated' );
207
+	if (isset($_GET['wpinv-message']) && 'email_sent' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) {
208
+		add_settings_error('wpinv-notices', 'wpinv-sent', __('The email has been sent to customer.', 'invoicing'), 'updated');
209 209
     }
210 210
     
211
-    if ( isset( $_GET['wpinv-message'] ) && 'email_fail' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
212
-		add_settings_error( 'wpinv-notices', 'wpinv-sent-fail', __( 'Fail to send email to the customer.', 'invoicing' ), 'error' );
211
+    if (isset($_GET['wpinv-message']) && 'email_fail' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) {
212
+		add_settings_error('wpinv-notices', 'wpinv-sent-fail', __('Fail to send email to the customer.', 'invoicing'), 'error');
213 213
     }
214 214
 
215
-    if ( isset( $_GET['wpinv-message'] ) && 'invoice-note-deleted' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
216
-        add_settings_error( 'wpinv-notices', 'wpinv-note-deleted', __( 'The invoice note has been deleted.', 'invoicing' ), 'updated' );
215
+    if (isset($_GET['wpinv-message']) && 'invoice-note-deleted' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) {
216
+        add_settings_error('wpinv-notices', 'wpinv-note-deleted', __('The invoice note has been deleted.', 'invoicing'), 'updated');
217 217
     }
218 218
 
219
-	if ( isset( $_GET['wpinv-message'] ) && 'settings-imported' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
220
-		add_settings_error( 'wpinv-notices', 'wpinv-settings-imported', __( 'The settings have been imported.', 'invoicing' ), 'updated' );
219
+	if (isset($_GET['wpinv-message']) && 'settings-imported' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) {
220
+		add_settings_error('wpinv-notices', 'wpinv-settings-imported', __('The settings have been imported.', 'invoicing'), 'updated');
221 221
 	}
222 222
 
223
-	if ( isset( $_GET['wpinv-message'] ) && 'note-added' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
224
-		add_settings_error( 'wpinv-notices', 'wpinv-note-added', __( 'The invoice note has been added successfully.', 'invoicing' ), 'updated' );
223
+	if (isset($_GET['wpinv-message']) && 'note-added' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) {
224
+		add_settings_error('wpinv-notices', 'wpinv-note-added', __('The invoice note has been added successfully.', 'invoicing'), 'updated');
225 225
 	}
226 226
 
227
-	if ( isset( $_GET['wpinv-message'] ) && 'invoice-updated' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) {
228
-		add_settings_error( 'wpinv-notices', 'wpinv-updated', __( 'The invoice has been successfully updated.', 'invoicing' ), 'updated' );
227
+	if (isset($_GET['wpinv-message']) && 'invoice-updated' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) {
228
+		add_settings_error('wpinv-notices', 'wpinv-updated', __('The invoice has been successfully updated.', 'invoicing'), 'updated');
229 229
 	}
230 230
     
231
-	if ( $pagenow == 'post.php' && !empty( $post->post_type ) && $post->post_type == 'wpi_item' && !wpinv_item_is_editable( $post ) ) {
232
-		$message = apply_filters( 'wpinv_item_non_editable_message', __( 'This item in not editable.', 'invoicing' ), $post->ID );
231
+	if ($pagenow == 'post.php' && !empty($post->post_type) && $post->post_type == 'wpi_item' && !wpinv_item_is_editable($post)) {
232
+		$message = apply_filters('wpinv_item_non_editable_message', __('This item in not editable.', 'invoicing'), $post->ID);
233 233
 
234
-		if ( !empty( $message ) ) {
235
-			add_settings_error( 'wpinv-notices', 'wpinv-edit-n', $message, 'updated' );
234
+		if (!empty($message)) {
235
+			add_settings_error('wpinv-notices', 'wpinv-edit-n', $message, 'updated');
236 236
 		}
237 237
 	}
238 238
 
239
-	settings_errors( 'wpinv-notices' );
239
+	settings_errors('wpinv-notices');
240 240
 }
241
-add_action( 'admin_notices', 'wpinv_admin_messages' );
241
+add_action('admin_notices', 'wpinv_admin_messages');
242 242
 
243
-add_action( 'admin_init', 'wpinv_show_test_payment_gateway_notice' );
244
-function wpinv_show_test_payment_gateway_notice(){
245
-    add_action( 'admin_notices', 'wpinv_test_payment_gateway_messages' );
243
+add_action('admin_init', 'wpinv_show_test_payment_gateway_notice');
244
+function wpinv_show_test_payment_gateway_notice() {
245
+    add_action('admin_notices', 'wpinv_test_payment_gateway_messages');
246 246
 }
247 247
 
248
-function wpinv_test_payment_gateway_messages(){
248
+function wpinv_test_payment_gateway_messages() {
249 249
     $gateways = wpinv_get_enabled_payment_gateways();
250 250
     $name = array(); $test_gateways = '';
251 251
     if ($gateways) {
@@ -256,9 +256,9 @@  discard block
 block discarded – undo
256 256
         }
257 257
         $test_gateways = implode(', ', $name);
258 258
     }
259
-    if(isset($test_gateways) && !empty($test_gateways)){
259
+    if (isset($test_gateways) && !empty($test_gateways)) {
260 260
         $link = admin_url('admin.php?page=wpinv-settings&tab=gateways');
261
-        $notice = wp_sprintf( __('<strong>Important:</strong> Payment Gateway(s) %s are in testing mode and will not receive real payments. Go to <a href="%s"> Gateway Settings</a>.', 'invoicing'), $test_gateways, $link );
261
+        $notice = wp_sprintf(__('<strong>Important:</strong> Payment Gateway(s) %s are in testing mode and will not receive real payments. Go to <a href="%s"> Gateway Settings</a>.', 'invoicing'), $test_gateways, $link);
262 262
         ?>
263 263
         <div class="notice notice-warning is-dismissible">
264 264
             <p><?php echo $notice; ?></p>
@@ -267,29 +267,29 @@  discard block
 block discarded – undo
267 267
     }
268 268
 }
269 269
 
270
-function wpinv_items_columns( $existing_columns ) {
270
+function wpinv_items_columns($existing_columns) {
271 271
     global $wpinv_euvat;
272 272
     
273 273
     $columns                = array();
274 274
     $columns['cb']          = $existing_columns['cb'];
275
-    $columns['title']       = __( 'Title', 'invoicing' );
276
-    $columns['price']       = __( 'Price', 'invoicing' );
277
-    if ( $wpinv_euvat->allow_vat_rules() ) {
278
-        $columns['vat_rule']    = __( 'VAT rule type', 'invoicing' );
275
+    $columns['title']       = __('Title', 'invoicing');
276
+    $columns['price']       = __('Price', 'invoicing');
277
+    if ($wpinv_euvat->allow_vat_rules()) {
278
+        $columns['vat_rule']    = __('VAT rule type', 'invoicing');
279 279
     }
280
-    if ( $wpinv_euvat->allow_vat_classes() ) {
281
-        $columns['vat_class']   = __( 'VAT class', 'invoicing' );
280
+    if ($wpinv_euvat->allow_vat_classes()) {
281
+        $columns['vat_class']   = __('VAT class', 'invoicing');
282 282
     }
283
-    $columns['type']        = __( 'Type', 'invoicing' );
284
-    $columns['recurring']   = __( 'Recurring', 'invoicing' );
285
-    $columns['date']        = __( 'Date', 'invoicing' );
286
-    $columns['id']          = __( 'ID', 'invoicing' );
283
+    $columns['type']        = __('Type', 'invoicing');
284
+    $columns['recurring']   = __('Recurring', 'invoicing');
285
+    $columns['date']        = __('Date', 'invoicing');
286
+    $columns['id']          = __('ID', 'invoicing');
287 287
 
288
-    return apply_filters( 'wpinv_items_columns', $columns );
288
+    return apply_filters('wpinv_items_columns', $columns);
289 289
 }
290
-add_filter( 'manage_wpi_item_posts_columns', 'wpinv_items_columns' );
290
+add_filter('manage_wpi_item_posts_columns', 'wpinv_items_columns');
291 291
 
292
-function wpinv_items_sortable_columns( $columns ) {
292
+function wpinv_items_sortable_columns($columns) {
293 293
     $columns['price']       = 'price';
294 294
     $columns['vat_rule']    = 'vat_rule';
295 295
     $columns['vat_class']   = 'vat_class';
@@ -299,151 +299,151 @@  discard block
 block discarded – undo
299 299
 
300 300
     return $columns;
301 301
 }
302
-add_filter( 'manage_edit-wpi_item_sortable_columns', 'wpinv_items_sortable_columns' );
302
+add_filter('manage_edit-wpi_item_sortable_columns', 'wpinv_items_sortable_columns');
303 303
 
304
-function wpinv_items_table_custom_column( $column ) {
304
+function wpinv_items_table_custom_column($column) {
305 305
     global $wpinv_euvat, $post, $wpi_item;
306 306
     
307
-    if ( empty( $wpi_item ) || ( !empty( $wpi_item ) && $post->ID != $wpi_item->ID ) ) {
308
-        $wpi_item = new WPInv_Item( $post->ID );
307
+    if (empty($wpi_item) || (!empty($wpi_item) && $post->ID != $wpi_item->ID)) {
308
+        $wpi_item = new WPInv_Item($post->ID);
309 309
     }
310 310
 
311
-    switch ( $column ) {
311
+    switch ($column) {
312 312
         case 'price' :
313
-            echo wpinv_item_price( $post->ID );
313
+            echo wpinv_item_price($post->ID);
314 314
         break;
315 315
         case 'vat_rule' :
316
-            echo $wpinv_euvat->item_rule_label( $post->ID );
316
+            echo $wpinv_euvat->item_rule_label($post->ID);
317 317
         break;
318 318
         case 'vat_class' :
319
-            echo $wpinv_euvat->item_class_label( $post->ID );
319
+            echo $wpinv_euvat->item_class_label($post->ID);
320 320
         break;
321 321
         case 'type' :
322
-            echo wpinv_item_type( $post->ID ) . '<span class="meta">' . $wpi_item->get_custom_singular_name() . '</span>';
322
+            echo wpinv_item_type($post->ID) . '<span class="meta">' . $wpi_item->get_custom_singular_name() . '</span>';
323 323
         break;
324 324
         case 'recurring' :
325
-            echo ( wpinv_is_recurring_item( $post->ID ) ? '<i class="fa fa-check fa-recurring-y"></i>' : '<i class="fa fa-close fa-recurring-n"></i>' );
325
+            echo (wpinv_is_recurring_item($post->ID) ? '<i class="fa fa-check fa-recurring-y"></i>' : '<i class="fa fa-close fa-recurring-n"></i>');
326 326
         break;
327 327
         case 'id' :
328 328
            echo $post->ID;
329 329
            echo '<div class="hidden" id="wpinv_inline-' . $post->ID . '">
330
-                    <div class="price">' . wpinv_get_item_price( $post->ID ) . '</div>';
331
-                    if ( $wpinv_euvat->allow_vat_rules() ) {
332
-                        echo '<div class="vat_rule">' . $wpinv_euvat->get_item_rule( $post->ID ) . '</div>';
330
+                    <div class="price">' . wpinv_get_item_price($post->ID) . '</div>';
331
+                    if ($wpinv_euvat->allow_vat_rules()) {
332
+                        echo '<div class="vat_rule">' . $wpinv_euvat->get_item_rule($post->ID) . '</div>';
333 333
                     }
334
-                    if ( $wpinv_euvat->allow_vat_classes() ) {
335
-                        echo '<div class="vat_class">' . $wpinv_euvat->get_item_class( $post->ID ) . '</div>';
334
+                    if ($wpinv_euvat->allow_vat_classes()) {
335
+                        echo '<div class="vat_class">' . $wpinv_euvat->get_item_class($post->ID) . '</div>';
336 336
                     }
337
-                    echo '<div class="type">' . wpinv_get_item_type( $post->ID ) . '</div>
337
+                    echo '<div class="type">' . wpinv_get_item_type($post->ID) . '</div>
338 338
                 </div>';
339 339
         break;
340 340
     }
341 341
     
342
-    do_action( 'wpinv_items_table_column_item_' . $column, $wpi_item, $post );
342
+    do_action('wpinv_items_table_column_item_' . $column, $wpi_item, $post);
343 343
 }
344
-add_action( 'manage_wpi_item_posts_custom_column', 'wpinv_items_table_custom_column' );
344
+add_action('manage_wpi_item_posts_custom_column', 'wpinv_items_table_custom_column');
345 345
 
346 346
 function wpinv_add_items_filters() {
347 347
     global $wpinv_euvat, $typenow;
348 348
 
349 349
     // Checks if the current post type is 'item'
350
-    if ( $typenow == 'wpi_item') {
351
-        if ( $wpinv_euvat->allow_vat_rules() ) {
352
-            echo wpinv_html_select( array(
353
-                    'options'          => array_merge( array( '' => __( 'All VAT rules', 'invoicing' ) ), $wpinv_euvat->get_rules() ),
350
+    if ($typenow == 'wpi_item') {
351
+        if ($wpinv_euvat->allow_vat_rules()) {
352
+            echo wpinv_html_select(array(
353
+                    'options'          => array_merge(array('' => __('All VAT rules', 'invoicing')), $wpinv_euvat->get_rules()),
354 354
                     'name'             => 'vat_rule',
355 355
                     'id'               => 'vat_rule',
356
-                    'selected'         => ( isset( $_GET['vat_rule'] ) ? $_GET['vat_rule'] : '' ),
356
+                    'selected'         => (isset($_GET['vat_rule']) ? $_GET['vat_rule'] : ''),
357 357
                     'show_option_all'  => false,
358 358
                     'show_option_none' => false,
359 359
                     'class'            => 'gdmbx2-text-medium wpi_select2',
360
-                ) );
360
+                ));
361 361
         }
362 362
         
363
-        if ( $wpinv_euvat->allow_vat_classes() ) {
364
-            echo wpinv_html_select( array(
365
-                    'options'          => array_merge( array( '' => __( 'All VAT classes', 'invoicing' ) ), $wpinv_euvat->get_all_classes() ),
363
+        if ($wpinv_euvat->allow_vat_classes()) {
364
+            echo wpinv_html_select(array(
365
+                    'options'          => array_merge(array('' => __('All VAT classes', 'invoicing')), $wpinv_euvat->get_all_classes()),
366 366
                     'name'             => 'vat_class',
367 367
                     'id'               => 'vat_class',
368
-                    'selected'         => ( isset( $_GET['vat_class'] ) ? $_GET['vat_class'] : '' ),
368
+                    'selected'         => (isset($_GET['vat_class']) ? $_GET['vat_class'] : ''),
369 369
                     'show_option_all'  => false,
370 370
                     'show_option_none' => false,
371 371
                     'class'            => 'gdmbx2-text-medium wpi_select2',
372
-                ) );
372
+                ));
373 373
         }
374 374
             
375
-        echo wpinv_html_select( array(
376
-                'options'          => array_merge( array( '' => __( 'All item types', 'invoicing' ) ), wpinv_get_item_types() ),
375
+        echo wpinv_html_select(array(
376
+                'options'          => array_merge(array('' => __('All item types', 'invoicing')), wpinv_get_item_types()),
377 377
                 'name'             => 'type',
378 378
                 'id'               => 'type',
379
-                'selected'         => ( isset( $_GET['type'] ) ? $_GET['type'] : '' ),
379
+                'selected'         => (isset($_GET['type']) ? $_GET['type'] : ''),
380 380
                 'show_option_all'  => false,
381 381
                 'show_option_none' => false,
382 382
                 'class'            => 'gdmbx2-text-medium',
383
-            ) );
383
+            ));
384 384
 
385
-        if ( isset( $_REQUEST['all_posts'] ) && '1' === $_REQUEST['all_posts'] ) {
385
+        if (isset($_REQUEST['all_posts']) && '1' === $_REQUEST['all_posts']) {
386 386
             echo '<input type="hidden" name="all_posts" value="1" />';
387 387
         }
388 388
     }
389 389
 }
390
-add_action( 'restrict_manage_posts', 'wpinv_add_items_filters', 100 );
390
+add_action('restrict_manage_posts', 'wpinv_add_items_filters', 100);
391 391
 
392
-function wpinv_send_invoice_after_save( $invoice ) {
393
-    if ( empty( $_POST['wpi_save_send'] ) ) {
392
+function wpinv_send_invoice_after_save($invoice) {
393
+    if (empty($_POST['wpi_save_send'])) {
394 394
         return;
395 395
     }
396 396
     
397
-    if ( !empty( $invoice->ID ) && !empty( $invoice->post_type ) && 'wpi_invoice' == $invoice->post_type ) {
398
-        wpinv_user_invoice_notification( $invoice->ID );
397
+    if (!empty($invoice->ID) && !empty($invoice->post_type) && 'wpi_invoice' == $invoice->post_type) {
398
+        wpinv_user_invoice_notification($invoice->ID);
399 399
     }
400 400
 }
401
-add_action( 'wpinv_invoice_metabox_saved', 'wpinv_send_invoice_after_save', 100, 1 );
401
+add_action('wpinv_invoice_metabox_saved', 'wpinv_send_invoice_after_save', 100, 1);
402 402
 
403
-function wpinv_send_register_new_user( $data, $postarr ) {
404
-    if ( wpinv_current_user_can_manage_invoicing() && !empty( $data['post_type'] ) && ( 'wpi_invoice' == $data['post_type'] || 'wpi_quote' == $data['post_type'] ) ) {
405
-        $is_new_user = !empty( $postarr['wpinv_new_user'] ) ? true : false;
406
-        $email = !empty( $postarr['wpinv_email'] ) && $postarr['wpinv_email'] && is_email( $postarr['wpinv_email'] ) ? $postarr['wpinv_email'] : NULL;
403
+function wpinv_send_register_new_user($data, $postarr) {
404
+    if (wpinv_current_user_can_manage_invoicing() && !empty($data['post_type']) && ('wpi_invoice' == $data['post_type'] || 'wpi_quote' == $data['post_type'])) {
405
+        $is_new_user = !empty($postarr['wpinv_new_user']) ? true : false;
406
+        $email = !empty($postarr['wpinv_email']) && $postarr['wpinv_email'] && is_email($postarr['wpinv_email']) ? $postarr['wpinv_email'] : NULL;
407 407
         
408
-        if ( $is_new_user && $email && !email_exists( $email ) ) {
409
-            $first_name = !empty( $postarr['wpinv_first_name'] ) ? sanitize_text_field( $postarr['wpinv_first_name'] ) : '';
410
-            $last_name = !empty( $postarr['wpinv_last_name'] ) ? sanitize_text_field( $postarr['wpinv_last_name'] ) : '';
411
-            $display_name = $first_name || $last_name ? trim( $first_name . ' ' . $last_name ) : '';
412
-            $user_nicename = $display_name ? trim( $display_name ) : $email;
413
-            $user_company = !empty( $postarr['wpinv_company'] ) ? sanitize_text_field( $postarr['wpinv_company'] ) : '';
408
+        if ($is_new_user && $email && !email_exists($email)) {
409
+            $first_name = !empty($postarr['wpinv_first_name']) ? sanitize_text_field($postarr['wpinv_first_name']) : '';
410
+            $last_name = !empty($postarr['wpinv_last_name']) ? sanitize_text_field($postarr['wpinv_last_name']) : '';
411
+            $display_name = $first_name || $last_name ? trim($first_name . ' ' . $last_name) : '';
412
+            $user_nicename = $display_name ? trim($display_name) : $email;
413
+            $user_company = !empty($postarr['wpinv_company']) ? sanitize_text_field($postarr['wpinv_company']) : '';
414 414
             
415
-            $user_login = sanitize_user( str_replace( ' ', '', $display_name ), true );
416
-            if ( !( validate_username( $user_login ) && !username_exists( $user_login ) ) ) {
415
+            $user_login = sanitize_user(str_replace(' ', '', $display_name), true);
416
+            if (!(validate_username($user_login) && !username_exists($user_login))) {
417 417
                 $new_user_login = strstr($email, '@', true);
418
-                if ( validate_username( $user_login ) && username_exists( $user_login ) ) {
419
-                    $user_login = sanitize_user($new_user_login, true );
418
+                if (validate_username($user_login) && username_exists($user_login)) {
419
+                    $user_login = sanitize_user($new_user_login, true);
420 420
                 }
421
-                if ( validate_username( $user_login ) && username_exists( $user_login ) ) {
422
-                    $user_append_text = rand(10,1000);
423
-                    $user_login = sanitize_user($new_user_login.$user_append_text, true );
421
+                if (validate_username($user_login) && username_exists($user_login)) {
422
+                    $user_append_text = rand(10, 1000);
423
+                    $user_login = sanitize_user($new_user_login . $user_append_text, true);
424 424
                 }
425 425
                 
426
-                if ( !( validate_username( $user_login ) && !username_exists( $user_login ) ) ) {
426
+                if (!(validate_username($user_login) && !username_exists($user_login))) {
427 427
                     $user_login = $email;
428 428
                 }
429 429
             }
430 430
             
431 431
             $userdata = array(
432 432
                 'user_login' => $user_login,
433
-                'user_pass' => wp_generate_password( 12, false ),
434
-                'user_email' => sanitize_text_field( $email ),
433
+                'user_pass' => wp_generate_password(12, false),
434
+                'user_email' => sanitize_text_field($email),
435 435
                 'first_name' => $first_name,
436 436
                 'last_name' => $last_name,
437
-                'user_nicename' => wpinv_utf8_substr( $user_nicename, 0, 50 ),
437
+                'user_nicename' => wpinv_utf8_substr($user_nicename, 0, 50),
438 438
                 'nickname' => $display_name,
439 439
                 'display_name' => $display_name,
440 440
             );
441 441
 
442
-            $userdata = apply_filters( 'wpinv_register_new_user_data', $userdata );
442
+            $userdata = apply_filters('wpinv_register_new_user_data', $userdata);
443 443
             
444
-            $new_user_id = wp_insert_user( $userdata );
444
+            $new_user_id = wp_insert_user($userdata);
445 445
             
446
-            if ( !is_wp_error( $new_user_id ) ) {
446
+            if (!is_wp_error($new_user_id)) {
447 447
                 $data['post_author'] = $new_user_id;
448 448
                 $_POST['post_author'] = $new_user_id;
449 449
                 $_POST['post_author_override'] = $new_user_id;
@@ -464,72 +464,72 @@  discard block
 block discarded – undo
464 464
                 
465 465
                 $meta = array();
466 466
                 ///$meta['_wpinv_user_id'] = $new_user_id;
467
-                foreach ( $meta_fields as $field ) {
468
-                    $meta['_wpinv_' . $field] = isset( $postarr['wpinv_' . $field] ) ? sanitize_text_field( $postarr['wpinv_' . $field] ) : '';
467
+                foreach ($meta_fields as $field) {
468
+                    $meta['_wpinv_' . $field] = isset($postarr['wpinv_' . $field]) ? sanitize_text_field($postarr['wpinv_' . $field]) : '';
469 469
                 }
470 470
                 
471
-                $meta = apply_filters( 'wpinv_register_new_user_meta', $meta, $new_user_id );
471
+                $meta = apply_filters('wpinv_register_new_user_meta', $meta, $new_user_id);
472 472
 
473 473
                 // Update user meta.
474
-                foreach ( $meta as $key => $value ) {
475
-                    update_user_meta( $new_user_id, $key, $value );
474
+                foreach ($meta as $key => $value) {
475
+                    update_user_meta($new_user_id, $key, $value);
476 476
                 }
477 477
                 
478
-                if ( function_exists( 'wp_send_new_user_notifications' ) ) {
478
+                if (function_exists('wp_send_new_user_notifications')) {
479 479
                     // Send email notifications related to the creation of new user.
480
-                    wp_send_new_user_notifications( $new_user_id, 'user' );
480
+                    wp_send_new_user_notifications($new_user_id, 'user');
481 481
                 }
482 482
             } else {
483
-                wpinv_error_log( $new_user_id->get_error_message(), 'Invoice add new user', __FILE__, __LINE__ );
483
+                wpinv_error_log($new_user_id->get_error_message(), 'Invoice add new user', __FILE__, __LINE__);
484 484
             }
485 485
         }
486 486
     }
487 487
     
488 488
     return $data;
489 489
 }
490
-add_filter( 'wp_insert_post_data', 'wpinv_send_register_new_user', 10, 2 );
490
+add_filter('wp_insert_post_data', 'wpinv_send_register_new_user', 10, 2);
491 491
 
492
-function wpinv_show_recurring_supported_gateways( $item_ID ) {
492
+function wpinv_show_recurring_supported_gateways($item_ID) {
493 493
     $all_gateways = wpinv_get_payment_gateways();
494 494
 
495
-    if ( !empty( $all_gateways ) ) {
495
+    if (!empty($all_gateways)) {
496 496
         $gateways = array();
497 497
 
498
-        foreach ( $all_gateways as $key => $gateway ) {
499
-            if ( wpinv_gateway_support_subscription( $key ) ) {
498
+        foreach ($all_gateways as $key => $gateway) {
499
+            if (wpinv_gateway_support_subscription($key)) {
500 500
                 $gateways[] = $gateway['admin_label'];
501 501
             }
502 502
         }
503 503
 
504
-        if ( !empty( $gateways ) ) {
504
+        if (!empty($gateways)) {
505 505
             ?>
506
-            <span class="description"><?php echo wp_sprintf( __( 'Recurring payments only supported by: %s', 'invoicing' ), implode( ', ', $gateways ) ); ?></span>
506
+            <span class="description"><?php echo wp_sprintf(__('Recurring payments only supported by: %s', 'invoicing'), implode(', ', $gateways)); ?></span>
507 507
             <?php
508 508
         }
509 509
     }
510 510
 }
511
-add_action( 'wpinv_item_price_field', 'wpinv_show_recurring_supported_gateways', -10, 1 );
511
+add_action('wpinv_item_price_field', 'wpinv_show_recurring_supported_gateways', -10, 1);
512 512
 
513
-function wpinv_post_updated_messages( $messages ) {
513
+function wpinv_post_updated_messages($messages) {
514 514
     global $post, $post_ID;
515 515
 
516 516
     $messages['wpi_discount'] = array(
517 517
         0   => '',
518
-        1   => __( 'Discount updated.', 'invoicing' ),
519
-        2   => __( 'Custom field updated.', 'invoicing' ),
520
-        3   => __( 'Custom field deleted.', 'invoicing' ),
521
-        4   => __( 'Discount updated.', 'invoicing' ),
522
-        5   => isset( $_GET['revision'] ) ? wp_sprintf( __( 'Discount restored to revision from %s', 'invoicing' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false,
523
-        6   => __( 'Discount updated.', 'invoicing' ),
524
-        7   => __( 'Discount saved.', 'invoicing' ),
525
-        8   => __( 'Discount submitted.', 'invoicing' ),
526
-        9   => wp_sprintf( __( 'Discount scheduled for: <strong>%1$s</strong>.', 'invoicing' ), date_i18n( __( 'M j, Y @ G:i', 'invoicing' ), strtotime( $post->post_date ) ) ),
527
-        10  => __( 'Discount draft updated.', 'invoicing' ),
518
+        1   => __('Discount updated.', 'invoicing'),
519
+        2   => __('Custom field updated.', 'invoicing'),
520
+        3   => __('Custom field deleted.', 'invoicing'),
521
+        4   => __('Discount updated.', 'invoicing'),
522
+        5   => isset($_GET['revision']) ? wp_sprintf(__('Discount restored to revision from %s', 'invoicing'), wp_post_revision_title((int)$_GET['revision'], false)) : false,
523
+        6   => __('Discount updated.', 'invoicing'),
524
+        7   => __('Discount saved.', 'invoicing'),
525
+        8   => __('Discount submitted.', 'invoicing'),
526
+        9   => wp_sprintf(__('Discount scheduled for: <strong>%1$s</strong>.', 'invoicing'), date_i18n(__('M j, Y @ G:i', 'invoicing'), strtotime($post->post_date))),
527
+        10  => __('Discount draft updated.', 'invoicing'),
528 528
     );
529 529
 
530 530
     return $messages;
531 531
 }
532
-add_filter( 'post_updated_messages', 'wpinv_post_updated_messages', 10, 1 );
532
+add_filter('post_updated_messages', 'wpinv_post_updated_messages', 10, 1);
533 533
 
534 534
 add_action('admin_init', 'admin_init_example_type');
535 535
 
@@ -539,7 +539,7 @@  discard block
 block discarded – undo
539 539
 function admin_init_example_type() {
540 540
     global $typenow;
541 541
 
542
-    if ($typenow === 'wpi_invoice' || $typenow === 'wpi_quote' ) {
542
+    if ($typenow === 'wpi_invoice' || $typenow === 'wpi_quote') {
543 543
         add_filter('posts_search', 'posts_search_example_type', 10, 2);
544 544
     }
545 545
 }
@@ -554,9 +554,9 @@  discard block
 block discarded – undo
554 554
     global $wpdb;
555 555
 
556 556
     if ($query->is_main_query() && !empty($query->query['s'])) {
557
-        $conditions_str = "{$wpdb->posts}.post_author IN ( SELECT ID FROM {$wpdb->users} WHERE user_email LIKE '%" . esc_sql( $query->query['s'] ) . "%' )";
558
-        if ( ! empty( $search ) ) {
559
-            $search = preg_replace( '/^ AND /', '', $search );
557
+        $conditions_str = "{$wpdb->posts}.post_author IN ( SELECT ID FROM {$wpdb->users} WHERE user_email LIKE '%" . esc_sql($query->query['s']) . "%' )";
558
+        if (!empty($search)) {
559
+            $search = preg_replace('/^ AND /', '', $search);
560 560
             $search = " AND ( {$search} OR ( {$conditions_str} ) )";
561 561
         } else {
562 562
             $search = " AND ( {$conditions_str} )";
@@ -566,9 +566,9 @@  discard block
 block discarded – undo
566 566
     return $search;
567 567
 }
568 568
 
569
-add_action( 'admin_init', 'wpinv_reset_invoice_count' );
570
-function wpinv_reset_invoice_count(){
571
-    if(isset($_GET['reset_invoice_count']) && 1 == $_GET['reset_invoice_count'] && isset($_GET['_nonce']) && wp_verify_nonce($_GET['_nonce'], 'reset_invoice_count')) {
569
+add_action('admin_init', 'wpinv_reset_invoice_count');
570
+function wpinv_reset_invoice_count() {
571
+    if (isset($_GET['reset_invoice_count']) && 1 == $_GET['reset_invoice_count'] && isset($_GET['_nonce']) && wp_verify_nonce($_GET['_nonce'], 'reset_invoice_count')) {
572 572
         wpinv_update_option('invoice_sequence_start', 1);
573 573
         delete_option('wpinv_last_invoice_number');
574 574
         $url = add_query_arg(array('reset_invoice_done' => 1));
@@ -579,8 +579,8 @@  discard block
 block discarded – undo
579 579
 }
580 580
 
581 581
 add_action('admin_notices', 'wpinv_invoice_count_reset_message');
582
-function wpinv_invoice_count_reset_message(){
583
-    if(isset($_GET['reset_invoice_done']) && 1 == $_GET['reset_invoice_done']) {
582
+function wpinv_invoice_count_reset_message() {
583
+    if (isset($_GET['reset_invoice_done']) && 1 == $_GET['reset_invoice_done']) {
584 584
         $notice = __('Invoice number sequence reset successfully.', 'invoicing');
585 585
         ?>
586 586
         <div class="notice notice-success is-dismissible">
Please login to merge, or discard this patch.
includes/wpinv-discount-functions.php 1 patch
Spacing   +461 added lines, -461 removed lines patch added patch discarded remove patch
@@ -7,90 +7,90 @@  discard block
 block discarded – undo
7 7
  */
8 8
  
9 9
 // MUST have WordPress.
10
-if ( !defined( 'WPINC' ) ) {
11
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
10
+if (!defined('WPINC')) {
11
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
12 12
 }
13 13
 
14 14
 function wpinv_get_discount_types() {
15 15
     $discount_types = array(
16
-                        'percent'   => __( 'Percentage', 'invoicing' ),
17
-                        'flat'     => __( 'Flat Amount', 'invoicing' ),
16
+                        'percent'   => __('Percentage', 'invoicing'),
17
+                        'flat'     => __('Flat Amount', 'invoicing'),
18 18
                     );
19
-    return (array)apply_filters( 'wpinv_discount_types', $discount_types );
19
+    return (array)apply_filters('wpinv_discount_types', $discount_types);
20 20
 }
21 21
 
22
-function wpinv_get_discount_type_name( $type = '' ) {
22
+function wpinv_get_discount_type_name($type = '') {
23 23
     $types = wpinv_get_discount_types();
24
-    return isset( $types[ $type ] ) ? $types[ $type ] : '';
24
+    return isset($types[$type]) ? $types[$type] : '';
25 25
 }
26 26
 
27
-function wpinv_delete_discount( $data ) {
28
-    if ( ! isset( $data['_wpnonce'] ) || ! wp_verify_nonce( $data['_wpnonce'], 'wpinv_discount_nonce' ) ) {
29
-        wp_die( __( 'Trying to cheat or something?', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) );
27
+function wpinv_delete_discount($data) {
28
+    if (!isset($data['_wpnonce']) || !wp_verify_nonce($data['_wpnonce'], 'wpinv_discount_nonce')) {
29
+        wp_die(__('Trying to cheat or something?', 'invoicing'), __('Error', 'invoicing'), array('response' => 403));
30 30
     }
31 31
 
32
-    if( ! wpinv_current_user_can_manage_invoicing() ) {
33
-        wp_die( __( 'You do not have permission to delete discount codes', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) );
32
+    if (!wpinv_current_user_can_manage_invoicing()) {
33
+        wp_die(__('You do not have permission to delete discount codes', 'invoicing'), __('Error', 'invoicing'), array('response' => 403));
34 34
     }
35 35
 
36 36
     $discount_id = $data['discount'];
37
-    wpinv_remove_discount( $discount_id );
37
+    wpinv_remove_discount($discount_id);
38 38
 }
39
-add_action( 'wpinv_delete_discount', 'wpinv_delete_discount' );
39
+add_action('wpinv_delete_discount', 'wpinv_delete_discount');
40 40
 
41
-function wpinv_activate_discount( $data ) {
42
-    if ( ! isset( $data['_wpnonce'] ) || ! wp_verify_nonce( $data['_wpnonce'], 'wpinv_discount_nonce' ) ) {
43
-        wp_die( __( 'Trying to cheat or something?', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) );
41
+function wpinv_activate_discount($data) {
42
+    if (!isset($data['_wpnonce']) || !wp_verify_nonce($data['_wpnonce'], 'wpinv_discount_nonce')) {
43
+        wp_die(__('Trying to cheat or something?', 'invoicing'), __('Error', 'invoicing'), array('response' => 403));
44 44
     }
45 45
 
46
-    if( ! wpinv_current_user_can_manage_invoicing() ) {
47
-        wp_die( __( 'You do not have permission to edit discount codes', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) );
46
+    if (!wpinv_current_user_can_manage_invoicing()) {
47
+        wp_die(__('You do not have permission to edit discount codes', 'invoicing'), __('Error', 'invoicing'), array('response' => 403));
48 48
     }
49 49
 
50
-    $id = absint( $data['discount'] );
51
-    wpinv_update_discount_status( $id, 'publish' );
50
+    $id = absint($data['discount']);
51
+    wpinv_update_discount_status($id, 'publish');
52 52
 }
53
-add_action( 'wpinv_activate_discount', 'wpinv_activate_discount' );
53
+add_action('wpinv_activate_discount', 'wpinv_activate_discount');
54 54
 
55
-function wpinv_deactivate_discount( $data ) {
56
-    if ( ! isset( $data['_wpnonce'] ) || ! wp_verify_nonce( $data['_wpnonce'], 'wpinv_discount_nonce' ) ) {
57
-        wp_die( __( 'Trying to cheat or something?', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) );
55
+function wpinv_deactivate_discount($data) {
56
+    if (!isset($data['_wpnonce']) || !wp_verify_nonce($data['_wpnonce'], 'wpinv_discount_nonce')) {
57
+        wp_die(__('Trying to cheat or something?', 'invoicing'), __('Error', 'invoicing'), array('response' => 403));
58 58
     }
59 59
 
60
-    if( ! wpinv_current_user_can_manage_invoicing() ) {
61
-        wp_die( __( 'You do not have permission to create discount codes', 'invoicing' ), array( 'response' => 403 ) );
60
+    if (!wpinv_current_user_can_manage_invoicing()) {
61
+        wp_die(__('You do not have permission to create discount codes', 'invoicing'), array('response' => 403));
62 62
     }
63 63
 
64
-    $id = absint( $data['discount'] );
65
-    wpinv_update_discount_status( $id, 'pending' );
64
+    $id = absint($data['discount']);
65
+    wpinv_update_discount_status($id, 'pending');
66 66
 }
67
-add_action( 'wpinv_deactivate_discount', 'wpinv_deactivate_discount' );
67
+add_action('wpinv_deactivate_discount', 'wpinv_deactivate_discount');
68 68
 
69
-function wpinv_get_discounts( $args = array() ) {
69
+function wpinv_get_discounts($args = array()) {
70 70
     $defaults = array(
71 71
         'post_type'      => 'wpi_discount',
72 72
         'posts_per_page' => 20,
73 73
         'paged'          => null,
74
-        'post_status'    => array( 'publish', 'pending', 'draft', 'expired' )
74
+        'post_status'    => array('publish', 'pending', 'draft', 'expired')
75 75
     );
76 76
 
77
-    $args = wp_parse_args( $args, $defaults );
77
+    $args = wp_parse_args($args, $defaults);
78 78
 
79
-    $discounts = get_posts( $args );
79
+    $discounts = get_posts($args);
80 80
 
81
-    if ( $discounts ) {
81
+    if ($discounts) {
82 82
         return $discounts;
83 83
     }
84 84
 
85
-    if( ! $discounts && ! empty( $args['s'] ) ) {
85
+    if (!$discounts && !empty($args['s'])) {
86 86
         $args['meta_key']     = '_wpi_discount_code';
87 87
         $args['meta_value']   = $args['s'];
88 88
         $args['meta_compare'] = 'LIKE';
89
-        unset( $args['s'] );
90
-        $discounts = get_posts( $args );
89
+        unset($args['s']);
90
+        $discounts = get_posts($args);
91 91
     }
92 92
 
93
-    if( $discounts ) {
93
+    if ($discounts) {
94 94
         return $discounts;
95 95
     }
96 96
 
@@ -102,9 +102,9 @@  discard block
 block discarded – undo
102 102
 
103 103
     $discounts  = wpinv_get_discounts();
104 104
 
105
-    if ( $discounts) {
106
-        foreach ( $discounts as $discount ) {
107
-            if ( wpinv_is_discount_active( $discount->ID ) ) {
105
+    if ($discounts) {
106
+        foreach ($discounts as $discount) {
107
+            if (wpinv_is_discount_active($discount->ID)) {
108 108
                 $has_active = true;
109 109
                 break;
110 110
             }
@@ -113,38 +113,38 @@  discard block
 block discarded – undo
113 113
     return $has_active;
114 114
 }
115 115
 
116
-function wpinv_get_discount( $discount_id = 0 ) {
117
-    if( empty( $discount_id ) ) {
116
+function wpinv_get_discount($discount_id = 0) {
117
+    if (empty($discount_id)) {
118 118
         return false;
119 119
     }
120 120
     
121
-    if ( get_post_type( $discount_id ) != 'wpi_discount' ) {
121
+    if (get_post_type($discount_id) != 'wpi_discount') {
122 122
         return false;
123 123
     }
124 124
 
125
-    $discount = get_post( $discount_id );
125
+    $discount = get_post($discount_id);
126 126
 
127 127
     return $discount;
128 128
 }
129 129
 
130
-function wpinv_get_discount_by_code( $code = '' ) {
131
-    if( empty( $code ) || ! is_string( $code ) ) {
130
+function wpinv_get_discount_by_code($code = '') {
131
+    if (empty($code) || !is_string($code)) {
132 132
         return false;
133 133
     }
134 134
 
135
-    return wpinv_get_discount_by( 'code', $code );
135
+    return wpinv_get_discount_by('code', $code);
136 136
 }
137 137
 
138
-function wpinv_get_discount_by( $field = '', $value = '' ) {
139
-    if( empty( $field ) || empty( $value ) ) {
138
+function wpinv_get_discount_by($field = '', $value = '') {
139
+    if (empty($field) || empty($value)) {
140 140
         return false;
141 141
     }
142 142
 
143
-    if( ! is_string( $field ) ) {
143
+    if (!is_string($field)) {
144 144
         return false;
145 145
     }
146 146
 
147
-    switch( strtolower( $field ) ) {
147
+    switch (strtolower($field)) {
148 148
 
149 149
         case 'code':
150 150
             $meta_query     = array();
@@ -154,32 +154,32 @@  discard block
 block discarded – undo
154 154
                 'compare' => '='
155 155
             );
156 156
             
157
-            $discount = wpinv_get_discounts( array(
157
+            $discount = wpinv_get_discounts(array(
158 158
                 'posts_per_page' => 1,
159 159
                 'post_status'    => 'any',
160 160
                 'meta_query'     => $meta_query,
161
-            ) );
161
+            ));
162 162
             
163
-            if( $discount ) {
163
+            if ($discount) {
164 164
                 $discount = $discount[0];
165 165
             }
166 166
 
167 167
             break;
168 168
 
169 169
         case 'id':
170
-            $discount = wpinv_get_discount( $value );
170
+            $discount = wpinv_get_discount($value);
171 171
 
172 172
             break;
173 173
 
174 174
         case 'name':
175
-            $discount = get_posts( array(
175
+            $discount = get_posts(array(
176 176
                 'post_type'      => 'wpi_discount',
177 177
                 'name'           => $value,
178 178
                 'posts_per_page' => 1,
179 179
                 'post_status'    => 'any'
180
-            ) );
180
+            ));
181 181
 
182
-            if( $discount ) {
182
+            if ($discount) {
183 183
                 $discount = $discount[0];
184 184
             }
185 185
 
@@ -189,96 +189,96 @@  discard block
 block discarded – undo
189 189
             return false;
190 190
     }
191 191
 
192
-    if( ! empty( $discount ) ) {
192
+    if (!empty($discount)) {
193 193
         return $discount;
194 194
     }
195 195
 
196 196
     return false;
197 197
 }
198 198
 
199
-function wpinv_store_discount( $post_id, $data, $post, $update = false ) {
199
+function wpinv_store_discount($post_id, $data, $post, $update = false) {
200 200
     $meta = array(
201
-        'code'              => isset( $data['code'] )             ? sanitize_text_field( $data['code'] )              : '',
202
-        'type'              => isset( $data['type'] )             ? sanitize_text_field( $data['type'] )              : 'percent',
203
-        'amount'            => isset( $data['amount'] )           ? wpinv_sanitize_amount( $data['amount'] )          : '',
204
-        'start'             => isset( $data['start'] )            ? sanitize_text_field( $data['start'] )             : '',
205
-        'expiration'        => isset( $data['expiration'] )       ? sanitize_text_field( $data['expiration'] )        : '',
206
-        'min_total'         => isset( $data['min_total'] )        ? wpinv_sanitize_amount( $data['min_total'] )       : '',
207
-        'max_total'         => isset( $data['max_total'] )        ? wpinv_sanitize_amount( $data['max_total'] )       : '',
208
-        'max_uses'          => isset( $data['max_uses'] )         ? absint( $data['max_uses'] )                       : '',
209
-        'items'             => isset( $data['items'] )            ? $data['items']                                    : array(),
210
-        'excluded_items'    => isset( $data['excluded_items'] )   ? $data['excluded_items']                           : array(),
211
-        'is_recurring'      => isset( $data['recurring'] )        ? (bool)$data['recurring']                          : false,
212
-        'is_single_use'     => isset( $data['single_use'] )       ? (bool)$data['single_use']                         : false,
213
-        'uses'              => isset( $data['uses'] )             ? (int)$data['uses']                                : false,
201
+        'code'              => isset($data['code']) ? sanitize_text_field($data['code']) : '',
202
+        'type'              => isset($data['type']) ? sanitize_text_field($data['type']) : 'percent',
203
+        'amount'            => isset($data['amount']) ? wpinv_sanitize_amount($data['amount']) : '',
204
+        'start'             => isset($data['start']) ? sanitize_text_field($data['start']) : '',
205
+        'expiration'        => isset($data['expiration']) ? sanitize_text_field($data['expiration']) : '',
206
+        'min_total'         => isset($data['min_total']) ? wpinv_sanitize_amount($data['min_total']) : '',
207
+        'max_total'         => isset($data['max_total']) ? wpinv_sanitize_amount($data['max_total']) : '',
208
+        'max_uses'          => isset($data['max_uses']) ? absint($data['max_uses']) : '',
209
+        'items'             => isset($data['items']) ? $data['items'] : array(),
210
+        'excluded_items'    => isset($data['excluded_items']) ? $data['excluded_items'] : array(),
211
+        'is_recurring'      => isset($data['recurring']) ? (bool)$data['recurring'] : false,
212
+        'is_single_use'     => isset($data['single_use']) ? (bool)$data['single_use'] : false,
213
+        'uses'              => isset($data['uses']) ? (int)$data['uses'] : false,
214 214
     );
215 215
 
216
-    if ( $meta['type'] == 'percent' && (float)$meta['amount'] > 100 ) {
216
+    if ($meta['type'] == 'percent' && (float)$meta['amount'] > 100) {
217 217
         $meta['amount'] = 100;
218 218
     }
219 219
 
220
-    if ( !empty( $meta['start'] ) ) {
221
-        $meta['start']      = date_i18n( 'Y-m-d H:i:s', strtotime( $meta['start'] ) );
220
+    if (!empty($meta['start'])) {
221
+        $meta['start'] = date_i18n('Y-m-d H:i:s', strtotime($meta['start']));
222 222
     }
223 223
 
224
-    if ( !empty( $meta['expiration'] ) ) {
225
-        $meta['expiration'] = date_i18n( 'Y-m-d H:i:s', strtotime( $meta['expiration'] ) );
224
+    if (!empty($meta['expiration'])) {
225
+        $meta['expiration'] = date_i18n('Y-m-d H:i:s', strtotime($meta['expiration']));
226 226
 
227
-        if ( !empty( $meta['start'] ) && strtotime( $meta['start'] ) > strtotime( $meta['expiration'] ) ) {
227
+        if (!empty($meta['start']) && strtotime($meta['start']) > strtotime($meta['expiration'])) {
228 228
             $meta['expiration'] = $meta['start'];
229 229
         }
230 230
     }
231 231
     
232
-    if ( $meta['uses'] === false ) {
233
-        unset( $meta['uses'] );
232
+    if ($meta['uses'] === false) {
233
+        unset($meta['uses']);
234 234
     }
235 235
     
236
-    if ( ! empty( $meta['items'] ) ) {
237
-        foreach ( $meta['items'] as $key => $item ) {
238
-            if ( 0 === intval( $item ) ) {
239
-                unset( $meta['items'][ $key ] );
236
+    if (!empty($meta['items'])) {
237
+        foreach ($meta['items'] as $key => $item) {
238
+            if (0 === intval($item)) {
239
+                unset($meta['items'][$key]);
240 240
             }
241 241
         }
242 242
     }
243 243
     
244
-    if ( ! empty( $meta['excluded_items'] ) ) {
245
-        foreach ( $meta['excluded_items'] as $key => $item ) {
246
-            if ( 0 === intval( $item ) ) {
247
-                unset( $meta['excluded_items'][ $key ] );
244
+    if (!empty($meta['excluded_items'])) {
245
+        foreach ($meta['excluded_items'] as $key => $item) {
246
+            if (0 === intval($item)) {
247
+                unset($meta['excluded_items'][$key]);
248 248
             }
249 249
         }
250 250
     }
251 251
     
252
-    $meta = apply_filters( 'wpinv_update_discount', $meta, $post_id, $post );
252
+    $meta = apply_filters('wpinv_update_discount', $meta, $post_id, $post);
253 253
     
254
-    do_action( 'wpinv_pre_update_discount', $meta, $post_id, $post );
254
+    do_action('wpinv_pre_update_discount', $meta, $post_id, $post);
255 255
     
256
-    foreach( $meta as $key => $value ) {
257
-        update_post_meta( $post_id, '_wpi_discount_' . $key, $value );
256
+    foreach ($meta as $key => $value) {
257
+        update_post_meta($post_id, '_wpi_discount_' . $key, $value);
258 258
     }
259 259
     
260
-    do_action( 'wpinv_post_update_discount', $meta, $post_id, $post );
260
+    do_action('wpinv_post_update_discount', $meta, $post_id, $post);
261 261
     
262 262
     return $post_id;
263 263
 }
264 264
 
265
-function wpinv_remove_discount( $discount_id = 0 ) {
266
-    do_action( 'wpinv_pre_delete_discount', $discount_id );
265
+function wpinv_remove_discount($discount_id = 0) {
266
+    do_action('wpinv_pre_delete_discount', $discount_id);
267 267
 
268
-    wp_delete_post( $discount_id, true );
268
+    wp_delete_post($discount_id, true);
269 269
 
270
-    do_action( 'wpinv_post_delete_discount', $discount_id );
270
+    do_action('wpinv_post_delete_discount', $discount_id);
271 271
 }
272 272
 
273
-function wpinv_update_discount_status( $code_id = 0, $new_status = 'publish' ) {
274
-    $discount = wpinv_get_discount(  $code_id );
273
+function wpinv_update_discount_status($code_id = 0, $new_status = 'publish') {
274
+    $discount = wpinv_get_discount($code_id);
275 275
 
276
-    if ( $discount ) {
277
-        do_action( 'wpinv_pre_update_discount_status', $code_id, $new_status, $discount->post_status );
276
+    if ($discount) {
277
+        do_action('wpinv_pre_update_discount_status', $code_id, $new_status, $discount->post_status);
278 278
 
279
-        wp_update_post( array( 'ID' => $code_id, 'post_status' => $new_status ) );
279
+        wp_update_post(array('ID' => $code_id, 'post_status' => $new_status));
280 280
 
281
-        do_action( 'wpinv_post_update_discount_status', $code_id, $new_status, $discount->post_status );
281
+        do_action('wpinv_post_update_discount_status', $code_id, $new_status, $discount->post_status);
282 282
 
283 283
         return true;
284 284
     }
@@ -286,173 +286,173 @@  discard block
 block discarded – undo
286 286
     return false;
287 287
 }
288 288
 
289
-function wpinv_discount_exists( $code_id ) {
290
-    if ( wpinv_get_discount(  $code_id ) ) {
289
+function wpinv_discount_exists($code_id) {
290
+    if (wpinv_get_discount($code_id)) {
291 291
         return true;
292 292
     }
293 293
 
294 294
     return false;
295 295
 }
296 296
 
297
-function wpinv_is_discount_active( $code_id = null ) {
298
-    $discount = wpinv_get_discount(  $code_id );
297
+function wpinv_is_discount_active($code_id = null) {
298
+    $discount = wpinv_get_discount($code_id);
299 299
     $return   = false;
300 300
 
301
-    if ( $discount ) {
302
-        if ( wpinv_is_discount_expired( $code_id ) ) {
303
-            if( defined( 'DOING_AJAX' ) ) {
304
-                wpinv_set_error( 'wpinv-discount-error', __( 'This discount is expired.', 'invoicing' ) );
301
+    if ($discount) {
302
+        if (wpinv_is_discount_expired($code_id)) {
303
+            if (defined('DOING_AJAX')) {
304
+                wpinv_set_error('wpinv-discount-error', __('This discount is expired.', 'invoicing'));
305 305
             }
306
-        } elseif ( $discount->post_status == 'publish' ) {
306
+        } elseif ($discount->post_status == 'publish') {
307 307
             $return = true;
308 308
         } else {
309
-            if( defined( 'DOING_AJAX' ) ) {
310
-                wpinv_set_error( 'wpinv-discount-error', __( 'This discount is not active.', 'invoicing' ) );
309
+            if (defined('DOING_AJAX')) {
310
+                wpinv_set_error('wpinv-discount-error', __('This discount is not active.', 'invoicing'));
311 311
             }
312 312
         }
313 313
     }
314 314
 
315
-    return apply_filters( 'wpinv_is_discount_active', $return, $code_id );
315
+    return apply_filters('wpinv_is_discount_active', $return, $code_id);
316 316
 }
317 317
 
318
-function wpinv_get_discount_code( $code_id = null ) {
319
-    $code = get_post_meta( $code_id, '_wpi_discount_code', true );
318
+function wpinv_get_discount_code($code_id = null) {
319
+    $code = get_post_meta($code_id, '_wpi_discount_code', true);
320 320
 
321
-    return apply_filters( 'wpinv_get_discount_code', $code, $code_id );
321
+    return apply_filters('wpinv_get_discount_code', $code, $code_id);
322 322
 }
323 323
 
324
-function wpinv_get_discount_start_date( $code_id = null ) {
325
-    $start_date = get_post_meta( $code_id, '_wpi_discount_start', true );
324
+function wpinv_get_discount_start_date($code_id = null) {
325
+    $start_date = get_post_meta($code_id, '_wpi_discount_start', true);
326 326
 
327
-    return apply_filters( 'wpinv_get_discount_start_date', $start_date, $code_id );
327
+    return apply_filters('wpinv_get_discount_start_date', $start_date, $code_id);
328 328
 }
329 329
 
330
-function wpinv_get_discount_expiration( $code_id = null ) {
331
-    $expiration = get_post_meta( $code_id, '_wpi_discount_expiration', true );
330
+function wpinv_get_discount_expiration($code_id = null) {
331
+    $expiration = get_post_meta($code_id, '_wpi_discount_expiration', true);
332 332
 
333
-    return apply_filters( 'wpinv_get_discount_expiration', $expiration, $code_id );
333
+    return apply_filters('wpinv_get_discount_expiration', $expiration, $code_id);
334 334
 }
335 335
 
336
-function wpinv_get_discount_max_uses( $code_id = null ) {
337
-    $max_uses = get_post_meta( $code_id, '_wpi_discount_max_uses', true );
336
+function wpinv_get_discount_max_uses($code_id = null) {
337
+    $max_uses = get_post_meta($code_id, '_wpi_discount_max_uses', true);
338 338
 
339
-    return (int) apply_filters( 'wpinv_get_discount_max_uses', $max_uses, $code_id );
339
+    return (int)apply_filters('wpinv_get_discount_max_uses', $max_uses, $code_id);
340 340
 }
341 341
 
342
-function wpinv_get_discount_uses( $code_id = null ) {
343
-    $uses = get_post_meta( $code_id, '_wpi_discount_uses', true );
342
+function wpinv_get_discount_uses($code_id = null) {
343
+    $uses = get_post_meta($code_id, '_wpi_discount_uses', true);
344 344
 
345
-    return (int) apply_filters( 'wpinv_get_discount_uses', $uses, $code_id );
345
+    return (int)apply_filters('wpinv_get_discount_uses', $uses, $code_id);
346 346
 }
347 347
 
348
-function wpinv_get_discount_min_total( $code_id = null ) {
349
-    $min_total = get_post_meta( $code_id, '_wpi_discount_min_total', true );
348
+function wpinv_get_discount_min_total($code_id = null) {
349
+    $min_total = get_post_meta($code_id, '_wpi_discount_min_total', true);
350 350
 
351
-    return (float) apply_filters( 'wpinv_get_discount_min_total', $min_total, $code_id );
351
+    return (float)apply_filters('wpinv_get_discount_min_total', $min_total, $code_id);
352 352
 }
353 353
 
354
-function wpinv_get_discount_max_total( $code_id = null ) {
355
-    $max_total = get_post_meta( $code_id, '_wpi_discount_max_total', true );
354
+function wpinv_get_discount_max_total($code_id = null) {
355
+    $max_total = get_post_meta($code_id, '_wpi_discount_max_total', true);
356 356
 
357
-    return (float) apply_filters( 'wpinv_get_discount_max_total', $max_total, $code_id );
357
+    return (float)apply_filters('wpinv_get_discount_max_total', $max_total, $code_id);
358 358
 }
359 359
 
360
-function wpinv_get_discount_amount( $code_id = null ) {
361
-    $amount = get_post_meta( $code_id, '_wpi_discount_amount', true );
360
+function wpinv_get_discount_amount($code_id = null) {
361
+    $amount = get_post_meta($code_id, '_wpi_discount_amount', true);
362 362
 
363
-    return (float) apply_filters( 'wpinv_get_discount_amount', $amount, $code_id );
363
+    return (float)apply_filters('wpinv_get_discount_amount', $amount, $code_id);
364 364
 }
365 365
 
366
-function wpinv_get_discount_type( $code_id = null, $name = false ) {
367
-    $type = strtolower( get_post_meta( $code_id, '_wpi_discount_type', true ) );
366
+function wpinv_get_discount_type($code_id = null, $name = false) {
367
+    $type = strtolower(get_post_meta($code_id, '_wpi_discount_type', true));
368 368
     
369
-    if ( $name ) {
370
-        $name = wpinv_get_discount_type_name( $type );
369
+    if ($name) {
370
+        $name = wpinv_get_discount_type_name($type);
371 371
         
372
-        return apply_filters( 'wpinv_get_discount_type_name', $name, $code_id );
372
+        return apply_filters('wpinv_get_discount_type_name', $name, $code_id);
373 373
     }
374 374
 
375
-    return apply_filters( 'wpinv_get_discount_type', $type, $code_id );
375
+    return apply_filters('wpinv_get_discount_type', $type, $code_id);
376 376
 }
377 377
 
378
-function wpinv_discount_status( $status ) {
379
-    switch( $status ){
378
+function wpinv_discount_status($status) {
379
+    switch ($status) {
380 380
         case 'expired' :
381
-            $name = __( 'Expired', 'invoicing' );
381
+            $name = __('Expired', 'invoicing');
382 382
             break;
383 383
         case 'publish' :
384 384
         case 'active' :
385
-            $name = __( 'Active', 'invoicing' );
385
+            $name = __('Active', 'invoicing');
386 386
             break;
387 387
         default :
388
-            $name = __( 'Inactive', 'invoicing' );
388
+            $name = __('Inactive', 'invoicing');
389 389
             break;
390 390
     }
391 391
     return $name;
392 392
 }
393 393
 
394
-function wpinv_get_discount_excluded_items( $code_id = null ) {
395
-    $excluded_items = get_post_meta( $code_id, '_wpi_discount_excluded_items', true );
394
+function wpinv_get_discount_excluded_items($code_id = null) {
395
+    $excluded_items = get_post_meta($code_id, '_wpi_discount_excluded_items', true);
396 396
 
397
-    if ( empty( $excluded_items ) || ! is_array( $excluded_items ) ) {
397
+    if (empty($excluded_items) || !is_array($excluded_items)) {
398 398
         $excluded_items = array();
399 399
     }
400 400
 
401
-    return (array) apply_filters( 'wpinv_get_discount_excluded_items', $excluded_items, $code_id );
401
+    return (array)apply_filters('wpinv_get_discount_excluded_items', $excluded_items, $code_id);
402 402
 }
403 403
 
404
-function wpinv_get_discount_item_reqs( $code_id = null ) {
405
-    $item_reqs = get_post_meta( $code_id, '_wpi_discount_items', true );
404
+function wpinv_get_discount_item_reqs($code_id = null) {
405
+    $item_reqs = get_post_meta($code_id, '_wpi_discount_items', true);
406 406
 
407
-    if ( empty( $item_reqs ) || ! is_array( $item_reqs ) ) {
407
+    if (empty($item_reqs) || !is_array($item_reqs)) {
408 408
         $item_reqs = array();
409 409
     }
410 410
 
411
-    return (array) apply_filters( 'wpinv_get_discount_item_reqs', $item_reqs, $code_id );
411
+    return (array)apply_filters('wpinv_get_discount_item_reqs', $item_reqs, $code_id);
412 412
 }
413 413
 
414
-function wpinv_get_discount_item_condition( $code_id = 0 ) {
415
-    return get_post_meta( $code_id, '_wpi_discount_item_condition', true );
414
+function wpinv_get_discount_item_condition($code_id = 0) {
415
+    return get_post_meta($code_id, '_wpi_discount_item_condition', true);
416 416
 }
417 417
 
418
-function wpinv_is_discount_not_global( $code_id = 0 ) {
419
-    return (bool) get_post_meta( $code_id, '_wpi_discount_is_not_global', true );
418
+function wpinv_is_discount_not_global($code_id = 0) {
419
+    return (bool)get_post_meta($code_id, '_wpi_discount_is_not_global', true);
420 420
 }
421 421
 
422
-function wpinv_is_discount_expired( $code_id = null ) {
423
-    $discount = wpinv_get_discount(  $code_id );
422
+function wpinv_is_discount_expired($code_id = null) {
423
+    $discount = wpinv_get_discount($code_id);
424 424
     $return   = false;
425 425
 
426
-    if ( $discount ) {
427
-        $expiration = wpinv_get_discount_expiration( $code_id );
428
-        if ( $expiration ) {
429
-            $expiration = strtotime( $expiration );
430
-            if ( $expiration < current_time( 'timestamp' ) ) {
426
+    if ($discount) {
427
+        $expiration = wpinv_get_discount_expiration($code_id);
428
+        if ($expiration) {
429
+            $expiration = strtotime($expiration);
430
+            if ($expiration < current_time('timestamp')) {
431 431
                 // Discount is expired
432
-                wpinv_update_discount_status( $code_id, 'pending' );
432
+                wpinv_update_discount_status($code_id, 'pending');
433 433
                 $return = true;
434 434
             }
435 435
         }
436 436
     }
437 437
 
438
-    return apply_filters( 'wpinv_is_discount_expired', $return, $code_id );
438
+    return apply_filters('wpinv_is_discount_expired', $return, $code_id);
439 439
 }
440 440
 
441
-function wpinv_is_discount_started( $code_id = null ) {
442
-    $discount = wpinv_get_discount(  $code_id );
441
+function wpinv_is_discount_started($code_id = null) {
442
+    $discount = wpinv_get_discount($code_id);
443 443
     $return   = false;
444 444
 
445
-    if ( $discount ) {
446
-        $start_date = wpinv_get_discount_start_date( $code_id );
445
+    if ($discount) {
446
+        $start_date = wpinv_get_discount_start_date($code_id);
447 447
 
448
-        if ( $start_date ) {
449
-            $start_date = strtotime( $start_date );
448
+        if ($start_date) {
449
+            $start_date = strtotime($start_date);
450 450
 
451
-            if ( $start_date < current_time( 'timestamp' ) ) {
451
+            if ($start_date < current_time('timestamp')) {
452 452
                 // Discount has past the start date
453 453
                 $return = true;
454 454
             } else {
455
-                wpinv_set_error( 'wpinv-discount-error', __( 'This discount is not active yet.', 'invoicing' ) );
455
+                wpinv_set_error('wpinv-discount-error', __('This discount is not active yet.', 'invoicing'));
456 456
             }
457 457
         } else {
458 458
             // No start date for this discount, so has to be true
@@ -460,159 +460,159 @@  discard block
 block discarded – undo
460 460
         }
461 461
     }
462 462
 
463
-    return apply_filters( 'wpinv_is_discount_started', $return, $code_id );
463
+    return apply_filters('wpinv_is_discount_started', $return, $code_id);
464 464
 }
465 465
 
466
-function wpinv_check_discount_dates( $code_id = null ) {
467
-    $discount = wpinv_get_discount(  $code_id );
466
+function wpinv_check_discount_dates($code_id = null) {
467
+    $discount = wpinv_get_discount($code_id);
468 468
     $return   = false;
469 469
 
470
-    if ( $discount ) {
471
-        $start_date = wpinv_get_discount_start_date( $code_id );
470
+    if ($discount) {
471
+        $start_date = wpinv_get_discount_start_date($code_id);
472 472
 
473
-        if ( $start_date ) {
474
-            $start_date = strtotime( $start_date );
473
+        if ($start_date) {
474
+            $start_date = strtotime($start_date);
475 475
 
476
-            if ( $start_date < current_time( 'timestamp' ) ) {
476
+            if ($start_date < current_time('timestamp')) {
477 477
                 // Discount has past the start date
478 478
                 $return = true;
479 479
             } else {
480
-                wpinv_set_error( 'wpinv-discount-error', __( 'This discount is not active yet.', 'invoicing' ) );
480
+                wpinv_set_error('wpinv-discount-error', __('This discount is not active yet.', 'invoicing'));
481 481
             }
482 482
         } else {
483 483
             // No start date for this discount, so has to be true
484 484
             $return = true;
485 485
         }
486 486
         
487
-        if ( $return ) {
488
-            $expiration = wpinv_get_discount_expiration( $code_id );
487
+        if ($return) {
488
+            $expiration = wpinv_get_discount_expiration($code_id);
489 489
             
490
-            if ( $expiration ) {
491
-                $expiration = strtotime( $expiration );
492
-                if ( $expiration < current_time( 'timestamp' ) ) {
490
+            if ($expiration) {
491
+                $expiration = strtotime($expiration);
492
+                if ($expiration < current_time('timestamp')) {
493 493
                     // Discount is expired
494
-                    wpinv_update_discount_status( $code_id, 'pending' );
494
+                    wpinv_update_discount_status($code_id, 'pending');
495 495
                     $return = true;
496 496
                 }
497 497
             }
498 498
         }
499 499
     }
500 500
     
501
-    return apply_filters( 'wpinv_check_discount_dates', $return, $code_id );
501
+    return apply_filters('wpinv_check_discount_dates', $return, $code_id);
502 502
 }
503 503
 
504
-function wpinv_is_discount_maxed_out( $code_id = null ) {
505
-    $discount = wpinv_get_discount(  $code_id );
504
+function wpinv_is_discount_maxed_out($code_id = null) {
505
+    $discount = wpinv_get_discount($code_id);
506 506
     $return   = false;
507 507
 
508
-    if ( $discount ) {
509
-        $uses = wpinv_get_discount_uses( $code_id );
508
+    if ($discount) {
509
+        $uses = wpinv_get_discount_uses($code_id);
510 510
         // Large number that will never be reached
511
-        $max_uses = wpinv_get_discount_max_uses( $code_id );
511
+        $max_uses = wpinv_get_discount_max_uses($code_id);
512 512
         // Should never be greater than, but just in case
513
-        if ( $uses >= $max_uses && ! empty( $max_uses ) ) {
513
+        if ($uses >= $max_uses && !empty($max_uses)) {
514 514
             // Discount is maxed out
515
-            wpinv_set_error( 'wpinv-discount-error', __( 'This discount has reached its maximum usage.', 'invoicing' ) );
515
+            wpinv_set_error('wpinv-discount-error', __('This discount has reached its maximum usage.', 'invoicing'));
516 516
             $return = true;
517 517
         }
518 518
     }
519 519
 
520
-    return apply_filters( 'wpinv_is_discount_maxed_out', $return, $code_id );
520
+    return apply_filters('wpinv_is_discount_maxed_out', $return, $code_id);
521 521
 }
522 522
 
523
-function wpinv_discount_is_min_met( $code_id = null ) {
524
-    $discount = wpinv_get_discount( $code_id );
523
+function wpinv_discount_is_min_met($code_id = null) {
524
+    $discount = wpinv_get_discount($code_id);
525 525
     $return   = false;
526 526
 
527
-    if ( $discount ) {
528
-        $min         = (float)wpinv_get_discount_min_total( $code_id );
529
-        $cart_amount = (float)wpinv_get_cart_discountable_subtotal( $code_id );
527
+    if ($discount) {
528
+        $min         = (float)wpinv_get_discount_min_total($code_id);
529
+        $cart_amount = (float)wpinv_get_cart_discountable_subtotal($code_id);
530 530
 
531
-        if ( !$min > 0 || $cart_amount >= $min ) {
531
+        if (!$min > 0 || $cart_amount >= $min) {
532 532
             // Minimum has been met
533 533
             $return = true;
534 534
         } else {
535
-            wpinv_set_error( 'wpinv-discount-error', sprintf( __( 'Minimum invoice amount should be %s', 'invoicing' ), wpinv_price( wpinv_format_amount( $min ) ) ) );
535
+            wpinv_set_error('wpinv-discount-error', sprintf(__('Minimum invoice amount should be %s', 'invoicing'), wpinv_price(wpinv_format_amount($min))));
536 536
         }
537 537
     }
538 538
 
539
-    return apply_filters( 'wpinv_is_discount_min_met', $return, $code_id );
539
+    return apply_filters('wpinv_is_discount_min_met', $return, $code_id);
540 540
 }
541 541
 
542
-function wpinv_discount_is_max_met( $code_id = null ) {
543
-    $discount = wpinv_get_discount( $code_id );
542
+function wpinv_discount_is_max_met($code_id = null) {
543
+    $discount = wpinv_get_discount($code_id);
544 544
     $return   = false;
545 545
 
546
-    if ( $discount ) {
547
-        $max         = (float)wpinv_get_discount_max_total( $code_id );
548
-        $cart_amount = (float)wpinv_get_cart_discountable_subtotal( $code_id );
546
+    if ($discount) {
547
+        $max         = (float)wpinv_get_discount_max_total($code_id);
548
+        $cart_amount = (float)wpinv_get_cart_discountable_subtotal($code_id);
549 549
 
550
-        if ( !$max > 0 || $cart_amount <= $max ) {
550
+        if (!$max > 0 || $cart_amount <= $max) {
551 551
             // Minimum has been met
552 552
             $return = true;
553 553
         } else {
554
-            wpinv_set_error( 'wpinv-discount-error', sprintf( __( 'Maximum invoice amount should be %s', 'invoicing' ), wpinv_price( wpinv_format_amount( $max ) ) ) );
554
+            wpinv_set_error('wpinv-discount-error', sprintf(__('Maximum invoice amount should be %s', 'invoicing'), wpinv_price(wpinv_format_amount($max))));
555 555
         }
556 556
     }
557 557
 
558
-    return apply_filters( 'wpinv_is_discount_max_met', $return, $code_id );
558
+    return apply_filters('wpinv_is_discount_max_met', $return, $code_id);
559 559
 }
560 560
 
561
-function wpinv_discount_is_single_use( $code_id = 0 ) {
562
-    $single_use = get_post_meta( $code_id, '_wpi_discount_is_single_use', true );
563
-    return (bool) apply_filters( 'wpinv_is_discount_single_use', $single_use, $code_id );
561
+function wpinv_discount_is_single_use($code_id = 0) {
562
+    $single_use = get_post_meta($code_id, '_wpi_discount_is_single_use', true);
563
+    return (bool)apply_filters('wpinv_is_discount_single_use', $single_use, $code_id);
564 564
 }
565 565
 
566
-function wpinv_discount_is_recurring( $code_id = 0, $code = false ) {
567
-    if ( $code ) {
568
-        $discount = wpinv_get_discount_by_code( $code_id );
566
+function wpinv_discount_is_recurring($code_id = 0, $code = false) {
567
+    if ($code) {
568
+        $discount = wpinv_get_discount_by_code($code_id);
569 569
         
570
-        if ( !empty( $discount ) ) {
570
+        if (!empty($discount)) {
571 571
             $code_id = $discount->ID;
572 572
         }
573 573
     }
574 574
     
575
-    $recurring = get_post_meta( $code_id, '_wpi_discount_is_recurring', true );
575
+    $recurring = get_post_meta($code_id, '_wpi_discount_is_recurring', true);
576 576
     
577
-    return (bool) apply_filters( 'wpinv_is_discount_recurring', $recurring, $code_id, $code );
577
+    return (bool)apply_filters('wpinv_is_discount_recurring', $recurring, $code_id, $code);
578 578
 }
579 579
 
580
-function wpinv_discount_item_reqs_met( $code_id = null ) {
581
-    $item_reqs    = wpinv_get_discount_item_reqs( $code_id );
582
-    $condition    = wpinv_get_discount_item_condition( $code_id );
583
-    $excluded_ps  = wpinv_get_discount_excluded_items( $code_id );
580
+function wpinv_discount_item_reqs_met($code_id = null) {
581
+    $item_reqs    = wpinv_get_discount_item_reqs($code_id);
582
+    $condition    = wpinv_get_discount_item_condition($code_id);
583
+    $excluded_ps  = wpinv_get_discount_excluded_items($code_id);
584 584
     $cart_items   = wpinv_get_cart_contents();
585
-    $cart_ids     = $cart_items ? wp_list_pluck( $cart_items, 'id' ) : null;
585
+    $cart_ids     = $cart_items ? wp_list_pluck($cart_items, 'id') : null;
586 586
     $ret          = false;
587 587
 
588
-    if ( empty( $item_reqs ) && empty( $excluded_ps ) ) {
588
+    if (empty($item_reqs) && empty($excluded_ps)) {
589 589
         $ret = true;
590 590
     }
591 591
 
592 592
     // Normalize our data for item requirements, exclusions and cart data
593 593
     // First absint the items, then sort, and reset the array keys
594
-    $item_reqs = array_map( 'absint', $item_reqs );
595
-    asort( $item_reqs );
596
-    $item_reqs = array_values( $item_reqs );
594
+    $item_reqs = array_map('absint', $item_reqs);
595
+    asort($item_reqs);
596
+    $item_reqs = array_values($item_reqs);
597 597
 
598
-    $excluded_ps  = array_map( 'absint', $excluded_ps );
599
-    asort( $excluded_ps );
600
-    $excluded_ps  = array_values( $excluded_ps );
598
+    $excluded_ps  = array_map('absint', $excluded_ps);
599
+    asort($excluded_ps);
600
+    $excluded_ps  = array_values($excluded_ps);
601 601
 
602
-    $cart_ids     = array_map( 'absint', $cart_ids );
603
-    asort( $cart_ids );
604
-    $cart_ids     = array_values( $cart_ids );
602
+    $cart_ids     = array_map('absint', $cart_ids);
603
+    asort($cart_ids);
604
+    $cart_ids     = array_values($cart_ids);
605 605
 
606 606
     // Ensure we have requirements before proceeding
607
-    if ( !$ret && ! empty( $item_reqs ) ) {
608
-        switch( $condition ) {
607
+    if (!$ret && !empty($item_reqs)) {
608
+        switch ($condition) {
609 609
             case 'all' :
610 610
                 // Default back to true
611 611
                 $ret = true;
612 612
 
613
-                foreach ( $item_reqs as $item_id ) {
614
-                    if ( !wpinv_item_in_cart( $item_id ) ) {
615
-                        wpinv_set_error( 'wpinv-discount-error', __( 'The item requirements for this discount are not met.', 'invoicing' ) );
613
+                foreach ($item_reqs as $item_id) {
614
+                    if (!wpinv_item_in_cart($item_id)) {
615
+                        wpinv_set_error('wpinv-discount-error', __('The item requirements for this discount are not met.', 'invoicing'));
616 616
                         $ret = false;
617 617
                         break;
618 618
                     }
@@ -621,15 +621,15 @@  discard block
 block discarded – undo
621 621
                 break;
622 622
 
623 623
             default : // Any
624
-                foreach ( $item_reqs as $item_id ) {
625
-                    if ( wpinv_item_in_cart( $item_id ) ) {
624
+                foreach ($item_reqs as $item_id) {
625
+                    if (wpinv_item_in_cart($item_id)) {
626 626
                         $ret = true;
627 627
                         break;
628 628
                     }
629 629
                 }
630 630
 
631
-                if( ! $ret ) {
632
-                    wpinv_set_error( 'wpinv-discount-error', __( 'The item requirements for this discount are not met.', 'invoicing' ) );
631
+                if (!$ret) {
632
+                    wpinv_set_error('wpinv-discount-error', __('The item requirements for this discount are not met.', 'invoicing'));
633 633
                 }
634 634
 
635 635
                 break;
@@ -638,70 +638,70 @@  discard block
 block discarded – undo
638 638
         $ret = true;
639 639
     }
640 640
 
641
-    if( ! empty( $excluded_ps ) ) {
641
+    if (!empty($excluded_ps)) {
642 642
         // Check that there are items other than excluded ones in the cart
643
-        if( $cart_ids == $excluded_ps ) {
644
-            wpinv_set_error( 'wpinv-discount-error', __( 'This discount is not valid for the cart contents.', 'invoicing' ) );
643
+        if ($cart_ids == $excluded_ps) {
644
+            wpinv_set_error('wpinv-discount-error', __('This discount is not valid for the cart contents.', 'invoicing'));
645 645
             $ret = false;
646 646
         }
647 647
     }
648 648
 
649
-    return (bool) apply_filters( 'wpinv_is_discount_item_req_met', $ret, $code_id, $condition );
649
+    return (bool)apply_filters('wpinv_is_discount_item_req_met', $ret, $code_id, $condition);
650 650
 }
651 651
 
652
-function wpinv_is_discount_used( $code = null, $user = '', $code_id = 0 ) {
652
+function wpinv_is_discount_used($code = null, $user = '', $code_id = 0) {
653 653
     global $wpi_checkout_id;
654 654
     
655 655
     $return = false;
656 656
 
657
-    if ( empty( $code_id ) ) {
658
-        $code_id = wpinv_get_discount_id_by_code( $code );
657
+    if (empty($code_id)) {
658
+        $code_id = wpinv_get_discount_id_by_code($code);
659 659
         
660
-        if( empty( $code_id ) ) {
660
+        if (empty($code_id)) {
661 661
             return false; // No discount was found
662 662
         }
663 663
     }
664 664
 
665
-    if ( wpinv_discount_is_single_use( $code_id ) ) {
665
+    if (wpinv_discount_is_single_use($code_id)) {
666 666
         $payments = array();
667 667
 
668 668
         $user_id = 0;
669
-        if ( is_int( $user ) ) {
670
-            $user_id = absint( $user );
671
-        } else if ( is_email( $user ) && $user_data = get_user_by( 'email', $user ) ) {
669
+        if (is_int($user)) {
670
+            $user_id = absint($user);
671
+        } else if (is_email($user) && $user_data = get_user_by('email', $user)) {
672 672
             $user_id = $user_data->ID;
673
-        } else if ( $user_data = get_user_by( 'login', $user ) ) {
673
+        } else if ($user_data = get_user_by('login', $user)) {
674 674
             $user_id = $user_data->ID;
675
-        } else if ( absint( $user ) > 0 ) {
676
-            $user_id = absint( $user );
675
+        } else if (absint($user) > 0) {
676
+            $user_id = absint($user);
677 677
         }
678 678
 
679
-        if ( !empty( $user_id ) ) {
680
-            $query    = array( 'user' => $user_id, 'limit' => false );
681
-            $payments = wpinv_get_invoices( $query ); // Get all payments with matching user id
679
+        if (!empty($user_id)) {
680
+            $query    = array('user' => $user_id, 'limit' => false);
681
+            $payments = wpinv_get_invoices($query); // Get all payments with matching user id
682 682
         }
683 683
 
684
-        if ( $payments ) {
685
-            foreach ( $payments as $payment ) {
684
+        if ($payments) {
685
+            foreach ($payments as $payment) {
686 686
                 // Don't count discount used for current invoice chekcout.
687
-                if ( !empty( $wpi_checkout_id ) && $wpi_checkout_id == $payment->ID ) {
687
+                if (!empty($wpi_checkout_id) && $wpi_checkout_id == $payment->ID) {
688 688
                     continue;
689 689
                 }
690 690
                 
691
-                if ( $payment->has_status( array( 'wpi-cancelled', 'wpi-failed' ) ) ) {
691
+                if ($payment->has_status(array('wpi-cancelled', 'wpi-failed'))) {
692 692
                     continue;
693 693
                 }
694 694
 
695
-                $discounts = $payment->get_discounts( true );
696
-                if ( empty( $discounts ) ) {
695
+                $discounts = $payment->get_discounts(true);
696
+                if (empty($discounts)) {
697 697
                     continue;
698 698
                 }
699 699
 
700
-                $discounts = $discounts && !is_array( $discounts ) ? explode( ',', $discounts ) : $discounts;
700
+                $discounts = $discounts && !is_array($discounts) ? explode(',', $discounts) : $discounts;
701 701
 
702
-                if ( !empty( $discounts ) && is_array( $discounts ) ) {
703
-                    if ( in_array( strtolower( $code ), array_map( 'strtolower', $discounts ) ) ) {
704
-                        wpinv_set_error( 'wpinv-discount-error', __( 'This discount has already been redeemed.', 'invoicing' ) );
702
+                if (!empty($discounts) && is_array($discounts)) {
703
+                    if (in_array(strtolower($code), array_map('strtolower', $discounts))) {
704
+                        wpinv_set_error('wpinv-discount-error', __('This discount has already been redeemed.', 'invoicing'));
705 705
                         $return = true;
706 706
                         break;
707 707
                     }
@@ -710,61 +710,61 @@  discard block
 block discarded – undo
710 710
         }
711 711
     }
712 712
 
713
-    return apply_filters( 'wpinv_is_discount_used', $return, $code, $user );
713
+    return apply_filters('wpinv_is_discount_used', $return, $code, $user);
714 714
 }
715 715
 
716
-function wpinv_is_discount_valid( $code = '', $user = '', $set_error = true ) {
716
+function wpinv_is_discount_valid($code = '', $user = '', $set_error = true) {
717 717
     $return      = false;
718
-    $discount_id = wpinv_get_discount_id_by_code( $code );
719
-    $user        = trim( $user );
718
+    $discount_id = wpinv_get_discount_id_by_code($code);
719
+    $user        = trim($user);
720 720
 
721
-    if ( wpinv_get_cart_contents() ) {
722
-        if ( $discount_id ) {
721
+    if (wpinv_get_cart_contents()) {
722
+        if ($discount_id) {
723 723
             if (
724
-                wpinv_is_discount_active( $discount_id ) &&
725
-                wpinv_check_discount_dates( $discount_id ) &&
726
-                !wpinv_is_discount_maxed_out( $discount_id ) &&
727
-                !wpinv_is_discount_used( $code, $user, $discount_id ) &&
728
-                wpinv_discount_is_min_met( $discount_id ) &&
729
-                wpinv_discount_is_max_met( $discount_id ) &&
730
-                wpinv_discount_item_reqs_met( $discount_id )
724
+                wpinv_is_discount_active($discount_id) &&
725
+                wpinv_check_discount_dates($discount_id) &&
726
+                !wpinv_is_discount_maxed_out($discount_id) &&
727
+                !wpinv_is_discount_used($code, $user, $discount_id) &&
728
+                wpinv_discount_is_min_met($discount_id) &&
729
+                wpinv_discount_is_max_met($discount_id) &&
730
+                wpinv_discount_item_reqs_met($discount_id)
731 731
             ) {
732 732
                 $return = true;
733 733
             }
734
-        } elseif( $set_error ) {
735
-            wpinv_set_error( 'wpinv-discount-error', __( 'This discount is invalid.', 'invoicing' ) );
734
+        } elseif ($set_error) {
735
+            wpinv_set_error('wpinv-discount-error', __('This discount is invalid.', 'invoicing'));
736 736
         }
737 737
     }
738 738
 
739
-    return apply_filters( 'wpinv_is_discount_valid', $return, $discount_id, $code, $user );
739
+    return apply_filters('wpinv_is_discount_valid', $return, $discount_id, $code, $user);
740 740
 }
741 741
 
742
-function wpinv_get_discount_id_by_code( $code ) {
743
-    $discount = wpinv_get_discount_by_code( $code );
744
-    if( $discount ) {
742
+function wpinv_get_discount_id_by_code($code) {
743
+    $discount = wpinv_get_discount_by_code($code);
744
+    if ($discount) {
745 745
         return $discount->ID;
746 746
     }
747 747
     return false;
748 748
 }
749 749
 
750
-function wpinv_get_discounted_amount( $code, $base_price ) {
750
+function wpinv_get_discounted_amount($code, $base_price) {
751 751
     $amount      = $base_price;
752
-    $discount_id = wpinv_get_discount_id_by_code( $code );
752
+    $discount_id = wpinv_get_discount_id_by_code($code);
753 753
 
754
-    if( $discount_id ) {
755
-        $type        = wpinv_get_discount_type( $discount_id );
756
-        $rate        = wpinv_get_discount_amount( $discount_id );
754
+    if ($discount_id) {
755
+        $type        = wpinv_get_discount_type($discount_id);
756
+        $rate        = wpinv_get_discount_amount($discount_id);
757 757
 
758
-        if ( $type == 'flat' ) {
758
+        if ($type == 'flat') {
759 759
             // Set amount
760 760
             $amount = $base_price - $rate;
761
-            if ( $amount < 0 ) {
761
+            if ($amount < 0) {
762 762
                 $amount = 0;
763 763
             }
764 764
 
765 765
         } else {
766 766
             // Percentage discount
767
-            $amount = $base_price - ( $base_price * ( $rate / 100 ) );
767
+            $amount = $base_price - ($base_price * ($rate / 100));
768 768
         }
769 769
 
770 770
     } else {
@@ -773,108 +773,108 @@  discard block
 block discarded – undo
773 773
 
774 774
     }
775 775
 
776
-    return apply_filters( 'wpinv_discounted_amount', $amount );
776
+    return apply_filters('wpinv_discounted_amount', $amount);
777 777
 }
778 778
 
779
-function wpinv_increase_discount_usage( $code ) {
779
+function wpinv_increase_discount_usage($code) {
780 780
 
781
-    $id   = wpinv_get_discount_id_by_code( $code );
782
-    $uses = wpinv_get_discount_uses( $id );
781
+    $id   = wpinv_get_discount_id_by_code($code);
782
+    $uses = wpinv_get_discount_uses($id);
783 783
 
784
-    if ( $uses ) {
784
+    if ($uses) {
785 785
         $uses++;
786 786
     } else {
787 787
         $uses = 1;
788 788
     }
789 789
 
790
-    update_post_meta( $id, '_wpi_discount_uses', $uses );
790
+    update_post_meta($id, '_wpi_discount_uses', $uses);
791 791
 
792
-    do_action( 'wpinv_discount_increase_use_count', $uses, $id, $code );
792
+    do_action('wpinv_discount_increase_use_count', $uses, $id, $code);
793 793
 
794 794
     return $uses;
795 795
 
796 796
 }
797 797
 
798
-function wpinv_decrease_discount_usage( $code ) {
798
+function wpinv_decrease_discount_usage($code) {
799 799
 
800
-    $id   = wpinv_get_discount_id_by_code( $code );
801
-    $uses = wpinv_get_discount_uses( $id );
800
+    $id   = wpinv_get_discount_id_by_code($code);
801
+    $uses = wpinv_get_discount_uses($id);
802 802
 
803
-    if ( $uses ) {
803
+    if ($uses) {
804 804
         $uses--;
805 805
     }
806 806
 
807
-    if ( $uses < 0 ) {
807
+    if ($uses < 0) {
808 808
         $uses = 0;
809 809
     }
810 810
 
811
-    update_post_meta( $id, '_wpi_discount_uses', $uses );
811
+    update_post_meta($id, '_wpi_discount_uses', $uses);
812 812
 
813
-    do_action( 'wpinv_discount_decrease_use_count', $uses, $id, $code );
813
+    do_action('wpinv_discount_decrease_use_count', $uses, $id, $code);
814 814
 
815 815
     return $uses;
816 816
 
817 817
 }
818 818
 
819
-function wpinv_format_discount_rate( $type, $amount ) {
820
-    if ( $type == 'flat' ) {
821
-        return wpinv_price( wpinv_format_amount( $amount ) );
819
+function wpinv_format_discount_rate($type, $amount) {
820
+    if ($type == 'flat') {
821
+        return wpinv_price(wpinv_format_amount($amount));
822 822
     } else {
823 823
         return $amount . '%';
824 824
     }
825 825
 }
826 826
 
827
-function wpinv_set_cart_discount( $code = '' ) {    
828
-    if ( wpinv_multiple_discounts_allowed() ) {
827
+function wpinv_set_cart_discount($code = '') {    
828
+    if (wpinv_multiple_discounts_allowed()) {
829 829
         // Get all active cart discounts
830 830
         $discounts = wpinv_get_cart_discounts();
831 831
     } else {
832 832
         $discounts = false; // Only one discount allowed per purchase, so override any existing
833 833
     }
834 834
 
835
-    if ( $discounts ) {
836
-        $key = array_search( strtolower( $code ), array_map( 'strtolower', $discounts ) );
837
-        if( false !== $key ) {
838
-            unset( $discounts[ $key ] ); // Can't set the same discount more than once
835
+    if ($discounts) {
836
+        $key = array_search(strtolower($code), array_map('strtolower', $discounts));
837
+        if (false !== $key) {
838
+            unset($discounts[$key]); // Can't set the same discount more than once
839 839
         }
840 840
         $discounts[] = $code;
841 841
     } else {
842 842
         $discounts = array();
843 843
         $discounts[] = $code;
844 844
     }
845
-    $discounts = array_values( $discounts );
845
+    $discounts = array_values($discounts);
846 846
     
847 847
     $data = wpinv_get_checkout_session();
848
-    if ( empty( $data ) ) {
848
+    if (empty($data)) {
849 849
         $data = array();
850 850
     } else {
851
-        if ( !empty( $data['invoice_id'] ) && $payment_meta = wpinv_get_invoice_meta( $data['invoice_id'] ) ) {
852
-            $payment_meta['user_info']['discount']  = implode( ',', $discounts );
853
-            update_post_meta( $data['invoice_id'], '_wpinv_payment_meta', $payment_meta );
851
+        if (!empty($data['invoice_id']) && $payment_meta = wpinv_get_invoice_meta($data['invoice_id'])) {
852
+            $payment_meta['user_info']['discount'] = implode(',', $discounts);
853
+            update_post_meta($data['invoice_id'], '_wpinv_payment_meta', $payment_meta);
854 854
         }
855 855
     }
856 856
     $data['cart_discounts'] = $discounts;
857 857
     
858
-    wpinv_set_checkout_session( $data );
858
+    wpinv_set_checkout_session($data);
859 859
     
860 860
     return $discounts;
861 861
 }
862 862
 
863
-function wpinv_unset_cart_discount( $code = '' ) {    
863
+function wpinv_unset_cart_discount($code = '') {    
864 864
     $discounts = wpinv_get_cart_discounts();
865 865
 
866
-    if ( $code && !empty( $discounts ) && in_array( $code, $discounts ) ) {
867
-        $key = array_search( $code, $discounts );
868
-        unset( $discounts[ $key ] );
866
+    if ($code && !empty($discounts) && in_array($code, $discounts)) {
867
+        $key = array_search($code, $discounts);
868
+        unset($discounts[$key]);
869 869
             
870 870
         $data = wpinv_get_checkout_session();
871 871
         $data['cart_discounts'] = $discounts;
872
-        if ( !empty( $data['invoice_id'] ) && $payment_meta = wpinv_get_invoice_meta( $data['invoice_id'] ) ) {
873
-            $payment_meta['user_info']['discount']  = !empty( $discounts ) ? implode( ',', $discounts ) : '';
874
-            update_post_meta( $data['invoice_id'], '_wpinv_payment_meta', $payment_meta );
872
+        if (!empty($data['invoice_id']) && $payment_meta = wpinv_get_invoice_meta($data['invoice_id'])) {
873
+            $payment_meta['user_info']['discount'] = !empty($discounts) ? implode(',', $discounts) : '';
874
+            update_post_meta($data['invoice_id'], '_wpinv_payment_meta', $payment_meta);
875 875
         }
876 876
         
877
-        wpinv_set_checkout_session( $data );
877
+        wpinv_set_checkout_session($data);
878 878
     }
879 879
 
880 880
     return $discounts;
@@ -883,27 +883,27 @@  discard block
 block discarded – undo
883 883
 function wpinv_unset_all_cart_discounts() {
884 884
     $data = wpinv_get_checkout_session();
885 885
     
886
-    if ( !empty( $data ) && isset( $data['cart_discounts'] ) ) {
887
-        unset( $data['cart_discounts'] );
886
+    if (!empty($data) && isset($data['cart_discounts'])) {
887
+        unset($data['cart_discounts']);
888 888
         
889
-         wpinv_set_checkout_session( $data );
889
+         wpinv_set_checkout_session($data);
890 890
          return true;
891 891
     }
892 892
     
893 893
     return false;
894 894
 }
895 895
 
896
-function wpinv_get_cart_discounts( $items = array() ) {
896
+function wpinv_get_cart_discounts($items = array()) {
897 897
     $session = wpinv_get_checkout_session();
898 898
     
899
-    $discounts = !empty( $session['cart_discounts'] ) ? $session['cart_discounts'] : false;
899
+    $discounts = !empty($session['cart_discounts']) ? $session['cart_discounts'] : false;
900 900
     return $discounts;
901 901
 }
902 902
 
903
-function wpinv_cart_has_discounts( $items = array() ) {
903
+function wpinv_cart_has_discounts($items = array()) {
904 904
     $ret = false;
905 905
 
906
-    if ( wpinv_get_cart_discounts( $items ) ) {
906
+    if (wpinv_get_cart_discounts($items)) {
907 907
         $ret = true;
908 908
     }
909 909
     
@@ -914,131 +914,131 @@  discard block
 block discarded – undo
914 914
     }
915 915
     */
916 916
 
917
-    return apply_filters( 'wpinv_cart_has_discounts', $ret );
917
+    return apply_filters('wpinv_cart_has_discounts', $ret);
918 918
 }
919 919
 
920
-function wpinv_get_cart_discounted_amount( $items = array(), $discounts = false ) {
920
+function wpinv_get_cart_discounted_amount($items = array(), $discounts = false) {
921 921
     $amount = 0.00;
922
-    $items  = !empty( $items ) ? $items : wpinv_get_cart_content_details();
922
+    $items  = !empty($items) ? $items : wpinv_get_cart_content_details();
923 923
 
924
-    if ( $items ) {
925
-        $discounts = wp_list_pluck( $items, 'discount' );
924
+    if ($items) {
925
+        $discounts = wp_list_pluck($items, 'discount');
926 926
 
927
-        if ( is_array( $discounts ) ) {
928
-            $discounts = array_map( 'floatval', $discounts );
929
-            $amount    = array_sum( $discounts );
927
+        if (is_array($discounts)) {
928
+            $discounts = array_map('floatval', $discounts);
929
+            $amount    = array_sum($discounts);
930 930
         }
931 931
     }
932 932
 
933
-    return apply_filters( 'wpinv_get_cart_discounted_amount', $amount );
933
+    return apply_filters('wpinv_get_cart_discounted_amount', $amount);
934 934
 }
935 935
 
936
-function wpinv_get_cart_items_discount_amount( $items = array(), $discount = false ) {
937
-    $items  = !empty( $items ) ? $items : wpinv_get_cart_content_details();
936
+function wpinv_get_cart_items_discount_amount($items = array(), $discount = false) {
937
+    $items = !empty($items) ? $items : wpinv_get_cart_content_details();
938 938
     
939
-    if ( empty( $discount ) || empty( $items ) ) {
939
+    if (empty($discount) || empty($items)) {
940 940
         return 0;
941 941
     }
942 942
 
943 943
     $amount = 0;
944 944
     
945
-    foreach ( $items as $item ) {
946
-        $amount += wpinv_get_cart_item_discount_amount( $item, $discount );
945
+    foreach ($items as $item) {
946
+        $amount += wpinv_get_cart_item_discount_amount($item, $discount);
947 947
     }
948 948
     
949
-    $amount = wpinv_round_amount( $amount );
949
+    $amount = wpinv_round_amount($amount);
950 950
 
951 951
     return $amount;
952 952
 }
953 953
 
954
-function wpinv_get_cart_item_discount_amount( $item = array(), $discount = false ) {
954
+function wpinv_get_cart_item_discount_amount($item = array(), $discount = false) {
955 955
     global $wpinv_is_last_cart_item, $wpinv_flat_discount_total;
956 956
     
957 957
     $amount = 0;
958 958
 
959
-    if ( empty( $item ) || empty( $item['id'] ) ) {
959
+    if (empty($item) || empty($item['id'])) {
960 960
         return $amount;
961 961
     }
962 962
 
963
-    if ( empty( $item['quantity'] ) ) {
963
+    if (empty($item['quantity'])) {
964 964
         return $amount;
965 965
     }
966 966
 
967
-    if ( empty( $item['options'] ) ) {
967
+    if (empty($item['options'])) {
968 968
         $item['options'] = array();
969 969
     }
970 970
 
971
-    $price            = wpinv_get_cart_item_price( $item['id'], $item, $item['options'] );
971
+    $price            = wpinv_get_cart_item_price($item['id'], $item, $item['options']);
972 972
     $discounted_price = $price;
973 973
 
974 974
     $discounts = false === $discount ? wpinv_get_cart_discounts() : $discount;
975
-    if ( empty( $discounts ) ) {
975
+    if (empty($discounts)) {
976 976
         return $amount;
977 977
     }
978 978
 
979
-    if ( $discounts ) {
980
-        if ( is_array( $discounts ) ) {
981
-            $discounts = array_values( $discounts );
979
+    if ($discounts) {
980
+        if (is_array($discounts)) {
981
+            $discounts = array_values($discounts);
982 982
         } else {
983
-            $discounts = explode( ',', $discounts );
983
+            $discounts = explode(',', $discounts);
984 984
         }
985 985
     }
986 986
 
987
-    if( $discounts ) {
988
-        foreach ( $discounts as $discount ) {
989
-            $code_id = wpinv_get_discount_id_by_code( $discount );
987
+    if ($discounts) {
988
+        foreach ($discounts as $discount) {
989
+            $code_id = wpinv_get_discount_id_by_code($discount);
990 990
 
991 991
             // Check discount exists
992
-            if( ! $code_id ) {
992
+            if (!$code_id) {
993 993
                 continue;
994 994
             }
995 995
 
996
-            $reqs           = wpinv_get_discount_item_reqs( $code_id );
997
-            $excluded_items = wpinv_get_discount_excluded_items( $code_id );
996
+            $reqs           = wpinv_get_discount_item_reqs($code_id);
997
+            $excluded_items = wpinv_get_discount_excluded_items($code_id);
998 998
 
999 999
             // Make sure requirements are set and that this discount shouldn't apply to the whole cart
1000
-            if ( !empty( $reqs ) && wpinv_is_discount_not_global( $code_id ) ) {
1001
-                foreach ( $reqs as $item_id ) {
1002
-                    if ( $item_id == $item['id'] && ! in_array( $item['id'], $excluded_items ) ) {
1003
-                        $discounted_price -= $price - wpinv_get_discounted_amount( $discount, $price );
1000
+            if (!empty($reqs) && wpinv_is_discount_not_global($code_id)) {
1001
+                foreach ($reqs as $item_id) {
1002
+                    if ($item_id == $item['id'] && !in_array($item['id'], $excluded_items)) {
1003
+                        $discounted_price -= $price - wpinv_get_discounted_amount($discount, $price);
1004 1004
                     }
1005 1005
                 }
1006 1006
             } else {
1007 1007
                 // This is a global cart discount
1008
-                if ( !in_array( $item['id'], $excluded_items ) ) {
1009
-                    if ( 'flat' === wpinv_get_discount_type( $code_id ) ) {
1008
+                if (!in_array($item['id'], $excluded_items)) {
1009
+                    if ('flat' === wpinv_get_discount_type($code_id)) {
1010 1010
                         $items_subtotal    = 0.00;
1011 1011
                         $cart_items        = wpinv_get_cart_contents();
1012 1012
                         
1013
-                        foreach ( $cart_items as $cart_item ) {
1014
-                            if ( ! in_array( $cart_item['id'], $excluded_items ) ) {
1015
-                                $options = !empty( $cart_item['options'] ) ? $cart_item['options'] : array();
1016
-                                $item_price      = wpinv_get_cart_item_price( $cart_item['id'], $cart_item, $options );
1013
+                        foreach ($cart_items as $cart_item) {
1014
+                            if (!in_array($cart_item['id'], $excluded_items)) {
1015
+                                $options = !empty($cart_item['options']) ? $cart_item['options'] : array();
1016
+                                $item_price      = wpinv_get_cart_item_price($cart_item['id'], $cart_item, $options);
1017 1017
                                 $items_subtotal += $item_price * $cart_item['quantity'];
1018 1018
                             }
1019 1019
                         }
1020 1020
 
1021
-                        $subtotal_percent  = ( ( $price * $item['quantity'] ) / $items_subtotal );
1022
-                        $code_amount       = wpinv_get_discount_amount( $code_id );
1021
+                        $subtotal_percent  = (($price * $item['quantity']) / $items_subtotal);
1022
+                        $code_amount       = wpinv_get_discount_amount($code_id);
1023 1023
                         $discounted_amount = $code_amount * $subtotal_percent;
1024 1024
                         $discounted_price -= $discounted_amount;
1025 1025
 
1026
-                        $wpinv_flat_discount_total += round( $discounted_amount, wpinv_currency_decimal_filter() );
1026
+                        $wpinv_flat_discount_total += round($discounted_amount, wpinv_currency_decimal_filter());
1027 1027
 
1028
-                        if ( $wpinv_is_last_cart_item && $wpinv_flat_discount_total < $code_amount ) {
1028
+                        if ($wpinv_is_last_cart_item && $wpinv_flat_discount_total < $code_amount) {
1029 1029
                             $adjustment = $code_amount - $wpinv_flat_discount_total;
1030 1030
                             $discounted_price -= $adjustment;
1031 1031
                         }
1032 1032
                     } else {
1033
-                        $discounted_price -= $price - wpinv_get_discounted_amount( $discount, $price );
1033
+                        $discounted_price -= $price - wpinv_get_discounted_amount($discount, $price);
1034 1034
                     }
1035 1035
                 }
1036 1036
             }
1037 1037
         }
1038 1038
 
1039
-        $amount = ( $price - apply_filters( 'wpinv_get_cart_item_discounted_amount', $discounted_price, $discounts, $item, $price ) );
1039
+        $amount = ($price - apply_filters('wpinv_get_cart_item_discounted_amount', $discounted_price, $discounts, $item, $price));
1040 1040
 
1041
-        if ( 'flat' !== wpinv_get_discount_type( $code_id ) ) {
1041
+        if ('flat' !== wpinv_get_discount_type($code_id)) {
1042 1042
             $amount = $amount * $item['quantity'];
1043 1043
         }
1044 1044
     }
@@ -1046,59 +1046,59 @@  discard block
 block discarded – undo
1046 1046
     return $amount;
1047 1047
 }
1048 1048
 
1049
-function wpinv_cart_discounts_html( $items = array() ) {
1050
-    echo wpinv_get_cart_discounts_html( $items );
1049
+function wpinv_cart_discounts_html($items = array()) {
1050
+    echo wpinv_get_cart_discounts_html($items);
1051 1051
 }
1052 1052
 
1053
-function wpinv_get_cart_discounts_html( $items = array(), $discounts = false ) {
1053
+function wpinv_get_cart_discounts_html($items = array(), $discounts = false) {
1054 1054
     global $wpi_cart_columns;
1055 1055
     
1056
-    $items  = !empty( $items ) ? $items : wpinv_get_cart_content_details();
1056
+    $items = !empty($items) ? $items : wpinv_get_cart_content_details();
1057 1057
     
1058
-    if ( !$discounts ) {
1059
-        $discounts = wpinv_get_cart_discounts( $items );
1058
+    if (!$discounts) {
1059
+        $discounts = wpinv_get_cart_discounts($items);
1060 1060
     }
1061 1061
 
1062
-    if ( !$discounts ) {
1062
+    if (!$discounts) {
1063 1063
         return;
1064 1064
     }
1065 1065
     
1066
-    $discounts = is_array( $discounts ) ? $discounts : array( $discounts );
1066
+    $discounts = is_array($discounts) ? $discounts : array($discounts);
1067 1067
     
1068 1068
     $html = '';
1069 1069
 
1070
-    foreach ( $discounts as $discount ) {
1071
-        $discount_id    = wpinv_get_discount_id_by_code( $discount );
1072
-        $discount_value = wpinv_get_discount_amount( $discount_id );
1073
-        $rate           = wpinv_format_discount_rate( wpinv_get_discount_type( $discount_id ), $discount_value );
1074
-        $amount         = wpinv_get_cart_items_discount_amount( $items, $discount );
1075
-        $remove_btn     = '<a title="' . esc_attr__( 'Remove discount', 'invoicing' ) . '" data-code="' . $discount . '" data-value="' . $discount_value . '" class="wpi-discount-remove" href="javascript:void(0);">[<i class="fa fa-times" aria-hidden="true"></i>]</a> ';
1070
+    foreach ($discounts as $discount) {
1071
+        $discount_id    = wpinv_get_discount_id_by_code($discount);
1072
+        $discount_value = wpinv_get_discount_amount($discount_id);
1073
+        $rate           = wpinv_format_discount_rate(wpinv_get_discount_type($discount_id), $discount_value);
1074
+        $amount         = wpinv_get_cart_items_discount_amount($items, $discount);
1075
+        $remove_btn     = '<a title="' . esc_attr__('Remove discount', 'invoicing') . '" data-code="' . $discount . '" data-value="' . $discount_value . '" class="wpi-discount-remove" href="javascript:void(0);">[<i class="fa fa-times" aria-hidden="true"></i>]</a> ';
1076 1076
         
1077 1077
         $html .= '<tr class="wpinv_cart_footer_row wpinv_cart_discount_row">';
1078 1078
         ob_start();
1079
-        do_action( 'wpinv_checkout_table_discount_first', $items );
1079
+        do_action('wpinv_checkout_table_discount_first', $items);
1080 1080
         $html .= ob_get_clean();
1081
-        $html .= '<td class="wpinv_cart_discount_label text-right" colspan="' . $wpi_cart_columns . '">' . $remove_btn . '<strong>' . wpinv_cart_discount_label( $discount, $rate, false ) . '</strong></td><td class="wpinv_cart_discount text-right"><span data-discount="' . $amount . '" class="wpinv_cart_discount_amount">&ndash;' . wpinv_price( wpinv_format_amount( $amount ) ) . '</span></td>';
1081
+        $html .= '<td class="wpinv_cart_discount_label text-right" colspan="' . $wpi_cart_columns . '">' . $remove_btn . '<strong>' . wpinv_cart_discount_label($discount, $rate, false) . '</strong></td><td class="wpinv_cart_discount text-right"><span data-discount="' . $amount . '" class="wpinv_cart_discount_amount">&ndash;' . wpinv_price(wpinv_format_amount($amount)) . '</span></td>';
1082 1082
         ob_start();
1083
-        do_action( 'wpinv_checkout_table_discount_last', $items );
1083
+        do_action('wpinv_checkout_table_discount_last', $items);
1084 1084
         $html .= ob_get_clean();
1085 1085
         $html .= '</tr>';
1086 1086
     }
1087 1087
 
1088
-    return apply_filters( 'wpinv_get_cart_discounts_html', $html, $discounts, $rate );
1088
+    return apply_filters('wpinv_get_cart_discounts_html', $html, $discounts, $rate);
1089 1089
 }
1090 1090
 
1091
-function wpinv_display_cart_discount( $formatted = false, $echo = false ) {
1091
+function wpinv_display_cart_discount($formatted = false, $echo = false) {
1092 1092
     $discounts = wpinv_get_cart_discounts();
1093 1093
 
1094
-    if ( empty( $discounts ) ) {
1094
+    if (empty($discounts)) {
1095 1095
         return false;
1096 1096
     }
1097 1097
 
1098
-    $discount_id  = wpinv_get_discount_id_by_code( $discounts[0] );
1099
-    $amount       = wpinv_format_discount_rate( wpinv_get_discount_type( $discount_id ), wpinv_get_discount_amount( $discount_id ) );
1098
+    $discount_id  = wpinv_get_discount_id_by_code($discounts[0]);
1099
+    $amount       = wpinv_format_discount_rate(wpinv_get_discount_type($discount_id), wpinv_get_discount_amount($discount_id));
1100 1100
 
1101
-    if ( $echo ) {
1101
+    if ($echo) {
1102 1102
         echo $amount;
1103 1103
     }
1104 1104
 
@@ -1106,101 +1106,101 @@  discard block
 block discarded – undo
1106 1106
 }
1107 1107
 
1108 1108
 function wpinv_remove_cart_discount() {
1109
-    if ( !isset( $_GET['discount_id'] ) || ! isset( $_GET['discount_code'] ) ) {
1109
+    if (!isset($_GET['discount_id']) || !isset($_GET['discount_code'])) {
1110 1110
         return;
1111 1111
     }
1112 1112
 
1113
-    do_action( 'wpinv_pre_remove_cart_discount', absint( $_GET['discount_id'] ) );
1113
+    do_action('wpinv_pre_remove_cart_discount', absint($_GET['discount_id']));
1114 1114
 
1115
-    wpinv_unset_cart_discount( urldecode( $_GET['discount_code'] ) );
1115
+    wpinv_unset_cart_discount(urldecode($_GET['discount_code']));
1116 1116
 
1117
-    do_action( 'wpinv_post_remove_cart_discount', absint( $_GET['discount_id'] ) );
1117
+    do_action('wpinv_post_remove_cart_discount', absint($_GET['discount_id']));
1118 1118
 
1119
-    wp_redirect( wpinv_get_checkout_uri() ); wpinv_die();
1119
+    wp_redirect(wpinv_get_checkout_uri()); wpinv_die();
1120 1120
 }
1121
-add_action( 'wpinv_remove_cart_discount', 'wpinv_remove_cart_discount' );
1121
+add_action('wpinv_remove_cart_discount', 'wpinv_remove_cart_discount');
1122 1122
 
1123
-function wpinv_maybe_remove_cart_discount( $cart_key = 0 ) {
1123
+function wpinv_maybe_remove_cart_discount($cart_key = 0) {
1124 1124
     $discounts = wpinv_get_cart_discounts();
1125 1125
 
1126
-    if ( !$discounts ) {
1126
+    if (!$discounts) {
1127 1127
         return;
1128 1128
     }
1129 1129
 
1130
-    foreach ( $discounts as $discount ) {
1131
-        if ( !wpinv_is_discount_valid( $discount ) ) {
1132
-            wpinv_unset_cart_discount( $discount );
1130
+    foreach ($discounts as $discount) {
1131
+        if (!wpinv_is_discount_valid($discount)) {
1132
+            wpinv_unset_cart_discount($discount);
1133 1133
         }
1134 1134
     }
1135 1135
 }
1136
-add_action( 'wpinv_post_remove_from_cart', 'wpinv_maybe_remove_cart_discount' );
1136
+add_action('wpinv_post_remove_from_cart', 'wpinv_maybe_remove_cart_discount');
1137 1137
 
1138 1138
 function wpinv_multiple_discounts_allowed() {
1139
-    $ret = wpinv_get_option( 'allow_multiple_discounts', false );
1140
-    return (bool) apply_filters( 'wpinv_multiple_discounts_allowed', $ret );
1139
+    $ret = wpinv_get_option('allow_multiple_discounts', false);
1140
+    return (bool)apply_filters('wpinv_multiple_discounts_allowed', $ret);
1141 1141
 }
1142 1142
 
1143
-function wpinv_get_discount_label( $code, $echo = true ) {
1144
-    $label = wp_sprintf( __( 'Discount%1$s', 'invoicing' ), ( $code != '' && $code != 'none' ? ' (<code>' . $code . '</code>)': '' ) );
1145
-    $label = apply_filters( 'wpinv_get_discount_label', $label, $code );
1143
+function wpinv_get_discount_label($code, $echo = true) {
1144
+    $label = wp_sprintf(__('Discount%1$s', 'invoicing'), ($code != '' && $code != 'none' ? ' (<code>' . $code . '</code>)' : ''));
1145
+    $label = apply_filters('wpinv_get_discount_label', $label, $code);
1146 1146
 
1147
-    if ( $echo ) {
1147
+    if ($echo) {
1148 1148
         echo $label;
1149 1149
     } else {
1150 1150
         return $label;
1151 1151
     }
1152 1152
 }
1153 1153
 
1154
-function wpinv_cart_discount_label( $code, $rate, $echo = true ) {
1155
-    $label = wp_sprintf( __( 'Discount: %s', 'invoicing' ), $code );
1156
-    $label = apply_filters( 'wpinv_cart_discount_label', $label, $code, $rate );
1154
+function wpinv_cart_discount_label($code, $rate, $echo = true) {
1155
+    $label = wp_sprintf(__('Discount: %s', 'invoicing'), $code);
1156
+    $label = apply_filters('wpinv_cart_discount_label', $label, $code, $rate);
1157 1157
 
1158
-    if ( $echo ) {
1158
+    if ($echo) {
1159 1159
         echo $label;
1160 1160
     } else {
1161 1161
         return $label;
1162 1162
     }
1163 1163
 }
1164 1164
 
1165
-function wpinv_check_delete_discount( $check, $post, $force_delete ) {
1166
-    if ( $post->post_type == 'wpi_discount' && wpinv_get_discount_uses( $post->ID ) > 0 ) {
1165
+function wpinv_check_delete_discount($check, $post, $force_delete) {
1166
+    if ($post->post_type == 'wpi_discount' && wpinv_get_discount_uses($post->ID) > 0) {
1167 1167
         return true;
1168 1168
     }
1169 1169
     
1170 1170
     return $check;
1171 1171
 }
1172
-add_filter( 'pre_delete_post', 'wpinv_check_delete_discount', 10, 3 );
1172
+add_filter('pre_delete_post', 'wpinv_check_delete_discount', 10, 3);
1173 1173
 
1174 1174
 function wpinv_checkout_form_validate_discounts() {
1175 1175
     global $wpi_checkout_id;
1176 1176
     
1177 1177
     $discounts = wpinv_get_cart_discounts();
1178 1178
     
1179
-    if ( !empty( $discounts ) ) {
1179
+    if (!empty($discounts)) {
1180 1180
         $invalid = false;
1181 1181
         
1182
-        foreach ( $discounts as $key => $code ) {
1183
-            if ( !wpinv_is_discount_valid( $code, (int)wpinv_get_user_id( $wpi_checkout_id ) ) ) {
1182
+        foreach ($discounts as $key => $code) {
1183
+            if (!wpinv_is_discount_valid($code, (int)wpinv_get_user_id($wpi_checkout_id))) {
1184 1184
                 $invalid = true;
1185 1185
                 
1186
-                wpinv_unset_cart_discount( $code );
1186
+                wpinv_unset_cart_discount($code);
1187 1187
             }
1188 1188
         }
1189 1189
         
1190
-        if ( $invalid ) {
1190
+        if ($invalid) {
1191 1191
             $errors = wpinv_get_errors();
1192
-            $error  = !empty( $errors['wpinv-discount-error'] ) ? $errors['wpinv-discount-error'] . ' ' : '';
1193
-            $error  .= __( 'The discount has been removed from cart.', 'invoicing' );
1194
-            wpinv_set_error( 'wpinv-discount-error', $error );
1192
+            $error  = !empty($errors['wpinv-discount-error']) ? $errors['wpinv-discount-error'] . ' ' : '';
1193
+            $error .= __('The discount has been removed from cart.', 'invoicing');
1194
+            wpinv_set_error('wpinv-discount-error', $error);
1195 1195
             
1196
-            wpinv_recalculate_tax( true );
1196
+            wpinv_recalculate_tax(true);
1197 1197
         }
1198 1198
     }
1199 1199
 }
1200
-add_action( 'wpinv_before_checkout_form', 'wpinv_checkout_form_validate_discounts', -10 );
1200
+add_action('wpinv_before_checkout_form', 'wpinv_checkout_form_validate_discounts', -10);
1201 1201
 
1202 1202
 function wpinv_discount_amount() {
1203 1203
     $output = 0.00;
1204 1204
     
1205
-    return apply_filters( 'wpinv_discount_amount', $output );
1205
+    return apply_filters('wpinv_discount_amount', $output);
1206 1206
 }
1207 1207
\ No newline at end of file
Please login to merge, or discard this patch.