@@ -7,15 +7,15 @@ discard block |
||
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(); |
@@ -23,7 +23,7 @@ discard block |
||
23 | 23 | self::$instance->reports = new WPInv_Reports(); |
24 | 24 | } |
25 | 25 | |
26 | - do_action( 'wpinv_loaded' ); |
|
26 | + do_action('wpinv_loaded'); |
|
27 | 27 | |
28 | 28 | return self::$instance; |
29 | 29 | } |
@@ -33,31 +33,31 @@ discard block |
||
33 | 33 | } |
34 | 34 | |
35 | 35 | public function define_constants() { |
36 | - define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) ); |
|
37 | - define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) ); |
|
36 | + define('WPINV_PLUGIN_DIR', plugin_dir_path(WPINV_PLUGIN_FILE)); |
|
37 | + define('WPINV_PLUGIN_URL', plugin_dir_url(WPINV_PLUGIN_FILE)); |
|
38 | 38 | } |
39 | 39 | |
40 | 40 | private function actions() { |
41 | 41 | /* Internationalize the text strings used. */ |
42 | - add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) ); |
|
42 | + add_action('plugins_loaded', array(&$this, 'plugins_loaded')); |
|
43 | 43 | |
44 | 44 | /* Perform actions on admin initialization. */ |
45 | - add_action( 'admin_init', array( &$this, 'admin_init') ); |
|
46 | - add_action( 'init', array( &$this, 'init' ), 3 ); |
|
47 | - add_action( 'init', array( 'WPInv_Shortcodes', 'init' ) ); |
|
48 | - add_action( 'init', array( &$this, 'wpinv_actions' ) ); |
|
45 | + add_action('admin_init', array(&$this, 'admin_init')); |
|
46 | + add_action('init', array(&$this, 'init'), 3); |
|
47 | + add_action('init', array('WPInv_Shortcodes', 'init')); |
|
48 | + add_action('init', array(&$this, 'wpinv_actions')); |
|
49 | 49 | |
50 | - if ( class_exists( 'BuddyPress' ) ) { |
|
51 | - add_action( 'bp_include', array( &$this, 'bp_invoicing_init' ) ); |
|
50 | + if (class_exists('BuddyPress')) { |
|
51 | + add_action('bp_include', array(&$this, 'bp_invoicing_init')); |
|
52 | 52 | } |
53 | 53 | |
54 | - add_action( 'wp_enqueue_scripts', array( &$this, 'enqueue_scripts' ) ); |
|
54 | + add_action('wp_enqueue_scripts', array(&$this, 'enqueue_scripts')); |
|
55 | 55 | |
56 | - if ( is_admin() ) { |
|
57 | - add_action( 'admin_enqueue_scripts', array( &$this, 'admin_enqueue_scripts' ) ); |
|
58 | - add_action( 'admin_body_class', array( &$this, 'admin_body_class' ) ); |
|
56 | + if (is_admin()) { |
|
57 | + add_action('admin_enqueue_scripts', array(&$this, 'admin_enqueue_scripts')); |
|
58 | + add_action('admin_body_class', array(&$this, 'admin_body_class')); |
|
59 | 59 | } else { |
60 | - add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) ); |
|
60 | + add_filter('pre_get_posts', array(&$this, 'pre_get_posts')); |
|
61 | 61 | } |
62 | 62 | |
63 | 63 | /** |
@@ -67,9 +67,9 @@ discard block |
||
67 | 67 | * |
68 | 68 | * @param WPInv_Plugin $this. Current WPInv_Plugin instance. Passed by reference. |
69 | 69 | */ |
70 | - do_action_ref_array( 'wpinv_actions', array( &$this ) ); |
|
70 | + do_action_ref_array('wpinv_actions', array(&$this)); |
|
71 | 71 | |
72 | - add_action( 'admin_init', array( &$this, 'activation_redirect') ); |
|
72 | + add_action('admin_init', array(&$this, 'activation_redirect')); |
|
73 | 73 | } |
74 | 74 | |
75 | 75 | public function plugins_loaded() { |
@@ -83,189 +83,189 @@ discard block |
||
83 | 83 | * @since 1.0 |
84 | 84 | */ |
85 | 85 | public function load_textdomain() { |
86 | - $locale = apply_filters( 'plugin_locale', get_locale(), 'invoicing' ); |
|
86 | + $locale = apply_filters('plugin_locale', get_locale(), 'invoicing'); |
|
87 | 87 | |
88 | - load_textdomain( 'invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo' ); |
|
89 | - load_plugin_textdomain( 'invoicing', false, WPINV_PLUGIN_DIR . 'languages' ); |
|
88 | + load_textdomain('invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo'); |
|
89 | + load_plugin_textdomain('invoicing', false, WPINV_PLUGIN_DIR . 'languages'); |
|
90 | 90 | |
91 | 91 | /** |
92 | 92 | * Define language constants. |
93 | 93 | */ |
94 | - require_once( WPINV_PLUGIN_DIR . 'language.php' ); |
|
94 | + require_once(WPINV_PLUGIN_DIR . 'language.php'); |
|
95 | 95 | } |
96 | 96 | |
97 | 97 | public function includes() { |
98 | 98 | global $wpinv_options; |
99 | 99 | |
100 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php' ); |
|
100 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php'); |
|
101 | 101 | $wpinv_options = wpinv_get_settings(); |
102 | 102 | |
103 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-post-types.php' ); |
|
104 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php' ); |
|
105 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php' ); |
|
106 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php' ); |
|
107 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php' ); |
|
108 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php' ); |
|
109 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php' ); |
|
110 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-invoice-functions.php' ); |
|
111 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php' ); |
|
112 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php' ); |
|
113 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php' ); |
|
114 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php' ); |
|
115 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-user-functions.php' ); |
|
116 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-gd-functions.php' ); |
|
117 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-error-functions.php' ); |
|
118 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-invoice.php' ); |
|
119 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-item.php' ); |
|
120 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-notes.php' ); |
|
121 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-session.php' ); |
|
122 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php' ); |
|
123 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php' ); |
|
124 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-reports.php' ); |
|
125 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-shortcodes.php' ); |
|
126 | - if ( !class_exists( 'Geodir_EUVat' ) ) { |
|
127 | - require_once( WPINV_PLUGIN_DIR . 'includes/libraries/wpinv-euvat/class-wpinv-euvat.php' ); |
|
103 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-post-types.php'); |
|
104 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php'); |
|
105 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php'); |
|
106 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php'); |
|
107 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php'); |
|
108 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php'); |
|
109 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php'); |
|
110 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-invoice-functions.php'); |
|
111 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php'); |
|
112 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php'); |
|
113 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php'); |
|
114 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php'); |
|
115 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-user-functions.php'); |
|
116 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-gd-functions.php'); |
|
117 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-error-functions.php'); |
|
118 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-invoice.php'); |
|
119 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-item.php'); |
|
120 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-notes.php'); |
|
121 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-session.php'); |
|
122 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php'); |
|
123 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php'); |
|
124 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-reports.php'); |
|
125 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-shortcodes.php'); |
|
126 | + if (!class_exists('Geodir_EUVat')) { |
|
127 | + require_once(WPINV_PLUGIN_DIR . 'includes/libraries/wpinv-euvat/class-wpinv-euvat.php'); |
|
128 | 128 | } |
129 | 129 | |
130 | - $gateways = array_keys( wpinv_get_enabled_payment_gateways() ); |
|
131 | - if ( !empty( $gateways ) ) { |
|
132 | - foreach ( $gateways as $gateway ) { |
|
133 | - if ( $gateway == 'manual' ) { |
|
130 | + $gateways = array_keys(wpinv_get_enabled_payment_gateways()); |
|
131 | + if (!empty($gateways)) { |
|
132 | + foreach ($gateways as $gateway) { |
|
133 | + if ($gateway == 'manual') { |
|
134 | 134 | continue; |
135 | 135 | } |
136 | 136 | |
137 | 137 | $gateway_file = WPINV_PLUGIN_DIR . 'includes/gateways/' . $gateway . '.php'; |
138 | 138 | |
139 | - if ( file_exists( $gateway_file ) ) { |
|
140 | - require_once( $gateway_file ); |
|
139 | + if (file_exists($gateway_file)) { |
|
140 | + require_once($gateway_file); |
|
141 | 141 | } |
142 | 142 | } |
143 | 143 | } |
144 | - require_once( WPINV_PLUGIN_DIR . 'includes/gateways/manual.php' ); |
|
145 | - |
|
146 | - if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) { |
|
147 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-upgrade-functions.php' ); |
|
148 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php' ); |
|
149 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-meta-boxes.php' ); |
|
150 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-details.php' ); |
|
151 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-items.php' ); |
|
152 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php' ); |
|
153 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-address.php' ); |
|
154 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php' ); |
|
144 | + require_once(WPINV_PLUGIN_DIR . 'includes/gateways/manual.php'); |
|
145 | + |
|
146 | + if (is_admin() || (defined('WP_CLI') && WP_CLI)) { |
|
147 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/wpinv-upgrade-functions.php'); |
|
148 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php'); |
|
149 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/admin-meta-boxes.php'); |
|
150 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-details.php'); |
|
151 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-items.php'); |
|
152 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php'); |
|
153 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-address.php'); |
|
154 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php'); |
|
155 | 155 | |
156 | 156 | } |
157 | 157 | |
158 | 158 | // include css inliner |
159 | - if ( ! class_exists( 'Emogrifier' ) && class_exists( 'DOMDocument' ) ) { |
|
160 | - include_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-emogrifier.php' ); |
|
159 | + if (!class_exists('Emogrifier') && class_exists('DOMDocument')) { |
|
160 | + include_once(WPINV_PLUGIN_DIR . 'includes/libraries/class-emogrifier.php'); |
|
161 | 161 | } |
162 | 162 | |
163 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/install.php' ); |
|
163 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/install.php'); |
|
164 | 164 | } |
165 | 165 | |
166 | 166 | public function init() { |
167 | 167 | } |
168 | 168 | |
169 | 169 | public function admin_init() { |
170 | - if (!(defined( 'DOING_AJAX' ) && DOING_AJAX)) { |
|
170 | + if (!(defined('DOING_AJAX') && DOING_AJAX)) { |
|
171 | 171 | } |
172 | 172 | |
173 | - add_action( 'admin_print_scripts-edit.php', array( &$this, 'admin_print_scripts_edit_php' ) ); |
|
173 | + add_action('admin_print_scripts-edit.php', array(&$this, 'admin_print_scripts_edit_php')); |
|
174 | 174 | } |
175 | 175 | |
176 | 176 | public function activation_redirect() { |
177 | 177 | // Bail if no activation redirect |
178 | - if ( !get_transient( '_wpinv_activation_redirect' ) ) { |
|
178 | + if (!get_transient('_wpinv_activation_redirect')) { |
|
179 | 179 | return; |
180 | 180 | } |
181 | 181 | |
182 | 182 | // Delete the redirect transient |
183 | - delete_transient( '_wpinv_activation_redirect' ); |
|
183 | + delete_transient('_wpinv_activation_redirect'); |
|
184 | 184 | |
185 | 185 | // Bail if activating from network, or bulk |
186 | - if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) { |
|
186 | + if (is_network_admin() || isset($_GET['activate-multi'])) { |
|
187 | 187 | return; |
188 | 188 | } |
189 | 189 | |
190 | - wp_safe_redirect( admin_url( 'admin.php?page=wpinv-settings&tab=general' ) ); |
|
190 | + wp_safe_redirect(admin_url('admin.php?page=wpinv-settings&tab=general')); |
|
191 | 191 | exit; |
192 | 192 | } |
193 | 193 | |
194 | 194 | public function enqueue_scripts() { |
195 | - $suffix = '';//defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; |
|
195 | + $suffix = ''; //defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; |
|
196 | 196 | |
197 | - wp_deregister_style( 'font-awesome' ); |
|
198 | - wp_register_style( 'font-awesome', '//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome' . $suffix . '.css', array(), '4.7.0' ); |
|
199 | - wp_enqueue_style( 'font-awesome' ); |
|
197 | + wp_deregister_style('font-awesome'); |
|
198 | + wp_register_style('font-awesome', '//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome' . $suffix . '.css', array(), '4.7.0'); |
|
199 | + wp_enqueue_style('font-awesome'); |
|
200 | 200 | |
201 | - wp_register_style( 'wpinv_front_style', WPINV_PLUGIN_URL . 'assets/css/invoice-front.css', array(), WPINV_VERSION ); |
|
202 | - wp_enqueue_style( 'wpinv_front_style' ); |
|
201 | + wp_register_style('wpinv_front_style', WPINV_PLUGIN_URL . 'assets/css/invoice-front.css', array(), WPINV_VERSION); |
|
202 | + wp_enqueue_style('wpinv_front_style'); |
|
203 | 203 | |
204 | 204 | // Register scripts |
205 | - wp_register_script( 'jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array( 'jquery' ), '2.70', true ); |
|
206 | - wp_register_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/invoice-front' . $suffix . '.js', array( 'jquery', 'wpinv-vat-script' ), WPINV_VERSION ); |
|
205 | + wp_register_script('jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array('jquery'), '2.70', true); |
|
206 | + wp_register_script('wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/invoice-front' . $suffix . '.js', array('jquery', 'wpinv-vat-script'), WPINV_VERSION); |
|
207 | 207 | |
208 | 208 | $localize = array(); |
209 | - $localize['ajax_url'] = admin_url( 'admin-ajax.php' ); |
|
210 | - $localize['nonce'] = wp_create_nonce( 'wpinv-nonce' ); |
|
209 | + $localize['ajax_url'] = admin_url('admin-ajax.php'); |
|
210 | + $localize['nonce'] = wp_create_nonce('wpinv-nonce'); |
|
211 | 211 | $localize['currency_symbol'] = wpinv_currency_symbol(); |
212 | 212 | $localize['currency_pos'] = wpinv_currency_position(); |
213 | 213 | $localize['thousand_sep'] = wpinv_thousands_separator(); |
214 | 214 | $localize['decimal_sep'] = wpinv_decimal_separator(); |
215 | 215 | $localize['decimals'] = wpinv_decimals(); |
216 | 216 | |
217 | - $localize = apply_filters( 'wpinv_front_js_localize', $localize ); |
|
217 | + $localize = apply_filters('wpinv_front_js_localize', $localize); |
|
218 | 218 | |
219 | - wp_enqueue_script( 'jquery-blockui' ); |
|
220 | - wp_enqueue_script( 'wpinv-front-script' ); |
|
221 | - wp_localize_script( 'wpinv-front-script', 'WPInv', $localize ); |
|
219 | + wp_enqueue_script('jquery-blockui'); |
|
220 | + wp_enqueue_script('wpinv-front-script'); |
|
221 | + wp_localize_script('wpinv-front-script', 'WPInv', $localize); |
|
222 | 222 | } |
223 | 223 | |
224 | 224 | public function admin_enqueue_scripts() { |
225 | 225 | global $post, $pagenow; |
226 | 226 | |
227 | 227 | $post_type = wpinv_admin_post_type(); |
228 | - $suffix = '';//defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; |
|
228 | + $suffix = ''; //defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; |
|
229 | 229 | |
230 | - wp_deregister_style( 'font-awesome' ); |
|
231 | - wp_register_style( 'font-awesome', '//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome' . $suffix . '.css', array(), '4.7.0' ); |
|
232 | - wp_enqueue_style( 'font-awesome' ); |
|
230 | + wp_deregister_style('font-awesome'); |
|
231 | + wp_register_style('font-awesome', '//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome' . $suffix . '.css', array(), '4.7.0'); |
|
232 | + wp_enqueue_style('font-awesome'); |
|
233 | 233 | |
234 | - wp_register_style( 'jquery-ui-css', WPINV_PLUGIN_URL . 'assets/css/jquery-ui' . $suffix . '.css', array(), '1.8.16' ); |
|
235 | - wp_enqueue_style( 'jquery-ui-css' ); |
|
234 | + wp_register_style('jquery-ui-css', WPINV_PLUGIN_URL . 'assets/css/jquery-ui' . $suffix . '.css', array(), '1.8.16'); |
|
235 | + wp_enqueue_style('jquery-ui-css'); |
|
236 | 236 | |
237 | - wp_register_style( 'jquery-chosen', WPINV_PLUGIN_URL . 'assets/css/chosen' . $suffix . '.css', array(), '1.6.2' ); |
|
238 | - wp_enqueue_style( 'jquery-chosen' ); |
|
237 | + wp_register_style('jquery-chosen', WPINV_PLUGIN_URL . 'assets/css/chosen' . $suffix . '.css', array(), '1.6.2'); |
|
238 | + wp_enqueue_style('jquery-chosen'); |
|
239 | 239 | |
240 | - wp_register_script( 'jquery-chosen', WPINV_PLUGIN_URL . 'assets/js/chosen.jquery' . $suffix . '.js', array( 'jquery' ), '1.6.2' ); |
|
241 | - wp_enqueue_script( 'jquery-chosen' ); |
|
240 | + wp_register_script('jquery-chosen', WPINV_PLUGIN_URL . 'assets/js/chosen.jquery' . $suffix . '.js', array('jquery'), '1.6.2'); |
|
241 | + wp_enqueue_script('jquery-chosen'); |
|
242 | 242 | |
243 | - wp_register_style( 'wpinv_meta_box_style', WPINV_PLUGIN_URL . 'assets/css/meta-box.css', array(), WPINV_VERSION ); |
|
244 | - wp_enqueue_style( 'wpinv_meta_box_style' ); |
|
243 | + wp_register_style('wpinv_meta_box_style', WPINV_PLUGIN_URL . 'assets/css/meta-box.css', array(), WPINV_VERSION); |
|
244 | + wp_enqueue_style('wpinv_meta_box_style'); |
|
245 | 245 | |
246 | - wp_register_style( 'wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array(), WPINV_VERSION ); |
|
247 | - wp_enqueue_style( 'wpinv_admin_style' ); |
|
246 | + wp_register_style('wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array(), WPINV_VERSION); |
|
247 | + wp_enqueue_style('wpinv_admin_style'); |
|
248 | 248 | |
249 | - if ( $post_type == 'wpi_discount' || $post_type == 'wpi_invoice' && ( $pagenow == 'post-new.php' || $pagenow == 'post.php' ) ) { |
|
250 | - wp_enqueue_script( 'jquery-ui-datepicker' ); |
|
249 | + if ($post_type == 'wpi_discount' || $post_type == 'wpi_invoice' && ($pagenow == 'post-new.php' || $pagenow == 'post.php')) { |
|
250 | + wp_enqueue_script('jquery-ui-datepicker'); |
|
251 | 251 | } |
252 | 252 | |
253 | - wp_enqueue_style( 'wp-color-picker' ); |
|
254 | - wp_enqueue_script( 'wp-color-picker' ); |
|
253 | + wp_enqueue_style('wp-color-picker'); |
|
254 | + wp_enqueue_script('wp-color-picker'); |
|
255 | 255 | |
256 | - wp_register_script( 'jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array( 'jquery' ), '2.70', true ); |
|
256 | + wp_register_script('jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array('jquery'), '2.70', true); |
|
257 | 257 | |
258 | - wp_register_script( 'wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin' . $suffix . '.js', array( 'jquery', 'jquery-blockui' ), WPINV_VERSION ); |
|
259 | - wp_enqueue_script( 'wpinv-admin-script' ); |
|
258 | + wp_register_script('wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin' . $suffix . '.js', array('jquery', 'jquery-blockui'), WPINV_VERSION); |
|
259 | + wp_enqueue_script('wpinv-admin-script'); |
|
260 | 260 | |
261 | 261 | $localize = array(); |
262 | - $localize['ajax_url'] = admin_url( 'admin-ajax.php' ); |
|
263 | - $localize['post_ID'] = isset( $post->ID ) ? $post->ID : ''; |
|
264 | - $localize['wpinv_nonce'] = wp_create_nonce( 'wpinv-nonce' ); |
|
265 | - $localize['add_invoice_note_nonce'] = wp_create_nonce( 'add-invoice-note' ); |
|
266 | - $localize['delete_invoice_note_nonce'] = wp_create_nonce( 'delete-invoice-note' ); |
|
267 | - $localize['invoice_item_nonce'] = wp_create_nonce( 'invoice-item' ); |
|
268 | - $localize['billing_details_nonce'] = wp_create_nonce( 'get-billing-details' ); |
|
262 | + $localize['ajax_url'] = admin_url('admin-ajax.php'); |
|
263 | + $localize['post_ID'] = isset($post->ID) ? $post->ID : ''; |
|
264 | + $localize['wpinv_nonce'] = wp_create_nonce('wpinv-nonce'); |
|
265 | + $localize['add_invoice_note_nonce'] = wp_create_nonce('add-invoice-note'); |
|
266 | + $localize['delete_invoice_note_nonce'] = wp_create_nonce('delete-invoice-note'); |
|
267 | + $localize['invoice_item_nonce'] = wp_create_nonce('invoice-item'); |
|
268 | + $localize['billing_details_nonce'] = wp_create_nonce('get-billing-details'); |
|
269 | 269 | $localize['tax'] = wpinv_tax_amount(); |
270 | 270 | $localize['discount'] = wpinv_discount_amount(); |
271 | 271 | $localize['currency_symbol'] = wpinv_currency_symbol(); |
@@ -273,55 +273,55 @@ discard block |
||
273 | 273 | $localize['thousand_sep'] = wpinv_thousands_separator(); |
274 | 274 | $localize['decimal_sep'] = wpinv_decimal_separator(); |
275 | 275 | $localize['decimals'] = wpinv_decimals(); |
276 | - $localize['save_invoice'] = __( 'Save Invoice', 'invoicing' ); |
|
277 | - $localize['status_publish'] = wpinv_status_nicename( 'publish' ); |
|
278 | - $localize['status_pending'] = wpinv_status_nicename( 'pending' ); |
|
279 | - $localize['delete_tax_rate'] = __( 'Are you sure you wish to delete this tax rate?', 'invoicing' ); |
|
280 | - $localize['OneItemMin'] = __( 'Invoice must contain at least one item', 'invoicing' ); |
|
281 | - $localize['DeleteInvoiceItem'] = __( 'Are you sure you wish to delete this item?', 'invoicing' ); |
|
282 | - $localize['FillBillingDetails'] = __( 'Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing' ); |
|
283 | - $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' ); |
|
284 | - $localize['AreYouSure'] = __( 'Are you sure?', 'invoicing' ); |
|
285 | - $localize['hasGD'] = wpinv_gd_active();; |
|
276 | + $localize['save_invoice'] = __('Save Invoice', 'invoicing'); |
|
277 | + $localize['status_publish'] = wpinv_status_nicename('publish'); |
|
278 | + $localize['status_pending'] = wpinv_status_nicename('pending'); |
|
279 | + $localize['delete_tax_rate'] = __('Are you sure you wish to delete this tax rate?', 'invoicing'); |
|
280 | + $localize['OneItemMin'] = __('Invoice must contain at least one item', 'invoicing'); |
|
281 | + $localize['DeleteInvoiceItem'] = __('Are you sure you wish to delete this item?', 'invoicing'); |
|
282 | + $localize['FillBillingDetails'] = __('Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing'); |
|
283 | + $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'); |
|
284 | + $localize['AreYouSure'] = __('Are you sure?', 'invoicing'); |
|
285 | + $localize['hasGD'] = wpinv_gd_active(); ; |
|
286 | 286 | $localize['hasPM'] = wpinv_pm_active(); |
287 | - $localize['emptyInvoice'] = __( 'Add atleast one item to save invoice!', 'invoicing' ); |
|
288 | - $localize['deletePackage'] = __( 'GD package items should be deleted from GD payment manager only, otherwise it will break invoices that created with this package!', 'invoicing' ); |
|
289 | - $localize['deletePackages'] = __( 'GD package items should be deleted from GD payment manager only', 'invoicing' ); |
|
290 | - $localize['deleteInvoiceFirst'] = __( 'This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing' ); |
|
287 | + $localize['emptyInvoice'] = __('Add atleast one item to save invoice!', 'invoicing'); |
|
288 | + $localize['deletePackage'] = __('GD package items should be deleted from GD payment manager only, otherwise it will break invoices that created with this package!', 'invoicing'); |
|
289 | + $localize['deletePackages'] = __('GD package items should be deleted from GD payment manager only', 'invoicing'); |
|
290 | + $localize['deleteInvoiceFirst'] = __('This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing'); |
|
291 | 291 | |
292 | - wp_localize_script( 'wpinv-admin-script', 'WPInv_Admin', $localize ); |
|
292 | + wp_localize_script('wpinv-admin-script', 'WPInv_Admin', $localize); |
|
293 | 293 | } |
294 | 294 | |
295 | - public function admin_body_class( $classes ) { |
|
295 | + public function admin_body_class($classes) { |
|
296 | 296 | global $pagenow; |
297 | 297 | |
298 | - $page = isset( $_GET['page'] ) ? strtolower( $_GET['page'] ) : false; |
|
298 | + $page = isset($_GET['page']) ? strtolower($_GET['page']) : false; |
|
299 | 299 | |
300 | 300 | $add_class = false; |
301 | - if ( $pagenow == 'admin.php' && $page ) { |
|
302 | - $add_class = strpos( $page, 'wpinv-' ); |
|
301 | + if ($pagenow == 'admin.php' && $page) { |
|
302 | + $add_class = strpos($page, 'wpinv-'); |
|
303 | 303 | } |
304 | 304 | |
305 | 305 | $settings_class = array(); |
306 | - if ( $page == 'wpinv-settings' ) { |
|
307 | - if ( !empty( $_REQUEST['tab'] ) ) { |
|
308 | - $settings_class[] = sanitize_text_field( $_REQUEST['tab'] ); |
|
306 | + if ($page == 'wpinv-settings') { |
|
307 | + if (!empty($_REQUEST['tab'])) { |
|
308 | + $settings_class[] = sanitize_text_field($_REQUEST['tab']); |
|
309 | 309 | } |
310 | 310 | |
311 | - if ( !empty( $_REQUEST['section'] ) ) { |
|
312 | - $settings_class[] = sanitize_text_field( $_REQUEST['section'] ); |
|
311 | + if (!empty($_REQUEST['section'])) { |
|
312 | + $settings_class[] = sanitize_text_field($_REQUEST['section']); |
|
313 | 313 | } |
314 | 314 | |
315 | - $settings_class[] = isset( $_REQUEST['wpi_sub'] ) && $_REQUEST['wpi_sub'] !== '' ? sanitize_text_field( $_REQUEST['wpi_sub'] ) : 'main'; |
|
315 | + $settings_class[] = isset($_REQUEST['wpi_sub']) && $_REQUEST['wpi_sub'] !== '' ? sanitize_text_field($_REQUEST['wpi_sub']) : 'main'; |
|
316 | 316 | } |
317 | 317 | |
318 | - if ( !empty( $settings_class ) ) { |
|
319 | - $classes .= ' wpi-' . wpinv_sanitize_key( implode( $settings_class, '-' ) ); |
|
318 | + if (!empty($settings_class)) { |
|
319 | + $classes .= ' wpi-' . wpinv_sanitize_key(implode($settings_class, '-')); |
|
320 | 320 | } |
321 | 321 | |
322 | 322 | $post_type = wpinv_admin_post_type(); |
323 | 323 | |
324 | - if ( $post_type == 'wpi_invoice' || $post_type == 'wpi_quote' || $add_class !== false ) { |
|
324 | + if ($post_type == 'wpi_invoice' || $post_type == 'wpi_quote' || $add_class !== false) { |
|
325 | 325 | return $classes .= ' wpinv'; |
326 | 326 | } else { |
327 | 327 | return $classes; |
@@ -333,26 +333,26 @@ discard block |
||
333 | 333 | public function admin_print_scripts_edit_php() { |
334 | 334 | $post_type = wpinv_admin_post_type(); |
335 | 335 | |
336 | - if ( $post_type == 'wpi_item' ) { |
|
337 | - wp_enqueue_script( 'wpinv-inline-edit-post', WPINV_PLUGIN_URL . 'assets/js/quick-edit.js', array( 'jquery', 'inline-edit-post' ), '', true ); |
|
336 | + if ($post_type == 'wpi_item') { |
|
337 | + wp_enqueue_script('wpinv-inline-edit-post', WPINV_PLUGIN_URL . 'assets/js/quick-edit.js', array('jquery', 'inline-edit-post'), '', true); |
|
338 | 338 | } |
339 | 339 | } |
340 | 340 | |
341 | 341 | public function wpinv_actions() { |
342 | - if ( isset( $_REQUEST['wpi_action'] ) ) { |
|
343 | - do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST ); |
|
342 | + if (isset($_REQUEST['wpi_action'])) { |
|
343 | + do_action('wpinv_' . wpinv_sanitize_key($_REQUEST['wpi_action']), $_REQUEST); |
|
344 | 344 | } |
345 | 345 | } |
346 | 346 | |
347 | - public function pre_get_posts( $wp_query ) { |
|
348 | - 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() ) { |
|
349 | - $wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses() ); |
|
347 | + public function pre_get_posts($wp_query) { |
|
348 | + 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()) { |
|
349 | + $wp_query->query_vars['post_status'] = array_keys(wpinv_get_invoice_statuses()); |
|
350 | 350 | } |
351 | 351 | |
352 | 352 | return $wp_query; |
353 | 353 | } |
354 | 354 | |
355 | 355 | public function bp_invoicing_init() { |
356 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-bp-core.php' ); |
|
356 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-bp-core.php'); |
|
357 | 357 | } |
358 | 358 | } |
359 | 359 | \ No newline at end of file |
@@ -7,28 +7,28 @@ discard block |
||
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_Ajax { |
15 | 15 | public static function init() { |
16 | - add_action( 'init', array( __CLASS__, 'define_ajax' ), 0 ); |
|
17 | - add_action( 'template_redirect', array( __CLASS__, 'do_wpinv_ajax' ), 0 ); |
|
16 | + add_action('init', array(__CLASS__, 'define_ajax'), 0); |
|
17 | + add_action('template_redirect', array(__CLASS__, 'do_wpinv_ajax'), 0); |
|
18 | 18 | self::add_ajax_events(); |
19 | 19 | } |
20 | 20 | |
21 | 21 | public static function define_ajax() { |
22 | - if ( !empty( $_GET['wpinv-ajax'] ) ) { |
|
23 | - if ( ! defined( 'DOING_AJAX' ) ) { |
|
24 | - define( 'DOING_AJAX', true ); |
|
22 | + if (!empty($_GET['wpinv-ajax'])) { |
|
23 | + if (!defined('DOING_AJAX')) { |
|
24 | + define('DOING_AJAX', true); |
|
25 | 25 | } |
26 | - if ( ! defined( 'WC_DOING_AJAX' ) ) { |
|
27 | - define( 'WC_DOING_AJAX', true ); |
|
26 | + if (!defined('WC_DOING_AJAX')) { |
|
27 | + define('WC_DOING_AJAX', true); |
|
28 | 28 | } |
29 | 29 | // Turn off display_errors during AJAX events to prevent malformed JSON |
30 | - if ( ! WP_DEBUG || ( WP_DEBUG && ! WP_DEBUG_DISPLAY ) ) { |
|
31 | - @ini_set( 'display_errors', 0 ); |
|
30 | + if (!WP_DEBUG || (WP_DEBUG && !WP_DEBUG_DISPLAY)) { |
|
31 | + @ini_set('display_errors', 0); |
|
32 | 32 | } |
33 | 33 | $GLOBALS['wpdb']->hide_errors(); |
34 | 34 | } |
@@ -37,24 +37,24 @@ discard block |
||
37 | 37 | public static function do_wpinv_ajax() { |
38 | 38 | global $wp_query; |
39 | 39 | |
40 | - if ( !empty( $_GET['wpinv-ajax'] ) ) { |
|
41 | - $wp_query->set( 'wpinv-ajax', sanitize_text_field( $_GET['wpinv-ajax'] ) ); |
|
40 | + if (!empty($_GET['wpinv-ajax'])) { |
|
41 | + $wp_query->set('wpinv-ajax', sanitize_text_field($_GET['wpinv-ajax'])); |
|
42 | 42 | } |
43 | 43 | |
44 | - if ( $action = $wp_query->get( 'wpinv-ajax' ) ) { |
|
44 | + if ($action = $wp_query->get('wpinv-ajax')) { |
|
45 | 45 | self::wpinv_ajax_headers(); |
46 | - do_action( 'wpinv_ajax_' . sanitize_text_field( $action ) ); |
|
46 | + do_action('wpinv_ajax_' . sanitize_text_field($action)); |
|
47 | 47 | die(); |
48 | 48 | } |
49 | 49 | } |
50 | 50 | |
51 | 51 | private static function wpinv_ajax_headers() { |
52 | 52 | send_origin_headers(); |
53 | - @header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) ); |
|
54 | - @header( 'X-Robots-Tag: noindex' ); |
|
53 | + @header('Content-Type: text/html; charset=' . get_option('blog_charset')); |
|
54 | + @header('X-Robots-Tag: noindex'); |
|
55 | 55 | send_nosniff_header(); |
56 | 56 | nocache_headers(); |
57 | - status_header( 200 ); |
|
57 | + status_header(200); |
|
58 | 58 | } |
59 | 59 | |
60 | 60 | public static function add_ajax_events() { |
@@ -76,39 +76,39 @@ discard block |
||
76 | 76 | 'remove_discount' => false, |
77 | 77 | ); |
78 | 78 | |
79 | - foreach ( $ajax_events as $ajax_event => $nopriv ) { |
|
80 | - add_action( 'wp_ajax_wpinv_' . $ajax_event, array( __CLASS__, $ajax_event ) ); |
|
79 | + foreach ($ajax_events as $ajax_event => $nopriv) { |
|
80 | + add_action('wp_ajax_wpinv_' . $ajax_event, array(__CLASS__, $ajax_event)); |
|
81 | 81 | |
82 | - if ( !defined( 'WPI_AJAX_' . strtoupper( $nopriv ) ) ) { |
|
83 | - define( 'WPI_AJAX_' . strtoupper( $nopriv ), 1 ); |
|
82 | + if (!defined('WPI_AJAX_' . strtoupper($nopriv))) { |
|
83 | + define('WPI_AJAX_' . strtoupper($nopriv), 1); |
|
84 | 84 | } |
85 | 85 | |
86 | - if ( $nopriv ) { |
|
87 | - add_action( 'wp_ajax_nopriv_wpinv_' . $ajax_event, array( __CLASS__, $ajax_event ) ); |
|
86 | + if ($nopriv) { |
|
87 | + add_action('wp_ajax_nopriv_wpinv_' . $ajax_event, array(__CLASS__, $ajax_event)); |
|
88 | 88 | |
89 | - add_action( 'wpinv_ajax_' . $ajax_event, array( __CLASS__, $ajax_event ) ); |
|
89 | + add_action('wpinv_ajax_' . $ajax_event, array(__CLASS__, $ajax_event)); |
|
90 | 90 | } |
91 | 91 | } |
92 | 92 | } |
93 | 93 | |
94 | 94 | public static function add_note() { |
95 | - check_ajax_referer( 'add-invoice-note', '_nonce' ); |
|
95 | + check_ajax_referer('add-invoice-note', '_nonce'); |
|
96 | 96 | |
97 | - if ( !current_user_can( 'manage_options' ) ) { |
|
97 | + if (!current_user_can('manage_options')) { |
|
98 | 98 | die(-1); |
99 | 99 | } |
100 | 100 | |
101 | - $post_id = absint( $_POST['post_id'] ); |
|
102 | - $note = wp_kses_post( trim( stripslashes( $_POST['note'] ) ) ); |
|
103 | - $note_type = sanitize_text_field( $_POST['note_type'] ); |
|
101 | + $post_id = absint($_POST['post_id']); |
|
102 | + $note = wp_kses_post(trim(stripslashes($_POST['note']))); |
|
103 | + $note_type = sanitize_text_field($_POST['note_type']); |
|
104 | 104 | |
105 | 105 | $is_customer_note = $note_type == 'customer' ? 1 : 0; |
106 | 106 | |
107 | - if ( $post_id > 0 ) { |
|
108 | - $note_id = wpinv_insert_payment_note( $post_id, $note, $is_customer_note ); |
|
107 | + if ($post_id > 0) { |
|
108 | + $note_id = wpinv_insert_payment_note($post_id, $note, $is_customer_note); |
|
109 | 109 | |
110 | - if ( $note_id > 0 && !is_wp_error( $note_id ) ) { |
|
111 | - wpinv_get_invoice_note_line_item( $note_id ); |
|
110 | + if ($note_id > 0 && !is_wp_error($note_id)) { |
|
111 | + wpinv_get_invoice_note_line_item($note_id); |
|
112 | 112 | } |
113 | 113 | } |
114 | 114 | |
@@ -116,16 +116,16 @@ discard block |
||
116 | 116 | } |
117 | 117 | |
118 | 118 | public static function delete_note() { |
119 | - check_ajax_referer( 'delete-invoice-note', '_nonce' ); |
|
119 | + check_ajax_referer('delete-invoice-note', '_nonce'); |
|
120 | 120 | |
121 | - if ( !current_user_can( 'manage_options' ) ) { |
|
121 | + if (!current_user_can('manage_options')) { |
|
122 | 122 | die(-1); |
123 | 123 | } |
124 | 124 | |
125 | 125 | $note_id = (int)$_POST['note_id']; |
126 | 126 | |
127 | - if ( $note_id > 0 ) { |
|
128 | - wp_delete_comment( $note_id, true ); |
|
127 | + if ($note_id > 0) { |
|
128 | + wp_delete_comment($note_id, true); |
|
129 | 129 | } |
130 | 130 | |
131 | 131 | die(); |
@@ -138,8 +138,8 @@ discard block |
||
138 | 138 | } |
139 | 139 | |
140 | 140 | public static function checkout() { |
141 | - if ( ! defined( 'WPINV_CHECKOUT' ) ) { |
|
142 | - define( 'WPINV_CHECKOUT', true ); |
|
141 | + if (!defined('WPINV_CHECKOUT')) { |
|
142 | + define('WPINV_CHECKOUT', true); |
|
143 | 143 | } |
144 | 144 | |
145 | 145 | wpinv_process_checkout(); |
@@ -148,53 +148,53 @@ discard block |
||
148 | 148 | |
149 | 149 | public static function add_invoice_item() { |
150 | 150 | global $wpi_userID, $wpinv_ip_address_country; |
151 | - check_ajax_referer( 'invoice-item', '_nonce' ); |
|
152 | - if ( !current_user_can( 'manage_options' ) ) { |
|
151 | + check_ajax_referer('invoice-item', '_nonce'); |
|
152 | + if (!current_user_can('manage_options')) { |
|
153 | 153 | die(-1); |
154 | 154 | } |
155 | 155 | |
156 | - $item_id = sanitize_text_field( $_POST['item_id'] ); |
|
157 | - $invoice_id = absint( $_POST['invoice_id'] ); |
|
156 | + $item_id = sanitize_text_field($_POST['item_id']); |
|
157 | + $invoice_id = absint($_POST['invoice_id']); |
|
158 | 158 | |
159 | - if ( !is_numeric( $invoice_id ) || !is_numeric( $item_id ) ) { |
|
159 | + if (!is_numeric($invoice_id) || !is_numeric($item_id)) { |
|
160 | 160 | die(); |
161 | 161 | } |
162 | 162 | |
163 | - $invoice = wpinv_get_invoice( $invoice_id ); |
|
164 | - if ( empty( $invoice ) ) { |
|
163 | + $invoice = wpinv_get_invoice($invoice_id); |
|
164 | + if (empty($invoice)) { |
|
165 | 165 | die(); |
166 | 166 | } |
167 | 167 | |
168 | - if ( $invoice->is_paid() ) { |
|
168 | + if ($invoice->is_paid()) { |
|
169 | 169 | die(); // Don't allow modify items for paid invoice. |
170 | 170 | } |
171 | 171 | |
172 | - if ( !empty( $_POST['user_id'] ) ) { |
|
173 | - $wpi_userID = absint( $_POST['user_id'] ); |
|
172 | + if (!empty($_POST['user_id'])) { |
|
173 | + $wpi_userID = absint($_POST['user_id']); |
|
174 | 174 | } |
175 | 175 | |
176 | - $item = new WPInv_Item( $item_id ); |
|
177 | - if ( !( !empty( $item ) && $item->post_type == 'wpi_item' ) ) { |
|
176 | + $item = new WPInv_Item($item_id); |
|
177 | + if (!(!empty($item) && $item->post_type == 'wpi_item')) { |
|
178 | 178 | die(); |
179 | 179 | } |
180 | 180 | |
181 | 181 | // Validate item before adding to invoice because recurring item must be paid individually. |
182 | - if ( !empty( $invoice->cart_details ) ) { |
|
182 | + if (!empty($invoice->cart_details)) { |
|
183 | 183 | $valid = true; |
184 | 184 | |
185 | - if ( $recurring_item = $invoice->get_recurring() ) { |
|
186 | - if ( $recurring_item != $item_id ) { |
|
185 | + if ($recurring_item = $invoice->get_recurring()) { |
|
186 | + if ($recurring_item != $item_id) { |
|
187 | 187 | $valid = false; |
188 | 188 | } |
189 | - } else if ( wpinv_is_recurring_item( $item_id ) ) { |
|
189 | + } else if (wpinv_is_recurring_item($item_id)) { |
|
190 | 190 | $valid = false; |
191 | 191 | } |
192 | 192 | |
193 | - if ( !$valid ) { |
|
193 | + if (!$valid) { |
|
194 | 194 | $response = array(); |
195 | 195 | $response['success'] = false; |
196 | - $response['msg'] = __( 'You can not add item to invoice because recurring item must be paid individually!', 'invoicing' ); |
|
197 | - wp_send_json( $response ); |
|
196 | + $response['msg'] = __('You can not add item to invoice because recurring item must be paid individually!', 'invoicing'); |
|
197 | + wp_send_json($response); |
|
198 | 198 | } |
199 | 199 | } |
200 | 200 | |
@@ -202,9 +202,9 @@ discard block |
||
202 | 202 | |
203 | 203 | $data = array(); |
204 | 204 | $data['invoice_id'] = $invoice_id; |
205 | - $data['cart_discounts'] = $invoice->get_discounts( true ); |
|
205 | + $data['cart_discounts'] = $invoice->get_discounts(true); |
|
206 | 206 | |
207 | - wpinv_set_checkout_session( $data ); |
|
207 | + wpinv_set_checkout_session($data); |
|
208 | 208 | |
209 | 209 | $quantity = wpinv_item_quantities_enabled() && !empty($_POST['qty']) && (int)$_POST['qty'] > 0 ? (int)$_POST['qty'] : 1; |
210 | 210 | |
@@ -218,21 +218,21 @@ discard block |
||
218 | 218 | 'fees' => array() |
219 | 219 | ); |
220 | 220 | |
221 | - $invoice->add_item( $item_id, $args ); |
|
221 | + $invoice->add_item($item_id, $args); |
|
222 | 222 | $invoice->save(); |
223 | 223 | |
224 | - if ( empty( $_POST['country'] ) ) { |
|
224 | + if (empty($_POST['country'])) { |
|
225 | 225 | $_POST['country'] = !empty($invoice->country) ? $invoice->country : wpinv_get_default_country(); |
226 | 226 | } |
227 | - if ( empty( $_POST['state'] ) ) { |
|
227 | + if (empty($_POST['state'])) { |
|
228 | 228 | $_POST['state'] = $invoice->state; |
229 | 229 | } |
230 | 230 | |
231 | - $invoice->country = sanitize_text_field( $_POST['country'] ); |
|
232 | - $invoice->state = sanitize_text_field( $_POST['state'] ); |
|
231 | + $invoice->country = sanitize_text_field($_POST['country']); |
|
232 | + $invoice->state = sanitize_text_field($_POST['state']); |
|
233 | 233 | |
234 | - $invoice->set( 'country', sanitize_text_field( $_POST['country'] ) ); |
|
235 | - $invoice->set( 'state', sanitize_text_field( $_POST['state'] ) ); |
|
234 | + $invoice->set('country', sanitize_text_field($_POST['country'])); |
|
235 | + $invoice->set('state', sanitize_text_field($_POST['state'])); |
|
236 | 236 | |
237 | 237 | $wpinv_ip_address_country = $invoice->country; |
238 | 238 | |
@@ -240,52 +240,52 @@ discard block |
||
240 | 240 | |
241 | 241 | $response = array(); |
242 | 242 | $response['success'] = true; |
243 | - $response['data']['items'] = wpinv_admin_get_line_items( $invoice ); |
|
243 | + $response['data']['items'] = wpinv_admin_get_line_items($invoice); |
|
244 | 244 | $response['data']['subtotal'] = $invoice->get_subtotal(); |
245 | 245 | $response['data']['subtotalf'] = $invoice->get_subtotal(true); |
246 | 246 | $response['data']['tax'] = $invoice->get_tax(); |
247 | 247 | $response['data']['taxf'] = $invoice->get_tax(true); |
248 | 248 | $response['data']['discount'] = $invoice->discount; |
249 | - $response['data']['discountf'] = wpinv_price( $invoice->discount, $invoice->get_currency() ); |
|
249 | + $response['data']['discountf'] = wpinv_price($invoice->discount, $invoice->get_currency()); |
|
250 | 250 | $response['data']['total'] = $invoice->get_total(); |
251 | 251 | $response['data']['totalf'] = $invoice->get_total(true); |
252 | 252 | |
253 | 253 | wpinv_set_checkout_session($checkout_session); |
254 | 254 | |
255 | - wp_send_json( $response ); |
|
255 | + wp_send_json($response); |
|
256 | 256 | } |
257 | 257 | |
258 | 258 | public static function remove_invoice_item() { |
259 | 259 | global $wpi_userID, $wpinv_ip_address_country; |
260 | 260 | |
261 | - check_ajax_referer( 'invoice-item', '_nonce' ); |
|
262 | - if ( !current_user_can( 'manage_options' ) ) { |
|
261 | + check_ajax_referer('invoice-item', '_nonce'); |
|
262 | + if (!current_user_can('manage_options')) { |
|
263 | 263 | die(-1); |
264 | 264 | } |
265 | 265 | |
266 | - $item_id = sanitize_text_field( $_POST['item_id'] ); |
|
267 | - $invoice_id = absint( $_POST['invoice_id'] ); |
|
268 | - $cart_index = isset( $_POST['index'] ) && $_POST['index'] >= 0 ? $_POST['index'] : false; |
|
266 | + $item_id = sanitize_text_field($_POST['item_id']); |
|
267 | + $invoice_id = absint($_POST['invoice_id']); |
|
268 | + $cart_index = isset($_POST['index']) && $_POST['index'] >= 0 ? $_POST['index'] : false; |
|
269 | 269 | |
270 | - if ( !is_numeric( $invoice_id ) || !is_numeric( $item_id ) ) { |
|
270 | + if (!is_numeric($invoice_id) || !is_numeric($item_id)) { |
|
271 | 271 | die(); |
272 | 272 | } |
273 | 273 | |
274 | - $invoice = wpinv_get_invoice( $invoice_id ); |
|
275 | - if ( empty( $invoice ) ) { |
|
274 | + $invoice = wpinv_get_invoice($invoice_id); |
|
275 | + if (empty($invoice)) { |
|
276 | 276 | die(); |
277 | 277 | } |
278 | 278 | |
279 | - if ( $invoice->is_paid() ) { |
|
279 | + if ($invoice->is_paid()) { |
|
280 | 280 | die(); // Don't allow modify items for paid invoice. |
281 | 281 | } |
282 | 282 | |
283 | - if ( !empty( $_POST['user_id'] ) ) { |
|
284 | - $wpi_userID = absint( $_POST['user_id'] ); |
|
283 | + if (!empty($_POST['user_id'])) { |
|
284 | + $wpi_userID = absint($_POST['user_id']); |
|
285 | 285 | } |
286 | 286 | |
287 | - $item = new WPInv_Item( $item_id ); |
|
288 | - if ( !( !empty( $item ) && $item->post_type == 'wpi_item' ) ) { |
|
287 | + $item = new WPInv_Item($item_id); |
|
288 | + if (!(!empty($item) && $item->post_type == 'wpi_item')) { |
|
289 | 289 | die(); |
290 | 290 | } |
291 | 291 | |
@@ -293,9 +293,9 @@ discard block |
||
293 | 293 | |
294 | 294 | $data = array(); |
295 | 295 | $data['invoice_id'] = $invoice_id; |
296 | - $data['cart_discounts'] = $invoice->get_discounts( true ); |
|
296 | + $data['cart_discounts'] = $invoice->get_discounts(true); |
|
297 | 297 | |
298 | - wpinv_set_checkout_session( $data ); |
|
298 | + wpinv_set_checkout_session($data); |
|
299 | 299 | |
300 | 300 | $args = array( |
301 | 301 | 'id' => $item_id, |
@@ -303,21 +303,21 @@ discard block |
||
303 | 303 | 'cart_index' => $cart_index |
304 | 304 | ); |
305 | 305 | |
306 | - $invoice->remove_item( $item_id, $args ); |
|
306 | + $invoice->remove_item($item_id, $args); |
|
307 | 307 | $invoice->save(); |
308 | 308 | |
309 | - if ( empty( $_POST['country'] ) ) { |
|
309 | + if (empty($_POST['country'])) { |
|
310 | 310 | $_POST['country'] = !empty($invoice->country) ? $invoice->country : wpinv_get_default_country(); |
311 | 311 | } |
312 | - if ( empty( $_POST['state'] ) ) { |
|
312 | + if (empty($_POST['state'])) { |
|
313 | 313 | $_POST['state'] = $invoice->state; |
314 | 314 | } |
315 | 315 | |
316 | - $invoice->country = sanitize_text_field( $_POST['country'] ); |
|
317 | - $invoice->state = sanitize_text_field( $_POST['state'] ); |
|
316 | + $invoice->country = sanitize_text_field($_POST['country']); |
|
317 | + $invoice->state = sanitize_text_field($_POST['state']); |
|
318 | 318 | |
319 | - $invoice->set( 'country', sanitize_text_field( $_POST['country'] ) ); |
|
320 | - $invoice->set( 'state', sanitize_text_field( $_POST['state'] ) ); |
|
319 | + $invoice->set('country', sanitize_text_field($_POST['country'])); |
|
320 | + $invoice->set('state', sanitize_text_field($_POST['state'])); |
|
321 | 321 | |
322 | 322 | $wpinv_ip_address_country = $invoice->country; |
323 | 323 | |
@@ -325,52 +325,52 @@ discard block |
||
325 | 325 | |
326 | 326 | $response = array(); |
327 | 327 | $response['success'] = true; |
328 | - $response['data']['items'] = wpinv_admin_get_line_items( $invoice ); |
|
328 | + $response['data']['items'] = wpinv_admin_get_line_items($invoice); |
|
329 | 329 | $response['data']['subtotal'] = $invoice->get_subtotal(); |
330 | 330 | $response['data']['subtotalf'] = $invoice->get_subtotal(true); |
331 | 331 | $response['data']['tax'] = $invoice->get_tax(); |
332 | 332 | $response['data']['taxf'] = $invoice->get_tax(true); |
333 | 333 | $response['data']['discount'] = $invoice->discount; |
334 | - $response['data']['discountf'] = wpinv_price( $invoice->discount, $invoice->get_currency() ); |
|
334 | + $response['data']['discountf'] = wpinv_price($invoice->discount, $invoice->get_currency()); |
|
335 | 335 | $response['data']['total'] = $invoice->get_total(); |
336 | 336 | $response['data']['totalf'] = $invoice->get_total(true); |
337 | 337 | |
338 | 338 | wpinv_set_checkout_session($checkout_session); |
339 | 339 | |
340 | - wp_send_json( $response ); |
|
340 | + wp_send_json($response); |
|
341 | 341 | } |
342 | 342 | |
343 | 343 | public static function create_invoice_item() { |
344 | - check_ajax_referer( 'invoice-item', '_nonce' ); |
|
345 | - if ( !current_user_can( 'manage_options' ) ) { |
|
344 | + check_ajax_referer('invoice-item', '_nonce'); |
|
345 | + if (!current_user_can('manage_options')) { |
|
346 | 346 | die(-1); |
347 | 347 | } |
348 | 348 | |
349 | - $invoice_id = absint( $_POST['invoice_id'] ); |
|
349 | + $invoice_id = absint($_POST['invoice_id']); |
|
350 | 350 | |
351 | 351 | // Find the item |
352 | - if ( !is_numeric( $invoice_id ) ) { |
|
352 | + if (!is_numeric($invoice_id)) { |
|
353 | 353 | die(); |
354 | 354 | } |
355 | 355 | |
356 | - $invoice = wpinv_get_invoice( $invoice_id ); |
|
357 | - if ( empty( $invoice ) ) { |
|
356 | + $invoice = wpinv_get_invoice($invoice_id); |
|
357 | + if (empty($invoice)) { |
|
358 | 358 | die(); |
359 | 359 | } |
360 | 360 | |
361 | 361 | // Validate item before adding to invoice because recurring item must be paid individually. |
362 | - if ( !empty( $invoice->cart_details ) && $invoice->get_recurring() ) { |
|
362 | + if (!empty($invoice->cart_details) && $invoice->get_recurring()) { |
|
363 | 363 | $response = array(); |
364 | 364 | $response['success'] = false; |
365 | - $response['msg'] = __( 'You can not add item to invoice because recurring item must be paid individually!', 'invoicing' ); |
|
366 | - wp_send_json( $response ); |
|
365 | + $response['msg'] = __('You can not add item to invoice because recurring item must be paid individually!', 'invoicing'); |
|
366 | + wp_send_json($response); |
|
367 | 367 | } |
368 | 368 | |
369 | 369 | $save_item = $_POST['_wpinv_quick']; |
370 | 370 | |
371 | 371 | $meta = array(); |
372 | 372 | $meta['type'] = !empty($save_item['type']) ? sanitize_text_field($save_item['type']) : 'custom'; |
373 | - $meta['price'] = !empty($save_item['price']) ? wpinv_sanitize_amount( $save_item['price'] ) : 0; |
|
373 | + $meta['price'] = !empty($save_item['price']) ? wpinv_sanitize_amount($save_item['price']) : 0; |
|
374 | 374 | $meta['vat_rule'] = !empty($save_item['vat_rule']) ? sanitize_text_field($save_item['vat_rule']) : 'digital'; |
375 | 375 | $meta['vat_class'] = !empty($save_item['vat_class']) ? sanitize_text_field($save_item['vat_class']) : '_standard'; |
376 | 376 | |
@@ -380,9 +380,9 @@ discard block |
||
380 | 380 | $data['meta'] = $meta; |
381 | 381 | |
382 | 382 | $item = new WPInv_Item(); |
383 | - $item->create( $data ); |
|
383 | + $item->create($data); |
|
384 | 384 | |
385 | - if ( !empty( $item ) ) { |
|
385 | + if (!empty($item)) { |
|
386 | 386 | $_POST['item_id'] = $item->ID; |
387 | 387 | $_POST['qty'] = !empty($save_item['qty']) && $save_item['qty'] > 0 ? (int)$save_item['qty'] : 1; |
388 | 388 | |
@@ -392,15 +392,15 @@ discard block |
||
392 | 392 | } |
393 | 393 | |
394 | 394 | public static function get_billing_details() { |
395 | - check_ajax_referer( 'get-billing-details', '_nonce' ); |
|
395 | + check_ajax_referer('get-billing-details', '_nonce'); |
|
396 | 396 | |
397 | - if ( !current_user_can( 'manage_options' ) ) { |
|
397 | + if (!current_user_can('manage_options')) { |
|
398 | 398 | die(-1); |
399 | 399 | } |
400 | 400 | |
401 | 401 | $user_id = (int)$_POST['user_id']; |
402 | 402 | $billing_details = wpinv_get_user_address($user_id); |
403 | - $billing_details = apply_filters( 'wpinv_fill_billing_details', $billing_details, $user_id ); |
|
403 | + $billing_details = apply_filters('wpinv_fill_billing_details', $billing_details, $user_id); |
|
404 | 404 | |
405 | 405 | if (isset($billing_details['user_id'])) { |
406 | 406 | unset($billing_details['user_id']); |
@@ -414,20 +414,20 @@ discard block |
||
414 | 414 | $response['success'] = true; |
415 | 415 | $response['data']['billing_details'] = $billing_details; |
416 | 416 | |
417 | - wp_send_json( $response ); |
|
417 | + wp_send_json($response); |
|
418 | 418 | } |
419 | 419 | |
420 | 420 | public static function admin_recalculate_totals() { |
421 | 421 | global $wpi_userID, $wpinv_ip_address_country; |
422 | 422 | |
423 | - check_ajax_referer( 'wpinv-nonce', '_nonce' ); |
|
424 | - if ( !current_user_can( 'manage_options' ) ) { |
|
423 | + check_ajax_referer('wpinv-nonce', '_nonce'); |
|
424 | + if (!current_user_can('manage_options')) { |
|
425 | 425 | die(-1); |
426 | 426 | } |
427 | 427 | |
428 | - $invoice_id = absint( $_POST['invoice_id'] ); |
|
429 | - $invoice = wpinv_get_invoice( $invoice_id ); |
|
430 | - if ( empty( $invoice ) ) { |
|
428 | + $invoice_id = absint($_POST['invoice_id']); |
|
429 | + $invoice = wpinv_get_invoice($invoice_id); |
|
430 | + if (empty($invoice)) { |
|
431 | 431 | die(); |
432 | 432 | } |
433 | 433 | |
@@ -435,23 +435,23 @@ discard block |
||
435 | 435 | |
436 | 436 | $data = array(); |
437 | 437 | $data['invoice_id'] = $invoice_id; |
438 | - $data['cart_discounts'] = $invoice->get_discounts( true ); |
|
438 | + $data['cart_discounts'] = $invoice->get_discounts(true); |
|
439 | 439 | |
440 | - wpinv_set_checkout_session( $data ); |
|
440 | + wpinv_set_checkout_session($data); |
|
441 | 441 | |
442 | - if ( !empty( $_POST['user_id'] ) ) { |
|
443 | - $wpi_userID = absint( $_POST['user_id'] ); |
|
442 | + if (!empty($_POST['user_id'])) { |
|
443 | + $wpi_userID = absint($_POST['user_id']); |
|
444 | 444 | } |
445 | 445 | |
446 | - if ( empty( $_POST['country'] ) ) { |
|
446 | + if (empty($_POST['country'])) { |
|
447 | 447 | $_POST['country'] = !empty($invoice->country) ? $invoice->country : wpinv_get_default_country(); |
448 | 448 | } |
449 | 449 | |
450 | - $invoice->country = sanitize_text_field( $_POST['country'] ); |
|
451 | - $invoice->set( 'country', sanitize_text_field( $_POST['country'] ) ); |
|
452 | - if ( isset( $_POST['state'] ) ) { |
|
453 | - $invoice->state = sanitize_text_field( $_POST['state'] ); |
|
454 | - $invoice->set( 'state', sanitize_text_field( $_POST['state'] ) ); |
|
450 | + $invoice->country = sanitize_text_field($_POST['country']); |
|
451 | + $invoice->set('country', sanitize_text_field($_POST['country'])); |
|
452 | + if (isset($_POST['state'])) { |
|
453 | + $invoice->state = sanitize_text_field($_POST['state']); |
|
454 | + $invoice->set('state', sanitize_text_field($_POST['state'])); |
|
455 | 455 | } |
456 | 456 | |
457 | 457 | $wpinv_ip_address_country = $invoice->country; |
@@ -460,7 +460,7 @@ discard block |
||
460 | 460 | |
461 | 461 | $response = array(); |
462 | 462 | $response['success'] = true; |
463 | - $response['data']['items'] = wpinv_admin_get_line_items( $invoice ); |
|
463 | + $response['data']['items'] = wpinv_admin_get_line_items($invoice); |
|
464 | 464 | $response['data']['subtotal'] = $invoice->get_subtotal(); |
465 | 465 | $response['data']['subtotalf'] = $invoice->get_subtotal(true); |
466 | 466 | $response['data']['tax'] = $invoice->get_tax(); |
@@ -472,25 +472,25 @@ discard block |
||
472 | 472 | |
473 | 473 | wpinv_set_checkout_session($checkout_session); |
474 | 474 | |
475 | - wp_send_json( $response ); |
|
475 | + wp_send_json($response); |
|
476 | 476 | } |
477 | 477 | |
478 | 478 | public static function admin_apply_discount() { |
479 | 479 | global $wpi_userID; |
480 | 480 | |
481 | - check_ajax_referer( 'wpinv-nonce', '_nonce' ); |
|
482 | - if ( !current_user_can( 'manage_options' ) ) { |
|
481 | + check_ajax_referer('wpinv-nonce', '_nonce'); |
|
482 | + if (!current_user_can('manage_options')) { |
|
483 | 483 | die(-1); |
484 | 484 | } |
485 | 485 | |
486 | - $invoice_id = absint( $_POST['invoice_id'] ); |
|
487 | - $discount_code = sanitize_text_field( $_POST['code'] ); |
|
488 | - if ( empty( $invoice_id ) || empty( $discount_code ) ) { |
|
486 | + $invoice_id = absint($_POST['invoice_id']); |
|
487 | + $discount_code = sanitize_text_field($_POST['code']); |
|
488 | + if (empty($invoice_id) || empty($discount_code)) { |
|
489 | 489 | die(); |
490 | 490 | } |
491 | 491 | |
492 | - $invoice = wpinv_get_invoice( $invoice_id ); |
|
493 | - if ( empty( $invoice ) || ( !empty( $invoice ) && $invoice->is_paid() ) ) { |
|
492 | + $invoice = wpinv_get_invoice($invoice_id); |
|
493 | + if (empty($invoice) || (!empty($invoice) && $invoice->is_paid())) { |
|
494 | 494 | die(); |
495 | 495 | } |
496 | 496 | |
@@ -498,49 +498,49 @@ discard block |
||
498 | 498 | |
499 | 499 | $data = array(); |
500 | 500 | $data['invoice_id'] = $invoice_id; |
501 | - $data['cart_discounts'] = $invoice->get_discounts( true ); |
|
501 | + $data['cart_discounts'] = $invoice->get_discounts(true); |
|
502 | 502 | |
503 | - wpinv_set_checkout_session( $data ); |
|
503 | + wpinv_set_checkout_session($data); |
|
504 | 504 | |
505 | 505 | $response = array(); |
506 | 506 | $response['success'] = false; |
507 | - $response['msg'] = __( 'This discount is invalid.', 'invoicing' ); |
|
507 | + $response['msg'] = __('This discount is invalid.', 'invoicing'); |
|
508 | 508 | $response['data']['code'] = $discount_code; |
509 | 509 | |
510 | - if ( wpinv_is_discount_valid( $discount_code, $invoice->get_user_id() ) ) { |
|
511 | - $discounts = wpinv_set_cart_discount( $discount_code ); |
|
510 | + if (wpinv_is_discount_valid($discount_code, $invoice->get_user_id())) { |
|
511 | + $discounts = wpinv_set_cart_discount($discount_code); |
|
512 | 512 | |
513 | 513 | $response['success'] = true; |
514 | - $response['msg'] = __( 'Discount has been applied successfully.', 'invoicing' ); |
|
515 | - } else { |
|
514 | + $response['msg'] = __('Discount has been applied successfully.', 'invoicing'); |
|
515 | + } else { |
|
516 | 516 | $errors = wpinv_get_errors(); |
517 | - if ( !empty( $errors['wpinv-discount-error'] ) ) { |
|
517 | + if (!empty($errors['wpinv-discount-error'])) { |
|
518 | 518 | $response['msg'] = $errors['wpinv-discount-error']; |
519 | 519 | } |
520 | - wpinv_unset_error( 'wpinv-discount-error' ); |
|
520 | + wpinv_unset_error('wpinv-discount-error'); |
|
521 | 521 | } |
522 | 522 | |
523 | 523 | wpinv_set_checkout_session($checkout_session); |
524 | 524 | |
525 | - wp_send_json( $response ); |
|
525 | + wp_send_json($response); |
|
526 | 526 | } |
527 | 527 | |
528 | 528 | public static function admin_remove_discount() { |
529 | 529 | global $wpi_userID; |
530 | 530 | |
531 | - check_ajax_referer( 'wpinv-nonce', '_nonce' ); |
|
532 | - if ( !current_user_can( 'manage_options' ) ) { |
|
531 | + check_ajax_referer('wpinv-nonce', '_nonce'); |
|
532 | + if (!current_user_can('manage_options')) { |
|
533 | 533 | die(-1); |
534 | 534 | } |
535 | 535 | |
536 | - $invoice_id = absint( $_POST['invoice_id'] ); |
|
537 | - $discount_code = sanitize_text_field( $_POST['code'] ); |
|
538 | - if ( empty( $invoice_id ) || empty( $discount_code ) ) { |
|
536 | + $invoice_id = absint($_POST['invoice_id']); |
|
537 | + $discount_code = sanitize_text_field($_POST['code']); |
|
538 | + if (empty($invoice_id) || empty($discount_code)) { |
|
539 | 539 | die(); |
540 | 540 | } |
541 | 541 | |
542 | - $invoice = wpinv_get_invoice( $invoice_id ); |
|
543 | - if ( empty( $invoice ) || ( !empty( $invoice ) && $invoice->is_paid() ) ) { |
|
542 | + $invoice = wpinv_get_invoice($invoice_id); |
|
543 | + if (empty($invoice) || (!empty($invoice) && $invoice->is_paid())) { |
|
544 | 544 | die(); |
545 | 545 | } |
546 | 546 | |
@@ -548,38 +548,38 @@ discard block |
||
548 | 548 | |
549 | 549 | $data = array(); |
550 | 550 | $data['invoice_id'] = $invoice_id; |
551 | - $data['cart_discounts'] = $invoice->get_discounts( true ); |
|
551 | + $data['cart_discounts'] = $invoice->get_discounts(true); |
|
552 | 552 | |
553 | - wpinv_set_checkout_session( $data ); |
|
553 | + wpinv_set_checkout_session($data); |
|
554 | 554 | |
555 | 555 | $response = array(); |
556 | 556 | $response['success'] = false; |
557 | 557 | $response['msg'] = NULL; |
558 | 558 | |
559 | - $discounts = wpinv_unset_cart_discount( $discount_code ); |
|
559 | + $discounts = wpinv_unset_cart_discount($discount_code); |
|
560 | 560 | $response['success'] = true; |
561 | - $response['msg'] = __( 'Discount has been removed successfully.', 'invoicing' ); |
|
561 | + $response['msg'] = __('Discount has been removed successfully.', 'invoicing'); |
|
562 | 562 | |
563 | 563 | wpinv_set_checkout_session($checkout_session); |
564 | 564 | |
565 | - wp_send_json( $response ); |
|
565 | + wp_send_json($response); |
|
566 | 566 | } |
567 | 567 | |
568 | 568 | public static function check_email() { |
569 | - check_ajax_referer( 'wpinv-nonce', '_nonce' ); |
|
570 | - if ( !current_user_can( 'manage_options' ) ) { |
|
569 | + check_ajax_referer('wpinv-nonce', '_nonce'); |
|
570 | + if (!current_user_can('manage_options')) { |
|
571 | 571 | die(-1); |
572 | 572 | } |
573 | 573 | |
574 | - $email = sanitize_text_field( $_POST['email'] ); |
|
574 | + $email = sanitize_text_field($_POST['email']); |
|
575 | 575 | |
576 | 576 | $response = array(); |
577 | - if ( is_email( $email ) && email_exists( $email ) && $user_data = get_user_by( 'email', $email ) ) { |
|
577 | + if (is_email($email) && email_exists($email) && $user_data = get_user_by('email', $email)) { |
|
578 | 578 | $user_id = $user_data->ID; |
579 | 579 | $user_login = $user_data->user_login; |
580 | 580 | $display_name = $user_data->display_name ? $user_data->display_name : $user_login; |
581 | 581 | $billing_details = wpinv_get_user_address($user_id); |
582 | - $billing_details = apply_filters( 'wpinv_fill_billing_details', $billing_details, $user_id ); |
|
582 | + $billing_details = apply_filters('wpinv_fill_billing_details', $billing_details, $user_id); |
|
583 | 583 | |
584 | 584 | if (isset($billing_details['user_id'])) { |
585 | 585 | unset($billing_details['user_id']); |
@@ -595,31 +595,31 @@ discard block |
||
595 | 595 | $response['data']['billing_details'] = $billing_details; |
596 | 596 | } |
597 | 597 | |
598 | - wp_send_json( $response ); |
|
598 | + wp_send_json($response); |
|
599 | 599 | } |
600 | 600 | |
601 | 601 | public static function run_tool() { |
602 | - check_ajax_referer( 'wpinv-nonce', '_nonce' ); |
|
603 | - if ( !current_user_can( 'manage_options' ) ) { |
|
602 | + check_ajax_referer('wpinv-nonce', '_nonce'); |
|
603 | + if (!current_user_can('manage_options')) { |
|
604 | 604 | die(-1); |
605 | 605 | } |
606 | 606 | |
607 | - $tool = sanitize_text_field( $_POST['tool'] ); |
|
607 | + $tool = sanitize_text_field($_POST['tool']); |
|
608 | 608 | |
609 | - do_action( 'wpinv_run_tool' ); |
|
609 | + do_action('wpinv_run_tool'); |
|
610 | 610 | |
611 | - if ( !empty( $tool ) ) { |
|
612 | - do_action( 'wpinv_tool_' . $tool ); |
|
611 | + if (!empty($tool)) { |
|
612 | + do_action('wpinv_tool_' . $tool); |
|
613 | 613 | } |
614 | 614 | } |
615 | 615 | |
616 | 616 | public static function apply_discount() { |
617 | - check_ajax_referer( 'wpinv-nonce', '_nonce' ); |
|
617 | + check_ajax_referer('wpinv-nonce', '_nonce'); |
|
618 | 618 | |
619 | 619 | $response = array(); |
620 | 620 | |
621 | - if ( isset( $_POST['code'] ) ) { |
|
622 | - $discount_code = sanitize_text_field( $_POST['code'] ); |
|
621 | + if (isset($_POST['code'])) { |
|
622 | + $discount_code = sanitize_text_field($_POST['code']); |
|
623 | 623 | |
624 | 624 | $response['success'] = false; |
625 | 625 | $response['msg'] = ''; |
@@ -627,14 +627,14 @@ discard block |
||
627 | 627 | |
628 | 628 | $user = is_user_logged_in() ? get_current_user_id() : ''; |
629 | 629 | |
630 | - if ( wpinv_is_discount_valid( $discount_code, $user ) ) { |
|
631 | - $discount = wpinv_get_discount_by_code( $discount_code ); |
|
632 | - $discounts = wpinv_set_cart_discount( $discount_code ); |
|
633 | - $amount = wpinv_format_discount_rate( wpinv_get_discount_type( $discount->ID ), wpinv_get_discount_amount( $discount->ID ) ); |
|
634 | - $total = wpinv_get_cart_total( null, $discounts ); |
|
635 | - $cart_totals = wpinv_recalculate_tax( true ); |
|
630 | + if (wpinv_is_discount_valid($discount_code, $user)) { |
|
631 | + $discount = wpinv_get_discount_by_code($discount_code); |
|
632 | + $discounts = wpinv_set_cart_discount($discount_code); |
|
633 | + $amount = wpinv_format_discount_rate(wpinv_get_discount_type($discount->ID), wpinv_get_discount_amount($discount->ID)); |
|
634 | + $total = wpinv_get_cart_total(null, $discounts); |
|
635 | + $cart_totals = wpinv_recalculate_tax(true); |
|
636 | 636 | |
637 | - if ( !empty( $cart_totals ) ) { |
|
637 | + if (!empty($cart_totals)) { |
|
638 | 638 | $response['success'] = true; |
639 | 639 | $response['data'] = $cart_totals; |
640 | 640 | $response['data']['code'] = $discount_code; |
@@ -643,29 +643,29 @@ discard block |
||
643 | 643 | } |
644 | 644 | } else { |
645 | 645 | $errors = wpinv_get_errors(); |
646 | - $response['msg'] = $errors['wpinv-discount-error']; |
|
647 | - wpinv_unset_error( 'wpinv-discount-error' ); |
|
646 | + $response['msg'] = $errors['wpinv-discount-error']; |
|
647 | + wpinv_unset_error('wpinv-discount-error'); |
|
648 | 648 | } |
649 | 649 | |
650 | 650 | // Allow for custom discount code handling |
651 | - $response = apply_filters( 'wpinv_ajax_discount_response', $response ); |
|
651 | + $response = apply_filters('wpinv_ajax_discount_response', $response); |
|
652 | 652 | } |
653 | 653 | |
654 | - wp_send_json( $response ); |
|
654 | + wp_send_json($response); |
|
655 | 655 | } |
656 | 656 | |
657 | 657 | public static function remove_discount() { |
658 | - check_ajax_referer( 'wpinv-nonce', '_nonce' ); |
|
658 | + check_ajax_referer('wpinv-nonce', '_nonce'); |
|
659 | 659 | |
660 | 660 | $response = array(); |
661 | 661 | |
662 | - if ( isset( $_POST['code'] ) ) { |
|
663 | - $discount_code = sanitize_text_field( $_POST['code'] ); |
|
664 | - $discounts = wpinv_unset_cart_discount( $discount_code ); |
|
665 | - $total = wpinv_get_cart_total( null, $discounts ); |
|
666 | - $cart_totals = wpinv_recalculate_tax( true ); |
|
662 | + if (isset($_POST['code'])) { |
|
663 | + $discount_code = sanitize_text_field($_POST['code']); |
|
664 | + $discounts = wpinv_unset_cart_discount($discount_code); |
|
665 | + $total = wpinv_get_cart_total(null, $discounts); |
|
666 | + $cart_totals = wpinv_recalculate_tax(true); |
|
667 | 667 | |
668 | - if ( !empty( $cart_totals ) ) { |
|
668 | + if (!empty($cart_totals)) { |
|
669 | 669 | $response['success'] = true; |
670 | 670 | $response['data'] = $cart_totals; |
671 | 671 | $response['data']['code'] = $discount_code; |
@@ -674,10 +674,10 @@ discard block |
||
674 | 674 | } |
675 | 675 | |
676 | 676 | // Allow for custom discount code handling |
677 | - $response = apply_filters( 'wpinv_ajax_discount_response', $response ); |
|
677 | + $response = apply_filters('wpinv_ajax_discount_response', $response); |
|
678 | 678 | } |
679 | 679 | |
680 | - wp_send_json( $response ); |
|
680 | + wp_send_json($response); |
|
681 | 681 | } |
682 | 682 | } |
683 | 683 |
@@ -1,22 +1,22 @@ discard block |
||
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 | 7 | class WPInv_Meta_Box_Items { |
8 | - public static function output( $post ) { |
|
8 | + public static function output($post) { |
|
9 | 9 | global $wpinv_euvat, $ajax_cart_details; |
10 | 10 | |
11 | - $post_id = !empty( $post->ID ) ? $post->ID : 0; |
|
12 | - $invoice = new WPInv_Invoice( $post_id ); |
|
11 | + $post_id = !empty($post->ID) ? $post->ID : 0; |
|
12 | + $invoice = new WPInv_Invoice($post_id); |
|
13 | 13 | $ajax_cart_details = $invoice->get_cart_details(); |
14 | - $subtotal = $invoice->get_subtotal( true ); |
|
14 | + $subtotal = $invoice->get_subtotal(true); |
|
15 | 15 | $discount_raw = $invoice->get_discount(); |
16 | - $discount = wpinv_price( $discount_raw, $invoice->get_currency() ); |
|
16 | + $discount = wpinv_price($discount_raw, $invoice->get_currency()); |
|
17 | 17 | $discounts = $discount_raw > 0 ? $invoice->get_discounts() : ''; |
18 | - $tax = $invoice->get_tax( true ); |
|
19 | - $total = $invoice->get_total( true ); |
|
18 | + $tax = $invoice->get_tax(true); |
|
19 | + $total = $invoice->get_total(true); |
|
20 | 20 | $item_quantities = wpinv_item_quantities_enabled(); |
21 | 21 | $use_taxes = wpinv_use_taxes(); |
22 | 22 | $item_types = wpinv_get_item_types(); |
@@ -29,17 +29,17 @@ discard block |
||
29 | 29 | } |
30 | 30 | |
31 | 31 | $cols = 5; |
32 | - if ( $item_quantities ) { |
|
32 | + if ($item_quantities) { |
|
33 | 33 | $cols++; |
34 | 34 | } |
35 | - if ( $use_taxes ) { |
|
35 | + if ($use_taxes) { |
|
36 | 36 | $cols++; |
37 | 37 | } |
38 | 38 | $class = ''; |
39 | - if ( $invoice->is_paid() ) { |
|
39 | + if ($invoice->is_paid()) { |
|
40 | 40 | $class .= ' wpinv-paid'; |
41 | 41 | } |
42 | - if ( $is_recurring ) { |
|
42 | + if ($is_recurring) { |
|
43 | 43 | $class .= ' wpi-recurring'; |
44 | 44 | } |
45 | 45 | ?> |
@@ -47,21 +47,21 @@ discard block |
||
47 | 47 | <table id="wpinv_items" class="wpinv-items" cellspacing="0" cellpadding="0"> |
48 | 48 | <thead> |
49 | 49 | <tr> |
50 | - <th class="id"><?php _e( 'ID', 'invoicing' );?></th> |
|
51 | - <th class="title"><?php _e( 'Item', 'invoicing' );?></th> |
|
52 | - <th class="price"><?php _e( 'Price', 'invoicing' );?></th> |
|
53 | - <?php if ( $item_quantities ) { ?> |
|
54 | - <th class="qty"><?php _e( 'Qty', 'invoicing' );?></th> |
|
50 | + <th class="id"><?php _e('ID', 'invoicing'); ?></th> |
|
51 | + <th class="title"><?php _e('Item', 'invoicing'); ?></th> |
|
52 | + <th class="price"><?php _e('Price', 'invoicing'); ?></th> |
|
53 | + <?php if ($item_quantities) { ?> |
|
54 | + <th class="qty"><?php _e('Qty', 'invoicing'); ?></th> |
|
55 | 55 | <?php } ?> |
56 | - <th class="total"><?php _e( 'Total', 'invoicing' );?></th> |
|
57 | - <?php if ( $use_taxes ) { ?> |
|
58 | - <th class="tax"><?php _e( 'Tax (%)', 'invoicing' );?></th> |
|
56 | + <th class="total"><?php _e('Total', 'invoicing'); ?></th> |
|
57 | + <?php if ($use_taxes) { ?> |
|
58 | + <th class="tax"><?php _e('Tax (%)', 'invoicing'); ?></th> |
|
59 | 59 | <?php } ?> |
60 | 60 | <th class="action"></th> |
61 | 61 | </tr> |
62 | 62 | </thead> |
63 | 63 | <tbody class="wpinv-line-items"> |
64 | - <?php echo wpinv_admin_get_line_items( $invoice ); ?> |
|
64 | + <?php echo wpinv_admin_get_line_items($invoice); ?> |
|
65 | 65 | </tbody> |
66 | 66 | <tfoot class="wpinv-totals"> |
67 | 67 | <tr> |
@@ -73,44 +73,44 @@ discard block |
||
73 | 73 | </td> |
74 | 74 | <td class="title"> |
75 | 75 | <input type="text" class="regular-text" placeholder="Item name" value="" name="_wpinv_quick[name]"> |
76 | - <?php if ( $wpinv_euvat->allow_vat_rules() ) { ?> |
|
76 | + <?php if ($wpinv_euvat->allow_vat_rules()) { ?> |
|
77 | 77 | <div class="wp-clearfix"> |
78 | 78 | <label class="wpi-vat-rule"> |
79 | - <span class="title"><?php _e( 'VAT rule type', 'invoicing' );?></span> |
|
79 | + <span class="title"><?php _e('VAT rule type', 'invoicing'); ?></span> |
|
80 | 80 | <span class="input-text-wrap"> |
81 | - <?php echo wpinv_html_select( array( |
|
81 | + <?php echo wpinv_html_select(array( |
|
82 | 82 | 'options' => $wpinv_euvat->get_rules(), |
83 | 83 | 'name' => '_wpinv_quick[vat_rule]', |
84 | 84 | 'id' => '_wpinv_quick_vat_rule', |
85 | 85 | 'show_option_all' => false, |
86 | 86 | 'show_option_none' => false, |
87 | 87 | 'class' => 'gdmbx2-text-medium wpinv-quick-vat-rule', |
88 | - ) ); ?> |
|
88 | + )); ?> |
|
89 | 89 | </span> |
90 | 90 | </label> |
91 | 91 | </div> |
92 | - <?php } if ( $wpinv_euvat->allow_vat_classes() ) { ?> |
|
92 | + <?php } if ($wpinv_euvat->allow_vat_classes()) { ?> |
|
93 | 93 | <div class="wp-clearfix"> |
94 | 94 | <label class="wpi-vat-class"> |
95 | - <span class="title"><?php _e( 'VAT class', 'invoicing' );?></span> |
|
95 | + <span class="title"><?php _e('VAT class', 'invoicing'); ?></span> |
|
96 | 96 | <span class="input-text-wrap"> |
97 | - <?php echo wpinv_html_select( array( |
|
97 | + <?php echo wpinv_html_select(array( |
|
98 | 98 | 'options' => $wpinv_euvat->get_all_classes(), |
99 | 99 | 'name' => '_wpinv_quick[vat_class]', |
100 | 100 | 'id' => '_wpinv_quick_vat_class', |
101 | 101 | 'show_option_all' => false, |
102 | 102 | 'show_option_none' => false, |
103 | 103 | 'class' => 'gdmbx2-text-medium wpinv-quick-vat-class', |
104 | - ) ); ?> |
|
104 | + )); ?> |
|
105 | 105 | </span> |
106 | 106 | </label> |
107 | 107 | </div> |
108 | 108 | <?php } ?> |
109 | 109 | <div class="wp-clearfix"> |
110 | 110 | <label class="wpi-item-type"> |
111 | - <span class="title"><?php _e( 'Item type', 'invoicing' );?></span> |
|
111 | + <span class="title"><?php _e('Item type', 'invoicing'); ?></span> |
|
112 | 112 | <span class="input-text-wrap"> |
113 | - <?php echo wpinv_html_select( array( |
|
113 | + <?php echo wpinv_html_select(array( |
|
114 | 114 | 'options' => $item_types, |
115 | 115 | 'name' => '_wpinv_quick[type]', |
116 | 116 | 'id' => '_wpinv_quick_type', |
@@ -118,7 +118,7 @@ discard block |
||
118 | 118 | 'show_option_all' => false, |
119 | 119 | 'show_option_none' => false, |
120 | 120 | 'class' => 'gdmbx2-text-medium wpinv-quick-type', |
121 | - ) ); ?> |
|
121 | + )); ?> |
|
122 | 122 | </span> |
123 | 123 | </label> |
124 | 124 | </div> |
@@ -131,11 +131,11 @@ discard block |
||
131 | 131 | </div> |
132 | 132 | </td> |
133 | 133 | <td class="price"><input type="text" placeholder="0.00" class="wpi-field-price wpi-price" name="_wpinv_quick[price]" /></td> |
134 | - <?php if ( $item_quantities ) { ?> |
|
134 | + <?php if ($item_quantities) { ?> |
|
135 | 135 | <td class="qty"><input type="number" class="small-text" step="1" min="1" value="1" name="_wpinv_quick[qty]" /></td> |
136 | 136 | <?php } ?> |
137 | 137 | <td class="total"></td> |
138 | - <?php if ( $use_taxes ) { ?> |
|
138 | + <?php if ($use_taxes) { ?> |
|
139 | 139 | <td class="tax"></td> |
140 | 140 | <?php } ?> |
141 | 141 | <td class="action"></td> |
@@ -148,29 +148,29 @@ discard block |
||
148 | 148 | <td colspan="<?php echo $cols; ?>"></td> |
149 | 149 | </tr> |
150 | 150 | <tr class="totals"> |
151 | - <td colspan="<?php echo ( $cols - 4 ); ?>"></td> |
|
151 | + <td colspan="<?php echo ($cols - 4); ?>"></td> |
|
152 | 152 | <td colspan="4"> |
153 | 153 | <table cellspacing="0" cellpadding="0"> |
154 | 154 | <tr class="subtotal"> |
155 | - <td class="name"><?php _e( 'Sub Total:', 'invoicing' );?></td> |
|
156 | - <td class="total"><?php echo $subtotal;?></td> |
|
155 | + <td class="name"><?php _e('Sub Total:', 'invoicing'); ?></td> |
|
156 | + <td class="total"><?php echo $subtotal; ?></td> |
|
157 | 157 | <td class="action"></td> |
158 | 158 | </tr> |
159 | 159 | <tr class="discount"> |
160 | - <td class="name"><?php wpinv_get_discount_label( wpinv_discount_code( $invoice->ID ) ); ?>:</td> |
|
161 | - <td class="total"><?php echo wpinv_discount( $invoice->ID, true, true ); ?></td> |
|
160 | + <td class="name"><?php wpinv_get_discount_label(wpinv_discount_code($invoice->ID)); ?>:</td> |
|
161 | + <td class="total"><?php echo wpinv_discount($invoice->ID, true, true); ?></td> |
|
162 | 162 | <td class="action"></td> |
163 | 163 | </tr> |
164 | - <?php if ( $use_taxes ) { ?> |
|
164 | + <?php if ($use_taxes) { ?> |
|
165 | 165 | <tr class="tax"> |
166 | - <td class="name"><?php _e( 'Tax:', 'invoicing' );?></td> |
|
167 | - <td class="total"><?php echo $tax;?></td> |
|
166 | + <td class="name"><?php _e('Tax:', 'invoicing'); ?></td> |
|
167 | + <td class="total"><?php echo $tax; ?></td> |
|
168 | 168 | <td class="action"></td> |
169 | 169 | </tr> |
170 | 170 | <?php } ?> |
171 | 171 | <tr class="total"> |
172 | - <td class="name"><?php _e( 'Invoice Total:', 'invoicing' );?></td> |
|
173 | - <td class="total"><?php echo $total;?></td> |
|
172 | + <td class="name"><?php _e('Invoice Total:', 'invoicing'); ?></td> |
|
173 | + <td class="total"><?php echo $total; ?></td> |
|
174 | 174 | <td class="action"></td> |
175 | 175 | </tr> |
176 | 176 | </table> |
@@ -180,89 +180,89 @@ discard block |
||
180 | 180 | </table> |
181 | 181 | <div class="wpinv-actions"> |
182 | 182 | <?php |
183 | - if ( !$invoice->is_paid() ) { |
|
184 | - if ( !$invoice->is_recurring() ) { |
|
185 | - echo wpinv_item_dropdown( array( |
|
183 | + if (!$invoice->is_paid()) { |
|
184 | + if (!$invoice->is_recurring()) { |
|
185 | + echo wpinv_item_dropdown(array( |
|
186 | 186 | 'name' => 'wpinv_invoice_item', |
187 | 187 | 'id' => 'wpinv_invoice_item', |
188 | 188 | 'with_packages' => false, |
189 | 189 | 'show_recurring' => true, |
190 | - ) ); |
|
190 | + )); |
|
191 | 191 | ?> |
192 | - <input type="button" value="<?php echo sprintf(esc_attr__( 'Add item to %s', 'invoicing'), $type_title); ?>" class="button button-primary" id="wpinv-add-item"><input type="button" value="<?php esc_attr_e( 'Create new item', 'invoicing' );?>" class="button button-primary" id="wpinv-new-item"><?php } ?><input type="button" value="<?php esc_attr_e( 'Recalculate Totals', 'invoicing' );?>" class="button button-primary wpinv-flr" id="wpinv-recalc-totals"> |
|
192 | + <input type="button" value="<?php echo sprintf(esc_attr__('Add item to %s', 'invoicing'), $type_title); ?>" class="button button-primary" id="wpinv-add-item"><input type="button" value="<?php esc_attr_e('Create new item', 'invoicing'); ?>" class="button button-primary" id="wpinv-new-item"><?php } ?><input type="button" value="<?php esc_attr_e('Recalculate Totals', 'invoicing'); ?>" class="button button-primary wpinv-flr" id="wpinv-recalc-totals"> |
|
193 | 193 | <?php } ?> |
194 | - <?php do_action( 'wpinv_invoice_items_actions', $invoice ); ?> |
|
194 | + <?php do_action('wpinv_invoice_items_actions', $invoice); ?> |
|
195 | 195 | </div> |
196 | 196 | </div> |
197 | 197 | <?php |
198 | 198 | } |
199 | 199 | |
200 | - public static function prices( $post ) { |
|
200 | + public static function prices($post) { |
|
201 | 201 | $symbol = wpinv_currency_symbol(); |
202 | 202 | $position = wpinv_currency_position(); |
203 | - $item = new WPInv_Item( $post->ID ); |
|
203 | + $item = new WPInv_Item($post->ID); |
|
204 | 204 | |
205 | 205 | $price = $item->get_price(); |
206 | 206 | $is_recurring = $item->is_recurring(); |
207 | 207 | $period = $item->get_recurring_period(); |
208 | - $interval = absint( $item->get_recurring_interval() ); |
|
209 | - $times = absint( $item->get_recurring_limit() ); |
|
208 | + $interval = absint($item->get_recurring_interval()); |
|
209 | + $times = absint($item->get_recurring_limit()); |
|
210 | 210 | $free_trial = $item->has_free_trial(); |
211 | 211 | $trial_interval = $item->get_trial_interval(); |
212 | 212 | $trial_period = $item->get_trial_period(); |
213 | 213 | |
214 | 214 | $intervals = array(); |
215 | - for ( $i = 1; $i <= 90; $i++ ) { |
|
215 | + for ($i = 1; $i <= 90; $i++) { |
|
216 | 216 | $intervals[$i] = $i; |
217 | 217 | } |
218 | 218 | |
219 | - $interval = $interval > 0 ? $interval : 1; |
|
219 | + $interval = $interval > 0 ? $interval : 1; |
|
220 | 220 | |
221 | 221 | $class = $is_recurring ? 'wpinv-recurring-y' : 'wpinv-recurring-n'; |
222 | 222 | ?> |
223 | - <p class="wpinv-row-prices"><?php echo ( $position != 'right' ? $symbol . ' ' : '' );?><input type="text" maxlength="12" placeholder="<?php echo wpinv_sanitize_amount( 0 ); ?>" value="<?php echo $price;?>" id="wpinv_item_price" name="wpinv_item_price" class="medium-text wpi-field-price wpi-price" <?php disabled( $item->is_package(), true ); ?> /><?php echo ( $position == 'right' ? ' ' . $symbol : '' );?><input type="hidden" name="wpinv_vat_meta_box_nonce" value="<?php echo wp_create_nonce( 'wpinv_item_meta_box_save' ) ;?>" /> |
|
224 | - <?php if ( $item->is_package() ) { ?> |
|
225 | - <span class="description"><?php _e( 'GD package item price can be edited only from GD payment manager.', 'invoicing' ); ?></span> |
|
223 | + <p class="wpinv-row-prices"><?php echo ($position != 'right' ? $symbol . ' ' : ''); ?><input type="text" maxlength="12" placeholder="<?php echo wpinv_sanitize_amount(0); ?>" value="<?php echo $price; ?>" id="wpinv_item_price" name="wpinv_item_price" class="medium-text wpi-field-price wpi-price" <?php disabled($item->is_package(), true); ?> /><?php echo ($position == 'right' ? ' ' . $symbol : ''); ?><input type="hidden" name="wpinv_vat_meta_box_nonce" value="<?php echo wp_create_nonce('wpinv_item_meta_box_save'); ?>" /> |
|
224 | + <?php if ($item->is_package()) { ?> |
|
225 | + <span class="description"><?php _e('GD package item price can be edited only from GD payment manager.', 'invoicing'); ?></span> |
|
226 | 226 | <?php } ?> |
227 | 227 | </p> |
228 | 228 | <p class="wpinv-row-is-recurring"> |
229 | 229 | <label for="wpinv_is_recurring"> |
230 | - <input type="checkbox" name="wpinv_is_recurring" id="wpinv_is_recurring" value="1" <?php checked( 1, $is_recurring ); ?> /> |
|
231 | - <?php echo apply_filters( 'wpinv_is_recurring_toggle_text', __( 'Is Recurring Item?', 'invoicing' ) ); ?> |
|
230 | + <input type="checkbox" name="wpinv_is_recurring" id="wpinv_is_recurring" value="1" <?php checked(1, $is_recurring); ?> /> |
|
231 | + <?php echo apply_filters('wpinv_is_recurring_toggle_text', __('Is Recurring Item?', 'invoicing')); ?> |
|
232 | 232 | </label> |
233 | 233 | </p> |
234 | - <p class="wpinv-row-recurring-fields <?php echo $class;?>"> |
|
235 | - <label class="wpinv-period" for="wpinv_recurring_period"><?php _e( 'Recurring', 'invoicing' );?> <select class="wpinv-select " id="wpinv_recurring_period" name="wpinv_recurring_period"><option value="D" data-text="<?php esc_attr_e( 'day(s)', 'invoicing' ); ?>" <?php selected( 'D', $period );?>><?php _e( 'Daily', 'invoicing' ); ?></option><option value="W" data-text="<?php esc_attr_e( 'week(s)', 'invoicing' ); ?>" <?php selected( 'W', $period );?>><?php _e( 'Weekly', 'invoicing' ); ?></option><option value="M" data-text="<?php esc_attr_e( 'month(s)', 'invoicing' ); ?>" <?php selected( 'M', $period );?>><?php _e( 'Monthly', 'invoicing' ); ?></option><option value="Y" data-text="<?php esc_attr_e( 'year(s)', 'invoicing' ); ?>" <?php selected( 'Y', $period );?>><?php _e( 'Yearly', 'invoicing' ); ?></option></select></label> |
|
236 | - <label class="wpinv-interval" for="wpinv_recurring_interval"> <?php _e( 'at every', 'invoicing' );?> <?php echo wpinv_html_select( array( |
|
234 | + <p class="wpinv-row-recurring-fields <?php echo $class; ?>"> |
|
235 | + <label class="wpinv-period" for="wpinv_recurring_period"><?php _e('Recurring', 'invoicing'); ?> <select class="wpinv-select " id="wpinv_recurring_period" name="wpinv_recurring_period"><option value="D" data-text="<?php esc_attr_e('day(s)', 'invoicing'); ?>" <?php selected('D', $period); ?>><?php _e('Daily', 'invoicing'); ?></option><option value="W" data-text="<?php esc_attr_e('week(s)', 'invoicing'); ?>" <?php selected('W', $period); ?>><?php _e('Weekly', 'invoicing'); ?></option><option value="M" data-text="<?php esc_attr_e('month(s)', 'invoicing'); ?>" <?php selected('M', $period); ?>><?php _e('Monthly', 'invoicing'); ?></option><option value="Y" data-text="<?php esc_attr_e('year(s)', 'invoicing'); ?>" <?php selected('Y', $period); ?>><?php _e('Yearly', 'invoicing'); ?></option></select></label> |
|
236 | + <label class="wpinv-interval" for="wpinv_recurring_interval"> <?php _e('at every', 'invoicing'); ?> <?php echo wpinv_html_select(array( |
|
237 | 237 | 'options' => $intervals, |
238 | 238 | 'name' => 'wpinv_recurring_interval', |
239 | 239 | 'id' => 'wpinv_recurring_interval', |
240 | 240 | 'selected' => $interval, |
241 | 241 | 'show_option_all' => false, |
242 | 242 | 'show_option_none' => false |
243 | - ) ); ?> <span id="wpinv_interval_text"><?php _e( 'day(s)', 'invoicing' );?></span></label> |
|
244 | - <label class="wpinv-times" for="wpinv_recurring_limit"> <?php _e( 'for', 'invoicing' );?> <input class="small-text" type="number" value="<?php echo $times;?>" size="4" id="wpinv_recurring_limit" name="wpinv_recurring_limit" step="1" min="0"> <?php _e( 'time(s) <i>(select 0 for recurring forever until cancelled</i>)', 'invoicing' );?></label> |
|
243 | + )); ?> <span id="wpinv_interval_text"><?php _e('day(s)', 'invoicing'); ?></span></label> |
|
244 | + <label class="wpinv-times" for="wpinv_recurring_limit"> <?php _e('for', 'invoicing'); ?> <input class="small-text" type="number" value="<?php echo $times; ?>" size="4" id="wpinv_recurring_limit" name="wpinv_recurring_limit" step="1" min="0"> <?php _e('time(s) <i>(select 0 for recurring forever until cancelled</i>)', 'invoicing'); ?></label> |
|
245 | 245 | <span class="clear wpi-trial-clr"></span> |
246 | 246 | <label class="wpinv-free-trial" for="wpinv_free_trial"> |
247 | - <input type="checkbox" name="wpinv_free_trial" id="wpinv_free_trial" value="1" <?php checked( true, (bool)$free_trial ); ?> /> |
|
248 | - <?php echo __( 'Offer free trial for', 'invoicing' ); ?> |
|
247 | + <input type="checkbox" name="wpinv_free_trial" id="wpinv_free_trial" value="1" <?php checked(true, (bool)$free_trial); ?> /> |
|
248 | + <?php echo __('Offer free trial for', 'invoicing'); ?> |
|
249 | 249 | </label> |
250 | 250 | <label class="wpinv-trial-interval" for="wpinv_trial_interval"> |
251 | - <input class="small-text" type="number" value="<?php echo $trial_interval;?>" size="4" id="wpinv_trial_interval" name="wpinv_trial_interval" step="1" min="1"> <select class="wpinv-select" id="wpinv_trial_period" name="wpinv_trial_period"><option value="D" <?php selected( 'D', $trial_period );?>><?php _e( 'day(s)', 'invoicing' ); ?></option><option value="W" <?php selected( 'W', $trial_period );?>><?php _e( 'week(s)', 'invoicing' ); ?></option><option value="M" <?php selected( 'M', $trial_period );?>><?php _e( 'month(s)', 'invoicing' ); ?></option><option value="Y" <?php selected( 'Y', $trial_period );?>><?php _e( 'year(s)', 'invoicing' ); ?></option></select> |
|
251 | + <input class="small-text" type="number" value="<?php echo $trial_interval; ?>" size="4" id="wpinv_trial_interval" name="wpinv_trial_interval" step="1" min="1"> <select class="wpinv-select" id="wpinv_trial_period" name="wpinv_trial_period"><option value="D" <?php selected('D', $trial_period); ?>><?php _e('day(s)', 'invoicing'); ?></option><option value="W" <?php selected('W', $trial_period); ?>><?php _e('week(s)', 'invoicing'); ?></option><option value="M" <?php selected('M', $trial_period); ?>><?php _e('month(s)', 'invoicing'); ?></option><option value="Y" <?php selected('Y', $trial_period); ?>><?php _e('year(s)', 'invoicing'); ?></option></select> |
|
252 | 252 | </label> |
253 | 253 | </p> |
254 | - <input type="hidden" id="_wpi_current_type" value="<?php echo wpinv_get_item_type( $post->ID ); ?>" /> |
|
255 | - <?php do_action( 'wpinv_item_price_field', $post->ID ); ?> |
|
254 | + <input type="hidden" id="_wpi_current_type" value="<?php echo wpinv_get_item_type($post->ID); ?>" /> |
|
255 | + <?php do_action('wpinv_item_price_field', $post->ID); ?> |
|
256 | 256 | <?php |
257 | 257 | } |
258 | 258 | |
259 | - public static function vat_rules( $post ) { |
|
259 | + public static function vat_rules($post) { |
|
260 | 260 | global $wpinv_euvat; |
261 | 261 | |
262 | - $rule_type = $wpinv_euvat->get_item_rule( $post->ID ); |
|
262 | + $rule_type = $wpinv_euvat->get_item_rule($post->ID); |
|
263 | 263 | ?> |
264 | - <p><label for="wpinv_vat_rules"><strong><?php _e( 'Select how VAT rules will be applied:', 'invoicing' );?></strong></label> |
|
265 | - <?php echo wpinv_html_select( array( |
|
264 | + <p><label for="wpinv_vat_rules"><strong><?php _e('Select how VAT rules will be applied:', 'invoicing'); ?></strong></label> |
|
265 | + <?php echo wpinv_html_select(array( |
|
266 | 266 | 'options' => $wpinv_euvat->get_rules(), |
267 | 267 | 'name' => 'wpinv_vat_rules', |
268 | 268 | 'id' => 'wpinv_vat_rules', |
@@ -270,19 +270,19 @@ discard block |
||
270 | 270 | 'show_option_all' => false, |
271 | 271 | 'show_option_none' => false, |
272 | 272 | 'class' => 'gdmbx2-text-medium wpinv-vat-rules', |
273 | - ) ); ?> |
|
273 | + )); ?> |
|
274 | 274 | </p> |
275 | - <p class="wpi-m0"><?php _e( 'When you select physical product rules, only consumers and businesses in your country will be charged VAT. The VAT rate used will be the rate in your country.', 'invoicing' ); ?></p> |
|
276 | - <p class="wpi-m0"><?php _e( 'If you select Digital product rules, VAT will be charged at the rate that applies in the country of the consumer. Only businesses in your country will be charged VAT.', 'invoicing' ); ?></p> |
|
275 | + <p class="wpi-m0"><?php _e('When you select physical product rules, only consumers and businesses in your country will be charged VAT. The VAT rate used will be the rate in your country.', 'invoicing'); ?></p> |
|
276 | + <p class="wpi-m0"><?php _e('If you select Digital product rules, VAT will be charged at the rate that applies in the country of the consumer. Only businesses in your country will be charged VAT.', 'invoicing'); ?></p> |
|
277 | 277 | <?php |
278 | 278 | } |
279 | 279 | |
280 | - public static function vat_classes( $post ) { |
|
280 | + public static function vat_classes($post) { |
|
281 | 281 | global $wpinv_euvat; |
282 | 282 | |
283 | - $vat_class = $wpinv_euvat->get_item_class( $post->ID ); |
|
283 | + $vat_class = $wpinv_euvat->get_item_class($post->ID); |
|
284 | 284 | ?> |
285 | - <p><?php echo wpinv_html_select( array( |
|
285 | + <p><?php echo wpinv_html_select(array( |
|
286 | 286 | 'options' => $wpinv_euvat->get_all_classes(), |
287 | 287 | 'name' => 'wpinv_vat_class', |
288 | 288 | 'id' => 'wpinv_vat_class', |
@@ -290,18 +290,18 @@ discard block |
||
290 | 290 | 'show_option_all' => false, |
291 | 291 | 'show_option_none' => false, |
292 | 292 | 'class' => 'gdmbx2-text-medium wpinv-vat-class', |
293 | - ) ); ?> |
|
293 | + )); ?> |
|
294 | 294 | </p> |
295 | - <p class="wpi-m0"><?php _e( 'Select the VAT rate class to use for this invoice item.', 'invoicing' ); ?></p> |
|
295 | + <p class="wpi-m0"><?php _e('Select the VAT rate class to use for this invoice item.', 'invoicing'); ?></p> |
|
296 | 296 | <?php |
297 | 297 | } |
298 | 298 | |
299 | - public static function item_info( $post ) { |
|
300 | - $item_type = wpinv_get_item_type( $post->ID ); |
|
301 | - do_action( 'wpinv_item_info_metabox_before', $post ); |
|
299 | + public static function item_info($post) { |
|
300 | + $item_type = wpinv_get_item_type($post->ID); |
|
301 | + do_action('wpinv_item_info_metabox_before', $post); |
|
302 | 302 | ?> |
303 | - <p><label for="wpinv_item_type"><strong><?php _e( 'Type:', 'invoicing' );?></strong></label> |
|
304 | - <?php echo wpinv_html_select( array( |
|
303 | + <p><label for="wpinv_item_type"><strong><?php _e('Type:', 'invoicing'); ?></strong></label> |
|
304 | + <?php echo wpinv_html_select(array( |
|
305 | 305 | 'options' => wpinv_get_item_types(), |
306 | 306 | 'name' => 'wpinv_item_type', |
307 | 307 | 'id' => 'wpinv_item_type', |
@@ -310,93 +310,93 @@ discard block |
||
310 | 310 | 'show_option_none' => false, |
311 | 311 | 'class' => 'gdmbx2-text-medium wpinv-item-type', |
312 | 312 | //'disabled' => $item_type == 'package' ? true : false, |
313 | - ) ); ?> |
|
313 | + )); ?> |
|
314 | 314 | </p> |
315 | - <p class="wpi-m0"><?php _e( 'Select item type.', 'invoicing' );?><br><?php _e( 'Standard: standard item type', 'invoicing' );?><br><?php _e( 'Fee: like Registration Fee, Signup Fee etc.', 'invoicing' );?></p> |
|
315 | + <p class="wpi-m0"><?php _e('Select item type.', 'invoicing'); ?><br><?php _e('Standard: standard item type', 'invoicing'); ?><br><?php _e('Fee: like Registration Fee, Signup Fee etc.', 'invoicing'); ?></p> |
|
316 | 316 | <?php |
317 | - do_action( 'wpinv_item_info_metabox_after', $post ); |
|
317 | + do_action('wpinv_item_info_metabox_after', $post); |
|
318 | 318 | } |
319 | 319 | |
320 | - public static function save( $post_id, $data, $post ) { |
|
321 | - $invoice = new WPInv_Invoice( $post_id ); |
|
320 | + public static function save($post_id, $data, $post) { |
|
321 | + $invoice = new WPInv_Invoice($post_id); |
|
322 | 322 | |
323 | 323 | // Billing |
324 | - $first_name = sanitize_text_field( $data['wpinv_first_name'] ); |
|
325 | - $last_name = sanitize_text_field( $data['wpinv_last_name'] ); |
|
326 | - $company = sanitize_text_field( $data['wpinv_company'] ); |
|
327 | - $vat_number = sanitize_text_field( $data['wpinv_vat_number'] ); |
|
328 | - $phone = sanitize_text_field( $data['wpinv_phone'] ); |
|
329 | - $address = sanitize_text_field( $data['wpinv_address'] ); |
|
330 | - $city = sanitize_text_field( $data['wpinv_city'] ); |
|
331 | - $zip = sanitize_text_field( $data['wpinv_zip'] ); |
|
332 | - $country = sanitize_text_field( $data['wpinv_country'] ); |
|
333 | - $state = sanitize_text_field( $data['wpinv_state'] ); |
|
324 | + $first_name = sanitize_text_field($data['wpinv_first_name']); |
|
325 | + $last_name = sanitize_text_field($data['wpinv_last_name']); |
|
326 | + $company = sanitize_text_field($data['wpinv_company']); |
|
327 | + $vat_number = sanitize_text_field($data['wpinv_vat_number']); |
|
328 | + $phone = sanitize_text_field($data['wpinv_phone']); |
|
329 | + $address = sanitize_text_field($data['wpinv_address']); |
|
330 | + $city = sanitize_text_field($data['wpinv_city']); |
|
331 | + $zip = sanitize_text_field($data['wpinv_zip']); |
|
332 | + $country = sanitize_text_field($data['wpinv_country']); |
|
333 | + $state = sanitize_text_field($data['wpinv_state']); |
|
334 | 334 | |
335 | 335 | // Details |
336 | - $status = sanitize_text_field( $data['wpinv_status'] ); |
|
337 | - $old_status = !empty( $data['original_post_status'] ) ? sanitize_text_field( $data['original_post_status'] ) : $status; |
|
338 | - $number = sanitize_text_field( $data['wpinv_number'] ); |
|
339 | - $due_date = isset( $data['wpinv_due_date'] ) ? sanitize_text_field( $data['wpinv_due_date'] ) : ''; |
|
336 | + $status = sanitize_text_field($data['wpinv_status']); |
|
337 | + $old_status = !empty($data['original_post_status']) ? sanitize_text_field($data['original_post_status']) : $status; |
|
338 | + $number = sanitize_text_field($data['wpinv_number']); |
|
339 | + $due_date = isset($data['wpinv_due_date']) ? sanitize_text_field($data['wpinv_due_date']) : ''; |
|
340 | 340 | //$discounts = sanitize_text_field( $data['wpinv_discounts'] ); |
341 | 341 | //$discount = sanitize_text_field( $data['wpinv_discount'] ); |
342 | 342 | |
343 | - $ip = $invoice->get_ip() ? $invoice->get_ip() : wpinv_get_ip(); |
|
343 | + $ip = $invoice->get_ip() ? $invoice->get_ip() : wpinv_get_ip(); |
|
344 | 344 | |
345 | - $invoice->set( 'due_date', $due_date ); |
|
346 | - $invoice->set( 'first_name', $first_name ); |
|
347 | - $invoice->set( 'last_name', $last_name ); |
|
348 | - $invoice->set( 'company', $company ); |
|
349 | - $invoice->set( 'vat_number', $vat_number ); |
|
350 | - $invoice->set( 'phone', $phone ); |
|
351 | - $invoice->set( 'address', $address ); |
|
352 | - $invoice->set( 'city', $city ); |
|
353 | - $invoice->set( 'zip', $zip ); |
|
354 | - $invoice->set( 'country', $country ); |
|
355 | - $invoice->set( 'state', $state ); |
|
356 | - $invoice->set( 'status', $status ); |
|
357 | - $invoice->set( 'number', $number ); |
|
345 | + $invoice->set('due_date', $due_date); |
|
346 | + $invoice->set('first_name', $first_name); |
|
347 | + $invoice->set('last_name', $last_name); |
|
348 | + $invoice->set('company', $company); |
|
349 | + $invoice->set('vat_number', $vat_number); |
|
350 | + $invoice->set('phone', $phone); |
|
351 | + $invoice->set('address', $address); |
|
352 | + $invoice->set('city', $city); |
|
353 | + $invoice->set('zip', $zip); |
|
354 | + $invoice->set('country', $country); |
|
355 | + $invoice->set('state', $state); |
|
356 | + $invoice->set('status', $status); |
|
357 | + $invoice->set('number', $number); |
|
358 | 358 | //$invoice->set( 'discounts', $discounts ); |
359 | 359 | //$invoice->set( 'discount', $discount ); |
360 | - $invoice->set( 'ip', $ip ); |
|
360 | + $invoice->set('ip', $ip); |
|
361 | 361 | $invoice->old_status = $_POST['original_post_status']; |
362 | 362 | $invoice->currency = wpinv_get_currency(); |
363 | - if ( !empty( $data['wpinv_gateway'] ) ) { |
|
364 | - $invoice->set( 'gateway', sanitize_text_field( $data['wpinv_gateway'] ) ); |
|
363 | + if (!empty($data['wpinv_gateway'])) { |
|
364 | + $invoice->set('gateway', sanitize_text_field($data['wpinv_gateway'])); |
|
365 | 365 | } |
366 | 366 | $saved = $invoice->save(); |
367 | 367 | |
368 | 368 | // Check for payment notes |
369 | - if ( !empty( $data['invoice_note'] ) ) { |
|
370 | - $note = wp_kses( $data['invoice_note'], array() ); |
|
371 | - $note_type = sanitize_text_field( $data['invoice_note_type'] ); |
|
369 | + if (!empty($data['invoice_note'])) { |
|
370 | + $note = wp_kses($data['invoice_note'], array()); |
|
371 | + $note_type = sanitize_text_field($data['invoice_note_type']); |
|
372 | 372 | $is_customer_note = $note_type == 'customer' ? 1 : 0; |
373 | 373 | |
374 | - wpinv_insert_payment_note( $invoice->ID, $note, $is_customer_note ); |
|
374 | + wpinv_insert_payment_note($invoice->ID, $note, $is_customer_note); |
|
375 | 375 | } |
376 | 376 | |
377 | 377 | // Update user address if empty. |
378 | - if ( $saved && !empty( $invoice ) ) { |
|
379 | - if ( $user_id = $invoice->get_user_id() ) { |
|
380 | - $user_address = wpinv_get_user_address( $user_id, false ); |
|
378 | + if ($saved && !empty($invoice)) { |
|
379 | + if ($user_id = $invoice->get_user_id()) { |
|
380 | + $user_address = wpinv_get_user_address($user_id, false); |
|
381 | 381 | |
382 | 382 | if (empty($user_address['first_name'])) { |
383 | - update_user_meta( $user_id, '_wpinv_first_name', $first_name ); |
|
384 | - update_user_meta( $user_id, '_wpinv_last_name', $last_name ); |
|
383 | + update_user_meta($user_id, '_wpinv_first_name', $first_name); |
|
384 | + update_user_meta($user_id, '_wpinv_last_name', $last_name); |
|
385 | 385 | } else if (empty($user_address['last_name']) && $user_address['first_name'] == $first_name) { |
386 | - update_user_meta( $user_id, '_wpinv_last_name', $last_name ); |
|
386 | + update_user_meta($user_id, '_wpinv_last_name', $last_name); |
|
387 | 387 | } |
388 | 388 | |
389 | 389 | if (empty($user_address['address']) || empty($user_address['city']) || empty($user_address['state']) || empty($user_address['country'])) { |
390 | - update_user_meta( $user_id, '_wpinv_address', $address ); |
|
391 | - update_user_meta( $user_id, '_wpinv_city', $city ); |
|
392 | - update_user_meta( $user_id, '_wpinv_state', $state ); |
|
393 | - update_user_meta( $user_id, '_wpinv_country', $country ); |
|
394 | - update_user_meta( $user_id, '_wpinv_zip', $zip ); |
|
395 | - update_user_meta( $user_id, '_wpinv_phone', $phone ); |
|
390 | + update_user_meta($user_id, '_wpinv_address', $address); |
|
391 | + update_user_meta($user_id, '_wpinv_city', $city); |
|
392 | + update_user_meta($user_id, '_wpinv_state', $state); |
|
393 | + update_user_meta($user_id, '_wpinv_country', $country); |
|
394 | + update_user_meta($user_id, '_wpinv_zip', $zip); |
|
395 | + update_user_meta($user_id, '_wpinv_phone', $phone); |
|
396 | 396 | } |
397 | 397 | } |
398 | 398 | |
399 | - do_action( 'wpinv_invoice_metabox_saveed', $invoice ); |
|
399 | + do_action('wpinv_invoice_metabox_saveed', $invoice); |
|
400 | 400 | } |
401 | 401 | |
402 | 402 | return $saved; |
@@ -1,60 +1,60 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | // Exit if accessed directly |
3 | -if ( ! defined( 'ABSPATH' ) ) exit; |
|
3 | +if (!defined('ABSPATH')) exit; |
|
4 | 4 | |
5 | -add_filter( 'wpinv_authorizenet_support_subscription', '__return_true' ); |
|
5 | +add_filter('wpinv_authorizenet_support_subscription', '__return_true'); |
|
6 | 6 | |
7 | -function wpinv_authorizenet_cc_form( $invoice_id ) { |
|
8 | - $invoice = wpinv_get_invoice( $invoice_id ); |
|
9 | - $cc_owner = !empty( $invoice ) ? esc_attr( $invoice->get_user_full_name() ) : ''; |
|
7 | +function wpinv_authorizenet_cc_form($invoice_id) { |
|
8 | + $invoice = wpinv_get_invoice($invoice_id); |
|
9 | + $cc_owner = !empty($invoice) ? esc_attr($invoice->get_user_full_name()) : ''; |
|
10 | 10 | ?> |
11 | 11 | <div id="authorizenet_cc_form" class="form-horizontal wpi-cc-form panel panel-default"> |
12 | - <div class="panel-heading"><h3 class="panel-title"><?php _e( 'Card Details', 'invoicing' ) ;?></h3></div> |
|
12 | + <div class="panel-heading"><h3 class="panel-title"><?php _e('Card Details', 'invoicing'); ?></h3></div> |
|
13 | 13 | <div class="panel-body"> |
14 | 14 | <div class="form-group required"> |
15 | - <label for="auth-input-cc-owner" class="col-sm-4 control-label"><?php _e( 'Card Owner', 'invoicing' ) ;?></label> |
|
15 | + <label for="auth-input-cc-owner" class="col-sm-4 control-label"><?php _e('Card Owner', 'invoicing'); ?></label> |
|
16 | 16 | <div class="col-sm-8"> |
17 | - <input type="text" class="form-control" id="auth-input-cc-owner" placeholder="<?php esc_attr_e( 'Card Owner', 'invoicing' ) ;?>" value="<?php echo $cc_owner;?>" name="authorizenet[cc_owner]"> |
|
17 | + <input type="text" class="form-control" id="auth-input-cc-owner" placeholder="<?php esc_attr_e('Card Owner', 'invoicing'); ?>" value="<?php echo $cc_owner; ?>" name="authorizenet[cc_owner]"> |
|
18 | 18 | </div> |
19 | 19 | </div> |
20 | 20 | <div class="form-group required"> |
21 | - <label for="auth-input-cc-number" class="col-sm-4 control-label"><?php _e( 'Card Number', 'invoicing' ) ;?></label> |
|
21 | + <label for="auth-input-cc-number" class="col-sm-4 control-label"><?php _e('Card Number', 'invoicing'); ?></label> |
|
22 | 22 | <div class="col-sm-8"> |
23 | - <input type="text" class="form-control" id="auth-input-cc-number" placeholder="<?php esc_attr_e( 'Card Number', 'invoicing' ) ;?>" value="" name="authorizenet[cc_number]"> |
|
23 | + <input type="text" class="form-control" id="auth-input-cc-number" placeholder="<?php esc_attr_e('Card Number', 'invoicing'); ?>" value="" name="authorizenet[cc_number]"> |
|
24 | 24 | </div> |
25 | 25 | </div> |
26 | 26 | <div class="form-group required"> |
27 | - <label for="auth-input-cc-expire-date" class="col-sm-4 control-label"><?php _e( 'Card Expiry Date', 'invoicing' ) ;?></label> |
|
27 | + <label for="auth-input-cc-expire-date" class="col-sm-4 control-label"><?php _e('Card Expiry Date', 'invoicing'); ?></label> |
|
28 | 28 | <div class="col-sm-2"> |
29 | 29 | <select class="form-control" id="auth-input-cc-expire-date" name="authorizenet[cc_expire_month]"> |
30 | - <?php for ( $i = 1; $i <= 12; $i++ ) { $value = str_pad( $i, 2, '0', STR_PAD_LEFT ); ?> |
|
31 | - <option value="<?php echo $value;?>"><?php echo $value;?></option> |
|
30 | + <?php for ($i = 1; $i <= 12; $i++) { $value = str_pad($i, 2, '0', STR_PAD_LEFT); ?> |
|
31 | + <option value="<?php echo $value; ?>"><?php echo $value; ?></option> |
|
32 | 32 | <?php } ?> |
33 | 33 | </select> |
34 | 34 | </div> |
35 | 35 | <div class="col-sm-2"> |
36 | 36 | <select class="form-control" name="authorizenet[cc_expire_year]"> |
37 | - <?php $year = date( 'Y' ); for ( $i = $year; $i <= ( $year + 10 ); $i++ ) { ?> |
|
38 | - <option value="<?php echo $i;?>"><?php echo $i;?></option> |
|
37 | + <?php $year = date('Y'); for ($i = $year; $i <= ($year + 10); $i++) { ?> |
|
38 | + <option value="<?php echo $i; ?>"><?php echo $i; ?></option> |
|
39 | 39 | <?php } ?> |
40 | 40 | </select> |
41 | 41 | </div> |
42 | 42 | </div> |
43 | 43 | <div class="form-group required"> |
44 | - <label for="auth-input-cc-cvv2" class="col-sm-4 control-label"><?php _e( 'Card Security Code (CVV2)', 'invoicing' ) ;?></label> |
|
44 | + <label for="auth-input-cc-cvv2" class="col-sm-4 control-label"><?php _e('Card Security Code (CVV2)', 'invoicing'); ?></label> |
|
45 | 45 | <div class="col-sm-8"> |
46 | - <input type="text" class="form-control" id="auth-input-cc-cvv2" placeholder="<?php esc_attr_e( 'Card Security Code (CVV2)', 'invoicing' ) ;?>" value="" name="authorizenet[cc_cvv2]""> |
|
46 | + <input type="text" class="form-control" id="auth-input-cc-cvv2" placeholder="<?php esc_attr_e('Card Security Code (CVV2)', 'invoicing'); ?>" value="" name="authorizenet[cc_cvv2]""> |
|
47 | 47 | </div> |
48 | 48 | </div> |
49 | 49 | </div> |
50 | 50 | </div> |
51 | 51 | <?php |
52 | 52 | } |
53 | -add_action( 'wpinv_authorizenet_cc_form', 'wpinv_authorizenet_cc_form', 10, 1 ); |
|
53 | +add_action('wpinv_authorizenet_cc_form', 'wpinv_authorizenet_cc_form', 10, 1); |
|
54 | 54 | |
55 | -function wpinv_process_authorizenet_payment( $purchase_data ) { |
|
56 | - if( ! wp_verify_nonce( $purchase_data['gateway_nonce'], 'wpi-gateway' ) ) { |
|
57 | - wp_die( __( 'Nonce verification has failed', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) ); |
|
55 | +function wpinv_process_authorizenet_payment($purchase_data) { |
|
56 | + if (!wp_verify_nonce($purchase_data['gateway_nonce'], 'wpi-gateway')) { |
|
57 | + wp_die(__('Nonce verification has failed', 'invoicing'), __('Error', 'invoicing'), array('response' => 403)); |
|
58 | 58 | } |
59 | 59 | |
60 | 60 | // Collect payment data |
@@ -72,10 +72,10 @@ discard block |
||
72 | 72 | ); |
73 | 73 | |
74 | 74 | // Record the pending payment |
75 | - $invoice = wpinv_get_invoice( $purchase_data['invoice_id'] ); |
|
75 | + $invoice = wpinv_get_invoice($purchase_data['invoice_id']); |
|
76 | 76 | |
77 | - if ( !empty( $invoice ) ) { |
|
78 | - $authorizenet_card = !empty( $_POST['authorizenet'] ) ? $_POST['authorizenet'] : array(); |
|
77 | + if (!empty($invoice)) { |
|
78 | + $authorizenet_card = !empty($_POST['authorizenet']) ? $_POST['authorizenet'] : array(); |
|
79 | 79 | $card_defaults = array( |
80 | 80 | 'cc_owner' => $invoice->get_user_full_name(), |
81 | 81 | 'cc_number' => false, |
@@ -83,27 +83,27 @@ discard block |
||
83 | 83 | 'cc_expire_year' => false, |
84 | 84 | 'cc_cvv2' => false, |
85 | 85 | ); |
86 | - $authorizenet_card = wp_parse_args( $authorizenet_card, $card_defaults ); |
|
86 | + $authorizenet_card = wp_parse_args($authorizenet_card, $card_defaults); |
|
87 | 87 | |
88 | - if ( empty( $authorizenet_card['cc_owner'] ) ) { |
|
89 | - wpinv_set_error( 'empty_card_name', __( 'You must enter the name on your card!', 'invoicing')); |
|
88 | + if (empty($authorizenet_card['cc_owner'])) { |
|
89 | + wpinv_set_error('empty_card_name', __('You must enter the name on your card!', 'invoicing')); |
|
90 | 90 | } |
91 | - if ( empty( $authorizenet_card['cc_number'] ) ) { |
|
92 | - wpinv_set_error( 'empty_card', __( 'You must enter a card number!', 'invoicing')); |
|
91 | + if (empty($authorizenet_card['cc_number'])) { |
|
92 | + wpinv_set_error('empty_card', __('You must enter a card number!', 'invoicing')); |
|
93 | 93 | } |
94 | - if ( empty( $authorizenet_card['cc_expire_month'] ) ) { |
|
95 | - wpinv_set_error( 'empty_month', __( 'You must enter an card expiration month!', 'invoicing')); |
|
94 | + if (empty($authorizenet_card['cc_expire_month'])) { |
|
95 | + wpinv_set_error('empty_month', __('You must enter an card expiration month!', 'invoicing')); |
|
96 | 96 | } |
97 | - if ( empty( $authorizenet_card['cc_expire_year'] ) ) { |
|
98 | - wpinv_set_error( 'empty_year', __( 'You must enter an card expiration year!', 'invoicing')); |
|
97 | + if (empty($authorizenet_card['cc_expire_year'])) { |
|
98 | + wpinv_set_error('empty_year', __('You must enter an card expiration year!', 'invoicing')); |
|
99 | 99 | } |
100 | - if ( empty( $authorizenet_card['cc_cvv2'] ) ) { |
|
101 | - wpinv_set_error( 'empty_cvv2', __( 'You must enter a valid CVV2!', 'invoicing' ) ); |
|
100 | + if (empty($authorizenet_card['cc_cvv2'])) { |
|
101 | + wpinv_set_error('empty_cvv2', __('You must enter a valid CVV2!', 'invoicing')); |
|
102 | 102 | } |
103 | 103 | |
104 | 104 | $errors = wpinv_get_errors(); |
105 | 105 | |
106 | - if ( empty( $errors ) ) { |
|
106 | + if (empty($errors)) { |
|
107 | 107 | $invoice_id = $invoice->ID; |
108 | 108 | $quantities_enabled = wpinv_item_quantities_enabled(); |
109 | 109 | $use_taxes = wpinv_use_taxes(); |
@@ -112,141 +112,141 @@ discard block |
||
112 | 112 | $authorizeAIM->first_name = $invoice->get_first_name(); |
113 | 113 | $authorizeAIM->last_name = $invoice->get_last_name(); |
114 | 114 | $authorizeAIM->company = $invoice->company; |
115 | - $authorizeAIM->address = wp_strip_all_tags( $invoice->get_address(), true ); |
|
115 | + $authorizeAIM->address = wp_strip_all_tags($invoice->get_address(), true); |
|
116 | 116 | $authorizeAIM->city = $invoice->city; |
117 | 117 | $authorizeAIM->state = $invoice->state; |
118 | 118 | $authorizeAIM->zip = $invoice->zip; |
119 | 119 | $authorizeAIM->country = $invoice->country; |
120 | 120 | $authorizeAIM->phone = $invoice->phone; |
121 | 121 | $authorizeAIM->email = $invoice->get_email(); |
122 | - $authorizeAIM->amount = wpinv_sanitize_amount( $invoice->get_total() ); |
|
123 | - $authorizeAIM->card_num = str_replace( ' ', '', sanitize_text_field( $authorizenet_card['cc_number'] ) ); |
|
124 | - $authorizeAIM->exp_date = sanitize_text_field( $authorizenet_card['cc_expire_month'] ) . sanitize_text_field( $authorizenet_card['cc_expire_year'] ); |
|
125 | - $authorizeAIM->card_code = sanitize_text_field( $authorizenet_card['cc_cvv2'] ); |
|
122 | + $authorizeAIM->amount = wpinv_sanitize_amount($invoice->get_total()); |
|
123 | + $authorizeAIM->card_num = str_replace(' ', '', sanitize_text_field($authorizenet_card['cc_number'])); |
|
124 | + $authorizeAIM->exp_date = sanitize_text_field($authorizenet_card['cc_expire_month']) . sanitize_text_field($authorizenet_card['cc_expire_year']); |
|
125 | + $authorizeAIM->card_code = sanitize_text_field($authorizenet_card['cc_cvv2']); |
|
126 | 126 | $authorizeAIM->invoice_num = $invoice->ID; |
127 | 127 | |
128 | 128 | $item_desc = array(); |
129 | - foreach ( $invoice->get_cart_details() as $item ) { |
|
130 | - $quantity = $quantities_enabled && !empty( $item['quantity'] ) && $item['quantity'] > 0 ? $item['quantity'] : 1; |
|
131 | - $item_desc[] = $item['name'] . ' (' . $quantity . 'x ' . wpinv_price( wpinv_format_amount( $item['item_price'] ) ) . ')'; |
|
129 | + foreach ($invoice->get_cart_details() as $item) { |
|
130 | + $quantity = $quantities_enabled && !empty($item['quantity']) && $item['quantity'] > 0 ? $item['quantity'] : 1; |
|
131 | + $item_desc[] = $item['name'] . ' (' . $quantity . 'x ' . wpinv_price(wpinv_format_amount($item['item_price'])) . ')'; |
|
132 | 132 | |
133 | - $authorizeAIM->addLineItem( $item['id'], $item['name'], '', $quantity, $item['item_price'], ( $use_taxes && !empty( $item['tax'] ) && $item['tax'] > 0 ? 'Y' : 'N' ) ); |
|
133 | + $authorizeAIM->addLineItem($item['id'], $item['name'], '', $quantity, $item['item_price'], ($use_taxes && !empty($item['tax']) && $item['tax'] > 0 ? 'Y' : 'N')); |
|
134 | 134 | } |
135 | 135 | |
136 | - $item_desc = '#' . $invoice->get_number() . ': ' . implode( ', ', $item_desc ); |
|
136 | + $item_desc = '#' . $invoice->get_number() . ': ' . implode(', ', $item_desc); |
|
137 | 137 | |
138 | - if ( $use_taxes && $invoice->get_tax() > 0 ) { |
|
139 | - $authorizeAIM->tax = $invoice->get_tax(); |
|
138 | + if ($use_taxes && $invoice->get_tax() > 0) { |
|
139 | + $authorizeAIM->tax = $invoice->get_tax(); |
|
140 | 140 | |
141 | - $item_desc .= ', ' . wp_sprintf( __( 'Tax: %s', 'invoicing' ), $invoice->get_tax( true ) ); |
|
141 | + $item_desc .= ', ' . wp_sprintf(__('Tax: %s', 'invoicing'), $invoice->get_tax(true)); |
|
142 | 142 | } |
143 | 143 | |
144 | - if ( $invoice->get_discount() > 0 ) { |
|
145 | - $item_desc .= ', ' . wp_sprintf( __( 'Discount: %s', 'invoicing' ), $invoice->get_discount( true ) ); |
|
144 | + if ($invoice->get_discount() > 0) { |
|
145 | + $item_desc .= ', ' . wp_sprintf(__('Discount: %s', 'invoicing'), $invoice->get_discount(true)); |
|
146 | 146 | } |
147 | 147 | |
148 | - $authorizeAIM->description = html_entity_decode( $item_desc , ENT_QUOTES, 'UTF-8' ); |
|
148 | + $authorizeAIM->description = html_entity_decode($item_desc, ENT_QUOTES, 'UTF-8'); |
|
149 | 149 | |
150 | 150 | $is_recurring = $invoice->is_recurring(); // Recurring payment. |
151 | 151 | |
152 | - if ( $is_recurring ) { |
|
152 | + if ($is_recurring) { |
|
153 | 153 | $authorizeAIM->recurring_billing = true; |
154 | 154 | } |
155 | 155 | |
156 | 156 | try { |
157 | - if ( $is_recurring ) { |
|
157 | + if ($is_recurring) { |
|
158 | 158 | $response = $authorizeAIM->authorizeOnly(); |
159 | 159 | } else { |
160 | 160 | $response = $authorizeAIM->authorizeAndCapture(); |
161 | 161 | } |
162 | 162 | |
163 | - if ( $response->approved || $response->held ) { |
|
164 | - if ( $response->approved ) { |
|
165 | - wpinv_update_payment_status( $invoice_id, 'publish' ); |
|
163 | + if ($response->approved || $response->held) { |
|
164 | + if ($response->approved) { |
|
165 | + wpinv_update_payment_status($invoice_id, 'publish'); |
|
166 | 166 | } |
167 | - wpinv_set_payment_transaction_id( $invoice_id, $response->transaction_id ); |
|
167 | + wpinv_set_payment_transaction_id($invoice_id, $response->transaction_id); |
|
168 | 168 | |
169 | - $message = wp_sprintf( __( 'Authorize.Net Payment: %s with transaction id %s using %s and authorization code %s', 'invoicing' ), $response->response_reason_text, $response->transaction_id, strtoupper( $response->transaction_type ), $response->authorization_code ); |
|
169 | + $message = wp_sprintf(__('Authorize.Net Payment: %s with transaction id %s using %s and authorization code %s', 'invoicing'), $response->response_reason_text, $response->transaction_id, strtoupper($response->transaction_type), $response->authorization_code); |
|
170 | 170 | |
171 | - wpinv_insert_payment_note( $invoice_id, $message ); |
|
171 | + wpinv_insert_payment_note($invoice_id, $message); |
|
172 | 172 | |
173 | - do_action( 'wpinv_authorizenet_handle_response', $response, $invoice, $authorizenet_card ); |
|
173 | + do_action('wpinv_authorizenet_handle_response', $response, $invoice, $authorizenet_card); |
|
174 | 174 | |
175 | 175 | wpinv_clear_errors(); |
176 | 176 | wpinv_empty_cart(); |
177 | 177 | |
178 | - wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) ); |
|
178 | + wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key())); |
|
179 | 179 | } else { |
180 | - if ( !empty( $response->response_reason_text ) ) { |
|
181 | - $error = __( $response->response_reason_text, 'invoicing' ); |
|
182 | - } else if ( !empty( $response->error_message ) ) { |
|
183 | - $error = __( $response->error_message, 'invoicing' ); |
|
180 | + if (!empty($response->response_reason_text)) { |
|
181 | + $error = __($response->response_reason_text, 'invoicing'); |
|
182 | + } else if (!empty($response->error_message)) { |
|
183 | + $error = __($response->error_message, 'invoicing'); |
|
184 | 184 | } else { |
185 | - $error = wp_sprintf( __( 'Error data: %s', 'invoicing' ), print_r( $response, true ) ); |
|
185 | + $error = wp_sprintf(__('Error data: %s', 'invoicing'), print_r($response, true)); |
|
186 | 186 | } |
187 | 187 | |
188 | - $error = wp_sprintf( __( 'Authorize.Net payment error occurred. %s', 'invoicing' ), $error ); |
|
188 | + $error = wp_sprintf(__('Authorize.Net payment error occurred. %s', 'invoicing'), $error); |
|
189 | 189 | |
190 | - wpinv_set_error( 'payment_error', $error ); |
|
191 | - wpinv_record_gateway_error( $error, $response ); |
|
192 | - wpinv_insert_payment_note( $invoice_id, $error ); |
|
190 | + wpinv_set_error('payment_error', $error); |
|
191 | + wpinv_record_gateway_error($error, $response); |
|
192 | + wpinv_insert_payment_note($invoice_id, $error); |
|
193 | 193 | |
194 | - wpinv_send_back_to_checkout( '?payment-mode=' . $purchase_data['post_data']['wpi-gateway'] ); |
|
194 | + wpinv_send_back_to_checkout('?payment-mode=' . $purchase_data['post_data']['wpi-gateway']); |
|
195 | 195 | } |
196 | - } catch ( AuthorizeNetException $e ) { |
|
197 | - wpinv_set_error( 'request_error', $e->getMessage() ); |
|
198 | - wpinv_record_gateway_error( wp_sprintf( __( 'Authorize.Net payment error occurred. %s', 'invoicing' ), $e->getMessage() ) ); |
|
199 | - wpinv_send_back_to_checkout( '?payment-mode=' . $purchase_data['post_data']['wpi-gateway'] ); |
|
196 | + } catch (AuthorizeNetException $e) { |
|
197 | + wpinv_set_error('request_error', $e->getMessage()); |
|
198 | + wpinv_record_gateway_error(wp_sprintf(__('Authorize.Net payment error occurred. %s', 'invoicing'), $e->getMessage())); |
|
199 | + wpinv_send_back_to_checkout('?payment-mode=' . $purchase_data['post_data']['wpi-gateway']); |
|
200 | 200 | } |
201 | 201 | } else { |
202 | - wpinv_send_back_to_checkout( '?payment-mode=' . $purchase_data['post_data']['wpi-gateway'] ); |
|
202 | + wpinv_send_back_to_checkout('?payment-mode=' . $purchase_data['post_data']['wpi-gateway']); |
|
203 | 203 | } |
204 | 204 | } else { |
205 | - wpinv_record_gateway_error( wp_sprintf( __( 'Authorize.Net payment error occurred. Payment creation failed while processing a Authorize.net payment. Payment data: %s', 'invoicing' ), print_r( $payment_data, true ) ), $invoice ); |
|
206 | - wpinv_send_back_to_checkout( '?payment-mode=' . $purchase_data['post_data']['wpi-gateway'] ); |
|
205 | + wpinv_record_gateway_error(wp_sprintf(__('Authorize.Net payment error occurred. Payment creation failed while processing a Authorize.net payment. Payment data: %s', 'invoicing'), print_r($payment_data, true)), $invoice); |
|
206 | + wpinv_send_back_to_checkout('?payment-mode=' . $purchase_data['post_data']['wpi-gateway']); |
|
207 | 207 | } |
208 | 208 | } |
209 | -add_action( 'wpinv_gateway_authorizenet', 'wpinv_process_authorizenet_payment' ); |
|
209 | +add_action('wpinv_gateway_authorizenet', 'wpinv_process_authorizenet_payment'); |
|
210 | 210 | |
211 | -function wpinv_authorizenet_cancel_subscription( $subscription_id = '' ) { |
|
212 | - if ( empty( $subscription_id ) ) { |
|
211 | +function wpinv_authorizenet_cancel_subscription($subscription_id = '') { |
|
212 | + if (empty($subscription_id)) { |
|
213 | 213 | return false; |
214 | 214 | } |
215 | 215 | |
216 | 216 | try { |
217 | 217 | $authnetXML = wpinv_authorizenet_XML(); |
218 | - $authnetXML->ARBCancelSubscriptionRequest( array( 'subscriptionId' => $subscription_id ) ); |
|
218 | + $authnetXML->ARBCancelSubscriptionRequest(array('subscriptionId' => $subscription_id)); |
|
219 | 219 | |
220 | 220 | return $authnetXML->isSuccessful(); |
221 | - } catch( Exception $e ) { |
|
222 | - wpinv_error_log( $e->getMessage(), __( 'Authorize.Net cancel subscription', 'invoicing' ) ); |
|
221 | + } catch (Exception $e) { |
|
222 | + wpinv_error_log($e->getMessage(), __('Authorize.Net cancel subscription', 'invoicing')); |
|
223 | 223 | } |
224 | 224 | |
225 | 225 | return false; |
226 | 226 | } |
227 | 227 | |
228 | -function wpinv_authorizenet_valid_ipn( $md5_hash, $transaction_id, $amount ) { |
|
229 | - $authorizenet_md5_hash = wpinv_get_option( 'authorizenet_md5_hash' ); |
|
230 | - if ( empty( $authorizenet_md5_hash ) ) { |
|
228 | +function wpinv_authorizenet_valid_ipn($md5_hash, $transaction_id, $amount) { |
|
229 | + $authorizenet_md5_hash = wpinv_get_option('authorizenet_md5_hash'); |
|
230 | + if (empty($authorizenet_md5_hash)) { |
|
231 | 231 | return true; |
232 | 232 | } |
233 | 233 | |
234 | - $compare_md5 = strtoupper( md5( $authorizenet_md5_hash . $transaction_id . $amount ) ); |
|
234 | + $compare_md5 = strtoupper(md5($authorizenet_md5_hash . $transaction_id . $amount)); |
|
235 | 235 | |
236 | - return hash_equals( $compare_md5, $md5_hash ); |
|
236 | + return hash_equals($compare_md5, $md5_hash); |
|
237 | 237 | } |
238 | 238 | |
239 | 239 | function wpinv_authorizenet_AIM() { |
240 | - if ( !class_exists( 'AuthorizeNetException' ) ) { |
|
241 | - require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/gateways/authorizenet/anet_php_sdk/AuthorizeNet.php'; |
|
240 | + if (!class_exists('AuthorizeNetException')) { |
|
241 | + require_once plugin_dir_path(WPINV_PLUGIN_FILE) . 'includes/gateways/authorizenet/anet_php_sdk/AuthorizeNet.php'; |
|
242 | 242 | } |
243 | 243 | |
244 | - $authorizeAIM = new AuthorizeNetAIM( wpinv_get_option( 'authorizenet_login_id' ), wpinv_get_option( 'authorizenet_transaction_key' ) ); |
|
244 | + $authorizeAIM = new AuthorizeNetAIM(wpinv_get_option('authorizenet_login_id'), wpinv_get_option('authorizenet_transaction_key')); |
|
245 | 245 | |
246 | - if ( wpinv_is_test_mode( 'authorizenet' ) ) { |
|
247 | - $authorizeAIM->setSandbox( true ); |
|
246 | + if (wpinv_is_test_mode('authorizenet')) { |
|
247 | + $authorizeAIM->setSandbox(true); |
|
248 | 248 | } else { |
249 | - $authorizeAIM->setSandbox( false ); |
|
249 | + $authorizeAIM->setSandbox(false); |
|
250 | 250 | } |
251 | 251 | |
252 | 252 | $authorizeAIM->customer_ip = wpinv_get_ip(); |
@@ -255,164 +255,164 @@ discard block |
||
255 | 255 | } |
256 | 256 | |
257 | 257 | function wpinv_authorizenet_XML() { |
258 | - if ( !class_exists( 'AuthnetXML' ) ) { |
|
259 | - require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/gateways/authorizenet/Authorize.Net-XML/AuthnetXML.class.php'; |
|
258 | + if (!class_exists('AuthnetXML')) { |
|
259 | + require_once plugin_dir_path(WPINV_PLUGIN_FILE) . 'includes/gateways/authorizenet/Authorize.Net-XML/AuthnetXML.class.php'; |
|
260 | 260 | } |
261 | 261 | |
262 | - $authnetXML = new AuthnetXML( wpinv_get_option( 'authorizenet_login_id' ), wpinv_get_option( 'authorizenet_transaction_key' ), (bool)wpinv_is_test_mode( 'authorizenet' ) ); |
|
262 | + $authnetXML = new AuthnetXML(wpinv_get_option('authorizenet_login_id'), wpinv_get_option('authorizenet_transaction_key'), (bool)wpinv_is_test_mode('authorizenet')); |
|
263 | 263 | |
264 | 264 | return $authnetXML; |
265 | 265 | } |
266 | 266 | |
267 | -function wpinv_authorizenet_handle_response( $response, $invoice, $card_info = array() ) { |
|
268 | - if ( empty( $response ) || empty( $invoice ) ) { |
|
267 | +function wpinv_authorizenet_handle_response($response, $invoice, $card_info = array()) { |
|
268 | + if (empty($response) || empty($invoice)) { |
|
269 | 269 | return false; |
270 | 270 | } |
271 | 271 | |
272 | - if ( !empty( $response->approved ) ) { |
|
273 | - $subscription = wpinv_authorizenet_create_new_subscription( $invoice, $response, $card_info ); |
|
272 | + if (!empty($response->approved)) { |
|
273 | + $subscription = wpinv_authorizenet_create_new_subscription($invoice, $response, $card_info); |
|
274 | 274 | |
275 | - if ( !empty( $subscription ) && $subscription->isSuccessful() ) { |
|
276 | - do_action( 'wpinv_recurring_post_create_subscription', $subscription, $invoice, 'authorizenet' ); |
|
275 | + if (!empty($subscription) && $subscription->isSuccessful()) { |
|
276 | + do_action('wpinv_recurring_post_create_subscription', $subscription, $invoice, 'authorizenet'); |
|
277 | 277 | |
278 | - wpinv_authorizenet_subscription_record_signup( $subscription, $invoice ); |
|
278 | + wpinv_authorizenet_subscription_record_signup($subscription, $invoice); |
|
279 | 279 | |
280 | - do_action( 'wpinv_recurring_post_record_signup', $subscription, $invoice, 'authorizenet' ); |
|
280 | + do_action('wpinv_recurring_post_record_signup', $subscription, $invoice, 'authorizenet'); |
|
281 | 281 | } else { |
282 | - if ( isset( $subscription->messages->message ) ) { |
|
282 | + if (isset($subscription->messages->message)) { |
|
283 | 283 | $error = $subscription->messages->message->code . ': ' . $subscription->messages->message->text; |
284 | - wpinv_set_error( 'wpinv_authorize_recurring_error', $error, 'invoicing' ); |
|
284 | + wpinv_set_error('wpinv_authorize_recurring_error', $error, 'invoicing'); |
|
285 | 285 | } else { |
286 | - $error = __( 'Your subscription cannot be created due to an error.', 'invoicing' ); |
|
287 | - wpinv_set_error( 'wpinv_authorize_recurring_error', $error ); |
|
286 | + $error = __('Your subscription cannot be created due to an error.', 'invoicing'); |
|
287 | + wpinv_set_error('wpinv_authorize_recurring_error', $error); |
|
288 | 288 | } |
289 | 289 | |
290 | - wpinv_record_gateway_error( $error, $subscription ); |
|
290 | + wpinv_record_gateway_error($error, $subscription); |
|
291 | 291 | |
292 | - wpinv_insert_payment_note( $invoice->ID, wp_sprintf( __( 'Authorize.Net subscription error occurred. %s', 'invoicing' ), $error ) ); |
|
292 | + wpinv_insert_payment_note($invoice->ID, wp_sprintf(__('Authorize.Net subscription error occurred. %s', 'invoicing'), $error)); |
|
293 | 293 | } |
294 | 294 | } |
295 | 295 | } |
296 | -add_action( 'wpinv_authorizenet_handle_response', 'wpinv_authorizenet_handle_response', 10, 3 ); |
|
296 | +add_action('wpinv_authorizenet_handle_response', 'wpinv_authorizenet_handle_response', 10, 3); |
|
297 | 297 | |
298 | -function wpinv_authorizenet_create_new_subscription( $invoice, $response = array(), $card_info = array() ) { |
|
299 | - if ( empty( $invoice ) ) { |
|
298 | +function wpinv_authorizenet_create_new_subscription($invoice, $response = array(), $card_info = array()) { |
|
299 | + if (empty($invoice)) { |
|
300 | 300 | return false; |
301 | 301 | } |
302 | 302 | |
303 | - $params = wpinv_authorizenet_generate_subscription_params( $invoice, $card_info, $response ); |
|
303 | + $params = wpinv_authorizenet_generate_subscription_params($invoice, $card_info, $response); |
|
304 | 304 | |
305 | 305 | try { |
306 | 306 | $authnetXML = wpinv_authorizenet_XML(); |
307 | - $authnetXML->ARBCreateSubscriptionRequest( $params ); |
|
308 | - } catch( Exception $e ) { |
|
307 | + $authnetXML->ARBCreateSubscriptionRequest($params); |
|
308 | + } catch (Exception $e) { |
|
309 | 309 | $authnetXML = array(); |
310 | - wpinv_error_log( $e->getMessage(), __( 'Authorize.Net cancel subscription', 'invoicing' ) ); |
|
310 | + wpinv_error_log($e->getMessage(), __('Authorize.Net cancel subscription', 'invoicing')); |
|
311 | 311 | } |
312 | 312 | |
313 | 313 | return $authnetXML; |
314 | 314 | } |
315 | 315 | |
316 | -function wpinv_authorizenet_generate_subscription_params( $invoice, $card_info = array(), $response = array() ) { |
|
317 | - if ( empty( $invoice ) ) { |
|
316 | +function wpinv_authorizenet_generate_subscription_params($invoice, $card_info = array(), $response = array()) { |
|
317 | + if (empty($invoice)) { |
|
318 | 318 | return false; |
319 | 319 | } |
320 | 320 | |
321 | - $subscription_item = $invoice->get_recurring( true ); |
|
322 | - if ( empty( $subscription_item ) ) { |
|
321 | + $subscription_item = $invoice->get_recurring(true); |
|
322 | + if (empty($subscription_item)) { |
|
323 | 323 | return false; |
324 | 324 | } |
325 | 325 | |
326 | - $card_details = wpinv_authorizenet_generate_card_info( $card_info ); |
|
326 | + $card_details = wpinv_authorizenet_generate_card_info($card_info); |
|
327 | 327 | $subscription_name = $invoice->get_subscription_name(); |
328 | - $initial_amount = wpinv_round_amount( $invoice->get_total() ); |
|
329 | - $recurring_amount = wpinv_round_amount( $invoice->get_recurring_details( 'total' ) ); |
|
328 | + $initial_amount = wpinv_round_amount($invoice->get_total()); |
|
329 | + $recurring_amount = wpinv_round_amount($invoice->get_recurring_details('total')); |
|
330 | 330 | $interval = $subscription_item->get_recurring_interval(); |
331 | 331 | $period = $subscription_item->get_recurring_period(); |
332 | 332 | $bill_times = (int)$subscription_item->get_recurring_limit(); |
333 | 333 | $bill_times = $bill_times > 0 ? $bill_times : 9999; |
334 | 334 | |
335 | - $time_period = wpinv_authorizenet_get_time_period( $interval, $period ); |
|
335 | + $time_period = wpinv_authorizenet_get_time_period($interval, $period); |
|
336 | 336 | $interval = $time_period['interval']; |
337 | 337 | $period = $time_period['period']; |
338 | 338 | |
339 | 339 | $current_tz = date_default_timezone_get(); |
340 | - date_default_timezone_set( 'America/Denver' ); // Set same timezone as Authorize's server (Mountain Time) to prevent conflicts. |
|
341 | - $today = date( 'Y-m-d' ); |
|
342 | - date_default_timezone_set( $current_tz ); |
|
340 | + date_default_timezone_set('America/Denver'); // Set same timezone as Authorize's server (Mountain Time) to prevent conflicts. |
|
341 | + $today = date('Y-m-d'); |
|
342 | + date_default_timezone_set($current_tz); |
|
343 | 343 | |
344 | 344 | $free_trial = $invoice->is_free_trial(); |
345 | - if ( $free_trial && $subscription_item->has_free_trial() ) { |
|
345 | + if ($free_trial && $subscription_item->has_free_trial()) { |
|
346 | 346 | $trial_interval = $subscription_item->get_trial_interval(); |
347 | - $trial_period = $subscription_item->get_trial_period( true ); |
|
347 | + $trial_period = $subscription_item->get_trial_period(true); |
|
348 | 348 | } |
349 | 349 | |
350 | 350 | $subscription = array(); |
351 | 351 | $subscription['name'] = $subscription_name; |
352 | 352 | |
353 | 353 | $subscription['paymentSchedule'] = array( |
354 | - 'interval' => array( 'length' => $interval, 'unit' => $period ), |
|
354 | + 'interval' => array('length' => $interval, 'unit' => $period), |
|
355 | 355 | 'startDate' => $today, |
356 | 356 | 'totalOccurrences' => $bill_times, |
357 | - 'trialOccurrences' => $free_trial || ( $initial_amount != $recurring_amount ) ? 1 : 0, |
|
357 | + 'trialOccurrences' => $free_trial || ($initial_amount != $recurring_amount) ? 1 : 0, |
|
358 | 358 | ); |
359 | 359 | |
360 | 360 | $subscription['amount'] = $recurring_amount; |
361 | 361 | $subscription['trialAmount'] = $initial_amount; |
362 | - $subscription['payment'] = array( 'creditCard' => $card_details ); |
|
363 | - $subscription['order'] = array( 'invoiceNumber' => $invoice->ID, 'description' => '#' . $invoice->get_number() ); |
|
364 | - $subscription['customer'] = array( 'id' => $invoice->get_user_id(), 'email' => $invoice->get_email(), 'phoneNumber' => $invoice->phone ); |
|
362 | + $subscription['payment'] = array('creditCard' => $card_details); |
|
363 | + $subscription['order'] = array('invoiceNumber' => $invoice->ID, 'description' => '#' . $invoice->get_number()); |
|
364 | + $subscription['customer'] = array('id' => $invoice->get_user_id(), 'email' => $invoice->get_email(), 'phoneNumber' => $invoice->phone); |
|
365 | 365 | |
366 | 366 | $subscription['billTo'] = array( |
367 | 367 | 'firstName' => $invoice->get_first_name(), |
368 | 368 | 'lastName' => $invoice->get_last_name(), |
369 | 369 | 'company' => $invoice->company, |
370 | - 'address' => wp_strip_all_tags( $invoice->get_address(), true ), |
|
370 | + 'address' => wp_strip_all_tags($invoice->get_address(), true), |
|
371 | 371 | 'city' => $invoice->city, |
372 | 372 | 'state' => $invoice->state, |
373 | 373 | 'zip' => $invoice->zip, |
374 | 374 | 'country' => $invoice->country, |
375 | 375 | ); |
376 | 376 | |
377 | - $params = array( 'subscription' => $subscription ); |
|
377 | + $params = array('subscription' => $subscription); |
|
378 | 378 | |
379 | - return apply_filters( 'wpinv_authorizenet_generate_subscription_params', $params, $invoice, $card_info, $response ); |
|
379 | + return apply_filters('wpinv_authorizenet_generate_subscription_params', $params, $invoice, $card_info, $response); |
|
380 | 380 | } |
381 | 381 | |
382 | -function wpinv_authorizenet_generate_card_info( $card_info = array() ) { |
|
383 | - $card_defaults = array( |
|
382 | +function wpinv_authorizenet_generate_card_info($card_info = array()) { |
|
383 | + $card_defaults = array( |
|
384 | 384 | 'cc_owner' => null, |
385 | 385 | 'cc_number' => null, |
386 | 386 | 'cc_expire_month' => null, |
387 | 387 | 'cc_expire_year' => null, |
388 | 388 | 'cc_cvv2' => null, |
389 | 389 | ); |
390 | - $card_info = wp_parse_args( $card_info, $card_defaults ); |
|
390 | + $card_info = wp_parse_args($card_info, $card_defaults); |
|
391 | 391 | |
392 | 392 | $card_details = array( |
393 | - 'cardNumber' => str_replace( ' ', '', sanitize_text_field( $card_info['cc_number'] ) ), |
|
394 | - 'expirationDate' => sanitize_text_field( $card_info['cc_expire_month'] ) . sanitize_text_field( $card_info['cc_expire_year'] ), |
|
395 | - 'cardCode' => sanitize_text_field( $card_info['cc_cvv2'] ), |
|
393 | + 'cardNumber' => str_replace(' ', '', sanitize_text_field($card_info['cc_number'])), |
|
394 | + 'expirationDate' => sanitize_text_field($card_info['cc_expire_month']) . sanitize_text_field($card_info['cc_expire_year']), |
|
395 | + 'cardCode' => sanitize_text_field($card_info['cc_cvv2']), |
|
396 | 396 | ); |
397 | 397 | |
398 | 398 | return $card_details; |
399 | 399 | } |
400 | 400 | |
401 | -function wpinv_authorizenet_subscription_record_signup( $subscription, $invoice ) { |
|
402 | - if ( empty( $invoice ) || empty( $subscription ) ) { |
|
401 | +function wpinv_authorizenet_subscription_record_signup($subscription, $invoice) { |
|
402 | + if (empty($invoice) || empty($subscription)) { |
|
403 | 403 | return false; |
404 | 404 | } |
405 | 405 | |
406 | - $subscription_item = $invoice->get_recurring( true ); |
|
407 | - if ( empty( $subscription_item ) ) { |
|
406 | + $subscription_item = $invoice->get_recurring(true); |
|
407 | + if (empty($subscription_item)) { |
|
408 | 408 | return false; |
409 | 409 | } |
410 | 410 | |
411 | 411 | $invoice_id = $invoice->ID; |
412 | 412 | $subscriptionId = (array)$subscription->subscriptionId; |
413 | - $subscription_id = !empty( $subscriptionId[0] ) ? $subscriptionId[0] : $invoice_id; |
|
413 | + $subscription_id = !empty($subscriptionId[0]) ? $subscriptionId[0] : $invoice_id; |
|
414 | 414 | |
415 | - wpinv_insert_payment_note( $invoice_id, sprintf( __( 'Authorize.Net Subscription ID: %s', 'invoicing' ) , $subscription_id ) ); |
|
415 | + wpinv_insert_payment_note($invoice_id, sprintf(__('Authorize.Net Subscription ID: %s', 'invoicing'), $subscription_id)); |
|
416 | 416 | |
417 | 417 | $status = $invoice->is_free_trial() && $subscription_item->has_free_trial() ? 'trialing' : 'active'; |
418 | 418 | |
@@ -420,16 +420,16 @@ discard block |
||
420 | 420 | 'profile_id' => $subscription_id, |
421 | 421 | 'item_id' => $subscription_item->ID, |
422 | 422 | 'initial_amount' => $invoice->get_total(), |
423 | - 'recurring_amount' => $invoice->get_recurring_details( 'total' ), |
|
423 | + 'recurring_amount' => $invoice->get_recurring_details('total'), |
|
424 | 424 | 'period' => $subscription_item->get_recurring_period(), |
425 | 425 | 'interval' => $subscription_item->get_recurring_interval(), |
426 | 426 | 'bill_times' => $subscription_item->get_recurring_limit(), |
427 | - 'expiration' => $invoice->get_new_expiration( $subscription_item->ID ), |
|
427 | + 'expiration' => $invoice->get_new_expiration($subscription_item->ID), |
|
428 | 428 | 'status' => $status, |
429 | - 'created' => current_time( 'mysql', 0 ) |
|
429 | + 'created' => current_time('mysql', 0) |
|
430 | 430 | ); |
431 | 431 | |
432 | - if ( $invoice->is_free_trial() && $subscription_item->has_free_trial() ) { |
|
432 | + if ($invoice->is_free_trial() && $subscription_item->has_free_trial()) { |
|
433 | 433 | $args['trial_period'] = $subscription_item->get_trial_period(); |
434 | 434 | $args['trial_interval'] = $subscription_item->get_trial_interval(); |
435 | 435 | } else { |
@@ -437,58 +437,58 @@ discard block |
||
437 | 437 | $args['trial_interval'] = 0; |
438 | 438 | } |
439 | 439 | |
440 | - return $invoice->update_subscription( $args ); |
|
440 | + return $invoice->update_subscription($args); |
|
441 | 441 | } |
442 | 442 | |
443 | -function wpinv_authorizenet_validate_checkout( $valid_data, $post ) { |
|
444 | - if ( !empty( $post['wpi-gateway'] ) && $post['wpi-gateway'] == 'authorizenet' ) { |
|
443 | +function wpinv_authorizenet_validate_checkout($valid_data, $post) { |
|
444 | + if (!empty($post['wpi-gateway']) && $post['wpi-gateway'] == 'authorizenet') { |
|
445 | 445 | $error = false; |
446 | 446 | |
447 | - if ( empty( $post['authorizenet']['cc_owner'] ) ) { |
|
447 | + if (empty($post['authorizenet']['cc_owner'])) { |
|
448 | 448 | $error = true; |
449 | - wpinv_set_error( 'empty_card_name', __( 'You must enter the name on your card!', 'invoicing')); |
|
449 | + wpinv_set_error('empty_card_name', __('You must enter the name on your card!', 'invoicing')); |
|
450 | 450 | } |
451 | - if ( empty( $post['authorizenet']['cc_number'] ) ) { |
|
451 | + if (empty($post['authorizenet']['cc_number'])) { |
|
452 | 452 | $error = true; |
453 | - wpinv_set_error( 'empty_card', __( 'You must enter a card number!', 'invoicing')); |
|
453 | + wpinv_set_error('empty_card', __('You must enter a card number!', 'invoicing')); |
|
454 | 454 | } |
455 | - if ( empty( $post['authorizenet']['cc_expire_month'] ) ) { |
|
455 | + if (empty($post['authorizenet']['cc_expire_month'])) { |
|
456 | 456 | $error = true; |
457 | - wpinv_set_error( 'empty_month', __( 'You must enter an card expiration month!', 'invoicing')); |
|
457 | + wpinv_set_error('empty_month', __('You must enter an card expiration month!', 'invoicing')); |
|
458 | 458 | } |
459 | - if ( empty( $post['authorizenet']['cc_expire_year'] ) ) { |
|
459 | + if (empty($post['authorizenet']['cc_expire_year'])) { |
|
460 | 460 | $error = true; |
461 | - wpinv_set_error( 'empty_year', __( 'You must enter an card expiration year!', 'invoicing')); |
|
461 | + wpinv_set_error('empty_year', __('You must enter an card expiration year!', 'invoicing')); |
|
462 | 462 | } |
463 | - if ( empty( $post['authorizenet']['cc_cvv2'] ) ) { |
|
463 | + if (empty($post['authorizenet']['cc_cvv2'])) { |
|
464 | 464 | $error = true; |
465 | - wpinv_set_error( 'empty_cvv2', __( 'You must enter a valid CVV2!', 'invoicing' ) ); |
|
465 | + wpinv_set_error('empty_cvv2', __('You must enter a valid CVV2!', 'invoicing')); |
|
466 | 466 | } |
467 | 467 | |
468 | - if ( $error ) { |
|
468 | + if ($error) { |
|
469 | 469 | return; |
470 | 470 | } |
471 | 471 | |
472 | 472 | $invoice = wpinv_get_invoice_cart(); |
473 | 473 | |
474 | - if ( !empty( $invoice ) && $subscription_item = $invoice->get_recurring( true ) ) { |
|
475 | - $subscription_item = $invoice->get_recurring( true ); |
|
474 | + if (!empty($invoice) && $subscription_item = $invoice->get_recurring(true)) { |
|
475 | + $subscription_item = $invoice->get_recurring(true); |
|
476 | 476 | |
477 | 477 | $interval = $subscription_item->get_recurring_interval(); |
478 | 478 | $period = $subscription_item->get_recurring_period(); |
479 | 479 | |
480 | - if ( $period == 'D' && ( $interval < 7 || $interval > 365 ) ) { |
|
481 | - wpinv_set_error( 'authorizenet_subscription_error', __( 'Interval Length must be a value from 7 through 365 for day based subscriptions.', 'invoicing' ) ); |
|
480 | + if ($period == 'D' && ($interval < 7 || $interval > 365)) { |
|
481 | + wpinv_set_error('authorizenet_subscription_error', __('Interval Length must be a value from 7 through 365 for day based subscriptions.', 'invoicing')); |
|
482 | 482 | } |
483 | 483 | } |
484 | 484 | } |
485 | 485 | } |
486 | -add_action( 'wpinv_checkout_error_checks', 'wpinv_authorizenet_validate_checkout', 11, 2 ); |
|
486 | +add_action('wpinv_checkout_error_checks', 'wpinv_authorizenet_validate_checkout', 11, 2); |
|
487 | 487 | |
488 | -function wpinv_authorizenet_get_time_period( $subscription_interval, $subscription_period ) { |
|
489 | - $subscription_interval = absint( $subscription_interval ); |
|
488 | +function wpinv_authorizenet_get_time_period($subscription_interval, $subscription_period) { |
|
489 | + $subscription_interval = absint($subscription_interval); |
|
490 | 490 | |
491 | - switch( $subscription_period ) { |
|
491 | + switch ($subscription_period) { |
|
492 | 492 | case 'W': |
493 | 493 | case 'week': |
494 | 494 | case 'weeks': |
@@ -498,14 +498,14 @@ discard block |
||
498 | 498 | case 'M': |
499 | 499 | case 'month': |
500 | 500 | case 'months': |
501 | - if ( $subscription_interval > 12 ) { |
|
501 | + if ($subscription_interval > 12) { |
|
502 | 502 | $subscription_interval = 12; |
503 | 503 | } |
504 | 504 | |
505 | 505 | $interval = $subscription_interval; |
506 | 506 | $period = 'months'; |
507 | 507 | |
508 | - if ( !( $subscription_interval === 1 || $subscription_interval === 2 || $subscription_interval === 3 || $subscription_interval === 6 || $subscription_interval === 12 ) ) { |
|
508 | + if (!($subscription_interval === 1 || $subscription_interval === 2 || $subscription_interval === 3 || $subscription_interval === 6 || $subscription_interval === 12)) { |
|
509 | 509 | $interval = $subscription_interval * 30; |
510 | 510 | $period = 'days'; |
511 | 511 | } |
@@ -522,40 +522,40 @@ discard block |
||
522 | 522 | break; |
523 | 523 | } |
524 | 524 | |
525 | - return compact( 'interval', 'period' ); |
|
525 | + return compact('interval', 'period'); |
|
526 | 526 | } |
527 | 527 | |
528 | 528 | function wpinv_authorizenet_process_ipn() { |
529 | - if ( !( !empty( $_REQUEST['wpi-gateway'] ) && $_REQUEST['wpi-gateway'] == 'authorizenet' ) ) { |
|
529 | + if (!(!empty($_REQUEST['wpi-gateway']) && $_REQUEST['wpi-gateway'] == 'authorizenet')) { |
|
530 | 530 | return; |
531 | 531 | } |
532 | 532 | |
533 | - $subscription_id = intval( $_POST['x_subscription_id'] ); |
|
533 | + $subscription_id = intval($_POST['x_subscription_id']); |
|
534 | 534 | |
535 | - if ( $subscription_id ) { |
|
536 | - $transaction_id = sanitize_text_field( $_POST['x_trans_id'] ); |
|
537 | - $renewal_amount = sanitize_text_field( $_POST['x_amount'] ); |
|
538 | - $response_code = intval( $_POST['x_response_code'] ); |
|
539 | - $reason_code = intval( $_POST['x_response_reason_code'] ); |
|
535 | + if ($subscription_id) { |
|
536 | + $transaction_id = sanitize_text_field($_POST['x_trans_id']); |
|
537 | + $renewal_amount = sanitize_text_field($_POST['x_amount']); |
|
538 | + $response_code = intval($_POST['x_response_code']); |
|
539 | + $reason_code = intval($_POST['x_response_reason_code']); |
|
540 | 540 | |
541 | - if ( 1 == $response_code ) { |
|
541 | + if (1 == $response_code) { |
|
542 | 542 | // Approved |
543 | - do_action( 'wpinv_authorizenet_renewal_payment', $transaction_id ); |
|
544 | - } else if ( 2 == $response_code ) { |
|
543 | + do_action('wpinv_authorizenet_renewal_payment', $transaction_id); |
|
544 | + } else if (2 == $response_code) { |
|
545 | 545 | // Declined |
546 | - do_action( 'wpinv_authorizenet_renewal_payment_failed', $transaction_id ); |
|
547 | - do_action( 'wpinv_authorizenet_renewal_error', $transaction_id ); |
|
548 | - } else if ( 3 == $response_code || 8 == $reason_code ) { |
|
546 | + do_action('wpinv_authorizenet_renewal_payment_failed', $transaction_id); |
|
547 | + do_action('wpinv_authorizenet_renewal_error', $transaction_id); |
|
548 | + } else if (3 == $response_code || 8 == $reason_code) { |
|
549 | 549 | // An expired card |
550 | - do_action( 'wpinv_authorizenet_renewal_payment_failed', $transaction_id ); |
|
551 | - do_action( 'wpinv_authorizenet_renewal_payment_error', $transaction_id ); |
|
550 | + do_action('wpinv_authorizenet_renewal_payment_failed', $transaction_id); |
|
551 | + do_action('wpinv_authorizenet_renewal_payment_error', $transaction_id); |
|
552 | 552 | |
553 | 553 | } else { |
554 | 554 | // Other Error |
555 | - do_action( 'wpinv_authorizenet_renewal_payment_error', $subscription ); |
|
555 | + do_action('wpinv_authorizenet_renewal_payment_error', $subscription); |
|
556 | 556 | } |
557 | 557 | |
558 | 558 | exit; |
559 | 559 | } |
560 | 560 | } |
561 | -add_action( 'wpinv_verify_authorizenet_ipn', 'wpinv_authorizenet_process_ipn' ); |
|
562 | 561 | \ No newline at end of file |
562 | +add_action('wpinv_verify_authorizenet_ipn', 'wpinv_authorizenet_process_ipn'); |
|
563 | 563 | \ No newline at end of file |
@@ -1,13 +1,13 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | // Exit if accessed directly |
3 | -if ( ! defined( 'ABSPATH' ) ) exit; |
|
3 | +if (!defined('ABSPATH')) exit; |
|
4 | 4 | |
5 | -add_action( 'wpinv_paypal_cc_form', '__return_false' ); |
|
6 | -add_filter( 'wpinv_paypal_support_subscription', '__return_true' ); |
|
5 | +add_action('wpinv_paypal_cc_form', '__return_false'); |
|
6 | +add_filter('wpinv_paypal_support_subscription', '__return_true'); |
|
7 | 7 | |
8 | -function wpinv_process_paypal_payment( $purchase_data ) { |
|
9 | - if( ! wp_verify_nonce( $purchase_data['gateway_nonce'], 'wpi-gateway' ) ) { |
|
10 | - wp_die( __( 'Nonce verification has failed', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) ); |
|
8 | +function wpinv_process_paypal_payment($purchase_data) { |
|
9 | + if (!wp_verify_nonce($purchase_data['gateway_nonce'], 'wpi-gateway')) { |
|
10 | + wp_die(__('Nonce verification has failed', 'invoicing'), __('Error', 'invoicing'), array('response' => 403)); |
|
11 | 11 | } |
12 | 12 | |
13 | 13 | // Collect payment data |
@@ -21,34 +21,34 @@ discard block |
||
21 | 21 | 'user_info' => $purchase_data['user_info'], |
22 | 22 | 'cart_details' => $purchase_data['cart_details'], |
23 | 23 | 'gateway' => 'paypal', |
24 | - 'status' => !empty( $purchase_data['buy_now'] ) ? 'private' : 'pending' |
|
24 | + 'status' => !empty($purchase_data['buy_now']) ? 'private' : 'pending' |
|
25 | 25 | ); |
26 | 26 | |
27 | 27 | // Record the pending payment |
28 | - $invoice = wpinv_get_invoice( $purchase_data['invoice_id'] ); |
|
28 | + $invoice = wpinv_get_invoice($purchase_data['invoice_id']); |
|
29 | 29 | |
30 | 30 | // Check payment |
31 | - if ( ! $invoice ) { |
|
31 | + if (!$invoice) { |
|
32 | 32 | // Record the error |
33 | - wpinv_record_gateway_error( __( 'Payment Error', 'invoicing' ), sprintf( __( 'Payment creation failed before sending buyer to PayPal. Payment data: %s', 'invoicing' ), json_encode( $payment_data ) ), $payment ); |
|
33 | + wpinv_record_gateway_error(__('Payment Error', 'invoicing'), sprintf(__('Payment creation failed before sending buyer to PayPal. Payment data: %s', 'invoicing'), json_encode($payment_data)), $payment); |
|
34 | 34 | // Problems? send back |
35 | - wpinv_send_back_to_checkout( '?payment-mode=' . $purchase_data['post_data']['wpi-gateway'] ); |
|
35 | + wpinv_send_back_to_checkout('?payment-mode=' . $purchase_data['post_data']['wpi-gateway']); |
|
36 | 36 | } else { |
37 | 37 | // Only send to PayPal if the pending payment is created successfully |
38 | - $listener_url = wpinv_get_ipn_url( 'paypal' ); |
|
38 | + $listener_url = wpinv_get_ipn_url('paypal'); |
|
39 | 39 | |
40 | 40 | // Get the success url |
41 | - $return_url = add_query_arg( array( |
|
41 | + $return_url = add_query_arg(array( |
|
42 | 42 | 'payment-confirm' => 'paypal', |
43 | 43 | 'invoice-id' => $invoice->ID |
44 | - ), get_permalink( wpinv_get_option( 'success_page', false ) ) ); |
|
44 | + ), get_permalink(wpinv_get_option('success_page', false))); |
|
45 | 45 | |
46 | 46 | // Get the PayPal redirect uri |
47 | - $paypal_redirect = trailingslashit( wpinv_get_paypal_redirect() ) . '?'; |
|
47 | + $paypal_redirect = trailingslashit(wpinv_get_paypal_redirect()) . '?'; |
|
48 | 48 | |
49 | 49 | // Setup PayPal arguments |
50 | 50 | $paypal_args = array( |
51 | - 'business' => wpinv_get_option( 'paypal_email', false ), |
|
51 | + 'business' => wpinv_get_option('paypal_email', false), |
|
52 | 52 | 'email' => $invoice->get_email(), |
53 | 53 | 'first_name' => $invoice->get_first_name(), |
54 | 54 | 'last_name' => $invoice->get_last_name(), |
@@ -57,13 +57,13 @@ discard block |
||
57 | 57 | 'shipping' => '0', |
58 | 58 | 'no_note' => '1', |
59 | 59 | 'currency_code' => wpinv_get_currency(), |
60 | - 'charset' => get_bloginfo( 'charset' ), |
|
60 | + 'charset' => get_bloginfo('charset'), |
|
61 | 61 | 'custom' => $invoice->ID, |
62 | 62 | 'rm' => '2', |
63 | 63 | 'return' => $return_url, |
64 | - 'cancel_return' => wpinv_get_failed_transaction_uri( '?invoice-id=' . $invoice->ID ), |
|
64 | + 'cancel_return' => wpinv_get_failed_transaction_uri('?invoice-id=' . $invoice->ID), |
|
65 | 65 | 'notify_url' => $listener_url, |
66 | - 'cbt' => get_bloginfo( 'name' ), |
|
66 | + 'cbt' => get_bloginfo('name'), |
|
67 | 67 | 'bn' => 'WPInvoicing_SP', |
68 | 68 | 'lc' => 'US' // this will force paypal site to english |
69 | 69 | ); |
@@ -79,57 +79,57 @@ discard block |
||
79 | 79 | 'upload' => '1' |
80 | 80 | ); |
81 | 81 | |
82 | - $paypal_args = array_merge( $paypal_extra_args, $paypal_args ); |
|
82 | + $paypal_args = array_merge($paypal_extra_args, $paypal_args); |
|
83 | 83 | |
84 | 84 | // Add cart items |
85 | 85 | $i = 1; |
86 | - if( is_array( $purchase_data['cart_details'] ) && ! empty( $purchase_data['cart_details'] ) ) { |
|
87 | - foreach ( $purchase_data['cart_details'] as $item ) { |
|
86 | + if (is_array($purchase_data['cart_details']) && !empty($purchase_data['cart_details'])) { |
|
87 | + foreach ($purchase_data['cart_details'] as $item) { |
|
88 | 88 | $item['quantity'] = $item['quantity'] > 0 ? $item['quantity'] : 1; |
89 | - $item_amount = round( $item['subtotal'] / $item['quantity'], 2 ); |
|
89 | + $item_amount = round($item['subtotal'] / $item['quantity'], 2); |
|
90 | 90 | |
91 | - if ( $item_amount <= 0 ) { |
|
91 | + if ($item_amount <= 0) { |
|
92 | 92 | $item_amount = 0; |
93 | 93 | } |
94 | 94 | |
95 | - $paypal_args['item_number_' . $i ] = $item['id']; |
|
96 | - $paypal_args['item_name_' . $i ] = stripslashes_deep( html_entity_decode( wpinv_get_cart_item_name( $item ), ENT_COMPAT, 'UTF-8' ) ); |
|
97 | - $paypal_args['quantity_' . $i ] = $item['quantity']; |
|
98 | - $paypal_args['amount_' . $i ] = $item_amount; |
|
99 | - $paypal_args['discount_amount_' . $i ] = $item['discount']; |
|
95 | + $paypal_args['item_number_' . $i] = $item['id']; |
|
96 | + $paypal_args['item_name_' . $i] = stripslashes_deep(html_entity_decode(wpinv_get_cart_item_name($item), ENT_COMPAT, 'UTF-8')); |
|
97 | + $paypal_args['quantity_' . $i] = $item['quantity']; |
|
98 | + $paypal_args['amount_' . $i] = $item_amount; |
|
99 | + $paypal_args['discount_amount_' . $i] = $item['discount']; |
|
100 | 100 | |
101 | 101 | $i++; |
102 | 102 | } |
103 | 103 | } |
104 | 104 | |
105 | 105 | // Add taxes to the cart |
106 | - if ( wpinv_use_taxes() ) { |
|
107 | - $paypal_args['tax_cart'] = wpinv_sanitize_amount( (float)$invoice->get_tax() ); |
|
106 | + if (wpinv_use_taxes()) { |
|
107 | + $paypal_args['tax_cart'] = wpinv_sanitize_amount((float)$invoice->get_tax()); |
|
108 | 108 | } |
109 | 109 | |
110 | - $paypal_args = apply_filters( 'wpinv_paypal_args', $paypal_args, $purchase_data, $invoice ); |
|
110 | + $paypal_args = apply_filters('wpinv_paypal_args', $paypal_args, $purchase_data, $invoice); |
|
111 | 111 | |
112 | 112 | // Build query |
113 | - $paypal_redirect .= http_build_query( $paypal_args ); |
|
113 | + $paypal_redirect .= http_build_query($paypal_args); |
|
114 | 114 | |
115 | 115 | // Fix for some sites that encode the entities |
116 | - $paypal_redirect = str_replace( '&', '&', $paypal_redirect ); |
|
116 | + $paypal_redirect = str_replace('&', '&', $paypal_redirect); |
|
117 | 117 | |
118 | 118 | // Get rid of cart contents |
119 | 119 | wpinv_empty_cart(); |
120 | 120 | |
121 | 121 | // Redirect to PayPal |
122 | - wp_redirect( $paypal_redirect ); |
|
122 | + wp_redirect($paypal_redirect); |
|
123 | 123 | exit; |
124 | 124 | } |
125 | 125 | } |
126 | -add_action( 'wpinv_gateway_paypal', 'wpinv_process_paypal_payment' ); |
|
126 | +add_action('wpinv_gateway_paypal', 'wpinv_process_paypal_payment'); |
|
127 | 127 | |
128 | -function wpinv_get_paypal_recurring_args( $paypal_args, $purchase_data, $invoice ) { |
|
129 | - if ( $invoice->is_recurring() && $item_id = $invoice->get_recurring() ) { |
|
130 | - $item = new WPInv_Item( $item_id ); |
|
128 | +function wpinv_get_paypal_recurring_args($paypal_args, $purchase_data, $invoice) { |
|
129 | + if ($invoice->is_recurring() && $item_id = $invoice->get_recurring()) { |
|
130 | + $item = new WPInv_Item($item_id); |
|
131 | 131 | |
132 | - if ( empty( $item ) ) { |
|
132 | + if (empty($item)) { |
|
133 | 133 | return $paypal_args; |
134 | 134 | } |
135 | 135 | |
@@ -137,24 +137,24 @@ discard block |
||
137 | 137 | $interval = $item->get_recurring_interval(); |
138 | 138 | $bill_times = (int)$item->get_recurring_limit(); |
139 | 139 | |
140 | - $initial_amount = wpinv_round_amount( $invoice->get_total() ); |
|
141 | - $recurring_amount = wpinv_round_amount( $invoice->get_recurring_details( 'total' ) ); |
|
140 | + $initial_amount = wpinv_round_amount($invoice->get_total()); |
|
141 | + $recurring_amount = wpinv_round_amount($invoice->get_recurring_details('total')); |
|
142 | 142 | |
143 | 143 | $paypal_args['cmd'] = '_xclick-subscriptions'; |
144 | 144 | $paypal_args['sra'] = '1'; |
145 | 145 | $paypal_args['src'] = '1'; |
146 | 146 | |
147 | 147 | // Set item description |
148 | - $paypal_args['item_name'] = stripslashes_deep( html_entity_decode( wpinv_get_cart_item_name( array( 'id' => $item->ID ) ), ENT_COMPAT, 'UTF-8' ) ); |
|
148 | + $paypal_args['item_name'] = stripslashes_deep(html_entity_decode(wpinv_get_cart_item_name(array('id' => $item->ID)), ENT_COMPAT, 'UTF-8')); |
|
149 | 149 | |
150 | - if ( $invoice->is_free_trial() && $item->has_free_trial() ) { |
|
150 | + if ($invoice->is_free_trial() && $item->has_free_trial()) { |
|
151 | 151 | $paypal_args['a1'] = $initial_amount; |
152 | 152 | $paypal_args['p1'] = $item->get_trial_interval(); |
153 | 153 | $paypal_args['t1'] = $item->get_trial_period(); |
154 | 154 | |
155 | 155 | // Set the recurring amount |
156 | 156 | $paypal_args['a3'] = $recurring_amount; |
157 | - } else if ( $initial_amount != $recurring_amount && $bill_times != 1 ) { |
|
157 | + } else if ($initial_amount != $recurring_amount && $bill_times != 1) { |
|
158 | 158 | $paypal_args['a1'] = $initial_amount; |
159 | 159 | $paypal_args['p1'] = $interval; |
160 | 160 | $paypal_args['t1'] = $period; |
@@ -162,63 +162,63 @@ discard block |
||
162 | 162 | // Set the recurring amount |
163 | 163 | $paypal_args['a3'] = $recurring_amount; |
164 | 164 | |
165 | - if ( $bill_times > 1 ) { |
|
165 | + if ($bill_times > 1) { |
|
166 | 166 | $bill_times--; |
167 | 167 | } |
168 | 168 | } else { |
169 | - $paypal_args['a3'] = $initial_amount; |
|
169 | + $paypal_args['a3'] = $initial_amount; |
|
170 | 170 | } |
171 | 171 | |
172 | 172 | $paypal_args['p3'] = $interval; |
173 | 173 | $paypal_args['t3'] = $period; |
174 | 174 | |
175 | - if ( $bill_times > 1 ) { |
|
175 | + if ($bill_times > 1) { |
|
176 | 176 | // Make sure it's not over the max of 52 |
177 | - $paypal_args['srt'] = ( $bill_times <= 52 ? absint( $bill_times ) : 52 ); |
|
177 | + $paypal_args['srt'] = ($bill_times <= 52 ? absint($bill_times) : 52); |
|
178 | 178 | } |
179 | 179 | |
180 | 180 | // Remove cart items |
181 | 181 | $i = 1; |
182 | - if( is_array( $purchase_data['cart_details'] ) && ! empty( $purchase_data['cart_details'] ) ) { |
|
183 | - foreach ( $purchase_data['cart_details'] as $item ) { |
|
184 | - if ( isset( $paypal_args['item_number_' . $i] ) ) { |
|
185 | - unset( $paypal_args['item_number_' . $i] ); |
|
182 | + if (is_array($purchase_data['cart_details']) && !empty($purchase_data['cart_details'])) { |
|
183 | + foreach ($purchase_data['cart_details'] as $item) { |
|
184 | + if (isset($paypal_args['item_number_' . $i])) { |
|
185 | + unset($paypal_args['item_number_' . $i]); |
|
186 | 186 | } |
187 | - if ( isset( $paypal_args['item_name_' . $i] ) ) { |
|
188 | - unset( $paypal_args['item_name_' . $i] ); |
|
187 | + if (isset($paypal_args['item_name_' . $i])) { |
|
188 | + unset($paypal_args['item_name_' . $i]); |
|
189 | 189 | } |
190 | - if ( isset( $paypal_args['quantity_' . $i] ) ) { |
|
191 | - unset( $paypal_args['quantity_' . $i] ); |
|
190 | + if (isset($paypal_args['quantity_' . $i])) { |
|
191 | + unset($paypal_args['quantity_' . $i]); |
|
192 | 192 | } |
193 | - if ( isset( $paypal_args['amount_' . $i] ) ) { |
|
194 | - unset( $paypal_args['amount_' . $i] ); |
|
193 | + if (isset($paypal_args['amount_' . $i])) { |
|
194 | + unset($paypal_args['amount_' . $i]); |
|
195 | 195 | } |
196 | - if ( isset( $paypal_args['discount_amount_' . $i] ) ) { |
|
197 | - unset( $paypal_args['discount_amount_' . $i] ); |
|
196 | + if (isset($paypal_args['discount_amount_' . $i])) { |
|
197 | + unset($paypal_args['discount_amount_' . $i]); |
|
198 | 198 | } |
199 | 199 | |
200 | 200 | $i++; |
201 | 201 | } |
202 | 202 | } |
203 | 203 | |
204 | - if ( isset( $paypal_args['tax_cart'] ) ) { |
|
205 | - unset( $paypal_args['tax_cart'] ); |
|
204 | + if (isset($paypal_args['tax_cart'])) { |
|
205 | + unset($paypal_args['tax_cart']); |
|
206 | 206 | } |
207 | 207 | |
208 | - if ( isset( $paypal_args['upload'] ) ) { |
|
209 | - unset( $paypal_args['upload'] ); |
|
208 | + if (isset($paypal_args['upload'])) { |
|
209 | + unset($paypal_args['upload']); |
|
210 | 210 | } |
211 | 211 | |
212 | - $paypal_args = apply_filters( 'wpinv_paypal_recurring_args', $paypal_args, $purchase_data, $invoice ); |
|
212 | + $paypal_args = apply_filters('wpinv_paypal_recurring_args', $paypal_args, $purchase_data, $invoice); |
|
213 | 213 | } |
214 | 214 | |
215 | 215 | return $paypal_args; |
216 | 216 | } |
217 | -add_filter( 'wpinv_paypal_args', 'wpinv_get_paypal_recurring_args', 10, 3 ); |
|
217 | +add_filter('wpinv_paypal_args', 'wpinv_get_paypal_recurring_args', 10, 3); |
|
218 | 218 | |
219 | 219 | function wpinv_process_paypal_ipn() { |
220 | 220 | // Check the request method is POST |
221 | - if ( isset( $_SERVER['REQUEST_METHOD'] ) && $_SERVER['REQUEST_METHOD'] != 'POST' ) { |
|
221 | + if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] != 'POST') { |
|
222 | 222 | return; |
223 | 223 | } |
224 | 224 | |
@@ -226,11 +226,11 @@ discard block |
||
226 | 226 | $post_data = ''; |
227 | 227 | |
228 | 228 | // Fallback just in case post_max_size is lower than needed |
229 | - if ( ini_get( 'allow_url_fopen' ) ) { |
|
230 | - $post_data = file_get_contents( 'php://input' ); |
|
229 | + if (ini_get('allow_url_fopen')) { |
|
230 | + $post_data = file_get_contents('php://input'); |
|
231 | 231 | } else { |
232 | 232 | // If allow_url_fopen is not enabled, then make sure that post_max_size is large enough |
233 | - ini_set( 'post_max_size', '12M' ); |
|
233 | + ini_set('post_max_size', '12M'); |
|
234 | 234 | } |
235 | 235 | // Start the encoded data collection with notification command |
236 | 236 | $encoded_data = 'cmd=_notify-validate'; |
@@ -239,43 +239,43 @@ discard block |
||
239 | 239 | $arg_separator = wpinv_get_php_arg_separator_output(); |
240 | 240 | |
241 | 241 | // Verify there is a post_data |
242 | - if ( $post_data || strlen( $post_data ) > 0 ) { |
|
242 | + if ($post_data || strlen($post_data) > 0) { |
|
243 | 243 | // Append the data |
244 | - $encoded_data .= $arg_separator.$post_data; |
|
244 | + $encoded_data .= $arg_separator . $post_data; |
|
245 | 245 | } else { |
246 | 246 | // Check if POST is empty |
247 | - if ( empty( $_POST ) ) { |
|
247 | + if (empty($_POST)) { |
|
248 | 248 | // Nothing to do |
249 | 249 | return; |
250 | 250 | } else { |
251 | 251 | // Loop through each POST |
252 | - foreach ( $_POST as $key => $value ) { |
|
252 | + foreach ($_POST as $key => $value) { |
|
253 | 253 | // Encode the value and append the data |
254 | - $encoded_data .= $arg_separator."$key=" . urlencode( $value ); |
|
254 | + $encoded_data .= $arg_separator . "$key=" . urlencode($value); |
|
255 | 255 | } |
256 | 256 | } |
257 | 257 | } |
258 | 258 | |
259 | 259 | // Convert collected post data to an array |
260 | - parse_str( $encoded_data, $encoded_data_array ); |
|
260 | + parse_str($encoded_data, $encoded_data_array); |
|
261 | 261 | |
262 | - foreach ( $encoded_data_array as $key => $value ) { |
|
263 | - if ( false !== strpos( $key, 'amp;' ) ) { |
|
264 | - $new_key = str_replace( '&', '&', $key ); |
|
265 | - $new_key = str_replace( 'amp;', '&' , $new_key ); |
|
262 | + foreach ($encoded_data_array as $key => $value) { |
|
263 | + if (false !== strpos($key, 'amp;')) { |
|
264 | + $new_key = str_replace('&', '&', $key); |
|
265 | + $new_key = str_replace('amp;', '&', $new_key); |
|
266 | 266 | |
267 | - unset( $encoded_data_array[ $key ] ); |
|
268 | - $encoded_data_array[ $new_key ] = $value; |
|
267 | + unset($encoded_data_array[$key]); |
|
268 | + $encoded_data_array[$new_key] = $value; |
|
269 | 269 | } |
270 | 270 | } |
271 | 271 | |
272 | 272 | // Get the PayPal redirect uri |
273 | - $paypal_redirect = wpinv_get_paypal_redirect( true ); |
|
273 | + $paypal_redirect = wpinv_get_paypal_redirect(true); |
|
274 | 274 | |
275 | - if ( !wpinv_get_option( 'disable_paypal_verification', false ) ) { |
|
275 | + if (!wpinv_get_option('disable_paypal_verification', false)) { |
|
276 | 276 | // Validate the IPN |
277 | 277 | |
278 | - $remote_post_vars = array( |
|
278 | + $remote_post_vars = array( |
|
279 | 279 | 'method' => 'POST', |
280 | 280 | 'timeout' => 45, |
281 | 281 | 'redirection' => 5, |
@@ -293,21 +293,21 @@ discard block |
||
293 | 293 | ); |
294 | 294 | |
295 | 295 | // Get response |
296 | - $api_response = wp_remote_post( wpinv_get_paypal_redirect(), $remote_post_vars ); |
|
296 | + $api_response = wp_remote_post(wpinv_get_paypal_redirect(), $remote_post_vars); |
|
297 | 297 | |
298 | - if ( is_wp_error( $api_response ) ) { |
|
299 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid IPN verification response. IPN data: %s', 'invoicing' ), json_encode( $api_response ) ) ); |
|
298 | + if (is_wp_error($api_response)) { |
|
299 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid IPN verification response. IPN data: %s', 'invoicing'), json_encode($api_response))); |
|
300 | 300 | return; // Something went wrong |
301 | 301 | } |
302 | 302 | |
303 | - if ( $api_response['body'] !== 'VERIFIED' && wpinv_get_option( 'disable_paypal_verification', false ) ) { |
|
304 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid IPN verification response. IPN data: %s', 'invoicing' ), json_encode( $api_response ) ) ); |
|
303 | + if ($api_response['body'] !== 'VERIFIED' && wpinv_get_option('disable_paypal_verification', false)) { |
|
304 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid IPN verification response. IPN data: %s', 'invoicing'), json_encode($api_response))); |
|
305 | 305 | return; // Response not okay |
306 | 306 | } |
307 | 307 | } |
308 | 308 | |
309 | 309 | // Check if $post_data_array has been populated |
310 | - if ( !is_array( $encoded_data_array ) && !empty( $encoded_data_array ) ) |
|
310 | + if (!is_array($encoded_data_array) && !empty($encoded_data_array)) |
|
311 | 311 | return; |
312 | 312 | |
313 | 313 | $defaults = array( |
@@ -315,215 +315,215 @@ discard block |
||
315 | 315 | 'payment_status' => '' |
316 | 316 | ); |
317 | 317 | |
318 | - $encoded_data_array = wp_parse_args( $encoded_data_array, $defaults ); |
|
318 | + $encoded_data_array = wp_parse_args($encoded_data_array, $defaults); |
|
319 | 319 | |
320 | - $invoice_id = isset( $encoded_data_array['custom'] ) ? absint( $encoded_data_array['custom'] ) : 0; |
|
320 | + $invoice_id = isset($encoded_data_array['custom']) ? absint($encoded_data_array['custom']) : 0; |
|
321 | 321 | |
322 | - wpinv_error_log( $encoded_data_array['txn_type'], 'PayPal txn_type', __FILE__, __LINE__ ); |
|
322 | + wpinv_error_log($encoded_data_array['txn_type'], 'PayPal txn_type', __FILE__, __LINE__); |
|
323 | 323 | |
324 | - if ( has_action( 'wpinv_paypal_' . $encoded_data_array['txn_type'] ) ) { |
|
324 | + if (has_action('wpinv_paypal_' . $encoded_data_array['txn_type'])) { |
|
325 | 325 | // Allow PayPal IPN types to be processed separately |
326 | - do_action( 'wpinv_paypal_' . $encoded_data_array['txn_type'], $encoded_data_array, $invoice_id ); |
|
326 | + do_action('wpinv_paypal_' . $encoded_data_array['txn_type'], $encoded_data_array, $invoice_id); |
|
327 | 327 | } else { |
328 | 328 | // Fallback to web accept just in case the txn_type isn't present |
329 | - do_action( 'wpinv_paypal_web_accept', $encoded_data_array, $invoice_id ); |
|
329 | + do_action('wpinv_paypal_web_accept', $encoded_data_array, $invoice_id); |
|
330 | 330 | } |
331 | 331 | exit; |
332 | 332 | } |
333 | -add_action( 'wpinv_verify_paypal_ipn', 'wpinv_process_paypal_ipn' ); |
|
333 | +add_action('wpinv_verify_paypal_ipn', 'wpinv_process_paypal_ipn'); |
|
334 | 334 | |
335 | -function wpinv_process_paypal_web_accept_and_cart( $data, $invoice_id ) { |
|
336 | - if ( $data['txn_type'] != 'web_accept' && $data['txn_type'] != 'cart' && $data['payment_status'] != 'Refunded' ) { |
|
335 | +function wpinv_process_paypal_web_accept_and_cart($data, $invoice_id) { |
|
336 | + if ($data['txn_type'] != 'web_accept' && $data['txn_type'] != 'cart' && $data['payment_status'] != 'Refunded') { |
|
337 | 337 | return; |
338 | 338 | } |
339 | 339 | |
340 | - if( empty( $invoice_id ) ) { |
|
340 | + if (empty($invoice_id)) { |
|
341 | 341 | return; |
342 | 342 | } |
343 | 343 | |
344 | 344 | // Collect payment details |
345 | - $purchase_key = isset( $data['invoice'] ) ? $data['invoice'] : $data['item_number']; |
|
345 | + $purchase_key = isset($data['invoice']) ? $data['invoice'] : $data['item_number']; |
|
346 | 346 | $paypal_amount = $data['mc_gross']; |
347 | - $payment_status = strtolower( $data['payment_status'] ); |
|
348 | - $currency_code = strtolower( $data['mc_currency'] ); |
|
349 | - $business_email = isset( $data['business'] ) && is_email( $data['business'] ) ? trim( $data['business'] ) : trim( $data['receiver_email'] ); |
|
350 | - $payment_meta = wpinv_get_invoice_meta( $invoice_id ); |
|
347 | + $payment_status = strtolower($data['payment_status']); |
|
348 | + $currency_code = strtolower($data['mc_currency']); |
|
349 | + $business_email = isset($data['business']) && is_email($data['business']) ? trim($data['business']) : trim($data['receiver_email']); |
|
350 | + $payment_meta = wpinv_get_invoice_meta($invoice_id); |
|
351 | 351 | |
352 | - if ( wpinv_get_payment_gateway( $invoice_id ) != 'paypal' ) { |
|
352 | + if (wpinv_get_payment_gateway($invoice_id) != 'paypal') { |
|
353 | 353 | return; // this isn't a PayPal standard IPN |
354 | 354 | } |
355 | 355 | |
356 | 356 | // Verify payment recipient |
357 | - if ( strcasecmp( $business_email, trim( wpinv_get_option( 'paypal_email', false ) ) ) != 0 ) { |
|
358 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid business email in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id ); |
|
359 | - wpinv_update_payment_status( $invoice_id, 'wpi-failed' ); |
|
360 | - wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid PayPal business email.', 'invoicing' ) ); |
|
357 | + if (strcasecmp($business_email, trim(wpinv_get_option('paypal_email', false))) != 0) { |
|
358 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid business email in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id); |
|
359 | + wpinv_update_payment_status($invoice_id, 'wpi-failed'); |
|
360 | + wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid PayPal business email.', 'invoicing')); |
|
361 | 361 | return; |
362 | 362 | } |
363 | 363 | |
364 | 364 | // Verify payment currency |
365 | - if ( $currency_code != strtolower( $payment_meta['currency'] ) ) { |
|
366 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid currency in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id ); |
|
367 | - wpinv_update_payment_status( $invoice_id, 'wpi-failed' ); |
|
368 | - wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid currency in PayPal IPN.', 'invoicing' ) ); |
|
365 | + if ($currency_code != strtolower($payment_meta['currency'])) { |
|
366 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid currency in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id); |
|
367 | + wpinv_update_payment_status($invoice_id, 'wpi-failed'); |
|
368 | + wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid currency in PayPal IPN.', 'invoicing')); |
|
369 | 369 | return; |
370 | 370 | } |
371 | 371 | |
372 | - if ( !wpinv_get_payment_user_email( $invoice_id ) ) { |
|
372 | + if (!wpinv_get_payment_user_email($invoice_id)) { |
|
373 | 373 | // This runs when a Buy Now purchase was made. It bypasses checkout so no personal info is collected until PayPal |
374 | 374 | // No email associated with purchase, so store from PayPal |
375 | - wpinv_update_invoice_meta( $invoice_id, '_wpinv_email', $data['payer_email'] ); |
|
375 | + wpinv_update_invoice_meta($invoice_id, '_wpinv_email', $data['payer_email']); |
|
376 | 376 | |
377 | 377 | // Setup and store the customer's details |
378 | 378 | $user_info = array( |
379 | 379 | 'user_id' => '-1', |
380 | - 'email' => sanitize_text_field( $data['payer_email'] ), |
|
381 | - 'first_name' => sanitize_text_field( $data['first_name'] ), |
|
382 | - 'last_name' => sanitize_text_field( $data['last_name'] ), |
|
380 | + 'email' => sanitize_text_field($data['payer_email']), |
|
381 | + 'first_name' => sanitize_text_field($data['first_name']), |
|
382 | + 'last_name' => sanitize_text_field($data['last_name']), |
|
383 | 383 | 'discount' => '', |
384 | 384 | ); |
385 | - $user_info['address'] = ! empty( $data['address_street'] ) ? sanitize_text_field( $data['address_street'] ) : false; |
|
386 | - $user_info['city'] = ! empty( $data['address_city'] ) ? sanitize_text_field( $data['address_city'] ) : false; |
|
387 | - $user_info['state'] = ! empty( $data['address_state'] ) ? sanitize_text_field( $data['address_state'] ) : false; |
|
388 | - $user_info['country'] = ! empty( $data['address_country_code'] ) ? sanitize_text_field( $data['address_country_code'] ) : false; |
|
389 | - $user_info['zip'] = ! empty( $data['address_zip'] ) ? sanitize_text_field( $data['address_zip'] ) : false; |
|
385 | + $user_info['address'] = !empty($data['address_street']) ? sanitize_text_field($data['address_street']) : false; |
|
386 | + $user_info['city'] = !empty($data['address_city']) ? sanitize_text_field($data['address_city']) : false; |
|
387 | + $user_info['state'] = !empty($data['address_state']) ? sanitize_text_field($data['address_state']) : false; |
|
388 | + $user_info['country'] = !empty($data['address_country_code']) ? sanitize_text_field($data['address_country_code']) : false; |
|
389 | + $user_info['zip'] = !empty($data['address_zip']) ? sanitize_text_field($data['address_zip']) : false; |
|
390 | 390 | |
391 | 391 | $payment_meta['user_info'] = $user_info; |
392 | - wpinv_update_invoice_meta( $invoice_id, '_wpinv_payment_meta', $payment_meta ); |
|
392 | + wpinv_update_invoice_meta($invoice_id, '_wpinv_payment_meta', $payment_meta); |
|
393 | 393 | } |
394 | 394 | |
395 | - if ( $payment_status == 'refunded' || $payment_status == 'reversed' ) { |
|
395 | + if ($payment_status == 'refunded' || $payment_status == 'reversed') { |
|
396 | 396 | // Process a refund |
397 | - wpinv_process_paypal_refund( $data, $invoice_id ); |
|
397 | + wpinv_process_paypal_refund($data, $invoice_id); |
|
398 | 398 | } else { |
399 | - if ( get_post_status( $invoice_id ) == 'publish' ) { |
|
399 | + if (get_post_status($invoice_id) == 'publish') { |
|
400 | 400 | return; // Only paid payments once |
401 | 401 | } |
402 | 402 | |
403 | 403 | // Retrieve the total purchase amount (before PayPal) |
404 | - $payment_amount = wpinv_payment_total( $invoice_id ); |
|
404 | + $payment_amount = wpinv_payment_total($invoice_id); |
|
405 | 405 | |
406 | - if ( number_format( (float) $paypal_amount, 2 ) < number_format( (float) $payment_amount, 2 ) ) { |
|
406 | + if (number_format((float)$paypal_amount, 2) < number_format((float)$payment_amount, 2)) { |
|
407 | 407 | // The prices don't match |
408 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid payment amount in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id ); |
|
409 | - wpinv_update_payment_status( $invoice_id, 'wpi-failed' ); |
|
410 | - wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid amount in PayPal IPN.', 'invoicing' ) ); |
|
408 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid payment amount in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id); |
|
409 | + wpinv_update_payment_status($invoice_id, 'wpi-failed'); |
|
410 | + wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid amount in PayPal IPN.', 'invoicing')); |
|
411 | 411 | return; |
412 | 412 | } |
413 | - if ( $purchase_key != wpinv_get_payment_key( $invoice_id ) ) { |
|
413 | + if ($purchase_key != wpinv_get_payment_key($invoice_id)) { |
|
414 | 414 | // Purchase keys don't match |
415 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid purchase key in IPN response. IPN data: %s', 'invoicing' ), json_encode( $data ) ), $invoice_id ); |
|
416 | - wpinv_update_payment_status( $invoice_id, 'wpi-failed' ); |
|
417 | - wpinv_insert_payment_note( $invoice_id, __( 'Payment failed due to invalid purchase key in PayPal IPN.', 'invoicing' ) ); |
|
415 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid purchase key in IPN response. IPN data: %s', 'invoicing'), json_encode($data)), $invoice_id); |
|
416 | + wpinv_update_payment_status($invoice_id, 'wpi-failed'); |
|
417 | + wpinv_insert_payment_note($invoice_id, __('Payment failed due to invalid purchase key in PayPal IPN.', 'invoicing')); |
|
418 | 418 | return; |
419 | 419 | } |
420 | 420 | |
421 | - if ( 'complete' == $payment_status || 'completed' == $payment_status || 'processed' == $payment_status || wpinv_is_test_mode( 'paypal' ) ) { |
|
422 | - wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ) , $data['txn_id'] ) ); |
|
423 | - wpinv_set_payment_transaction_id( $invoice_id, $data['txn_id'] ); |
|
424 | - wpinv_update_payment_status( $invoice_id, 'publish' ); |
|
425 | - } else if ( 'pending' == $payment_status && isset( $data['pending_reason'] ) ) { |
|
421 | + if ('complete' == $payment_status || 'completed' == $payment_status || 'processed' == $payment_status || wpinv_is_test_mode('paypal')) { |
|
422 | + wpinv_insert_payment_note($invoice_id, sprintf(__('PayPal Transaction ID: %s', 'invoicing'), $data['txn_id'])); |
|
423 | + wpinv_set_payment_transaction_id($invoice_id, $data['txn_id']); |
|
424 | + wpinv_update_payment_status($invoice_id, 'publish'); |
|
425 | + } else if ('pending' == $payment_status && isset($data['pending_reason'])) { |
|
426 | 426 | // Look for possible pending reasons, such as an echeck |
427 | 427 | $note = ''; |
428 | 428 | |
429 | - switch( strtolower( $data['pending_reason'] ) ) { |
|
429 | + switch (strtolower($data['pending_reason'])) { |
|
430 | 430 | case 'echeck' : |
431 | - $note = __( 'Payment made via eCheck and will clear automatically in 5-8 days', 'invoicing' ); |
|
431 | + $note = __('Payment made via eCheck and will clear automatically in 5-8 days', 'invoicing'); |
|
432 | 432 | break; |
433 | 433 | |
434 | 434 | case 'address' : |
435 | - $note = __( 'Payment requires a confirmed customer address and must be accepted manually through PayPal', 'invoicing' ); |
|
435 | + $note = __('Payment requires a confirmed customer address and must be accepted manually through PayPal', 'invoicing'); |
|
436 | 436 | break; |
437 | 437 | |
438 | 438 | case 'intl' : |
439 | - $note = __( 'Payment must be accepted manually through PayPal due to international account regulations', 'invoicing' ); |
|
439 | + $note = __('Payment must be accepted manually through PayPal due to international account regulations', 'invoicing'); |
|
440 | 440 | break; |
441 | 441 | |
442 | 442 | case 'multi-currency' : |
443 | - $note = __( 'Payment received in non-shop currency and must be accepted manually through PayPal', 'invoicing' ); |
|
443 | + $note = __('Payment received in non-shop currency and must be accepted manually through PayPal', 'invoicing'); |
|
444 | 444 | break; |
445 | 445 | |
446 | 446 | case 'paymentreview' : |
447 | 447 | case 'regulatory_review' : |
448 | - $note = __( 'Payment is being reviewed by PayPal staff as high-risk or in possible violation of government regulations', 'invoicing' ); |
|
448 | + $note = __('Payment is being reviewed by PayPal staff as high-risk or in possible violation of government regulations', 'invoicing'); |
|
449 | 449 | break; |
450 | 450 | |
451 | 451 | case 'unilateral' : |
452 | - $note = __( 'Payment was sent to non-confirmed or non-registered email address.', 'invoicing' ); |
|
452 | + $note = __('Payment was sent to non-confirmed or non-registered email address.', 'invoicing'); |
|
453 | 453 | break; |
454 | 454 | |
455 | 455 | case 'upgrade' : |
456 | - $note = __( 'PayPal account must be upgraded before this payment can be accepted', 'invoicing' ); |
|
456 | + $note = __('PayPal account must be upgraded before this payment can be accepted', 'invoicing'); |
|
457 | 457 | break; |
458 | 458 | |
459 | 459 | case 'verify' : |
460 | - $note = __( 'PayPal account is not verified. Verify account in order to accept this payment', 'invoicing' ); |
|
460 | + $note = __('PayPal account is not verified. Verify account in order to accept this payment', 'invoicing'); |
|
461 | 461 | break; |
462 | 462 | |
463 | 463 | case 'other' : |
464 | - $note = __( 'Payment is pending for unknown reasons. Contact PayPal support for assistance', 'invoicing' ); |
|
464 | + $note = __('Payment is pending for unknown reasons. Contact PayPal support for assistance', 'invoicing'); |
|
465 | 465 | break; |
466 | 466 | } |
467 | 467 | |
468 | - if ( ! empty( $note ) ) { |
|
469 | - wpinv_insert_payment_note( $invoice_id, $note ); |
|
468 | + if (!empty($note)) { |
|
469 | + wpinv_insert_payment_note($invoice_id, $note); |
|
470 | 470 | } |
471 | 471 | } else { |
472 | - wpinv_insert_payment_note( $invoice_id, wp_sprintf( __( 'PayPal IPN has been received with invalid payment status: %s', 'invoicing' ), $payment_status ) ); |
|
472 | + wpinv_insert_payment_note($invoice_id, wp_sprintf(__('PayPal IPN has been received with invalid payment status: %s', 'invoicing'), $payment_status)); |
|
473 | 473 | } |
474 | 474 | } |
475 | 475 | } |
476 | -add_action( 'wpinv_paypal_web_accept', 'wpinv_process_paypal_web_accept_and_cart', 10, 2 ); |
|
476 | +add_action('wpinv_paypal_web_accept', 'wpinv_process_paypal_web_accept_and_cart', 10, 2); |
|
477 | 477 | |
478 | 478 | // Process PayPal subscription sign ups |
479 | -add_action( 'wpinv_paypal_subscr_signup', 'wpinv_process_paypal_subscr_signup' ); |
|
479 | +add_action('wpinv_paypal_subscr_signup', 'wpinv_process_paypal_subscr_signup'); |
|
480 | 480 | |
481 | 481 | // Process PayPal subscription payments |
482 | -add_action( 'wpinv_paypal_subscr_payment', 'wpinv_process_paypal_subscr_payment' ); |
|
482 | +add_action('wpinv_paypal_subscr_payment', 'wpinv_process_paypal_subscr_payment'); |
|
483 | 483 | |
484 | 484 | // Process PayPal subscription cancellations |
485 | -add_action( 'wpinv_paypal_subscr_cancel', 'wpinv_process_paypal_subscr_cancel' ); |
|
485 | +add_action('wpinv_paypal_subscr_cancel', 'wpinv_process_paypal_subscr_cancel'); |
|
486 | 486 | |
487 | 487 | // Process PayPal subscription end of term notices |
488 | -add_action( 'wpinv_paypal_subscr_eot', 'wpinv_process_paypal_subscr_eot' ); |
|
488 | +add_action('wpinv_paypal_subscr_eot', 'wpinv_process_paypal_subscr_eot'); |
|
489 | 489 | |
490 | 490 | // Process PayPal payment failed |
491 | -add_action( 'wpinv_paypal_subscr_failed', 'wpinv_process_paypal_subscr_failed' ); |
|
491 | +add_action('wpinv_paypal_subscr_failed', 'wpinv_process_paypal_subscr_failed'); |
|
492 | 492 | |
493 | 493 | |
494 | 494 | /** |
495 | 495 | * Process the subscription started IPN. |
496 | 496 | */ |
497 | -function wpinv_process_paypal_subscr_signup( $ipn_data ) { |
|
498 | - $parent_invoice_id = absint( $ipn_data['custom'] ); |
|
499 | - if( empty( $parent_invoice_id ) ) { |
|
497 | +function wpinv_process_paypal_subscr_signup($ipn_data) { |
|
498 | + $parent_invoice_id = absint($ipn_data['custom']); |
|
499 | + if (empty($parent_invoice_id)) { |
|
500 | 500 | return; |
501 | 501 | } |
502 | 502 | |
503 | - $invoice = wpinv_get_invoice( $parent_invoice_id ); |
|
504 | - if ( empty( $invoice ) ) { |
|
503 | + $invoice = wpinv_get_invoice($parent_invoice_id); |
|
504 | + if (empty($invoice)) { |
|
505 | 505 | return; |
506 | 506 | } |
507 | 507 | |
508 | - if ( $invoice->is_free_trial() && !empty( $ipn_data['invoice'] ) ) { |
|
509 | - wpinv_insert_payment_note( $parent_invoice_id, sprintf( __( 'PayPal Invoice ID: %s', 'invoicing' ) , $ipn_data['invoice'] ) ); |
|
510 | - wpinv_set_payment_transaction_id( $parent_invoice_id, $ipn_data['invoice'] ); |
|
508 | + if ($invoice->is_free_trial() && !empty($ipn_data['invoice'])) { |
|
509 | + wpinv_insert_payment_note($parent_invoice_id, sprintf(__('PayPal Invoice ID: %s', 'invoicing'), $ipn_data['invoice'])); |
|
510 | + wpinv_set_payment_transaction_id($parent_invoice_id, $ipn_data['invoice']); |
|
511 | 511 | } |
512 | 512 | |
513 | - wpinv_update_payment_status( $parent_invoice_id, 'publish' ); |
|
513 | + wpinv_update_payment_status($parent_invoice_id, 'publish'); |
|
514 | 514 | sleep(1); |
515 | - wpinv_insert_payment_note( $parent_invoice_id, sprintf( __( 'PayPal Subscription ID: %s', 'invoicing' ) , $ipn_data['subscr_id'] ) ); |
|
515 | + wpinv_insert_payment_note($parent_invoice_id, sprintf(__('PayPal Subscription ID: %s', 'invoicing'), $ipn_data['subscr_id'])); |
|
516 | 516 | |
517 | - $subscription = wpinv_get_paypal_subscription( $ipn_data ); |
|
518 | - if ( false === $subscription ) { |
|
517 | + $subscription = wpinv_get_paypal_subscription($ipn_data); |
|
518 | + if (false === $subscription) { |
|
519 | 519 | return; |
520 | 520 | } |
521 | 521 | |
522 | - $cart_details = $invoice->cart_details; |
|
522 | + $cart_details = $invoice->cart_details; |
|
523 | 523 | |
524 | - if ( !empty( $cart_details ) ) { |
|
525 | - foreach ( $cart_details as $cart_item ) { |
|
526 | - $item = new WPInv_Item( $cart_item['id'] ); |
|
524 | + if (!empty($cart_details)) { |
|
525 | + foreach ($cart_details as $cart_item) { |
|
526 | + $item = new WPInv_Item($cart_item['id']); |
|
527 | 527 | |
528 | 528 | $status = $invoice->is_free_trial() && $item->has_free_trial() ? 'trialing' : 'active'; |
529 | 529 | |
@@ -532,15 +532,15 @@ discard block |
||
532 | 532 | 'status' => $status, |
533 | 533 | 'period' => $item->get_recurring_period(), |
534 | 534 | 'initial_amount' => $invoice->get_total(), |
535 | - 'recurring_amount' => $invoice->get_recurring_details( 'total' ), |
|
535 | + 'recurring_amount' => $invoice->get_recurring_details('total'), |
|
536 | 536 | 'interval' => $item->get_recurring_interval(), |
537 | 537 | 'bill_times' => $item->get_recurring_limit(), |
538 | - 'expiration' => $invoice->get_new_expiration( $cart_item['id'] ), |
|
538 | + 'expiration' => $invoice->get_new_expiration($cart_item['id']), |
|
539 | 539 | 'profile_id' => $ipn_data['subscr_id'], |
540 | - 'created' => date_i18n( 'Y-m-d H:i:s', strtotime( $ipn_data['subscr_date'] ) ) |
|
540 | + 'created' => date_i18n('Y-m-d H:i:s', strtotime($ipn_data['subscr_date'])) |
|
541 | 541 | ); |
542 | 542 | |
543 | - if ( $item->has_free_trial() ) { |
|
543 | + if ($item->has_free_trial()) { |
|
544 | 544 | $args['trial_period'] = $item->get_trial_period(); |
545 | 545 | $args['trial_interval'] = $item->get_trial_interval(); |
546 | 546 | } else { |
@@ -549,7 +549,7 @@ discard block |
||
549 | 549 | } |
550 | 550 | |
551 | 551 | |
552 | - $subscription->update_subscription( $args ); |
|
552 | + $subscription->update_subscription($args); |
|
553 | 553 | } |
554 | 554 | } |
555 | 555 | } |
@@ -557,39 +557,39 @@ discard block |
||
557 | 557 | /** |
558 | 558 | * Process the subscription payment received IPN. |
559 | 559 | */ |
560 | -function wpinv_process_paypal_subscr_payment( $ipn_data ) { |
|
561 | - $parent_invoice_id = absint( $ipn_data['custom'] ); |
|
560 | +function wpinv_process_paypal_subscr_payment($ipn_data) { |
|
561 | + $parent_invoice_id = absint($ipn_data['custom']); |
|
562 | 562 | |
563 | - $subscription = wpinv_get_paypal_subscription( $ipn_data ); |
|
564 | - if ( false === $subscription ) { |
|
563 | + $subscription = wpinv_get_paypal_subscription($ipn_data); |
|
564 | + if (false === $subscription) { |
|
565 | 565 | return; |
566 | 566 | } |
567 | 567 | |
568 | - $transaction_id = wpinv_get_payment_transaction_id( $parent_invoice_id ); |
|
569 | - $signup_date = strtotime( $subscription->get_subscription_created() ); |
|
570 | - $today = date_i18n( 'Y-m-d', $signup_date ) == date_i18n( 'Y-m-d', strtotime( $ipn_data['payment_date'] ) ); |
|
568 | + $transaction_id = wpinv_get_payment_transaction_id($parent_invoice_id); |
|
569 | + $signup_date = strtotime($subscription->get_subscription_created()); |
|
570 | + $today = date_i18n('Y-m-d', $signup_date) == date_i18n('Y-m-d', strtotime($ipn_data['payment_date'])); |
|
571 | 571 | |
572 | 572 | // Look to see if payment is same day as signup and we have set the transaction ID on the parent payment yet. |
573 | - if ( $today && ( !$transaction_id || $transaction_id == $parent_invoice_id ) ) { |
|
574 | - wpinv_update_payment_status( $parent_invoice_id, 'publish' ); |
|
573 | + if ($today && (!$transaction_id || $transaction_id == $parent_invoice_id)) { |
|
574 | + wpinv_update_payment_status($parent_invoice_id, 'publish'); |
|
575 | 575 | sleep(1); |
576 | 576 | |
577 | 577 | // This is the very first payment |
578 | - wpinv_set_payment_transaction_id( $parent_invoice_id, $ipn_data['txn_id'] ); |
|
579 | - wpinv_insert_payment_note( $parent_invoice_id, sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ) , $ipn_data['txn_id'] ) ); |
|
578 | + wpinv_set_payment_transaction_id($parent_invoice_id, $ipn_data['txn_id']); |
|
579 | + wpinv_insert_payment_note($parent_invoice_id, sprintf(__('PayPal Transaction ID: %s', 'invoicing'), $ipn_data['txn_id'])); |
|
580 | 580 | return; |
581 | 581 | } |
582 | 582 | |
583 | - if ( wpinv_get_id_by_transaction_id( $ipn_data['txn_id'] ) ) { |
|
583 | + if (wpinv_get_id_by_transaction_id($ipn_data['txn_id'])) { |
|
584 | 584 | return; // Payment already recorded |
585 | 585 | } |
586 | 586 | |
587 | - $currency_code = strtolower( $ipn_data['mc_currency'] ); |
|
587 | + $currency_code = strtolower($ipn_data['mc_currency']); |
|
588 | 588 | |
589 | 589 | // verify details |
590 | - if ( $currency_code != strtolower( wpinv_get_currency() ) ) { |
|
590 | + if ($currency_code != strtolower(wpinv_get_currency())) { |
|
591 | 591 | // the currency code is invalid |
592 | - wpinv_record_gateway_error( __( 'IPN Error', 'invoicing' ), sprintf( __( 'Invalid currency in IPN response. IPN data: ', 'invoicing' ), json_encode( $ipn_data ) ) ); |
|
592 | + wpinv_record_gateway_error(__('IPN Error', 'invoicing'), sprintf(__('Invalid currency in IPN response. IPN data: ', 'invoicing'), json_encode($ipn_data))); |
|
593 | 593 | return; |
594 | 594 | } |
595 | 595 | |
@@ -598,11 +598,11 @@ discard block |
||
598 | 598 | 'transaction_id' => $ipn_data['txn_id'] |
599 | 599 | ); |
600 | 600 | |
601 | - $invoice = wpinv_recurring_add_subscription_payment( $parent_invoice_id, $args ); |
|
601 | + $invoice = wpinv_recurring_add_subscription_payment($parent_invoice_id, $args); |
|
602 | 602 | |
603 | - if ( !empty( $invoice ) ) { |
|
603 | + if (!empty($invoice)) { |
|
604 | 604 | sleep(1); |
605 | - wpinv_insert_payment_note( $invoice->ID, sprintf( __( 'PayPal Transaction ID: %s', 'invoicing' ) , $ipn_data['txn_id'] ) ); |
|
605 | + wpinv_insert_payment_note($invoice->ID, sprintf(__('PayPal Transaction ID: %s', 'invoicing'), $ipn_data['txn_id'])); |
|
606 | 606 | |
607 | 607 | $invoice->renew_subscription(); |
608 | 608 | } |
@@ -611,10 +611,10 @@ discard block |
||
611 | 611 | /** |
612 | 612 | * Process the subscription canceled IPN. |
613 | 613 | */ |
614 | -function wpinv_process_paypal_subscr_cancel( $ipn_data ) { |
|
615 | - $subscription = wpinv_get_paypal_subscription( $ipn_data ); |
|
614 | +function wpinv_process_paypal_subscr_cancel($ipn_data) { |
|
615 | + $subscription = wpinv_get_paypal_subscription($ipn_data); |
|
616 | 616 | |
617 | - if( false === $subscription ) { |
|
617 | + if (false === $subscription) { |
|
618 | 618 | return; |
619 | 619 | } |
620 | 620 | |
@@ -624,10 +624,10 @@ discard block |
||
624 | 624 | /** |
625 | 625 | * Process the subscription expired IPN. |
626 | 626 | */ |
627 | -function wpinv_process_paypal_subscr_eot( $ipn_data ) { |
|
628 | - $subscription = wpinv_get_paypal_subscription( $ipn_data ); |
|
627 | +function wpinv_process_paypal_subscr_eot($ipn_data) { |
|
628 | + $subscription = wpinv_get_paypal_subscription($ipn_data); |
|
629 | 629 | |
630 | - if( false === $subscription ) { |
|
630 | + if (false === $subscription) { |
|
631 | 631 | return; |
632 | 632 | } |
633 | 633 | |
@@ -637,45 +637,45 @@ discard block |
||
637 | 637 | /** |
638 | 638 | * Process the subscription payment failed IPN. |
639 | 639 | */ |
640 | -function wpinv_process_paypal_subscr_failed( $ipn_data ) { |
|
641 | - $subscription = wpinv_get_paypal_subscription( $ipn_data ); |
|
640 | +function wpinv_process_paypal_subscr_failed($ipn_data) { |
|
641 | + $subscription = wpinv_get_paypal_subscription($ipn_data); |
|
642 | 642 | |
643 | - if( false === $subscription ) { |
|
643 | + if (false === $subscription) { |
|
644 | 644 | return; |
645 | 645 | } |
646 | 646 | |
647 | 647 | $subscription->failing_subscription(); |
648 | 648 | |
649 | - do_action( 'wpinv_recurring_payment_failed', $subscription ); |
|
649 | + do_action('wpinv_recurring_payment_failed', $subscription); |
|
650 | 650 | } |
651 | 651 | |
652 | 652 | /** |
653 | 653 | * Retrieve the subscription this IPN notice is for. |
654 | 654 | */ |
655 | -function wpinv_get_paypal_subscription( $ipn_data = array() ) { |
|
656 | - $parent_invoice_id = absint( $ipn_data['custom'] ); |
|
655 | +function wpinv_get_paypal_subscription($ipn_data = array()) { |
|
656 | + $parent_invoice_id = absint($ipn_data['custom']); |
|
657 | 657 | |
658 | - if( empty( $parent_invoice_id ) ) { |
|
658 | + if (empty($parent_invoice_id)) { |
|
659 | 659 | return false; |
660 | 660 | } |
661 | 661 | |
662 | - $invoice = wpinv_get_invoice( $parent_invoice_id ); |
|
663 | - if ( empty( $invoice ) ) { |
|
662 | + $invoice = wpinv_get_invoice($parent_invoice_id); |
|
663 | + if (empty($invoice)) { |
|
664 | 664 | return false; |
665 | 665 | } |
666 | 666 | |
667 | - $subscription = wpinv_get_subscription( $ipn_data['subscr_id'], true ); |
|
667 | + $subscription = wpinv_get_subscription($ipn_data['subscr_id'], true); |
|
668 | 668 | |
669 | - if ( empty( $subscription ) ) { |
|
670 | - $subs = wpinv_get_subscriptions( array( 'parent_invoice_id' => $parent_invoice_id, 'numberposts' => 1 ) ); |
|
671 | - $subscription = reset( $subs ); |
|
669 | + if (empty($subscription)) { |
|
670 | + $subs = wpinv_get_subscriptions(array('parent_invoice_id' => $parent_invoice_id, 'numberposts' => 1)); |
|
671 | + $subscription = reset($subs); |
|
672 | 672 | |
673 | - if ( $subscription && $subscription->ID > 0 ) { |
|
673 | + if ($subscription && $subscription->ID > 0) { |
|
674 | 674 | // Update the profile ID so it is set for future renewals |
675 | - $subscription->update_subscription( array( 'profile_id' => sanitize_text_field( $ipn_data['subscr_id'] ) ) ); |
|
675 | + $subscription->update_subscription(array('profile_id' => sanitize_text_field($ipn_data['subscr_id']))); |
|
676 | 676 | } else { |
677 | 677 | $subscription = $invoice; |
678 | - $subscription->update_subscription( array( 'profile_id' => sanitize_text_field( $ipn_data['subscr_id'] ) ) ); |
|
678 | + $subscription->update_subscription(array('profile_id' => sanitize_text_field($ipn_data['subscr_id']))); |
|
679 | 679 | // No subscription found with a matching payment ID, bail |
680 | 680 | //return false; |
681 | 681 | } |
@@ -685,39 +685,39 @@ discard block |
||
685 | 685 | |
686 | 686 | } |
687 | 687 | |
688 | -function wpinv_process_paypal_refund( $data, $invoice_id = 0 ) { |
|
688 | +function wpinv_process_paypal_refund($data, $invoice_id = 0) { |
|
689 | 689 | // Collect payment details |
690 | 690 | |
691 | - if( empty( $invoice_id ) ) { |
|
691 | + if (empty($invoice_id)) { |
|
692 | 692 | return; |
693 | 693 | } |
694 | 694 | |
695 | - if ( get_post_status( $invoice_id ) == 'wpi-refunded' ) { |
|
695 | + if (get_post_status($invoice_id) == 'wpi-refunded') { |
|
696 | 696 | return; // Only refund payments once |
697 | 697 | } |
698 | 698 | |
699 | - $payment_amount = wpinv_payment_total( $invoice_id ); |
|
699 | + $payment_amount = wpinv_payment_total($invoice_id); |
|
700 | 700 | $refund_amount = $data['mc_gross'] * -1; |
701 | 701 | |
702 | - if ( number_format( (float) $refund_amount, 2 ) < number_format( (float) $payment_amount, 2 ) ) { |
|
703 | - wpinv_insert_payment_note( $invoice_id, sprintf( __( 'Partial PayPal refund processed: %s', 'invoicing' ), $data['parent_txn_id'] ) ); |
|
702 | + if (number_format((float)$refund_amount, 2) < number_format((float)$payment_amount, 2)) { |
|
703 | + wpinv_insert_payment_note($invoice_id, sprintf(__('Partial PayPal refund processed: %s', 'invoicing'), $data['parent_txn_id'])); |
|
704 | 704 | return; // This is a partial refund |
705 | 705 | } |
706 | 706 | |
707 | - wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Payment #%s Refunded for reason: %s', 'invoicing' ), $data['parent_txn_id'], $data['reason_code'] ) ); |
|
708 | - wpinv_insert_payment_note( $invoice_id, sprintf( __( 'PayPal Refund Transaction ID: %s', 'invoicing' ), $data['txn_id'] ) ); |
|
709 | - wpinv_update_payment_status( $invoice_id, 'wpi-refunded' ); |
|
707 | + wpinv_insert_payment_note($invoice_id, sprintf(__('PayPal Payment #%s Refunded for reason: %s', 'invoicing'), $data['parent_txn_id'], $data['reason_code'])); |
|
708 | + wpinv_insert_payment_note($invoice_id, sprintf(__('PayPal Refund Transaction ID: %s', 'invoicing'), $data['txn_id'])); |
|
709 | + wpinv_update_payment_status($invoice_id, 'wpi-refunded'); |
|
710 | 710 | } |
711 | 711 | |
712 | -function wpinv_get_paypal_redirect( $ssl_check = false ) { |
|
713 | - if ( is_ssl() || ! $ssl_check ) { |
|
712 | +function wpinv_get_paypal_redirect($ssl_check = false) { |
|
713 | + if (is_ssl() || !$ssl_check) { |
|
714 | 714 | $protocol = 'https://'; |
715 | 715 | } else { |
716 | 716 | $protocol = 'http://'; |
717 | 717 | } |
718 | 718 | |
719 | 719 | // Check the current payment mode |
720 | - if ( wpinv_is_test_mode( 'paypal' ) ) { |
|
720 | + if (wpinv_is_test_mode('paypal')) { |
|
721 | 721 | // Test mode |
722 | 722 | $paypal_uri = $protocol . 'www.sandbox.paypal.com/cgi-bin/webscr'; |
723 | 723 | } else { |
@@ -725,67 +725,67 @@ discard block |
||
725 | 725 | $paypal_uri = $protocol . 'www.paypal.com/cgi-bin/webscr'; |
726 | 726 | } |
727 | 727 | |
728 | - return apply_filters( 'wpinv_paypal_uri', $paypal_uri ); |
|
728 | + return apply_filters('wpinv_paypal_uri', $paypal_uri); |
|
729 | 729 | } |
730 | 730 | |
731 | -function wpinv_paypal_success_page_content( $content ) { |
|
731 | +function wpinv_paypal_success_page_content($content) { |
|
732 | 732 | global $wpi_invoice; |
733 | 733 | |
734 | 734 | $session = wpinv_get_checkout_session(); |
735 | 735 | |
736 | - if ( empty( $_GET['invoice-id'] ) && empty( $session['invoice_key'] ) ) { |
|
736 | + if (empty($_GET['invoice-id']) && empty($session['invoice_key'])) { |
|
737 | 737 | return $content; |
738 | 738 | } |
739 | 739 | |
740 | - $invoice_id = !empty( $_GET['invoice-id'] ) ? absint( $_GET['invoice-id'] ) : wpinv_get_invoice_id_by_key( $session['invoice_key'] ); |
|
740 | + $invoice_id = !empty($_GET['invoice-id']) ? absint($_GET['invoice-id']) : wpinv_get_invoice_id_by_key($session['invoice_key']); |
|
741 | 741 | |
742 | - if ( empty( $invoice_id ) ) { |
|
742 | + if (empty($invoice_id)) { |
|
743 | 743 | return $content; |
744 | 744 | } |
745 | 745 | |
746 | - $wpi_invoice = wpinv_get_invoice( $invoice_id ); |
|
746 | + $wpi_invoice = wpinv_get_invoice($invoice_id); |
|
747 | 747 | |
748 | - if ( !empty( $wpi_invoice ) && 'pending' == $wpi_invoice->status ) { |
|
748 | + if (!empty($wpi_invoice) && 'pending' == $wpi_invoice->status) { |
|
749 | 749 | // Payment is still pending so show processing indicator to fix the Race Condition, issue # |
750 | 750 | ob_start(); |
751 | - wpinv_get_template_part( 'wpinv-payment-processing' ); |
|
751 | + wpinv_get_template_part('wpinv-payment-processing'); |
|
752 | 752 | $content = ob_get_clean(); |
753 | 753 | } |
754 | 754 | |
755 | 755 | return $content; |
756 | 756 | } |
757 | -add_filter( 'wpinv_payment_confirm_paypal', 'wpinv_paypal_success_page_content' ); |
|
757 | +add_filter('wpinv_payment_confirm_paypal', 'wpinv_paypal_success_page_content'); |
|
758 | 758 | |
759 | -function wpinv_paypal_get_transaction_id( $invoice_id ) { |
|
759 | +function wpinv_paypal_get_transaction_id($invoice_id) { |
|
760 | 760 | $transaction_id = ''; |
761 | - $notes = wpinv_get_invoice_notes( $invoice_id ); |
|
761 | + $notes = wpinv_get_invoice_notes($invoice_id); |
|
762 | 762 | |
763 | - foreach ( $notes as $note ) { |
|
764 | - if ( preg_match( '/^PayPal Transaction ID: ([^\s]+)/', $note->comment_content, $match ) ) { |
|
763 | + foreach ($notes as $note) { |
|
764 | + if (preg_match('/^PayPal Transaction ID: ([^\s]+)/', $note->comment_content, $match)) { |
|
765 | 765 | $transaction_id = $match[1]; |
766 | 766 | continue; |
767 | 767 | } |
768 | 768 | } |
769 | 769 | |
770 | - return apply_filters( 'wpinv_paypal_set_transaction_id', $transaction_id, $invoice_id ); |
|
770 | + return apply_filters('wpinv_paypal_set_transaction_id', $transaction_id, $invoice_id); |
|
771 | 771 | } |
772 | -add_filter( 'wpinv_payment_get_transaction_id-paypal', 'wpinv_paypal_get_transaction_id', 10, 1 ); |
|
772 | +add_filter('wpinv_payment_get_transaction_id-paypal', 'wpinv_paypal_get_transaction_id', 10, 1); |
|
773 | 773 | |
774 | -function wpinv_paypal_link_transaction_id( $transaction_id, $invoice_id, $invoice ) { |
|
775 | - if ( $invoice->is_free_trial() || $transaction_id == $invoice_id ) { // Free trial does not have transaction at PayPal. |
|
774 | +function wpinv_paypal_link_transaction_id($transaction_id, $invoice_id, $invoice) { |
|
775 | + if ($invoice->is_free_trial() || $transaction_id == $invoice_id) { // Free trial does not have transaction at PayPal. |
|
776 | 776 | $transaction_url = $invoice->get_view_url(); |
777 | 777 | } else { |
778 | - $sandbox = wpinv_is_test_mode( 'paypal' ) ? '.sandbox' : ''; |
|
778 | + $sandbox = wpinv_is_test_mode('paypal') ? '.sandbox' : ''; |
|
779 | 779 | $transaction_url = 'https://www' . $sandbox . '.paypal.com/cgi-bin/webscr?cmd=_view-a-trans&id=' . $transaction_id; |
780 | 780 | } |
781 | 781 | |
782 | - $transaction_link = '<a href="' . esc_url( $transaction_url ) . '" target="_blank">' . $transaction_id . '</a>'; |
|
782 | + $transaction_link = '<a href="' . esc_url($transaction_url) . '" target="_blank">' . $transaction_id . '</a>'; |
|
783 | 783 | |
784 | - return apply_filters( 'wpinv_paypal_link_payment_details_transaction_id', $transaction_link, $invoice ); |
|
784 | + return apply_filters('wpinv_paypal_link_payment_details_transaction_id', $transaction_link, $invoice); |
|
785 | 785 | } |
786 | -add_filter( 'wpinv_payment_details_transaction_id-paypal', 'wpinv_paypal_link_transaction_id', 10, 3 ); |
|
786 | +add_filter('wpinv_payment_details_transaction_id-paypal', 'wpinv_paypal_link_transaction_id', 10, 3); |
|
787 | 787 | |
788 | 788 | function wpinv_gateway_paypal_button_label($label) { |
789 | - return __( 'Proceed to PayPal', 'invoicing' ); |
|
789 | + return __('Proceed to PayPal', 'invoicing'); |
|
790 | 790 | } |
791 | -add_filter( 'wpinv_gateway_paypal_button_label', 'wpinv_gateway_paypal_button_label', 10, 1 ); |
|
792 | 791 | \ No newline at end of file |
792 | +add_filter('wpinv_gateway_paypal_button_label', 'wpinv_gateway_paypal_button_label', 10, 1); |
|
793 | 793 | \ No newline at end of file |
@@ -1,19 +1,19 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | // Exit if accessed directly |
3 | -if ( ! defined( 'ABSPATH' ) ) exit; |
|
3 | +if (!defined('ABSPATH')) exit; |
|
4 | 4 | |
5 | -function wpinv_get_item_by( $field = '', $value = '', $type = '' ) { |
|
6 | - if( empty( $field ) || empty( $value ) ) { |
|
5 | +function wpinv_get_item_by($field = '', $value = '', $type = '') { |
|
6 | + if (empty($field) || empty($value)) { |
|
7 | 7 | return false; |
8 | 8 | } |
9 | 9 | |
10 | 10 | $posts = array(); |
11 | 11 | |
12 | - switch( strtolower( $field ) ) { |
|
12 | + switch (strtolower($field)) { |
|
13 | 13 | case 'id': |
14 | - $item = get_post( $value ); |
|
14 | + $item = get_post($value); |
|
15 | 15 | |
16 | - if( get_post_type( $item ) != 'wpi_item' ) { |
|
16 | + if (get_post_type($item) != 'wpi_item') { |
|
17 | 17 | return false; |
18 | 18 | } |
19 | 19 | |
@@ -21,16 +21,16 @@ discard block |
||
21 | 21 | |
22 | 22 | case 'slug': |
23 | 23 | case 'name': |
24 | - $posts = get_posts( array( |
|
24 | + $posts = get_posts(array( |
|
25 | 25 | 'post_type' => 'wpi_item', |
26 | 26 | 'name' => $value, |
27 | 27 | 'posts_per_page' => 1, |
28 | 28 | 'post_status' => 'any' |
29 | - ) ); |
|
29 | + )); |
|
30 | 30 | |
31 | 31 | break; |
32 | 32 | case 'package_id': |
33 | - $posts = get_posts( array( |
|
33 | + $posts = get_posts(array( |
|
34 | 34 | 'post_type' => 'wpi_item', |
35 | 35 | 'posts_per_page' => 1, |
36 | 36 | 'post_status' => 'any', |
@@ -46,11 +46,11 @@ discard block |
||
46 | 46 | 'value' => 'package', |
47 | 47 | ) |
48 | 48 | ) |
49 | - ) ); |
|
49 | + )); |
|
50 | 50 | |
51 | 51 | break; |
52 | 52 | case 'item_id': |
53 | - if ( empty( $value ) ) { |
|
53 | + if (empty($value)) { |
|
54 | 54 | return false; |
55 | 55 | } |
56 | 56 | |
@@ -59,7 +59,7 @@ discard block |
||
59 | 59 | 'key' => '_wpinv_post_id', |
60 | 60 | 'value' => $value, |
61 | 61 | ); |
62 | - if ( !empty( $type ) ) { |
|
62 | + if (!empty($type)) { |
|
63 | 63 | $meta_query[] = array( |
64 | 64 | 'key' => '_wpinv_type', |
65 | 65 | 'value' => $type, |
@@ -72,14 +72,14 @@ discard block |
||
72 | 72 | 'post_status' => 'any', |
73 | 73 | 'orderby' => 'ID', |
74 | 74 | 'order' => 'ASC', |
75 | - 'meta_query' => array( $meta_query ) |
|
75 | + 'meta_query' => array($meta_query) |
|
76 | 76 | ); |
77 | 77 | |
78 | - $posts = get_posts( $args ); |
|
78 | + $posts = get_posts($args); |
|
79 | 79 | |
80 | 80 | break; |
81 | 81 | case 'custom': |
82 | - if ( empty( $value ) || empty( $type ) ) { |
|
82 | + if (empty($value) || empty($type)) { |
|
83 | 83 | return false; |
84 | 84 | } |
85 | 85 | |
@@ -99,10 +99,10 @@ discard block |
||
99 | 99 | 'post_status' => 'any', |
100 | 100 | 'orderby' => 'ID', |
101 | 101 | 'order' => 'ASC', |
102 | - 'meta_query' => array( $meta_query ) |
|
102 | + 'meta_query' => array($meta_query) |
|
103 | 103 | ); |
104 | 104 | |
105 | - $posts = get_posts( $args ); |
|
105 | + $posts = get_posts($args); |
|
106 | 106 | |
107 | 107 | break; |
108 | 108 | |
@@ -110,17 +110,17 @@ discard block |
||
110 | 110 | return false; |
111 | 111 | } |
112 | 112 | |
113 | - if ( !empty( $posts[0] ) ) { |
|
114 | - return new WPInv_Item( $posts[0]->ID ); |
|
113 | + if (!empty($posts[0])) { |
|
114 | + return new WPInv_Item($posts[0]->ID); |
|
115 | 115 | } |
116 | 116 | |
117 | 117 | return false; |
118 | 118 | } |
119 | 119 | |
120 | -function wpinv_get_item( $item = 0 ) { |
|
121 | - if ( is_numeric( $item ) ) { |
|
122 | - $item = get_post( $item ); |
|
123 | - if ( ! $item || 'wpi_item' !== $item->post_type ) |
|
120 | +function wpinv_get_item($item = 0) { |
|
121 | + if (is_numeric($item)) { |
|
122 | + $item = get_post($item); |
|
123 | + if (!$item || 'wpi_item' !== $item->post_type) |
|
124 | 124 | return null; |
125 | 125 | return $item; |
126 | 126 | } |
@@ -133,136 +133,136 @@ discard block |
||
133 | 133 | |
134 | 134 | $item = get_posts($args); |
135 | 135 | |
136 | - if ( $item ) { |
|
136 | + if ($item) { |
|
137 | 137 | return $item[0]; |
138 | 138 | } |
139 | 139 | |
140 | 140 | return null; |
141 | 141 | } |
142 | 142 | |
143 | -function wpinv_is_free_item( $item_id = 0 ) { |
|
144 | - if( empty( $item_id ) ) { |
|
143 | +function wpinv_is_free_item($item_id = 0) { |
|
144 | + if (empty($item_id)) { |
|
145 | 145 | return false; |
146 | 146 | } |
147 | 147 | |
148 | - $item = new WPInv_Item( $item_id ); |
|
148 | + $item = new WPInv_Item($item_id); |
|
149 | 149 | |
150 | 150 | return $item->is_free(); |
151 | 151 | } |
152 | 152 | |
153 | -function wpinv_get_item_price( $item_id = 0 ) { |
|
154 | - if( empty( $item_id ) ) { |
|
153 | +function wpinv_get_item_price($item_id = 0) { |
|
154 | + if (empty($item_id)) { |
|
155 | 155 | return false; |
156 | 156 | } |
157 | 157 | |
158 | - $item = new WPInv_Item( $item_id ); |
|
158 | + $item = new WPInv_Item($item_id); |
|
159 | 159 | |
160 | 160 | return $item->get_price(); |
161 | 161 | } |
162 | 162 | |
163 | -function wpinv_is_recurring_item( $item_id = 0 ) { |
|
164 | - if( empty( $item_id ) ) { |
|
163 | +function wpinv_is_recurring_item($item_id = 0) { |
|
164 | + if (empty($item_id)) { |
|
165 | 165 | return false; |
166 | 166 | } |
167 | 167 | |
168 | - $item = new WPInv_Item( $item_id ); |
|
168 | + $item = new WPInv_Item($item_id); |
|
169 | 169 | |
170 | 170 | return $item->is_recurring(); |
171 | 171 | } |
172 | 172 | |
173 | -function wpinv_item_price( $item_id = 0 ) { |
|
174 | - if( empty( $item_id ) ) { |
|
173 | +function wpinv_item_price($item_id = 0) { |
|
174 | + if (empty($item_id)) { |
|
175 | 175 | return false; |
176 | 176 | } |
177 | 177 | |
178 | - $price = wpinv_get_item_price( $item_id ); |
|
179 | - $price = wpinv_price( wpinv_format_amount( $price ) ); |
|
178 | + $price = wpinv_get_item_price($item_id); |
|
179 | + $price = wpinv_price(wpinv_format_amount($price)); |
|
180 | 180 | |
181 | - return apply_filters( 'wpinv_item_price', $price, $item_id ); |
|
181 | + return apply_filters('wpinv_item_price', $price, $item_id); |
|
182 | 182 | } |
183 | 183 | |
184 | -function wpinv_item_show_price( $item_id = 0, $echo = true ) { |
|
185 | - if ( empty( $item_id ) ) { |
|
184 | +function wpinv_item_show_price($item_id = 0, $echo = true) { |
|
185 | + if (empty($item_id)) { |
|
186 | 186 | $item_id = get_the_ID(); |
187 | 187 | } |
188 | 188 | |
189 | - $price = wpinv_item_price( $item_id ); |
|
189 | + $price = wpinv_item_price($item_id); |
|
190 | 190 | |
191 | - $price = apply_filters( 'wpinv_item_price', wpinv_sanitize_amount( $price ), $item_id ); |
|
191 | + $price = apply_filters('wpinv_item_price', wpinv_sanitize_amount($price), $item_id); |
|
192 | 192 | $formatted_price = '<span class="wpinv_price" id="wpinv_item_' . $item_id . '">' . $price . '</span>'; |
193 | - $formatted_price = apply_filters( 'wpinv_item_price_after_html', $formatted_price, $item_id, $price ); |
|
193 | + $formatted_price = apply_filters('wpinv_item_price_after_html', $formatted_price, $item_id, $price); |
|
194 | 194 | |
195 | - if ( $echo ) { |
|
195 | + if ($echo) { |
|
196 | 196 | echo $formatted_price; |
197 | 197 | } else { |
198 | 198 | return $formatted_price; |
199 | 199 | } |
200 | 200 | } |
201 | 201 | |
202 | -function wpinv_get_item_final_price( $item_id = 0, $amount_override = null ) { |
|
203 | - if ( is_null( $amount_override ) ) { |
|
204 | - $original_price = get_post_meta( $item_id, '_wpinv_price', true ); |
|
202 | +function wpinv_get_item_final_price($item_id = 0, $amount_override = null) { |
|
203 | + if (is_null($amount_override)) { |
|
204 | + $original_price = get_post_meta($item_id, '_wpinv_price', true); |
|
205 | 205 | } else { |
206 | 206 | $original_price = $amount_override; |
207 | 207 | } |
208 | 208 | |
209 | 209 | $price = $original_price; |
210 | 210 | |
211 | - return apply_filters( 'wpinv_get_item_final_price', $price, $item_id ); |
|
211 | + return apply_filters('wpinv_get_item_final_price', $price, $item_id); |
|
212 | 212 | } |
213 | 213 | |
214 | -function wpinv_item_cpt_singular_name( $item_id ) { |
|
215 | - if( empty( $item_id ) ) { |
|
214 | +function wpinv_item_cpt_singular_name($item_id) { |
|
215 | + if (empty($item_id)) { |
|
216 | 216 | return false; |
217 | 217 | } |
218 | 218 | |
219 | - $item = new WPInv_Item( $item_id ); |
|
219 | + $item = new WPInv_Item($item_id); |
|
220 | 220 | |
221 | 221 | return $item->get_cpt_singular_name(); |
222 | 222 | } |
223 | 223 | |
224 | 224 | function wpinv_get_item_types() { |
225 | 225 | $item_types = array( |
226 | - 'custom' => __( 'Standard', 'invoicing' ), |
|
227 | - 'fee' => __( 'Fee', 'invoicing' ), |
|
226 | + 'custom' => __('Standard', 'invoicing'), |
|
227 | + 'fee' => __('Fee', 'invoicing'), |
|
228 | 228 | ); |
229 | - return apply_filters( 'wpinv_get_item_types', $item_types ); |
|
229 | + return apply_filters('wpinv_get_item_types', $item_types); |
|
230 | 230 | } |
231 | 231 | |
232 | 232 | function wpinv_item_types() { |
233 | 233 | $item_types = wpinv_get_item_types(); |
234 | 234 | |
235 | - return ( !empty( $item_types ) ? array_keys( $item_types ) : array() ); |
|
235 | + return (!empty($item_types) ? array_keys($item_types) : array()); |
|
236 | 236 | } |
237 | 237 | |
238 | -function wpinv_get_item_type( $item_id ) { |
|
239 | - if( empty( $item_id ) ) { |
|
238 | +function wpinv_get_item_type($item_id) { |
|
239 | + if (empty($item_id)) { |
|
240 | 240 | return false; |
241 | 241 | } |
242 | 242 | |
243 | - $item = new WPInv_Item( $item_id ); |
|
243 | + $item = new WPInv_Item($item_id); |
|
244 | 244 | |
245 | 245 | return $item->get_type(); |
246 | 246 | } |
247 | 247 | |
248 | -function wpinv_item_type( $item_id ) { |
|
248 | +function wpinv_item_type($item_id) { |
|
249 | 249 | $item_types = wpinv_get_item_types(); |
250 | 250 | |
251 | - $item_type = wpinv_get_item_type( $item_id ); |
|
251 | + $item_type = wpinv_get_item_type($item_id); |
|
252 | 252 | |
253 | - if ( empty( $item_type ) ) { |
|
253 | + if (empty($item_type)) { |
|
254 | 254 | $item_type = '-'; |
255 | 255 | } |
256 | 256 | |
257 | - $item_type = isset( $item_types[$item_type] ) ? $item_types[$item_type] : __( $item_type, 'invoicing' ); |
|
257 | + $item_type = isset($item_types[$item_type]) ? $item_types[$item_type] : __($item_type, 'invoicing'); |
|
258 | 258 | |
259 | - return apply_filters( 'wpinv_item_type', $item_type, $item_id ); |
|
259 | + return apply_filters('wpinv_item_type', $item_type, $item_id); |
|
260 | 260 | } |
261 | 261 | |
262 | -function wpinv_record_item_in_log( $item_id = 0, $file_id, $user_info, $ip, $invoice_id ) { |
|
262 | +function wpinv_record_item_in_log($item_id = 0, $file_id, $user_info, $ip, $invoice_id) { |
|
263 | 263 | global $wpinv_logs; |
264 | 264 | |
265 | - if ( empty( $wpinv_logs ) ) { |
|
265 | + if (empty($wpinv_logs)) { |
|
266 | 266 | return false; |
267 | 267 | } |
268 | 268 | |
@@ -271,7 +271,7 @@ discard block |
||
271 | 271 | 'log_type' => 'wpi_item' |
272 | 272 | ); |
273 | 273 | |
274 | - $user_id = isset( $user_info['user_id'] ) ? $user_info['user_id'] : (int) -1; |
|
274 | + $user_id = isset($user_info['user_id']) ? $user_info['user_id'] : (int) -1; |
|
275 | 275 | |
276 | 276 | $log_meta = array( |
277 | 277 | 'user_info' => $user_info, |
@@ -281,247 +281,247 @@ discard block |
||
281 | 281 | 'invoice_id'=> $invoice_id, |
282 | 282 | ); |
283 | 283 | |
284 | - $wpinv_logs->insert_log( $log_data, $log_meta ); |
|
284 | + $wpinv_logs->insert_log($log_data, $log_meta); |
|
285 | 285 | } |
286 | 286 | |
287 | -function wpinv_remove_item_logs_on_delete( $item_id = 0 ) { |
|
288 | - if ( 'wpi_item' !== get_post_type( $item_id ) ) |
|
287 | +function wpinv_remove_item_logs_on_delete($item_id = 0) { |
|
288 | + if ('wpi_item' !== get_post_type($item_id)) |
|
289 | 289 | return; |
290 | 290 | |
291 | 291 | global $wpinv_logs; |
292 | 292 | |
293 | - if ( empty( $wpinv_logs ) ) { |
|
293 | + if (empty($wpinv_logs)) { |
|
294 | 294 | return false; |
295 | 295 | } |
296 | 296 | |
297 | 297 | // Remove all log entries related to this item |
298 | - $wpinv_logs->delete_logs( $item_id ); |
|
298 | + $wpinv_logs->delete_logs($item_id); |
|
299 | 299 | } |
300 | -add_action( 'delete_post', 'wpinv_remove_item_logs_on_delete' ); |
|
300 | +add_action('delete_post', 'wpinv_remove_item_logs_on_delete'); |
|
301 | 301 | |
302 | -function wpinv_get_random_item( $post_ids = true ) { |
|
303 | - wpinv_get_random_items( 1, $post_ids ); |
|
302 | +function wpinv_get_random_item($post_ids = true) { |
|
303 | + wpinv_get_random_items(1, $post_ids); |
|
304 | 304 | } |
305 | 305 | |
306 | -function wpinv_get_random_items( $num = 3, $post_ids = true ) { |
|
307 | - if ( $post_ids ) { |
|
308 | - $args = array( 'post_type' => 'wpi_item', 'orderby' => 'rand', 'post_count' => $num, 'fields' => 'ids' ); |
|
306 | +function wpinv_get_random_items($num = 3, $post_ids = true) { |
|
307 | + if ($post_ids) { |
|
308 | + $args = array('post_type' => 'wpi_item', 'orderby' => 'rand', 'post_count' => $num, 'fields' => 'ids'); |
|
309 | 309 | } else { |
310 | - $args = array( 'post_type' => 'wpi_item', 'orderby' => 'rand', 'post_count' => $num ); |
|
310 | + $args = array('post_type' => 'wpi_item', 'orderby' => 'rand', 'post_count' => $num); |
|
311 | 311 | } |
312 | 312 | |
313 | - $args = apply_filters( 'wpinv_get_random_items', $args ); |
|
313 | + $args = apply_filters('wpinv_get_random_items', $args); |
|
314 | 314 | |
315 | - return get_posts( $args ); |
|
315 | + return get_posts($args); |
|
316 | 316 | } |
317 | 317 | |
318 | -function wpinv_get_item_token( $url = '' ) { |
|
318 | +function wpinv_get_item_token($url = '') { |
|
319 | 319 | $args = array(); |
320 | - $hash = apply_filters( 'wpinv_get_url_token_algorithm', 'sha256' ); |
|
321 | - $secret = apply_filters( 'wpinv_get_url_token_secret', hash( $hash, wp_salt() ) ); |
|
320 | + $hash = apply_filters('wpinv_get_url_token_algorithm', 'sha256'); |
|
321 | + $secret = apply_filters('wpinv_get_url_token_secret', hash($hash, wp_salt())); |
|
322 | 322 | |
323 | - $parts = parse_url( $url ); |
|
323 | + $parts = parse_url($url); |
|
324 | 324 | $options = array(); |
325 | 325 | |
326 | - if ( isset( $parts['query'] ) ) { |
|
327 | - wp_parse_str( $parts['query'], $query_args ); |
|
326 | + if (isset($parts['query'])) { |
|
327 | + wp_parse_str($parts['query'], $query_args); |
|
328 | 328 | |
329 | - if ( ! empty( $query_args['o'] ) ) { |
|
330 | - $options = explode( ':', rawurldecode( $query_args['o'] ) ); |
|
329 | + if (!empty($query_args['o'])) { |
|
330 | + $options = explode(':', rawurldecode($query_args['o'])); |
|
331 | 331 | |
332 | - if ( in_array( 'ip', $options ) ) { |
|
332 | + if (in_array('ip', $options)) { |
|
333 | 333 | $args['ip'] = wpinv_get_ip(); |
334 | 334 | } |
335 | 335 | |
336 | - if ( in_array( 'ua', $options ) ) { |
|
336 | + if (in_array('ua', $options)) { |
|
337 | 337 | $ua = wpinv_get_user_agent(); |
338 | - $args['user_agent'] = rawurlencode( $ua ); |
|
338 | + $args['user_agent'] = rawurlencode($ua); |
|
339 | 339 | } |
340 | 340 | } |
341 | 341 | } |
342 | 342 | |
343 | - $args = apply_filters( 'wpinv_get_url_token_args', $args, $url, $options ); |
|
343 | + $args = apply_filters('wpinv_get_url_token_args', $args, $url, $options); |
|
344 | 344 | |
345 | 345 | $args['secret'] = $secret; |
346 | 346 | $args['token'] = false; |
347 | 347 | |
348 | - $url = add_query_arg( $args, $url ); |
|
349 | - $parts = parse_url( $url ); |
|
348 | + $url = add_query_arg($args, $url); |
|
349 | + $parts = parse_url($url); |
|
350 | 350 | |
351 | - if ( ! isset( $parts['path'] ) ) { |
|
351 | + if (!isset($parts['path'])) { |
|
352 | 352 | $parts['path'] = ''; |
353 | 353 | } |
354 | 354 | |
355 | - $token = md5( $parts['path'] . '?' . $parts['query'] ); |
|
355 | + $token = md5($parts['path'] . '?' . $parts['query']); |
|
356 | 356 | |
357 | 357 | return $token; |
358 | 358 | } |
359 | 359 | |
360 | -function wpinv_validate_url_token( $url = '' ) { |
|
360 | +function wpinv_validate_url_token($url = '') { |
|
361 | 361 | $ret = false; |
362 | - $parts = parse_url( $url ); |
|
362 | + $parts = parse_url($url); |
|
363 | 363 | |
364 | - if ( isset( $parts['query'] ) ) { |
|
365 | - wp_parse_str( $parts['query'], $query_args ); |
|
364 | + if (isset($parts['query'])) { |
|
365 | + wp_parse_str($parts['query'], $query_args); |
|
366 | 366 | |
367 | - $allowed = apply_filters( 'wpinv_url_token_allowed_params', array( |
|
367 | + $allowed = apply_filters('wpinv_url_token_allowed_params', array( |
|
368 | 368 | 'item', |
369 | 369 | 'ttl', |
370 | 370 | 'token' |
371 | - ) ); |
|
371 | + )); |
|
372 | 372 | |
373 | 373 | $remove = array(); |
374 | 374 | |
375 | - foreach( $query_args as $key => $value ) { |
|
376 | - if( false === in_array( $key, $allowed ) ) { |
|
375 | + foreach ($query_args as $key => $value) { |
|
376 | + if (false === in_array($key, $allowed)) { |
|
377 | 377 | $remove[] = $key; |
378 | 378 | } |
379 | 379 | } |
380 | 380 | |
381 | - if( ! empty( $remove ) ) { |
|
382 | - $url = remove_query_arg( $remove, $url ); |
|
381 | + if (!empty($remove)) { |
|
382 | + $url = remove_query_arg($remove, $url); |
|
383 | 383 | } |
384 | 384 | |
385 | - if ( isset( $query_args['ttl'] ) && current_time( 'timestamp' ) > $query_args['ttl'] ) { |
|
386 | - wp_die( apply_filters( 'wpinv_item_link_expired_text', __( 'Sorry but your item link has expired.', 'invoicing' ) ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) ); |
|
385 | + if (isset($query_args['ttl']) && current_time('timestamp') > $query_args['ttl']) { |
|
386 | + wp_die(apply_filters('wpinv_item_link_expired_text', __('Sorry but your item link has expired.', 'invoicing')), __('Error', 'invoicing'), array('response' => 403)); |
|
387 | 387 | } |
388 | 388 | |
389 | - if ( isset( $query_args['token'] ) && $query_args['token'] == wpinv_get_item_token( $url ) ) { |
|
389 | + if (isset($query_args['token']) && $query_args['token'] == wpinv_get_item_token($url)) { |
|
390 | 390 | $ret = true; |
391 | 391 | } |
392 | 392 | |
393 | 393 | } |
394 | 394 | |
395 | - return apply_filters( 'wpinv_validate_url_token', $ret, $url, $query_args ); |
|
395 | + return apply_filters('wpinv_validate_url_token', $ret, $url, $query_args); |
|
396 | 396 | } |
397 | 397 | |
398 | -function wpinv_item_in_cart( $item_id = 0, $options = array() ) { |
|
398 | +function wpinv_item_in_cart($item_id = 0, $options = array()) { |
|
399 | 399 | $cart_items = wpinv_get_cart_contents(); |
400 | 400 | |
401 | 401 | $ret = false; |
402 | 402 | |
403 | - if ( is_array( $cart_items ) ) { |
|
404 | - foreach ( $cart_items as $item ) { |
|
405 | - if ( $item['id'] == $item_id ) { |
|
403 | + if (is_array($cart_items)) { |
|
404 | + foreach ($cart_items as $item) { |
|
405 | + if ($item['id'] == $item_id) { |
|
406 | 406 | $ret = true; |
407 | 407 | break; |
408 | 408 | } |
409 | 409 | } |
410 | 410 | } |
411 | 411 | |
412 | - return (bool) apply_filters( 'wpinv_item_in_cart', $ret, $item_id, $options ); |
|
412 | + return (bool)apply_filters('wpinv_item_in_cart', $ret, $item_id, $options); |
|
413 | 413 | } |
414 | 414 | |
415 | -function wpinv_get_cart_item_tax( $item_id = 0, $subtotal = '', $options = array() ) { |
|
415 | +function wpinv_get_cart_item_tax($item_id = 0, $subtotal = '', $options = array()) { |
|
416 | 416 | $tax = 0; |
417 | - if ( ! wpinv_item_is_tax_exclusive( $item_id ) ) { |
|
418 | - $country = !empty( $_POST['country'] ) ? $_POST['country'] : false; |
|
419 | - $state = isset( $_POST['state'] ) ? $_POST['state'] : ''; |
|
417 | + if (!wpinv_item_is_tax_exclusive($item_id)) { |
|
418 | + $country = !empty($_POST['country']) ? $_POST['country'] : false; |
|
419 | + $state = isset($_POST['state']) ? $_POST['state'] : ''; |
|
420 | 420 | |
421 | - $tax = wpinv_calculate_tax( $subtotal, $country, $state, $item_id ); |
|
421 | + $tax = wpinv_calculate_tax($subtotal, $country, $state, $item_id); |
|
422 | 422 | } |
423 | 423 | |
424 | - return apply_filters( 'wpinv_get_cart_item_tax', $tax, $item_id, $subtotal, $options ); |
|
424 | + return apply_filters('wpinv_get_cart_item_tax', $tax, $item_id, $subtotal, $options); |
|
425 | 425 | } |
426 | 426 | |
427 | -function wpinv_cart_item_price( $item ) { |
|
427 | +function wpinv_cart_item_price($item) { |
|
428 | 428 | $use_taxes = wpinv_use_taxes(); |
429 | - $item_id = isset( $item['id'] ) ? $item['id'] : 0; |
|
430 | - $price = isset( $item['item_price'] ) ? wpinv_round_amount( $item['item_price'] ) : 0; |
|
431 | - $options = isset( $item['options'] ) ? $item['options'] : array(); |
|
432 | - $price_id = isset( $options['price_id'] ) ? $options['price_id'] : false; |
|
433 | - $tax = wpinv_price( wpinv_format_amount( $item['tax'] ) ); |
|
434 | - |
|
435 | - if ( !wpinv_is_free_item( $item_id, $price_id ) && !wpinv_item_is_tax_exclusive( $item_id ) ) { |
|
436 | - if ( wpinv_prices_show_tax_on_checkout() && !wpinv_prices_include_tax() ) { |
|
429 | + $item_id = isset($item['id']) ? $item['id'] : 0; |
|
430 | + $price = isset($item['item_price']) ? wpinv_round_amount($item['item_price']) : 0; |
|
431 | + $options = isset($item['options']) ? $item['options'] : array(); |
|
432 | + $price_id = isset($options['price_id']) ? $options['price_id'] : false; |
|
433 | + $tax = wpinv_price(wpinv_format_amount($item['tax'])); |
|
434 | + |
|
435 | + if (!wpinv_is_free_item($item_id, $price_id) && !wpinv_item_is_tax_exclusive($item_id)) { |
|
436 | + if (wpinv_prices_show_tax_on_checkout() && !wpinv_prices_include_tax()) { |
|
437 | 437 | $price += $tax; |
438 | 438 | } |
439 | 439 | |
440 | - if( !wpinv_prices_show_tax_on_checkout() && wpinv_prices_include_tax() ) { |
|
440 | + if (!wpinv_prices_show_tax_on_checkout() && wpinv_prices_include_tax()) { |
|
441 | 441 | $price -= $tax; |
442 | 442 | } |
443 | 443 | } |
444 | 444 | |
445 | - $price = wpinv_price( wpinv_format_amount( $price ) ); |
|
445 | + $price = wpinv_price(wpinv_format_amount($price)); |
|
446 | 446 | |
447 | - return apply_filters( 'wpinv_cart_item_price_label', $price, $item ); |
|
447 | + return apply_filters('wpinv_cart_item_price_label', $price, $item); |
|
448 | 448 | } |
449 | 449 | |
450 | -function wpinv_cart_item_subtotal( $item ) { |
|
451 | - $subtotal = isset( $item['subtotal'] ) ? $item['subtotal'] : 0; |
|
452 | - $subtotal = wpinv_price( wpinv_format_amount( $subtotal ) ); |
|
450 | +function wpinv_cart_item_subtotal($item) { |
|
451 | + $subtotal = isset($item['subtotal']) ? $item['subtotal'] : 0; |
|
452 | + $subtotal = wpinv_price(wpinv_format_amount($subtotal)); |
|
453 | 453 | |
454 | - return apply_filters( 'wpinv_cart_item_subtotal_label', $subtotal, $item ); |
|
454 | + return apply_filters('wpinv_cart_item_subtotal_label', $subtotal, $item); |
|
455 | 455 | } |
456 | 456 | |
457 | -function wpinv_cart_item_tax( $item ) { |
|
457 | +function wpinv_cart_item_tax($item) { |
|
458 | 458 | $tax = ''; |
459 | 459 | $tax_rate = ''; |
460 | 460 | |
461 | - if ( isset( $item['tax'] ) && $item['tax'] > 0 && $item['subtotal'] > 0 ) { |
|
462 | - $tax = wpinv_price( wpinv_format_amount( $item['tax'] ) ); |
|
463 | - $tax_rate = !empty( $item['vat_rate'] ) ? $item['vat_rate'] : ( $item['tax'] / $item['subtotal'] ) * 100; |
|
464 | - $tax_rate = $tax_rate > 0 ? (float)wpinv_round_amount( $tax_rate ) : ''; |
|
461 | + if (isset($item['tax']) && $item['tax'] > 0 && $item['subtotal'] > 0) { |
|
462 | + $tax = wpinv_price(wpinv_format_amount($item['tax'])); |
|
463 | + $tax_rate = !empty($item['vat_rate']) ? $item['vat_rate'] : ($item['tax'] / $item['subtotal']) * 100; |
|
464 | + $tax_rate = $tax_rate > 0 ? (float)wpinv_round_amount($tax_rate) : ''; |
|
465 | 465 | $tax_rate = $tax_rate != '' ? ' <small class="tax-rate normal small">(' . $tax_rate . '%)</small>' : ''; |
466 | 466 | } |
467 | 467 | |
468 | - $tax = $tax . $tax_rate; |
|
468 | + $tax = $tax . $tax_rate; |
|
469 | 469 | |
470 | - if ( $tax === '' ) { |
|
470 | + if ($tax === '') { |
|
471 | 471 | $tax = 0; // Zero tax |
472 | 472 | } |
473 | 473 | |
474 | - return apply_filters( 'wpinv_cart_item_tax_label', $tax, $item ); |
|
474 | + return apply_filters('wpinv_cart_item_tax_label', $tax, $item); |
|
475 | 475 | } |
476 | 476 | |
477 | -function wpinv_get_cart_item_price( $item_id = 0, $options = array(), $remove_tax_from_inclusive = false ) { |
|
477 | +function wpinv_get_cart_item_price($item_id = 0, $options = array(), $remove_tax_from_inclusive = false) { |
|
478 | 478 | $price = 0; |
479 | - $variable_prices = wpinv_has_variable_prices( $item_id ); |
|
479 | + $variable_prices = wpinv_has_variable_prices($item_id); |
|
480 | 480 | |
481 | - if ( $variable_prices ) { |
|
482 | - $prices = wpinv_get_variable_prices( $item_id ); |
|
481 | + if ($variable_prices) { |
|
482 | + $prices = wpinv_get_variable_prices($item_id); |
|
483 | 483 | |
484 | - if ( $prices ) { |
|
485 | - if( ! empty( $options ) ) { |
|
486 | - $price = isset( $prices[ $options['price_id'] ] ) ? $prices[ $options['price_id'] ]['amount'] : false; |
|
484 | + if ($prices) { |
|
485 | + if (!empty($options)) { |
|
486 | + $price = isset($prices[$options['price_id']]) ? $prices[$options['price_id']]['amount'] : false; |
|
487 | 487 | } else { |
488 | 488 | $price = false; |
489 | 489 | } |
490 | 490 | } |
491 | 491 | } |
492 | 492 | |
493 | - if( ! $variable_prices || false === $price ) { |
|
493 | + if (!$variable_prices || false === $price) { |
|
494 | 494 | // Get the standard Item price if not using variable prices |
495 | - $price = wpinv_get_item_price( $item_id ); |
|
495 | + $price = wpinv_get_item_price($item_id); |
|
496 | 496 | } |
497 | 497 | |
498 | - if ( $remove_tax_from_inclusive && wpinv_prices_include_tax() ) { |
|
499 | - $price -= wpinv_get_cart_item_tax( $item_id, $price, $options ); |
|
498 | + if ($remove_tax_from_inclusive && wpinv_prices_include_tax()) { |
|
499 | + $price -= wpinv_get_cart_item_tax($item_id, $price, $options); |
|
500 | 500 | } |
501 | 501 | |
502 | - return apply_filters( 'wpinv_cart_item_price', $price, $item_id, $options ); |
|
502 | + return apply_filters('wpinv_cart_item_price', $price, $item_id, $options); |
|
503 | 503 | } |
504 | 504 | |
505 | -function wpinv_get_cart_item_price_id( $item = array() ) { |
|
506 | - if( isset( $item['item_number'] ) ) { |
|
507 | - $price_id = isset( $item['item_number']['options']['price_id'] ) ? $item['item_number']['options']['price_id'] : null; |
|
505 | +function wpinv_get_cart_item_price_id($item = array()) { |
|
506 | + if (isset($item['item_number'])) { |
|
507 | + $price_id = isset($item['item_number']['options']['price_id']) ? $item['item_number']['options']['price_id'] : null; |
|
508 | 508 | } else { |
509 | - $price_id = isset( $item['options']['price_id'] ) ? $item['options']['price_id'] : null; |
|
509 | + $price_id = isset($item['options']['price_id']) ? $item['options']['price_id'] : null; |
|
510 | 510 | } |
511 | 511 | return $price_id; |
512 | 512 | } |
513 | 513 | |
514 | -function wpinv_get_cart_item_price_name( $item = array() ) { |
|
515 | - $price_id = (int)wpinv_get_cart_item_price_id( $item ); |
|
516 | - $prices = wpinv_get_variable_prices( $item['id'] ); |
|
517 | - $name = ! empty( $prices[ $price_id ] ) ? $prices[ $price_id ]['name'] : ''; |
|
518 | - return apply_filters( 'wpinv_get_cart_item_price_name', $name, $item['id'], $price_id, $item ); |
|
514 | +function wpinv_get_cart_item_price_name($item = array()) { |
|
515 | + $price_id = (int)wpinv_get_cart_item_price_id($item); |
|
516 | + $prices = wpinv_get_variable_prices($item['id']); |
|
517 | + $name = !empty($prices[$price_id]) ? $prices[$price_id]['name'] : ''; |
|
518 | + return apply_filters('wpinv_get_cart_item_price_name', $name, $item['id'], $price_id, $item); |
|
519 | 519 | } |
520 | 520 | |
521 | -function wpinv_get_cart_item_name( $item = array() ) { |
|
522 | - $item_title = !empty( $item['name'] ) ? $item['name'] : get_the_title( $item['id'] ); |
|
521 | +function wpinv_get_cart_item_name($item = array()) { |
|
522 | + $item_title = !empty($item['name']) ? $item['name'] : get_the_title($item['id']); |
|
523 | 523 | |
524 | - if ( empty( $item_title ) ) { |
|
524 | + if (empty($item_title)) { |
|
525 | 525 | $item_title = $item['id']; |
526 | 526 | } |
527 | 527 | |
@@ -531,23 +531,23 @@ discard block |
||
531 | 531 | } |
532 | 532 | */ |
533 | 533 | |
534 | - return apply_filters( 'wpinv_get_cart_item_name', $item_title, $item['id'], $item ); |
|
534 | + return apply_filters('wpinv_get_cart_item_name', $item_title, $item['id'], $item); |
|
535 | 535 | } |
536 | 536 | |
537 | -function wpinv_has_variable_prices( $item_id = 0 ) { |
|
537 | +function wpinv_has_variable_prices($item_id = 0) { |
|
538 | 538 | return false; |
539 | 539 | } |
540 | 540 | |
541 | -function wpinv_get_item_position_in_cart( $item_id = 0, $options = array() ) { |
|
541 | +function wpinv_get_item_position_in_cart($item_id = 0, $options = array()) { |
|
542 | 542 | $cart_items = wpinv_get_cart_contents(); |
543 | 543 | |
544 | - if ( !is_array( $cart_items ) ) { |
|
544 | + if (!is_array($cart_items)) { |
|
545 | 545 | return false; // Empty cart |
546 | 546 | } else { |
547 | - foreach ( $cart_items as $position => $item ) { |
|
548 | - if ( $item['id'] == $item_id ) { |
|
549 | - if ( isset( $options['price_id'] ) && isset( $item['options']['price_id'] ) ) { |
|
550 | - if ( (int) $options['price_id'] == (int) $item['options']['price_id'] ) { |
|
547 | + foreach ($cart_items as $position => $item) { |
|
548 | + if ($item['id'] == $item_id) { |
|
549 | + if (isset($options['price_id']) && isset($item['options']['price_id'])) { |
|
550 | + if ((int)$options['price_id'] == (int)$item['options']['price_id']) { |
|
551 | 551 | return $position; |
552 | 552 | } |
553 | 553 | } else { |
@@ -560,80 +560,80 @@ discard block |
||
560 | 560 | return false; // Not found |
561 | 561 | } |
562 | 562 | |
563 | -function wpinv_get_cart_item_quantity( $item ) { |
|
564 | - if ( wpinv_item_quantities_enabled() ) { |
|
565 | - $quantity = !empty( $item['quantity'] ) && (int)$item['quantity'] > 0 ? absint( $item['quantity'] ) : 1; |
|
563 | +function wpinv_get_cart_item_quantity($item) { |
|
564 | + if (wpinv_item_quantities_enabled()) { |
|
565 | + $quantity = !empty($item['quantity']) && (int)$item['quantity'] > 0 ? absint($item['quantity']) : 1; |
|
566 | 566 | } else { |
567 | 567 | $quantity = 1; |
568 | 568 | } |
569 | 569 | |
570 | - if ( $quantity < 1 ) { |
|
570 | + if ($quantity < 1) { |
|
571 | 571 | $quantity = 1; |
572 | 572 | } |
573 | 573 | |
574 | - return apply_filters( 'wpinv_get_cart_item_quantity', $quantity, $item ); |
|
574 | + return apply_filters('wpinv_get_cart_item_quantity', $quantity, $item); |
|
575 | 575 | } |
576 | 576 | |
577 | -function wpinv_get_item_suffix( $item, $html = true ) { |
|
578 | - if ( empty( $item ) ) { |
|
577 | +function wpinv_get_item_suffix($item, $html = true) { |
|
578 | + if (empty($item)) { |
|
579 | 579 | return NULL; |
580 | 580 | } |
581 | 581 | |
582 | - if ( is_int( $item ) ) { |
|
583 | - $item = new WPInv_Item( $item ); |
|
582 | + if (is_int($item)) { |
|
583 | + $item = new WPInv_Item($item); |
|
584 | 584 | } |
585 | 585 | |
586 | - if ( !( is_object( $item ) && is_a( $item, 'WPInv_Item' ) ) ) { |
|
586 | + if (!(is_object($item) && is_a($item, 'WPInv_Item'))) { |
|
587 | 587 | return NULL; |
588 | 588 | } |
589 | 589 | |
590 | - $suffix = $item->is_recurring() ? ' <span class="wpi-suffix">' . __( '(r)', 'invoicing' ) . '</span>' : ''; |
|
590 | + $suffix = $item->is_recurring() ? ' <span class="wpi-suffix">' . __('(r)', 'invoicing') . '</span>' : ''; |
|
591 | 591 | |
592 | - if ( !$html && $suffix ) { |
|
593 | - $suffix = strip_tags( $suffix ); |
|
592 | + if (!$html && $suffix) { |
|
593 | + $suffix = strip_tags($suffix); |
|
594 | 594 | } |
595 | 595 | |
596 | - return apply_filters( 'wpinv_get_item_suffix', $suffix, $item, $html ); |
|
596 | + return apply_filters('wpinv_get_item_suffix', $suffix, $item, $html); |
|
597 | 597 | } |
598 | 598 | |
599 | -function wpinv_remove_item( $item = 0, $force_delete = false ) { |
|
600 | - if ( empty( $item ) ) { |
|
599 | +function wpinv_remove_item($item = 0, $force_delete = false) { |
|
600 | + if (empty($item)) { |
|
601 | 601 | return NULL; |
602 | 602 | } |
603 | 603 | |
604 | - if ( is_int( $item ) ) { |
|
605 | - $item = new WPInv_Item( $item ); |
|
604 | + if (is_int($item)) { |
|
605 | + $item = new WPInv_Item($item); |
|
606 | 606 | } |
607 | 607 | |
608 | - if ( !( is_object( $item ) && is_a( $item, 'WPInv_Item' ) ) ) { |
|
608 | + if (!(is_object($item) && is_a($item, 'WPInv_Item'))) { |
|
609 | 609 | return NULL; |
610 | 610 | } |
611 | 611 | |
612 | - do_action( 'wpinv_pre_delete_item', $item ); |
|
612 | + do_action('wpinv_pre_delete_item', $item); |
|
613 | 613 | |
614 | - wp_delete_post( $item->ID, $force_delete ); |
|
614 | + wp_delete_post($item->ID, $force_delete); |
|
615 | 615 | |
616 | - do_action( 'wpinv_post_delete_item', $item ); |
|
616 | + do_action('wpinv_post_delete_item', $item); |
|
617 | 617 | } |
618 | 618 | |
619 | -function wpinv_can_delete_item( $post_id ) { |
|
620 | - $return = current_user_can( 'manage_options' ) ? true : false; |
|
619 | +function wpinv_can_delete_item($post_id) { |
|
620 | + $return = current_user_can('manage_options') ? true : false; |
|
621 | 621 | |
622 | - if ( $return && wpinv_item_in_use( $post_id ) ) { |
|
622 | + if ($return && wpinv_item_in_use($post_id)) { |
|
623 | 623 | $return = false; // Don't delete item already use in invoices. |
624 | 624 | } |
625 | 625 | |
626 | - return apply_filters( 'wpinv_can_delete_item', $return, $post_id ); |
|
626 | + return apply_filters('wpinv_can_delete_item', $return, $post_id); |
|
627 | 627 | } |
628 | 628 | |
629 | 629 | function wpinv_admin_action_delete() { |
630 | 630 | $screen = get_current_screen(); |
631 | 631 | |
632 | - if ( !empty( $screen->post_type ) && $screen->post_type == 'wpi_item' && !empty( $_REQUEST['post'] ) && is_array( $_REQUEST['post'] ) ) { |
|
632 | + if (!empty($screen->post_type) && $screen->post_type == 'wpi_item' && !empty($_REQUEST['post']) && is_array($_REQUEST['post'])) { |
|
633 | 633 | $post_ids = array(); |
634 | 634 | |
635 | - foreach ( $_REQUEST['post'] as $post_id ) { |
|
636 | - if ( !wpinv_can_delete_item( $post_id ) ) { |
|
635 | + foreach ($_REQUEST['post'] as $post_id) { |
|
636 | + if (!wpinv_can_delete_item($post_id)) { |
|
637 | 637 | continue; |
638 | 638 | } |
639 | 639 | |
@@ -643,83 +643,83 @@ discard block |
||
643 | 643 | $_REQUEST['post'] = $post_ids; |
644 | 644 | } |
645 | 645 | } |
646 | -add_action( 'admin_action_trash', 'wpinv_admin_action_delete', -10 ); |
|
647 | -add_action( 'admin_action_delete', 'wpinv_admin_action_delete', -10 ); |
|
646 | +add_action('admin_action_trash', 'wpinv_admin_action_delete', -10); |
|
647 | +add_action('admin_action_delete', 'wpinv_admin_action_delete', -10); |
|
648 | 648 | |
649 | -function wpinv_check_delete_item( $check, $post, $force_delete ) { |
|
650 | - if ( $post->post_type == 'wpi_item' ) { |
|
651 | - if ( $force_delete && !wpinv_can_delete_item( $post->ID ) ) { |
|
649 | +function wpinv_check_delete_item($check, $post, $force_delete) { |
|
650 | + if ($post->post_type == 'wpi_item') { |
|
651 | + if ($force_delete && !wpinv_can_delete_item($post->ID)) { |
|
652 | 652 | return true; |
653 | 653 | } |
654 | 654 | } |
655 | 655 | |
656 | 656 | return $check; |
657 | 657 | } |
658 | -add_filter( 'pre_delete_post', 'wpinv_check_delete_item', 10, 3 ); |
|
658 | +add_filter('pre_delete_post', 'wpinv_check_delete_item', 10, 3); |
|
659 | 659 | |
660 | -function wpinv_item_in_use( $item_id ) { |
|
660 | +function wpinv_item_in_use($item_id) { |
|
661 | 661 | global $wpdb, $wpi_items_in_use; |
662 | 662 | |
663 | - if ( !$item_id > 0 ) { |
|
663 | + if (!$item_id > 0) { |
|
664 | 664 | return false; |
665 | 665 | } |
666 | 666 | |
667 | - if ( !empty( $wpi_items_in_use ) ) { |
|
668 | - if ( isset( $wpi_items_in_use[$item_id] ) ) { |
|
667 | + if (!empty($wpi_items_in_use)) { |
|
668 | + if (isset($wpi_items_in_use[$item_id])) { |
|
669 | 669 | return $wpi_items_in_use[$item_id]; |
670 | 670 | } |
671 | 671 | } else { |
672 | 672 | $wpi_items_in_use = array(); |
673 | 673 | } |
674 | 674 | |
675 | - $statuses = array_keys( wpinv_get_invoice_statuses( true ) ); |
|
675 | + $statuses = array_keys(wpinv_get_invoice_statuses(true)); |
|
676 | 676 | |
677 | - $query = "SELECT p.ID FROM " . $wpdb->posts . " AS p INNER JOIN " . $wpdb->postmeta . " AS pm ON p.ID = pm.post_id WHERE p.post_type = 'wpi_invoice' AND p.post_status IN( '" . implode( "','", $statuses ) . "' ) AND pm.meta_key = '_wpinv_item_ids' AND FIND_IN_SET( '" . (int)$item_id . "', pm.meta_value )"; |
|
678 | - $in_use = $wpdb->get_var( $query ) > 0 ? true : false; |
|
677 | + $query = "SELECT p.ID FROM " . $wpdb->posts . " AS p INNER JOIN " . $wpdb->postmeta . " AS pm ON p.ID = pm.post_id WHERE p.post_type = 'wpi_invoice' AND p.post_status IN( '" . implode("','", $statuses) . "' ) AND pm.meta_key = '_wpinv_item_ids' AND FIND_IN_SET( '" . (int)$item_id . "', pm.meta_value )"; |
|
678 | + $in_use = $wpdb->get_var($query) > 0 ? true : false; |
|
679 | 679 | |
680 | 680 | $wpi_items_in_use[$item_id] = $in_use; |
681 | 681 | |
682 | 682 | return $in_use; |
683 | 683 | } |
684 | 684 | |
685 | -function wpinv_create_item( $args = array(), $wp_error = false, $force_update = false ) { |
|
685 | +function wpinv_create_item($args = array(), $wp_error = false, $force_update = false) { |
|
686 | 686 | // Set some defaults |
687 | 687 | $defaults = array( |
688 | - 'type' => 'custom', // Optional. Item type. Default 'custom'. |
|
689 | - 'item_id' => 0, // Required. Any integer number. Must be unique within item type. |
|
690 | - 'title' => '', // Required. Item title. |
|
691 | - 'price' => '0.00', // Optional. Item price. Default '0.00'. |
|
692 | - 'status' => 'pending', // Optional. pending, publish |
|
693 | - 'vat_rule' => 'digital', // Optional. digital => Digital item, physical => Physical item |
|
694 | - 'cpt_singular_name' => '', // Optional. Sub title for item. Should be singular. |
|
695 | - 'cpt_name' => '', // Optional. Sub title for item. Should be plural. |
|
696 | - 'is_recurring' => 0, // Optional. 1 => Allow recurring or 0 => Don't allow recurring |
|
697 | - 'recurring_period' => 'M', // Optional. D => Daily, W => Weekly, M => Monthly, Y => Yearly |
|
698 | - 'recurring_interval' => 0, // Optional. Integer value between 1 - 90. |
|
699 | - 'recurring_limit' => 0, // Optional. Any integer number. 0 for recurring forever until cancelled. |
|
700 | - 'free_trial' => 0, // Optional. 1 => Allow free trial or 0 => Don't free trial |
|
701 | - 'trial_period' => 'M', // Optional. D => Daily, W => Weekly, M => Monthly, Y => Yearly |
|
702 | - 'trial_interval' => 0, // Optional. Any integer number. |
|
703 | - 'excerpt' => '', // Optional. Item short description |
|
688 | + 'type' => 'custom', // Optional. Item type. Default 'custom'. |
|
689 | + 'item_id' => 0, // Required. Any integer number. Must be unique within item type. |
|
690 | + 'title' => '', // Required. Item title. |
|
691 | + 'price' => '0.00', // Optional. Item price. Default '0.00'. |
|
692 | + 'status' => 'pending', // Optional. pending, publish |
|
693 | + 'vat_rule' => 'digital', // Optional. digital => Digital item, physical => Physical item |
|
694 | + 'cpt_singular_name' => '', // Optional. Sub title for item. Should be singular. |
|
695 | + 'cpt_name' => '', // Optional. Sub title for item. Should be plural. |
|
696 | + 'is_recurring' => 0, // Optional. 1 => Allow recurring or 0 => Don't allow recurring |
|
697 | + 'recurring_period' => 'M', // Optional. D => Daily, W => Weekly, M => Monthly, Y => Yearly |
|
698 | + 'recurring_interval' => 0, // Optional. Integer value between 1 - 90. |
|
699 | + 'recurring_limit' => 0, // Optional. Any integer number. 0 for recurring forever until cancelled. |
|
700 | + 'free_trial' => 0, // Optional. 1 => Allow free trial or 0 => Don't free trial |
|
701 | + 'trial_period' => 'M', // Optional. D => Daily, W => Weekly, M => Monthly, Y => Yearly |
|
702 | + 'trial_interval' => 0, // Optional. Any integer number. |
|
703 | + 'excerpt' => '', // Optional. Item short description |
|
704 | 704 | ); |
705 | 705 | |
706 | - $data = wp_parse_args( $args, $defaults ); |
|
706 | + $data = wp_parse_args($args, $defaults); |
|
707 | 707 | |
708 | - if ( empty( $data['item_id'] ) ) { |
|
709 | - if ( $wp_error ) { |
|
710 | - return new WP_Error( 'invalid_item_id', __( 'Invalid item ID.' ) ); |
|
708 | + if (empty($data['item_id'])) { |
|
709 | + if ($wp_error) { |
|
710 | + return new WP_Error('invalid_item_id', __('Invalid item ID.')); |
|
711 | 711 | } else { |
712 | 712 | return false; |
713 | 713 | } |
714 | 714 | } |
715 | 715 | |
716 | - if ( empty( $data['type'] ) ) { |
|
716 | + if (empty($data['type'])) { |
|
717 | 717 | $data['type'] = 'custom'; |
718 | 718 | } |
719 | 719 | |
720 | - $item = wpinv_get_item_by( 'item_id', $data['item_id'], $data['type'] ); |
|
720 | + $item = wpinv_get_item_by('item_id', $data['item_id'], $data['type']); |
|
721 | 721 | |
722 | - if ( !$force_update && !empty( $item ) ) { |
|
722 | + if (!$force_update && !empty($item)) { |
|
723 | 723 | return $item; |
724 | 724 | } |
725 | 725 | |
@@ -728,18 +728,18 @@ discard block |
||
728 | 728 | $meta['post_id'] = $data['item_id']; |
729 | 729 | $meta['cpt_singular_name'] = $data['cpt_singular_name']; |
730 | 730 | $meta['cpt_name'] = $data['cpt_name']; |
731 | - $meta['price'] = wpinv_round_amount( $data['price'] ); |
|
731 | + $meta['price'] = wpinv_round_amount($data['price']); |
|
732 | 732 | $meta['vat_rule'] = $data['vat_rule']; |
733 | 733 | $meta['vat_class'] = '_standard'; |
734 | 734 | |
735 | - if ( !empty( $data['is_recurring'] ) ) { |
|
735 | + if (!empty($data['is_recurring'])) { |
|
736 | 736 | $meta['is_recurring'] = $data['is_recurring']; |
737 | 737 | $meta['recurring_period'] = $data['recurring_period']; |
738 | - $meta['recurring_interval'] = absint( $data['recurring_interval'] ); |
|
739 | - $meta['recurring_limit'] = absint( $data['recurring_limit'] ); |
|
738 | + $meta['recurring_interval'] = absint($data['recurring_interval']); |
|
739 | + $meta['recurring_limit'] = absint($data['recurring_limit']); |
|
740 | 740 | $meta['free_trial'] = $data['free_trial']; |
741 | 741 | $meta['trial_period'] = $data['trial_period']; |
742 | - $meta['trial_interval'] = absint( $data['trial_interval'] ); |
|
742 | + $meta['trial_interval'] = absint($data['trial_interval']); |
|
743 | 743 | } else { |
744 | 744 | $meta['is_recurring'] = 0; |
745 | 745 | $meta['recurring_period'] = ''; |
@@ -750,18 +750,18 @@ discard block |
||
750 | 750 | $meta['trial_interval'] = ''; |
751 | 751 | } |
752 | 752 | |
753 | - $post_data = array( |
|
753 | + $post_data = array( |
|
754 | 754 | 'post_title' => $data['title'], |
755 | 755 | 'post_excerpt' => $data['excerpt'], |
756 | 756 | 'post_status' => $data['status'], |
757 | 757 | 'meta' => $meta |
758 | 758 | ); |
759 | 759 | |
760 | - if ( !empty( $item ) ) { |
|
761 | - $item->update( $post_data, $wp_error ); |
|
760 | + if (!empty($item)) { |
|
761 | + $item->update($post_data, $wp_error); |
|
762 | 762 | } else { |
763 | 763 | $item = new WPInv_Item(); |
764 | - $item->create( $post_data, $wp_error ); |
|
764 | + $item->create($post_data, $wp_error); |
|
765 | 765 | } |
766 | 766 | |
767 | 767 | return $item; |
@@ -7,22 +7,22 @@ discard block |
||
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_API { |
15 | 15 | protected $post_type = 'wpi_invoice'; |
16 | 16 | |
17 | - public function __construct( $params = array() ) { |
|
17 | + public function __construct($params = array()) { |
|
18 | 18 | } |
19 | - public function insert_invoice( $data ) { |
|
19 | + public function insert_invoice($data) { |
|
20 | 20 | global $wpdb; |
21 | 21 | //wpinv_transaction_query( 'start' ); |
22 | 22 | |
23 | 23 | try { |
24 | - if ( ! isset( $data['invoice'] ) ) { |
|
25 | - throw new WPInv_API_Exception( 'wpinv_api_missing_invoice_data', sprintf( __( 'No %1$s data specified to create %1$s', 'invoicing' ), 'invoice' ), 400 ); |
|
24 | + if (!isset($data['invoice'])) { |
|
25 | + throw new WPInv_API_Exception('wpinv_api_missing_invoice_data', sprintf(__('No %1$s data specified to create %1$s', 'invoicing'), 'invoice'), 400); |
|
26 | 26 | } |
27 | 27 | |
28 | 28 | $data = $data['invoice']; |
@@ -32,37 +32,37 @@ discard block |
||
32 | 32 | //throw new WPInv_API_Exception( 'wpinv_api_user_cannot_create_invoice', __( 'You do not have permission to create invoices', 'invoicing' ), 401 ); |
33 | 33 | //} |
34 | 34 | |
35 | - $data = apply_filters( 'wpinv_api_create_invoice_data', $data, $this ); |
|
35 | + $data = apply_filters('wpinv_api_create_invoice_data', $data, $this); |
|
36 | 36 | |
37 | - $invoice = wpinv_insert_invoice( $data ); |
|
38 | - if ( is_wp_error( $invoice ) ) { |
|
39 | - throw new WPInv_API_Exception( 'wpinv_api_cannot_create_invoice', sprintf( __( 'Cannot create invoice: %s', 'invoicing' ), implode( ', ', $invoice->get_error_messages() ) ), 400 ); |
|
37 | + $invoice = wpinv_insert_invoice($data); |
|
38 | + if (is_wp_error($invoice)) { |
|
39 | + throw new WPInv_API_Exception('wpinv_api_cannot_create_invoice', sprintf(__('Cannot create invoice: %s', 'invoicing'), implode(', ', $invoice->get_error_messages())), 400); |
|
40 | 40 | } |
41 | 41 | |
42 | 42 | // HTTP 201 Created |
43 | - $this->send_status( 201 ); |
|
43 | + $this->send_status(201); |
|
44 | 44 | |
45 | - do_action( 'wpinv_api_create_invoice', $invoice->ID, $data, $this ); |
|
45 | + do_action('wpinv_api_create_invoice', $invoice->ID, $data, $this); |
|
46 | 46 | |
47 | 47 | //wpinv_transaction_query( 'commit' ); |
48 | 48 | |
49 | - return wpinv_get_invoice( $invoice->ID ); |
|
49 | + return wpinv_get_invoice($invoice->ID); |
|
50 | 50 | |
51 | - } catch ( WPInv_API_Exception $e ) { |
|
51 | + } catch (WPInv_API_Exception $e) { |
|
52 | 52 | |
53 | 53 | //wpinv_transaction_query( 'rollback' ); |
54 | 54 | |
55 | - return new WP_Error( $e->getErrorCode(), $e->getMessage(), array( 'status' => $e->getCode() ) ); |
|
55 | + return new WP_Error($e->getErrorCode(), $e->getMessage(), array('status' => $e->getCode())); |
|
56 | 56 | } |
57 | 57 | } |
58 | 58 | |
59 | - public function create_invoice( $data ) { |
|
59 | + public function create_invoice($data) { |
|
60 | 60 | global $wpdb; |
61 | 61 | //wpinv_transaction_query( 'start' ); |
62 | 62 | |
63 | 63 | try { |
64 | - if ( ! isset( $data['invoice'] ) ) { |
|
65 | - throw new WPInv_API_Exception( 'wpinv_api_missing_invoice_data', sprintf( __( 'No %1$s data specified to create %1$s', 'invoicing' ), 'invoice' ), 400 ); |
|
64 | + if (!isset($data['invoice'])) { |
|
65 | + throw new WPInv_API_Exception('wpinv_api_missing_invoice_data', sprintf(__('No %1$s data specified to create %1$s', 'invoicing'), 'invoice'), 400); |
|
66 | 66 | } |
67 | 67 | |
68 | 68 | $data = $data['invoice']; |
@@ -72,111 +72,111 @@ discard block |
||
72 | 72 | //throw new WPInv_API_Exception( 'wpinv_api_user_cannot_create_invoice', __( 'You do not have permission to create invoices', 'invoicing' ), 401 ); |
73 | 73 | //} |
74 | 74 | |
75 | - $data = apply_filters( 'wpinv_api_create_invoice_data', $data, $this ); |
|
75 | + $data = apply_filters('wpinv_api_create_invoice_data', $data, $this); |
|
76 | 76 | |
77 | 77 | // default invoice args, note that status is checked for validity in wpinv_create_invoice() |
78 | 78 | $default_invoice_args = array( |
79 | - 'status' => isset( $data['status'] ) ? $data['status'] : '', |
|
80 | - 'user_note' => isset( $data['note'] ) ? $data['note'] : null, |
|
81 | - 'invoice_id' => isset( $data['invoice_id'] ) ? (int)$data['invoice_id'] : 0, |
|
79 | + 'status' => isset($data['status']) ? $data['status'] : '', |
|
80 | + 'user_note' => isset($data['note']) ? $data['note'] : null, |
|
81 | + 'invoice_id' => isset($data['invoice_id']) ? (int)$data['invoice_id'] : 0, |
|
82 | 82 | ); |
83 | 83 | |
84 | 84 | // if creating invoice for existing user |
85 | - if ( ! empty( $data['user_id'] ) ) { |
|
85 | + if (!empty($data['user_id'])) { |
|
86 | 86 | // make sure user exists |
87 | - if ( false === get_user_by( 'id', $data['user_id'] ) ) { |
|
88 | - throw new WPInv_API_Exception( 'wpinv_api_invalid_user_id', __( 'User ID is invalid', 'invoicing' ), 400 ); |
|
87 | + if (false === get_user_by('id', $data['user_id'])) { |
|
88 | + throw new WPInv_API_Exception('wpinv_api_invalid_user_id', __('User ID is invalid', 'invoicing'), 400); |
|
89 | 89 | } |
90 | 90 | |
91 | 91 | $default_invoice_args['user_id'] = $data['user_id']; |
92 | 92 | } |
93 | 93 | |
94 | 94 | // create the pending invoice |
95 | - $invoice = $this->create_base_invoice( $default_invoice_args, $data ); |
|
95 | + $invoice = $this->create_base_invoice($default_invoice_args, $data); |
|
96 | 96 | |
97 | - if ( is_wp_error( $invoice ) ) { |
|
98 | - throw new WPInv_API_Exception( 'wpinv_api_cannot_create_invoice', sprintf( __( 'Cannot create invoice: %s', 'invoicing' ), implode( ', ', $invoice->get_error_messages() ) ), 400 ); |
|
97 | + if (is_wp_error($invoice)) { |
|
98 | + throw new WPInv_API_Exception('wpinv_api_cannot_create_invoice', sprintf(__('Cannot create invoice: %s', 'invoicing'), implode(', ', $invoice->get_error_messages())), 400); |
|
99 | 99 | } |
100 | 100 | |
101 | 101 | // Add note |
102 | - if ( !empty( $data['user_note'] ) ) { |
|
103 | - $invoice->add_note( $data['user_note'], true ); |
|
102 | + if (!empty($data['user_note'])) { |
|
103 | + $invoice->add_note($data['user_note'], true); |
|
104 | 104 | } |
105 | 105 | |
106 | - if ( !empty( $data['private_note'] ) ) { |
|
107 | - $invoice->add_note( $data['private_note'] ); |
|
106 | + if (!empty($data['private_note'])) { |
|
107 | + $invoice->add_note($data['private_note']); |
|
108 | 108 | } |
109 | 109 | |
110 | 110 | // billing address |
111 | - $invoice = $this->set_billing_details( $invoice, $data ); |
|
111 | + $invoice = $this->set_billing_details($invoice, $data); |
|
112 | 112 | |
113 | 113 | // items |
114 | - $invoice = $this->set_discount( $invoice, $data ); |
|
114 | + $invoice = $this->set_discount($invoice, $data); |
|
115 | 115 | |
116 | 116 | // items |
117 | - $invoice = $this->set_items( $invoice, $data ); |
|
117 | + $invoice = $this->set_items($invoice, $data); |
|
118 | 118 | |
119 | 119 | // payment method (and payment_complete() if `paid` == true) |
120 | - if ( isset( $data['payment_details'] ) && is_array( $data['payment_details'] ) ) { |
|
120 | + if (isset($data['payment_details']) && is_array($data['payment_details'])) { |
|
121 | 121 | // method ID & title are required |
122 | - if ( empty( $data['payment_details']['method_id'] ) || empty( $data['payment_details']['method_title'] ) ) { |
|
123 | - throw new WPInv_API_Exception( 'wpinv_invalid_payment_details', __( 'Payment method ID and title are required', 'invoicing' ), 400 ); |
|
122 | + if (empty($data['payment_details']['method_id']) || empty($data['payment_details']['method_title'])) { |
|
123 | + throw new WPInv_API_Exception('wpinv_invalid_payment_details', __('Payment method ID and title are required', 'invoicing'), 400); |
|
124 | 124 | } |
125 | 125 | |
126 | 126 | // set invoice currency |
127 | - if ( isset( $data['payment_details']['currency'] ) ) { |
|
128 | - if ( ! array_key_exists( $data['payment_details']['currency'], wpinv_get_currencies() ) ) { |
|
129 | - throw new WPInv_API_Exception( 'wpinv_invalid_invoice_currency', __( 'Provided invoice currency is invalid', 'invoicing' ), 400 ); |
|
127 | + if (isset($data['payment_details']['currency'])) { |
|
128 | + if (!array_key_exists($data['payment_details']['currency'], wpinv_get_currencies())) { |
|
129 | + throw new WPInv_API_Exception('wpinv_invalid_invoice_currency', __('Provided invoice currency is invalid', 'invoicing'), 400); |
|
130 | 130 | } |
131 | 131 | |
132 | - update_post_meta( $invoice->ID, '_wpinv_currency', $data['payment_details']['currency'] ); |
|
132 | + update_post_meta($invoice->ID, '_wpinv_currency', $data['payment_details']['currency']); |
|
133 | 133 | |
134 | 134 | $invoice->currency = $data['payment_details']['currency']; |
135 | 135 | } |
136 | 136 | |
137 | - update_post_meta( $invoice->ID, '_wpinv_gateway', $data['payment_details']['method_id'] ); |
|
138 | - update_post_meta( $invoice->ID, '_wpinv_gateway_title', $data['payment_details']['method_title'] ); |
|
137 | + update_post_meta($invoice->ID, '_wpinv_gateway', $data['payment_details']['method_id']); |
|
138 | + update_post_meta($invoice->ID, '_wpinv_gateway_title', $data['payment_details']['method_title']); |
|
139 | 139 | |
140 | 140 | $invoice->gateway = $data['payment_details']['method_id']; |
141 | 141 | $invoice->gateway_title = $data['payment_details']['method_title']; |
142 | 142 | |
143 | 143 | // mark as paid if set |
144 | - if ( isset( $data['payment_details']['paid'] ) && true === $data['payment_details']['paid'] ) { |
|
144 | + if (isset($data['payment_details']['paid']) && true === $data['payment_details']['paid']) { |
|
145 | 145 | //$invoice->payment_complete( isset( $data['payment_details']['transaction_id'] ) ? $data['payment_details']['transaction_id'] : $invoice->ID ); |
146 | 146 | } |
147 | 147 | } |
148 | 148 | |
149 | 149 | // set invoice meta |
150 | - if ( isset( $data['invoice_meta'] ) && is_array( $data['invoice_meta'] ) ) { |
|
151 | - $this->set_invoice_meta( $invoice->ID, $data['invoice_meta'] ); |
|
150 | + if (isset($data['invoice_meta']) && is_array($data['invoice_meta'])) { |
|
151 | + $this->set_invoice_meta($invoice->ID, $data['invoice_meta']); |
|
152 | 152 | } |
153 | 153 | |
154 | 154 | // HTTP 201 Created |
155 | - $this->send_status( 201 ); |
|
155 | + $this->send_status(201); |
|
156 | 156 | |
157 | - do_action( 'wpinv_api_create_invoice', $invoice->ID, $data, $this ); |
|
157 | + do_action('wpinv_api_create_invoice', $invoice->ID, $data, $this); |
|
158 | 158 | |
159 | 159 | //wpinv_transaction_query( 'commit' ); |
160 | 160 | |
161 | - return wpinv_get_invoice( $invoice->ID ); |
|
161 | + return wpinv_get_invoice($invoice->ID); |
|
162 | 162 | |
163 | - } catch ( WPInv_API_Exception $e ) { |
|
163 | + } catch (WPInv_API_Exception $e) { |
|
164 | 164 | |
165 | 165 | //wpinv_transaction_query( 'rollback' ); |
166 | 166 | |
167 | - return new WP_Error( $e->getErrorCode(), $e->getMessage(), array( 'status' => $e->getCode() ) ); |
|
167 | + return new WP_Error($e->getErrorCode(), $e->getMessage(), array('status' => $e->getCode())); |
|
168 | 168 | } |
169 | 169 | } |
170 | 170 | |
171 | - public function send_status( $code ) { |
|
172 | - status_header( $code ); |
|
171 | + public function send_status($code) { |
|
172 | + status_header($code); |
|
173 | 173 | } |
174 | 174 | |
175 | - protected function create_base_invoice( $args, $data ) { |
|
176 | - return wpinv_create_invoice( $args, $data ); |
|
175 | + protected function create_base_invoice($args, $data) { |
|
176 | + return wpinv_create_invoice($args, $data); |
|
177 | 177 | } |
178 | 178 | |
179 | - protected function set_billing_details( $invoice, $data ) { |
|
179 | + protected function set_billing_details($invoice, $data) { |
|
180 | 180 | $address_fields = array( |
181 | 181 | 'user_id', |
182 | 182 | 'first_name', |
@@ -195,66 +195,66 @@ discard block |
||
195 | 195 | $billing_details = array(); |
196 | 196 | $user_id = $invoice->get_user_id(); |
197 | 197 | |
198 | - foreach ( $address_fields as $field ) { |
|
199 | - if ( isset( $data['billing_details'][ $field ] ) ) { |
|
200 | - $value = sanitize_text_field( $data['billing_details'][ $field ] ); |
|
198 | + foreach ($address_fields as $field) { |
|
199 | + if (isset($data['billing_details'][$field])) { |
|
200 | + $value = sanitize_text_field($data['billing_details'][$field]); |
|
201 | 201 | |
202 | - if ( $field == 'country' && empty( $value ) ) { |
|
203 | - if ( !empty( $invoice->country ) ) { |
|
202 | + if ($field == 'country' && empty($value)) { |
|
203 | + if (!empty($invoice->country)) { |
|
204 | 204 | $value = $invoice->country; |
205 | 205 | } else { |
206 | - $value = wpinv_default_billing_country( '', $user_id ); |
|
206 | + $value = wpinv_default_billing_country('', $user_id); |
|
207 | 207 | } |
208 | 208 | } |
209 | 209 | |
210 | - if ( $field == 'state' && empty( $value ) ) { |
|
211 | - if ( !empty( $invoice->state ) ) { |
|
210 | + if ($field == 'state' && empty($value)) { |
|
211 | + if (!empty($invoice->state)) { |
|
212 | 212 | $value = $invoice->state; |
213 | 213 | } else { |
214 | 214 | $value = wpinv_get_default_state(); |
215 | 215 | } |
216 | 216 | } |
217 | 217 | |
218 | - $invoice->set( $field, $value ); |
|
218 | + $invoice->set($field, $value); |
|
219 | 219 | |
220 | - update_post_meta( $invoice->ID, '_wpinv_' . $field, $value ); |
|
220 | + update_post_meta($invoice->ID, '_wpinv_' . $field, $value); |
|
221 | 221 | } |
222 | 222 | } |
223 | 223 | |
224 | 224 | return $invoice; |
225 | 225 | } |
226 | 226 | |
227 | - protected function set_discount( $invoice, $data ) { |
|
228 | - if ( isset( $data['discount'] ) ) { |
|
229 | - $invoice->set( 'discount', wpinv_round_amount( $data['discount'] ) ); |
|
227 | + protected function set_discount($invoice, $data) { |
|
228 | + if (isset($data['discount'])) { |
|
229 | + $invoice->set('discount', wpinv_round_amount($data['discount'])); |
|
230 | 230 | |
231 | - update_post_meta( $invoice->ID, '_wpinv_discount', wpinv_round_amount( $data['discount'] ) ); |
|
231 | + update_post_meta($invoice->ID, '_wpinv_discount', wpinv_round_amount($data['discount'])); |
|
232 | 232 | |
233 | - if ( isset( $data['discount_code'] ) ) { |
|
234 | - $invoice->set( 'discount_code', $data['discount_code'] ); |
|
233 | + if (isset($data['discount_code'])) { |
|
234 | + $invoice->set('discount_code', $data['discount_code']); |
|
235 | 235 | |
236 | - update_post_meta( $invoice->ID, '_wpinv_discount_code', $data['discount_code'] ); |
|
236 | + update_post_meta($invoice->ID, '_wpinv_discount_code', $data['discount_code']); |
|
237 | 237 | } |
238 | 238 | } |
239 | 239 | |
240 | 240 | return $invoice; |
241 | 241 | } |
242 | 242 | |
243 | - protected function set_items( $invoice, $data ) { |
|
244 | - if ( !empty( $data['items'] ) && is_array( $data['items'] ) ) { |
|
243 | + protected function set_items($invoice, $data) { |
|
244 | + if (!empty($data['items']) && is_array($data['items'])) { |
|
245 | 245 | $items_array = array(); |
246 | 246 | |
247 | - if ( !empty( $invoice->country ) ) { |
|
247 | + if (!empty($invoice->country)) { |
|
248 | 248 | $country = $invoice->country; |
249 | - } else if ( !empty( $data['billing_details']['country'] ) ) { |
|
249 | + } else if (!empty($data['billing_details']['country'])) { |
|
250 | 250 | $country = $data['billing_details']['country']; |
251 | 251 | } else { |
252 | - $country = wpinv_default_billing_country( '', $invoice->get_user_id() ); |
|
252 | + $country = wpinv_default_billing_country('', $invoice->get_user_id()); |
|
253 | 253 | } |
254 | 254 | |
255 | - if ( !empty( $invoice->state ) ) { |
|
255 | + if (!empty($invoice->state)) { |
|
256 | 256 | $state = $invoice->state; |
257 | - } else if ( !empty( $data['billing_details']['state'] ) ) { |
|
257 | + } else if (!empty($data['billing_details']['state'])) { |
|
258 | 258 | $state = $data['billing_details']['state']; |
259 | 259 | } else { |
260 | 260 | $state = wpinv_get_default_state(); |
@@ -263,54 +263,54 @@ discard block |
||
263 | 263 | $_POST['country'] = $country; |
264 | 264 | $_POST['state'] = $state; |
265 | 265 | |
266 | - $rate = wpinv_get_tax_rate( $country, $state, 'global' ); |
|
266 | + $rate = wpinv_get_tax_rate($country, $state, 'global'); |
|
267 | 267 | |
268 | 268 | $total_tax = 0; |
269 | - foreach ( $data['items'] as $item ) { |
|
270 | - $id = isset( $item['id'] ) ? sanitize_text_field( $item['id'] ) : ''; |
|
271 | - $title = isset( $item['title'] ) ? sanitize_text_field( $item['title'] ) : ''; |
|
272 | - $desc = isset( $item['description'] ) ? sanitize_text_field( $item['description'] ) : ''; |
|
273 | - $amount = isset( $item['amount'] ) ? wpinv_round_amount( $item['amount'] ) : 0; |
|
269 | + foreach ($data['items'] as $item) { |
|
270 | + $id = isset($item['id']) ? sanitize_text_field($item['id']) : ''; |
|
271 | + $title = isset($item['title']) ? sanitize_text_field($item['title']) : ''; |
|
272 | + $desc = isset($item['description']) ? sanitize_text_field($item['description']) : ''; |
|
273 | + $amount = isset($item['amount']) ? wpinv_round_amount($item['amount']) : 0; |
|
274 | 274 | |
275 | - if ( !empty( $item['vat_rates_class'] ) ) { |
|
275 | + if (!empty($item['vat_rates_class'])) { |
|
276 | 276 | $vat_rates_class = $item['vat_rates_class']; |
277 | 277 | } else { |
278 | 278 | $vat_rates_class = '_standard'; |
279 | 279 | } |
280 | - $vat_rate = wpinv_get_tax_rate( $country, $state, $id ); |
|
280 | + $vat_rate = wpinv_get_tax_rate($country, $state, $id); |
|
281 | 281 | |
282 | - $tax = $amount > 0 ? ( $amount * 0.01 * (float)$vat_rate ) : 0; |
|
282 | + $tax = $amount > 0 ? ($amount * 0.01 * (float)$vat_rate) : 0; |
|
283 | 283 | $total_tax += $tax; |
284 | 284 | |
285 | 285 | $items_array[] = array( |
286 | 286 | 'id' => $id, |
287 | - 'title' => esc_html( $title ), |
|
288 | - 'description' => esc_html( $desc ), |
|
289 | - 'amount' => $amount > 0 ? wpinv_round_amount( $amount ) : 0, |
|
290 | - 'subtotal' => $amount > 0 ? wpinv_round_amount( $amount ) : 0, |
|
287 | + 'title' => esc_html($title), |
|
288 | + 'description' => esc_html($desc), |
|
289 | + 'amount' => $amount > 0 ? wpinv_round_amount($amount) : 0, |
|
290 | + 'subtotal' => $amount > 0 ? wpinv_round_amount($amount) : 0, |
|
291 | 291 | 'vat_rates_class' => $vat_rates_class, |
292 | - 'vat_rate' => $vat_rate > 0 ? wpinv_round_amount( $vat_rate ) : 0, |
|
293 | - 'tax' => $tax > 0 ? wpinv_round_amount( $tax ) : 0, |
|
292 | + 'vat_rate' => $vat_rate > 0 ? wpinv_round_amount($vat_rate) : 0, |
|
293 | + 'tax' => $tax > 0 ? wpinv_round_amount($tax) : 0, |
|
294 | 294 | ); |
295 | 295 | } |
296 | 296 | |
297 | - update_post_meta( $invoice->ID, '_wpinv_tax', wpinv_round_amount( $total_tax ) ); |
|
298 | - $invoice->set( 'tax', wpinv_round_amount( $total_tax ) ); |
|
297 | + update_post_meta($invoice->ID, '_wpinv_tax', wpinv_round_amount($total_tax)); |
|
298 | + $invoice->set('tax', wpinv_round_amount($total_tax)); |
|
299 | 299 | |
300 | - $items_array = apply_filters( 'wpinv_save_invoice_items', $items_array, $data['items'], $invoice ); |
|
300 | + $items_array = apply_filters('wpinv_save_invoice_items', $items_array, $data['items'], $invoice); |
|
301 | 301 | |
302 | - $invoice->set( 'items', $items_array ); |
|
303 | - update_post_meta( $invoice->ID, '_wpinv_items', $items_array ); |
|
302 | + $invoice->set('items', $items_array); |
|
303 | + update_post_meta($invoice->ID, '_wpinv_items', $items_array); |
|
304 | 304 | } |
305 | 305 | |
306 | 306 | return $invoice; |
307 | 307 | } |
308 | 308 | |
309 | - protected function set_invoice_meta( $invoice_id, $invoice_meta ) { |
|
310 | - foreach ( $invoice_meta as $meta_key => $meta_value ) { |
|
309 | + protected function set_invoice_meta($invoice_id, $invoice_meta) { |
|
310 | + foreach ($invoice_meta as $meta_key => $meta_value) { |
|
311 | 311 | |
312 | - if ( is_string( $meta_key) && ! is_protected_meta( $meta_key ) && is_scalar( $meta_value ) ) { |
|
313 | - update_post_meta( $invoice_id, $meta_key, $meta_value ); |
|
312 | + if (is_string($meta_key) && !is_protected_meta($meta_key) && is_scalar($meta_value)) { |
|
313 | + update_post_meta($invoice_id, $meta_key, $meta_value); |
|
314 | 314 | } |
315 | 315 | } |
316 | 316 | } |
@@ -320,9 +320,9 @@ discard block |
||
320 | 320 | class WPInv_API_Exception extends Exception { |
321 | 321 | protected $error_code; |
322 | 322 | |
323 | - public function __construct( $error_code, $error_message, $http_status_code ) { |
|
323 | + public function __construct($error_code, $error_message, $http_status_code) { |
|
324 | 324 | $this->error_code = $error_code; |
325 | - parent::__construct( $error_message, $http_status_code ); |
|
325 | + parent::__construct($error_message, $http_status_code); |
|
326 | 326 | } |
327 | 327 | |
328 | 328 | public function getErrorCode() { |
@@ -1,121 +1,121 @@ discard block |
||
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 | 7 | function wpinv_use_taxes() { |
8 | - $ret = wpinv_get_option( 'enable_taxes', false ); |
|
8 | + $ret = wpinv_get_option('enable_taxes', false); |
|
9 | 9 | |
10 | - return (bool) apply_filters( 'wpinv_use_taxes', $ret ); |
|
10 | + return (bool)apply_filters('wpinv_use_taxes', $ret); |
|
11 | 11 | } |
12 | 12 | |
13 | 13 | function wpinv_get_tax_rates() { |
14 | - $rates = get_option( 'wpinv_tax_rates', array() ); |
|
14 | + $rates = get_option('wpinv_tax_rates', array()); |
|
15 | 15 | |
16 | - return apply_filters( 'wpinv_get_tax_rates', $rates ); |
|
16 | + return apply_filters('wpinv_get_tax_rates', $rates); |
|
17 | 17 | } |
18 | 18 | |
19 | -function wpinv_get_tax_rate( $country = false, $state = false, $item_id = 0 ) { |
|
19 | +function wpinv_get_tax_rate($country = false, $state = false, $item_id = 0) { |
|
20 | 20 | global $wpinv_euvat, $wpi_tax_rates, $wpi_userID; |
21 | - $wpi_tax_rates = !empty( $wpi_tax_rates ) ? $wpi_tax_rates : array(); |
|
21 | + $wpi_tax_rates = !empty($wpi_tax_rates) ? $wpi_tax_rates : array(); |
|
22 | 22 | |
23 | - if ( !empty( $wpi_tax_rates ) && !empty( $item_id ) && isset( $wpi_tax_rates[$item_id] ) ) { |
|
23 | + if (!empty($wpi_tax_rates) && !empty($item_id) && isset($wpi_tax_rates[$item_id])) { |
|
24 | 24 | return $wpi_tax_rates[$item_id]; |
25 | 25 | } |
26 | 26 | |
27 | - if ( !$wpinv_euvat->item_is_taxable( $item_id, $country, $state ) ) { |
|
27 | + if (!$wpinv_euvat->item_is_taxable($item_id, $country, $state)) { |
|
28 | 28 | $wpi_tax_rates[$item_id] = 0; |
29 | 29 | return 0; |
30 | 30 | } |
31 | 31 | |
32 | 32 | $is_global = false; |
33 | - if ( $item_id == 'global' ) { |
|
33 | + if ($item_id == 'global') { |
|
34 | 34 | $is_global = true; |
35 | 35 | $item_id = 0; |
36 | 36 | } |
37 | 37 | |
38 | - $rate = (float)wpinv_get_option( 'tax_rate', 0 ); |
|
39 | - $user_address = wpinv_get_user_address( $wpi_userID ); |
|
38 | + $rate = (float)wpinv_get_option('tax_rate', 0); |
|
39 | + $user_address = wpinv_get_user_address($wpi_userID); |
|
40 | 40 | |
41 | - if( empty( $country ) ) { |
|
42 | - if( !empty( $_POST['wpinv_country'] ) ) { |
|
41 | + if (empty($country)) { |
|
42 | + if (!empty($_POST['wpinv_country'])) { |
|
43 | 43 | $country = $_POST['wpinv_country']; |
44 | - } elseif( !empty( $_POST['wpinv_country'] ) ) { |
|
44 | + } elseif (!empty($_POST['wpinv_country'])) { |
|
45 | 45 | $country = $_POST['wpinv_country']; |
46 | - } elseif( !empty( $_POST['country'] ) ) { |
|
46 | + } elseif (!empty($_POST['country'])) { |
|
47 | 47 | $country = $_POST['country']; |
48 | - } elseif( is_user_logged_in() && !empty( $user_address ) ) { |
|
48 | + } elseif (is_user_logged_in() && !empty($user_address)) { |
|
49 | 49 | $country = $user_address['country']; |
50 | 50 | } |
51 | - $country = !empty( $country ) ? $country : wpinv_get_default_country(); |
|
51 | + $country = !empty($country) ? $country : wpinv_get_default_country(); |
|
52 | 52 | } |
53 | 53 | |
54 | - if( empty( $state ) ) { |
|
55 | - if( !empty( $_POST['wpinv_state'] ) ) { |
|
54 | + if (empty($state)) { |
|
55 | + if (!empty($_POST['wpinv_state'])) { |
|
56 | 56 | $state = $_POST['wpinv_state']; |
57 | - } elseif( !empty( $_POST['wpinv_state'] ) ) { |
|
57 | + } elseif (!empty($_POST['wpinv_state'])) { |
|
58 | 58 | $state = $_POST['wpinv_state']; |
59 | - } elseif( !empty( $_POST['state'] ) ) { |
|
59 | + } elseif (!empty($_POST['state'])) { |
|
60 | 60 | $state = $_POST['state']; |
61 | - } elseif( is_user_logged_in() && !empty( $user_address ) ) { |
|
61 | + } elseif (is_user_logged_in() && !empty($user_address)) { |
|
62 | 62 | $state = $user_address['state']; |
63 | 63 | } |
64 | - $state = !empty( $state ) ? $state : wpinv_get_default_state(); |
|
64 | + $state = !empty($state) ? $state : wpinv_get_default_state(); |
|
65 | 65 | } |
66 | 66 | |
67 | - if( !empty( $country ) ) { |
|
68 | - $tax_rates = wpinv_get_tax_rates(); |
|
67 | + if (!empty($country)) { |
|
68 | + $tax_rates = wpinv_get_tax_rates(); |
|
69 | 69 | |
70 | - if( !empty( $tax_rates ) ) { |
|
70 | + if (!empty($tax_rates)) { |
|
71 | 71 | // Locate the tax rate for this country / state, if it exists |
72 | - foreach( $tax_rates as $key => $tax_rate ) { |
|
73 | - if( $country != $tax_rate['country'] ) |
|
72 | + foreach ($tax_rates as $key => $tax_rate) { |
|
73 | + if ($country != $tax_rate['country']) |
|
74 | 74 | continue; |
75 | 75 | |
76 | - if( !empty( $tax_rate['global'] ) ) { |
|
77 | - if( !empty( $tax_rate['rate'] ) ) { |
|
78 | - $rate = number_format( $tax_rate['rate'], 4 ); |
|
76 | + if (!empty($tax_rate['global'])) { |
|
77 | + if (!empty($tax_rate['rate'])) { |
|
78 | + $rate = number_format($tax_rate['rate'], 4); |
|
79 | 79 | } |
80 | 80 | } else { |
81 | 81 | |
82 | - if( empty( $tax_rate['state'] ) || strtolower( $state ) != strtolower( $tax_rate['state'] ) ) |
|
82 | + if (empty($tax_rate['state']) || strtolower($state) != strtolower($tax_rate['state'])) |
|
83 | 83 | continue; |
84 | 84 | |
85 | 85 | $state_rate = $tax_rate['rate']; |
86 | - if( 0 !== $state_rate || !empty( $state_rate ) ) { |
|
87 | - $rate = number_format( $state_rate, 4 ); |
|
86 | + if (0 !== $state_rate || !empty($state_rate)) { |
|
87 | + $rate = number_format($state_rate, 4); |
|
88 | 88 | } |
89 | 89 | } |
90 | 90 | } |
91 | 91 | } |
92 | 92 | } |
93 | 93 | |
94 | - $rate = apply_filters( 'wpinv_tax_rate', $rate, $country, $state, $item_id ); |
|
94 | + $rate = apply_filters('wpinv_tax_rate', $rate, $country, $state, $item_id); |
|
95 | 95 | |
96 | - if ( !empty( $item_id ) ) { |
|
96 | + if (!empty($item_id)) { |
|
97 | 97 | $wpi_tax_rates[$item_id] = $rate; |
98 | - } else if ( $is_global ) { |
|
98 | + } else if ($is_global) { |
|
99 | 99 | $wpi_tax_rates['global'] = $rate; |
100 | 100 | } |
101 | 101 | |
102 | 102 | return $rate; |
103 | 103 | } |
104 | 104 | |
105 | -function wpinv_get_formatted_tax_rate( $country = false, $state = false, $item_id ) { |
|
106 | - $rate = wpinv_get_tax_rate( $country, $state, $item_id ); |
|
107 | - $rate = round( $rate, 4 ); |
|
105 | +function wpinv_get_formatted_tax_rate($country = false, $state = false, $item_id) { |
|
106 | + $rate = wpinv_get_tax_rate($country, $state, $item_id); |
|
107 | + $rate = round($rate, 4); |
|
108 | 108 | $formatted = $rate .= '%'; |
109 | - return apply_filters( 'wpinv_formatted_tax_rate', $formatted, $rate, $country, $state, $item_id ); |
|
109 | + return apply_filters('wpinv_formatted_tax_rate', $formatted, $rate, $country, $state, $item_id); |
|
110 | 110 | } |
111 | 111 | |
112 | -function wpinv_calculate_tax( $amount = 0, $country = false, $state = false, $item_id = 0 ) { |
|
113 | - $rate = wpinv_get_tax_rate( $country, $state, $item_id ); |
|
112 | +function wpinv_calculate_tax($amount = 0, $country = false, $state = false, $item_id = 0) { |
|
113 | + $rate = wpinv_get_tax_rate($country, $state, $item_id); |
|
114 | 114 | $tax = 0.00; |
115 | 115 | |
116 | - if ( wpinv_use_taxes() ) { |
|
117 | - if ( wpinv_prices_include_tax() ) { |
|
118 | - $pre_tax = ( $amount / ( ( 1 + $rate ) * 0.01 ) ); |
|
116 | + if (wpinv_use_taxes()) { |
|
117 | + if (wpinv_prices_include_tax()) { |
|
118 | + $pre_tax = ($amount / ((1 + $rate) * 0.01)); |
|
119 | 119 | $tax = $amount - $pre_tax; |
120 | 120 | } else { |
121 | 121 | $tax = $amount * $rate * 0.01; |
@@ -123,46 +123,46 @@ discard block |
||
123 | 123 | |
124 | 124 | } |
125 | 125 | |
126 | - return apply_filters( 'wpinv_taxed_amount', $tax, $rate, $country, $state, $item_id ); |
|
126 | + return apply_filters('wpinv_taxed_amount', $tax, $rate, $country, $state, $item_id); |
|
127 | 127 | } |
128 | 128 | |
129 | 129 | function wpinv_prices_include_tax() { |
130 | 130 | return false; // TODO |
131 | - $ret = ( wpinv_get_option( 'prices_include_tax', false ) == 'yes' && wpinv_use_taxes() ); |
|
131 | + $ret = (wpinv_get_option('prices_include_tax', false) == 'yes' && wpinv_use_taxes()); |
|
132 | 132 | |
133 | - return apply_filters( 'wpinv_prices_include_tax', $ret ); |
|
133 | + return apply_filters('wpinv_prices_include_tax', $ret); |
|
134 | 134 | } |
135 | 135 | |
136 | -function wpinv_sales_tax_for_year( $year = null ) { |
|
137 | - return wpinv_price( wpinv_format_amount( wpinv_get_sales_tax_for_year( $year ) ) ); |
|
136 | +function wpinv_sales_tax_for_year($year = null) { |
|
137 | + return wpinv_price(wpinv_format_amount(wpinv_get_sales_tax_for_year($year))); |
|
138 | 138 | } |
139 | 139 | |
140 | -function wpinv_get_sales_tax_for_year( $year = null ) { |
|
140 | +function wpinv_get_sales_tax_for_year($year = null) { |
|
141 | 141 | global $wpdb; |
142 | 142 | |
143 | 143 | // Start at zero |
144 | 144 | $tax = 0; |
145 | 145 | |
146 | - if ( ! empty( $year ) ) { |
|
146 | + if (!empty($year)) { |
|
147 | 147 | $args = array( |
148 | 148 | 'post_type' => 'wpi_invoice', |
149 | - 'post_status' => array( 'publish' ), |
|
149 | + 'post_status' => array('publish'), |
|
150 | 150 | 'posts_per_page' => -1, |
151 | 151 | 'year' => $year, |
152 | 152 | 'fields' => 'ids' |
153 | 153 | ); |
154 | 154 | |
155 | - $payments = get_posts( $args ); |
|
156 | - $payment_ids = implode( ',', $payments ); |
|
155 | + $payments = get_posts($args); |
|
156 | + $payment_ids = implode(',', $payments); |
|
157 | 157 | |
158 | - if ( count( $payments ) > 0 ) { |
|
158 | + if (count($payments) > 0) { |
|
159 | 159 | $sql = "SELECT SUM( meta_value ) FROM $wpdb->postmeta WHERE meta_key = '_wpinv_tax' AND post_id IN( $payment_ids )"; |
160 | - $tax = $wpdb->get_var( $sql ); |
|
160 | + $tax = $wpdb->get_var($sql); |
|
161 | 161 | } |
162 | 162 | |
163 | 163 | } |
164 | 164 | |
165 | - return apply_filters( 'wpinv_get_sales_tax_for_year', $tax, $year ); |
|
165 | + return apply_filters('wpinv_get_sales_tax_for_year', $tax, $year); |
|
166 | 166 | } |
167 | 167 | |
168 | 168 | function wpinv_is_cart_taxed() { |
@@ -171,33 +171,33 @@ discard block |
||
171 | 171 | |
172 | 172 | function wpinv_prices_show_tax_on_checkout() { |
173 | 173 | return false; // TODO |
174 | - $ret = ( wpinv_get_option( 'checkout_include_tax', false ) == 'yes' && wpinv_use_taxes() ); |
|
174 | + $ret = (wpinv_get_option('checkout_include_tax', false) == 'yes' && wpinv_use_taxes()); |
|
175 | 175 | |
176 | - return apply_filters( 'wpinv_taxes_on_prices_on_checkout', $ret ); |
|
176 | + return apply_filters('wpinv_taxes_on_prices_on_checkout', $ret); |
|
177 | 177 | } |
178 | 178 | |
179 | 179 | function wpinv_display_tax_rate() { |
180 | - $ret = wpinv_use_taxes() && wpinv_get_option( 'display_tax_rate', false ); |
|
180 | + $ret = wpinv_use_taxes() && wpinv_get_option('display_tax_rate', false); |
|
181 | 181 | |
182 | - return apply_filters( 'wpinv_display_tax_rate', $ret ); |
|
182 | + return apply_filters('wpinv_display_tax_rate', $ret); |
|
183 | 183 | } |
184 | 184 | |
185 | 185 | function wpinv_cart_needs_tax_address_fields() { |
186 | - if( !wpinv_is_cart_taxed() ) |
|
186 | + if (!wpinv_is_cart_taxed()) |
|
187 | 187 | return false; |
188 | 188 | |
189 | - return ! did_action( 'wpinv_after_cc_fields', 'wpinv_default_cc_address_fields' ); |
|
189 | + return !did_action('wpinv_after_cc_fields', 'wpinv_default_cc_address_fields'); |
|
190 | 190 | } |
191 | 191 | |
192 | -function wpinv_item_is_tax_exclusive( $item_id = 0 ) { |
|
193 | - $ret = (bool)get_post_meta( $item_id, '_wpinv_tax_exclusive', false ); |
|
194 | - return apply_filters( 'wpinv_is_tax_exclusive', $ret, $item_id ); |
|
192 | +function wpinv_item_is_tax_exclusive($item_id = 0) { |
|
193 | + $ret = (bool)get_post_meta($item_id, '_wpinv_tax_exclusive', false); |
|
194 | + return apply_filters('wpinv_is_tax_exclusive', $ret, $item_id); |
|
195 | 195 | } |
196 | 196 | |
197 | -function wpinv_currency_decimal_filter( $decimals = 2 ) { |
|
197 | +function wpinv_currency_decimal_filter($decimals = 2) { |
|
198 | 198 | $currency = wpinv_get_currency(); |
199 | 199 | |
200 | - switch ( $currency ) { |
|
200 | + switch ($currency) { |
|
201 | 201 | case 'RIAL' : |
202 | 202 | case 'JPY' : |
203 | 203 | case 'TWD' : |
@@ -206,48 +206,48 @@ discard block |
||
206 | 206 | break; |
207 | 207 | } |
208 | 208 | |
209 | - return apply_filters( 'wpinv_currency_decimal_count', $decimals, $currency ); |
|
209 | + return apply_filters('wpinv_currency_decimal_count', $decimals, $currency); |
|
210 | 210 | } |
211 | 211 | |
212 | 212 | function wpinv_tax_amount() { |
213 | 213 | $output = 0.00; |
214 | 214 | |
215 | - return apply_filters( 'wpinv_tax_amount', $output ); |
|
215 | + return apply_filters('wpinv_tax_amount', $output); |
|
216 | 216 | } |
217 | 217 | |
218 | 218 | function wpinv_recalculated_tax() { |
219 | - define( 'WPINV_RECALCTAX', true ); |
|
219 | + define('WPINV_RECALCTAX', true); |
|
220 | 220 | } |
221 | -add_action( 'wp_ajax_wpinv_recalculate_tax', 'wpinv_recalculated_tax', 1 ); |
|
221 | +add_action('wp_ajax_wpinv_recalculate_tax', 'wpinv_recalculated_tax', 1); |
|
222 | 222 | |
223 | -function wpinv_recalculate_tax( $return = false ) { |
|
223 | +function wpinv_recalculate_tax($return = false) { |
|
224 | 224 | $invoice_id = (int)wpinv_get_invoice_cart_id(); |
225 | - if ( empty( $invoice_id ) ) { |
|
225 | + if (empty($invoice_id)) { |
|
226 | 226 | return false; |
227 | 227 | } |
228 | 228 | |
229 | - $invoice = wpinv_get_invoice_cart( $invoice_id ); |
|
229 | + $invoice = wpinv_get_invoice_cart($invoice_id); |
|
230 | 230 | |
231 | - if ( empty( $invoice ) ) { |
|
231 | + if (empty($invoice)) { |
|
232 | 232 | return false; |
233 | 233 | } |
234 | 234 | |
235 | - if ( empty( $_POST['country'] ) ) { |
|
235 | + if (empty($_POST['country'])) { |
|
236 | 236 | $_POST['country'] = !empty($invoice->country) ? $invoice->country : wpinv_get_default_country(); |
237 | 237 | } |
238 | 238 | |
239 | 239 | $invoice->country = sanitize_text_field($_POST['country']); |
240 | - $invoice->set( 'country', sanitize_text_field( $_POST['country'] ) ); |
|
240 | + $invoice->set('country', sanitize_text_field($_POST['country'])); |
|
241 | 241 | if (isset($_POST['state'])) { |
242 | 242 | $invoice->state = sanitize_text_field($_POST['state']); |
243 | - $invoice->set( 'state', sanitize_text_field( $_POST['state'] ) ); |
|
243 | + $invoice->set('state', sanitize_text_field($_POST['state'])); |
|
244 | 244 | } |
245 | 245 | |
246 | 246 | $invoice->cart_details = wpinv_get_cart_content_details(); |
247 | 247 | |
248 | - $subtotal = wpinv_get_cart_subtotal( $invoice->cart_details ); |
|
249 | - $tax = wpinv_get_cart_tax( $invoice->cart_details ); |
|
250 | - $total = wpinv_get_cart_total( $invoice->cart_details ); |
|
248 | + $subtotal = wpinv_get_cart_subtotal($invoice->cart_details); |
|
249 | + $tax = wpinv_get_cart_tax($invoice->cart_details); |
|
250 | + $total = wpinv_get_cart_total($invoice->cart_details); |
|
251 | 251 | |
252 | 252 | $invoice->tax = $tax; |
253 | 253 | $invoice->subtotal = $subtotal; |
@@ -255,61 +255,61 @@ discard block |
||
255 | 255 | |
256 | 256 | $invoice->save(); |
257 | 257 | |
258 | - if ( $invoice->is_free_trial() ) { |
|
258 | + if ($invoice->is_free_trial()) { |
|
259 | 259 | $total = 0; |
260 | 260 | } |
261 | 261 | |
262 | 262 | $response = array( |
263 | - 'total' => html_entity_decode( wpinv_price( wpinv_format_amount( $total ) ), ENT_COMPAT, 'UTF-8' ), |
|
263 | + 'total' => html_entity_decode(wpinv_price(wpinv_format_amount($total)), ENT_COMPAT, 'UTF-8'), |
|
264 | 264 | 'total_raw' => $total, |
265 | - 'free' => !( (float)$total > 0 ) && $invoice->is_free() ? true : false, |
|
266 | - 'html' => wpinv_checkout_cart( $invoice->cart_details, false ), |
|
265 | + 'free' => !((float)$total > 0) && $invoice->is_free() ? true : false, |
|
266 | + 'html' => wpinv_checkout_cart($invoice->cart_details, false), |
|
267 | 267 | ); |
268 | 268 | |
269 | - if ( $return ) { |
|
269 | + if ($return) { |
|
270 | 270 | return $response; |
271 | 271 | } |
272 | 272 | |
273 | - wp_send_json( $response ); |
|
273 | + wp_send_json($response); |
|
274 | 274 | } |
275 | -add_action( 'wp_ajax_wpinv_recalculate_tax', 'wpinv_recalculate_tax' ); |
|
276 | -add_action( 'wp_ajax_nopriv_wpinv_recalculate_tax', 'wpinv_recalculate_tax' ); |
|
275 | +add_action('wp_ajax_wpinv_recalculate_tax', 'wpinv_recalculate_tax'); |
|
276 | +add_action('wp_ajax_nopriv_wpinv_recalculate_tax', 'wpinv_recalculate_tax'); |
|
277 | 277 | |
278 | 278 | // VAT Settings |
279 | -function wpinv_vat_rate_add_callback( $args ) { |
|
279 | +function wpinv_vat_rate_add_callback($args) { |
|
280 | 280 | ?> |
281 | - <p class="wpi-vat-rate-actions"><input id="wpi_vat_rate_add" type="button" value="<?php esc_attr_e( 'Add', 'invoicing' );?>" class="button button-primary" /> <i style="display:none;" class="fa fa-refresh fa-spin"></i></p> |
|
281 | + <p class="wpi-vat-rate-actions"><input id="wpi_vat_rate_add" type="button" value="<?php esc_attr_e('Add', 'invoicing'); ?>" class="button button-primary" /> <i style="display:none;" class="fa fa-refresh fa-spin"></i></p> |
|
282 | 282 | <?php |
283 | 283 | } |
284 | 284 | |
285 | -function wpinv_vat_rate_delete_callback( $args ) { |
|
285 | +function wpinv_vat_rate_delete_callback($args) { |
|
286 | 286 | global $wpinv_euvat; |
287 | 287 | |
288 | 288 | $vat_classes = $wpinv_euvat->get_rate_classes(); |
289 | - $vat_class = isset( $_REQUEST['wpi_sub'] ) && $_REQUEST['wpi_sub'] !== '' && isset( $vat_classes[$_REQUEST['wpi_sub']] )? sanitize_text_field( $_REQUEST['wpi_sub'] ) : ''; |
|
290 | - if ( isset( $vat_classes[$vat_class] ) ) { |
|
289 | + $vat_class = isset($_REQUEST['wpi_sub']) && $_REQUEST['wpi_sub'] !== '' && isset($vat_classes[$_REQUEST['wpi_sub']]) ? sanitize_text_field($_REQUEST['wpi_sub']) : ''; |
|
290 | + if (isset($vat_classes[$vat_class])) { |
|
291 | 291 | ?> |
292 | - <p class="wpi-vat-rate-actions"><input id="wpi_vat_rate_delete" type="button" value="<?php echo wp_sprintf( esc_attr__( 'Delete class "%s"', 'invoicing' ), $vat_classes[$vat_class] );?>" class="button button-primary" /> <i style="display:none;" class="fa fa-refresh fa-spin"></i></p> |
|
292 | + <p class="wpi-vat-rate-actions"><input id="wpi_vat_rate_delete" type="button" value="<?php echo wp_sprintf(esc_attr__('Delete class "%s"', 'invoicing'), $vat_classes[$vat_class]); ?>" class="button button-primary" /> <i style="display:none;" class="fa fa-refresh fa-spin"></i></p> |
|
293 | 293 | <?php |
294 | 294 | } |
295 | 295 | } |
296 | 296 | |
297 | -function wpinv_vat_rates_callback( $args ) { |
|
297 | +function wpinv_vat_rates_callback($args) { |
|
298 | 298 | global $wpinv_euvat; |
299 | 299 | |
300 | 300 | $vat_classes = $wpinv_euvat->get_rate_classes(); |
301 | - $vat_class = isset( $_REQUEST['wpi_sub'] ) && $_REQUEST['wpi_sub'] !== '' && isset( $vat_classes[$_REQUEST['wpi_sub']] )? sanitize_text_field( $_REQUEST['wpi_sub'] ) : '_standard'; |
|
301 | + $vat_class = isset($_REQUEST['wpi_sub']) && $_REQUEST['wpi_sub'] !== '' && isset($vat_classes[$_REQUEST['wpi_sub']]) ? sanitize_text_field($_REQUEST['wpi_sub']) : '_standard'; |
|
302 | 302 | |
303 | 303 | $eu_states = $wpinv_euvat->get_eu_states(); |
304 | 304 | $countries = wpinv_get_country_list(); |
305 | 305 | $vat_groups = $wpinv_euvat->get_vat_groups(); |
306 | - $rates = $wpinv_euvat->get_vat_rates( $vat_class ); |
|
306 | + $rates = $wpinv_euvat->get_vat_rates($vat_class); |
|
307 | 307 | ob_start(); |
308 | 308 | ?> |
309 | 309 | </td><tr> |
310 | 310 | <td colspan="2" class="wpinv_vat_tdbox"> |
311 | - <input type="hidden" name="wpi_vat_class" value="<?php echo $vat_class;?>" /> |
|
312 | - <p><?php echo ( isset( $args['desc'] ) ? $args['desc'] : '' ); ?></p> |
|
311 | + <input type="hidden" name="wpi_vat_class" value="<?php echo $vat_class; ?>" /> |
|
312 | + <p><?php echo (isset($args['desc']) ? $args['desc'] : ''); ?></p> |
|
313 | 313 | <table id="wpinv_vat_rates" class="wp-list-table widefat fixed posts"> |
314 | 314 | <colgroup> |
315 | 315 | <col width="50px" /> |
@@ -321,43 +321,43 @@ discard block |
||
321 | 321 | </colgroup> |
322 | 322 | <thead> |
323 | 323 | <tr> |
324 | - <th scope="col" colspan="2" class="wpinv_vat_country_name"><?php _e( 'Country', 'invoicing' ); ?></th> |
|
325 | - <th scope="col" class="wpinv_vat_global" title="<?php esc_attr_e( 'Apply rate to whole country', 'invoicing' ); ?>"><?php _e( 'Country Wide', 'invoicing' ); ?></th> |
|
326 | - <th scope="col" class="wpinv_vat_rate"><?php _e( 'Rate %', 'invoicing' ); ?></th> |
|
327 | - <th scope="col" class="wpinv_vat_name"><?php _e( 'VAT Name', 'invoicing' ); ?></th> |
|
328 | - <th scope="col" class="wpinv_vat_group"><?php _e( 'Tax Group', 'invoicing' ); ?></th> |
|
324 | + <th scope="col" colspan="2" class="wpinv_vat_country_name"><?php _e('Country', 'invoicing'); ?></th> |
|
325 | + <th scope="col" class="wpinv_vat_global" title="<?php esc_attr_e('Apply rate to whole country', 'invoicing'); ?>"><?php _e('Country Wide', 'invoicing'); ?></th> |
|
326 | + <th scope="col" class="wpinv_vat_rate"><?php _e('Rate %', 'invoicing'); ?></th> |
|
327 | + <th scope="col" class="wpinv_vat_name"><?php _e('VAT Name', 'invoicing'); ?></th> |
|
328 | + <th scope="col" class="wpinv_vat_group"><?php _e('Tax Group', 'invoicing'); ?></th> |
|
329 | 329 | </tr> |
330 | 330 | </thead> |
331 | 331 | <tbody> |
332 | - <?php if( !empty( $eu_states ) ) { ?> |
|
332 | + <?php if (!empty($eu_states)) { ?> |
|
333 | 333 | <?php |
334 | - foreach ( $eu_states as $state ) { |
|
335 | - $country_name = isset( $countries[$state] ) ? $countries[$state] : ''; |
|
334 | + foreach ($eu_states as $state) { |
|
335 | + $country_name = isset($countries[$state]) ? $countries[$state] : ''; |
|
336 | 336 | |
337 | 337 | // Filter the rate for each country |
338 | - $country_rate = array_filter( $rates, function( $rate ) use( $state ) { return $rate['country'] === $state; } ); |
|
338 | + $country_rate = array_filter($rates, function($rate) use($state) { return $rate['country'] === $state; } ); |
|
339 | 339 | |
340 | 340 | // If one does not exist create a default |
341 | - $country_rate = is_array( $country_rate ) && count( $country_rate ) > 0 ? reset( $country_rate ) : array(); |
|
341 | + $country_rate = is_array($country_rate) && count($country_rate) > 0 ? reset($country_rate) : array(); |
|
342 | 342 | |
343 | - $vat_global = isset( $country_rate['global'] ) ? !empty( $country_rate['global'] ) : true; |
|
344 | - $vat_rate = isset( $country_rate['rate'] ) ? $country_rate['rate'] : ''; |
|
345 | - $vat_name = !empty( $country_rate['name'] ) ? esc_attr( stripslashes( $country_rate['name'] ) ) : ''; |
|
346 | - $vat_group = !empty( $country_rate['group'] ) ? $country_rate['group'] : ( $vat_class === '_standard' ? 'standard' : 'reduced' ); |
|
343 | + $vat_global = isset($country_rate['global']) ? !empty($country_rate['global']) : true; |
|
344 | + $vat_rate = isset($country_rate['rate']) ? $country_rate['rate'] : ''; |
|
345 | + $vat_name = !empty($country_rate['name']) ? esc_attr(stripslashes($country_rate['name'])) : ''; |
|
346 | + $vat_group = !empty($country_rate['group']) ? $country_rate['group'] : ($vat_class === '_standard' ? 'standard' : 'reduced'); |
|
347 | 347 | ?> |
348 | 348 | <tr> |
349 | 349 | <td class="wpinv_vat_country"><?php echo $state; ?><input type="hidden" name="vat_rates[<?php echo $state; ?>][country]" value="<?php echo $state; ?>" /><input type="hidden" name="vat_rates[<?php echo $state; ?>][state]" value="" /></td> |
350 | 350 | <td class="wpinv_vat_country_name"><?php echo $country_name; ?></td> |
351 | 351 | <td class="wpinv_vat_global"> |
352 | - <input type="checkbox" name="vat_rates[<?php echo $state;?>][global]" id="vat_rates[<?php echo $state;?>][global]" value="1" <?php checked( true, $vat_global );?> disabled="disabled" /> |
|
353 | - <label for="tax_rates[<?php echo $state;?>][global]"><?php _e( 'Apply to whole country', 'invoicing' ); ?></label> |
|
354 | - <input type="hidden" name="vat_rates[<?php echo $state;?>][global]" value="1" checked="checked" /> |
|
352 | + <input type="checkbox" name="vat_rates[<?php echo $state; ?>][global]" id="vat_rates[<?php echo $state; ?>][global]" value="1" <?php checked(true, $vat_global); ?> disabled="disabled" /> |
|
353 | + <label for="tax_rates[<?php echo $state; ?>][global]"><?php _e('Apply to whole country', 'invoicing'); ?></label> |
|
354 | + <input type="hidden" name="vat_rates[<?php echo $state; ?>][global]" value="1" checked="checked" /> |
|
355 | 355 | </td> |
356 | - <td class="wpinv_vat_rate"><input type="number" class="small-text" step="any" min="0" max="99" name="vat_rates[<?php echo $state;?>][rate]" value="<?php echo $vat_rate; ?>" /></td> |
|
357 | - <td class="wpinv_vat_name"><input type="text" class="regular-text" name="vat_rates[<?php echo $state;?>][name]" value="<?php echo $vat_name; ?>" /></td> |
|
356 | + <td class="wpinv_vat_rate"><input type="number" class="small-text" step="any" min="0" max="99" name="vat_rates[<?php echo $state; ?>][rate]" value="<?php echo $vat_rate; ?>" /></td> |
|
357 | + <td class="wpinv_vat_name"><input type="text" class="regular-text" name="vat_rates[<?php echo $state; ?>][name]" value="<?php echo $vat_name; ?>" /></td> |
|
358 | 358 | <td class="wpinv_vat_group"> |
359 | 359 | <?php |
360 | - echo wpinv_html_select( array( |
|
360 | + echo wpinv_html_select(array( |
|
361 | 361 | 'name' => 'vat_rates[' . $state . '][group]', |
362 | 362 | 'selected' => $vat_group, |
363 | 363 | 'id' => 'vat_rates[' . $state . '][group]', |
@@ -367,14 +367,14 @@ discard block |
||
367 | 367 | 'chosen' => false, |
368 | 368 | 'show_option_all' => false, |
369 | 369 | 'show_option_none' => false |
370 | - ) ); |
|
370 | + )); |
|
371 | 371 | ?> |
372 | 372 | </td> |
373 | 373 | </tr> |
374 | 374 | <?php } ?> |
375 | 375 | <tr> |
376 | 376 | <td colspan="6" style="background-color:#fafafa;"> |
377 | - <span><input id="wpi_vat_get_rates_group" type="button" class="button-secondary" value="<?php esc_attr_e( 'Update EU VAT Rates', 'invoicing' ); ?>" /> <i style="display:none" class="fa fa-refresh fa-spin"></i></span><span id="wpinv-rates-error-wrap" class="wpinv_errors" style="display:none;"></span> |
|
377 | + <span><input id="wpi_vat_get_rates_group" type="button" class="button-secondary" value="<?php esc_attr_e('Update EU VAT Rates', 'invoicing'); ?>" /> <i style="display:none" class="fa fa-refresh fa-spin"></i></span><span id="wpinv-rates-error-wrap" class="wpinv_errors" style="display:none;"></span> |
|
378 | 378 | </td> |
379 | 379 | </tr> |
380 | 380 | <?php } ?> |
@@ -386,35 +386,35 @@ discard block |
||
386 | 386 | echo $content; |
387 | 387 | } |
388 | 388 | |
389 | -function wpinv_vat_number_callback( $args ) { |
|
389 | +function wpinv_vat_number_callback($args) { |
|
390 | 390 | global $wpinv_euvat; |
391 | 391 | |
392 | 392 | $vat_number = $wpinv_euvat->get_vat_number(); |
393 | 393 | $vat_valid = $wpinv_euvat->is_vat_validated(); |
394 | 394 | |
395 | - $size = ( isset( $args['size'] ) && !is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
396 | - $validated_text = $vat_valid ? __( 'VAT number validated', 'invoicing' ) : __( 'VAT number not validated', 'invoicing' ); |
|
395 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular'; |
|
396 | + $validated_text = $vat_valid ? __('VAT number validated', 'invoicing') : __('VAT number not validated', 'invoicing'); |
|
397 | 397 | $disabled = $vat_valid ? 'disabled="disabled"' : " "; |
398 | 398 | |
399 | - $html = '<input type="text" class="' . $size . '-text" id="wpinv_settings[' . $args['id'] . ']" name="wpinv_settings[' . $args['id'] . ']" placeholder="GB123456789" value="' . esc_attr( stripslashes( $vat_number ) ) . '"/>'; |
|
400 | - $html .= '<span> <input type="button" id="wpinv_vat_validate" class="wpinv_validate_vat_button button-secondary" ' . $disabled . ' value="' . esc_attr__( 'Validate VAT Number', 'invoicing' ) . '" /></span>'; |
|
399 | + $html = '<input type="text" class="' . $size . '-text" id="wpinv_settings[' . $args['id'] . ']" name="wpinv_settings[' . $args['id'] . ']" placeholder="GB123456789" value="' . esc_attr(stripslashes($vat_number)) . '"/>'; |
|
400 | + $html .= '<span> <input type="button" id="wpinv_vat_validate" class="wpinv_validate_vat_button button-secondary" ' . $disabled . ' value="' . esc_attr__('Validate VAT Number', 'invoicing') . '" /></span>'; |
|
401 | 401 | $html .= '<span class="wpinv-vat-stat wpinv-vat-stat-' . (int)$vat_valid . '"><i class="fa"></i> <font>' . $validated_text . '</font></span>'; |
402 | - $html .= '<label for="wpinv_settings[' . $args['id'] . ']">' . '<p>' . __( 'Enter your VAT number including country identifier, eg: GB123456789 (Settings must be saved after validation)', 'invoicing' ).'</p>' . '</label>'; |
|
403 | - $html .= '<input type="hidden" name="_wpi_nonce" value="' . wp_create_nonce( 'vat_validation' ) . '">'; |
|
402 | + $html .= '<label for="wpinv_settings[' . $args['id'] . ']">' . '<p>' . __('Enter your VAT number including country identifier, eg: GB123456789 (Settings must be saved after validation)', 'invoicing') . '</p>' . '</label>'; |
|
403 | + $html .= '<input type="hidden" name="_wpi_nonce" value="' . wp_create_nonce('vat_validation') . '">'; |
|
404 | 404 | |
405 | 405 | echo $html; |
406 | 406 | } |
407 | 407 | |
408 | -function wpinv_eu_fallback_rate_callback( $args ) { |
|
408 | +function wpinv_eu_fallback_rate_callback($args) { |
|
409 | 409 | global $wpinv_options; |
410 | 410 | |
411 | - $value = isset( $wpinv_options[$args['id']] ) ? $wpinv_options[ $args['id'] ] : ( isset( $args['std'] ) ? $args['std'] : '' ); |
|
412 | - $size = ( isset( $args['size'] ) && !is_null( $args['size'] ) ) ? $args['size'] : 'small'; |
|
411 | + $value = isset($wpinv_options[$args['id']]) ? $wpinv_options[$args['id']] : (isset($args['std']) ? $args['std'] : ''); |
|
412 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'small'; |
|
413 | 413 | |
414 | - $html = '<input type="number" min="0" max="99" step="any" class="' . $size . '-text" id="wpinv_settings_' . $args['section'] . '_' . $args['id'] . '" name="wpinv_settings[' . $args['id'] . ']" value="' . esc_attr( stripslashes( $value ) ) . '" />'; |
|
415 | - $html .= '<span> <input id="wpi_add_eu_states" type="button" class="button-secondary" value="' . esc_attr__( 'Add EU Member States', 'invoicing' ) . '" /></span>'; |
|
416 | - $html .= '<span> <input id="wpi_remove_eu_states" type="button" class="button-secondary" value="' . esc_attr__( 'Remove EU Member States', 'invoicing' ) . '" /></span>'; |
|
417 | - $html .= '<span> <input id="wpi_vat_get_rates" type="button" class="button-secondary" value="' . esc_attr__( 'Update EU VAT Rates', 'invoicing' ) . '" /> <i style="display:none" class="fa fa-refresh fa-spin"></i></span>'; |
|
414 | + $html = '<input type="number" min="0" max="99" step="any" class="' . $size . '-text" id="wpinv_settings_' . $args['section'] . '_' . $args['id'] . '" name="wpinv_settings[' . $args['id'] . ']" value="' . esc_attr(stripslashes($value)) . '" />'; |
|
415 | + $html .= '<span> <input id="wpi_add_eu_states" type="button" class="button-secondary" value="' . esc_attr__('Add EU Member States', 'invoicing') . '" /></span>'; |
|
416 | + $html .= '<span> <input id="wpi_remove_eu_states" type="button" class="button-secondary" value="' . esc_attr__('Remove EU Member States', 'invoicing') . '" /></span>'; |
|
417 | + $html .= '<span> <input id="wpi_vat_get_rates" type="button" class="button-secondary" value="' . esc_attr__('Update EU VAT Rates', 'invoicing') . '" /> <i style="display:none" class="fa fa-refresh fa-spin"></i></span>'; |
|
418 | 418 | $html .= '<p><label for="wpinv_settings_' . $args['section'] . '_' . $args['id'] . '">' . $args['desc'] . '</label></p>'; |
419 | 419 | echo $html; |
420 | 420 | ?> |
@@ -422,36 +422,36 @@ discard block |
||
422 | 422 | <?php |
423 | 423 | } |
424 | 424 | |
425 | -function wpinv_vat_ip_lookup_callback( $args ) { |
|
425 | +function wpinv_vat_ip_lookup_callback($args) { |
|
426 | 426 | global $wpinv_options, $wpinv_euvat; |
427 | 427 | |
428 | - $value = isset( $wpinv_options[ $args['id'] ] ) ? $wpinv_options[ $args['id'] ] : ( isset( $args['std'] ) ? $args['std'] : 'default' ); |
|
428 | + $value = isset($wpinv_options[$args['id']]) ? $wpinv_options[$args['id']] : (isset($args['std']) ? $args['std'] : 'default'); |
|
429 | 429 | |
430 | 430 | $options = array(); |
431 | - if ( function_exists( 'geoip_country_code_by_name' ) ) { |
|
432 | - $options['geoip'] = __( 'PHP GeoIP extension', 'invoicing' ); |
|
431 | + if (function_exists('geoip_country_code_by_name')) { |
|
432 | + $options['geoip'] = __('PHP GeoIP extension', 'invoicing'); |
|
433 | 433 | } |
434 | 434 | |
435 | 435 | $geoip2_database = $wpinv_euvat->geoip2_country_dbfile(); |
436 | 436 | |
437 | - if ( !function_exists( 'bcadd' ) ) { |
|
438 | - $geoip2_message = __( 'GeoIP2 service requires the BC Math PHP extension, it is not loaded in your version of PHP!', 'invoicing' ); |
|
437 | + if (!function_exists('bcadd')) { |
|
438 | + $geoip2_message = __('GeoIP2 service requires the BC Math PHP extension, it is not loaded in your version of PHP!', 'invoicing'); |
|
439 | 439 | } else { |
440 | - $geoip2_message = ini_get('safe_mode') ? __( 'GeoIP2 is not supported with PHP safe mode enabled!', 'invoicing' ) : ''; |
|
440 | + $geoip2_message = ini_get('safe_mode') ? __('GeoIP2 is not supported with PHP safe mode enabled!', 'invoicing') : ''; |
|
441 | 441 | } |
442 | 442 | |
443 | - if ( $geoip2_database !== false && empty( $geoip2_message ) ) { |
|
444 | - $options['geoip2'] = __( 'GeoIP2 Database', 'invoicing' ); |
|
443 | + if ($geoip2_database !== false && empty($geoip2_message)) { |
|
444 | + $options['geoip2'] = __('GeoIP2 Database', 'invoicing'); |
|
445 | 445 | } |
446 | 446 | |
447 | - if ( function_exists( 'simplexml_load_file' ) ) { |
|
448 | - $options['geoplugin'] = __( 'geoPlugin Web Service', 'invoicing' ); |
|
447 | + if (function_exists('simplexml_load_file')) { |
|
448 | + $options['geoplugin'] = __('geoPlugin Web Service', 'invoicing'); |
|
449 | 449 | } |
450 | 450 | |
451 | - $options['site'] = __( 'Use default country', 'invoicing' ); |
|
452 | - $options['default'] = __( 'Auto', 'invoicing' ); |
|
451 | + $options['site'] = __('Use default country', 'invoicing'); |
|
452 | + $options['default'] = __('Auto', 'invoicing'); |
|
453 | 453 | |
454 | - $html = wpinv_html_select( array( |
|
454 | + $html = wpinv_html_select(array( |
|
455 | 455 | 'name' => "wpinv_settings[{$args['id']}]", |
456 | 456 | 'selected' => $value, |
457 | 457 | 'id' => "wpinv_settings[{$args['id']}]", |
@@ -464,23 +464,23 @@ discard block |
||
464 | 464 | )); |
465 | 465 | |
466 | 466 | $desc = '<label for="wpinv_settings[' . $args['id'] . ']">'; |
467 | - $desc .= __( 'Select the option Invoicing should use to determine the country from the IP address of the user.', 'invoicing' ); |
|
467 | + $desc .= __('Select the option Invoicing should use to determine the country from the IP address of the user.', 'invoicing'); |
|
468 | 468 | $desc .= '<p>'; |
469 | - if ( empty( $geoip2_message ) ) { |
|
470 | - if ( $geoip2_database ) { |
|
469 | + if (empty($geoip2_message)) { |
|
470 | + if ($geoip2_database) { |
|
471 | 471 | $last_updated = ''; |
472 | - if ( $time_updated = wpinv_get_option( 'wpinv_geoip2_date_updated' ) ) { |
|
473 | - $date_updated = date_i18n( get_option( 'date_format' ) . ' ' . get_option( 'time_format' ), $time_updated ); |
|
474 | - $last_updated = '<br>' . sprintf( __( 'The GeoIP2 database was last updated on: <b>%s</b>', 'invoicing' ), $date_updated ); |
|
472 | + if ($time_updated = wpinv_get_option('wpinv_geoip2_date_updated')) { |
|
473 | + $date_updated = date_i18n(get_option('date_format') . ' ' . get_option('time_format'), $time_updated); |
|
474 | + $last_updated = '<br>' . sprintf(__('The GeoIP2 database was last updated on: <b>%s</b>', 'invoicing'), $date_updated); |
|
475 | 475 | } |
476 | - $desc .= __( 'GeoIP2 database exists:', 'invoicing' ) . $last_updated . ' <input type="button" id="wpi_geoip2" action="update" class="wpinv-refresh-geoip2-btn button-secondary" value="' . __( 'Update GeoIP2 database now (~55MB)', 'invoicing' ) . '"></input>'; |
|
476 | + $desc .= __('GeoIP2 database exists:', 'invoicing') . $last_updated . ' <input type="button" id="wpi_geoip2" action="update" class="wpinv-refresh-geoip2-btn button-secondary" value="' . __('Update GeoIP2 database now (~55MB)', 'invoicing') . '"></input>'; |
|
477 | 477 | } else { |
478 | - $desc .= __( 'GeoIP2 database does not exist:', 'invoicing' ) . ' <input type="button" id="wpi_geoip2" action="download" class="wpinv-download-geoip2-btn button-secondary" value="' . __( 'Download GeoIP2 database now', 'invoicing' ) . ' (~53MB)"></input><br>' . __( 'After downloading the GeoIP2 database the GeoIP2 lookup option will show.', 'invoicing' ); |
|
478 | + $desc .= __('GeoIP2 database does not exist:', 'invoicing') . ' <input type="button" id="wpi_geoip2" action="download" class="wpinv-download-geoip2-btn button-secondary" value="' . __('Download GeoIP2 database now', 'invoicing') . ' (~53MB)"></input><br>' . __('After downloading the GeoIP2 database the GeoIP2 lookup option will show.', 'invoicing'); |
|
479 | 479 | } |
480 | 480 | } else { |
481 | 481 | $desc .= $geoip2_message; |
482 | 482 | } |
483 | - $desc .= '</p><p>'. __( 'GeoPlugin is a great free service please consider supporting them: ', 'invoicing' ) . ' <a href="http://www.geoplugin.com/" target="_blank">GeoPlugin.com</a></p>'; |
|
483 | + $desc .= '</p><p>' . __('GeoPlugin is a great free service please consider supporting them: ', 'invoicing') . ' <a href="http://www.geoplugin.com/" target="_blank">GeoPlugin.com</a></p>'; |
|
484 | 484 | $desc .= '</label>'; |
485 | 485 | |
486 | 486 | $html .= $desc; |
@@ -7,206 +7,206 @@ discard block |
||
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_payment_gateways() { |
15 | 15 | // Default, built-in gateways |
16 | 16 | $gateways = array( |
17 | 17 | 'paypal' => array( |
18 | - 'admin_label' => __( 'PayPal Standard', 'invoicing' ), |
|
19 | - 'checkout_label' => __( 'PayPal Standard', 'invoicing' ), |
|
18 | + 'admin_label' => __('PayPal Standard', 'invoicing'), |
|
19 | + 'checkout_label' => __('PayPal Standard', 'invoicing'), |
|
20 | 20 | 'ordering' => 1, |
21 | 21 | ), |
22 | 22 | 'authorizenet' => array( |
23 | - 'admin_label' => __( 'Authorize.Net (AIM)', 'invoicing' ), |
|
24 | - 'checkout_label' => __( 'Authorize.Net - Credit Card / Debit Card', 'invoicing' ), |
|
23 | + 'admin_label' => __('Authorize.Net (AIM)', 'invoicing'), |
|
24 | + 'checkout_label' => __('Authorize.Net - Credit Card / Debit Card', 'invoicing'), |
|
25 | 25 | 'ordering' => 4, |
26 | 26 | ), |
27 | 27 | 'worldpay' => array( |
28 | - 'admin_label' => __( 'Worldpay', 'invoicing' ), |
|
29 | - 'checkout_label' => __( 'Worldpay - Credit Card / Debit Card', 'invoicing' ), |
|
28 | + 'admin_label' => __('Worldpay', 'invoicing'), |
|
29 | + 'checkout_label' => __('Worldpay - Credit Card / Debit Card', 'invoicing'), |
|
30 | 30 | 'ordering' => 5, |
31 | 31 | ), |
32 | 32 | 'bank_transfer' => array( |
33 | - 'admin_label' => __( 'Pre Bank Transfer', 'invoicing' ), |
|
34 | - 'checkout_label' => __( 'Pre Bank Transfer', 'invoicing' ), |
|
33 | + 'admin_label' => __('Pre Bank Transfer', 'invoicing'), |
|
34 | + 'checkout_label' => __('Pre Bank Transfer', 'invoicing'), |
|
35 | 35 | 'ordering' => 11, |
36 | 36 | ), |
37 | 37 | 'manual' => array( |
38 | - 'admin_label' => __( 'Test Payment', 'invoicing' ), |
|
39 | - 'checkout_label' => __( 'Test Payment', 'invoicing' ), |
|
38 | + 'admin_label' => __('Test Payment', 'invoicing'), |
|
39 | + 'checkout_label' => __('Test Payment', 'invoicing'), |
|
40 | 40 | 'ordering' => 12, |
41 | 41 | ), |
42 | 42 | ); |
43 | 43 | |
44 | - return apply_filters( 'wpinv_payment_gateways', $gateways ); |
|
44 | + return apply_filters('wpinv_payment_gateways', $gateways); |
|
45 | 45 | } |
46 | 46 | |
47 | -function wpinv_payment_gateway_titles( $all_gateways ) { |
|
47 | +function wpinv_payment_gateway_titles($all_gateways) { |
|
48 | 48 | global $wpinv_options; |
49 | 49 | |
50 | 50 | $gateways = array(); |
51 | - foreach ( $all_gateways as $key => $gateway ) { |
|
52 | - if ( !empty( $wpinv_options[$key . '_title'] ) ) { |
|
53 | - $all_gateways[$key]['checkout_label'] = __( $wpinv_options[$key . '_title'], 'invoicing' ); |
|
51 | + foreach ($all_gateways as $key => $gateway) { |
|
52 | + if (!empty($wpinv_options[$key . '_title'])) { |
|
53 | + $all_gateways[$key]['checkout_label'] = __($wpinv_options[$key . '_title'], 'invoicing'); |
|
54 | 54 | } |
55 | 55 | |
56 | - $gateways[$key] = isset( $wpinv_options[$key . '_ordering'] ) ? $wpinv_options[$key . '_ordering'] : ( isset( $gateway['ordering'] ) ? $gateway['ordering'] : '' ); |
|
56 | + $gateways[$key] = isset($wpinv_options[$key . '_ordering']) ? $wpinv_options[$key . '_ordering'] : (isset($gateway['ordering']) ? $gateway['ordering'] : ''); |
|
57 | 57 | } |
58 | 58 | |
59 | - asort( $gateways ); |
|
59 | + asort($gateways); |
|
60 | 60 | |
61 | - foreach ( $gateways as $gateway => $key ) { |
|
61 | + foreach ($gateways as $gateway => $key) { |
|
62 | 62 | $gateways[$gateway] = $all_gateways[$gateway]; |
63 | 63 | } |
64 | 64 | |
65 | 65 | return $gateways; |
66 | 66 | } |
67 | -add_filter( 'wpinv_payment_gateways', 'wpinv_payment_gateway_titles', 1000, 1 ); |
|
67 | +add_filter('wpinv_payment_gateways', 'wpinv_payment_gateway_titles', 1000, 1); |
|
68 | 68 | |
69 | -function wpinv_get_enabled_payment_gateways( $sort = false ) { |
|
69 | +function wpinv_get_enabled_payment_gateways($sort = false) { |
|
70 | 70 | $gateways = wpinv_get_payment_gateways(); |
71 | - $enabled = wpinv_get_option( 'gateways', false ); |
|
71 | + $enabled = wpinv_get_option('gateways', false); |
|
72 | 72 | |
73 | 73 | $gateway_list = array(); |
74 | 74 | |
75 | - foreach ( $gateways as $key => $gateway ) { |
|
76 | - if ( isset( $enabled[ $key ] ) && $enabled[ $key ] == 1 ) { |
|
77 | - $gateway_list[ $key ] = $gateway; |
|
75 | + foreach ($gateways as $key => $gateway) { |
|
76 | + if (isset($enabled[$key]) && $enabled[$key] == 1) { |
|
77 | + $gateway_list[$key] = $gateway; |
|
78 | 78 | } |
79 | 79 | } |
80 | 80 | |
81 | - if ( true === $sort ) { |
|
82 | - uasort( $gateway_list, 'wpinv_sort_gateway_order' ); |
|
81 | + if (true === $sort) { |
|
82 | + uasort($gateway_list, 'wpinv_sort_gateway_order'); |
|
83 | 83 | |
84 | 84 | // Reorder our gateways so the default is first |
85 | 85 | $default_gateway_id = wpinv_get_default_gateway(); |
86 | 86 | |
87 | - if ( wpinv_is_gateway_active( $default_gateway_id ) ) { |
|
88 | - $default_gateway = array( $default_gateway_id => $gateway_list[ $default_gateway_id ] ); |
|
89 | - unset( $gateway_list[ $default_gateway_id ] ); |
|
87 | + if (wpinv_is_gateway_active($default_gateway_id)) { |
|
88 | + $default_gateway = array($default_gateway_id => $gateway_list[$default_gateway_id]); |
|
89 | + unset($gateway_list[$default_gateway_id]); |
|
90 | 90 | |
91 | - $gateway_list = array_merge( $default_gateway, $gateway_list ); |
|
91 | + $gateway_list = array_merge($default_gateway, $gateway_list); |
|
92 | 92 | } |
93 | 93 | } |
94 | 94 | |
95 | - return apply_filters( 'wpinv_enabled_payment_gateways', $gateway_list ); |
|
95 | + return apply_filters('wpinv_enabled_payment_gateways', $gateway_list); |
|
96 | 96 | } |
97 | 97 | |
98 | -function wpinv_sort_gateway_order( $a, $b ) { |
|
98 | +function wpinv_sort_gateway_order($a, $b) { |
|
99 | 99 | return $a['ordering'] - $b['ordering']; |
100 | 100 | } |
101 | 101 | |
102 | -function wpinv_is_gateway_active( $gateway ) { |
|
102 | +function wpinv_is_gateway_active($gateway) { |
|
103 | 103 | $gateways = wpinv_get_enabled_payment_gateways(); |
104 | 104 | |
105 | - $ret = is_array($gateways) && $gateway ? array_key_exists( $gateway, $gateways ) : false; |
|
105 | + $ret = is_array($gateways) && $gateway ? array_key_exists($gateway, $gateways) : false; |
|
106 | 106 | |
107 | - return apply_filters( 'wpinv_is_gateway_active', $ret, $gateway, $gateways ); |
|
107 | + return apply_filters('wpinv_is_gateway_active', $ret, $gateway, $gateways); |
|
108 | 108 | } |
109 | 109 | |
110 | 110 | function wpinv_get_default_gateway() { |
111 | - $default = wpinv_get_option( 'default_gateway', 'paypal' ); |
|
111 | + $default = wpinv_get_option('default_gateway', 'paypal'); |
|
112 | 112 | |
113 | - if ( !wpinv_is_gateway_active( $default ) ) { |
|
113 | + if (!wpinv_is_gateway_active($default)) { |
|
114 | 114 | $gateways = wpinv_get_enabled_payment_gateways(); |
115 | - $gateways = array_keys( $gateways ); |
|
116 | - $default = reset( $gateways ); |
|
115 | + $gateways = array_keys($gateways); |
|
116 | + $default = reset($gateways); |
|
117 | 117 | } |
118 | 118 | |
119 | - return apply_filters( 'wpinv_default_gateway', $default ); |
|
119 | + return apply_filters('wpinv_default_gateway', $default); |
|
120 | 120 | } |
121 | 121 | |
122 | -function wpinv_get_gateway_admin_label( $gateway ) { |
|
122 | +function wpinv_get_gateway_admin_label($gateway) { |
|
123 | 123 | $gateways = wpinv_get_payment_gateways(); |
124 | - $label = isset( $gateways[ $gateway ] ) ? $gateways[ $gateway ]['admin_label'] : $gateway; |
|
125 | - $payment = isset( $_GET['id'] ) ? absint( $_GET['id'] ) : false; |
|
124 | + $label = isset($gateways[$gateway]) ? $gateways[$gateway]['admin_label'] : $gateway; |
|
125 | + $payment = isset($_GET['id']) ? absint($_GET['id']) : false; |
|
126 | 126 | |
127 | - if( $gateway == 'manual' && $payment ) { |
|
128 | - if( wpinv_get_payment_amount( $payment ) == 0 ) { |
|
129 | - $label = __( 'Manual Payment', 'invoicing' ); |
|
127 | + if ($gateway == 'manual' && $payment) { |
|
128 | + if (wpinv_get_payment_amount($payment) == 0) { |
|
129 | + $label = __('Manual Payment', 'invoicing'); |
|
130 | 130 | } |
131 | 131 | } |
132 | 132 | |
133 | - return apply_filters( 'wpinv_gateway_admin_label', $label, $gateway ); |
|
133 | + return apply_filters('wpinv_gateway_admin_label', $label, $gateway); |
|
134 | 134 | } |
135 | 135 | |
136 | -function wpinv_get_gateway_description( $gateway ) { |
|
136 | +function wpinv_get_gateway_description($gateway) { |
|
137 | 137 | global $wpinv_options; |
138 | 138 | |
139 | - $description = isset( $wpinv_options[$gateway . '_desc'] ) ? $wpinv_options[$gateway . '_desc'] : ''; |
|
139 | + $description = isset($wpinv_options[$gateway . '_desc']) ? $wpinv_options[$gateway . '_desc'] : ''; |
|
140 | 140 | |
141 | - return apply_filters( 'wpinv_gateway_description', $description, $gateway ); |
|
141 | + return apply_filters('wpinv_gateway_description', $description, $gateway); |
|
142 | 142 | } |
143 | 143 | |
144 | -function wpinv_get_gateway_button_label( $gateway ) { |
|
145 | - return apply_filters( 'wpinv_gateway_' . $gateway . '_button_label', '' ); |
|
144 | +function wpinv_get_gateway_button_label($gateway) { |
|
145 | + return apply_filters('wpinv_gateway_' . $gateway . '_button_label', ''); |
|
146 | 146 | } |
147 | 147 | |
148 | -function wpinv_get_gateway_checkout_label( $gateway ) { |
|
148 | +function wpinv_get_gateway_checkout_label($gateway) { |
|
149 | 149 | $gateways = wpinv_get_payment_gateways(); |
150 | - $label = isset( $gateways[ $gateway ] ) ? $gateways[ $gateway ]['checkout_label'] : $gateway; |
|
150 | + $label = isset($gateways[$gateway]) ? $gateways[$gateway]['checkout_label'] : $gateway; |
|
151 | 151 | |
152 | - if( $gateway == 'manual' ) { |
|
153 | - $label = __( 'Manual Payment', 'invoicing' ); |
|
152 | + if ($gateway == 'manual') { |
|
153 | + $label = __('Manual Payment', 'invoicing'); |
|
154 | 154 | } |
155 | 155 | |
156 | - return apply_filters( 'wpinv_gateway_checkout_label', $label, $gateway ); |
|
156 | + return apply_filters('wpinv_gateway_checkout_label', $label, $gateway); |
|
157 | 157 | } |
158 | 158 | |
159 | -function wpinv_settings_sections_gateways( $settings ) { |
|
159 | +function wpinv_settings_sections_gateways($settings) { |
|
160 | 160 | $gateways = wpinv_get_payment_gateways(); |
161 | 161 | |
162 | 162 | if (!empty($gateways)) { |
163 | - foreach ($gateways as $key => $gateway) { |
|
163 | + foreach ($gateways as $key => $gateway) { |
|
164 | 164 | $settings[$key] = $gateway['admin_label']; |
165 | 165 | } |
166 | 166 | } |
167 | 167 | |
168 | 168 | return $settings; |
169 | 169 | } |
170 | -add_filter( 'wpinv_settings_sections_gateways', 'wpinv_settings_sections_gateways', 10, 1 ); |
|
170 | +add_filter('wpinv_settings_sections_gateways', 'wpinv_settings_sections_gateways', 10, 1); |
|
171 | 171 | |
172 | -function wpinv_settings_gateways( $settings ) { |
|
172 | +function wpinv_settings_gateways($settings) { |
|
173 | 173 | $gateways = wpinv_get_payment_gateways(); |
174 | 174 | |
175 | 175 | if (!empty($gateways)) { |
176 | - foreach ($gateways as $key => $gateway) { |
|
176 | + foreach ($gateways as $key => $gateway) { |
|
177 | 177 | $setting = array(); |
178 | 178 | $setting[$key . '_header'] = array( |
179 | 179 | 'id' => 'gateway_header', |
180 | - 'name' => '<h3>' . wp_sprintf( __( '%s Settings', 'invoicing' ), $gateway['admin_label'] ) . '</h3>', |
|
180 | + 'name' => '<h3>' . wp_sprintf(__('%s Settings', 'invoicing'), $gateway['admin_label']) . '</h3>', |
|
181 | 181 | 'custom' => $key, |
182 | 182 | 'type' => 'gateway_header', |
183 | 183 | ); |
184 | 184 | $setting[$key . '_active'] = array( |
185 | 185 | 'id' => $key . '_active', |
186 | - 'name' => __( 'Active', 'invoicing' ), |
|
187 | - 'desc' => wp_sprintf( __( 'Enable %s', 'invoicing' ), $gateway['admin_label'] ), |
|
186 | + 'name' => __('Active', 'invoicing'), |
|
187 | + 'desc' => wp_sprintf(__('Enable %s', 'invoicing'), $gateway['admin_label']), |
|
188 | 188 | 'type' => 'checkbox', |
189 | 189 | ); |
190 | 190 | |
191 | 191 | $setting[$key . '_title'] = array( |
192 | 192 | 'id' => $key . '_title', |
193 | - 'name' => __( 'Title', 'invoicing' ), |
|
194 | - 'desc' => __( 'This controls the title which the user sees during checkout.', 'invoicing' ), |
|
193 | + 'name' => __('Title', 'invoicing'), |
|
194 | + 'desc' => __('This controls the title which the user sees during checkout.', 'invoicing'), |
|
195 | 195 | 'type' => 'text', |
196 | 196 | 'std' => isset($gateway['checkout_label']) ? $gateway['checkout_label'] : '' |
197 | 197 | ); |
198 | 198 | |
199 | 199 | $setting[$key . '_desc'] = array( |
200 | 200 | 'id' => $key . '_desc', |
201 | - 'name' => __( 'Description', 'invoicing' ), |
|
202 | - 'desc' => __( 'This controls the description which the user sees during checkout.', 'invoicing' ), |
|
201 | + 'name' => __('Description', 'invoicing'), |
|
202 | + 'desc' => __('This controls the description which the user sees during checkout.', 'invoicing'), |
|
203 | 203 | 'type' => 'text', |
204 | 204 | 'size' => 'large' |
205 | 205 | ); |
206 | 206 | |
207 | 207 | $setting[$key . '_ordering'] = array( |
208 | 208 | 'id' => $key . '_ordering', |
209 | - 'name' => __( 'Display Order', 'invoicing' ), |
|
209 | + 'name' => __('Display Order', 'invoicing'), |
|
210 | 210 | 'type' => 'number', |
211 | 211 | 'size' => 'small', |
212 | 212 | 'std' => isset($gateway['ordering']) ? $gateway['ordering'] : '10', |
@@ -215,8 +215,8 @@ discard block |
||
215 | 215 | 'step' => '1' |
216 | 216 | ); |
217 | 217 | |
218 | - $setting = apply_filters( 'wpinv_gateway_settings', $setting, $key ); |
|
219 | - $setting = apply_filters( 'wpinv_gateway_settings_' . $key, $setting ); |
|
218 | + $setting = apply_filters('wpinv_gateway_settings', $setting, $key); |
|
219 | + $setting = apply_filters('wpinv_gateway_settings_' . $key, $setting); |
|
220 | 220 | |
221 | 221 | $settings[$key] = $setting; |
222 | 222 | } |
@@ -224,106 +224,106 @@ discard block |
||
224 | 224 | |
225 | 225 | return $settings; |
226 | 226 | } |
227 | -add_filter( 'wpinv_settings_gateways', 'wpinv_settings_gateways', 10, 1 ); |
|
227 | +add_filter('wpinv_settings_gateways', 'wpinv_settings_gateways', 10, 1); |
|
228 | 228 | |
229 | -function wpinv_gateway_header_callback( $args ) { |
|
230 | - echo '<input type="hidden" id="wpinv_settings[save_gateway]" name="wpinv_settings[save_gateway]" value="' . esc_attr( $args['custom'] ) . '" />'; |
|
229 | +function wpinv_gateway_header_callback($args) { |
|
230 | + echo '<input type="hidden" id="wpinv_settings[save_gateway]" name="wpinv_settings[save_gateway]" value="' . esc_attr($args['custom']) . '" />'; |
|
231 | 231 | } |
232 | 232 | |
233 | -function wpinv_get_gateway_supports( $gateway ) { |
|
233 | +function wpinv_get_gateway_supports($gateway) { |
|
234 | 234 | $gateways = wpinv_get_enabled_payment_gateways(); |
235 | - $supports = isset( $gateways[ $gateway ]['supports'] ) ? $gateways[ $gateway ]['supports'] : array(); |
|
236 | - return apply_filters( 'wpinv_gateway_supports', $supports, $gateway ); |
|
235 | + $supports = isset($gateways[$gateway]['supports']) ? $gateways[$gateway]['supports'] : array(); |
|
236 | + return apply_filters('wpinv_gateway_supports', $supports, $gateway); |
|
237 | 237 | } |
238 | 238 | |
239 | -function wpinv_gateway_supports_buy_now( $gateway ) { |
|
240 | - $supports = wpinv_get_gateway_supports( $gateway ); |
|
241 | - $ret = in_array( 'buy_now', $supports ); |
|
242 | - return apply_filters( 'wpinv_gateway_supports_buy_now', $ret, $gateway ); |
|
239 | +function wpinv_gateway_supports_buy_now($gateway) { |
|
240 | + $supports = wpinv_get_gateway_supports($gateway); |
|
241 | + $ret = in_array('buy_now', $supports); |
|
242 | + return apply_filters('wpinv_gateway_supports_buy_now', $ret, $gateway); |
|
243 | 243 | } |
244 | 244 | |
245 | 245 | function wpinv_shop_supports_buy_now() { |
246 | 246 | $gateways = wpinv_get_enabled_payment_gateways(); |
247 | 247 | $ret = false; |
248 | 248 | |
249 | - if ( !wpinv_use_taxes() && $gateways ) { |
|
250 | - foreach ( $gateways as $gateway_id => $gateway ) { |
|
251 | - if ( wpinv_gateway_supports_buy_now( $gateway_id ) ) { |
|
249 | + if (!wpinv_use_taxes() && $gateways) { |
|
250 | + foreach ($gateways as $gateway_id => $gateway) { |
|
251 | + if (wpinv_gateway_supports_buy_now($gateway_id)) { |
|
252 | 252 | $ret = true; |
253 | 253 | break; |
254 | 254 | } |
255 | 255 | } |
256 | 256 | } |
257 | 257 | |
258 | - return apply_filters( 'wpinv_shop_supports_buy_now', $ret ); |
|
258 | + return apply_filters('wpinv_shop_supports_buy_now', $ret); |
|
259 | 259 | } |
260 | 260 | |
261 | -function wpinv_send_to_gateway( $gateway, $payment_data ) { |
|
262 | - $payment_data['gateway_nonce'] = wp_create_nonce( 'wpi-gateway' ); |
|
261 | +function wpinv_send_to_gateway($gateway, $payment_data) { |
|
262 | + $payment_data['gateway_nonce'] = wp_create_nonce('wpi-gateway'); |
|
263 | 263 | |
264 | 264 | // $gateway must match the ID used when registering the gateway |
265 | - do_action( 'wpinv_gateway_' . $gateway, $payment_data ); |
|
265 | + do_action('wpinv_gateway_' . $gateway, $payment_data); |
|
266 | 266 | } |
267 | 267 | |
268 | 268 | function wpinv_show_gateways() { |
269 | 269 | $gateways = wpinv_get_enabled_payment_gateways(); |
270 | 270 | $show_gateways = false; |
271 | 271 | |
272 | - $chosen_gateway = isset( $_GET['payment-mode'] ) ? preg_replace('/[^a-zA-Z0-9-_]+/', '', $_GET['payment-mode'] ) : false; |
|
272 | + $chosen_gateway = isset($_GET['payment-mode']) ? preg_replace('/[^a-zA-Z0-9-_]+/', '', $_GET['payment-mode']) : false; |
|
273 | 273 | |
274 | - if ( count( $gateways ) > 1 && empty( $chosen_gateway ) ) { |
|
274 | + if (count($gateways) > 1 && empty($chosen_gateway)) { |
|
275 | 275 | $show_gateways = true; |
276 | - if ( wpinv_get_cart_total() <= 0 ) { |
|
276 | + if (wpinv_get_cart_total() <= 0) { |
|
277 | 277 | $show_gateways = false; |
278 | 278 | } |
279 | 279 | } |
280 | 280 | |
281 | - if ( !$show_gateways && wpinv_cart_has_recurring_item() ) { |
|
281 | + if (!$show_gateways && wpinv_cart_has_recurring_item()) { |
|
282 | 282 | $show_gateways = true; |
283 | 283 | } |
284 | 284 | |
285 | - return apply_filters( 'wpinv_show_gateways', $show_gateways ); |
|
285 | + return apply_filters('wpinv_show_gateways', $show_gateways); |
|
286 | 286 | } |
287 | 287 | |
288 | -function wpinv_get_chosen_gateway( $invoice_id = 0 ) { |
|
289 | - $gateways = array_keys( wpinv_get_enabled_payment_gateways() ); |
|
288 | +function wpinv_get_chosen_gateway($invoice_id = 0) { |
|
289 | + $gateways = array_keys(wpinv_get_enabled_payment_gateways()); |
|
290 | 290 | |
291 | 291 | $chosen = false; |
292 | - if ( $invoice_id > 0 && $invoice = wpinv_get_invoice( $invoice_id ) ) { |
|
292 | + if ($invoice_id > 0 && $invoice = wpinv_get_invoice($invoice_id)) { |
|
293 | 293 | $chosen = $invoice->get_gateway(); |
294 | 294 | } |
295 | 295 | |
296 | - $chosen = isset( $_REQUEST['payment-mode'] ) ? sanitize_text_field( $_REQUEST['payment-mode'] ) : $chosen; |
|
296 | + $chosen = isset($_REQUEST['payment-mode']) ? sanitize_text_field($_REQUEST['payment-mode']) : $chosen; |
|
297 | 297 | |
298 | - if ( false !== $chosen ) { |
|
299 | - $chosen = preg_replace('/[^a-zA-Z0-9-_]+/', '', $chosen ); |
|
298 | + if (false !== $chosen) { |
|
299 | + $chosen = preg_replace('/[^a-zA-Z0-9-_]+/', '', $chosen); |
|
300 | 300 | } |
301 | 301 | |
302 | - if ( ! empty ( $chosen ) ) { |
|
303 | - $enabled_gateway = urldecode( $chosen ); |
|
304 | - } else if ( !empty( $invoice ) && (float)$invoice->get_subtotal() <= 0 ) { |
|
302 | + if (!empty ($chosen)) { |
|
303 | + $enabled_gateway = urldecode($chosen); |
|
304 | + } else if (!empty($invoice) && (float)$invoice->get_subtotal() <= 0) { |
|
305 | 305 | $enabled_gateway = 'manual'; |
306 | 306 | } else { |
307 | 307 | $enabled_gateway = wpinv_get_default_gateway(); |
308 | 308 | } |
309 | 309 | |
310 | - if ( !wpinv_is_gateway_active( $enabled_gateway ) && !empty( $gateways ) ) { |
|
311 | - if(wpinv_is_gateway_active( wpinv_get_default_gateway()) ){ |
|
310 | + if (!wpinv_is_gateway_active($enabled_gateway) && !empty($gateways)) { |
|
311 | + if (wpinv_is_gateway_active(wpinv_get_default_gateway())) { |
|
312 | 312 | $enabled_gateway = wpinv_get_default_gateway(); |
313 | - }else{ |
|
313 | + } else { |
|
314 | 314 | $enabled_gateway = $gateways[0]; |
315 | 315 | } |
316 | 316 | |
317 | 317 | } |
318 | 318 | |
319 | - return apply_filters( 'wpinv_chosen_gateway', $enabled_gateway ); |
|
319 | + return apply_filters('wpinv_chosen_gateway', $enabled_gateway); |
|
320 | 320 | } |
321 | 321 | |
322 | -function wpinv_record_gateway_error( $title = '', $message = '', $parent = 0 ) { |
|
323 | - return wpinv_error_log( $message, $title ); |
|
322 | +function wpinv_record_gateway_error($title = '', $message = '', $parent = 0) { |
|
323 | + return wpinv_error_log($message, $title); |
|
324 | 324 | } |
325 | 325 | |
326 | -function wpinv_count_sales_by_gateway( $gateway_id = 'paypal', $status = 'publish' ) { |
|
326 | +function wpinv_count_sales_by_gateway($gateway_id = 'paypal', $status = 'publish') { |
|
327 | 327 | $ret = 0; |
328 | 328 | $args = array( |
329 | 329 | 'meta_key' => '_wpinv_gateway', |
@@ -334,48 +334,48 @@ discard block |
||
334 | 334 | 'fields' => 'ids' |
335 | 335 | ); |
336 | 336 | |
337 | - $payments = new WP_Query( $args ); |
|
337 | + $payments = new WP_Query($args); |
|
338 | 338 | |
339 | - if( $payments ) |
|
339 | + if ($payments) |
|
340 | 340 | $ret = $payments->post_count; |
341 | 341 | return $ret; |
342 | 342 | } |
343 | 343 | |
344 | -function wpinv_settings_update_gateways( $input ) { |
|
344 | +function wpinv_settings_update_gateways($input) { |
|
345 | 345 | global $wpinv_options; |
346 | 346 | |
347 | - if ( !empty( $input['save_gateway'] ) ) { |
|
348 | - $gateways = wpinv_get_option( 'gateways', false ); |
|
347 | + if (!empty($input['save_gateway'])) { |
|
348 | + $gateways = wpinv_get_option('gateways', false); |
|
349 | 349 | $gateways = !empty($gateways) ? $gateways : array(); |
350 | 350 | $gateway = $input['save_gateway']; |
351 | 351 | |
352 | - if ( !empty( $input[$gateway . '_active'] ) ) { |
|
352 | + if (!empty($input[$gateway . '_active'])) { |
|
353 | 353 | $gateways[$gateway] = 1; |
354 | 354 | } else { |
355 | - if ( isset( $gateways[$gateway] ) ) { |
|
356 | - unset( $gateways[$gateway] ); |
|
355 | + if (isset($gateways[$gateway])) { |
|
356 | + unset($gateways[$gateway]); |
|
357 | 357 | } |
358 | 358 | } |
359 | 359 | |
360 | 360 | $input['gateways'] = $gateways; |
361 | 361 | } |
362 | 362 | |
363 | - if ( !empty( $input['default_gateway'] ) ) { |
|
363 | + if (!empty($input['default_gateway'])) { |
|
364 | 364 | $gateways = wpinv_get_payment_gateways(); |
365 | 365 | |
366 | - foreach ( $gateways as $key => $gateway ) { |
|
367 | - $active = 0; |
|
368 | - if ( !empty( $input['gateways'] ) && !empty( $input['gateways'][$key] ) ) { |
|
366 | + foreach ($gateways as $key => $gateway) { |
|
367 | + $active = 0; |
|
368 | + if (!empty($input['gateways']) && !empty($input['gateways'][$key])) { |
|
369 | 369 | $active = 1; |
370 | 370 | } |
371 | 371 | |
372 | 372 | $input[$key . '_active'] = $active; |
373 | 373 | |
374 | - if ( empty( $wpinv_options[$key . '_title'] ) ) { |
|
374 | + if (empty($wpinv_options[$key . '_title'])) { |
|
375 | 375 | $input[$key . '_title'] = $gateway['checkout_label']; |
376 | 376 | } |
377 | 377 | |
378 | - if ( !isset( $wpinv_options[$key . '_ordering'] ) && isset( $gateway['ordering'] ) ) { |
|
378 | + if (!isset($wpinv_options[$key . '_ordering']) && isset($gateway['ordering'])) { |
|
379 | 379 | $input[$key . '_ordering'] = $gateway['ordering']; |
380 | 380 | } |
381 | 381 | } |
@@ -383,26 +383,26 @@ discard block |
||
383 | 383 | |
384 | 384 | return $input; |
385 | 385 | } |
386 | -add_filter( 'wpinv_settings_tab_gateways_sanitize', 'wpinv_settings_update_gateways', 10, 1 ); |
|
386 | +add_filter('wpinv_settings_tab_gateways_sanitize', 'wpinv_settings_update_gateways', 10, 1); |
|
387 | 387 | |
388 | 388 | // PayPal Standard settings |
389 | -function wpinv_gateway_settings_paypal( $setting ) { |
|
390 | - $setting['paypal_desc']['std'] = __( 'Pay via PayPal: you can pay with your credit card if you don\'t have a PayPal account.', 'invoicing' ); |
|
389 | +function wpinv_gateway_settings_paypal($setting) { |
|
390 | + $setting['paypal_desc']['std'] = __('Pay via PayPal: you can pay with your credit card if you don\'t have a PayPal account.', 'invoicing'); |
|
391 | 391 | |
392 | 392 | $setting['paypal_sandbox'] = array( |
393 | 393 | 'type' => 'checkbox', |
394 | 394 | 'id' => 'paypal_sandbox', |
395 | - 'name' => __( 'PayPal Sandbox', 'invoicing' ), |
|
396 | - 'desc' => __( 'PayPal sandbox can be used to test payments.', 'invoicing' ), |
|
395 | + 'name' => __('PayPal Sandbox', 'invoicing'), |
|
396 | + 'desc' => __('PayPal sandbox can be used to test payments.', 'invoicing'), |
|
397 | 397 | 'std' => 1 |
398 | 398 | ); |
399 | 399 | |
400 | 400 | $setting['paypal_email'] = array( |
401 | 401 | 'type' => 'text', |
402 | 402 | 'id' => 'paypal_email', |
403 | - 'name' => __( 'PayPal Email', 'invoicing' ), |
|
404 | - 'desc' => __( 'Please enter your PayPal account\'s email address. Ex: [email protected]', 'invoicing' ), |
|
405 | - 'std' => __( '[email protected]', 'invoicing' ), |
|
403 | + 'name' => __('PayPal Email', 'invoicing'), |
|
404 | + 'desc' => __('Please enter your PayPal account\'s email address. Ex: [email protected]', 'invoicing'), |
|
405 | + 'std' => __('[email protected]', 'invoicing'), |
|
406 | 406 | ); |
407 | 407 | /* |
408 | 408 | $setting['paypal_ipn_url'] = array( |
@@ -416,116 +416,116 @@ discard block |
||
416 | 416 | |
417 | 417 | return $setting; |
418 | 418 | } |
419 | -add_filter( 'wpinv_gateway_settings_paypal', 'wpinv_gateway_settings_paypal', 10, 1 ); |
|
419 | +add_filter('wpinv_gateway_settings_paypal', 'wpinv_gateway_settings_paypal', 10, 1); |
|
420 | 420 | |
421 | 421 | // Pre Bank Transfer settings |
422 | -function wpinv_gateway_settings_bank_transfer( $setting ) { |
|
423 | - $setting['bank_transfer_desc']['std'] = __( 'Make your payment directly into our bank account. Please use your Invoice ID as the payment reference. Your invoice won\'t be processed until the funds have cleared in our account.', 'invoicing' ); |
|
422 | +function wpinv_gateway_settings_bank_transfer($setting) { |
|
423 | + $setting['bank_transfer_desc']['std'] = __('Make your payment directly into our bank account. Please use your Invoice ID as the payment reference. Your invoice won\'t be processed until the funds have cleared in our account.', 'invoicing'); |
|
424 | 424 | |
425 | 425 | $setting['bank_transfer_ac_name'] = array( |
426 | 426 | 'type' => 'text', |
427 | 427 | 'id' => 'bank_transfer_ac_name', |
428 | - 'name' => __( 'Account Name', 'invoicing' ), |
|
429 | - 'desc' => __( 'Enter the bank account name to which you want to transfer payment.', 'invoicing' ), |
|
430 | - 'std' => __( 'Mr. John Martin', 'invoicing' ), |
|
428 | + 'name' => __('Account Name', 'invoicing'), |
|
429 | + 'desc' => __('Enter the bank account name to which you want to transfer payment.', 'invoicing'), |
|
430 | + 'std' => __('Mr. John Martin', 'invoicing'), |
|
431 | 431 | ); |
432 | 432 | |
433 | 433 | $setting['bank_transfer_ac_no'] = array( |
434 | 434 | 'type' => 'text', |
435 | 435 | 'id' => 'bank_transfer_ac_no', |
436 | - 'name' => __( 'Account Number', 'invoicing' ), |
|
437 | - 'desc' => __( 'Enter your bank account number.', 'invoicing' ), |
|
438 | - 'std' => __( 'TEST1234567890', 'invoicing' ), |
|
436 | + 'name' => __('Account Number', 'invoicing'), |
|
437 | + 'desc' => __('Enter your bank account number.', 'invoicing'), |
|
438 | + 'std' => __('TEST1234567890', 'invoicing'), |
|
439 | 439 | ); |
440 | 440 | |
441 | 441 | $setting['bank_transfer_bank_name'] = array( |
442 | 442 | 'type' => 'text', |
443 | 443 | 'id' => 'bank_transfer_bank_name', |
444 | - 'name' => __( 'Bank Name', 'invoicing' ), |
|
445 | - 'desc' => __( 'Enter the bank name to which you want to transfer payment.', 'invoicing' ), |
|
446 | - 'std' => __( 'ICICI Bank', 'invoicing' ), |
|
444 | + 'name' => __('Bank Name', 'invoicing'), |
|
445 | + 'desc' => __('Enter the bank name to which you want to transfer payment.', 'invoicing'), |
|
446 | + 'std' => __('ICICI Bank', 'invoicing'), |
|
447 | 447 | ); |
448 | 448 | |
449 | 449 | $setting['bank_transfer_ifsc'] = array( |
450 | 450 | 'type' => 'text', |
451 | 451 | 'id' => 'bank_transfer_ifsc', |
452 | - 'name' => __( 'IFSC code', 'invoicing' ), |
|
453 | - 'desc' => __( 'Enter your bank IFSC code.', 'invoicing' ), |
|
454 | - 'std' => __( 'ICIC0001234', 'invoicing' ), |
|
452 | + 'name' => __('IFSC code', 'invoicing'), |
|
453 | + 'desc' => __('Enter your bank IFSC code.', 'invoicing'), |
|
454 | + 'std' => __('ICIC0001234', 'invoicing'), |
|
455 | 455 | ); |
456 | 456 | |
457 | 457 | $setting['bank_transfer_iban'] = array( |
458 | 458 | 'type' => 'text', |
459 | 459 | 'id' => 'bank_transfer_iban', |
460 | - 'name' => __( 'IBAN', 'invoicing' ), |
|
461 | - 'desc' => __( 'Enter your International Bank Account Number(IBAN).', 'invoicing' ), |
|
462 | - 'std' => __( 'GB29NWBK60161331926819', 'invoicing' ), |
|
460 | + 'name' => __('IBAN', 'invoicing'), |
|
461 | + 'desc' => __('Enter your International Bank Account Number(IBAN).', 'invoicing'), |
|
462 | + 'std' => __('GB29NWBK60161331926819', 'invoicing'), |
|
463 | 463 | ); |
464 | 464 | |
465 | 465 | $setting['bank_transfer_bic'] = array( |
466 | 466 | 'type' => 'text', |
467 | 467 | 'id' => 'bank_transfer_bic', |
468 | - 'name' => __( 'BIC/Swift code', 'invoicing' ), |
|
469 | - 'std' => __( 'ICICGB2L129', 'invoicing' ), |
|
468 | + 'name' => __('BIC/Swift code', 'invoicing'), |
|
469 | + 'std' => __('ICICGB2L129', 'invoicing'), |
|
470 | 470 | ); |
471 | 471 | |
472 | 472 | $setting['bank_transfer_info'] = array( |
473 | 473 | 'id' => 'bank_transfer_info', |
474 | - 'name' => __( 'Instructions', 'invoicing' ), |
|
475 | - 'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ), |
|
474 | + 'name' => __('Instructions', 'invoicing'), |
|
475 | + 'desc' => __('Instructions that will be added to the thank you page and emails.', 'invoicing'), |
|
476 | 476 | 'type' => 'textarea', |
477 | - 'std' => __( 'Make your payment directly into our bank account. Please use your Invoice ID as the payment reference. Your invoice won\'t be processed until the funds have cleared in our account.', 'invoicing' ), |
|
477 | + 'std' => __('Make your payment directly into our bank account. Please use your Invoice ID as the payment reference. Your invoice won\'t be processed until the funds have cleared in our account.', 'invoicing'), |
|
478 | 478 | 'cols' => 37, |
479 | 479 | 'rows' => 5 |
480 | 480 | ); |
481 | 481 | |
482 | 482 | return $setting; |
483 | 483 | } |
484 | -add_filter( 'wpinv_gateway_settings_bank_transfer', 'wpinv_gateway_settings_bank_transfer', 10, 1 ); |
|
484 | +add_filter('wpinv_gateway_settings_bank_transfer', 'wpinv_gateway_settings_bank_transfer', 10, 1); |
|
485 | 485 | |
486 | 486 | // Authorize.Net settings |
487 | -function wpinv_gateway_settings_authorizenet( $setting ) { |
|
488 | - $setting['authorizenet_active']['desc'] = $setting['authorizenet_active']['desc'] . ' ' . __( '( currencies supported: AUD, CAD, CHF, DKK, EUR, GBP, JPY, NOK, NZD, PLN, SEK, USD, ZAR )', 'invoicing' ); |
|
489 | - $setting['authorizenet_desc']['std'] = __( 'Pay using a Authorize.Net to process credit card / debit card transactions.', 'invoicing' ); |
|
487 | +function wpinv_gateway_settings_authorizenet($setting) { |
|
488 | + $setting['authorizenet_active']['desc'] = $setting['authorizenet_active']['desc'] . ' ' . __('( currencies supported: AUD, CAD, CHF, DKK, EUR, GBP, JPY, NOK, NZD, PLN, SEK, USD, ZAR )', 'invoicing'); |
|
489 | + $setting['authorizenet_desc']['std'] = __('Pay using a Authorize.Net to process credit card / debit card transactions.', 'invoicing'); |
|
490 | 490 | |
491 | 491 | $setting['authorizenet_sandbox'] = array( |
492 | 492 | 'type' => 'checkbox', |
493 | 493 | 'id' => 'authorizenet_sandbox', |
494 | - 'name' => __( 'Authorize.Net Test Mode', 'invoicing' ), |
|
495 | - 'desc' => __( 'Enable Authorize.Net test mode to test payments.', 'invoicing' ), |
|
494 | + 'name' => __('Authorize.Net Test Mode', 'invoicing'), |
|
495 | + 'desc' => __('Enable Authorize.Net test mode to test payments.', 'invoicing'), |
|
496 | 496 | 'std' => 1 |
497 | 497 | ); |
498 | 498 | |
499 | 499 | $setting['authorizenet_login_id'] = array( |
500 | 500 | 'type' => 'text', |
501 | 501 | 'id' => 'authorizenet_login_id', |
502 | - 'name' => __( 'API Login ID', 'invoicing' ), |
|
503 | - 'desc' => __( 'API Login ID can be obtained from Authorize.Net Account > Settings > Security Settings > General Security Settings > API Credentials & Keys. Example : 2j4rBekUnD', 'invoicing' ), |
|
502 | + 'name' => __('API Login ID', 'invoicing'), |
|
503 | + 'desc' => __('API Login ID can be obtained from Authorize.Net Account > Settings > Security Settings > General Security Settings > API Credentials & Keys. Example : 2j4rBekUnD', 'invoicing'), |
|
504 | 504 | 'std' => '2j4rBekUnD', |
505 | 505 | ); |
506 | 506 | |
507 | 507 | $setting['authorizenet_transaction_key'] = array( |
508 | 508 | 'type' => 'text', |
509 | 509 | 'id' => 'authorizenet_transaction_key', |
510 | - 'name' => __( 'Transaction Key', 'invoicing' ), |
|
511 | - 'desc' => __( 'Transaction Key can be obtained from Authorize.Net Account > Settings > Security Settings > General Security Settings > API Credentials & Keys. Example : 4vyBUOJgR74679xa', 'invoicing' ), |
|
510 | + 'name' => __('Transaction Key', 'invoicing'), |
|
511 | + 'desc' => __('Transaction Key can be obtained from Authorize.Net Account > Settings > Security Settings > General Security Settings > API Credentials & Keys. Example : 4vyBUOJgR74679xa', 'invoicing'), |
|
512 | 512 | 'std' => '4vyBUOJgR74679xa', |
513 | 513 | ); |
514 | 514 | |
515 | 515 | $setting['authorizenet_md5_hash'] = array( |
516 | 516 | 'type' => 'text', |
517 | 517 | 'id' => 'authorizenet_md5_hash', |
518 | - 'name' => __( 'MD5-Hash', 'invoicing' ), |
|
519 | - 'desc' => __( 'The MD5 Hash security feature allows you to authenticate transaction responses from the Authorize.Net. If you are accepting recurring payments then md5 hash will helps to validate response from Authorize.net. It can be obtained from Authorize.Net Account > Settings > Security Settings > General Settings > MD5 Hash.', 'invoicing' ), |
|
518 | + 'name' => __('MD5-Hash', 'invoicing'), |
|
519 | + 'desc' => __('The MD5 Hash security feature allows you to authenticate transaction responses from the Authorize.Net. If you are accepting recurring payments then md5 hash will helps to validate response from Authorize.net. It can be obtained from Authorize.Net Account > Settings > Security Settings > General Settings > MD5 Hash.', 'invoicing'), |
|
520 | 520 | 'std' => '', |
521 | 521 | ); |
522 | 522 | |
523 | 523 | $setting['authorizenet_ipn_url'] = array( |
524 | 524 | 'type' => 'ipn_url', |
525 | 525 | 'id' => 'authorizenet_ipn_url', |
526 | - 'name' => __( 'Silent Post URL', 'invoicing' ), |
|
527 | - 'std' => wpinv_get_ipn_url( 'authorizenet' ), |
|
528 | - 'desc' => __( 'If you are accepting recurring payments then you must set this url at Authorize.Net Account > Settings > Transaction Format Settings > Transaction Response Settings > Silent Post URL.', 'invoicing' ), |
|
526 | + 'name' => __('Silent Post URL', 'invoicing'), |
|
527 | + 'std' => wpinv_get_ipn_url('authorizenet'), |
|
528 | + 'desc' => __('If you are accepting recurring payments then you must set this url at Authorize.Net Account > Settings > Transaction Format Settings > Transaction Response Settings > Silent Post URL.', 'invoicing'), |
|
529 | 529 | 'size' => 'large', |
530 | 530 | 'custom' => 'authorizenet', |
531 | 531 | 'readonly' => true |
@@ -533,25 +533,25 @@ discard block |
||
533 | 533 | |
534 | 534 | return $setting; |
535 | 535 | } |
536 | -add_filter( 'wpinv_gateway_settings_authorizenet', 'wpinv_gateway_settings_authorizenet', 10, 1 ); |
|
536 | +add_filter('wpinv_gateway_settings_authorizenet', 'wpinv_gateway_settings_authorizenet', 10, 1); |
|
537 | 537 | |
538 | 538 | // Worldpay settings |
539 | -function wpinv_gateway_settings_worldpay( $setting ) { |
|
540 | - $setting['worldpay_desc']['std'] = __( 'Pay using a Worldpay account to process credit card / debit card transactions.', 'invoicing' ); |
|
539 | +function wpinv_gateway_settings_worldpay($setting) { |
|
540 | + $setting['worldpay_desc']['std'] = __('Pay using a Worldpay account to process credit card / debit card transactions.', 'invoicing'); |
|
541 | 541 | |
542 | 542 | $setting['worldpay_sandbox'] = array( |
543 | 543 | 'type' => 'checkbox', |
544 | 544 | 'id' => 'worldpay_sandbox', |
545 | - 'name' => __( 'Worldpay Test Mode', 'invoicing' ), |
|
546 | - 'desc' => __( 'This provides a special Test Environment to enable you to test your installation and integration to your website before going live.', 'invoicing' ), |
|
545 | + 'name' => __('Worldpay Test Mode', 'invoicing'), |
|
546 | + 'desc' => __('This provides a special Test Environment to enable you to test your installation and integration to your website before going live.', 'invoicing'), |
|
547 | 547 | 'std' => 1 |
548 | 548 | ); |
549 | 549 | |
550 | 550 | $setting['worldpay_instId'] = array( |
551 | 551 | 'type' => 'text', |
552 | 552 | 'id' => 'worldpay_instId', |
553 | - 'name' => __( 'Installation Id', 'invoicing' ), |
|
554 | - 'desc' => __( 'Your installation id. Ex: 211616', 'invoicing' ), |
|
553 | + 'name' => __('Installation Id', 'invoicing'), |
|
554 | + 'desc' => __('Your installation id. Ex: 211616', 'invoicing'), |
|
555 | 555 | 'std' => '211616', |
556 | 556 | ); |
557 | 557 | /* |
@@ -567,9 +567,9 @@ discard block |
||
567 | 567 | $setting['worldpay_ipn_url'] = array( |
568 | 568 | 'type' => 'ipn_url', |
569 | 569 | 'id' => 'worldpay_ipn_url', |
570 | - 'name' => __( 'Worldpay Callback Url', 'invoicing' ), |
|
571 | - 'std' => wpinv_get_ipn_url( 'worldpay' ), |
|
572 | - 'desc' => wp_sprintf( __( 'Login to your Worldpay Merchant Interface then enable Payment Response & Shopper Response. Next, go to the Payment Response URL field and type "%s" or "%s" for a dynamic payment response.', 'invoicing' ), '<font style="color:#000;font-style:normal">' . wpinv_get_ipn_url( 'worldpay' ) . '</font>', '<font style="color:#000;font-style:normal"><wpdisplay item=MC_callback></font>' ), |
|
570 | + 'name' => __('Worldpay Callback Url', 'invoicing'), |
|
571 | + 'std' => wpinv_get_ipn_url('worldpay'), |
|
572 | + 'desc' => wp_sprintf(__('Login to your Worldpay Merchant Interface then enable Payment Response & Shopper Response. Next, go to the Payment Response URL field and type "%s" or "%s" for a dynamic payment response.', 'invoicing'), '<font style="color:#000;font-style:normal">' . wpinv_get_ipn_url('worldpay') . '</font>', '<font style="color:#000;font-style:normal"><wpdisplay item=MC_callback></font>'), |
|
573 | 573 | 'size' => 'large', |
574 | 574 | 'custom' => 'worldpay', |
575 | 575 | 'readonly' => true |
@@ -577,94 +577,94 @@ discard block |
||
577 | 577 | |
578 | 578 | return $setting; |
579 | 579 | } |
580 | -add_filter( 'wpinv_gateway_settings_worldpay', 'wpinv_gateway_settings_worldpay', 10, 1 ); |
|
580 | +add_filter('wpinv_gateway_settings_worldpay', 'wpinv_gateway_settings_worldpay', 10, 1); |
|
581 | 581 | |
582 | -function wpinv_ipn_url_callback( $args ) { |
|
583 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
582 | +function wpinv_ipn_url_callback($args) { |
|
583 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
584 | 584 | |
585 | 585 | $attrs = $args['readonly'] ? ' readonly' : ''; |
586 | 586 | |
587 | - $html = '<input style="background-color:#fefefe" type="text" ' . $attrs . ' value="' . esc_attr( $args['std'] ) . '" name="wpinv_settings[' . $sanitize_id . ']" id="wpinv_settings[' . $sanitize_id . ']" class="large-text">'; |
|
588 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']">' . $args['desc'] . '</label>'; |
|
587 | + $html = '<input style="background-color:#fefefe" type="text" ' . $attrs . ' value="' . esc_attr($args['std']) . '" name="wpinv_settings[' . $sanitize_id . ']" id="wpinv_settings[' . $sanitize_id . ']" class="large-text">'; |
|
588 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']">' . $args['desc'] . '</label>'; |
|
589 | 589 | |
590 | 590 | echo $html; |
591 | 591 | } |
592 | 592 | |
593 | -function wpinv_is_test_mode( $gateway = '' ) { |
|
594 | - if ( empty( $gateway ) ) { |
|
593 | +function wpinv_is_test_mode($gateway = '') { |
|
594 | + if (empty($gateway)) { |
|
595 | 595 | return false; |
596 | 596 | } |
597 | 597 | |
598 | - $is_test_mode = wpinv_get_option( $gateway . '_sandbox', false ); |
|
598 | + $is_test_mode = wpinv_get_option($gateway . '_sandbox', false); |
|
599 | 599 | |
600 | - return apply_filters( 'wpinv_is_test_mode', $is_test_mode, $gateway ); |
|
600 | + return apply_filters('wpinv_is_test_mode', $is_test_mode, $gateway); |
|
601 | 601 | } |
602 | 602 | |
603 | -function wpinv_get_ipn_url( $gateway = '', $args = array() ) { |
|
604 | - $data = array( 'wpi-listener' => 'IPN' ); |
|
603 | +function wpinv_get_ipn_url($gateway = '', $args = array()) { |
|
604 | + $data = array('wpi-listener' => 'IPN'); |
|
605 | 605 | |
606 | - if ( !empty( $gateway ) ) { |
|
607 | - $data['wpi-gateway'] = wpinv_sanitize_key( $gateway ); |
|
606 | + if (!empty($gateway)) { |
|
607 | + $data['wpi-gateway'] = wpinv_sanitize_key($gateway); |
|
608 | 608 | } |
609 | 609 | |
610 | - $args = !empty( $args ) && is_array( $args ) ? array_merge( $data, $args ) : $data; |
|
610 | + $args = !empty($args) && is_array($args) ? array_merge($data, $args) : $data; |
|
611 | 611 | |
612 | - $ipn_url = add_query_arg( $args, home_url( 'index.php' ) ); |
|
612 | + $ipn_url = add_query_arg($args, home_url('index.php')); |
|
613 | 613 | |
614 | - return apply_filters( 'wpinv_ipn_url', $ipn_url ); |
|
614 | + return apply_filters('wpinv_ipn_url', $ipn_url); |
|
615 | 615 | } |
616 | 616 | |
617 | 617 | function wpinv_listen_for_payment_ipn() { |
618 | 618 | // Regular PayPal IPN |
619 | - if ( isset( $_GET['wpi-listener'] ) && $_GET['wpi-listener'] == 'IPN' ) { |
|
620 | - do_action( 'wpinv_verify_payment_ipn' ); |
|
619 | + if (isset($_GET['wpi-listener']) && $_GET['wpi-listener'] == 'IPN') { |
|
620 | + do_action('wpinv_verify_payment_ipn'); |
|
621 | 621 | |
622 | - if ( !empty( $_GET['wpi-gateway'] ) ) { |
|
623 | - wpinv_error_log( sanitize_text_field( $_GET['wpi-gateway'] ), 'wpinv_listen_for_payment_ipn()', __FILE__, __LINE__ ); |
|
624 | - do_action( 'wpinv_verify_' . sanitize_text_field( $_GET['wpi-gateway'] ) . '_ipn' ); |
|
622 | + if (!empty($_GET['wpi-gateway'])) { |
|
623 | + wpinv_error_log(sanitize_text_field($_GET['wpi-gateway']), 'wpinv_listen_for_payment_ipn()', __FILE__, __LINE__); |
|
624 | + do_action('wpinv_verify_' . sanitize_text_field($_GET['wpi-gateway']) . '_ipn'); |
|
625 | 625 | } |
626 | 626 | } |
627 | 627 | } |
628 | -add_action( 'init', 'wpinv_listen_for_payment_ipn' ); |
|
628 | +add_action('init', 'wpinv_listen_for_payment_ipn'); |
|
629 | 629 | |
630 | 630 | function wpinv_get_bank_instructions() { |
631 | - $bank_instructions = wpinv_get_option( 'bank_transfer_info' ); |
|
631 | + $bank_instructions = wpinv_get_option('bank_transfer_info'); |
|
632 | 632 | |
633 | - return apply_filters( 'wpinv_bank_instructions', $bank_instructions ); |
|
633 | + return apply_filters('wpinv_bank_instructions', $bank_instructions); |
|
634 | 634 | } |
635 | 635 | |
636 | -function wpinv_get_bank_info( $filtered = false ) { |
|
636 | +function wpinv_get_bank_info($filtered = false) { |
|
637 | 637 | $bank_fields = array( |
638 | - 'bank_transfer_ac_name' => __( 'Account Name', 'invoicing' ), |
|
639 | - 'bank_transfer_ac_no' => __( 'Account Number', 'invoicing' ), |
|
640 | - 'bank_transfer_bank_name' => __( 'Bank Name', 'invoicing' ), |
|
641 | - 'bank_transfer_ifsc' => __( 'IFSC code', 'invoicing' ), |
|
642 | - 'bank_transfer_iban' => __( 'IBAN', 'invoicing' ), |
|
643 | - 'bank_transfer_bic' => __( 'BIC/Swift code', 'invoicing' ) |
|
638 | + 'bank_transfer_ac_name' => __('Account Name', 'invoicing'), |
|
639 | + 'bank_transfer_ac_no' => __('Account Number', 'invoicing'), |
|
640 | + 'bank_transfer_bank_name' => __('Bank Name', 'invoicing'), |
|
641 | + 'bank_transfer_ifsc' => __('IFSC code', 'invoicing'), |
|
642 | + 'bank_transfer_iban' => __('IBAN', 'invoicing'), |
|
643 | + 'bank_transfer_bic' => __('BIC/Swift code', 'invoicing') |
|
644 | 644 | ); |
645 | 645 | |
646 | 646 | $bank_info = array(); |
647 | - foreach ( $bank_fields as $field => $label ) { |
|
648 | - if ( $filtered && !( $value = wpinv_get_option( $field ) ) ) { |
|
647 | + foreach ($bank_fields as $field => $label) { |
|
648 | + if ($filtered && !($value = wpinv_get_option($field))) { |
|
649 | 649 | continue; |
650 | 650 | } |
651 | 651 | |
652 | - $bank_info[$field] = array( 'label' => $label, 'value' => $value ); |
|
652 | + $bank_info[$field] = array('label' => $label, 'value' => $value); |
|
653 | 653 | } |
654 | 654 | |
655 | - return apply_filters( 'wpinv_bank_info', $bank_info, $filtered ); |
|
655 | + return apply_filters('wpinv_bank_info', $bank_info, $filtered); |
|
656 | 656 | } |
657 | 657 | |
658 | -function wpinv_process_before_send_to_gateway( $invoice, $invoice_data = array() ) { |
|
659 | - if ( !empty( $invoice ) && $invoice->is_recurring() && $subscription_item = $invoice->get_recurring( true ) ) { |
|
658 | +function wpinv_process_before_send_to_gateway($invoice, $invoice_data = array()) { |
|
659 | + if (!empty($invoice) && $invoice->is_recurring() && $subscription_item = $invoice->get_recurring(true)) { |
|
660 | 660 | $args = array(); |
661 | 661 | $args['item_id'] = $subscription_item->ID; |
662 | - $args['initial_amount'] = wpinv_round_amount( $invoice->get_total() ); |
|
663 | - $args['recurring_amount'] = wpinv_round_amount( $invoice->get_recurring_details( 'total' ) ); |
|
662 | + $args['initial_amount'] = wpinv_round_amount($invoice->get_total()); |
|
663 | + $args['recurring_amount'] = wpinv_round_amount($invoice->get_recurring_details('total')); |
|
664 | 664 | $args['currency'] = $invoice->get_currency(); |
665 | 665 | $args['period'] = $subscription_item->get_recurring_period(); |
666 | 666 | $args['interval'] = $subscription_item->get_recurring_interval(); |
667 | - if ( $subscription_item->has_free_trial() ) { |
|
667 | + if ($subscription_item->has_free_trial()) { |
|
668 | 668 | $args['trial_period'] = $subscription_item->get_trial_period(); |
669 | 669 | $args['trial_interval'] = $subscription_item->get_trial_interval(); |
670 | 670 | } else { |
@@ -673,25 +673,25 @@ discard block |
||
673 | 673 | } |
674 | 674 | $args['bill_times'] = (int)$subscription_item->get_recurring_limit(); |
675 | 675 | |
676 | - $invoice->update_subscription( $args ); |
|
676 | + $invoice->update_subscription($args); |
|
677 | 677 | } |
678 | 678 | } |
679 | -add_action( 'wpinv_checkout_before_send_to_gateway', 'wpinv_process_before_send_to_gateway', 10, 2 ); |
|
679 | +add_action('wpinv_checkout_before_send_to_gateway', 'wpinv_process_before_send_to_gateway', 10, 2); |
|
680 | 680 | |
681 | -function wpinv_get_post_data( $method = 'request' ) { |
|
681 | +function wpinv_get_post_data($method = 'request') { |
|
682 | 682 | $data = array(); |
683 | 683 | $request = $_REQUEST; |
684 | 684 | |
685 | - if ( $method == 'post' ) { |
|
686 | - if ( isset( $_SERVER['REQUEST_METHOD'] ) && $_SERVER['REQUEST_METHOD'] != 'POST' ) { |
|
685 | + if ($method == 'post') { |
|
686 | + if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] != 'POST') { |
|
687 | 687 | return $data; |
688 | 688 | } |
689 | 689 | |
690 | 690 | $request = $_POST; |
691 | 691 | } |
692 | 692 | |
693 | - if ( $method == 'get' ) { |
|
694 | - if ( isset( $_SERVER['REQUEST_METHOD'] ) && $_SERVER['REQUEST_METHOD'] != 'GET' ) { |
|
693 | + if ($method == 'get') { |
|
694 | + if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] != 'GET') { |
|
695 | 695 | return $data; |
696 | 696 | } |
697 | 697 | |
@@ -702,11 +702,11 @@ discard block |
||
702 | 702 | $post_data = ''; |
703 | 703 | |
704 | 704 | // Fallback just in case post_max_size is lower than needed |
705 | - if ( ini_get( 'allow_url_fopen' ) ) { |
|
706 | - $post_data = file_get_contents( 'php://input' ); |
|
705 | + if (ini_get('allow_url_fopen')) { |
|
706 | + $post_data = file_get_contents('php://input'); |
|
707 | 707 | } else { |
708 | 708 | // If allow_url_fopen is not enabled, then make sure that post_max_size is large enough |
709 | - ini_set( 'post_max_size', '12M' ); |
|
709 | + ini_set('post_max_size', '12M'); |
|
710 | 710 | } |
711 | 711 | // Start the encoded data collection with notification command |
712 | 712 | $encoded_data = 'cmd=_notify-validate'; |
@@ -715,58 +715,58 @@ discard block |
||
715 | 715 | $arg_separator = wpinv_get_php_arg_separator_output(); |
716 | 716 | |
717 | 717 | // Verify there is a post_data |
718 | - if ( $post_data || strlen( $post_data ) > 0 ) { |
|
718 | + if ($post_data || strlen($post_data) > 0) { |
|
719 | 719 | // Append the data |
720 | 720 | $encoded_data .= $arg_separator . $post_data; |
721 | 721 | } else { |
722 | 722 | // Check if POST is empty |
723 | - if ( empty( $request ) ) { |
|
723 | + if (empty($request)) { |
|
724 | 724 | // Nothing to do |
725 | 725 | return; |
726 | 726 | } else { |
727 | 727 | // Loop through each POST |
728 | - foreach ( $request as $key => $value ) { |
|
728 | + foreach ($request as $key => $value) { |
|
729 | 729 | // Encode the value and append the data |
730 | - $encoded_data .= $arg_separator . "$key=" . urlencode( $value ); |
|
730 | + $encoded_data .= $arg_separator . "$key=" . urlencode($value); |
|
731 | 731 | } |
732 | 732 | } |
733 | 733 | } |
734 | 734 | |
735 | 735 | // Convert collected post data to an array |
736 | - parse_str( $encoded_data, $data ); |
|
736 | + parse_str($encoded_data, $data); |
|
737 | 737 | |
738 | - foreach ( $data as $key => $value ) { |
|
739 | - if ( false !== strpos( $key, 'amp;' ) ) { |
|
740 | - $new_key = str_replace( '&', '&', $key ); |
|
741 | - $new_key = str_replace( 'amp;', '&' , $new_key ); |
|
738 | + foreach ($data as $key => $value) { |
|
739 | + if (false !== strpos($key, 'amp;')) { |
|
740 | + $new_key = str_replace('&', '&', $key); |
|
741 | + $new_key = str_replace('amp;', '&', $new_key); |
|
742 | 742 | |
743 | - unset( $data[ $key ] ); |
|
744 | - $data[ $new_key ] = sanitize_text_field( $value ); |
|
743 | + unset($data[$key]); |
|
744 | + $data[$new_key] = sanitize_text_field($value); |
|
745 | 745 | } |
746 | 746 | } |
747 | 747 | |
748 | 748 | return $data; |
749 | 749 | } |
750 | 750 | |
751 | -function wpinv_gateway_support_subscription( $gateway ) { |
|
751 | +function wpinv_gateway_support_subscription($gateway) { |
|
752 | 752 | $return = false; |
753 | 753 | |
754 | - if ( wpinv_is_gateway_active( $gateway ) ) { |
|
755 | - $return = apply_filters( 'wpinv_' . $gateway . '_support_subscription', false ); |
|
754 | + if (wpinv_is_gateway_active($gateway)) { |
|
755 | + $return = apply_filters('wpinv_' . $gateway . '_support_subscription', false); |
|
756 | 756 | } |
757 | 757 | |
758 | 758 | return $return; |
759 | 759 | } |
760 | 760 | |
761 | -function wpinv_payment_gateways_on_cart( $gateways = array() ) { |
|
762 | - if ( !empty( $gateways ) && wpinv_cart_has_recurring_item() ) { |
|
763 | - foreach ( $gateways as $gateway => $info ) { |
|
764 | - if ( !wpinv_gateway_support_subscription( $gateway ) ) { |
|
765 | - unset( $gateways[$gateway] ); |
|
761 | +function wpinv_payment_gateways_on_cart($gateways = array()) { |
|
762 | + if (!empty($gateways) && wpinv_cart_has_recurring_item()) { |
|
763 | + foreach ($gateways as $gateway => $info) { |
|
764 | + if (!wpinv_gateway_support_subscription($gateway)) { |
|
765 | + unset($gateways[$gateway]); |
|
766 | 766 | } |
767 | 767 | } |
768 | 768 | } |
769 | 769 | |
770 | 770 | return $gateways; |
771 | 771 | } |
772 | -add_filter( 'wpinv_payment_gateways_on_cart', 'wpinv_payment_gateways_on_cart', 10, 1 ); |
|
773 | 772 | \ No newline at end of file |
773 | +add_filter('wpinv_payment_gateways_on_cart', 'wpinv_payment_gateways_on_cart', 10, 1); |
|
774 | 774 | \ No newline at end of file |