@@ -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(); |
@@ -32,31 +32,31 @@ discard block |
||
| 32 | 32 | } |
| 33 | 33 | |
| 34 | 34 | public function define_constants() { |
| 35 | - define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) ); |
|
| 36 | - define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) ); |
|
| 35 | + define('WPINV_PLUGIN_DIR', plugin_dir_path(WPINV_PLUGIN_FILE)); |
|
| 36 | + define('WPINV_PLUGIN_URL', plugin_dir_url(WPINV_PLUGIN_FILE)); |
|
| 37 | 37 | } |
| 38 | 38 | |
| 39 | 39 | private function actions() { |
| 40 | 40 | /* Internationalize the text strings used. */ |
| 41 | - add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) ); |
|
| 41 | + add_action('plugins_loaded', array(&$this, 'plugins_loaded')); |
|
| 42 | 42 | |
| 43 | 43 | /* Perform actions on admin initialization. */ |
| 44 | - add_action( 'admin_init', array( &$this, 'admin_init') ); |
|
| 45 | - add_action( 'init', array( &$this, 'init' ), 3 ); |
|
| 46 | - add_action( 'init', array( &$this, 'wpinv_actions' ) ); |
|
| 44 | + add_action('admin_init', array(&$this, 'admin_init')); |
|
| 45 | + add_action('init', array(&$this, 'init'), 3); |
|
| 46 | + add_action('init', array(&$this, 'wpinv_actions')); |
|
| 47 | 47 | |
| 48 | - if ( class_exists( 'BuddyPress' ) ) { |
|
| 49 | - add_action( 'bp_include', array( &$this, 'bp_invoicing_init' ) ); |
|
| 48 | + if (class_exists('BuddyPress')) { |
|
| 49 | + add_action('bp_include', array(&$this, 'bp_invoicing_init')); |
|
| 50 | 50 | } |
| 51 | 51 | |
| 52 | - add_action( 'wp_enqueue_scripts', array( &$this, 'enqueue_scripts' ) ); |
|
| 53 | - add_action( 'widgets_init', array( &$this, 'register_widgets' ) ); |
|
| 52 | + add_action('wp_enqueue_scripts', array(&$this, 'enqueue_scripts')); |
|
| 53 | + add_action('widgets_init', array(&$this, 'register_widgets')); |
|
| 54 | 54 | |
| 55 | - if ( is_admin() ) { |
|
| 56 | - add_action( 'admin_enqueue_scripts', array( &$this, 'admin_enqueue_scripts' ) ); |
|
| 57 | - add_action( 'admin_body_class', array( &$this, 'admin_body_class' ) ); |
|
| 55 | + if (is_admin()) { |
|
| 56 | + add_action('admin_enqueue_scripts', array(&$this, 'admin_enqueue_scripts')); |
|
| 57 | + add_action('admin_body_class', array(&$this, 'admin_body_class')); |
|
| 58 | 58 | } else { |
| 59 | - add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) ); |
|
| 59 | + add_filter('pre_get_posts', array(&$this, 'pre_get_posts')); |
|
| 60 | 60 | } |
| 61 | 61 | |
| 62 | 62 | /** |
@@ -66,19 +66,19 @@ discard block |
||
| 66 | 66 | * |
| 67 | 67 | * @param WPInv_Plugin $this. Current WPInv_Plugin instance. Passed by reference. |
| 68 | 68 | */ |
| 69 | - do_action_ref_array( 'wpinv_actions', array( &$this ) ); |
|
| 69 | + do_action_ref_array('wpinv_actions', array(&$this)); |
|
| 70 | 70 | |
| 71 | - add_action( 'admin_init', array( &$this, 'activation_redirect') ); |
|
| 71 | + add_action('admin_init', array(&$this, 'activation_redirect')); |
|
| 72 | 72 | } |
| 73 | 73 | |
| 74 | 74 | public function plugins_loaded() { |
| 75 | 75 | /* Internationalize the text strings used. */ |
| 76 | 76 | $this->load_textdomain(); |
| 77 | 77 | |
| 78 | - do_action( 'wpinv_loaded' ); |
|
| 78 | + do_action('wpinv_loaded'); |
|
| 79 | 79 | |
| 80 | 80 | // Fix oxygen page builder conflict |
| 81 | - if ( function_exists( 'ct_css_output' ) ) { |
|
| 81 | + if (function_exists('ct_css_output')) { |
|
| 82 | 82 | wpinv_oxygen_fix_conflict(); |
| 83 | 83 | } |
| 84 | 84 | } |
@@ -88,228 +88,228 @@ discard block |
||
| 88 | 88 | * |
| 89 | 89 | * @since 1.0 |
| 90 | 90 | */ |
| 91 | - public function load_textdomain( $locale = NULL ) { |
|
| 92 | - if ( empty( $locale ) ) { |
|
| 93 | - $locale = is_admin() && function_exists( 'get_user_locale' ) ? get_user_locale() : get_locale(); |
|
| 91 | + public function load_textdomain($locale = NULL) { |
|
| 92 | + if (empty($locale)) { |
|
| 93 | + $locale = is_admin() && function_exists('get_user_locale') ? get_user_locale() : get_locale(); |
|
| 94 | 94 | } |
| 95 | 95 | |
| 96 | - $locale = apply_filters( 'plugin_locale', $locale, 'invoicing' ); |
|
| 96 | + $locale = apply_filters('plugin_locale', $locale, 'invoicing'); |
|
| 97 | 97 | |
| 98 | - unload_textdomain( 'invoicing' ); |
|
| 99 | - load_textdomain( 'invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo' ); |
|
| 100 | - load_plugin_textdomain( 'invoicing', false, WPINV_PLUGIN_DIR . 'languages' ); |
|
| 98 | + unload_textdomain('invoicing'); |
|
| 99 | + load_textdomain('invoicing', WP_LANG_DIR . '/invoicing/invoicing-' . $locale . '.mo'); |
|
| 100 | + load_plugin_textdomain('invoicing', false, WPINV_PLUGIN_DIR . 'languages'); |
|
| 101 | 101 | |
| 102 | 102 | /** |
| 103 | 103 | * Define language constants. |
| 104 | 104 | */ |
| 105 | - require_once( WPINV_PLUGIN_DIR . 'language.php' ); |
|
| 105 | + require_once(WPINV_PLUGIN_DIR . 'language.php'); |
|
| 106 | 106 | } |
| 107 | 107 | |
| 108 | 108 | public function includes() { |
| 109 | 109 | global $wpinv_options; |
| 110 | 110 | |
| 111 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php' ); |
|
| 111 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php'); |
|
| 112 | 112 | $wpinv_options = wpinv_get_settings(); |
| 113 | 113 | |
| 114 | - require_once( WPINV_PLUGIN_DIR . 'vendor/autoload.php' ); |
|
| 115 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php' ); |
|
| 116 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php' ); |
|
| 117 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php' ); |
|
| 118 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php' ); |
|
| 119 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php' ); |
|
| 120 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php' ); |
|
| 121 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-invoice-functions.php' ); |
|
| 122 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php' ); |
|
| 123 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php' ); |
|
| 124 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php' ); |
|
| 125 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php' ); |
|
| 126 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-user-functions.php' ); |
|
| 127 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-error-functions.php' ); |
|
| 128 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-post-types.php' ); |
|
| 129 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-invoice.php' ); |
|
| 130 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-item.php' ); |
|
| 131 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-notes.php' ); |
|
| 132 | - require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php' ); |
|
| 133 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php' ); |
|
| 134 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php' ); |
|
| 135 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php' ); |
|
| 136 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-reports.php' ); |
|
| 137 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php' ); |
|
| 138 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php' ); |
|
| 139 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' ); |
|
| 140 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php' ); |
|
| 141 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions.php' ); |
|
| 142 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php' ); |
|
| 143 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-subscriptions-list-table.php' ); |
|
| 144 | - require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php' ); |
|
| 145 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php' ); |
|
| 146 | - require_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php' ); |
|
| 147 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php' ); |
|
| 148 | - require_once( WPINV_PLUGIN_DIR . 'widgets/checkout.php' ); |
|
| 149 | - require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-history.php' ); |
|
| 150 | - require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php' ); |
|
| 151 | - require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php' ); |
|
| 152 | - require_once( WPINV_PLUGIN_DIR . 'widgets/subscriptions.php' ); |
|
| 153 | - require_once( WPINV_PLUGIN_DIR . 'widgets/buy-item.php' ); |
|
| 154 | - |
|
| 155 | - if ( !class_exists( 'WPInv_EUVat' ) ) { |
|
| 156 | - require_once( WPINV_PLUGIN_DIR . 'includes/libraries/wpinv-euvat/class-wpinv-euvat.php' ); |
|
| 114 | + require_once(WPINV_PLUGIN_DIR . 'vendor/autoload.php'); |
|
| 115 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php'); |
|
| 116 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php'); |
|
| 117 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php'); |
|
| 118 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php'); |
|
| 119 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php'); |
|
| 120 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php'); |
|
| 121 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-invoice-functions.php'); |
|
| 122 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php'); |
|
| 123 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php'); |
|
| 124 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php'); |
|
| 125 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php'); |
|
| 126 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-user-functions.php'); |
|
| 127 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-error-functions.php'); |
|
| 128 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-post-types.php'); |
|
| 129 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-invoice.php'); |
|
| 130 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-item.php'); |
|
| 131 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-notes.php'); |
|
| 132 | + require_once(WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php'); |
|
| 133 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php'); |
|
| 134 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php'); |
|
| 135 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php'); |
|
| 136 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-reports.php'); |
|
| 137 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php'); |
|
| 138 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php'); |
|
| 139 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php'); |
|
| 140 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php'); |
|
| 141 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions.php'); |
|
| 142 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php'); |
|
| 143 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-subscriptions-list-table.php'); |
|
| 144 | + require_once(WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php'); |
|
| 145 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php'); |
|
| 146 | + require_once(WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php'); |
|
| 147 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php'); |
|
| 148 | + require_once(WPINV_PLUGIN_DIR . 'widgets/checkout.php'); |
|
| 149 | + require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-history.php'); |
|
| 150 | + require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php'); |
|
| 151 | + require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php'); |
|
| 152 | + require_once(WPINV_PLUGIN_DIR . 'widgets/subscriptions.php'); |
|
| 153 | + require_once(WPINV_PLUGIN_DIR . 'widgets/buy-item.php'); |
|
| 154 | + |
|
| 155 | + if (!class_exists('WPInv_EUVat')) { |
|
| 156 | + require_once(WPINV_PLUGIN_DIR . 'includes/libraries/wpinv-euvat/class-wpinv-euvat.php'); |
|
| 157 | 157 | } |
| 158 | 158 | |
| 159 | - $gateways = array_keys( wpinv_get_enabled_payment_gateways() ); |
|
| 160 | - if ( !empty( $gateways ) ) { |
|
| 161 | - foreach ( $gateways as $gateway ) { |
|
| 162 | - if ( $gateway == 'manual' ) { |
|
| 159 | + $gateways = array_keys(wpinv_get_enabled_payment_gateways()); |
|
| 160 | + if (!empty($gateways)) { |
|
| 161 | + foreach ($gateways as $gateway) { |
|
| 162 | + if ($gateway == 'manual') { |
|
| 163 | 163 | continue; |
| 164 | 164 | } |
| 165 | 165 | |
| 166 | 166 | $gateway_file = WPINV_PLUGIN_DIR . 'includes/gateways/' . $gateway . '.php'; |
| 167 | 167 | |
| 168 | - if ( file_exists( $gateway_file ) ) { |
|
| 169 | - require_once( $gateway_file ); |
|
| 168 | + if (file_exists($gateway_file)) { |
|
| 169 | + require_once($gateway_file); |
|
| 170 | 170 | } |
| 171 | 171 | } |
| 172 | 172 | } |
| 173 | - require_once( WPINV_PLUGIN_DIR . 'includes/gateways/manual.php' ); |
|
| 173 | + require_once(WPINV_PLUGIN_DIR . 'includes/gateways/manual.php'); |
|
| 174 | 174 | |
| 175 | - if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) { |
|
| 176 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-upgrade-functions.php' ); |
|
| 177 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php' ); |
|
| 178 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-meta-boxes.php' ); |
|
| 175 | + if (is_admin() || (defined('WP_CLI') && WP_CLI)) { |
|
| 176 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/wpinv-upgrade-functions.php'); |
|
| 177 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php'); |
|
| 178 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/admin-meta-boxes.php'); |
|
| 179 | 179 | //require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-recurring-admin.php' ); |
| 180 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-details.php' ); |
|
| 181 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-items.php' ); |
|
| 182 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php' ); |
|
| 183 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-address.php' ); |
|
| 184 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php' ); |
|
| 185 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php' ); |
|
| 186 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php' ); |
|
| 180 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-details.php'); |
|
| 181 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-items.php'); |
|
| 182 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php'); |
|
| 183 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-address.php'); |
|
| 184 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php'); |
|
| 185 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php'); |
|
| 186 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php'); |
|
| 187 | 187 | //require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' ); |
| 188 | 188 | // load the user class only on the users.php page |
| 189 | 189 | global $pagenow; |
| 190 | - if($pagenow=='users.php'){ |
|
| 190 | + if ($pagenow == 'users.php') { |
|
| 191 | 191 | new WPInv_Admin_Users(); |
| 192 | 192 | } |
| 193 | 193 | } |
| 194 | 194 | |
| 195 | 195 | // Register cli commands |
| 196 | - if ( defined( 'WP_CLI' ) && WP_CLI ) { |
|
| 197 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php' ); |
|
| 198 | - WP_CLI::add_command( 'invoicing', 'WPInv_CLI' ); |
|
| 196 | + if (defined('WP_CLI') && WP_CLI) { |
|
| 197 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php'); |
|
| 198 | + WP_CLI::add_command('invoicing', 'WPInv_CLI'); |
|
| 199 | 199 | } |
| 200 | 200 | |
| 201 | 201 | // include css inliner |
| 202 | - if ( ! class_exists( 'Emogrifier' ) && class_exists( 'DOMDocument' ) ) { |
|
| 203 | - include_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-emogrifier.php' ); |
|
| 202 | + if (!class_exists('Emogrifier') && class_exists('DOMDocument')) { |
|
| 203 | + include_once(WPINV_PLUGIN_DIR . 'includes/libraries/class-emogrifier.php'); |
|
| 204 | 204 | } |
| 205 | 205 | |
| 206 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/install.php' ); |
|
| 206 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/install.php'); |
|
| 207 | 207 | } |
| 208 | 208 | |
| 209 | 209 | public function init() { |
| 210 | 210 | } |
| 211 | 211 | |
| 212 | 212 | public function admin_init() { |
| 213 | - add_action( 'admin_print_scripts-edit.php', array( &$this, 'admin_print_scripts_edit_php' ) ); |
|
| 213 | + add_action('admin_print_scripts-edit.php', array(&$this, 'admin_print_scripts_edit_php')); |
|
| 214 | 214 | } |
| 215 | 215 | |
| 216 | 216 | public function activation_redirect() { |
| 217 | 217 | // Bail if no activation redirect |
| 218 | - if ( !get_transient( '_wpinv_activation_redirect' ) ) { |
|
| 218 | + if (!get_transient('_wpinv_activation_redirect')) { |
|
| 219 | 219 | return; |
| 220 | 220 | } |
| 221 | 221 | |
| 222 | 222 | // Delete the redirect transient |
| 223 | - delete_transient( '_wpinv_activation_redirect' ); |
|
| 223 | + delete_transient('_wpinv_activation_redirect'); |
|
| 224 | 224 | |
| 225 | 225 | // Bail if activating from network, or bulk |
| 226 | - if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) { |
|
| 226 | + if (is_network_admin() || isset($_GET['activate-multi'])) { |
|
| 227 | 227 | return; |
| 228 | 228 | } |
| 229 | 229 | |
| 230 | - wp_safe_redirect( admin_url( 'admin.php?page=wpinv-settings&tab=general' ) ); |
|
| 230 | + wp_safe_redirect(admin_url('admin.php?page=wpinv-settings&tab=general')); |
|
| 231 | 231 | exit; |
| 232 | 232 | } |
| 233 | 233 | |
| 234 | 234 | public function enqueue_scripts() { |
| 235 | - $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; |
|
| 235 | + $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; |
|
| 236 | 236 | |
| 237 | - wp_register_style( 'wpinv_front_style', WPINV_PLUGIN_URL . 'assets/css/invoice-front.css', array(), WPINV_VERSION ); |
|
| 238 | - wp_enqueue_style( 'wpinv_front_style' ); |
|
| 237 | + wp_register_style('wpinv_front_style', WPINV_PLUGIN_URL . 'assets/css/invoice-front.css', array(), WPINV_VERSION); |
|
| 238 | + wp_enqueue_style('wpinv_front_style'); |
|
| 239 | 239 | |
| 240 | 240 | // Register scripts |
| 241 | - wp_register_script( 'jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array( 'jquery' ), '2.70', true ); |
|
| 242 | - wp_register_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/invoice-front.js', array( 'jquery' ), WPINV_VERSION ); |
|
| 241 | + wp_register_script('jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array('jquery'), '2.70', true); |
|
| 242 | + wp_register_script('wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/invoice-front.js', array('jquery'), WPINV_VERSION); |
|
| 243 | 243 | |
| 244 | 244 | $localize = array(); |
| 245 | - $localize['ajax_url'] = admin_url( 'admin-ajax.php' ); |
|
| 246 | - $localize['nonce'] = wp_create_nonce( 'wpinv-nonce' ); |
|
| 245 | + $localize['ajax_url'] = admin_url('admin-ajax.php'); |
|
| 246 | + $localize['nonce'] = wp_create_nonce('wpinv-nonce'); |
|
| 247 | 247 | $localize['currency_symbol'] = wpinv_currency_symbol(); |
| 248 | 248 | $localize['currency_pos'] = wpinv_currency_position(); |
| 249 | 249 | $localize['thousand_sep'] = wpinv_thousands_separator(); |
| 250 | 250 | $localize['decimal_sep'] = wpinv_decimal_separator(); |
| 251 | 251 | $localize['decimals'] = wpinv_decimals(); |
| 252 | - $localize['txtComplete'] = __( 'Complete', 'invoicing' ); |
|
| 252 | + $localize['txtComplete'] = __('Complete', 'invoicing'); |
|
| 253 | 253 | $localize['UseTaxes'] = wpinv_use_taxes(); |
| 254 | - $localize['checkoutNonce'] = wp_create_nonce( 'wpinv_checkout_nonce' ); |
|
| 254 | + $localize['checkoutNonce'] = wp_create_nonce('wpinv_checkout_nonce'); |
|
| 255 | 255 | |
| 256 | - $localize = apply_filters( 'wpinv_front_js_localize', $localize ); |
|
| 256 | + $localize = apply_filters('wpinv_front_js_localize', $localize); |
|
| 257 | 257 | |
| 258 | - wp_enqueue_script( 'jquery-blockui' ); |
|
| 258 | + wp_enqueue_script('jquery-blockui'); |
|
| 259 | 259 | $autofill_api = wpinv_get_option('address_autofill_api'); |
| 260 | 260 | $autofill_active = wpinv_get_option('address_autofill_active'); |
| 261 | - if ( isset( $autofill_active ) && 1 == $autofill_active && !empty( $autofill_api ) && wpinv_is_checkout() ) { |
|
| 262 | - if ( wp_script_is( 'google-maps-api', 'enqueued' ) ) { |
|
| 263 | - wp_dequeue_script( 'google-maps-api' ); |
|
| 261 | + if (isset($autofill_active) && 1 == $autofill_active && !empty($autofill_api) && wpinv_is_checkout()) { |
|
| 262 | + if (wp_script_is('google-maps-api', 'enqueued')) { |
|
| 263 | + wp_dequeue_script('google-maps-api'); |
|
| 264 | 264 | } |
| 265 | - wp_enqueue_script( 'google-maps-api', 'https://maps.googleapis.com/maps/api/js?key=' . $autofill_api . '&libraries=places', array( 'jquery' ), '', false ); |
|
| 266 | - wp_enqueue_script( 'google-maps-init', WPINV_PLUGIN_URL . 'assets/js/gaaf.js', array( 'jquery', 'google-maps-api' ), '', true ); |
|
| 265 | + wp_enqueue_script('google-maps-api', 'https://maps.googleapis.com/maps/api/js?key=' . $autofill_api . '&libraries=places', array('jquery'), '', false); |
|
| 266 | + wp_enqueue_script('google-maps-init', WPINV_PLUGIN_URL . 'assets/js/gaaf.js', array('jquery', 'google-maps-api'), '', true); |
|
| 267 | 267 | } |
| 268 | 268 | |
| 269 | - wp_enqueue_style( "select2", WPINV_PLUGIN_URL . 'assets/css/select2/select2.css', array(), WPINV_VERSION, 'all' ); |
|
| 270 | - wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full' . $suffix . '.js', array( 'jquery' ), WPINV_VERSION ); |
|
| 269 | + wp_enqueue_style("select2", WPINV_PLUGIN_URL . 'assets/css/select2/select2.css', array(), WPINV_VERSION, 'all'); |
|
| 270 | + wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full' . $suffix . '.js', array('jquery'), WPINV_VERSION); |
|
| 271 | 271 | |
| 272 | - wp_enqueue_script( 'wpinv-front-script' ); |
|
| 273 | - wp_localize_script( 'wpinv-front-script', 'WPInv', $localize ); |
|
| 272 | + wp_enqueue_script('wpinv-front-script'); |
|
| 273 | + wp_localize_script('wpinv-front-script', 'WPInv', $localize); |
|
| 274 | 274 | } |
| 275 | 275 | |
| 276 | 276 | public function admin_enqueue_scripts() { |
| 277 | 277 | global $post, $pagenow; |
| 278 | 278 | |
| 279 | 279 | $post_type = wpinv_admin_post_type(); |
| 280 | - $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; |
|
| 281 | - $page = isset( $_GET['page'] ) ? strtolower( $_GET['page'] ) : ''; |
|
| 280 | + $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; |
|
| 281 | + $page = isset($_GET['page']) ? strtolower($_GET['page']) : ''; |
|
| 282 | 282 | |
| 283 | 283 | $jquery_ui_css = false; |
| 284 | - if ( ( $post_type == 'wpi_invoice' || $post_type == 'wpi_quote' || $post_type == 'wpi_discount' ) && ( $pagenow == 'post-new.php' || $pagenow == 'post.php' ) ) { |
|
| 284 | + if (($post_type == 'wpi_invoice' || $post_type == 'wpi_quote' || $post_type == 'wpi_discount') && ($pagenow == 'post-new.php' || $pagenow == 'post.php')) { |
|
| 285 | 285 | $jquery_ui_css = true; |
| 286 | - } else if ( $page == 'wpinv-settings' || $page == 'wpinv-reports' ) { |
|
| 286 | + } else if ($page == 'wpinv-settings' || $page == 'wpinv-reports') { |
|
| 287 | 287 | $jquery_ui_css = true; |
| 288 | 288 | } |
| 289 | - if ( $jquery_ui_css ) { |
|
| 290 | - wp_register_style( 'jquery-ui-css', WPINV_PLUGIN_URL . 'assets/css/jquery-ui' . $suffix . '.css', array(), '1.8.16' ); |
|
| 291 | - wp_enqueue_style( 'jquery-ui-css' ); |
|
| 289 | + if ($jquery_ui_css) { |
|
| 290 | + wp_register_style('jquery-ui-css', WPINV_PLUGIN_URL . 'assets/css/jquery-ui' . $suffix . '.css', array(), '1.8.16'); |
|
| 291 | + wp_enqueue_style('jquery-ui-css'); |
|
| 292 | 292 | } |
| 293 | 293 | |
| 294 | - wp_register_style( 'wpinv_meta_box_style', WPINV_PLUGIN_URL . 'assets/css/meta-box.css', array(), WPINV_VERSION ); |
|
| 295 | - wp_enqueue_style( 'wpinv_meta_box_style' ); |
|
| 294 | + wp_register_style('wpinv_meta_box_style', WPINV_PLUGIN_URL . 'assets/css/meta-box.css', array(), WPINV_VERSION); |
|
| 295 | + wp_enqueue_style('wpinv_meta_box_style'); |
|
| 296 | 296 | |
| 297 | - wp_register_style( 'wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array(), WPINV_VERSION ); |
|
| 298 | - wp_enqueue_style( 'wpinv_admin_style' ); |
|
| 297 | + wp_register_style('wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array(), WPINV_VERSION); |
|
| 298 | + wp_enqueue_style('wpinv_admin_style'); |
|
| 299 | 299 | |
| 300 | - $enqueue = ( $post_type == 'wpi_discount' || $post_type == 'wpi_invoice' && ( $pagenow == 'post-new.php' || $pagenow == 'post.php' ) ); |
|
| 301 | - if ( $page == 'wpinv-subscriptions' ) { |
|
| 302 | - wp_enqueue_script( 'jquery-ui-datepicker' ); |
|
| 300 | + $enqueue = ($post_type == 'wpi_discount' || $post_type == 'wpi_invoice' && ($pagenow == 'post-new.php' || $pagenow == 'post.php')); |
|
| 301 | + if ($page == 'wpinv-subscriptions') { |
|
| 302 | + wp_enqueue_script('jquery-ui-datepicker'); |
|
| 303 | 303 | } |
| 304 | 304 | |
| 305 | - if ( $enqueue_datepicker = apply_filters( 'wpinv_admin_enqueue_jquery_ui_datepicker', $enqueue ) ) { |
|
| 306 | - wp_enqueue_script( 'jquery-ui-datepicker' ); |
|
| 305 | + if ($enqueue_datepicker = apply_filters('wpinv_admin_enqueue_jquery_ui_datepicker', $enqueue)) { |
|
| 306 | + wp_enqueue_script('jquery-ui-datepicker'); |
|
| 307 | 307 | } |
| 308 | 308 | |
| 309 | - wp_enqueue_style( 'wp-color-picker' ); |
|
| 310 | - wp_enqueue_script( 'wp-color-picker' ); |
|
| 309 | + wp_enqueue_style('wp-color-picker'); |
|
| 310 | + wp_enqueue_script('wp-color-picker'); |
|
| 311 | 311 | |
| 312 | - wp_register_script( 'jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array( 'jquery' ), '2.70', true ); |
|
| 312 | + wp_register_script('jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array('jquery'), '2.70', true); |
|
| 313 | 313 | |
| 314 | 314 | if (($post_type == 'wpi_invoice' || $post_type == 'wpi_quote') && ($pagenow == 'post-new.php' || $pagenow == 'post.php')) { |
| 315 | 315 | $autofill_api = wpinv_get_option('address_autofill_api'); |
@@ -320,20 +320,20 @@ discard block |
||
| 320 | 320 | } |
| 321 | 321 | } |
| 322 | 322 | |
| 323 | - wp_enqueue_style( "select2", WPINV_PLUGIN_URL . 'assets/css/select2/select2.css', array(), WPINV_VERSION, 'all' ); |
|
| 324 | - wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full' . $suffix . '.js', array( 'jquery' ), WPINV_VERSION ); |
|
| 323 | + wp_enqueue_style("select2", WPINV_PLUGIN_URL . 'assets/css/select2/select2.css', array(), WPINV_VERSION, 'all'); |
|
| 324 | + wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full' . $suffix . '.js', array('jquery'), WPINV_VERSION); |
|
| 325 | 325 | |
| 326 | - wp_register_script( 'wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin.js', array( 'jquery', 'jquery-blockui','jquery-ui-tooltip' ), WPINV_VERSION ); |
|
| 327 | - wp_enqueue_script( 'wpinv-admin-script' ); |
|
| 326 | + wp_register_script('wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin.js', array('jquery', 'jquery-blockui', 'jquery-ui-tooltip'), WPINV_VERSION); |
|
| 327 | + wp_enqueue_script('wpinv-admin-script'); |
|
| 328 | 328 | |
| 329 | 329 | $localize = array(); |
| 330 | - $localize['ajax_url'] = admin_url( 'admin-ajax.php' ); |
|
| 331 | - $localize['post_ID'] = isset( $post->ID ) ? $post->ID : ''; |
|
| 332 | - $localize['wpinv_nonce'] = wp_create_nonce( 'wpinv-nonce' ); |
|
| 333 | - $localize['add_invoice_note_nonce'] = wp_create_nonce( 'add-invoice-note' ); |
|
| 334 | - $localize['delete_invoice_note_nonce'] = wp_create_nonce( 'delete-invoice-note' ); |
|
| 335 | - $localize['invoice_item_nonce'] = wp_create_nonce( 'invoice-item' ); |
|
| 336 | - $localize['billing_details_nonce'] = wp_create_nonce( 'get-billing-details' ); |
|
| 330 | + $localize['ajax_url'] = admin_url('admin-ajax.php'); |
|
| 331 | + $localize['post_ID'] = isset($post->ID) ? $post->ID : ''; |
|
| 332 | + $localize['wpinv_nonce'] = wp_create_nonce('wpinv-nonce'); |
|
| 333 | + $localize['add_invoice_note_nonce'] = wp_create_nonce('add-invoice-note'); |
|
| 334 | + $localize['delete_invoice_note_nonce'] = wp_create_nonce('delete-invoice-note'); |
|
| 335 | + $localize['invoice_item_nonce'] = wp_create_nonce('invoice-item'); |
|
| 336 | + $localize['billing_details_nonce'] = wp_create_nonce('get-billing-details'); |
|
| 337 | 337 | $localize['tax'] = wpinv_tax_amount(); |
| 338 | 338 | $localize['discount'] = wpinv_discount_amount(); |
| 339 | 339 | $localize['currency_symbol'] = wpinv_currency_symbol(); |
@@ -341,69 +341,69 @@ discard block |
||
| 341 | 341 | $localize['thousand_sep'] = wpinv_thousands_separator(); |
| 342 | 342 | $localize['decimal_sep'] = wpinv_decimal_separator(); |
| 343 | 343 | $localize['decimals'] = wpinv_decimals(); |
| 344 | - $localize['save_invoice'] = __( 'Save Invoice', 'invoicing' ); |
|
| 345 | - $localize['status_publish'] = wpinv_status_nicename( 'publish' ); |
|
| 346 | - $localize['status_pending'] = wpinv_status_nicename( 'wpi-pending' ); |
|
| 347 | - $localize['delete_tax_rate'] = __( 'Are you sure you wish to delete this tax rate?', 'invoicing' ); |
|
| 348 | - $localize['OneItemMin'] = __( 'Invoice must contain at least one item', 'invoicing' ); |
|
| 349 | - $localize['DeleteInvoiceItem'] = __( 'Are you sure you wish to delete this item?', 'invoicing' ); |
|
| 350 | - $localize['FillBillingDetails'] = __( 'Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing' ); |
|
| 351 | - $localize['confirmCalcTotals'] = __( 'Recalculate totals? This will recalculate totals based on the user billing country. If no billing country is set it will use the base country.', 'invoicing' ); |
|
| 352 | - $localize['AreYouSure'] = __( 'Are you sure?', 'invoicing' ); |
|
| 353 | - $localize['emptyInvoice'] = __( 'Add at least one item to save invoice!', 'invoicing' ); |
|
| 354 | - $localize['errDeleteItem'] = __( 'This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing' ); |
|
| 355 | - $localize['delete_subscription'] = __( 'Are you sure you want to delete this subscription?', 'invoicing' ); |
|
| 356 | - $localize['action_edit'] = __( 'Edit', 'invoicing' ); |
|
| 357 | - $localize['action_cancel'] = __( 'Cancel', 'invoicing' ); |
|
| 358 | - |
|
| 359 | - $localize = apply_filters( 'wpinv_admin_js_localize', $localize ); |
|
| 360 | - |
|
| 361 | - wp_localize_script( 'wpinv-admin-script', 'WPInv_Admin', $localize ); |
|
| 362 | - |
|
| 363 | - if ( $page == 'wpinv-subscriptions' ) { |
|
| 364 | - wp_register_script( 'wpinv-sub-admin-script', WPINV_PLUGIN_URL . 'assets/js/subscriptions.js', array( 'wpinv-admin-script' ), WPINV_VERSION ); |
|
| 365 | - wp_enqueue_script( 'wpinv-sub-admin-script' ); |
|
| 344 | + $localize['save_invoice'] = __('Save Invoice', 'invoicing'); |
|
| 345 | + $localize['status_publish'] = wpinv_status_nicename('publish'); |
|
| 346 | + $localize['status_pending'] = wpinv_status_nicename('wpi-pending'); |
|
| 347 | + $localize['delete_tax_rate'] = __('Are you sure you wish to delete this tax rate?', 'invoicing'); |
|
| 348 | + $localize['OneItemMin'] = __('Invoice must contain at least one item', 'invoicing'); |
|
| 349 | + $localize['DeleteInvoiceItem'] = __('Are you sure you wish to delete this item?', 'invoicing'); |
|
| 350 | + $localize['FillBillingDetails'] = __('Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing'); |
|
| 351 | + $localize['confirmCalcTotals'] = __('Recalculate totals? This will recalculate totals based on the user billing country. If no billing country is set it will use the base country.', 'invoicing'); |
|
| 352 | + $localize['AreYouSure'] = __('Are you sure?', 'invoicing'); |
|
| 353 | + $localize['emptyInvoice'] = __('Add at least one item to save invoice!', 'invoicing'); |
|
| 354 | + $localize['errDeleteItem'] = __('This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing'); |
|
| 355 | + $localize['delete_subscription'] = __('Are you sure you want to delete this subscription?', 'invoicing'); |
|
| 356 | + $localize['action_edit'] = __('Edit', 'invoicing'); |
|
| 357 | + $localize['action_cancel'] = __('Cancel', 'invoicing'); |
|
| 358 | + |
|
| 359 | + $localize = apply_filters('wpinv_admin_js_localize', $localize); |
|
| 360 | + |
|
| 361 | + wp_localize_script('wpinv-admin-script', 'WPInv_Admin', $localize); |
|
| 362 | + |
|
| 363 | + if ($page == 'wpinv-subscriptions') { |
|
| 364 | + wp_register_script('wpinv-sub-admin-script', WPINV_PLUGIN_URL . 'assets/js/subscriptions.js', array('wpinv-admin-script'), WPINV_VERSION); |
|
| 365 | + wp_enqueue_script('wpinv-sub-admin-script'); |
|
| 366 | 366 | } |
| 367 | 367 | } |
| 368 | 368 | |
| 369 | - public function admin_body_class( $classes ) { |
|
| 369 | + public function admin_body_class($classes) { |
|
| 370 | 370 | global $pagenow, $post, $current_screen; |
| 371 | 371 | |
| 372 | - if ( !empty( $current_screen->post_type ) && ( $current_screen->post_type == 'wpi_invoice' || $current_screen->post_type == 'wpi_quote' ) ) { |
|
| 372 | + if (!empty($current_screen->post_type) && ($current_screen->post_type == 'wpi_invoice' || $current_screen->post_type == 'wpi_quote')) { |
|
| 373 | 373 | $classes .= ' wpinv-cpt'; |
| 374 | 374 | } |
| 375 | 375 | |
| 376 | - $page = isset( $_GET['page'] ) ? strtolower( $_GET['page'] ) : false; |
|
| 376 | + $page = isset($_GET['page']) ? strtolower($_GET['page']) : false; |
|
| 377 | 377 | |
| 378 | - $add_class = $page && $pagenow == 'admin.php' && strpos( $page, 'wpinv-' ) === 0 ? true : false; |
|
| 379 | - if ( $add_class ) { |
|
| 380 | - $classes .= ' wpi-' . wpinv_sanitize_key( $page ); |
|
| 378 | + $add_class = $page && $pagenow == 'admin.php' && strpos($page, 'wpinv-') === 0 ? true : false; |
|
| 379 | + if ($add_class) { |
|
| 380 | + $classes .= ' wpi-' . wpinv_sanitize_key($page); |
|
| 381 | 381 | } |
| 382 | 382 | |
| 383 | 383 | $settings_class = array(); |
| 384 | - if ( $page == 'wpinv-settings' ) { |
|
| 385 | - if ( !empty( $_REQUEST['tab'] ) ) { |
|
| 386 | - $settings_class[] = sanitize_text_field( $_REQUEST['tab'] ); |
|
| 384 | + if ($page == 'wpinv-settings') { |
|
| 385 | + if (!empty($_REQUEST['tab'])) { |
|
| 386 | + $settings_class[] = sanitize_text_field($_REQUEST['tab']); |
|
| 387 | 387 | } |
| 388 | 388 | |
| 389 | - if ( !empty( $_REQUEST['section'] ) ) { |
|
| 390 | - $settings_class[] = sanitize_text_field( $_REQUEST['section'] ); |
|
| 389 | + if (!empty($_REQUEST['section'])) { |
|
| 390 | + $settings_class[] = sanitize_text_field($_REQUEST['section']); |
|
| 391 | 391 | } |
| 392 | 392 | |
| 393 | - $settings_class[] = isset( $_REQUEST['wpi_sub'] ) && $_REQUEST['wpi_sub'] !== '' ? sanitize_text_field( $_REQUEST['wpi_sub'] ) : 'main'; |
|
| 393 | + $settings_class[] = isset($_REQUEST['wpi_sub']) && $_REQUEST['wpi_sub'] !== '' ? sanitize_text_field($_REQUEST['wpi_sub']) : 'main'; |
|
| 394 | 394 | } |
| 395 | 395 | |
| 396 | - if ( !empty( $settings_class ) ) { |
|
| 397 | - $classes .= ' wpi-' . wpinv_sanitize_key( implode( $settings_class, '-' ) ); |
|
| 396 | + if (!empty($settings_class)) { |
|
| 397 | + $classes .= ' wpi-' . wpinv_sanitize_key(implode($settings_class, '-')); |
|
| 398 | 398 | } |
| 399 | 399 | |
| 400 | 400 | $post_type = wpinv_admin_post_type(); |
| 401 | 401 | |
| 402 | - if ( $post_type == 'wpi_invoice' || $post_type == 'wpi_quote' || $add_class !== false ) { |
|
| 402 | + if ($post_type == 'wpi_invoice' || $post_type == 'wpi_quote' || $add_class !== false) { |
|
| 403 | 403 | return $classes .= ' wpinv'; |
| 404 | 404 | } |
| 405 | 405 | |
| 406 | - if ( $pagenow == 'post.php' && $post_type == 'wpi_item' && !empty( $post ) && !wpinv_item_is_editable( $post ) ) { |
|
| 406 | + if ($pagenow == 'post.php' && $post_type == 'wpi_item' && !empty($post) && !wpinv_item_is_editable($post)) { |
|
| 407 | 407 | $classes .= ' wpi-editable-n'; |
| 408 | 408 | } |
| 409 | 409 | |
@@ -415,21 +415,21 @@ discard block |
||
| 415 | 415 | } |
| 416 | 416 | |
| 417 | 417 | public function wpinv_actions() { |
| 418 | - if ( isset( $_REQUEST['wpi_action'] ) ) { |
|
| 419 | - do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST ); |
|
| 418 | + if (isset($_REQUEST['wpi_action'])) { |
|
| 419 | + do_action('wpinv_' . wpinv_sanitize_key($_REQUEST['wpi_action']), $_REQUEST); |
|
| 420 | 420 | } |
| 421 | 421 | } |
| 422 | 422 | |
| 423 | - public function pre_get_posts( $wp_query ) { |
|
| 424 | - if ( !empty( $wp_query->query_vars['post_type'] ) && $wp_query->query_vars['post_type'] == 'wpi_invoice' && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) { |
|
| 425 | - $wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses() ); |
|
| 423 | + public function pre_get_posts($wp_query) { |
|
| 424 | + if (!empty($wp_query->query_vars['post_type']) && $wp_query->query_vars['post_type'] == 'wpi_invoice' && is_user_logged_in() && is_single() && $wp_query->is_main_query()) { |
|
| 425 | + $wp_query->query_vars['post_status'] = array_keys(wpinv_get_invoice_statuses()); |
|
| 426 | 426 | } |
| 427 | 427 | |
| 428 | 428 | return $wp_query; |
| 429 | 429 | } |
| 430 | 430 | |
| 431 | 431 | public function bp_invoicing_init() { |
| 432 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-bp-core.php' ); |
|
| 432 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-bp-core.php'); |
|
| 433 | 433 | } |
| 434 | 434 | |
| 435 | 435 | /** |
@@ -437,11 +437,11 @@ discard block |
||
| 437 | 437 | * |
| 438 | 438 | */ |
| 439 | 439 | public function register_widgets() { |
| 440 | - register_widget( "WPInv_Checkout_Widget" ); |
|
| 441 | - register_widget( "WPInv_History_Widget" ); |
|
| 442 | - register_widget( "WPInv_Receipt_Widget" ); |
|
| 443 | - register_widget( "WPInv_Subscriptions_Widget" ); |
|
| 444 | - register_widget( "WPInv_Buy_Item_Widget" ); |
|
| 445 | - register_widget( "WPInv_Messages_Widget" ); |
|
| 440 | + register_widget("WPInv_Checkout_Widget"); |
|
| 441 | + register_widget("WPInv_History_Widget"); |
|
| 442 | + register_widget("WPInv_Receipt_Widget"); |
|
| 443 | + register_widget("WPInv_Subscriptions_Widget"); |
|
| 444 | + register_widget("WPInv_Buy_Item_Widget"); |
|
| 445 | + register_widget("WPInv_Messages_Widget"); |
|
| 446 | 446 | } |
| 447 | 447 | } |
| 448 | 448 | \ No newline at end of file |
@@ -7,91 +7,91 @@ 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 | -if ( !is_admin() ) { |
|
| 15 | - add_filter( 'template_include', 'wpinv_template', 10, 1 ); |
|
| 16 | - add_action( 'wpinv_invoice_print_body_start', 'wpinv_display_invoice_top_bar' ); |
|
| 17 | - add_action( 'wpinv_invoice_top_bar_left', 'wpinv_invoice_display_left_actions' ); |
|
| 18 | - add_action( 'wpinv_invoice_top_bar_right', 'wpinv_invoice_display_right_actions' ); |
|
| 14 | +if (!is_admin()) { |
|
| 15 | + add_filter('template_include', 'wpinv_template', 10, 1); |
|
| 16 | + add_action('wpinv_invoice_print_body_start', 'wpinv_display_invoice_top_bar'); |
|
| 17 | + add_action('wpinv_invoice_top_bar_left', 'wpinv_invoice_display_left_actions'); |
|
| 18 | + add_action('wpinv_invoice_top_bar_right', 'wpinv_invoice_display_right_actions'); |
|
| 19 | 19 | } |
| 20 | 20 | |
| 21 | 21 | function wpinv_template_path() { |
| 22 | - return apply_filters( 'wpinv_template_path', wpinv_get_theme_template_dir_name() ); |
|
| 22 | + return apply_filters('wpinv_template_path', wpinv_get_theme_template_dir_name()); |
|
| 23 | 23 | } |
| 24 | 24 | |
| 25 | -function wpinv_display_invoice_top_bar( $invoice ) { |
|
| 26 | - if ( empty( $invoice ) ) { |
|
| 25 | +function wpinv_display_invoice_top_bar($invoice) { |
|
| 26 | + if (empty($invoice)) { |
|
| 27 | 27 | return; |
| 28 | 28 | } |
| 29 | 29 | ?> |
| 30 | 30 | <div class="row wpinv-top-bar no-print"> |
| 31 | 31 | <div class="container"> |
| 32 | 32 | <div class="col-xs-6"> |
| 33 | - <?php do_action( 'wpinv_invoice_top_bar_left', $invoice );?> |
|
| 33 | + <?php do_action('wpinv_invoice_top_bar_left', $invoice); ?> |
|
| 34 | 34 | </div> |
| 35 | 35 | <div class="col-xs-6 text-right"> |
| 36 | - <?php do_action( 'wpinv_invoice_top_bar_right', $invoice );?> |
|
| 36 | + <?php do_action('wpinv_invoice_top_bar_right', $invoice); ?> |
|
| 37 | 37 | </div> |
| 38 | 38 | </div> |
| 39 | 39 | </div> |
| 40 | 40 | <?php |
| 41 | 41 | } |
| 42 | 42 | |
| 43 | -function wpinv_invoice_display_left_actions( $invoice ) { |
|
| 44 | - if ( empty( $invoice ) ) { |
|
| 43 | +function wpinv_invoice_display_left_actions($invoice) { |
|
| 44 | + if (empty($invoice)) { |
|
| 45 | 45 | return; // Exit if invoice is not set. |
| 46 | 46 | } |
| 47 | 47 | |
| 48 | - if ( $invoice->post_type == 'wpi_invoice' ) { |
|
| 49 | - if ( $invoice->needs_payment() ) { |
|
| 50 | - ?> <a class="btn btn-success btn-sm" title="<?php esc_attr_e( 'Pay This Invoice', 'invoicing' ); ?>" href="<?php echo esc_url( $invoice->get_checkout_payment_url() ); ?>"><?php _e( 'Pay For Invoice', 'invoicing' ); ?></a><?php |
|
| 48 | + if ($invoice->post_type == 'wpi_invoice') { |
|
| 49 | + if ($invoice->needs_payment()) { |
|
| 50 | + ?> <a class="btn btn-success btn-sm" title="<?php esc_attr_e('Pay This Invoice', 'invoicing'); ?>" href="<?php echo esc_url($invoice->get_checkout_payment_url()); ?>"><?php _e('Pay For Invoice', 'invoicing'); ?></a><?php |
|
| 51 | 51 | } |
| 52 | 52 | } |
| 53 | 53 | do_action('wpinv_invoice_display_left_actions', $invoice); |
| 54 | 54 | } |
| 55 | 55 | |
| 56 | -function wpinv_invoice_display_right_actions( $invoice ) { |
|
| 57 | - if ( empty( $invoice ) ) { |
|
| 56 | +function wpinv_invoice_display_right_actions($invoice) { |
|
| 57 | + if (empty($invoice)) { |
|
| 58 | 58 | return; // Exit if invoice is not set. |
| 59 | 59 | } |
| 60 | 60 | |
| 61 | - if ( $invoice->post_type == 'wpi_invoice' ) { ?> |
|
| 62 | - <a class="btn btn-primary btn-sm btn-print-invoice" onclick="window.print();" href="javascript:void(0)"><?php _e( 'Print Invoice', 'invoicing' ); ?></a> |
|
| 63 | - <?php if ( is_user_logged_in() ) { ?> |
|
| 64 | - <a class="btn btn-warning btn-sm btn-invoice-history" href="<?php echo esc_url( wpinv_get_history_page_uri() ); ?>"><?php _e( 'Invoice History', 'invoicing' ); ?></a> |
|
| 61 | + if ($invoice->post_type == 'wpi_invoice') { ?> |
|
| 62 | + <a class="btn btn-primary btn-sm btn-print-invoice" onclick="window.print();" href="javascript:void(0)"><?php _e('Print Invoice', 'invoicing'); ?></a> |
|
| 63 | + <?php if (is_user_logged_in()) { ?> |
|
| 64 | + <a class="btn btn-warning btn-sm btn-invoice-history" href="<?php echo esc_url(wpinv_get_history_page_uri()); ?>"><?php _e('Invoice History', 'invoicing'); ?></a> |
|
| 65 | 65 | <?php } |
| 66 | 66 | } |
| 67 | 67 | do_action('wpinv_invoice_display_right_actions', $invoice); |
| 68 | 68 | } |
| 69 | 69 | |
| 70 | -function wpinv_before_invoice_content( $content ) { |
|
| 70 | +function wpinv_before_invoice_content($content) { |
|
| 71 | 71 | global $post; |
| 72 | 72 | |
| 73 | - if ( !empty( $post ) && $post->post_type == 'wpi_invoice' && is_singular( 'wpi_invoice' ) && is_main_query() ) { |
|
| 73 | + if (!empty($post) && $post->post_type == 'wpi_invoice' && is_singular('wpi_invoice') && is_main_query()) { |
|
| 74 | 74 | ob_start(); |
| 75 | - do_action( 'wpinv_before_invoice_content', $post->ID ); |
|
| 75 | + do_action('wpinv_before_invoice_content', $post->ID); |
|
| 76 | 76 | $content = ob_get_clean() . $content; |
| 77 | 77 | } |
| 78 | 78 | |
| 79 | 79 | return $content; |
| 80 | 80 | } |
| 81 | -add_filter( 'the_content', 'wpinv_before_invoice_content' ); |
|
| 81 | +add_filter('the_content', 'wpinv_before_invoice_content'); |
|
| 82 | 82 | |
| 83 | -function wpinv_after_invoice_content( $content ) { |
|
| 83 | +function wpinv_after_invoice_content($content) { |
|
| 84 | 84 | global $post; |
| 85 | 85 | |
| 86 | - if ( !empty( $post ) && $post->post_type == 'wpi_invoice' && is_singular( 'wpi_invoice' ) && is_main_query() ) { |
|
| 86 | + if (!empty($post) && $post->post_type == 'wpi_invoice' && is_singular('wpi_invoice') && is_main_query()) { |
|
| 87 | 87 | ob_start(); |
| 88 | - do_action( 'wpinv_after_invoice_content', $post->ID ); |
|
| 88 | + do_action('wpinv_after_invoice_content', $post->ID); |
|
| 89 | 89 | $content .= ob_get_clean(); |
| 90 | 90 | } |
| 91 | 91 | |
| 92 | 92 | return $content; |
| 93 | 93 | } |
| 94 | -add_filter( 'the_content', 'wpinv_after_invoice_content' ); |
|
| 94 | +add_filter('the_content', 'wpinv_after_invoice_content'); |
|
| 95 | 95 | |
| 96 | 96 | function wpinv_get_templates_dir() { |
| 97 | 97 | return WPINV_PLUGIN_DIR . 'templates'; |
@@ -101,105 +101,105 @@ discard block |
||
| 101 | 101 | return WPINV_PLUGIN_URL . 'templates'; |
| 102 | 102 | } |
| 103 | 103 | |
| 104 | -function wpinv_get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) { |
|
| 105 | - if ( ! empty( $args ) && is_array( $args ) ) { |
|
| 106 | - extract( $args ); |
|
| 104 | +function wpinv_get_template($template_name, $args = array(), $template_path = '', $default_path = '') { |
|
| 105 | + if (!empty($args) && is_array($args)) { |
|
| 106 | + extract($args); |
|
| 107 | 107 | } |
| 108 | 108 | |
| 109 | - $located = wpinv_locate_template( $template_name, $template_path, $default_path ); |
|
| 109 | + $located = wpinv_locate_template($template_name, $template_path, $default_path); |
|
| 110 | 110 | // Allow 3rd party plugin filter template file from their plugin. |
| 111 | - $located = apply_filters( 'wpinv_get_template', $located, $template_name, $args, $template_path, $default_path ); |
|
| 111 | + $located = apply_filters('wpinv_get_template', $located, $template_name, $args, $template_path, $default_path); |
|
| 112 | 112 | |
| 113 | - if ( ! file_exists( $located ) ) { |
|
| 114 | - _doing_it_wrong( __FUNCTION__, sprintf( '<code>%s</code> does not exist.', $located ), '2.1' ); |
|
| 113 | + if (!file_exists($located)) { |
|
| 114 | + _doing_it_wrong(__FUNCTION__, sprintf('<code>%s</code> does not exist.', $located), '2.1'); |
|
| 115 | 115 | return; |
| 116 | 116 | } |
| 117 | 117 | |
| 118 | - do_action( 'wpinv_before_template_part', $template_name, $template_path, $located, $args ); |
|
| 118 | + do_action('wpinv_before_template_part', $template_name, $template_path, $located, $args); |
|
| 119 | 119 | |
| 120 | - include( $located ); |
|
| 120 | + include($located); |
|
| 121 | 121 | |
| 122 | - do_action( 'wpinv_after_template_part', $template_name, $template_path, $located, $args ); |
|
| 122 | + do_action('wpinv_after_template_part', $template_name, $template_path, $located, $args); |
|
| 123 | 123 | } |
| 124 | 124 | |
| 125 | -function wpinv_get_template_html( $template_name, $args = array(), $template_path = '', $default_path = '' ) { |
|
| 125 | +function wpinv_get_template_html($template_name, $args = array(), $template_path = '', $default_path = '') { |
|
| 126 | 126 | ob_start(); |
| 127 | - wpinv_get_template( $template_name, $args, $template_path, $default_path ); |
|
| 127 | + wpinv_get_template($template_name, $args, $template_path, $default_path); |
|
| 128 | 128 | return ob_get_clean(); |
| 129 | 129 | } |
| 130 | 130 | |
| 131 | -function wpinv_locate_template( $template_name, $template_path = '', $default_path = '' ) { |
|
| 132 | - if ( ! $template_path ) { |
|
| 131 | +function wpinv_locate_template($template_name, $template_path = '', $default_path = '') { |
|
| 132 | + if (!$template_path) { |
|
| 133 | 133 | $template_path = wpinv_template_path(); |
| 134 | 134 | } |
| 135 | 135 | |
| 136 | - if ( ! $default_path ) { |
|
| 136 | + if (!$default_path) { |
|
| 137 | 137 | $default_path = WPINV_PLUGIN_DIR . 'templates/'; |
| 138 | 138 | } |
| 139 | 139 | |
| 140 | 140 | // Look within passed path within the theme - this is priority. |
| 141 | 141 | $template = locate_template( |
| 142 | 142 | array( |
| 143 | - trailingslashit( $template_path ) . $template_name, |
|
| 143 | + trailingslashit($template_path) . $template_name, |
|
| 144 | 144 | $template_name |
| 145 | 145 | ) |
| 146 | 146 | ); |
| 147 | 147 | |
| 148 | 148 | // Get default templates/ |
| 149 | - if ( !$template && $default_path ) { |
|
| 150 | - $template = trailingslashit( $default_path ) . $template_name; |
|
| 149 | + if (!$template && $default_path) { |
|
| 150 | + $template = trailingslashit($default_path) . $template_name; |
|
| 151 | 151 | } |
| 152 | 152 | |
| 153 | 153 | // Return what we found. |
| 154 | - return apply_filters( 'wpinv_locate_template', $template, $template_name, $template_path ); |
|
| 154 | + return apply_filters('wpinv_locate_template', $template, $template_name, $template_path); |
|
| 155 | 155 | } |
| 156 | 156 | |
| 157 | -function wpinv_get_template_part( $slug, $name = null, $load = true ) { |
|
| 158 | - do_action( 'get_template_part_' . $slug, $slug, $name ); |
|
| 157 | +function wpinv_get_template_part($slug, $name = null, $load = true) { |
|
| 158 | + do_action('get_template_part_' . $slug, $slug, $name); |
|
| 159 | 159 | |
| 160 | 160 | // Setup possible parts |
| 161 | 161 | $templates = array(); |
| 162 | - if ( isset( $name ) ) |
|
| 162 | + if (isset($name)) |
|
| 163 | 163 | $templates[] = $slug . '-' . $name . '.php'; |
| 164 | 164 | $templates[] = $slug . '.php'; |
| 165 | 165 | |
| 166 | 166 | // Allow template parts to be filtered |
| 167 | - $templates = apply_filters( 'wpinv_get_template_part', $templates, $slug, $name ); |
|
| 167 | + $templates = apply_filters('wpinv_get_template_part', $templates, $slug, $name); |
|
| 168 | 168 | |
| 169 | 169 | // Return the part that is found |
| 170 | - return wpinv_locate_tmpl( $templates, $load, false ); |
|
| 170 | + return wpinv_locate_tmpl($templates, $load, false); |
|
| 171 | 171 | } |
| 172 | 172 | |
| 173 | -function wpinv_locate_tmpl( $template_names, $load = false, $require_once = true ) { |
|
| 173 | +function wpinv_locate_tmpl($template_names, $load = false, $require_once = true) { |
|
| 174 | 174 | // No file found yet |
| 175 | 175 | $located = false; |
| 176 | 176 | |
| 177 | 177 | // Try to find a template file |
| 178 | - foreach ( (array)$template_names as $template_name ) { |
|
| 178 | + foreach ((array)$template_names as $template_name) { |
|
| 179 | 179 | |
| 180 | 180 | // Continue if template is empty |
| 181 | - if ( empty( $template_name ) ) |
|
| 181 | + if (empty($template_name)) |
|
| 182 | 182 | continue; |
| 183 | 183 | |
| 184 | 184 | // Trim off any slashes from the template name |
| 185 | - $template_name = ltrim( $template_name, '/' ); |
|
| 185 | + $template_name = ltrim($template_name, '/'); |
|
| 186 | 186 | |
| 187 | 187 | // try locating this template file by looping through the template paths |
| 188 | - foreach( wpinv_get_theme_template_paths() as $template_path ) { |
|
| 188 | + foreach (wpinv_get_theme_template_paths() as $template_path) { |
|
| 189 | 189 | |
| 190 | - if( file_exists( $template_path . $template_name ) ) { |
|
| 190 | + if (file_exists($template_path . $template_name)) { |
|
| 191 | 191 | $located = $template_path . $template_name; |
| 192 | 192 | break; |
| 193 | 193 | } |
| 194 | 194 | } |
| 195 | 195 | |
| 196 | - if( !empty( $located ) ) { |
|
| 196 | + if (!empty($located)) { |
|
| 197 | 197 | break; |
| 198 | 198 | } |
| 199 | 199 | } |
| 200 | 200 | |
| 201 | - if ( ( true == $load ) && ! empty( $located ) ) |
|
| 202 | - load_template( $located, $require_once ); |
|
| 201 | + if ((true == $load) && !empty($located)) |
|
| 202 | + load_template($located, $require_once); |
|
| 203 | 203 | |
| 204 | 204 | return $located; |
| 205 | 205 | } |
@@ -208,159 +208,159 @@ discard block |
||
| 208 | 208 | $template_dir = wpinv_get_theme_template_dir_name(); |
| 209 | 209 | |
| 210 | 210 | $file_paths = array( |
| 211 | - 1 => trailingslashit( get_stylesheet_directory() ) . $template_dir, |
|
| 212 | - 10 => trailingslashit( get_template_directory() ) . $template_dir, |
|
| 211 | + 1 => trailingslashit(get_stylesheet_directory()) . $template_dir, |
|
| 212 | + 10 => trailingslashit(get_template_directory()) . $template_dir, |
|
| 213 | 213 | 100 => wpinv_get_templates_dir() |
| 214 | 214 | ); |
| 215 | 215 | |
| 216 | - $file_paths = apply_filters( 'wpinv_template_paths', $file_paths ); |
|
| 216 | + $file_paths = apply_filters('wpinv_template_paths', $file_paths); |
|
| 217 | 217 | |
| 218 | 218 | // sort the file paths based on priority |
| 219 | - ksort( $file_paths, SORT_NUMERIC ); |
|
| 219 | + ksort($file_paths, SORT_NUMERIC); |
|
| 220 | 220 | |
| 221 | - return array_map( 'trailingslashit', $file_paths ); |
|
| 221 | + return array_map('trailingslashit', $file_paths); |
|
| 222 | 222 | } |
| 223 | 223 | |
| 224 | 224 | function wpinv_get_theme_template_dir_name() { |
| 225 | - return trailingslashit( apply_filters( 'wpinv_templates_dir', 'invoicing' ) ); |
|
| 225 | + return trailingslashit(apply_filters('wpinv_templates_dir', 'invoicing')); |
|
| 226 | 226 | } |
| 227 | 227 | |
| 228 | 228 | function wpinv_checkout_meta_tags() { |
| 229 | 229 | |
| 230 | 230 | $pages = array(); |
| 231 | - $pages[] = wpinv_get_option( 'success_page' ); |
|
| 232 | - $pages[] = wpinv_get_option( 'failure_page' ); |
|
| 233 | - $pages[] = wpinv_get_option( 'invoice_history_page' ); |
|
| 234 | - $pages[] = wpinv_get_option( 'invoice_subscription_page' ); |
|
| 231 | + $pages[] = wpinv_get_option('success_page'); |
|
| 232 | + $pages[] = wpinv_get_option('failure_page'); |
|
| 233 | + $pages[] = wpinv_get_option('invoice_history_page'); |
|
| 234 | + $pages[] = wpinv_get_option('invoice_subscription_page'); |
|
| 235 | 235 | |
| 236 | - if( !wpinv_is_checkout() && !is_page( $pages ) ) { |
|
| 236 | + if (!wpinv_is_checkout() && !is_page($pages)) { |
|
| 237 | 237 | return; |
| 238 | 238 | } |
| 239 | 239 | |
| 240 | 240 | echo '<meta name="robots" content="noindex,nofollow" />' . "\n"; |
| 241 | 241 | } |
| 242 | -add_action( 'wp_head', 'wpinv_checkout_meta_tags' ); |
|
| 242 | +add_action('wp_head', 'wpinv_checkout_meta_tags'); |
|
| 243 | 243 | |
| 244 | -function wpinv_add_body_classes( $class ) { |
|
| 244 | +function wpinv_add_body_classes($class) { |
|
| 245 | 245 | $classes = (array)$class; |
| 246 | 246 | |
| 247 | - if( wpinv_is_checkout() ) { |
|
| 247 | + if (wpinv_is_checkout()) { |
|
| 248 | 248 | $classes[] = 'wpinv-checkout'; |
| 249 | 249 | $classes[] = 'wpinv-page'; |
| 250 | 250 | } |
| 251 | 251 | |
| 252 | - if( wpinv_is_success_page() ) { |
|
| 252 | + if (wpinv_is_success_page()) { |
|
| 253 | 253 | $classes[] = 'wpinv-success'; |
| 254 | 254 | $classes[] = 'wpinv-page'; |
| 255 | 255 | } |
| 256 | 256 | |
| 257 | - if( wpinv_is_failed_transaction_page() ) { |
|
| 257 | + if (wpinv_is_failed_transaction_page()) { |
|
| 258 | 258 | $classes[] = 'wpinv-failed-transaction'; |
| 259 | 259 | $classes[] = 'wpinv-page'; |
| 260 | 260 | } |
| 261 | 261 | |
| 262 | - if( wpinv_is_invoice_history_page() ) { |
|
| 262 | + if (wpinv_is_invoice_history_page()) { |
|
| 263 | 263 | $classes[] = 'wpinv-history'; |
| 264 | 264 | $classes[] = 'wpinv-page'; |
| 265 | 265 | } |
| 266 | 266 | |
| 267 | - if( wpinv_is_subscriptions_history_page() ) { |
|
| 267 | + if (wpinv_is_subscriptions_history_page()) { |
|
| 268 | 268 | $classes[] = 'wpinv-subscription'; |
| 269 | 269 | $classes[] = 'wpinv-page'; |
| 270 | 270 | } |
| 271 | 271 | |
| 272 | - if( wpinv_is_test_mode() ) { |
|
| 272 | + if (wpinv_is_test_mode()) { |
|
| 273 | 273 | $classes[] = 'wpinv-test-mode'; |
| 274 | 274 | $classes[] = 'wpinv-page'; |
| 275 | 275 | } |
| 276 | 276 | |
| 277 | - return array_unique( $classes ); |
|
| 277 | + return array_unique($classes); |
|
| 278 | 278 | } |
| 279 | -add_filter( 'body_class', 'wpinv_add_body_classes' ); |
|
| 279 | +add_filter('body_class', 'wpinv_add_body_classes'); |
|
| 280 | 280 | |
| 281 | -function wpinv_html_dropdown( $name = 'wpinv_discounts', $selected = 0, $status = '' ) { |
|
| 282 | - $args = array( 'nopaging' => true ); |
|
| 281 | +function wpinv_html_dropdown($name = 'wpinv_discounts', $selected = 0, $status = '') { |
|
| 282 | + $args = array('nopaging' => true); |
|
| 283 | 283 | |
| 284 | - if ( ! empty( $status ) ) |
|
| 284 | + if (!empty($status)) |
|
| 285 | 285 | $args['post_status'] = $status; |
| 286 | 286 | |
| 287 | - $discounts = wpinv_get_discounts( $args ); |
|
| 287 | + $discounts = wpinv_get_discounts($args); |
|
| 288 | 288 | $options = array(); |
| 289 | 289 | |
| 290 | - if ( $discounts ) { |
|
| 291 | - foreach ( $discounts as $discount ) { |
|
| 292 | - $options[ absint( $discount->ID ) ] = esc_html( get_the_title( $discount->ID ) ); |
|
| 290 | + if ($discounts) { |
|
| 291 | + foreach ($discounts as $discount) { |
|
| 292 | + $options[absint($discount->ID)] = esc_html(get_the_title($discount->ID)); |
|
| 293 | 293 | } |
| 294 | 294 | } else { |
| 295 | - $options[0] = __( 'No discounts found', 'invoicing' ); |
|
| 295 | + $options[0] = __('No discounts found', 'invoicing'); |
|
| 296 | 296 | } |
| 297 | 297 | |
| 298 | - $output = wpinv_html_select( array( |
|
| 298 | + $output = wpinv_html_select(array( |
|
| 299 | 299 | 'name' => $name, |
| 300 | 300 | 'selected' => $selected, |
| 301 | 301 | 'options' => $options, |
| 302 | 302 | 'show_option_all' => false, |
| 303 | 303 | 'show_option_none' => false, |
| 304 | - ) ); |
|
| 304 | + )); |
|
| 305 | 305 | |
| 306 | 306 | return $output; |
| 307 | 307 | } |
| 308 | 308 | |
| 309 | -function wpinv_html_year_dropdown( $name = 'year', $selected = 0, $years_before = 5, $years_after = 0 ) { |
|
| 310 | - $current = date( 'Y' ); |
|
| 311 | - $start_year = $current - absint( $years_before ); |
|
| 312 | - $end_year = $current + absint( $years_after ); |
|
| 313 | - $selected = empty( $selected ) ? date( 'Y' ) : $selected; |
|
| 309 | +function wpinv_html_year_dropdown($name = 'year', $selected = 0, $years_before = 5, $years_after = 0) { |
|
| 310 | + $current = date('Y'); |
|
| 311 | + $start_year = $current - absint($years_before); |
|
| 312 | + $end_year = $current + absint($years_after); |
|
| 313 | + $selected = empty($selected) ? date('Y') : $selected; |
|
| 314 | 314 | $options = array(); |
| 315 | 315 | |
| 316 | - while ( $start_year <= $end_year ) { |
|
| 317 | - $options[ absint( $start_year ) ] = $start_year; |
|
| 316 | + while ($start_year <= $end_year) { |
|
| 317 | + $options[absint($start_year)] = $start_year; |
|
| 318 | 318 | $start_year++; |
| 319 | 319 | } |
| 320 | 320 | |
| 321 | - $output = wpinv_html_select( array( |
|
| 321 | + $output = wpinv_html_select(array( |
|
| 322 | 322 | 'name' => $name, |
| 323 | 323 | 'selected' => $selected, |
| 324 | 324 | 'options' => $options, |
| 325 | 325 | 'show_option_all' => false, |
| 326 | 326 | 'show_option_none' => false |
| 327 | - ) ); |
|
| 327 | + )); |
|
| 328 | 328 | |
| 329 | 329 | return $output; |
| 330 | 330 | } |
| 331 | 331 | |
| 332 | -function wpinv_html_month_dropdown( $name = 'month', $selected = 0 ) { |
|
| 332 | +function wpinv_html_month_dropdown($name = 'month', $selected = 0) { |
|
| 333 | 333 | |
| 334 | 334 | $options = array( |
| 335 | - '1' => __( 'January', 'invoicing' ), |
|
| 336 | - '2' => __( 'February', 'invoicing' ), |
|
| 337 | - '3' => __( 'March', 'invoicing' ), |
|
| 338 | - '4' => __( 'April', 'invoicing' ), |
|
| 339 | - '5' => __( 'May', 'invoicing' ), |
|
| 340 | - '6' => __( 'June', 'invoicing' ), |
|
| 341 | - '7' => __( 'July', 'invoicing' ), |
|
| 342 | - '8' => __( 'August', 'invoicing' ), |
|
| 343 | - '9' => __( 'September', 'invoicing' ), |
|
| 344 | - '10' => __( 'October', 'invoicing' ), |
|
| 345 | - '11' => __( 'November', 'invoicing' ), |
|
| 346 | - '12' => __( 'December', 'invoicing' ), |
|
| 335 | + '1' => __('January', 'invoicing'), |
|
| 336 | + '2' => __('February', 'invoicing'), |
|
| 337 | + '3' => __('March', 'invoicing'), |
|
| 338 | + '4' => __('April', 'invoicing'), |
|
| 339 | + '5' => __('May', 'invoicing'), |
|
| 340 | + '6' => __('June', 'invoicing'), |
|
| 341 | + '7' => __('July', 'invoicing'), |
|
| 342 | + '8' => __('August', 'invoicing'), |
|
| 343 | + '9' => __('September', 'invoicing'), |
|
| 344 | + '10' => __('October', 'invoicing'), |
|
| 345 | + '11' => __('November', 'invoicing'), |
|
| 346 | + '12' => __('December', 'invoicing'), |
|
| 347 | 347 | ); |
| 348 | 348 | |
| 349 | 349 | // If no month is selected, default to the current month |
| 350 | - $selected = empty( $selected ) ? date( 'n' ) : $selected; |
|
| 350 | + $selected = empty($selected) ? date('n') : $selected; |
|
| 351 | 351 | |
| 352 | - $output = wpinv_html_select( array( |
|
| 352 | + $output = wpinv_html_select(array( |
|
| 353 | 353 | 'name' => $name, |
| 354 | 354 | 'selected' => $selected, |
| 355 | 355 | 'options' => $options, |
| 356 | 356 | 'show_option_all' => false, |
| 357 | 357 | 'show_option_none' => false |
| 358 | - ) ); |
|
| 358 | + )); |
|
| 359 | 359 | |
| 360 | 360 | return $output; |
| 361 | 361 | } |
| 362 | 362 | |
| 363 | -function wpinv_html_select( $args = array() ) { |
|
| 363 | +function wpinv_html_select($args = array()) { |
|
| 364 | 364 | $defaults = array( |
| 365 | 365 | 'options' => array(), |
| 366 | 366 | 'name' => null, |
@@ -369,8 +369,8 @@ discard block |
||
| 369 | 369 | 'selected' => 0, |
| 370 | 370 | 'placeholder' => null, |
| 371 | 371 | 'multiple' => false, |
| 372 | - 'show_option_all' => _x( 'All', 'all dropdown items', 'invoicing' ), |
|
| 373 | - 'show_option_none' => _x( 'None', 'no dropdown items', 'invoicing' ), |
|
| 372 | + 'show_option_all' => _x('All', 'all dropdown items', 'invoicing'), |
|
| 373 | + 'show_option_none' => _x('None', 'no dropdown items', 'invoicing'), |
|
| 374 | 374 | 'data' => array(), |
| 375 | 375 | 'onchange' => null, |
| 376 | 376 | 'required' => false, |
@@ -378,74 +378,74 @@ discard block |
||
| 378 | 378 | 'readonly' => false, |
| 379 | 379 | ); |
| 380 | 380 | |
| 381 | - $args = wp_parse_args( $args, $defaults ); |
|
| 381 | + $args = wp_parse_args($args, $defaults); |
|
| 382 | 382 | |
| 383 | 383 | $data_elements = ''; |
| 384 | - foreach ( $args['data'] as $key => $value ) { |
|
| 385 | - $data_elements .= ' data-' . esc_attr( $key ) . '="' . esc_attr( $value ) . '"'; |
|
| 384 | + foreach ($args['data'] as $key => $value) { |
|
| 385 | + $data_elements .= ' data-' . esc_attr($key) . '="' . esc_attr($value) . '"'; |
|
| 386 | 386 | } |
| 387 | 387 | |
| 388 | - if( $args['multiple'] ) { |
|
| 388 | + if ($args['multiple']) { |
|
| 389 | 389 | $multiple = ' MULTIPLE'; |
| 390 | 390 | } else { |
| 391 | 391 | $multiple = ''; |
| 392 | 392 | } |
| 393 | 393 | |
| 394 | - if( $args['placeholder'] ) { |
|
| 394 | + if ($args['placeholder']) { |
|
| 395 | 395 | $placeholder = $args['placeholder']; |
| 396 | 396 | } else { |
| 397 | 397 | $placeholder = ''; |
| 398 | 398 | } |
| 399 | 399 | |
| 400 | 400 | $options = ''; |
| 401 | - if( !empty( $args['onchange'] ) ) { |
|
| 402 | - $options .= ' onchange="' . esc_attr( $args['onchange'] ) . '"'; |
|
| 401 | + if (!empty($args['onchange'])) { |
|
| 402 | + $options .= ' onchange="' . esc_attr($args['onchange']) . '"'; |
|
| 403 | 403 | } |
| 404 | 404 | |
| 405 | - if( !empty( $args['required'] ) ) { |
|
| 405 | + if (!empty($args['required'])) { |
|
| 406 | 406 | $options .= ' required="required"'; |
| 407 | 407 | } |
| 408 | 408 | |
| 409 | - if( !empty( $args['disabled'] ) ) { |
|
| 409 | + if (!empty($args['disabled'])) { |
|
| 410 | 410 | $options .= ' disabled'; |
| 411 | 411 | } |
| 412 | 412 | |
| 413 | - if( !empty( $args['readonly'] ) ) { |
|
| 413 | + if (!empty($args['readonly'])) { |
|
| 414 | 414 | $options .= ' readonly'; |
| 415 | 415 | } |
| 416 | 416 | |
| 417 | - $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) ); |
|
| 418 | - $output = '<select name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['id'] ) . '" class="wpinv-select ' . $class . '"' . $multiple . ' data-placeholder="' . $placeholder . '" ' . trim( $options ) . $data_elements . '>'; |
|
| 417 | + $class = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class']))); |
|
| 418 | + $output = '<select name="' . esc_attr($args['name']) . '" id="' . esc_attr($args['id']) . '" class="wpinv-select ' . $class . '"' . $multiple . ' data-placeholder="' . $placeholder . '" ' . trim($options) . $data_elements . '>'; |
|
| 419 | 419 | |
| 420 | - if ( $args['show_option_all'] ) { |
|
| 421 | - if( $args['multiple'] ) { |
|
| 422 | - $selected = selected( true, in_array( 0, $args['selected'] ), false ); |
|
| 420 | + if ($args['show_option_all']) { |
|
| 421 | + if ($args['multiple']) { |
|
| 422 | + $selected = selected(true, in_array(0, $args['selected']), false); |
|
| 423 | 423 | } else { |
| 424 | - $selected = selected( $args['selected'], 0, false ); |
|
| 424 | + $selected = selected($args['selected'], 0, false); |
|
| 425 | 425 | } |
| 426 | - $output .= '<option value="all"' . $selected . '>' . esc_html( $args['show_option_all'] ) . '</option>'; |
|
| 426 | + $output .= '<option value="all"' . $selected . '>' . esc_html($args['show_option_all']) . '</option>'; |
|
| 427 | 427 | } |
| 428 | 428 | |
| 429 | - if ( !empty( $args['options'] ) ) { |
|
| 429 | + if (!empty($args['options'])) { |
|
| 430 | 430 | |
| 431 | - if ( $args['show_option_none'] ) { |
|
| 432 | - if( $args['multiple'] ) { |
|
| 433 | - $selected = selected( true, in_array( "", $args['selected'] ), false ); |
|
| 431 | + if ($args['show_option_none']) { |
|
| 432 | + if ($args['multiple']) { |
|
| 433 | + $selected = selected(true, in_array("", $args['selected']), false); |
|
| 434 | 434 | } else { |
| 435 | - $selected = selected( $args['selected'] === "", true, false ); |
|
| 435 | + $selected = selected($args['selected'] === "", true, false); |
|
| 436 | 436 | } |
| 437 | - $output .= '<option value=""' . $selected . '>' . esc_html( $args['show_option_none'] ) . '</option>'; |
|
| 437 | + $output .= '<option value=""' . $selected . '>' . esc_html($args['show_option_none']) . '</option>'; |
|
| 438 | 438 | } |
| 439 | 439 | |
| 440 | - foreach( $args['options'] as $key => $option ) { |
|
| 440 | + foreach ($args['options'] as $key => $option) { |
|
| 441 | 441 | |
| 442 | - if( $args['multiple'] && is_array( $args['selected'] ) ) { |
|
| 443 | - $selected = selected( true, (bool)in_array( $key, $args['selected'] ), false ); |
|
| 442 | + if ($args['multiple'] && is_array($args['selected'])) { |
|
| 443 | + $selected = selected(true, (bool)in_array($key, $args['selected']), false); |
|
| 444 | 444 | } else { |
| 445 | - $selected = selected( $args['selected'], $key, false ); |
|
| 445 | + $selected = selected($args['selected'], $key, false); |
|
| 446 | 446 | } |
| 447 | 447 | |
| 448 | - $output .= '<option value="' . esc_attr( $key ) . '"' . $selected . '>' . esc_html( $option ) . '</option>'; |
|
| 448 | + $output .= '<option value="' . esc_attr($key) . '"' . $selected . '>' . esc_html($option) . '</option>'; |
|
| 449 | 449 | } |
| 450 | 450 | } |
| 451 | 451 | |
@@ -454,7 +454,7 @@ discard block |
||
| 454 | 454 | return $output; |
| 455 | 455 | } |
| 456 | 456 | |
| 457 | -function wpinv_item_dropdown( $args = array() ) { |
|
| 457 | +function wpinv_item_dropdown($args = array()) { |
|
| 458 | 458 | $defaults = array( |
| 459 | 459 | 'name' => 'wpi_item', |
| 460 | 460 | 'id' => 'wpi_item', |
@@ -462,14 +462,14 @@ discard block |
||
| 462 | 462 | 'multiple' => false, |
| 463 | 463 | 'selected' => 0, |
| 464 | 464 | 'number' => 100, |
| 465 | - 'placeholder' => __( 'Choose a item', 'invoicing' ), |
|
| 466 | - 'data' => array( 'search-type' => 'item' ), |
|
| 465 | + 'placeholder' => __('Choose a item', 'invoicing'), |
|
| 466 | + 'data' => array('search-type' => 'item'), |
|
| 467 | 467 | 'show_option_all' => false, |
| 468 | 468 | 'show_option_none' => false, |
| 469 | 469 | 'show_recurring' => false, |
| 470 | 470 | ); |
| 471 | 471 | |
| 472 | - $args = wp_parse_args( $args, $defaults ); |
|
| 472 | + $args = wp_parse_args($args, $defaults); |
|
| 473 | 473 | |
| 474 | 474 | $item_args = array( |
| 475 | 475 | 'post_type' => 'wpi_item', |
@@ -478,44 +478,44 @@ discard block |
||
| 478 | 478 | 'posts_per_page' => $args['number'] |
| 479 | 479 | ); |
| 480 | 480 | |
| 481 | - $item_args = apply_filters( 'wpinv_item_dropdown_query_args', $item_args, $args, $defaults ); |
|
| 481 | + $item_args = apply_filters('wpinv_item_dropdown_query_args', $item_args, $args, $defaults); |
|
| 482 | 482 | |
| 483 | - $items = get_posts( $item_args ); |
|
| 483 | + $items = get_posts($item_args); |
|
| 484 | 484 | $options = array(); |
| 485 | - if ( $items ) { |
|
| 486 | - foreach ( $items as $item ) { |
|
| 487 | - $title = esc_html( $item->post_title ); |
|
| 485 | + if ($items) { |
|
| 486 | + foreach ($items as $item) { |
|
| 487 | + $title = esc_html($item->post_title); |
|
| 488 | 488 | |
| 489 | - if ( !empty( $args['show_recurring'] ) ) { |
|
| 490 | - $title .= wpinv_get_item_suffix( $item->ID, false ); |
|
| 489 | + if (!empty($args['show_recurring'])) { |
|
| 490 | + $title .= wpinv_get_item_suffix($item->ID, false); |
|
| 491 | 491 | } |
| 492 | 492 | |
| 493 | - $options[ absint( $item->ID ) ] = $title; |
|
| 493 | + $options[absint($item->ID)] = $title; |
|
| 494 | 494 | } |
| 495 | 495 | } |
| 496 | 496 | |
| 497 | 497 | // This ensures that any selected items are included in the drop down |
| 498 | - if( is_array( $args['selected'] ) ) { |
|
| 499 | - foreach( $args['selected'] as $item ) { |
|
| 500 | - if( ! in_array( $item, $options ) ) { |
|
| 501 | - $title = get_the_title( $item ); |
|
| 502 | - if ( !empty( $args['show_recurring'] ) ) { |
|
| 503 | - $title .= wpinv_get_item_suffix( $item, false ); |
|
| 498 | + if (is_array($args['selected'])) { |
|
| 499 | + foreach ($args['selected'] as $item) { |
|
| 500 | + if (!in_array($item, $options)) { |
|
| 501 | + $title = get_the_title($item); |
|
| 502 | + if (!empty($args['show_recurring'])) { |
|
| 503 | + $title .= wpinv_get_item_suffix($item, false); |
|
| 504 | 504 | } |
| 505 | 505 | $options[$item] = $title; |
| 506 | 506 | } |
| 507 | 507 | } |
| 508 | - } elseif ( is_numeric( $args['selected'] ) && $args['selected'] !== 0 ) { |
|
| 509 | - if ( ! in_array( $args['selected'], $options ) ) { |
|
| 510 | - $title = get_the_title( $args['selected'] ); |
|
| 511 | - if ( !empty( $args['show_recurring'] ) ) { |
|
| 512 | - $title .= wpinv_get_item_suffix( $args['selected'], false ); |
|
| 508 | + } elseif (is_numeric($args['selected']) && $args['selected'] !== 0) { |
|
| 509 | + if (!in_array($args['selected'], $options)) { |
|
| 510 | + $title = get_the_title($args['selected']); |
|
| 511 | + if (!empty($args['show_recurring'])) { |
|
| 512 | + $title .= wpinv_get_item_suffix($args['selected'], false); |
|
| 513 | 513 | } |
| 514 | - $options[$args['selected']] = get_the_title( $args['selected'] ); |
|
| 514 | + $options[$args['selected']] = get_the_title($args['selected']); |
|
| 515 | 515 | } |
| 516 | 516 | } |
| 517 | 517 | |
| 518 | - $output = wpinv_html_select( array( |
|
| 518 | + $output = wpinv_html_select(array( |
|
| 519 | 519 | 'name' => $args['name'], |
| 520 | 520 | 'selected' => $args['selected'], |
| 521 | 521 | 'id' => $args['id'], |
@@ -526,12 +526,12 @@ discard block |
||
| 526 | 526 | 'show_option_all' => $args['show_option_all'], |
| 527 | 527 | 'show_option_none' => $args['show_option_none'], |
| 528 | 528 | 'data' => $args['data'], |
| 529 | - ) ); |
|
| 529 | + )); |
|
| 530 | 530 | |
| 531 | 531 | return $output; |
| 532 | 532 | } |
| 533 | 533 | |
| 534 | -function wpinv_html_checkbox( $args = array() ) { |
|
| 534 | +function wpinv_html_checkbox($args = array()) { |
|
| 535 | 535 | $defaults = array( |
| 536 | 536 | 'name' => null, |
| 537 | 537 | 'current' => null, |
@@ -542,38 +542,38 @@ discard block |
||
| 542 | 542 | ) |
| 543 | 543 | ); |
| 544 | 544 | |
| 545 | - $args = wp_parse_args( $args, $defaults ); |
|
| 545 | + $args = wp_parse_args($args, $defaults); |
|
| 546 | 546 | |
| 547 | - $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) ); |
|
| 547 | + $class = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class']))); |
|
| 548 | 548 | $options = ''; |
| 549 | - if ( ! empty( $args['options']['disabled'] ) ) { |
|
| 549 | + if (!empty($args['options']['disabled'])) { |
|
| 550 | 550 | $options .= ' disabled="disabled"'; |
| 551 | - } elseif ( ! empty( $args['options']['readonly'] ) ) { |
|
| 551 | + } elseif (!empty($args['options']['readonly'])) { |
|
| 552 | 552 | $options .= ' readonly'; |
| 553 | 553 | } |
| 554 | 554 | |
| 555 | - $output = '<input type="checkbox"' . $options . ' name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['name'] ) . '" class="' . $class . ' ' . esc_attr( $args['name'] ) . '" ' . checked( 1, $args['current'], false ) . ' />'; |
|
| 555 | + $output = '<input type="checkbox"' . $options . ' name="' . esc_attr($args['name']) . '" id="' . esc_attr($args['name']) . '" class="' . $class . ' ' . esc_attr($args['name']) . '" ' . checked(1, $args['current'], false) . ' />'; |
|
| 556 | 556 | |
| 557 | 557 | return $output; |
| 558 | 558 | } |
| 559 | 559 | |
| 560 | -function wpinv_html_text( $args = array() ) { |
|
| 560 | +function wpinv_html_text($args = array()) { |
|
| 561 | 561 | // Backwards compatibility |
| 562 | - if ( func_num_args() > 1 ) { |
|
| 562 | + if (func_num_args() > 1) { |
|
| 563 | 563 | $args = func_get_args(); |
| 564 | 564 | |
| 565 | 565 | $name = $args[0]; |
| 566 | - $value = isset( $args[1] ) ? $args[1] : ''; |
|
| 567 | - $label = isset( $args[2] ) ? $args[2] : ''; |
|
| 568 | - $desc = isset( $args[3] ) ? $args[3] : ''; |
|
| 566 | + $value = isset($args[1]) ? $args[1] : ''; |
|
| 567 | + $label = isset($args[2]) ? $args[2] : ''; |
|
| 568 | + $desc = isset($args[3]) ? $args[3] : ''; |
|
| 569 | 569 | } |
| 570 | 570 | |
| 571 | 571 | $defaults = array( |
| 572 | 572 | 'id' => '', |
| 573 | - 'name' => isset( $name ) ? $name : 'text', |
|
| 574 | - 'value' => isset( $value ) ? $value : null, |
|
| 575 | - 'label' => isset( $label ) ? $label : null, |
|
| 576 | - 'desc' => isset( $desc ) ? $desc : null, |
|
| 573 | + 'name' => isset($name) ? $name : 'text', |
|
| 574 | + 'value' => isset($value) ? $value : null, |
|
| 575 | + 'label' => isset($label) ? $label : null, |
|
| 576 | + 'desc' => isset($desc) ? $desc : null, |
|
| 577 | 577 | 'placeholder' => '', |
| 578 | 578 | 'class' => 'regular-text', |
| 579 | 579 | 'disabled' => false, |
@@ -583,51 +583,51 @@ discard block |
||
| 583 | 583 | 'data' => false |
| 584 | 584 | ); |
| 585 | 585 | |
| 586 | - $args = wp_parse_args( $args, $defaults ); |
|
| 586 | + $args = wp_parse_args($args, $defaults); |
|
| 587 | 587 | |
| 588 | - $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) ); |
|
| 588 | + $class = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class']))); |
|
| 589 | 589 | $options = ''; |
| 590 | - if( $args['required'] ) { |
|
| 590 | + if ($args['required']) { |
|
| 591 | 591 | $options .= ' required="required"'; |
| 592 | 592 | } |
| 593 | - if( $args['readonly'] ) { |
|
| 593 | + if ($args['readonly']) { |
|
| 594 | 594 | $options .= ' readonly'; |
| 595 | 595 | } |
| 596 | - if( $args['readonly'] ) { |
|
| 596 | + if ($args['readonly']) { |
|
| 597 | 597 | $options .= ' readonly'; |
| 598 | 598 | } |
| 599 | 599 | |
| 600 | 600 | $data = ''; |
| 601 | - if ( !empty( $args['data'] ) ) { |
|
| 602 | - foreach ( $args['data'] as $key => $value ) { |
|
| 603 | - $data .= 'data-' . wpinv_sanitize_key( $key ) . '="' . esc_attr( $value ) . '" '; |
|
| 601 | + if (!empty($args['data'])) { |
|
| 602 | + foreach ($args['data'] as $key => $value) { |
|
| 603 | + $data .= 'data-' . wpinv_sanitize_key($key) . '="' . esc_attr($value) . '" '; |
|
| 604 | 604 | } |
| 605 | 605 | } |
| 606 | 606 | |
| 607 | - $output = '<span id="wpinv-' . wpinv_sanitize_key( $args['name'] ) . '-wrap">'; |
|
| 608 | - $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key( $args['id'] ) . '">' . esc_html( $args['label'] ) . '</label>'; |
|
| 609 | - if ( ! empty( $args['desc'] ) ) { |
|
| 610 | - $output .= '<span class="wpinv-description">' . esc_html( $args['desc'] ) . '</span>'; |
|
| 607 | + $output = '<span id="wpinv-' . wpinv_sanitize_key($args['name']) . '-wrap">'; |
|
| 608 | + $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key($args['id']) . '">' . esc_html($args['label']) . '</label>'; |
|
| 609 | + if (!empty($args['desc'])) { |
|
| 610 | + $output .= '<span class="wpinv-description">' . esc_html($args['desc']) . '</span>'; |
|
| 611 | 611 | } |
| 612 | 612 | |
| 613 | - $output .= '<input type="text" name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['id'] ) . '" autocomplete="' . esc_attr( $args['autocomplete'] ) . '" value="' . esc_attr( $args['value'] ) . '" placeholder="' . esc_attr( $args['placeholder'] ) . '" class="' . $class . '" ' . $data . ' ' . trim( $options ) . '/>'; |
|
| 613 | + $output .= '<input type="text" name="' . esc_attr($args['name']) . '" id="' . esc_attr($args['id']) . '" autocomplete="' . esc_attr($args['autocomplete']) . '" value="' . esc_attr($args['value']) . '" placeholder="' . esc_attr($args['placeholder']) . '" class="' . $class . '" ' . $data . ' ' . trim($options) . '/>'; |
|
| 614 | 614 | |
| 615 | 615 | $output .= '</span>'; |
| 616 | 616 | |
| 617 | 617 | return $output; |
| 618 | 618 | } |
| 619 | 619 | |
| 620 | -function wpinv_html_date_field( $args = array() ) { |
|
| 621 | - if( empty( $args['class'] ) ) { |
|
| 620 | +function wpinv_html_date_field($args = array()) { |
|
| 621 | + if (empty($args['class'])) { |
|
| 622 | 622 | $args['class'] = 'wpiDatepicker'; |
| 623 | - } elseif( ! strpos( $args['class'], 'wpiDatepicker' ) ) { |
|
| 623 | + } elseif (!strpos($args['class'], 'wpiDatepicker')) { |
|
| 624 | 624 | $args['class'] .= ' wpiDatepicker'; |
| 625 | 625 | } |
| 626 | 626 | |
| 627 | - return wpinv_html_text( $args ); |
|
| 627 | + return wpinv_html_text($args); |
|
| 628 | 628 | } |
| 629 | 629 | |
| 630 | -function wpinv_html_textarea( $args = array() ) { |
|
| 630 | +function wpinv_html_textarea($args = array()) { |
|
| 631 | 631 | $defaults = array( |
| 632 | 632 | 'name' => 'textarea', |
| 633 | 633 | 'value' => null, |
@@ -637,31 +637,31 @@ discard block |
||
| 637 | 637 | 'disabled' => false |
| 638 | 638 | ); |
| 639 | 639 | |
| 640 | - $args = wp_parse_args( $args, $defaults ); |
|
| 640 | + $args = wp_parse_args($args, $defaults); |
|
| 641 | 641 | |
| 642 | - $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) ); |
|
| 642 | + $class = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class']))); |
|
| 643 | 643 | $disabled = ''; |
| 644 | - if( $args['disabled'] ) { |
|
| 644 | + if ($args['disabled']) { |
|
| 645 | 645 | $disabled = ' disabled="disabled"'; |
| 646 | 646 | } |
| 647 | 647 | |
| 648 | - $output = '<span id="wpinv-' . wpinv_sanitize_key( $args['name'] ) . '-wrap">'; |
|
| 649 | - $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key( $args['name'] ) . '">' . esc_html( $args['label'] ) . '</label>'; |
|
| 650 | - $output .= '<textarea name="' . esc_attr( $args['name'] ) . '" id="' . wpinv_sanitize_key( $args['name'] ) . '" class="' . $class . '"' . $disabled . '>' . esc_attr( $args['value'] ) . '</textarea>'; |
|
| 648 | + $output = '<span id="wpinv-' . wpinv_sanitize_key($args['name']) . '-wrap">'; |
|
| 649 | + $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key($args['name']) . '">' . esc_html($args['label']) . '</label>'; |
|
| 650 | + $output .= '<textarea name="' . esc_attr($args['name']) . '" id="' . wpinv_sanitize_key($args['name']) . '" class="' . $class . '"' . $disabled . '>' . esc_attr($args['value']) . '</textarea>'; |
|
| 651 | 651 | |
| 652 | - if ( ! empty( $args['desc'] ) ) { |
|
| 653 | - $output .= '<span class="wpinv-description">' . esc_html( $args['desc'] ) . '</span>'; |
|
| 652 | + if (!empty($args['desc'])) { |
|
| 653 | + $output .= '<span class="wpinv-description">' . esc_html($args['desc']) . '</span>'; |
|
| 654 | 654 | } |
| 655 | 655 | $output .= '</span>'; |
| 656 | 656 | |
| 657 | 657 | return $output; |
| 658 | 658 | } |
| 659 | 659 | |
| 660 | -function wpinv_html_ajax_user_search( $args = array() ) { |
|
| 660 | +function wpinv_html_ajax_user_search($args = array()) { |
|
| 661 | 661 | $defaults = array( |
| 662 | 662 | 'name' => 'user_id', |
| 663 | 663 | 'value' => null, |
| 664 | - 'placeholder' => __( 'Enter username', 'invoicing' ), |
|
| 664 | + 'placeholder' => __('Enter username', 'invoicing'), |
|
| 665 | 665 | 'label' => null, |
| 666 | 666 | 'desc' => null, |
| 667 | 667 | 'class' => '', |
@@ -670,13 +670,13 @@ discard block |
||
| 670 | 670 | 'data' => false |
| 671 | 671 | ); |
| 672 | 672 | |
| 673 | - $args = wp_parse_args( $args, $defaults ); |
|
| 673 | + $args = wp_parse_args($args, $defaults); |
|
| 674 | 674 | |
| 675 | 675 | $args['class'] = 'wpinv-ajax-user-search ' . $args['class']; |
| 676 | 676 | |
| 677 | 677 | $output = '<span class="wpinv_user_search_wrap">'; |
| 678 | - $output .= wpinv_html_text( $args ); |
|
| 679 | - $output .= '<span class="wpinv_user_search_results hidden"><a class="wpinv-ajax-user-cancel" title="' . __( 'Cancel', 'invoicing' ) . '" aria-label="' . __( 'Cancel', 'invoicing' ) . '" href="#">x</a><span></span></span>'; |
|
| 678 | + $output .= wpinv_html_text($args); |
|
| 679 | + $output .= '<span class="wpinv_user_search_results hidden"><a class="wpinv-ajax-user-cancel" title="' . __('Cancel', 'invoicing') . '" aria-label="' . __('Cancel', 'invoicing') . '" href="#">x</a><span></span></span>'; |
|
| 680 | 680 | $output .= '</span>'; |
| 681 | 681 | |
| 682 | 682 | return $output; |
@@ -685,7 +685,7 @@ discard block |
||
| 685 | 685 | function wpinv_ip_geolocation() { |
| 686 | 686 | global $wpinv_euvat; |
| 687 | 687 | |
| 688 | - $ip = !empty( $_GET['ip'] ) ? sanitize_text_field( $_GET['ip'] ) : ''; |
|
| 688 | + $ip = !empty($_GET['ip']) ? sanitize_text_field($_GET['ip']) : ''; |
|
| 689 | 689 | $content = ''; |
| 690 | 690 | $iso = ''; |
| 691 | 691 | $country = ''; |
@@ -696,69 +696,69 @@ discard block |
||
| 696 | 696 | $credit = ''; |
| 697 | 697 | $address = ''; |
| 698 | 698 | |
| 699 | - if ( wpinv_get_option( 'vat_ip_lookup' ) == 'geoip2' && $geoip2_city = $wpinv_euvat->geoip2_city_record( $ip ) ) { |
|
| 699 | + if (wpinv_get_option('vat_ip_lookup') == 'geoip2' && $geoip2_city = $wpinv_euvat->geoip2_city_record($ip)) { |
|
| 700 | 700 | try { |
| 701 | 701 | $iso = $geoip2_city->country->isoCode; |
| 702 | 702 | $country = $geoip2_city->country->name; |
| 703 | - $region = !empty( $geoip2_city->subdivisions ) && !empty( $geoip2_city->subdivisions[0]->name ) ? $geoip2_city->subdivisions[0]->name : ''; |
|
| 703 | + $region = !empty($geoip2_city->subdivisions) && !empty($geoip2_city->subdivisions[0]->name) ? $geoip2_city->subdivisions[0]->name : ''; |
|
| 704 | 704 | $city = $geoip2_city->city->name; |
| 705 | 705 | $longitude = $geoip2_city->location->longitude; |
| 706 | 706 | $latitude = $geoip2_city->location->latitude; |
| 707 | - $credit = __( 'Geolocated using the information by MaxMind, available from <a href="http://www.maxmind.com" target="_blank">www.maxmind.com</a>', 'invoicing' ); |
|
| 708 | - } catch( Exception $e ) { } |
|
| 707 | + $credit = __('Geolocated using the information by MaxMind, available from <a href="http://www.maxmind.com" target="_blank">www.maxmind.com</a>', 'invoicing'); |
|
| 708 | + } catch (Exception $e) { } |
|
| 709 | 709 | } |
| 710 | 710 | |
| 711 | - if ( !( $iso && $longitude && $latitude ) && function_exists( 'simplexml_load_file' ) ) { |
|
| 711 | + if (!($iso && $longitude && $latitude) && function_exists('simplexml_load_file')) { |
|
| 712 | 712 | try { |
| 713 | - $load_xml = simplexml_load_file( 'http://www.geoplugin.net/xml.gp?ip=' . $ip ); |
|
| 713 | + $load_xml = simplexml_load_file('http://www.geoplugin.net/xml.gp?ip=' . $ip); |
|
| 714 | 714 | |
| 715 | - if ( !empty( $load_xml ) && isset( $load_xml->geoplugin_countryCode ) && !empty( $load_xml->geoplugin_latitude ) && !empty( $load_xml->geoplugin_longitude ) ) { |
|
| 715 | + if (!empty($load_xml) && isset($load_xml->geoplugin_countryCode) && !empty($load_xml->geoplugin_latitude) && !empty($load_xml->geoplugin_longitude)) { |
|
| 716 | 716 | $iso = $load_xml->geoplugin_countryCode; |
| 717 | 717 | $country = $load_xml->geoplugin_countryName; |
| 718 | - $region = !empty( $load_xml->geoplugin_regionName ) ? $load_xml->geoplugin_regionName : ''; |
|
| 719 | - $city = !empty( $load_xml->geoplugin_city ) ? $load_xml->geoplugin_city : ''; |
|
| 718 | + $region = !empty($load_xml->geoplugin_regionName) ? $load_xml->geoplugin_regionName : ''; |
|
| 719 | + $city = !empty($load_xml->geoplugin_city) ? $load_xml->geoplugin_city : ''; |
|
| 720 | 720 | $longitude = $load_xml->geoplugin_longitude; |
| 721 | 721 | $latitude = $load_xml->geoplugin_latitude; |
| 722 | 722 | $credit = $load_xml->geoplugin_credit; |
| 723 | - $credit = __( 'Geolocated using the information by geoPlugin, available from <a href="http://www.geoplugin.com" target="_blank">www.geoplugin.com</a>', 'invoicing' ) . '<br>' . $load_xml->geoplugin_credit; |
|
| 723 | + $credit = __('Geolocated using the information by geoPlugin, available from <a href="http://www.geoplugin.com" target="_blank">www.geoplugin.com</a>', 'invoicing') . '<br>' . $load_xml->geoplugin_credit; |
|
| 724 | 724 | } |
| 725 | - } catch( Exception $e ) { } |
|
| 725 | + } catch (Exception $e) { } |
|
| 726 | 726 | } |
| 727 | 727 | |
| 728 | - if ( $iso && $longitude && $latitude ) { |
|
| 729 | - if ( $city ) { |
|
| 728 | + if ($iso && $longitude && $latitude) { |
|
| 729 | + if ($city) { |
|
| 730 | 730 | $address .= $city . ', '; |
| 731 | 731 | } |
| 732 | 732 | |
| 733 | - if ( $region ) { |
|
| 733 | + if ($region) { |
|
| 734 | 734 | $address .= $region . ', '; |
| 735 | 735 | } |
| 736 | 736 | |
| 737 | 737 | $address .= $country . ' (' . $iso . ')'; |
| 738 | - $content = '<p>'. sprintf( __( '<b>Address:</b> %s', 'invoicing' ), $address ) . '</p>'; |
|
| 739 | - $content .= '<p>'. $credit . '</p>'; |
|
| 738 | + $content = '<p>' . sprintf(__('<b>Address:</b> %s', 'invoicing'), $address) . '</p>'; |
|
| 739 | + $content .= '<p>' . $credit . '</p>'; |
|
| 740 | 740 | } else { |
| 741 | - $content = '<p>'. sprintf( __( 'Unable to find geolocation for the IP address: %s', 'invoicing' ), $ip ) . '</p>'; |
|
| 741 | + $content = '<p>' . sprintf(__('Unable to find geolocation for the IP address: %s', 'invoicing'), $ip) . '</p>'; |
|
| 742 | 742 | } |
| 743 | 743 | ?> |
| 744 | 744 | <!DOCTYPE html> |
| 745 | -<html><head><title><?php echo sprintf( __( 'IP: %s', 'invoicing' ), $ip );?></title><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.0-rc.1/leaflet.css" /><style>html,body{height:100%;margin:0;padding:0;width:100%}body{text-align:center;background:#fff;color:#222;font-size:small;}body,p{font-family: arial,sans-serif}#map{margin:auto;width:100%;height:calc(100% - 120px);min-height:240px}</style></head> |
|
| 745 | +<html><head><title><?php echo sprintf(__('IP: %s', 'invoicing'), $ip); ?></title><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.0-rc.1/leaflet.css" /><style>html,body{height:100%;margin:0;padding:0;width:100%}body{text-align:center;background:#fff;color:#222;font-size:small;}body,p{font-family: arial,sans-serif}#map{margin:auto;width:100%;height:calc(100% - 120px);min-height:240px}</style></head> |
|
| 746 | 746 | <body> |
| 747 | - <?php if ( $latitude && $latitude ) { ?> |
|
| 747 | + <?php if ($latitude && $latitude) { ?> |
|
| 748 | 748 | <div id="map"></div> |
| 749 | 749 | <script src="//cdnjs.cloudflare.com/ajax/libs/leaflet/1.0.0-rc.1/leaflet.js"></script> |
| 750 | 750 | <script type="text/javascript"> |
| 751 | 751 | var osmUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', |
| 752 | 752 | osmAttrib = '© <a href="http://openstreetmap.org/copyright">OpenStreetMap</a> contributors', |
| 753 | 753 | osm = L.tileLayer(osmUrl, {maxZoom: 18, attribution: osmAttrib}), |
| 754 | - latlng = new L.LatLng(<?php echo $latitude;?>, <?php echo $longitude;?>); |
|
| 754 | + latlng = new L.LatLng(<?php echo $latitude; ?>, <?php echo $longitude; ?>); |
|
| 755 | 755 | |
| 756 | 756 | var map = new L.Map('map', {center: latlng, zoom: 12, layers: [osm]}); |
| 757 | 757 | |
| 758 | 758 | var marker = new L.Marker(latlng); |
| 759 | 759 | map.addLayer(marker); |
| 760 | 760 | |
| 761 | - marker.bindPopup("<p><?php esc_attr_e( $address );?></p>"); |
|
| 761 | + marker.bindPopup("<p><?php esc_attr_e($address); ?></p>"); |
|
| 762 | 762 | </script> |
| 763 | 763 | <?php } ?> |
| 764 | 764 | <div style="height:100px"><?php echo $content; ?></div> |
@@ -766,18 +766,18 @@ discard block |
||
| 766 | 766 | <?php |
| 767 | 767 | exit; |
| 768 | 768 | } |
| 769 | -add_action( 'wp_ajax_wpinv_ip_geolocation', 'wpinv_ip_geolocation' ); |
|
| 770 | -add_action( 'wp_ajax_nopriv_wpinv_ip_geolocation', 'wpinv_ip_geolocation' ); |
|
| 769 | +add_action('wp_ajax_wpinv_ip_geolocation', 'wpinv_ip_geolocation'); |
|
| 770 | +add_action('wp_ajax_nopriv_wpinv_ip_geolocation', 'wpinv_ip_geolocation'); |
|
| 771 | 771 | |
| 772 | 772 | // Set up the template for the invoice. |
| 773 | -function wpinv_template( $template ) { |
|
| 773 | +function wpinv_template($template) { |
|
| 774 | 774 | global $post, $wp_query; |
| 775 | 775 | |
| 776 | - if ( ( is_single() || is_404() ) && !empty( $post->ID ) && (get_post_type( $post->ID ) == 'wpi_invoice' or get_post_type( $post->ID ) == 'wpi_quote')) { |
|
| 777 | - if ( wpinv_user_can_view_invoice( $post->ID ) ) { |
|
| 778 | - $template = wpinv_get_template_part( 'wpinv-invoice-print', false, false ); |
|
| 776 | + if ((is_single() || is_404()) && !empty($post->ID) && (get_post_type($post->ID) == 'wpi_invoice' or get_post_type($post->ID) == 'wpi_quote')) { |
|
| 777 | + if (wpinv_user_can_view_invoice($post->ID)) { |
|
| 778 | + $template = wpinv_get_template_part('wpinv-invoice-print', false, false); |
|
| 779 | 779 | } else { |
| 780 | - $template = wpinv_get_template_part( 'wpinv-invalid-access', false, false ); |
|
| 780 | + $template = wpinv_get_template_part('wpinv-invalid-access', false, false); |
|
| 781 | 781 | } |
| 782 | 782 | } |
| 783 | 783 | |
@@ -786,7 +786,7 @@ discard block |
||
| 786 | 786 | |
| 787 | 787 | function wpinv_get_business_address() { |
| 788 | 788 | $business_address = wpinv_store_address(); |
| 789 | - $business_address = !empty( $business_address ) ? wpautop( wp_kses_post( $business_address ) ) : ''; |
|
| 789 | + $business_address = !empty($business_address) ? wpautop(wp_kses_post($business_address)) : ''; |
|
| 790 | 790 | |
| 791 | 791 | /* |
| 792 | 792 | $default_country = wpinv_get_default_country(); |
@@ -810,7 +810,7 @@ discard block |
||
| 810 | 810 | |
| 811 | 811 | $business_address = $business_address ? '<div class="address">' . $business_address . '</div>' : ''; |
| 812 | 812 | |
| 813 | - return apply_filters( 'wpinv_get_business_address', $business_address ); |
|
| 813 | + return apply_filters('wpinv_get_business_address', $business_address); |
|
| 814 | 814 | } |
| 815 | 815 | |
| 816 | 816 | function wpinv_display_from_address() { |
@@ -820,107 +820,107 @@ discard block |
||
| 820 | 820 | if (empty($from_name)) { |
| 821 | 821 | $from_name = wpinv_get_business_name(); |
| 822 | 822 | } |
| 823 | - ?><div class="from col-xs-2"><strong><?php _e( 'From:', 'invoicing' ) ?></strong></div> |
|
| 823 | + ?><div class="from col-xs-2"><strong><?php _e('From:', 'invoicing') ?></strong></div> |
|
| 824 | 824 | <div class="wrapper col-xs-10"> |
| 825 | - <div class="name"><?php echo esc_html( $from_name ); ?></div> |
|
| 826 | - <?php if ( $address = wpinv_get_business_address() ) { ?> |
|
| 827 | - <div class="address"><?php echo wpautop( wp_kses_post( $address ) );?></div> |
|
| 825 | + <div class="name"><?php echo esc_html($from_name); ?></div> |
|
| 826 | + <?php if ($address = wpinv_get_business_address()) { ?> |
|
| 827 | + <div class="address"><?php echo wpautop(wp_kses_post($address)); ?></div> |
|
| 828 | 828 | <?php } ?> |
| 829 | - <?php if ( $email_from = wpinv_mail_get_from_address() ) { ?> |
|
| 830 | - <div class="email_from"><?php echo wp_sprintf( __( 'Email: %s', 'invoicing' ), $email_from );?></div> |
|
| 829 | + <?php if ($email_from = wpinv_mail_get_from_address()) { ?> |
|
| 830 | + <div class="email_from"><?php echo wp_sprintf(__('Email: %s', 'invoicing'), $email_from); ?></div> |
|
| 831 | 831 | <?php } ?> |
| 832 | 832 | </div> |
| 833 | 833 | <?php |
| 834 | 834 | } |
| 835 | 835 | |
| 836 | -function wpinv_watermark( $id = 0 ) { |
|
| 837 | - $output = wpinv_get_watermark( $id ); |
|
| 836 | +function wpinv_watermark($id = 0) { |
|
| 837 | + $output = wpinv_get_watermark($id); |
|
| 838 | 838 | |
| 839 | - return apply_filters( 'wpinv_get_watermark', $output, $id ); |
|
| 839 | + return apply_filters('wpinv_get_watermark', $output, $id); |
|
| 840 | 840 | } |
| 841 | 841 | |
| 842 | -function wpinv_get_watermark( $id ) { |
|
| 843 | - if ( !$id > 0 ) { |
|
| 842 | +function wpinv_get_watermark($id) { |
|
| 843 | + if (!$id > 0) { |
|
| 844 | 844 | return NULL; |
| 845 | 845 | } |
| 846 | - $invoice = wpinv_get_invoice( $id ); |
|
| 846 | + $invoice = wpinv_get_invoice($id); |
|
| 847 | 847 | |
| 848 | - if ( !empty( $invoice ) && "wpi_invoice" === $invoice->post_type ) { |
|
| 849 | - if ( $invoice->is_paid() ) { |
|
| 850 | - return __( 'Paid', 'invoicing' ); |
|
| 848 | + if (!empty($invoice) && "wpi_invoice" === $invoice->post_type) { |
|
| 849 | + if ($invoice->is_paid()) { |
|
| 850 | + return __('Paid', 'invoicing'); |
|
| 851 | 851 | } |
| 852 | - if ( $invoice->is_refunded() ) { |
|
| 853 | - return __( 'Refunded', 'invoicing' ); |
|
| 852 | + if ($invoice->is_refunded()) { |
|
| 853 | + return __('Refunded', 'invoicing'); |
|
| 854 | 854 | } |
| 855 | - if ( $invoice->has_status( array( 'wpi-cancelled' ) ) ) { |
|
| 856 | - return __( 'Cancelled', 'invoicing' ); |
|
| 855 | + if ($invoice->has_status(array('wpi-cancelled'))) { |
|
| 856 | + return __('Cancelled', 'invoicing'); |
|
| 857 | 857 | } |
| 858 | 858 | } |
| 859 | 859 | |
| 860 | 860 | return NULL; |
| 861 | 861 | } |
| 862 | 862 | |
| 863 | -function wpinv_display_invoice_details( $invoice ) { |
|
| 863 | +function wpinv_display_invoice_details($invoice) { |
|
| 864 | 864 | global $wpinv_euvat; |
| 865 | 865 | |
| 866 | 866 | $invoice_id = $invoice->ID; |
| 867 | 867 | $vat_name = $wpinv_euvat->get_vat_name(); |
| 868 | 868 | $use_taxes = wpinv_use_taxes(); |
| 869 | 869 | |
| 870 | - $invoice_status = wpinv_get_invoice_status( $invoice_id ); |
|
| 870 | + $invoice_status = wpinv_get_invoice_status($invoice_id); |
|
| 871 | 871 | ?> |
| 872 | 872 | <table class="table table-bordered table-sm"> |
| 873 | - <?php if ( $invoice_number = wpinv_get_invoice_number( $invoice_id ) ) { ?> |
|
| 873 | + <?php if ($invoice_number = wpinv_get_invoice_number($invoice_id)) { ?> |
|
| 874 | 874 | <tr class="wpi-row-number"> |
| 875 | - <th><?php echo apply_filters( 'wpinv_invoice_number_label', __( 'Invoice Number', 'invoicing' ), $invoice ); ?></th> |
|
| 876 | - <td><?php echo esc_html( $invoice_number ); ?></td> |
|
| 875 | + <th><?php echo apply_filters('wpinv_invoice_number_label', __('Invoice Number', 'invoicing'), $invoice); ?></th> |
|
| 876 | + <td><?php echo esc_html($invoice_number); ?></td> |
|
| 877 | 877 | </tr> |
| 878 | 878 | <?php } ?> |
| 879 | 879 | <tr class="wpi-row-status"> |
| 880 | - <th><?php echo apply_filters( 'wpinv_invoice_status_label', __( 'Invoice Status', 'invoicing' ), $invoice ); ?></th> |
|
| 881 | - <td><?php echo wpinv_invoice_status_label( $invoice_status, wpinv_get_invoice_status( $invoice_id, true ) ); ?></td> |
|
| 880 | + <th><?php echo apply_filters('wpinv_invoice_status_label', __('Invoice Status', 'invoicing'), $invoice); ?></th> |
|
| 881 | + <td><?php echo wpinv_invoice_status_label($invoice_status, wpinv_get_invoice_status($invoice_id, true)); ?></td> |
|
| 882 | 882 | </tr> |
| 883 | - <?php if ( $invoice->is_renewal() ) { ?> |
|
| 883 | + <?php if ($invoice->is_renewal()) { ?> |
|
| 884 | 884 | <tr class="wpi-row-parent"> |
| 885 | - <th><?php echo apply_filters( 'wpinv_invoice_parent_invoice_label', __( 'Parent Invoice', 'invoicing' ), $invoice ); ?></th> |
|
| 886 | - <td><?php echo wpinv_invoice_link( $invoice->parent_invoice ); ?></td> |
|
| 885 | + <th><?php echo apply_filters('wpinv_invoice_parent_invoice_label', __('Parent Invoice', 'invoicing'), $invoice); ?></th> |
|
| 886 | + <td><?php echo wpinv_invoice_link($invoice->parent_invoice); ?></td> |
|
| 887 | 887 | </tr> |
| 888 | 888 | <?php } ?> |
| 889 | - <?php if ( ( $gateway_name = wpinv_get_payment_gateway_name( $invoice_id ) ) && ( $invoice->is_paid() || $invoice->is_refunded() ) ) { ?> |
|
| 889 | + <?php if (($gateway_name = wpinv_get_payment_gateway_name($invoice_id)) && ($invoice->is_paid() || $invoice->is_refunded())) { ?> |
|
| 890 | 890 | <tr class="wpi-row-gateway"> |
| 891 | - <th><?php echo apply_filters( 'wpinv_invoice_payment_method_label', __( 'Payment Method', 'invoicing' ), $invoice ); ?></th> |
|
| 891 | + <th><?php echo apply_filters('wpinv_invoice_payment_method_label', __('Payment Method', 'invoicing'), $invoice); ?></th> |
|
| 892 | 892 | <td><?php echo $gateway_name; ?></td> |
| 893 | 893 | </tr> |
| 894 | 894 | <?php } ?> |
| 895 | - <?php if ( $invoice_date = wpinv_get_invoice_date( $invoice_id ) ) { ?> |
|
| 895 | + <?php if ($invoice_date = wpinv_get_invoice_date($invoice_id)) { ?> |
|
| 896 | 896 | <tr class="wpi-row-date"> |
| 897 | - <th><?php echo apply_filters( 'wpinv_invoice_date_label', __( 'Invoice Date', 'invoicing' ), $invoice ); ?></th> |
|
| 897 | + <th><?php echo apply_filters('wpinv_invoice_date_label', __('Invoice Date', 'invoicing'), $invoice); ?></th> |
|
| 898 | 898 | <td><?php echo $invoice_date; ?></td> |
| 899 | 899 | </tr> |
| 900 | 900 | <?php } ?> |
| 901 | - <?php if ( wpinv_get_option( 'overdue_active' ) && $invoice->needs_payment() && ( $due_date = $invoice->get_due_date( true ) ) ) { ?> |
|
| 901 | + <?php if (wpinv_get_option('overdue_active') && $invoice->needs_payment() && ($due_date = $invoice->get_due_date(true))) { ?> |
|
| 902 | 902 | <tr class="wpi-row-date"> |
| 903 | - <th><?php echo apply_filters( 'wpinv_invoice_due_date_label', __( 'Due Date', 'invoicing' ), $invoice ); ?></th> |
|
| 903 | + <th><?php echo apply_filters('wpinv_invoice_due_date_label', __('Due Date', 'invoicing'), $invoice); ?></th> |
|
| 904 | 904 | <td><?php echo $due_date; ?></td> |
| 905 | 905 | </tr> |
| 906 | 906 | <?php } ?> |
| 907 | - <?php do_action( 'wpinv_display_details_after_due_date', $invoice_id ); ?> |
|
| 908 | - <?php if ( $owner_vat_number = $wpinv_euvat->get_vat_number() ) { ?> |
|
| 907 | + <?php do_action('wpinv_display_details_after_due_date', $invoice_id); ?> |
|
| 908 | + <?php if ($owner_vat_number = $wpinv_euvat->get_vat_number()) { ?> |
|
| 909 | 909 | <tr class="wpi-row-ovatno"> |
| 910 | - <th><?php echo apply_filters( 'wpinv_invoice_owner_vat_number_label', wp_sprintf( __( 'Owner %s Number', 'invoicing' ), $vat_name ), $invoice, $vat_name ); ?></th> |
|
| 910 | + <th><?php echo apply_filters('wpinv_invoice_owner_vat_number_label', wp_sprintf(__('Owner %s Number', 'invoicing'), $vat_name), $invoice, $vat_name); ?></th> |
|
| 911 | 911 | <td><?php echo $owner_vat_number; ?></td> |
| 912 | 912 | </tr> |
| 913 | 913 | <?php } ?> |
| 914 | - <?php do_action( 'wpinv_display_details_after_due_date', $invoice_id ); ?> |
|
| 915 | - <?php if ( $use_taxes && ( $user_vat_number = wpinv_get_invoice_vat_number( $invoice_id ) ) ) { ?> |
|
| 914 | + <?php do_action('wpinv_display_details_after_due_date', $invoice_id); ?> |
|
| 915 | + <?php if ($use_taxes && ($user_vat_number = wpinv_get_invoice_vat_number($invoice_id))) { ?> |
|
| 916 | 916 | <tr class="wpi-row-uvatno"> |
| 917 | - <th><?php echo apply_filters( 'wpinv_invoice_user_vat_number_label', wp_sprintf( __( 'Invoice %s Number', 'invoicing' ), $vat_name ), $invoice, $vat_name ); ?></th> |
|
| 917 | + <th><?php echo apply_filters('wpinv_invoice_user_vat_number_label', wp_sprintf(__('Invoice %s Number', 'invoicing'), $vat_name), $invoice, $vat_name); ?></th> |
|
| 918 | 918 | <td><?php echo $user_vat_number; ?></td> |
| 919 | 919 | </tr> |
| 920 | 920 | <?php } ?> |
| 921 | 921 | <tr class="table-active tr-total wpi-row-total"> |
| 922 | - <th><strong><?php _e( 'Total Amount', 'invoicing' ) ?></strong></th> |
|
| 923 | - <td><strong><?php echo wpinv_payment_total( $invoice_id, true ); ?></strong></td> |
|
| 922 | + <th><strong><?php _e('Total Amount', 'invoicing') ?></strong></th> |
|
| 923 | + <td><strong><?php echo wpinv_payment_total($invoice_id, true); ?></strong></td> |
|
| 924 | 924 | </tr> |
| 925 | 925 | </table> |
| 926 | 926 | <?php |
@@ -935,81 +935,81 @@ discard block |
||
| 935 | 935 | * @param array $billing_details customer's billing details |
| 936 | 936 | * @return string |
| 937 | 937 | */ |
| 938 | -function wpinv_get_invoice_address_markup( $billing_details ) { |
|
| 938 | +function wpinv_get_invoice_address_markup($billing_details) { |
|
| 939 | 939 | |
| 940 | 940 | // Retrieve the address markup... |
| 941 | 941 | $markup = wpinv_get_full_address_format(); |
| 942 | 942 | |
| 943 | 943 | // ... and the replacements. |
| 944 | - $replacements = wpinv_get_invoice_address_replacements( $billing_details ); |
|
| 944 | + $replacements = wpinv_get_invoice_address_replacements($billing_details); |
|
| 945 | 945 | |
| 946 | 946 | // Replace all available tags with their values. |
| 947 | - foreach( $replacements as $key => $value ) { |
|
| 948 | - $markup = str_ireplace( '{{' . $key . '}}', $value, $markup ); |
|
| 947 | + foreach ($replacements as $key => $value) { |
|
| 948 | + $markup = str_ireplace('{{' . $key . '}}', $value, $markup); |
|
| 949 | 949 | } |
| 950 | 950 | |
| 951 | 951 | // Remove unavailable tags. |
| 952 | - $markup = preg_replace( "/\{\{\w+}\}/", '', $markup ); |
|
| 952 | + $markup = preg_replace("/\{\{\w+}\}/", '', $markup); |
|
| 953 | 953 | |
| 954 | 954 | // Finally, clean then return the output. |
| 955 | - return wpautop( wp_kses_post( trim( $markup ) ) ); |
|
| 955 | + return wpautop(wp_kses_post(trim($markup))); |
|
| 956 | 956 | |
| 957 | 957 | } |
| 958 | 958 | |
| 959 | -function wpinv_display_to_address( $invoice_id = 0 ) { |
|
| 960 | - $invoice = wpinv_get_invoice( $invoice_id ); |
|
| 959 | +function wpinv_display_to_address($invoice_id = 0) { |
|
| 960 | + $invoice = wpinv_get_invoice($invoice_id); |
|
| 961 | 961 | |
| 962 | - if ( empty( $invoice ) ) { |
|
| 962 | + if (empty($invoice)) { |
|
| 963 | 963 | return NULL; |
| 964 | 964 | } |
| 965 | 965 | |
| 966 | 966 | $billing_details = $invoice->get_user_info(); |
| 967 | - $output = '<div class="to col-xs-2"><strong>' . __( 'To:', 'invoicing' ) . '</strong></div>'; |
|
| 967 | + $output = '<div class="to col-xs-2"><strong>' . __('To:', 'invoicing') . '</strong></div>'; |
|
| 968 | 968 | $output .= '<div class="wrapper col-xs-10">'; |
| 969 | 969 | |
| 970 | 970 | ob_start(); |
| 971 | - do_action( 'wpinv_display_to_address_top', $invoice ); |
|
| 971 | + do_action('wpinv_display_to_address_top', $invoice); |
|
| 972 | 972 | $output .= ob_get_clean(); |
| 973 | 973 | |
| 974 | - $output .= '<div class="name">' . esc_html( trim( $billing_details['first_name'] . ' ' . $billing_details['last_name'] ) ) . '</div>'; |
|
| 975 | - if ( $company = $billing_details['company'] ) { |
|
| 976 | - $output .= '<div class="company">' . wpautop( wp_kses_post( $company ) ) . '</div>'; |
|
| 974 | + $output .= '<div class="name">' . esc_html(trim($billing_details['first_name'] . ' ' . $billing_details['last_name'])) . '</div>'; |
|
| 975 | + if ($company = $billing_details['company']) { |
|
| 976 | + $output .= '<div class="company">' . wpautop(wp_kses_post($company)) . '</div>'; |
|
| 977 | 977 | } |
| 978 | 978 | |
| 979 | - $address_row = wpinv_get_invoice_address_markup( $billing_details ); |
|
| 979 | + $address_row = wpinv_get_invoice_address_markup($billing_details); |
|
| 980 | 980 | |
| 981 | - if ( $address_row ) { |
|
| 981 | + if ($address_row) { |
|
| 982 | 982 | $output .= '<div class="address">' . $address_row . '</div>'; |
| 983 | 983 | } |
| 984 | 984 | |
| 985 | - if ( $phone = $invoice->get_phone() ) { |
|
| 986 | - $output .= '<div class="phone">' . wp_sprintf( __( 'Phone: %s', 'invoicing' ), esc_html( $phone ) ) . '</div>'; |
|
| 985 | + if ($phone = $invoice->get_phone()) { |
|
| 986 | + $output .= '<div class="phone">' . wp_sprintf(__('Phone: %s', 'invoicing'), esc_html($phone)) . '</div>'; |
|
| 987 | 987 | } |
| 988 | - if ( $email = $invoice->get_email() ) { |
|
| 989 | - $output .= '<div class="email">' . wp_sprintf( __( 'Email: %s' , 'invoicing'), esc_html( $email ) ) . '</div>'; |
|
| 988 | + if ($email = $invoice->get_email()) { |
|
| 989 | + $output .= '<div class="email">' . wp_sprintf(__('Email: %s', 'invoicing'), esc_html($email)) . '</div>'; |
|
| 990 | 990 | } |
| 991 | 991 | |
| 992 | 992 | ob_start(); |
| 993 | - do_action( 'wpinv_display_to_address_bottom', $invoice ); |
|
| 993 | + do_action('wpinv_display_to_address_bottom', $invoice); |
|
| 994 | 994 | $output .= ob_get_clean(); |
| 995 | 995 | |
| 996 | 996 | $output .= '</div>'; |
| 997 | - $output = apply_filters( 'wpinv_display_to_address', $output, $invoice ); |
|
| 997 | + $output = apply_filters('wpinv_display_to_address', $output, $invoice); |
|
| 998 | 998 | |
| 999 | 999 | echo $output; |
| 1000 | 1000 | } |
| 1001 | 1001 | |
| 1002 | -function wpinv_display_line_items( $invoice_id = 0 ) { |
|
| 1002 | +function wpinv_display_line_items($invoice_id = 0) { |
|
| 1003 | 1003 | global $wpinv_euvat, $ajax_cart_details; |
| 1004 | - $invoice = wpinv_get_invoice( $invoice_id ); |
|
| 1004 | + $invoice = wpinv_get_invoice($invoice_id); |
|
| 1005 | 1005 | $quantities_enabled = wpinv_item_quantities_enabled(); |
| 1006 | 1006 | $use_taxes = wpinv_use_taxes(); |
| 1007 | - if ( !$use_taxes && (float)$invoice->get_tax() > 0 ) { |
|
| 1007 | + if (!$use_taxes && (float)$invoice->get_tax() > 0) { |
|
| 1008 | 1008 | $use_taxes = true; |
| 1009 | 1009 | } |
| 1010 | 1010 | $zero_tax = !(float)$invoice->get_tax() > 0 ? true : false; |
| 1011 | - $tax_label = $use_taxes && $invoice->has_vat() ? $wpinv_euvat->get_vat_name() : __( 'Tax', 'invoicing' ); |
|
| 1012 | - $tax_title = !$zero_tax && $use_taxes ? ( wpinv_prices_include_tax() ? wp_sprintf( __( '(%s Incl.)', 'invoicing' ), $tax_label ) : wp_sprintf( __( '(%s Excl.)', 'invoicing' ), $tax_label ) ) : ''; |
|
| 1011 | + $tax_label = $use_taxes && $invoice->has_vat() ? $wpinv_euvat->get_vat_name() : __('Tax', 'invoicing'); |
|
| 1012 | + $tax_title = !$zero_tax && $use_taxes ? (wpinv_prices_include_tax() ? wp_sprintf(__('(%s Incl.)', 'invoicing'), $tax_label) : wp_sprintf(__('(%s Excl.)', 'invoicing'), $tax_label)) : ''; |
|
| 1013 | 1013 | |
| 1014 | 1014 | $cart_details = $invoice->get_cart_details(); |
| 1015 | 1015 | $ajax_cart_details = $cart_details; |
@@ -1018,67 +1018,67 @@ discard block |
||
| 1018 | 1018 | <table class="table table-sm table-bordered table-responsive"> |
| 1019 | 1019 | <thead> |
| 1020 | 1020 | <tr> |
| 1021 | - <th class="name"><strong><?php _e( "Item Name", "invoicing" );?></strong></th> |
|
| 1022 | - <th class="rate"><strong><?php _e( "Price", "invoicing" );?></strong></th> |
|
| 1021 | + <th class="name"><strong><?php _e("Item Name", "invoicing"); ?></strong></th> |
|
| 1022 | + <th class="rate"><strong><?php _e("Price", "invoicing"); ?></strong></th> |
|
| 1023 | 1023 | <?php if ($quantities_enabled) { ?> |
| 1024 | - <th class="qty"><strong><?php _e( "Qty", "invoicing" );?></strong></th> |
|
| 1024 | + <th class="qty"><strong><?php _e("Qty", "invoicing"); ?></strong></th> |
|
| 1025 | 1025 | <?php } ?> |
| 1026 | 1026 | <?php if ($use_taxes && !$zero_tax) { ?> |
| 1027 | 1027 | <th class="tax"><strong><?php echo $tax_label . ' <span class="normal small">(%)</span>'; ?></strong></th> |
| 1028 | 1028 | <?php } ?> |
| 1029 | - <th class="total"><strong><?php echo __( "Item Total", "invoicing" ) . ' <span class="normal small">' . $tax_title . '<span>';?></strong></th> |
|
| 1029 | + <th class="total"><strong><?php echo __("Item Total", "invoicing") . ' <span class="normal small">' . $tax_title . '<span>'; ?></strong></th> |
|
| 1030 | 1030 | </tr> |
| 1031 | 1031 | </thead> |
| 1032 | 1032 | <tbody> |
| 1033 | 1033 | <?php |
| 1034 | - if ( !empty( $cart_details ) ) { |
|
| 1035 | - do_action( 'wpinv_display_line_items_start', $invoice ); |
|
| 1034 | + if (!empty($cart_details)) { |
|
| 1035 | + do_action('wpinv_display_line_items_start', $invoice); |
|
| 1036 | 1036 | |
| 1037 | 1037 | $count = 0; |
| 1038 | 1038 | $cols = 3; |
| 1039 | - foreach ( $cart_details as $key => $cart_item ) { |
|
| 1040 | - $item_id = !empty($cart_item['id']) ? absint( $cart_item['id'] ) : ''; |
|
| 1041 | - $item_price = isset($cart_item["item_price"]) ? wpinv_round_amount( $cart_item["item_price"] ) : 0; |
|
| 1042 | - $line_total = isset($cart_item["subtotal"]) ? wpinv_round_amount( $cart_item["subtotal"] ) : 0; |
|
| 1043 | - $quantity = !empty($cart_item['quantity']) && (int)$cart_item['quantity'] > 0 ? absint( $cart_item['quantity'] ) : 1; |
|
| 1039 | + foreach ($cart_details as $key => $cart_item) { |
|
| 1040 | + $item_id = !empty($cart_item['id']) ? absint($cart_item['id']) : ''; |
|
| 1041 | + $item_price = isset($cart_item["item_price"]) ? wpinv_round_amount($cart_item["item_price"]) : 0; |
|
| 1042 | + $line_total = isset($cart_item["subtotal"]) ? wpinv_round_amount($cart_item["subtotal"]) : 0; |
|
| 1043 | + $quantity = !empty($cart_item['quantity']) && (int)$cart_item['quantity'] > 0 ? absint($cart_item['quantity']) : 1; |
|
| 1044 | 1044 | |
| 1045 | - $item = $item_id ? new WPInv_Item( $item_id ) : NULL; |
|
| 1045 | + $item = $item_id ? new WPInv_Item($item_id) : NULL; |
|
| 1046 | 1046 | $summary = ''; |
| 1047 | - $item_name = ''; |
|
| 1047 | + $item_name = ''; |
|
| 1048 | 1048 | $cols = 3; |
| 1049 | - if ( !empty($item) ) { |
|
| 1049 | + if (!empty($item)) { |
|
| 1050 | 1050 | $item_name = $item->get_name(); |
| 1051 | 1051 | $summary = $item->get_summary(); |
| 1052 | 1052 | } |
| 1053 | - $item_name = !empty($cart_item['name']) ? $cart_item['name'] : $item_name; |
|
| 1053 | + $item_name = !empty($cart_item['name']) ? $cart_item['name'] : $item_name; |
|
| 1054 | 1054 | |
| 1055 | - $summary = apply_filters( 'wpinv_print_invoice_line_item_summary', $summary, $cart_item, $item, $invoice ); |
|
| 1055 | + $summary = apply_filters('wpinv_print_invoice_line_item_summary', $summary, $cart_item, $item, $invoice); |
|
| 1056 | 1056 | |
| 1057 | 1057 | $item_tax = ''; |
| 1058 | 1058 | $tax_rate = ''; |
| 1059 | - if ( $use_taxes && $cart_item['tax'] > 0 && $cart_item['subtotal'] > 0 ) { |
|
| 1060 | - $item_tax = wpinv_price( wpinv_format_amount( $cart_item['tax'] ), $invoice->get_currency() ); |
|
| 1061 | - $tax_rate = !empty( $cart_item['vat_rate'] ) ? $cart_item['vat_rate'] : ( $cart_item['tax'] / $cart_item['subtotal'] ) * 100; |
|
| 1062 | - $tax_rate = $tax_rate > 0 ? (float)wpinv_round_amount( $tax_rate, 4 ) : ''; |
|
| 1059 | + if ($use_taxes && $cart_item['tax'] > 0 && $cart_item['subtotal'] > 0) { |
|
| 1060 | + $item_tax = wpinv_price(wpinv_format_amount($cart_item['tax']), $invoice->get_currency()); |
|
| 1061 | + $tax_rate = !empty($cart_item['vat_rate']) ? $cart_item['vat_rate'] : ($cart_item['tax'] / $cart_item['subtotal']) * 100; |
|
| 1062 | + $tax_rate = $tax_rate > 0 ? (float)wpinv_round_amount($tax_rate, 4) : ''; |
|
| 1063 | 1063 | $tax_rate = $tax_rate != '' ? ' <small class="tax-rate">(' . $tax_rate . '%)</small>' : ''; |
| 1064 | 1064 | } |
| 1065 | 1065 | |
| 1066 | 1066 | $line_item_tax = $item_tax . $tax_rate; |
| 1067 | 1067 | |
| 1068 | - if ( $line_item_tax === '' ) { |
|
| 1068 | + if ($line_item_tax === '') { |
|
| 1069 | 1069 | $line_item_tax = 0; // Zero tax |
| 1070 | 1070 | } |
| 1071 | 1071 | |
| 1072 | - $action = apply_filters( 'wpinv_display_line_item_action', '', $cart_item, $invoice, $cols ); |
|
| 1072 | + $action = apply_filters('wpinv_display_line_item_action', '', $cart_item, $invoice, $cols); |
|
| 1073 | 1073 | |
| 1074 | - $line_item = '<tr class="row-' . ( ($count % 2 == 0) ? 'even' : 'odd' ) . ' wpinv-item">'; |
|
| 1075 | - $line_item .= '<td class="name">' . $action. esc_html__( $item_name, 'invoicing' ) . wpinv_get_item_suffix( $item ); |
|
| 1076 | - if ( $summary !== '' ) { |
|
| 1077 | - $line_item .= '<br/><small class="meta">' . wpautop( wp_kses_post( $summary ) ) . '</small>'; |
|
| 1074 | + $line_item = '<tr class="row-' . (($count % 2 == 0) ? 'even' : 'odd') . ' wpinv-item">'; |
|
| 1075 | + $line_item .= '<td class="name">' . $action . esc_html__($item_name, 'invoicing') . wpinv_get_item_suffix($item); |
|
| 1076 | + if ($summary !== '') { |
|
| 1077 | + $line_item .= '<br/><small class="meta">' . wpautop(wp_kses_post($summary)) . '</small>'; |
|
| 1078 | 1078 | } |
| 1079 | 1079 | $line_item .= '</td>'; |
| 1080 | 1080 | |
| 1081 | - $line_item .= '<td class="rate">' . esc_html__( wpinv_price( wpinv_format_amount( $item_price ), $invoice->get_currency() ) ) . '</td>'; |
|
| 1081 | + $line_item .= '<td class="rate">' . esc_html__(wpinv_price(wpinv_format_amount($item_price), $invoice->get_currency())) . '</td>'; |
|
| 1082 | 1082 | if ($quantities_enabled) { |
| 1083 | 1083 | $cols++; |
| 1084 | 1084 | $line_item .= '<td class="qty">' . $quantity . '</td>'; |
@@ -1087,55 +1087,55 @@ discard block |
||
| 1087 | 1087 | $cols++; |
| 1088 | 1088 | $line_item .= '<td class="tax">' . $line_item_tax . '</td>'; |
| 1089 | 1089 | } |
| 1090 | - $line_item .= '<td class="total">' . esc_html__( wpinv_price( wpinv_format_amount( $line_total ), $invoice->get_currency() ) ) . '</td>'; |
|
| 1090 | + $line_item .= '<td class="total">' . esc_html__(wpinv_price(wpinv_format_amount($line_total), $invoice->get_currency())) . '</td>'; |
|
| 1091 | 1091 | $line_item .= '</tr>'; |
| 1092 | 1092 | |
| 1093 | - echo apply_filters( 'wpinv_display_line_item', $line_item, $cart_item, $invoice, $cols ); |
|
| 1093 | + echo apply_filters('wpinv_display_line_item', $line_item, $cart_item, $invoice, $cols); |
|
| 1094 | 1094 | |
| 1095 | 1095 | $count++; |
| 1096 | 1096 | } |
| 1097 | 1097 | |
| 1098 | - do_action( 'wpinv_display_before_subtotal', $invoice, $cols ); |
|
| 1098 | + do_action('wpinv_display_before_subtotal', $invoice, $cols); |
|
| 1099 | 1099 | ?> |
| 1100 | 1100 | <tr class="row-sub-total row_odd"> |
| 1101 | - <td class="rate" colspan="<?php echo ( $cols - 1 ); ?>"><?php echo apply_filters( 'wpinv_print_cart_subtotal_label', '<strong>' . __( 'Sub Total', 'invoicing' ) . ':</strong>', $invoice ); ?></td> |
|
| 1102 | - <td class="total"><strong><?php _e( wpinv_subtotal( $invoice_id, true ) ) ?></strong></td> |
|
| 1101 | + <td class="rate" colspan="<?php echo ($cols - 1); ?>"><?php echo apply_filters('wpinv_print_cart_subtotal_label', '<strong>' . __('Sub Total', 'invoicing') . ':</strong>', $invoice); ?></td> |
|
| 1102 | + <td class="total"><strong><?php _e(wpinv_subtotal($invoice_id, true)) ?></strong></td> |
|
| 1103 | 1103 | </tr> |
| 1104 | 1104 | <?php |
| 1105 | - do_action( 'wpinv_display_after_subtotal', $invoice, $cols ); |
|
| 1105 | + do_action('wpinv_display_after_subtotal', $invoice, $cols); |
|
| 1106 | 1106 | |
| 1107 | - if ( wpinv_discount( $invoice_id, false ) > 0 ) { |
|
| 1108 | - do_action( 'wpinv_display_before_discount', $invoice, $cols ); |
|
| 1107 | + if (wpinv_discount($invoice_id, false) > 0) { |
|
| 1108 | + do_action('wpinv_display_before_discount', $invoice, $cols); |
|
| 1109 | 1109 | ?> |
| 1110 | 1110 | <tr class="row-discount"> |
| 1111 | - <td class="rate" colspan="<?php echo ( $cols - 1 ); ?>"><?php wpinv_get_discount_label( wpinv_discount_code( $invoice_id ) ); ?>:</td> |
|
| 1112 | - <td class="total"><?php echo wpinv_discount( $invoice_id, true, true ); ?></td> |
|
| 1111 | + <td class="rate" colspan="<?php echo ($cols - 1); ?>"><?php wpinv_get_discount_label(wpinv_discount_code($invoice_id)); ?>:</td> |
|
| 1112 | + <td class="total"><?php echo wpinv_discount($invoice_id, true, true); ?></td> |
|
| 1113 | 1113 | </tr> |
| 1114 | 1114 | <?php |
| 1115 | - do_action( 'wpinv_display_after_discount', $invoice, $cols ); |
|
| 1115 | + do_action('wpinv_display_after_discount', $invoice, $cols); |
|
| 1116 | 1116 | } |
| 1117 | 1117 | |
| 1118 | - if ( $use_taxes ) { |
|
| 1119 | - do_action( 'wpinv_display_before_tax', $invoice, $cols ); |
|
| 1118 | + if ($use_taxes) { |
|
| 1119 | + do_action('wpinv_display_before_tax', $invoice, $cols); |
|
| 1120 | 1120 | ?> |
| 1121 | 1121 | <tr class="row-tax"> |
| 1122 | - <td class="rate" colspan="<?php echo ( $cols - 1 ); ?>"><?php echo apply_filters( 'wpinv_print_cart_tax_label', '<strong>' . $tax_label . ':</strong>', $invoice ); ?></td> |
|
| 1123 | - <td class="total"><?php _e( wpinv_tax( $invoice_id, true ) ) ?></td> |
|
| 1122 | + <td class="rate" colspan="<?php echo ($cols - 1); ?>"><?php echo apply_filters('wpinv_print_cart_tax_label', '<strong>' . $tax_label . ':</strong>', $invoice); ?></td> |
|
| 1123 | + <td class="total"><?php _e(wpinv_tax($invoice_id, true)) ?></td> |
|
| 1124 | 1124 | </tr> |
| 1125 | 1125 | <?php |
| 1126 | - do_action( 'wpinv_display_after_tax', $invoice, $cols ); |
|
| 1126 | + do_action('wpinv_display_after_tax', $invoice, $cols); |
|
| 1127 | 1127 | } |
| 1128 | 1128 | |
| 1129 | - do_action( 'wpinv_display_before_total', $invoice, $cols ); |
|
| 1129 | + do_action('wpinv_display_before_total', $invoice, $cols); |
|
| 1130 | 1130 | ?> |
| 1131 | 1131 | <tr class="table-active row-total"> |
| 1132 | - <td class="rate" colspan="<?php echo ( $cols - 1 ); ?>"><?php echo apply_filters( 'wpinv_print_cart_total_label', '<strong>' . __( 'Total', 'invoicing' ) . ':</strong>', $invoice ); ?></td> |
|
| 1133 | - <td class="total"><strong><?php _e( wpinv_payment_total( $invoice_id, true ) ) ?></strong></td> |
|
| 1132 | + <td class="rate" colspan="<?php echo ($cols - 1); ?>"><?php echo apply_filters('wpinv_print_cart_total_label', '<strong>' . __('Total', 'invoicing') . ':</strong>', $invoice); ?></td> |
|
| 1133 | + <td class="total"><strong><?php _e(wpinv_payment_total($invoice_id, true)) ?></strong></td> |
|
| 1134 | 1134 | </tr> |
| 1135 | 1135 | <?php |
| 1136 | - do_action( 'wpinv_display_after_total', $invoice, $cols ); |
|
| 1136 | + do_action('wpinv_display_after_total', $invoice, $cols); |
|
| 1137 | 1137 | |
| 1138 | - do_action( 'wpinv_display_line_end', $invoice, $cols ); |
|
| 1138 | + do_action('wpinv_display_line_end', $invoice, $cols); |
|
| 1139 | 1139 | } |
| 1140 | 1140 | ?> |
| 1141 | 1141 | </tbody> |
@@ -1144,35 +1144,35 @@ discard block |
||
| 1144 | 1144 | echo ob_get_clean(); |
| 1145 | 1145 | } |
| 1146 | 1146 | |
| 1147 | -function wpinv_display_invoice_totals( $invoice_id = 0 ) { |
|
| 1147 | +function wpinv_display_invoice_totals($invoice_id = 0) { |
|
| 1148 | 1148 | $use_taxes = wpinv_use_taxes(); |
| 1149 | 1149 | |
| 1150 | - do_action( 'wpinv_before_display_totals_table', $invoice_id ); |
|
| 1150 | + do_action('wpinv_before_display_totals_table', $invoice_id); |
|
| 1151 | 1151 | ?> |
| 1152 | 1152 | <table class="table table-sm table-bordered table-responsive"> |
| 1153 | 1153 | <tbody> |
| 1154 | - <?php do_action( 'wpinv_before_display_totals' ); ?> |
|
| 1154 | + <?php do_action('wpinv_before_display_totals'); ?> |
|
| 1155 | 1155 | <tr class="row-sub-total"> |
| 1156 | - <td class="rate"><strong><?php _e( 'Sub Total', 'invoicing' ); ?></strong></td> |
|
| 1157 | - <td class="total"><strong><?php _e( wpinv_subtotal( $invoice_id, true ) ) ?></strong></td> |
|
| 1156 | + <td class="rate"><strong><?php _e('Sub Total', 'invoicing'); ?></strong></td> |
|
| 1157 | + <td class="total"><strong><?php _e(wpinv_subtotal($invoice_id, true)) ?></strong></td> |
|
| 1158 | 1158 | </tr> |
| 1159 | - <?php do_action( 'wpinv_after_display_totals' ); ?> |
|
| 1160 | - <?php if ( wpinv_discount( $invoice_id, false ) > 0 ) { ?> |
|
| 1159 | + <?php do_action('wpinv_after_display_totals'); ?> |
|
| 1160 | + <?php if (wpinv_discount($invoice_id, false) > 0) { ?> |
|
| 1161 | 1161 | <tr class="row-discount"> |
| 1162 | - <td class="rate"><?php wpinv_get_discount_label( wpinv_discount_code( $invoice_id ) ); ?></td> |
|
| 1163 | - <td class="total"><?php echo wpinv_discount( $invoice_id, true, true ); ?></td> |
|
| 1162 | + <td class="rate"><?php wpinv_get_discount_label(wpinv_discount_code($invoice_id)); ?></td> |
|
| 1163 | + <td class="total"><?php echo wpinv_discount($invoice_id, true, true); ?></td> |
|
| 1164 | 1164 | </tr> |
| 1165 | - <?php do_action( 'wpinv_after_display_discount' ); ?> |
|
| 1165 | + <?php do_action('wpinv_after_display_discount'); ?> |
|
| 1166 | 1166 | <?php } ?> |
| 1167 | - <?php if ( $use_taxes ) { ?> |
|
| 1167 | + <?php if ($use_taxes) { ?> |
|
| 1168 | 1168 | <tr class="row-tax"> |
| 1169 | - <td class="rate"><?php _e( 'Tax', 'invoicing' ); ?></td> |
|
| 1170 | - <td class="total"><?php _e( wpinv_tax( $invoice_id, true ) ) ?></td> |
|
| 1169 | + <td class="rate"><?php _e('Tax', 'invoicing'); ?></td> |
|
| 1170 | + <td class="total"><?php _e(wpinv_tax($invoice_id, true)) ?></td> |
|
| 1171 | 1171 | </tr> |
| 1172 | - <?php do_action( 'wpinv_after_display_tax' ); ?> |
|
| 1172 | + <?php do_action('wpinv_after_display_tax'); ?> |
|
| 1173 | 1173 | <?php } ?> |
| 1174 | - <?php if ( $fees = wpinv_get_fees( $invoice_id ) ) { ?> |
|
| 1175 | - <?php foreach ( $fees as $fee ) { ?> |
|
| 1174 | + <?php if ($fees = wpinv_get_fees($invoice_id)) { ?> |
|
| 1175 | + <?php foreach ($fees as $fee) { ?> |
|
| 1176 | 1176 | <tr class="row-fee"> |
| 1177 | 1177 | <td class="rate"><?php echo $fee['label']; ?></td> |
| 1178 | 1178 | <td class="total"><?php echo $fee['amount_display']; ?></td> |
@@ -1180,82 +1180,82 @@ discard block |
||
| 1180 | 1180 | <?php } ?> |
| 1181 | 1181 | <?php } ?> |
| 1182 | 1182 | <tr class="table-active row-total"> |
| 1183 | - <td class="rate"><strong><?php _e( 'Total', 'invoicing' ) ?></strong></td> |
|
| 1184 | - <td class="total"><strong><?php _e( wpinv_payment_total( $invoice_id, true ) ) ?></strong></td> |
|
| 1183 | + <td class="rate"><strong><?php _e('Total', 'invoicing') ?></strong></td> |
|
| 1184 | + <td class="total"><strong><?php _e(wpinv_payment_total($invoice_id, true)) ?></strong></td> |
|
| 1185 | 1185 | </tr> |
| 1186 | - <?php do_action( 'wpinv_after_totals' ); ?> |
|
| 1186 | + <?php do_action('wpinv_after_totals'); ?> |
|
| 1187 | 1187 | </tbody> |
| 1188 | 1188 | |
| 1189 | 1189 | </table> |
| 1190 | 1190 | |
| 1191 | - <?php do_action( 'wpinv_after_totals_table' ); |
|
| 1191 | + <?php do_action('wpinv_after_totals_table'); |
|
| 1192 | 1192 | } |
| 1193 | 1193 | |
| 1194 | -function wpinv_display_payments_info( $invoice_id = 0, $echo = true ) { |
|
| 1195 | - $invoice = wpinv_get_invoice( $invoice_id ); |
|
| 1194 | +function wpinv_display_payments_info($invoice_id = 0, $echo = true) { |
|
| 1195 | + $invoice = wpinv_get_invoice($invoice_id); |
|
| 1196 | 1196 | |
| 1197 | 1197 | ob_start(); |
| 1198 | - do_action( 'wpinv_before_display_payments_info', $invoice_id ); |
|
| 1199 | - if ( ( $gateway_title = $invoice->get_gateway_title() ) || $invoice->is_paid() || $invoice->is_refunded() ) { |
|
| 1198 | + do_action('wpinv_before_display_payments_info', $invoice_id); |
|
| 1199 | + if (($gateway_title = $invoice->get_gateway_title()) || $invoice->is_paid() || $invoice->is_refunded()) { |
|
| 1200 | 1200 | ?> |
| 1201 | 1201 | <div class="wpi-payment-info"> |
| 1202 | - <p class="wpi-payment-gateway"><?php echo wp_sprintf( __( 'Payment via %s', 'invoicing' ), $gateway_title ? $gateway_title : __( 'Manually', 'invoicing' ) ); ?></p> |
|
| 1203 | - <?php if ( $gateway_title ) { ?> |
|
| 1204 | - <p class="wpi-payment-transid"><?php echo wp_sprintf( __( 'Transaction ID: %s', 'invoicing' ), $invoice->get_transaction_id() ); ?></p> |
|
| 1202 | + <p class="wpi-payment-gateway"><?php echo wp_sprintf(__('Payment via %s', 'invoicing'), $gateway_title ? $gateway_title : __('Manually', 'invoicing')); ?></p> |
|
| 1203 | + <?php if ($gateway_title) { ?> |
|
| 1204 | + <p class="wpi-payment-transid"><?php echo wp_sprintf(__('Transaction ID: %s', 'invoicing'), $invoice->get_transaction_id()); ?></p> |
|
| 1205 | 1205 | <?php } ?> |
| 1206 | 1206 | </div> |
| 1207 | 1207 | <?php |
| 1208 | 1208 | } |
| 1209 | - do_action( 'wpinv_after_display_payments_info', $invoice_id ); |
|
| 1209 | + do_action('wpinv_after_display_payments_info', $invoice_id); |
|
| 1210 | 1210 | $outout = ob_get_clean(); |
| 1211 | 1211 | |
| 1212 | - if ( $echo ) { |
|
| 1212 | + if ($echo) { |
|
| 1213 | 1213 | echo $outout; |
| 1214 | 1214 | } else { |
| 1215 | 1215 | return $outout; |
| 1216 | 1216 | } |
| 1217 | 1217 | } |
| 1218 | 1218 | |
| 1219 | -function wpinv_display_style( $invoice ) { |
|
| 1220 | - wp_register_style( 'wpinv-single-style', WPINV_PLUGIN_URL . 'assets/css/invoice.css', array(), WPINV_VERSION ); |
|
| 1219 | +function wpinv_display_style($invoice) { |
|
| 1220 | + wp_register_style('wpinv-single-style', WPINV_PLUGIN_URL . 'assets/css/invoice.css', array(), WPINV_VERSION); |
|
| 1221 | 1221 | |
| 1222 | - wp_print_styles( 'open-sans' ); |
|
| 1223 | - wp_print_styles( 'wpinv-single-style' ); |
|
| 1222 | + wp_print_styles('open-sans'); |
|
| 1223 | + wp_print_styles('wpinv-single-style'); |
|
| 1224 | 1224 | |
| 1225 | 1225 | $custom_css = wpinv_get_option('template_custom_css'); |
| 1226 | - if(isset($custom_css) && !empty($custom_css)){ |
|
| 1227 | - $custom_css = wp_kses( $custom_css, array( '\'', '\"' ) ); |
|
| 1228 | - $custom_css = str_replace( '>', '>', $custom_css ); |
|
| 1226 | + if (isset($custom_css) && !empty($custom_css)) { |
|
| 1227 | + $custom_css = wp_kses($custom_css, array('\'', '\"')); |
|
| 1228 | + $custom_css = str_replace('>', '>', $custom_css); |
|
| 1229 | 1229 | echo '<style type="text/css">'; |
| 1230 | 1230 | echo $custom_css; |
| 1231 | 1231 | echo '</style>'; |
| 1232 | 1232 | } |
| 1233 | 1233 | } |
| 1234 | -add_action( 'wpinv_invoice_print_head', 'wpinv_display_style' ); |
|
| 1235 | -add_action( 'wpinv_invalid_invoice_head', 'wpinv_display_style' ); |
|
| 1234 | +add_action('wpinv_invoice_print_head', 'wpinv_display_style'); |
|
| 1235 | +add_action('wpinv_invalid_invoice_head', 'wpinv_display_style'); |
|
| 1236 | 1236 | |
| 1237 | 1237 | function wpinv_checkout_billing_details() { |
| 1238 | 1238 | $invoice_id = (int)wpinv_get_invoice_cart_id(); |
| 1239 | 1239 | if (empty($invoice_id)) { |
| 1240 | - wpinv_error_log( 'Invoice id not found', 'ERROR', __FILE__, __LINE__ ); |
|
| 1240 | + wpinv_error_log('Invoice id not found', 'ERROR', __FILE__, __LINE__); |
|
| 1241 | 1241 | return null; |
| 1242 | 1242 | } |
| 1243 | 1243 | |
| 1244 | - $invoice = wpinv_get_invoice_cart( $invoice_id ); |
|
| 1244 | + $invoice = wpinv_get_invoice_cart($invoice_id); |
|
| 1245 | 1245 | if (empty($invoice)) { |
| 1246 | - wpinv_error_log( 'Invoice not found', 'ERROR', __FILE__, __LINE__ ); |
|
| 1246 | + wpinv_error_log('Invoice not found', 'ERROR', __FILE__, __LINE__); |
|
| 1247 | 1247 | return null; |
| 1248 | 1248 | } |
| 1249 | 1249 | $user_id = $invoice->get_user_id(); |
| 1250 | 1250 | $user_info = $invoice->get_user_info(); |
| 1251 | - $address_info = wpinv_get_user_address( $user_id ); |
|
| 1251 | + $address_info = wpinv_get_user_address($user_id); |
|
| 1252 | 1252 | |
| 1253 | - if ( empty( $user_info['first_name'] ) && !empty( $user_info['first_name'] ) ) { |
|
| 1253 | + if (empty($user_info['first_name']) && !empty($user_info['first_name'])) { |
|
| 1254 | 1254 | $user_info['first_name'] = $user_info['first_name']; |
| 1255 | 1255 | $user_info['last_name'] = $user_info['last_name']; |
| 1256 | 1256 | } |
| 1257 | 1257 | |
| 1258 | - if ( ( ( empty( $user_info['country'] ) && !empty( $address_info['country'] ) ) || ( empty( $user_info['state'] ) && !empty( $address_info['state'] ) && $user_info['country'] == $address_info['country'] ) ) ) { |
|
| 1258 | + if (((empty($user_info['country']) && !empty($address_info['country'])) || (empty($user_info['state']) && !empty($address_info['state']) && $user_info['country'] == $address_info['country']))) { |
|
| 1259 | 1259 | $user_info['country'] = $address_info['country']; |
| 1260 | 1260 | $user_info['state'] = $address_info['state']; |
| 1261 | 1261 | $user_info['city'] = $address_info['city']; |
@@ -1271,98 +1271,98 @@ discard block |
||
| 1271 | 1271 | 'address' |
| 1272 | 1272 | ); |
| 1273 | 1273 | |
| 1274 | - foreach ( $address_fields as $field ) { |
|
| 1275 | - if ( empty( $user_info[$field] ) ) { |
|
| 1274 | + foreach ($address_fields as $field) { |
|
| 1275 | + if (empty($user_info[$field])) { |
|
| 1276 | 1276 | $user_info[$field] = $address_info[$field]; |
| 1277 | 1277 | } |
| 1278 | 1278 | } |
| 1279 | 1279 | |
| 1280 | - return apply_filters( 'wpinv_checkout_billing_details', $user_info, $invoice ); |
|
| 1280 | + return apply_filters('wpinv_checkout_billing_details', $user_info, $invoice); |
|
| 1281 | 1281 | } |
| 1282 | 1282 | |
| 1283 | 1283 | function wpinv_admin_get_line_items($invoice = array()) { |
| 1284 | 1284 | $item_quantities = wpinv_item_quantities_enabled(); |
| 1285 | 1285 | $use_taxes = wpinv_use_taxes(); |
| 1286 | 1286 | |
| 1287 | - if ( empty( $invoice ) ) { |
|
| 1287 | + if (empty($invoice)) { |
|
| 1288 | 1288 | return NULL; |
| 1289 | 1289 | } |
| 1290 | 1290 | |
| 1291 | 1291 | $cart_items = $invoice->get_cart_details(); |
| 1292 | - if ( empty( $cart_items ) ) { |
|
| 1292 | + if (empty($cart_items)) { |
|
| 1293 | 1293 | return NULL; |
| 1294 | 1294 | } |
| 1295 | 1295 | ob_start(); |
| 1296 | 1296 | |
| 1297 | - do_action( 'wpinv_admin_before_line_items', $cart_items, $invoice ); |
|
| 1297 | + do_action('wpinv_admin_before_line_items', $cart_items, $invoice); |
|
| 1298 | 1298 | |
| 1299 | 1299 | $count = 0; |
| 1300 | - foreach ( $cart_items as $key => $cart_item ) { |
|
| 1300 | + foreach ($cart_items as $key => $cart_item) { |
|
| 1301 | 1301 | $item_id = $cart_item['id']; |
| 1302 | - $wpi_item = $item_id > 0 ? new WPInv_Item( $item_id ) : NULL; |
|
| 1302 | + $wpi_item = $item_id > 0 ? new WPInv_Item($item_id) : NULL; |
|
| 1303 | 1303 | |
| 1304 | 1304 | if (empty($wpi_item)) { |
| 1305 | 1305 | continue; |
| 1306 | 1306 | } |
| 1307 | 1307 | |
| 1308 | - $item_price = wpinv_price( wpinv_format_amount( $cart_item['item_price'] ), $invoice->get_currency() ); |
|
| 1309 | - $quantity = !empty( $cart_item['quantity'] ) && $cart_item['quantity'] > 0 ? $cart_item['quantity'] : 1; |
|
| 1310 | - $item_subtotal = wpinv_price( wpinv_format_amount( $cart_item['subtotal'] ), $invoice->get_currency() ); |
|
| 1308 | + $item_price = wpinv_price(wpinv_format_amount($cart_item['item_price']), $invoice->get_currency()); |
|
| 1309 | + $quantity = !empty($cart_item['quantity']) && $cart_item['quantity'] > 0 ? $cart_item['quantity'] : 1; |
|
| 1310 | + $item_subtotal = wpinv_price(wpinv_format_amount($cart_item['subtotal']), $invoice->get_currency()); |
|
| 1311 | 1311 | $can_remove = true; |
| 1312 | 1312 | |
| 1313 | - $summary = apply_filters( 'wpinv_admin_invoice_line_item_summary', '', $cart_item, $wpi_item, $invoice ); |
|
| 1313 | + $summary = apply_filters('wpinv_admin_invoice_line_item_summary', '', $cart_item, $wpi_item, $invoice); |
|
| 1314 | 1314 | |
| 1315 | 1315 | $item_tax = ''; |
| 1316 | 1316 | $tax_rate = ''; |
| 1317 | - if ( $cart_item['tax'] > 0 && $cart_item['subtotal'] > 0 ) { |
|
| 1318 | - $item_tax = wpinv_price( wpinv_format_amount( $cart_item['tax'] ), $invoice->get_currency() ); |
|
| 1319 | - $tax_rate = !empty( $cart_item['vat_rate'] ) ? $cart_item['vat_rate'] : ( $cart_item['tax'] / $cart_item['subtotal'] ) * 100; |
|
| 1320 | - $tax_rate = $tax_rate > 0 ? (float)wpinv_round_amount( $tax_rate, 4 ) : ''; |
|
| 1317 | + if ($cart_item['tax'] > 0 && $cart_item['subtotal'] > 0) { |
|
| 1318 | + $item_tax = wpinv_price(wpinv_format_amount($cart_item['tax']), $invoice->get_currency()); |
|
| 1319 | + $tax_rate = !empty($cart_item['vat_rate']) ? $cart_item['vat_rate'] : ($cart_item['tax'] / $cart_item['subtotal']) * 100; |
|
| 1320 | + $tax_rate = $tax_rate > 0 ? (float)wpinv_round_amount($tax_rate, 4) : ''; |
|
| 1321 | 1321 | $tax_rate = $tax_rate != '' ? ' <span class="tax-rate">(' . $tax_rate . '%)</span>' : ''; |
| 1322 | 1322 | } |
| 1323 | 1323 | $line_item_tax = $item_tax . $tax_rate; |
| 1324 | 1324 | |
| 1325 | - if ( $line_item_tax === '' ) { |
|
| 1325 | + if ($line_item_tax === '') { |
|
| 1326 | 1326 | $line_item_tax = 0; // Zero tax |
| 1327 | 1327 | } |
| 1328 | 1328 | |
| 1329 | - $line_item = '<tr class="item item-' . ( ($count % 2 == 0) ? 'even' : 'odd' ) . '" data-item-id="' . $item_id . '">'; |
|
| 1329 | + $line_item = '<tr class="item item-' . (($count % 2 == 0) ? 'even' : 'odd') . '" data-item-id="' . $item_id . '">'; |
|
| 1330 | 1330 | $line_item .= '<td class="id">' . $item_id . '</td>'; |
| 1331 | - $line_item .= '<td class="title"><a href="' . get_edit_post_link( $item_id ) . '" target="_blank">' . $cart_item['name'] . '</a>' . wpinv_get_item_suffix( $wpi_item ); |
|
| 1332 | - if ( $summary !== '' ) { |
|
| 1333 | - $line_item .= '<span class="meta">' . wpautop( wp_kses_post( $summary ) ) . '</span>'; |
|
| 1331 | + $line_item .= '<td class="title"><a href="' . get_edit_post_link($item_id) . '" target="_blank">' . $cart_item['name'] . '</a>' . wpinv_get_item_suffix($wpi_item); |
|
| 1332 | + if ($summary !== '') { |
|
| 1333 | + $line_item .= '<span class="meta">' . wpautop(wp_kses_post($summary)) . '</span>'; |
|
| 1334 | 1334 | } |
| 1335 | 1335 | $line_item .= '</td>'; |
| 1336 | 1336 | $line_item .= '<td class="price">' . $item_price . '</td>'; |
| 1337 | 1337 | |
| 1338 | - if ( $item_quantities ) { |
|
| 1339 | - if ( count( $cart_items ) == 1 && $quantity <= 1 ) { |
|
| 1338 | + if ($item_quantities) { |
|
| 1339 | + if (count($cart_items) == 1 && $quantity <= 1) { |
|
| 1340 | 1340 | $can_remove = false; |
| 1341 | 1341 | } |
| 1342 | 1342 | $line_item .= '<td class="qty" data-quantity="' . $quantity . '"> × ' . $quantity . '</td>'; |
| 1343 | 1343 | } else { |
| 1344 | - if ( count( $cart_items ) == 1 ) { |
|
| 1344 | + if (count($cart_items) == 1) { |
|
| 1345 | 1345 | $can_remove = false; |
| 1346 | 1346 | } |
| 1347 | 1347 | } |
| 1348 | 1348 | $line_item .= '<td class="total">' . $item_subtotal . '</td>'; |
| 1349 | 1349 | |
| 1350 | - if ( $use_taxes ) { |
|
| 1350 | + if ($use_taxes) { |
|
| 1351 | 1351 | $line_item .= '<td class="tax">' . $line_item_tax . '</td>'; |
| 1352 | 1352 | } |
| 1353 | 1353 | $line_item .= '<td class="action">'; |
| 1354 | - if ( !$invoice->is_paid() && !$invoice->is_refunded() && $can_remove ) { |
|
| 1354 | + if (!$invoice->is_paid() && !$invoice->is_refunded() && $can_remove) { |
|
| 1355 | 1355 | $line_item .= '<i class="fa fa-remove wpinv-item-remove"></i>'; |
| 1356 | 1356 | } |
| 1357 | 1357 | $line_item .= '</td>'; |
| 1358 | 1358 | $line_item .= '</tr>'; |
| 1359 | 1359 | |
| 1360 | - echo apply_filters( 'wpinv_admin_line_item', $line_item, $cart_item, $invoice ); |
|
| 1360 | + echo apply_filters('wpinv_admin_line_item', $line_item, $cart_item, $invoice); |
|
| 1361 | 1361 | |
| 1362 | 1362 | $count++; |
| 1363 | 1363 | } |
| 1364 | 1364 | |
| 1365 | - do_action( 'wpinv_admin_after_line_items', $cart_items, $invoice ); |
|
| 1365 | + do_action('wpinv_admin_after_line_items', $cart_items, $invoice); |
|
| 1366 | 1366 | |
| 1367 | 1367 | return ob_get_clean(); |
| 1368 | 1368 | } |
@@ -1374,32 +1374,32 @@ discard block |
||
| 1374 | 1374 | $wpi_checkout_id = wpinv_get_invoice_cart_id(); |
| 1375 | 1375 | |
| 1376 | 1376 | //Maybe update the prices |
| 1377 | - if(! empty( $_GET['wpi_dynamic_item'] ) && ! empty( $_GET['wpi_dynamic_price'] ) ) { |
|
| 1377 | + if (!empty($_GET['wpi_dynamic_item']) && !empty($_GET['wpi_dynamic_price'])) { |
|
| 1378 | 1378 | |
| 1379 | 1379 | //If the invoice exists, update it with new pricing details |
| 1380 | - if (! empty( $wpi_checkout_id ) ) { |
|
| 1380 | + if (!empty($wpi_checkout_id)) { |
|
| 1381 | 1381 | |
| 1382 | 1382 | $_invoice = wpinv_get_invoice_cart(); |
| 1383 | 1383 | $_cart_details = $_invoice->get_cart_details(); |
| 1384 | - $_dynamic_item = sanitize_text_field( $_GET['wpi_dynamic_item'] ); |
|
| 1384 | + $_dynamic_item = sanitize_text_field($_GET['wpi_dynamic_item']); |
|
| 1385 | 1385 | |
| 1386 | 1386 | //First, fetch the item |
| 1387 | - $item = new WPInv_Item( $_dynamic_item ); |
|
| 1387 | + $item = new WPInv_Item($_dynamic_item); |
|
| 1388 | 1388 | |
| 1389 | 1389 | //Next, ensure it supports dynamic pricing... |
| 1390 | - if( $item->supports_dynamic_pricing() && $item->get_is_dynamic_pricing() ) { |
|
| 1390 | + if ($item->supports_dynamic_pricing() && $item->get_is_dynamic_pricing()) { |
|
| 1391 | 1391 | |
| 1392 | 1392 | //... and that the new price is not lower than the minimum price |
| 1393 | - $_dynamic_price = (float) wpinv_sanitize_amount( sanitize_text_field( $_GET['wpi_dynamic_price'] ) ); |
|
| 1394 | - if( $_dynamic_price < $item->get_minimum_price() ) { |
|
| 1393 | + $_dynamic_price = (float)wpinv_sanitize_amount(sanitize_text_field($_GET['wpi_dynamic_price'])); |
|
| 1394 | + if ($_dynamic_price < $item->get_minimum_price()) { |
|
| 1395 | 1395 | $_dynamic_price = $item->get_minimum_price(); |
| 1396 | 1396 | } |
| 1397 | 1397 | |
| 1398 | 1398 | //Finally, update our invoice with the new price |
| 1399 | - if ( !empty( $_cart_details ) ) { |
|
| 1399 | + if (!empty($_cart_details)) { |
|
| 1400 | 1400 | |
| 1401 | - foreach ( $_cart_details as $key => $item ) { |
|
| 1402 | - if ( !empty( $item['id'] ) && $_dynamic_item == $item['id'] ) { |
|
| 1401 | + foreach ($_cart_details as $key => $item) { |
|
| 1402 | + if (!empty($item['id']) && $_dynamic_item == $item['id']) { |
|
| 1403 | 1403 | $_cart_details[$key]['custom_price'] = $_dynamic_price; |
| 1404 | 1404 | $_cart_details[$key]['item_price'] = $_dynamic_price; |
| 1405 | 1405 | } |
@@ -1407,8 +1407,8 @@ discard block |
||
| 1407 | 1407 | |
| 1408 | 1408 | $_meta = $_invoice->get_meta(); |
| 1409 | 1409 | $_meta['cart_details'] = $_cart_details; |
| 1410 | - $_invoice->set( 'payment_meta', $_meta ); |
|
| 1411 | - $_invoice->set( 'cart_details', $_cart_details ); |
|
| 1410 | + $_invoice->set('payment_meta', $_meta); |
|
| 1411 | + $_invoice->set('cart_details', $_cart_details); |
|
| 1412 | 1412 | $_invoice->recalculate_totals(); |
| 1413 | 1413 | |
| 1414 | 1414 | } |
@@ -1419,60 +1419,60 @@ discard block |
||
| 1419 | 1419 | |
| 1420 | 1420 | } |
| 1421 | 1421 | |
| 1422 | - $form_action = esc_url( wpinv_get_checkout_uri() ); |
|
| 1422 | + $form_action = esc_url(wpinv_get_checkout_uri()); |
|
| 1423 | 1423 | |
| 1424 | 1424 | ob_start(); |
| 1425 | - do_action( 'wpinv_checkout_content_before' ); |
|
| 1425 | + do_action('wpinv_checkout_content_before'); |
|
| 1426 | 1426 | echo '<div id="wpinv_checkout_wrap">'; |
| 1427 | 1427 | |
| 1428 | - if ( wpinv_get_cart_contents() || wpinv_cart_has_fees() ) { |
|
| 1428 | + if (wpinv_get_cart_contents() || wpinv_cart_has_fees()) { |
|
| 1429 | 1429 | ?> |
| 1430 | 1430 | <div id="wpinv_checkout_form_wrap" class="wpinv_clearfix table-responsive"> |
| 1431 | - <?php do_action( 'wpinv_before_checkout_form' ); ?> |
|
| 1431 | + <?php do_action('wpinv_before_checkout_form'); ?> |
|
| 1432 | 1432 | <form id="wpinv_checkout_form" class="wpi-form" action="<?php echo $form_action; ?>" method="POST"> |
| 1433 | 1433 | <?php |
| 1434 | - do_action( 'wpinv_checkout_form_top' ); |
|
| 1435 | - do_action( 'wpinv_checkout_billing_info' ); |
|
| 1436 | - do_action( 'wpinv_checkout_cart' ); |
|
| 1437 | - do_action( 'wpinv_payment_mode_select' ); |
|
| 1438 | - do_action( 'wpinv_checkout_form_bottom' ) |
|
| 1434 | + do_action('wpinv_checkout_form_top'); |
|
| 1435 | + do_action('wpinv_checkout_billing_info'); |
|
| 1436 | + do_action('wpinv_checkout_cart'); |
|
| 1437 | + do_action('wpinv_payment_mode_select'); |
|
| 1438 | + do_action('wpinv_checkout_form_bottom') |
|
| 1439 | 1439 | ?> |
| 1440 | 1440 | </form> |
| 1441 | - <?php do_action( 'wpinv_after_purchase_form' ); ?> |
|
| 1441 | + <?php do_action('wpinv_after_purchase_form'); ?> |
|
| 1442 | 1442 | </div><!--end #wpinv_checkout_form_wrap--> |
| 1443 | 1443 | <?php |
| 1444 | 1444 | } else { |
| 1445 | - do_action( 'wpinv_cart_empty' ); |
|
| 1445 | + do_action('wpinv_cart_empty'); |
|
| 1446 | 1446 | } |
| 1447 | 1447 | echo '</div><!--end #wpinv_checkout_wrap-->'; |
| 1448 | - do_action( 'wpinv_checkout_content_after' ); |
|
| 1448 | + do_action('wpinv_checkout_content_after'); |
|
| 1449 | 1449 | return ob_get_clean(); |
| 1450 | 1450 | } |
| 1451 | 1451 | |
| 1452 | -function wpinv_checkout_cart( $cart_details = array(), $echo = true ) { |
|
| 1452 | +function wpinv_checkout_cart($cart_details = array(), $echo = true) { |
|
| 1453 | 1453 | global $ajax_cart_details; |
| 1454 | 1454 | $ajax_cart_details = $cart_details; |
| 1455 | 1455 | |
| 1456 | 1456 | ob_start(); |
| 1457 | - do_action( 'wpinv_before_checkout_cart' ); |
|
| 1457 | + do_action('wpinv_before_checkout_cart'); |
|
| 1458 | 1458 | echo '<div id="wpinv_checkout_cart_form" method="post">'; |
| 1459 | 1459 | echo '<div id="wpinv_checkout_cart_wrap">'; |
| 1460 | - wpinv_get_template_part( 'wpinv-checkout-cart' ); |
|
| 1460 | + wpinv_get_template_part('wpinv-checkout-cart'); |
|
| 1461 | 1461 | echo '</div>'; |
| 1462 | 1462 | echo '</div>'; |
| 1463 | - do_action( 'wpinv_after_checkout_cart' ); |
|
| 1463 | + do_action('wpinv_after_checkout_cart'); |
|
| 1464 | 1464 | $content = ob_get_clean(); |
| 1465 | 1465 | |
| 1466 | - if ( $echo ) { |
|
| 1466 | + if ($echo) { |
|
| 1467 | 1467 | echo $content; |
| 1468 | 1468 | } else { |
| 1469 | 1469 | return $content; |
| 1470 | 1470 | } |
| 1471 | 1471 | } |
| 1472 | -add_action( 'wpinv_checkout_cart', 'wpinv_checkout_cart', 10 ); |
|
| 1472 | +add_action('wpinv_checkout_cart', 'wpinv_checkout_cart', 10); |
|
| 1473 | 1473 | |
| 1474 | 1474 | function wpinv_empty_cart_message() { |
| 1475 | - return apply_filters( 'wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __( 'Your cart is empty.', 'invoicing' ) . '</span>' ); |
|
| 1475 | + return apply_filters('wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __('Your cart is empty.', 'invoicing') . '</span>'); |
|
| 1476 | 1476 | } |
| 1477 | 1477 | |
| 1478 | 1478 | /** |
@@ -1484,83 +1484,83 @@ discard block |
||
| 1484 | 1484 | function wpinv_empty_checkout_cart() { |
| 1485 | 1485 | echo wpinv_empty_cart_message(); |
| 1486 | 1486 | } |
| 1487 | -add_action( 'wpinv_cart_empty', 'wpinv_empty_checkout_cart' ); |
|
| 1487 | +add_action('wpinv_cart_empty', 'wpinv_empty_checkout_cart'); |
|
| 1488 | 1488 | |
| 1489 | 1489 | function wpinv_update_cart_button() { |
| 1490 | - if ( !wpinv_item_quantities_enabled() ) |
|
| 1490 | + if (!wpinv_item_quantities_enabled()) |
|
| 1491 | 1491 | return; |
| 1492 | 1492 | ?> |
| 1493 | - <input type="submit" name="wpinv_update_cart_submit" class="wpinv-submit wpinv-no-js button" value="<?php _e( 'Update Cart', 'invoicing' ); ?>"/> |
|
| 1493 | + <input type="submit" name="wpinv_update_cart_submit" class="wpinv-submit wpinv-no-js button" value="<?php _e('Update Cart', 'invoicing'); ?>"/> |
|
| 1494 | 1494 | <input type="hidden" name="wpi_action" value="update_cart"/> |
| 1495 | 1495 | <?php |
| 1496 | 1496 | } |
| 1497 | 1497 | |
| 1498 | 1498 | function wpinv_checkout_cart_columns() { |
| 1499 | 1499 | $default = 3; |
| 1500 | - if ( wpinv_item_quantities_enabled() ) { |
|
| 1500 | + if (wpinv_item_quantities_enabled()) { |
|
| 1501 | 1501 | $default++; |
| 1502 | 1502 | } |
| 1503 | 1503 | |
| 1504 | - if ( wpinv_use_taxes() ) { |
|
| 1504 | + if (wpinv_use_taxes()) { |
|
| 1505 | 1505 | $default++; |
| 1506 | 1506 | } |
| 1507 | 1507 | |
| 1508 | - return apply_filters( 'wpinv_checkout_cart_columns', $default ); |
|
| 1508 | + return apply_filters('wpinv_checkout_cart_columns', $default); |
|
| 1509 | 1509 | } |
| 1510 | 1510 | |
| 1511 | 1511 | function wpinv_display_cart_messages() { |
| 1512 | 1512 | global $wpi_session; |
| 1513 | 1513 | |
| 1514 | - $messages = $wpi_session->get( 'wpinv_cart_messages' ); |
|
| 1514 | + $messages = $wpi_session->get('wpinv_cart_messages'); |
|
| 1515 | 1515 | |
| 1516 | - if ( $messages ) { |
|
| 1517 | - foreach ( $messages as $message_id => $message ) { |
|
| 1516 | + if ($messages) { |
|
| 1517 | + foreach ($messages as $message_id => $message) { |
|
| 1518 | 1518 | // Try and detect what type of message this is |
| 1519 | - if ( strpos( strtolower( $message ), 'error' ) ) { |
|
| 1519 | + if (strpos(strtolower($message), 'error')) { |
|
| 1520 | 1520 | $type = 'error'; |
| 1521 | - } elseif ( strpos( strtolower( $message ), 'success' ) ) { |
|
| 1521 | + } elseif (strpos(strtolower($message), 'success')) { |
|
| 1522 | 1522 | $type = 'success'; |
| 1523 | 1523 | } else { |
| 1524 | 1524 | $type = 'info'; |
| 1525 | 1525 | } |
| 1526 | 1526 | |
| 1527 | - $classes = apply_filters( 'wpinv_' . $type . '_class', array( 'wpinv_errors', 'wpinv-alert', 'wpinv-alert-' . $type ) ); |
|
| 1527 | + $classes = apply_filters('wpinv_' . $type . '_class', array('wpinv_errors', 'wpinv-alert', 'wpinv-alert-' . $type)); |
|
| 1528 | 1528 | |
| 1529 | - echo '<div class="' . implode( ' ', $classes ) . '">'; |
|
| 1529 | + echo '<div class="' . implode(' ', $classes) . '">'; |
|
| 1530 | 1530 | // Loop message codes and display messages |
| 1531 | 1531 | echo '<p class="wpinv_error" id="wpinv_msg_' . $message_id . '">' . $message . '</p>'; |
| 1532 | 1532 | echo '</div>'; |
| 1533 | 1533 | } |
| 1534 | 1534 | |
| 1535 | 1535 | // Remove all of the cart saving messages |
| 1536 | - $wpi_session->set( 'wpinv_cart_messages', null ); |
|
| 1536 | + $wpi_session->set('wpinv_cart_messages', null); |
|
| 1537 | 1537 | } |
| 1538 | 1538 | } |
| 1539 | -add_action( 'wpinv_before_checkout_cart', 'wpinv_display_cart_messages' ); |
|
| 1539 | +add_action('wpinv_before_checkout_cart', 'wpinv_display_cart_messages'); |
|
| 1540 | 1540 | |
| 1541 | 1541 | function wpinv_discount_field() { |
| 1542 | - if ( isset( $_GET['wpi-gateway'] ) && wpinv_is_ajax_disabled() ) { |
|
| 1542 | + if (isset($_GET['wpi-gateway']) && wpinv_is_ajax_disabled()) { |
|
| 1543 | 1543 | return; // Only show before a payment method has been selected if ajax is disabled |
| 1544 | 1544 | } |
| 1545 | 1545 | |
| 1546 | - if ( !wpinv_is_checkout() ) { |
|
| 1546 | + if (!wpinv_is_checkout()) { |
|
| 1547 | 1547 | return; |
| 1548 | 1548 | } |
| 1549 | 1549 | |
| 1550 | - if ( wpinv_has_active_discounts() && wpinv_get_cart_total() ) { |
|
| 1550 | + if (wpinv_has_active_discounts() && wpinv_get_cart_total()) { |
|
| 1551 | 1551 | ?> |
| 1552 | 1552 | <div id="wpinv-discount-field" class="panel panel-default"> |
| 1553 | 1553 | <div class="panel-body"> |
| 1554 | 1554 | <p> |
| 1555 | - <label class="wpinv-label" for="wpinv_discount_code"><strong><?php _e( 'Discount', 'invoicing' ); ?></strong></label> |
|
| 1556 | - <span class="wpinv-description"><?php _e( 'Enter a discount code if you have one.', 'invoicing' ); ?></span> |
|
| 1555 | + <label class="wpinv-label" for="wpinv_discount_code"><strong><?php _e('Discount', 'invoicing'); ?></strong></label> |
|
| 1556 | + <span class="wpinv-description"><?php _e('Enter a discount code if you have one.', 'invoicing'); ?></span> |
|
| 1557 | 1557 | </p> |
| 1558 | 1558 | <div class="form-group row"> |
| 1559 | 1559 | <div class="col-sm-4"> |
| 1560 | - <input class="wpinv-input form-control" type="text" id="wpinv_discount_code" name="wpinv_discount_code" placeholder="<?php _e( 'Enter discount code', 'invoicing' ); ?>"/> |
|
| 1560 | + <input class="wpinv-input form-control" type="text" id="wpinv_discount_code" name="wpinv_discount_code" placeholder="<?php _e('Enter discount code', 'invoicing'); ?>"/> |
|
| 1561 | 1561 | </div> |
| 1562 | 1562 | <div class="col-sm-3"> |
| 1563 | - <button id="wpi-apply-discount" type="button" class="btn btn-success btn-sm"><?php _e( 'Apply Discount', 'invoicing' ); ?></button> |
|
| 1563 | + <button id="wpi-apply-discount" type="button" class="btn btn-success btn-sm"><?php _e('Apply Discount', 'invoicing'); ?></button> |
|
| 1564 | 1564 | </div> |
| 1565 | 1565 | <div style="clear:both"></div> |
| 1566 | 1566 | <div class="col-sm-12 wpinv-discount-msg"> |
@@ -1573,10 +1573,10 @@ discard block |
||
| 1573 | 1573 | <?php |
| 1574 | 1574 | } |
| 1575 | 1575 | } |
| 1576 | -add_action( 'wpinv_after_checkout_cart', 'wpinv_discount_field', -10 ); |
|
| 1576 | +add_action('wpinv_after_checkout_cart', 'wpinv_discount_field', -10); |
|
| 1577 | 1577 | |
| 1578 | 1578 | function wpinv_agree_to_terms_js() { |
| 1579 | - if ( wpinv_get_option( 'show_agree_to_terms', false ) ) { |
|
| 1579 | + if (wpinv_get_option('show_agree_to_terms', false)) { |
|
| 1580 | 1580 | ?> |
| 1581 | 1581 | <script type="text/javascript"> |
| 1582 | 1582 | jQuery(document).ready(function($){ |
@@ -1591,127 +1591,127 @@ discard block |
||
| 1591 | 1591 | <?php |
| 1592 | 1592 | } |
| 1593 | 1593 | } |
| 1594 | -add_action( 'wpinv_checkout_form_top', 'wpinv_agree_to_terms_js' ); |
|
| 1594 | +add_action('wpinv_checkout_form_top', 'wpinv_agree_to_terms_js'); |
|
| 1595 | 1595 | |
| 1596 | 1596 | function wpinv_payment_mode_select() { |
| 1597 | - $gateways = wpinv_get_enabled_payment_gateways( true ); |
|
| 1598 | - $gateways = apply_filters( 'wpinv_payment_gateways_on_cart', $gateways ); |
|
| 1597 | + $gateways = wpinv_get_enabled_payment_gateways(true); |
|
| 1598 | + $gateways = apply_filters('wpinv_payment_gateways_on_cart', $gateways); |
|
| 1599 | 1599 | $page_URL = wpinv_get_current_page_url(); |
| 1600 | - $invoice = wpinv_get_invoice( 0, true ); |
|
| 1600 | + $invoice = wpinv_get_invoice(0, true); |
|
| 1601 | 1601 | |
| 1602 | 1602 | do_action('wpinv_payment_mode_top'); |
| 1603 | 1603 | $invoice_id = (int)$invoice->ID; |
| 1604 | - $chosen_gateway = wpinv_get_chosen_gateway( $invoice_id ); |
|
| 1604 | + $chosen_gateway = wpinv_get_chosen_gateway($invoice_id); |
|
| 1605 | 1605 | ?> |
| 1606 | - <div id="wpinv_payment_mode_select" data-gateway="<?php echo $chosen_gateway; ?>" <?php echo ( $invoice->is_free() ? 'style="display:none;" data-free="1"' : '' ); ?>> |
|
| 1607 | - <?php do_action( 'wpinv_payment_mode_before_gateways_wrap' ); ?> |
|
| 1606 | + <div id="wpinv_payment_mode_select" data-gateway="<?php echo $chosen_gateway; ?>" <?php echo ($invoice->is_free() ? 'style="display:none;" data-free="1"' : ''); ?>> |
|
| 1607 | + <?php do_action('wpinv_payment_mode_before_gateways_wrap'); ?> |
|
| 1608 | 1608 | <div id="wpinv-payment-mode-wrap" class="panel panel-default"> |
| 1609 | - <div class="panel-heading"><h3 class="panel-title"><?php _e( 'Select Payment Method', 'invoicing' ); ?></h3></div> |
|
| 1609 | + <div class="panel-heading"><h3 class="panel-title"><?php _e('Select Payment Method', 'invoicing'); ?></h3></div> |
|
| 1610 | 1610 | <div class="panel-body list-group wpi-payment_methods"> |
| 1611 | 1611 | <?php |
| 1612 | - do_action( 'wpinv_payment_mode_before_gateways' ); |
|
| 1613 | - |
|
| 1614 | - if ( !empty( $gateways ) ) { |
|
| 1615 | - foreach ( $gateways as $gateway_id => $gateway ) { |
|
| 1616 | - $checked = checked( $gateway_id, $chosen_gateway, false ); |
|
| 1617 | - $button_label = wpinv_get_gateway_button_label( $gateway_id ); |
|
| 1618 | - $gateway_label = wpinv_get_gateway_checkout_label( $gateway_id ); |
|
| 1619 | - $description = wpinv_get_gateway_description( $gateway_id ); |
|
| 1612 | + do_action('wpinv_payment_mode_before_gateways'); |
|
| 1613 | + |
|
| 1614 | + if (!empty($gateways)) { |
|
| 1615 | + foreach ($gateways as $gateway_id => $gateway) { |
|
| 1616 | + $checked = checked($gateway_id, $chosen_gateway, false); |
|
| 1617 | + $button_label = wpinv_get_gateway_button_label($gateway_id); |
|
| 1618 | + $gateway_label = wpinv_get_gateway_checkout_label($gateway_id); |
|
| 1619 | + $description = wpinv_get_gateway_description($gateway_id); |
|
| 1620 | 1620 | ?> |
| 1621 | 1621 | <div class="list-group-item"> |
| 1622 | 1622 | <div class="radio"> |
| 1623 | - <label><input type="radio" data-button-text="<?php echo esc_attr( $button_label );?>" value="<?php echo esc_attr( $gateway_id ) ;?>" <?php echo $checked ;?> id="wpi_gateway_<?php echo esc_attr( $gateway_id );?>" name="wpi-gateway" class="wpi-pmethod"><?php echo esc_html( $gateway_label ); ?></label> |
|
| 1623 | + <label><input type="radio" data-button-text="<?php echo esc_attr($button_label); ?>" value="<?php echo esc_attr($gateway_id); ?>" <?php echo $checked; ?> id="wpi_gateway_<?php echo esc_attr($gateway_id); ?>" name="wpi-gateway" class="wpi-pmethod"><?php echo esc_html($gateway_label); ?></label> |
|
| 1624 | 1624 | </div> |
| 1625 | - <div style="display:none;" class="payment_box wpi_gateway_<?php echo esc_attr( $gateway_id );?>" role="alert"> |
|
| 1626 | - <?php if ( !empty( $description ) ) { ?> |
|
| 1627 | - <div class="wpi-gateway-desc alert alert-info"><?php _e( $description, 'invoicing' ); ?></div> |
|
| 1625 | + <div style="display:none;" class="payment_box wpi_gateway_<?php echo esc_attr($gateway_id); ?>" role="alert"> |
|
| 1626 | + <?php if (!empty($description)) { ?> |
|
| 1627 | + <div class="wpi-gateway-desc alert alert-info"><?php _e($description, 'invoicing'); ?></div> |
|
| 1628 | 1628 | <?php } ?> |
| 1629 | - <?php do_action( 'wpinv_' . $gateway_id . '_cc_form', $invoice_id ) ;?> |
|
| 1629 | + <?php do_action('wpinv_' . $gateway_id . '_cc_form', $invoice_id); ?> |
|
| 1630 | 1630 | </div> |
| 1631 | 1631 | </div> |
| 1632 | 1632 | <?php |
| 1633 | 1633 | } |
| 1634 | 1634 | } else { |
| 1635 | - echo '<div class="alert alert-warning">'. __( 'No payment gateway active', 'invoicing' ) .'</div>'; |
|
| 1635 | + echo '<div class="alert alert-warning">' . __('No payment gateway active', 'invoicing') . '</div>'; |
|
| 1636 | 1636 | } |
| 1637 | 1637 | |
| 1638 | - do_action( 'wpinv_payment_mode_after_gateways' ); |
|
| 1638 | + do_action('wpinv_payment_mode_after_gateways'); |
|
| 1639 | 1639 | ?> |
| 1640 | 1640 | </div> |
| 1641 | 1641 | </div> |
| 1642 | - <?php do_action( 'wpinv_payment_mode_after_gateways_wrap' ); ?> |
|
| 1642 | + <?php do_action('wpinv_payment_mode_after_gateways_wrap'); ?> |
|
| 1643 | 1643 | </div> |
| 1644 | 1644 | <?php |
| 1645 | 1645 | do_action('wpinv_payment_mode_bottom'); |
| 1646 | 1646 | } |
| 1647 | -add_action( 'wpinv_payment_mode_select', 'wpinv_payment_mode_select' ); |
|
| 1647 | +add_action('wpinv_payment_mode_select', 'wpinv_payment_mode_select'); |
|
| 1648 | 1648 | |
| 1649 | 1649 | function wpinv_checkout_billing_info() { |
| 1650 | - if ( wpinv_is_checkout() ) { |
|
| 1650 | + if (wpinv_is_checkout()) { |
|
| 1651 | 1651 | $logged_in = is_user_logged_in(); |
| 1652 | 1652 | $billing_details = wpinv_checkout_billing_details(); |
| 1653 | - $selected_country = !empty( $billing_details['country'] ) ? $billing_details['country'] : wpinv_default_billing_country(); |
|
| 1653 | + $selected_country = !empty($billing_details['country']) ? $billing_details['country'] : wpinv_default_billing_country(); |
|
| 1654 | 1654 | ?> |
| 1655 | 1655 | <div id="wpinv-fields" class="clearfix"> |
| 1656 | 1656 | <div id="wpi-billing" class="wpi-billing clearfix panel panel-default"> |
| 1657 | - <div class="panel-heading"><h3 class="panel-title"><?php _e( 'Billing Details', 'invoicing' );?></h3></div> |
|
| 1657 | + <div class="panel-heading"><h3 class="panel-title"><?php _e('Billing Details', 'invoicing'); ?></h3></div> |
|
| 1658 | 1658 | <div id="wpinv-fields-box" class="panel-body"> |
| 1659 | - <?php do_action( 'wpinv_checkout_billing_fields_first', $billing_details ); ?> |
|
| 1659 | + <?php do_action('wpinv_checkout_billing_fields_first', $billing_details); ?> |
|
| 1660 | 1660 | <p class="wpi-cart-field wpi-col2 wpi-colf"> |
| 1661 | - <label for="wpinv_first_name" class="wpi-label"><?php _e( 'First Name', 'invoicing' );?><?php if ( wpinv_get_option( 'fname_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label> |
|
| 1661 | + <label for="wpinv_first_name" class="wpi-label"><?php _e('First Name', 'invoicing'); ?><?php if (wpinv_get_option('fname_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label> |
|
| 1662 | 1662 | <?php |
| 1663 | - echo wpinv_html_text( array( |
|
| 1663 | + echo wpinv_html_text(array( |
|
| 1664 | 1664 | 'id' => 'wpinv_first_name', |
| 1665 | 1665 | 'name' => 'wpinv_first_name', |
| 1666 | 1666 | 'value' => $billing_details['first_name'], |
| 1667 | 1667 | 'class' => 'wpi-input form-control', |
| 1668 | - 'placeholder' => __( 'First name', 'invoicing' ), |
|
| 1669 | - 'required' => (bool)wpinv_get_option( 'fname_mandatory' ), |
|
| 1670 | - ) ); |
|
| 1668 | + 'placeholder' => __('First name', 'invoicing'), |
|
| 1669 | + 'required' => (bool)wpinv_get_option('fname_mandatory'), |
|
| 1670 | + )); |
|
| 1671 | 1671 | ?> |
| 1672 | 1672 | </p> |
| 1673 | 1673 | <p class="wpi-cart-field wpi-col2 wpi-coll"> |
| 1674 | - <label for="wpinv_last_name" class="wpi-label"><?php _e( 'Last Name', 'invoicing' );?><?php if ( wpinv_get_option( 'lname_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label> |
|
| 1674 | + <label for="wpinv_last_name" class="wpi-label"><?php _e('Last Name', 'invoicing'); ?><?php if (wpinv_get_option('lname_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label> |
|
| 1675 | 1675 | <?php |
| 1676 | - echo wpinv_html_text( array( |
|
| 1676 | + echo wpinv_html_text(array( |
|
| 1677 | 1677 | 'id' => 'wpinv_last_name', |
| 1678 | 1678 | 'name' => 'wpinv_last_name', |
| 1679 | 1679 | 'value' => $billing_details['last_name'], |
| 1680 | 1680 | 'class' => 'wpi-input form-control', |
| 1681 | - 'placeholder' => __( 'Last name', 'invoicing' ), |
|
| 1682 | - 'required' => (bool)wpinv_get_option( 'lname_mandatory' ), |
|
| 1683 | - ) ); |
|
| 1681 | + 'placeholder' => __('Last name', 'invoicing'), |
|
| 1682 | + 'required' => (bool)wpinv_get_option('lname_mandatory'), |
|
| 1683 | + )); |
|
| 1684 | 1684 | ?> |
| 1685 | 1685 | </p> |
| 1686 | 1686 | <p class="wpi-cart-field wpi-col2 wpi-colf"> |
| 1687 | - <label for="wpinv_address" class="wpi-label"><?php _e( 'Address', 'invoicing' );?><?php if ( wpinv_get_option( 'address_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label> |
|
| 1687 | + <label for="wpinv_address" class="wpi-label"><?php _e('Address', 'invoicing'); ?><?php if (wpinv_get_option('address_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label> |
|
| 1688 | 1688 | <?php |
| 1689 | - echo wpinv_html_text( array( |
|
| 1689 | + echo wpinv_html_text(array( |
|
| 1690 | 1690 | 'id' => 'wpinv_address', |
| 1691 | 1691 | 'name' => 'wpinv_address', |
| 1692 | 1692 | 'value' => $billing_details['address'], |
| 1693 | 1693 | 'class' => 'wpi-input form-control', |
| 1694 | - 'placeholder' => __( 'Address', 'invoicing' ), |
|
| 1695 | - 'required' => (bool)wpinv_get_option( 'address_mandatory' ), |
|
| 1696 | - ) ); |
|
| 1694 | + 'placeholder' => __('Address', 'invoicing'), |
|
| 1695 | + 'required' => (bool)wpinv_get_option('address_mandatory'), |
|
| 1696 | + )); |
|
| 1697 | 1697 | ?> |
| 1698 | 1698 | </p> |
| 1699 | 1699 | <p class="wpi-cart-field wpi-col2 wpi-coll"> |
| 1700 | - <label for="wpinv_city" class="wpi-label"><?php _e( 'City', 'invoicing' );?><?php if ( wpinv_get_option( 'city_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label> |
|
| 1700 | + <label for="wpinv_city" class="wpi-label"><?php _e('City', 'invoicing'); ?><?php if (wpinv_get_option('city_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label> |
|
| 1701 | 1701 | <?php |
| 1702 | - echo wpinv_html_text( array( |
|
| 1702 | + echo wpinv_html_text(array( |
|
| 1703 | 1703 | 'id' => 'wpinv_city', |
| 1704 | 1704 | 'name' => 'wpinv_city', |
| 1705 | 1705 | 'value' => $billing_details['city'], |
| 1706 | 1706 | 'class' => 'wpi-input form-control', |
| 1707 | - 'placeholder' => __( 'City', 'invoicing' ), |
|
| 1708 | - 'required' => (bool)wpinv_get_option( 'city_mandatory' ), |
|
| 1709 | - ) ); |
|
| 1707 | + 'placeholder' => __('City', 'invoicing'), |
|
| 1708 | + 'required' => (bool)wpinv_get_option('city_mandatory'), |
|
| 1709 | + )); |
|
| 1710 | 1710 | ?> |
| 1711 | 1711 | </p> |
| 1712 | 1712 | <p id="wpinv_country_box" class="wpi-cart-field wpi-col2 wpi-colf"> |
| 1713 | - <label for="wpinv_country" class="wpi-label"><?php _e( 'Country', 'invoicing' );?><?php if ( wpinv_get_option( 'country_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label> |
|
| 1714 | - <?php echo wpinv_html_select( array( |
|
| 1713 | + <label for="wpinv_country" class="wpi-label"><?php _e('Country', 'invoicing'); ?><?php if (wpinv_get_option('country_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label> |
|
| 1714 | + <?php echo wpinv_html_select(array( |
|
| 1715 | 1715 | 'options' => wpinv_get_country_list(), |
| 1716 | 1716 | 'name' => 'wpinv_country', |
| 1717 | 1717 | 'id' => 'wpinv_country', |
@@ -1719,16 +1719,16 @@ discard block |
||
| 1719 | 1719 | 'show_option_all' => false, |
| 1720 | 1720 | 'show_option_none' => false, |
| 1721 | 1721 | 'class' => 'wpi-input form-control wpi_select2', |
| 1722 | - 'placeholder' => __( 'Choose a country', 'invoicing' ), |
|
| 1723 | - 'required' => (bool)wpinv_get_option( 'country_mandatory' ), |
|
| 1724 | - ) ); ?> |
|
| 1722 | + 'placeholder' => __('Choose a country', 'invoicing'), |
|
| 1723 | + 'required' => (bool)wpinv_get_option('country_mandatory'), |
|
| 1724 | + )); ?> |
|
| 1725 | 1725 | </p> |
| 1726 | 1726 | <p id="wpinv_state_box" class="wpi-cart-field wpi-col2 wpi-coll"> |
| 1727 | - <label for="wpinv_state" class="wpi-label"><?php _e( 'State / Province', 'invoicing' );?><?php if ( wpinv_get_option( 'state_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label> |
|
| 1727 | + <label for="wpinv_state" class="wpi-label"><?php _e('State / Province', 'invoicing'); ?><?php if (wpinv_get_option('state_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label> |
|
| 1728 | 1728 | <?php |
| 1729 | - $states = wpinv_get_country_states( $selected_country ); |
|
| 1730 | - if( !empty( $states ) ) { |
|
| 1731 | - echo wpinv_html_select( array( |
|
| 1729 | + $states = wpinv_get_country_states($selected_country); |
|
| 1730 | + if (!empty($states)) { |
|
| 1731 | + echo wpinv_html_select(array( |
|
| 1732 | 1732 | 'options' => $states, |
| 1733 | 1733 | 'name' => 'wpinv_state', |
| 1734 | 1734 | 'id' => 'wpinv_state', |
@@ -1736,61 +1736,61 @@ discard block |
||
| 1736 | 1736 | 'show_option_all' => false, |
| 1737 | 1737 | 'show_option_none' => false, |
| 1738 | 1738 | 'class' => 'wpi-input form-control wpi_select2', |
| 1739 | - 'placeholder' => __( 'Choose a state', 'invoicing' ), |
|
| 1740 | - 'required' => (bool)wpinv_get_option( 'state_mandatory' ), |
|
| 1741 | - ) ); |
|
| 1739 | + 'placeholder' => __('Choose a state', 'invoicing'), |
|
| 1740 | + 'required' => (bool)wpinv_get_option('state_mandatory'), |
|
| 1741 | + )); |
|
| 1742 | 1742 | } else { |
| 1743 | - echo wpinv_html_text( array( |
|
| 1743 | + echo wpinv_html_text(array( |
|
| 1744 | 1744 | 'name' => 'wpinv_state', |
| 1745 | 1745 | 'value' => $billing_details['state'], |
| 1746 | 1746 | 'id' => 'wpinv_state', |
| 1747 | 1747 | 'class' => 'wpi-input form-control', |
| 1748 | - 'placeholder' => __( 'State / Province', 'invoicing' ), |
|
| 1749 | - 'required' => (bool)wpinv_get_option( 'state_mandatory' ), |
|
| 1750 | - ) ); |
|
| 1748 | + 'placeholder' => __('State / Province', 'invoicing'), |
|
| 1749 | + 'required' => (bool)wpinv_get_option('state_mandatory'), |
|
| 1750 | + )); |
|
| 1751 | 1751 | } |
| 1752 | 1752 | ?> |
| 1753 | 1753 | </p> |
| 1754 | 1754 | <p class="wpi-cart-field wpi-col2 wpi-colf"> |
| 1755 | - <label for="wpinv_zip" class="wpi-label"><?php _e( 'ZIP / Postcode', 'invoicing' );?><?php if ( wpinv_get_option( 'zip_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label> |
|
| 1755 | + <label for="wpinv_zip" class="wpi-label"><?php _e('ZIP / Postcode', 'invoicing'); ?><?php if (wpinv_get_option('zip_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label> |
|
| 1756 | 1756 | <?php |
| 1757 | - echo wpinv_html_text( array( |
|
| 1757 | + echo wpinv_html_text(array( |
|
| 1758 | 1758 | 'name' => 'wpinv_zip', |
| 1759 | 1759 | 'value' => $billing_details['zip'], |
| 1760 | 1760 | 'id' => 'wpinv_zip', |
| 1761 | 1761 | 'class' => 'wpi-input form-control', |
| 1762 | - 'placeholder' => __( 'ZIP / Postcode', 'invoicing' ), |
|
| 1763 | - 'required' => (bool)wpinv_get_option( 'zip_mandatory' ), |
|
| 1764 | - ) ); |
|
| 1762 | + 'placeholder' => __('ZIP / Postcode', 'invoicing'), |
|
| 1763 | + 'required' => (bool)wpinv_get_option('zip_mandatory'), |
|
| 1764 | + )); |
|
| 1765 | 1765 | ?> |
| 1766 | 1766 | </p> |
| 1767 | 1767 | <p class="wpi-cart-field wpi-col2 wpi-coll"> |
| 1768 | - <label for="wpinv_phone" class="wpi-label"><?php _e( 'Phone', 'invoicing' );?><?php if ( wpinv_get_option( 'phone_mandatory' ) ) { echo '<span class="wpi-required">*</span>'; } ?></label> |
|
| 1768 | + <label for="wpinv_phone" class="wpi-label"><?php _e('Phone', 'invoicing'); ?><?php if (wpinv_get_option('phone_mandatory')) { echo '<span class="wpi-required">*</span>'; } ?></label> |
|
| 1769 | 1769 | <?php |
| 1770 | - echo wpinv_html_text( array( |
|
| 1770 | + echo wpinv_html_text(array( |
|
| 1771 | 1771 | 'id' => 'wpinv_phone', |
| 1772 | 1772 | 'name' => 'wpinv_phone', |
| 1773 | 1773 | 'value' => $billing_details['phone'], |
| 1774 | 1774 | 'class' => 'wpi-input form-control', |
| 1775 | - 'placeholder' => __( 'Phone', 'invoicing' ), |
|
| 1776 | - 'required' => (bool)wpinv_get_option( 'phone_mandatory' ), |
|
| 1777 | - ) ); |
|
| 1775 | + 'placeholder' => __('Phone', 'invoicing'), |
|
| 1776 | + 'required' => (bool)wpinv_get_option('phone_mandatory'), |
|
| 1777 | + )); |
|
| 1778 | 1778 | ?> |
| 1779 | 1779 | </p> |
| 1780 | - <?php do_action( 'wpinv_checkout_billing_fields_last', $billing_details ); ?> |
|
| 1780 | + <?php do_action('wpinv_checkout_billing_fields_last', $billing_details); ?> |
|
| 1781 | 1781 | <div class="clearfix"></div> |
| 1782 | 1782 | </div> |
| 1783 | 1783 | </div> |
| 1784 | - <?php do_action( 'wpinv_after_billing_fields', $billing_details ); ?> |
|
| 1784 | + <?php do_action('wpinv_after_billing_fields', $billing_details); ?> |
|
| 1785 | 1785 | </div> |
| 1786 | 1786 | <?php |
| 1787 | 1787 | } |
| 1788 | 1788 | } |
| 1789 | -add_action( 'wpinv_checkout_billing_info', 'wpinv_checkout_billing_info' ); |
|
| 1789 | +add_action('wpinv_checkout_billing_info', 'wpinv_checkout_billing_info'); |
|
| 1790 | 1790 | |
| 1791 | 1791 | function wpinv_checkout_hidden_fields() { |
| 1792 | 1792 | ?> |
| 1793 | - <?php if ( is_user_logged_in() ) { ?> |
|
| 1793 | + <?php if (is_user_logged_in()) { ?> |
|
| 1794 | 1794 | <input type="hidden" name="wpinv_user_id" value="<?php echo get_current_user_id(); ?>"/> |
| 1795 | 1795 | <?php } ?> |
| 1796 | 1796 | <input type="hidden" name="wpi_action" value="payment" /> |
@@ -1800,9 +1800,9 @@ discard block |
||
| 1800 | 1800 | function wpinv_checkout_button_purchase() { |
| 1801 | 1801 | ob_start(); |
| 1802 | 1802 | ?> |
| 1803 | - <input type="submit" class="btn btn-success wpinv-submit" id="wpinv-payment-button" data-value="<?php esc_attr_e( 'Proceed to Pay', 'invoicing' ) ?>" name="wpinv_payment" value="<?php esc_attr_e( 'Proceed to Pay', 'invoicing' ) ?>"/> |
|
| 1803 | + <input type="submit" class="btn btn-success wpinv-submit" id="wpinv-payment-button" data-value="<?php esc_attr_e('Proceed to Pay', 'invoicing') ?>" name="wpinv_payment" value="<?php esc_attr_e('Proceed to Pay', 'invoicing') ?>"/> |
|
| 1804 | 1804 | <?php |
| 1805 | - return apply_filters( 'wpinv_checkout_button_purchase', ob_get_clean() ); |
|
| 1805 | + return apply_filters('wpinv_checkout_button_purchase', ob_get_clean()); |
|
| 1806 | 1806 | } |
| 1807 | 1807 | |
| 1808 | 1808 | function wpinv_checkout_total() { |
@@ -1811,90 +1811,90 @@ discard block |
||
| 1811 | 1811 | <div id="wpinv_checkout_total" class="panel panel-info"> |
| 1812 | 1812 | <div class="panel-body"> |
| 1813 | 1813 | <?php |
| 1814 | - do_action( 'wpinv_purchase_form_before_checkout_total' ); |
|
| 1814 | + do_action('wpinv_purchase_form_before_checkout_total'); |
|
| 1815 | 1815 | ?> |
| 1816 | - <strong><?php _e( 'Invoice Total:', 'invoicing' ) ?></strong> <span class="wpinv-chdeckout-total"><?php echo $cart_total;?></span> |
|
| 1816 | + <strong><?php _e('Invoice Total:', 'invoicing') ?></strong> <span class="wpinv-chdeckout-total"><?php echo $cart_total; ?></span> |
|
| 1817 | 1817 | <?php |
| 1818 | - do_action( 'wpinv_purchase_form_after_checkout_total' ); |
|
| 1818 | + do_action('wpinv_purchase_form_after_checkout_total'); |
|
| 1819 | 1819 | ?> |
| 1820 | 1820 | </div> |
| 1821 | 1821 | </div> |
| 1822 | 1822 | <?php |
| 1823 | 1823 | } |
| 1824 | -add_action( 'wpinv_checkout_form_bottom', 'wpinv_checkout_total', 9998 ); |
|
| 1824 | +add_action('wpinv_checkout_form_bottom', 'wpinv_checkout_total', 9998); |
|
| 1825 | 1825 | |
| 1826 | 1826 | function wpinv_checkout_accept_tandc() { |
| 1827 | - $page = wpinv_get_option( 'tandc_page' ); |
|
| 1827 | + $page = wpinv_get_option('tandc_page'); |
|
| 1828 | 1828 | ?> |
| 1829 | 1829 | <div id="wpinv_checkout_tandc" class="panel panel-success"> |
| 1830 | 1830 | <div class="panel-body"> |
| 1831 | 1831 | <?php echo wpinv_get_policy_text(); ?> |
| 1832 | 1832 | <?php |
| 1833 | - if(isset($page) && (int)$page > 0 && apply_filters( 'wpinv_checkout_show_terms', true )){ |
|
| 1834 | - $terms_link = esc_url( get_permalink( $page ) ); |
|
| 1833 | + if (isset($page) && (int)$page > 0 && apply_filters('wpinv_checkout_show_terms', true)) { |
|
| 1834 | + $terms_link = esc_url(get_permalink($page)); |
|
| 1835 | 1835 | ?> |
| 1836 | 1836 | <label class=""> |
| 1837 | - <input type="checkbox" class="wpi-terms-checkbox" name="wpi_terms" id="wpi-terms" <?php checked( apply_filters( 'wpinv_terms_is_checked_default', isset( $_POST['wpi_terms'] ) ), true ); ?>> <span><?php printf( __( 'I’ve read and accept the <a href="%s" target="_blank" class="wpi-terms-and-conditions-link">terms & conditions</a>', 'invoicing' ), $terms_link ); ?></span> <span class="wpi-required">*</span> |
|
| 1837 | + <input type="checkbox" class="wpi-terms-checkbox" name="wpi_terms" id="wpi-terms" <?php checked(apply_filters('wpinv_terms_is_checked_default', isset($_POST['wpi_terms'])), true); ?>> <span><?php printf(__('I’ve read and accept the <a href="%s" target="_blank" class="wpi-terms-and-conditions-link">terms & conditions</a>', 'invoicing'), $terms_link); ?></span> <span class="wpi-required">*</span> |
|
| 1838 | 1838 | </label> |
| 1839 | 1839 | <?php } ?> |
| 1840 | 1840 | </div> |
| 1841 | 1841 | </div> |
| 1842 | 1842 | <?php |
| 1843 | 1843 | } |
| 1844 | -add_action( 'wpinv_checkout_form_bottom', 'wpinv_checkout_accept_tandc', 9995 ); |
|
| 1844 | +add_action('wpinv_checkout_form_bottom', 'wpinv_checkout_accept_tandc', 9995); |
|
| 1845 | 1845 | |
| 1846 | 1846 | function wpinv_checkout_submit() { |
| 1847 | 1847 | ?> |
| 1848 | 1848 | <div id="wpinv_purchase_submit" class="panel panel-success"> |
| 1849 | 1849 | <div class="panel-body text-center"> |
| 1850 | 1850 | <?php |
| 1851 | - do_action( 'wpinv_purchase_form_before_submit' ); |
|
| 1851 | + do_action('wpinv_purchase_form_before_submit'); |
|
| 1852 | 1852 | wpinv_checkout_hidden_fields(); |
| 1853 | 1853 | echo wpinv_checkout_button_purchase(); |
| 1854 | - do_action( 'wpinv_purchase_form_after_submit' ); |
|
| 1854 | + do_action('wpinv_purchase_form_after_submit'); |
|
| 1855 | 1855 | ?> |
| 1856 | 1856 | </div> |
| 1857 | 1857 | </div> |
| 1858 | 1858 | <?php |
| 1859 | 1859 | } |
| 1860 | -add_action( 'wpinv_checkout_form_bottom', 'wpinv_checkout_submit', 9999 ); |
|
| 1860 | +add_action('wpinv_checkout_form_bottom', 'wpinv_checkout_submit', 9999); |
|
| 1861 | 1861 | |
| 1862 | -function wpinv_receipt_billing_address( $invoice_id = 0 ) { |
|
| 1863 | - $invoice = wpinv_get_invoice( $invoice_id ); |
|
| 1862 | +function wpinv_receipt_billing_address($invoice_id = 0) { |
|
| 1863 | + $invoice = wpinv_get_invoice($invoice_id); |
|
| 1864 | 1864 | |
| 1865 | - if ( empty( $invoice ) ) { |
|
| 1865 | + if (empty($invoice)) { |
|
| 1866 | 1866 | return NULL; |
| 1867 | 1867 | } |
| 1868 | 1868 | |
| 1869 | 1869 | $billing_details = $invoice->get_user_info(); |
| 1870 | - $address_row = wpinv_get_invoice_address_markup( $billing_details ); |
|
| 1870 | + $address_row = wpinv_get_invoice_address_markup($billing_details); |
|
| 1871 | 1871 | |
| 1872 | 1872 | ob_start(); |
| 1873 | 1873 | ?> |
| 1874 | 1874 | <table class="table table-bordered table-sm wpi-billing-details"> |
| 1875 | 1875 | <tbody> |
| 1876 | 1876 | <tr class="wpi-receipt-name"> |
| 1877 | - <th class="text-left"><?php _e( 'Name', 'invoicing' ); ?></th> |
|
| 1878 | - <td><?php echo esc_html( trim( $billing_details['first_name'] . ' ' . $billing_details['last_name'] ) ) ;?></td> |
|
| 1877 | + <th class="text-left"><?php _e('Name', 'invoicing'); ?></th> |
|
| 1878 | + <td><?php echo esc_html(trim($billing_details['first_name'] . ' ' . $billing_details['last_name'])); ?></td> |
|
| 1879 | 1879 | </tr> |
| 1880 | 1880 | <tr class="wpi-receipt-email"> |
| 1881 | - <th class="text-left"><?php _e( 'Email', 'invoicing' ); ?></th> |
|
| 1882 | - <td><?php echo $billing_details['email'] ;?></td> |
|
| 1881 | + <th class="text-left"><?php _e('Email', 'invoicing'); ?></th> |
|
| 1882 | + <td><?php echo $billing_details['email']; ?></td> |
|
| 1883 | 1883 | </tr> |
| 1884 | - <?php if ( $billing_details['company'] ) { ?> |
|
| 1884 | + <?php if ($billing_details['company']) { ?> |
|
| 1885 | 1885 | <tr class="wpi-receipt-company"> |
| 1886 | - <th class="text-left"><?php _e( 'Company', 'invoicing' ); ?></th> |
|
| 1887 | - <td><?php echo esc_html( $billing_details['company'] ) ;?></td> |
|
| 1886 | + <th class="text-left"><?php _e('Company', 'invoicing'); ?></th> |
|
| 1887 | + <td><?php echo esc_html($billing_details['company']); ?></td> |
|
| 1888 | 1888 | </tr> |
| 1889 | 1889 | <?php } ?> |
| 1890 | 1890 | <tr class="wpi-receipt-address"> |
| 1891 | - <th class="text-left"><?php _e( 'Address', 'invoicing' ); ?></th> |
|
| 1892 | - <td><?php echo $address_row ;?></td> |
|
| 1891 | + <th class="text-left"><?php _e('Address', 'invoicing'); ?></th> |
|
| 1892 | + <td><?php echo $address_row; ?></td> |
|
| 1893 | 1893 | </tr> |
| 1894 | - <?php if ( $billing_details['phone'] ) { ?> |
|
| 1894 | + <?php if ($billing_details['phone']) { ?> |
|
| 1895 | 1895 | <tr class="wpi-receipt-phone"> |
| 1896 | - <th class="text-left"><?php _e( 'Phone', 'invoicing' ); ?></th> |
|
| 1897 | - <td><?php echo esc_html( $billing_details['phone'] ) ;?></td> |
|
| 1896 | + <th class="text-left"><?php _e('Phone', 'invoicing'); ?></th> |
|
| 1897 | + <td><?php echo esc_html($billing_details['phone']); ?></td> |
|
| 1898 | 1898 | </tr> |
| 1899 | 1899 | <?php } ?> |
| 1900 | 1900 | </tbody> |
@@ -1902,74 +1902,74 @@ discard block |
||
| 1902 | 1902 | <?php |
| 1903 | 1903 | $output = ob_get_clean(); |
| 1904 | 1904 | |
| 1905 | - $output = apply_filters( 'wpinv_receipt_billing_address', $output, $invoice_id ); |
|
| 1905 | + $output = apply_filters('wpinv_receipt_billing_address', $output, $invoice_id); |
|
| 1906 | 1906 | |
| 1907 | 1907 | echo $output; |
| 1908 | 1908 | } |
| 1909 | 1909 | |
| 1910 | -function wpinv_filter_success_page_content( $content ) { |
|
| 1911 | - if ( isset( $_GET['payment-confirm'] ) && wpinv_is_success_page() ) { |
|
| 1912 | - if ( has_filter( 'wpinv_payment_confirm_' . sanitize_text_field( $_GET['payment-confirm'] ) ) ) { |
|
| 1913 | - $content = apply_filters( 'wpinv_payment_confirm_' . sanitize_text_field( $_GET['payment-confirm'] ), $content ); |
|
| 1910 | +function wpinv_filter_success_page_content($content) { |
|
| 1911 | + if (isset($_GET['payment-confirm']) && wpinv_is_success_page()) { |
|
| 1912 | + if (has_filter('wpinv_payment_confirm_' . sanitize_text_field($_GET['payment-confirm']))) { |
|
| 1913 | + $content = apply_filters('wpinv_payment_confirm_' . sanitize_text_field($_GET['payment-confirm']), $content); |
|
| 1914 | 1914 | } |
| 1915 | 1915 | } |
| 1916 | 1916 | |
| 1917 | 1917 | return $content; |
| 1918 | 1918 | } |
| 1919 | -add_filter( 'the_content', 'wpinv_filter_success_page_content', 99999 ); |
|
| 1919 | +add_filter('the_content', 'wpinv_filter_success_page_content', 99999); |
|
| 1920 | 1920 | |
| 1921 | -function wpinv_receipt_actions( $invoice ) { |
|
| 1922 | - if ( !empty( $invoice ) ) { |
|
| 1921 | +function wpinv_receipt_actions($invoice) { |
|
| 1922 | + if (!empty($invoice)) { |
|
| 1923 | 1923 | $actions = array(); |
| 1924 | 1924 | |
| 1925 | - if ( wpinv_user_can_view_invoice( $invoice->ID ) ) { |
|
| 1926 | - $actions['print'] = array( |
|
| 1927 | - 'url' => $invoice->get_view_url( true ), |
|
| 1928 | - 'name' => __( 'Print Invoice', 'invoicing' ), |
|
| 1925 | + if (wpinv_user_can_view_invoice($invoice->ID)) { |
|
| 1926 | + $actions['print'] = array( |
|
| 1927 | + 'url' => $invoice->get_view_url(true), |
|
| 1928 | + 'name' => __('Print Invoice', 'invoicing'), |
|
| 1929 | 1929 | 'class' => 'btn-primary', |
| 1930 | 1930 | ); |
| 1931 | 1931 | } |
| 1932 | 1932 | |
| 1933 | - if ( is_user_logged_in() ) { |
|
| 1933 | + if (is_user_logged_in()) { |
|
| 1934 | 1934 | $actions['history'] = array( |
| 1935 | 1935 | 'url' => wpinv_get_history_page_uri(), |
| 1936 | - 'name' => __( 'Invoice History', 'invoicing' ), |
|
| 1936 | + 'name' => __('Invoice History', 'invoicing'), |
|
| 1937 | 1937 | 'class' => 'btn-warning', |
| 1938 | 1938 | ); |
| 1939 | 1939 | } |
| 1940 | 1940 | |
| 1941 | - $actions = apply_filters( 'wpinv_invoice_receipt_actions', $actions, $invoice ); |
|
| 1941 | + $actions = apply_filters('wpinv_invoice_receipt_actions', $actions, $invoice); |
|
| 1942 | 1942 | |
| 1943 | - if ( !empty( $actions ) ) { |
|
| 1943 | + if (!empty($actions)) { |
|
| 1944 | 1944 | ?> |
| 1945 | 1945 | <div class="wpinv-receipt-actions text-right"> |
| 1946 | - <?php foreach ( $actions as $key => $action ) { $class = !empty($action['class']) ? sanitize_html_class( $action['class'] ) : ''; ?> |
|
| 1947 | - <a href="<?php echo esc_url( $action['url'] );?>" class="btn btn-sm <?php echo $class . ' ' . sanitize_html_class( $key );?>" <?php echo ( !empty($action['attrs']) ? $action['attrs'] : '' ) ;?>><?php echo esc_html( $action['name'] );?></a> |
|
| 1946 | + <?php foreach ($actions as $key => $action) { $class = !empty($action['class']) ? sanitize_html_class($action['class']) : ''; ?> |
|
| 1947 | + <a href="<?php echo esc_url($action['url']); ?>" class="btn btn-sm <?php echo $class . ' ' . sanitize_html_class($key); ?>" <?php echo (!empty($action['attrs']) ? $action['attrs'] : ''); ?>><?php echo esc_html($action['name']); ?></a> |
|
| 1948 | 1948 | <?php } ?> |
| 1949 | 1949 | </div> |
| 1950 | 1950 | <?php |
| 1951 | 1951 | } |
| 1952 | 1952 | } |
| 1953 | 1953 | } |
| 1954 | -add_action( 'wpinv_receipt_start', 'wpinv_receipt_actions', -10, 1 ); |
|
| 1954 | +add_action('wpinv_receipt_start', 'wpinv_receipt_actions', -10, 1); |
|
| 1955 | 1955 | |
| 1956 | -function wpinv_invoice_link( $invoice_id ) { |
|
| 1957 | - $invoice = wpinv_get_invoice( $invoice_id ); |
|
| 1956 | +function wpinv_invoice_link($invoice_id) { |
|
| 1957 | + $invoice = wpinv_get_invoice($invoice_id); |
|
| 1958 | 1958 | |
| 1959 | - if ( empty( $invoice ) ) { |
|
| 1959 | + if (empty($invoice)) { |
|
| 1960 | 1960 | return NULL; |
| 1961 | 1961 | } |
| 1962 | 1962 | |
| 1963 | - $invoice_link = '<a href="' . esc_url( $invoice->get_view_url() ) . '">' . $invoice->get_number() . '</a>'; |
|
| 1963 | + $invoice_link = '<a href="' . esc_url($invoice->get_view_url()) . '">' . $invoice->get_number() . '</a>'; |
|
| 1964 | 1964 | |
| 1965 | - return apply_filters( 'wpinv_get_invoice_link', $invoice_link, $invoice ); |
|
| 1965 | + return apply_filters('wpinv_get_invoice_link', $invoice_link, $invoice); |
|
| 1966 | 1966 | } |
| 1967 | 1967 | |
| 1968 | -function wpinv_invoice_subscription_details( $invoice ) { |
|
| 1969 | - if ( !empty( $invoice ) && $invoice->is_recurring() && ! wpinv_is_subscription_payment( $invoice ) ) { |
|
| 1970 | - $subscription = wpinv_get_subscription( $invoice, true ); |
|
| 1968 | +function wpinv_invoice_subscription_details($invoice) { |
|
| 1969 | + if (!empty($invoice) && $invoice->is_recurring() && !wpinv_is_subscription_payment($invoice)) { |
|
| 1970 | + $subscription = wpinv_get_subscription($invoice, true); |
|
| 1971 | 1971 | |
| 1972 | - if ( empty( $subscription ) ) { |
|
| 1972 | + if (empty($subscription)) { |
|
| 1973 | 1973 | return; |
| 1974 | 1974 | } |
| 1975 | 1975 | |
@@ -1980,15 +1980,15 @@ discard block |
||
| 1980 | 1980 | $payments = $subscription->get_child_payments(); |
| 1981 | 1981 | ?> |
| 1982 | 1982 | <div class="wpinv-subscriptions-details"> |
| 1983 | - <h3 class="wpinv-subscriptions-t"><?php echo apply_filters( 'wpinv_subscription_details_title', __( 'Subscription Details', 'invoicing' ) ); ?></h3> |
|
| 1983 | + <h3 class="wpinv-subscriptions-t"><?php echo apply_filters('wpinv_subscription_details_title', __('Subscription Details', 'invoicing')); ?></h3> |
|
| 1984 | 1984 | <table class="table"> |
| 1985 | 1985 | <thead> |
| 1986 | 1986 | <tr> |
| 1987 | - <th><?php _e( 'Billing Cycle', 'invoicing' ) ;?></th> |
|
| 1988 | - <th><?php _e( 'Start Date', 'invoicing' ) ;?></th> |
|
| 1989 | - <th><?php _e( 'Expiration Date', 'invoicing' ) ;?></th> |
|
| 1990 | - <th class="text-center"><?php _e( 'Times Billed', 'invoicing' ) ;?></th> |
|
| 1991 | - <th class="text-center"><?php _e( 'Status', 'invoicing' ) ;?></th> |
|
| 1987 | + <th><?php _e('Billing Cycle', 'invoicing'); ?></th> |
|
| 1988 | + <th><?php _e('Start Date', 'invoicing'); ?></th> |
|
| 1989 | + <th><?php _e('Expiration Date', 'invoicing'); ?></th> |
|
| 1990 | + <th class="text-center"><?php _e('Times Billed', 'invoicing'); ?></th> |
|
| 1991 | + <th class="text-center"><?php _e('Status', 'invoicing'); ?></th> |
|
| 1992 | 1992 | </tr> |
| 1993 | 1993 | </thead> |
| 1994 | 1994 | <tbody> |
@@ -2002,29 +2002,29 @@ discard block |
||
| 2002 | 2002 | </tbody> |
| 2003 | 2003 | </table> |
| 2004 | 2004 | </div> |
| 2005 | - <?php if ( !empty( $payments ) ) { ?> |
|
| 2005 | + <?php if (!empty($payments)) { ?> |
|
| 2006 | 2006 | <div class="wpinv-renewal-payments"> |
| 2007 | - <h3 class="wpinv-renewals-t"><?php echo apply_filters( 'wpinv_renewal_payments_title', __( 'Renewal Payments', 'invoicing' ) ); ?></h3> |
|
| 2007 | + <h3 class="wpinv-renewals-t"><?php echo apply_filters('wpinv_renewal_payments_title', __('Renewal Payments', 'invoicing')); ?></h3> |
|
| 2008 | 2008 | <table class="table"> |
| 2009 | 2009 | <thead> |
| 2010 | 2010 | <tr> |
| 2011 | 2011 | <th>#</th> |
| 2012 | - <th><?php _e( 'Invoice', 'invoicing' ) ;?></th> |
|
| 2013 | - <th><?php _e( 'Date', 'invoicing' ) ;?></th> |
|
| 2014 | - <th class="text-right"><?php _e( 'Amount', 'invoicing' ) ;?></th> |
|
| 2012 | + <th><?php _e('Invoice', 'invoicing'); ?></th> |
|
| 2013 | + <th><?php _e('Date', 'invoicing'); ?></th> |
|
| 2014 | + <th class="text-right"><?php _e('Amount', 'invoicing'); ?></th> |
|
| 2015 | 2015 | </tr> |
| 2016 | 2016 | </thead> |
| 2017 | 2017 | <tbody> |
| 2018 | 2018 | <?php |
| 2019 | 2019 | $i = 1; |
| 2020 | - foreach ( $payments as $payment ) { |
|
| 2020 | + foreach ($payments as $payment) { |
|
| 2021 | 2021 | $invoice_id = $payment->ID; |
| 2022 | 2022 | ?> |
| 2023 | 2023 | <tr> |
| 2024 | - <th scope="row"><?php echo $i;?></th> |
|
| 2025 | - <td><?php echo wpinv_invoice_link( $invoice_id ) ;?></td> |
|
| 2026 | - <td><?php echo wpinv_get_invoice_date( $invoice_id ); ?></td> |
|
| 2027 | - <td class="text-right"><?php echo wpinv_payment_total( $invoice_id, true ); ?></td> |
|
| 2024 | + <th scope="row"><?php echo $i; ?></th> |
|
| 2025 | + <td><?php echo wpinv_invoice_link($invoice_id); ?></td> |
|
| 2026 | + <td><?php echo wpinv_get_invoice_date($invoice_id); ?></td> |
|
| 2027 | + <td class="text-right"><?php echo wpinv_payment_total($invoice_id, true); ?></td> |
|
| 2028 | 2028 | </tr> |
| 2029 | 2029 | <?php $i++; } ?> |
| 2030 | 2030 | </tbody> |
@@ -2035,52 +2035,52 @@ discard block |
||
| 2035 | 2035 | } |
| 2036 | 2036 | } |
| 2037 | 2037 | |
| 2038 | -function wpinv_cart_total_label( $label, $invoice ) { |
|
| 2039 | - if ( empty( $invoice ) ) { |
|
| 2038 | +function wpinv_cart_total_label($label, $invoice) { |
|
| 2039 | + if (empty($invoice)) { |
|
| 2040 | 2040 | return $label; |
| 2041 | 2041 | } |
| 2042 | 2042 | |
| 2043 | 2043 | $prefix_label = ''; |
| 2044 | - if ( $invoice->is_parent() && $item_id = $invoice->get_recurring() ) { |
|
| 2045 | - $prefix_label = '<span class="label label-primary label-recurring">' . __( 'Recurring Payment', 'invoicing' ) . '</span> ' . wpinv_subscription_payment_desc( $invoice ); |
|
| 2046 | - } else if ( $invoice->is_renewal() ) { |
|
| 2047 | - $prefix_label = '<span class="label label-primary label-renewal">' . __( 'Renewal Payment', 'invoicing' ) . '</span> '; |
|
| 2044 | + if ($invoice->is_parent() && $item_id = $invoice->get_recurring()) { |
|
| 2045 | + $prefix_label = '<span class="label label-primary label-recurring">' . __('Recurring Payment', 'invoicing') . '</span> ' . wpinv_subscription_payment_desc($invoice); |
|
| 2046 | + } else if ($invoice->is_renewal()) { |
|
| 2047 | + $prefix_label = '<span class="label label-primary label-renewal">' . __('Renewal Payment', 'invoicing') . '</span> '; |
|
| 2048 | 2048 | } |
| 2049 | 2049 | |
| 2050 | - if ( $prefix_label != '' ) { |
|
| 2051 | - $label = '<span class="wpinv-cart-sub-desc">' . $prefix_label . '</span> ' . $label; |
|
| 2050 | + if ($prefix_label != '') { |
|
| 2051 | + $label = '<span class="wpinv-cart-sub-desc">' . $prefix_label . '</span> ' . $label; |
|
| 2052 | 2052 | } |
| 2053 | 2053 | |
| 2054 | 2054 | return $label; |
| 2055 | 2055 | } |
| 2056 | -add_filter( 'wpinv_cart_total_label', 'wpinv_cart_total_label', 10, 2 ); |
|
| 2057 | -add_filter( 'wpinv_email_cart_total_label', 'wpinv_cart_total_label', 10, 2 ); |
|
| 2058 | -add_filter( 'wpinv_print_cart_total_label', 'wpinv_cart_total_label', 10, 2 ); |
|
| 2056 | +add_filter('wpinv_cart_total_label', 'wpinv_cart_total_label', 10, 2); |
|
| 2057 | +add_filter('wpinv_email_cart_total_label', 'wpinv_cart_total_label', 10, 2); |
|
| 2058 | +add_filter('wpinv_print_cart_total_label', 'wpinv_cart_total_label', 10, 2); |
|
| 2059 | 2059 | |
| 2060 | -add_action( 'wpinv_invoice_print_middle', 'wpinv_invoice_subscription_details', 10, 1 ); |
|
| 2060 | +add_action('wpinv_invoice_print_middle', 'wpinv_invoice_subscription_details', 10, 1); |
|
| 2061 | 2061 | |
| 2062 | -function wpinv_invoice_print_description( $invoice ) { |
|
| 2063 | - if ( empty( $invoice ) ) { |
|
| 2062 | +function wpinv_invoice_print_description($invoice) { |
|
| 2063 | + if (empty($invoice)) { |
|
| 2064 | 2064 | return NULL; |
| 2065 | 2065 | } |
| 2066 | - if ( $description = wpinv_get_invoice_description( $invoice->ID ) ) { |
|
| 2066 | + if ($description = wpinv_get_invoice_description($invoice->ID)) { |
|
| 2067 | 2067 | ?> |
| 2068 | 2068 | <div class="row wpinv-lower"> |
| 2069 | 2069 | <div class="col-sm-12 wpinv-description"> |
| 2070 | - <?php echo wpautop( $description ); ?> |
|
| 2070 | + <?php echo wpautop($description); ?> |
|
| 2071 | 2071 | </div> |
| 2072 | 2072 | </div> |
| 2073 | 2073 | <?php |
| 2074 | 2074 | } |
| 2075 | 2075 | } |
| 2076 | -add_action( 'wpinv_invoice_print_middle', 'wpinv_invoice_print_description', 10.1, 1 ); |
|
| 2076 | +add_action('wpinv_invoice_print_middle', 'wpinv_invoice_print_description', 10.1, 1); |
|
| 2077 | 2077 | |
| 2078 | -function wpinv_invoice_print_payment_info( $invoice ) { |
|
| 2079 | - if ( empty( $invoice ) ) { |
|
| 2078 | +function wpinv_invoice_print_payment_info($invoice) { |
|
| 2079 | + if (empty($invoice)) { |
|
| 2080 | 2080 | return NULL; |
| 2081 | 2081 | } |
| 2082 | 2082 | |
| 2083 | - if ( $payments_info = wpinv_display_payments_info( $invoice->ID, false ) ) { |
|
| 2083 | + if ($payments_info = wpinv_display_payments_info($invoice->ID, false)) { |
|
| 2084 | 2084 | ?> |
| 2085 | 2085 | <div class="row wpinv-payments"> |
| 2086 | 2086 | <div class="col-sm-12"> |
@@ -2092,43 +2092,43 @@ discard block |
||
| 2092 | 2092 | } |
| 2093 | 2093 | // add_action( 'wpinv_invoice_print_after_line_items', 'wpinv_invoice_print_payment_info', 10, 1 ); |
| 2094 | 2094 | |
| 2095 | -function wpinv_get_invoice_note_line_item( $note, $echo = true ) { |
|
| 2096 | - if ( empty( $note ) ) { |
|
| 2095 | +function wpinv_get_invoice_note_line_item($note, $echo = true) { |
|
| 2096 | + if (empty($note)) { |
|
| 2097 | 2097 | return NULL; |
| 2098 | 2098 | } |
| 2099 | 2099 | |
| 2100 | - if ( is_int( $note ) ) { |
|
| 2101 | - $note = get_comment( $note ); |
|
| 2100 | + if (is_int($note)) { |
|
| 2101 | + $note = get_comment($note); |
|
| 2102 | 2102 | } |
| 2103 | 2103 | |
| 2104 | - if ( !( is_object( $note ) && is_a( $note, 'WP_Comment' ) ) ) { |
|
| 2104 | + if (!(is_object($note) && is_a($note, 'WP_Comment'))) { |
|
| 2105 | 2105 | return NULL; |
| 2106 | 2106 | } |
| 2107 | 2107 | |
| 2108 | - $note_classes = array( 'note' ); |
|
| 2109 | - $note_classes[] = get_comment_meta( $note->comment_ID, '_wpi_customer_note', true ) ? 'customer-note' : ''; |
|
| 2108 | + $note_classes = array('note'); |
|
| 2109 | + $note_classes[] = get_comment_meta($note->comment_ID, '_wpi_customer_note', true) ? 'customer-note' : ''; |
|
| 2110 | 2110 | $note_classes[] = $note->comment_author === 'System' ? 'system-note' : ''; |
| 2111 | - $note_classes = apply_filters( 'wpinv_invoice_note_class', array_filter( $note_classes ), $note ); |
|
| 2112 | - $note_classes = !empty( $note_classes ) ? implode( ' ', $note_classes ) : ''; |
|
| 2111 | + $note_classes = apply_filters('wpinv_invoice_note_class', array_filter($note_classes), $note); |
|
| 2112 | + $note_classes = !empty($note_classes) ? implode(' ', $note_classes) : ''; |
|
| 2113 | 2113 | |
| 2114 | 2114 | ob_start(); |
| 2115 | 2115 | ?> |
| 2116 | - <li rel="<?php echo absint( $note->comment_ID ) ; ?>" class="<?php echo esc_attr( $note_classes ); ?>"> |
|
| 2116 | + <li rel="<?php echo absint($note->comment_ID); ?>" class="<?php echo esc_attr($note_classes); ?>"> |
|
| 2117 | 2117 | <div class="note_content"> |
| 2118 | - <?php echo wpautop( wptexturize( wp_kses_post( $note->comment_content ) ) ); ?> |
|
| 2118 | + <?php echo wpautop(wptexturize(wp_kses_post($note->comment_content))); ?> |
|
| 2119 | 2119 | </div> |
| 2120 | 2120 | <p class="meta"> |
| 2121 | - <abbr class="exact-date" title="<?php echo $note->comment_date; ?>"><?php printf( __( '%1$s - %2$s at %3$s', 'invoicing' ), $note->comment_author, date_i18n( get_option( 'date_format' ), strtotime( $note->comment_date ) ), date_i18n( get_option( 'time_format' ), strtotime( $note->comment_date ) ) ); ?></abbr> |
|
| 2122 | - <?php if ( $note->comment_author !== 'System' || wpinv_current_user_can_manage_invoicing() ) { ?> |
|
| 2123 | - <a href="#" class="delete_note"><?php _e( 'Delete note', 'invoicing' ); ?></a> |
|
| 2121 | + <abbr class="exact-date" title="<?php echo $note->comment_date; ?>"><?php printf(__('%1$s - %2$s at %3$s', 'invoicing'), $note->comment_author, date_i18n(get_option('date_format'), strtotime($note->comment_date)), date_i18n(get_option('time_format'), strtotime($note->comment_date))); ?></abbr> |
|
| 2122 | + <?php if ($note->comment_author !== 'System' || wpinv_current_user_can_manage_invoicing()) { ?> |
|
| 2123 | + <a href="#" class="delete_note"><?php _e('Delete note', 'invoicing'); ?></a> |
|
| 2124 | 2124 | <?php } ?> |
| 2125 | 2125 | </p> |
| 2126 | 2126 | </li> |
| 2127 | 2127 | <?php |
| 2128 | 2128 | $note_content = ob_get_clean(); |
| 2129 | - $note_content = apply_filters( 'wpinv_get_invoice_note_line_item', $note_content, $note, $echo ); |
|
| 2129 | + $note_content = apply_filters('wpinv_get_invoice_note_line_item', $note_content, $note, $echo); |
|
| 2130 | 2130 | |
| 2131 | - if ( $echo ) { |
|
| 2131 | + if ($echo) { |
|
| 2132 | 2132 | echo $note_content; |
| 2133 | 2133 | } else { |
| 2134 | 2134 | return $note_content; |
@@ -2138,43 +2138,43 @@ discard block |
||
| 2138 | 2138 | function wpinv_invalid_invoice_content() { |
| 2139 | 2139 | global $post; |
| 2140 | 2140 | |
| 2141 | - $invoice = wpinv_get_invoice( $post->ID ); |
|
| 2141 | + $invoice = wpinv_get_invoice($post->ID); |
|
| 2142 | 2142 | |
| 2143 | - $error = __( 'This invoice is only viewable by clicking on the invoice link that sent to you via email.', 'invoicing' ); |
|
| 2144 | - if ( !empty( $invoice->ID ) && $invoice->has_status( array_keys( wpinv_get_invoice_statuses() ) ) ) { |
|
| 2145 | - if ( is_user_logged_in() ) { |
|
| 2146 | - if ( wpinv_require_login_to_checkout() ) { |
|
| 2147 | - if ( isset( $_GET['invoice_key'] ) && $_GET['invoice_key'] === $invoice->get_key() ) { |
|
| 2148 | - $error = __( 'You are not allowed to view this invoice.', 'invoicing' ); |
|
| 2143 | + $error = __('This invoice is only viewable by clicking on the invoice link that sent to you via email.', 'invoicing'); |
|
| 2144 | + if (!empty($invoice->ID) && $invoice->has_status(array_keys(wpinv_get_invoice_statuses()))) { |
|
| 2145 | + if (is_user_logged_in()) { |
|
| 2146 | + if (wpinv_require_login_to_checkout()) { |
|
| 2147 | + if (isset($_GET['invoice_key']) && $_GET['invoice_key'] === $invoice->get_key()) { |
|
| 2148 | + $error = __('You are not allowed to view this invoice.', 'invoicing'); |
|
| 2149 | 2149 | } |
| 2150 | 2150 | } |
| 2151 | 2151 | } else { |
| 2152 | - if ( wpinv_require_login_to_checkout() ) { |
|
| 2153 | - if ( isset( $_GET['invoice_key'] ) && $_GET['invoice_key'] === $invoice->get_key() ) { |
|
| 2154 | - $error = __( 'You must be logged in to view this invoice.', 'invoicing' ); |
|
| 2152 | + if (wpinv_require_login_to_checkout()) { |
|
| 2153 | + if (isset($_GET['invoice_key']) && $_GET['invoice_key'] === $invoice->get_key()) { |
|
| 2154 | + $error = __('You must be logged in to view this invoice.', 'invoicing'); |
|
| 2155 | 2155 | } |
| 2156 | 2156 | } |
| 2157 | 2157 | } |
| 2158 | 2158 | } else { |
| 2159 | - $error = __( 'This invoice is deleted or does not exist.', 'invoicing' ); |
|
| 2159 | + $error = __('This invoice is deleted or does not exist.', 'invoicing'); |
|
| 2160 | 2160 | } |
| 2161 | 2161 | ?> |
| 2162 | 2162 | <div class="row wpinv-row-invalid"> |
| 2163 | 2163 | <div class="col-md-6 col-md-offset-3 wpinv-message error"> |
| 2164 | - <h3><?php _e( 'Access Denied', 'invoicing' ); ?></h3> |
|
| 2164 | + <h3><?php _e('Access Denied', 'invoicing'); ?></h3> |
|
| 2165 | 2165 | <p class="wpinv-msg-text"><?php echo $error; ?></p> |
| 2166 | 2166 | </div> |
| 2167 | 2167 | </div> |
| 2168 | 2168 | <?php |
| 2169 | 2169 | } |
| 2170 | -add_action( 'wpinv_invalid_invoice_content', 'wpinv_invalid_invoice_content' ); |
|
| 2170 | +add_action('wpinv_invalid_invoice_content', 'wpinv_invalid_invoice_content'); |
|
| 2171 | 2171 | |
| 2172 | -add_action( 'wpinv_checkout_billing_fields_last', 'wpinv_force_company_name_field'); |
|
| 2173 | -function wpinv_force_company_name_field(){ |
|
| 2172 | +add_action('wpinv_checkout_billing_fields_last', 'wpinv_force_company_name_field'); |
|
| 2173 | +function wpinv_force_company_name_field() { |
|
| 2174 | 2174 | $invoice = wpinv_get_invoice_cart(); |
| 2175 | - $user_id = wpinv_get_user_id( $invoice->ID ); |
|
| 2176 | - $company = empty( $user_id ) ? "" : get_user_meta( $user_id, '_wpinv_company', true ); |
|
| 2177 | - if ( 1 == wpinv_get_option( 'force_show_company' ) && !wpinv_use_taxes() ) { |
|
| 2175 | + $user_id = wpinv_get_user_id($invoice->ID); |
|
| 2176 | + $company = empty($user_id) ? "" : get_user_meta($user_id, '_wpinv_company', true); |
|
| 2177 | + if (1 == wpinv_get_option('force_show_company') && !wpinv_use_taxes()) { |
|
| 2178 | 2178 | ?> |
| 2179 | 2179 | <p class="wpi-cart-field wpi-col2 wpi-colf"> |
| 2180 | 2180 | <label for="wpinv_company" class="wpi-label"><?php _e('Company Name', 'invoicing'); ?></label> |
@@ -2199,21 +2199,21 @@ discard block |
||
| 2199 | 2199 | * @return string |
| 2200 | 2200 | */ |
| 2201 | 2201 | function wpinv_get_policy_text() { |
| 2202 | - $privacy_page_id = get_option( 'wp_page_for_privacy_policy', 0 ); |
|
| 2202 | + $privacy_page_id = get_option('wp_page_for_privacy_policy', 0); |
|
| 2203 | 2203 | |
| 2204 | - $text = wpinv_get_option('invoicing_privacy_checkout_message', sprintf( __( 'Your personal data will be used to process your invoice, payment and for other purposes described in our %s.', 'invoicing' ), '[wpinv_privacy_policy]' )); |
|
| 2204 | + $text = wpinv_get_option('invoicing_privacy_checkout_message', sprintf(__('Your personal data will be used to process your invoice, payment and for other purposes described in our %s.', 'invoicing'), '[wpinv_privacy_policy]')); |
|
| 2205 | 2205 | |
| 2206 | - if(!$privacy_page_id){ |
|
| 2207 | - $privacy_page_id = wpinv_get_option( 'privacy_page', 0 ); |
|
| 2206 | + if (!$privacy_page_id) { |
|
| 2207 | + $privacy_page_id = wpinv_get_option('privacy_page', 0); |
|
| 2208 | 2208 | } |
| 2209 | 2209 | |
| 2210 | - $privacy_link = $privacy_page_id ? '<a href="' . esc_url( get_permalink( $privacy_page_id ) ) . '" class="wpinv-privacy-policy-link" target="_blank">' . __( 'privacy policy', 'invoicing' ) . '</a>' : __( 'privacy policy', 'invoicing' ); |
|
| 2210 | + $privacy_link = $privacy_page_id ? '<a href="' . esc_url(get_permalink($privacy_page_id)) . '" class="wpinv-privacy-policy-link" target="_blank">' . __('privacy policy', 'invoicing') . '</a>' : __('privacy policy', 'invoicing'); |
|
| 2211 | 2211 | |
| 2212 | 2212 | $find_replace = array( |
| 2213 | 2213 | '[wpinv_privacy_policy]' => $privacy_link, |
| 2214 | 2214 | ); |
| 2215 | 2215 | |
| 2216 | - $privacy_text = str_replace( array_keys( $find_replace ), array_values( $find_replace ), $text ); |
|
| 2216 | + $privacy_text = str_replace(array_keys($find_replace), array_values($find_replace), $text); |
|
| 2217 | 2217 | |
| 2218 | 2218 | return wp_kses_post(wpautop($privacy_text)); |
| 2219 | 2219 | } |
@@ -2222,25 +2222,25 @@ discard block |
||
| 2222 | 2222 | /** |
| 2223 | 2223 | * Allows the user to set their own price for an invoice item |
| 2224 | 2224 | */ |
| 2225 | -function wpinv_checkout_cart_item_name_your_price( $cart_item, $key ) { |
|
| 2225 | +function wpinv_checkout_cart_item_name_your_price($cart_item, $key) { |
|
| 2226 | 2226 | |
| 2227 | 2227 | //Ensure we have an item id |
| 2228 | - if(! is_array( $cart_item ) || empty( $cart_item['id'] ) ) { |
|
| 2228 | + if (!is_array($cart_item) || empty($cart_item['id'])) { |
|
| 2229 | 2229 | return; |
| 2230 | 2230 | } |
| 2231 | 2231 | |
| 2232 | 2232 | //Fetch the item |
| 2233 | 2233 | $item_id = $cart_item['id']; |
| 2234 | - $item = new WPInv_Item( $item_id ); |
|
| 2234 | + $item = new WPInv_Item($item_id); |
|
| 2235 | 2235 | |
| 2236 | - if(! $item->supports_dynamic_pricing() || !$item->get_is_dynamic_pricing() ) { |
|
| 2236 | + if (!$item->supports_dynamic_pricing() || !$item->get_is_dynamic_pricing()) { |
|
| 2237 | 2237 | return; |
| 2238 | 2238 | } |
| 2239 | 2239 | |
| 2240 | 2240 | //Fetch the dynamic pricing "strings" |
| 2241 | - $suggested_price_text = esc_html( wpinv_get_option( 'suggested_price_text', __( 'Suggested Price:', 'invoicing' ) ) ); |
|
| 2242 | - $minimum_price_text = esc_html( wpinv_get_option( 'minimum_price_text', __( 'Minimum Price:', 'invoicing' ) ) ); |
|
| 2243 | - $name_your_price_text = esc_html( wpinv_get_option( 'name_your_price_text', __( 'Name Your Price', 'invoicing' ) ) ); |
|
| 2241 | + $suggested_price_text = esc_html(wpinv_get_option('suggested_price_text', __('Suggested Price:', 'invoicing'))); |
|
| 2242 | + $minimum_price_text = esc_html(wpinv_get_option('minimum_price_text', __('Minimum Price:', 'invoicing'))); |
|
| 2243 | + $name_your_price_text = esc_html(wpinv_get_option('name_your_price_text', __('Name Your Price', 'invoicing'))); |
|
| 2244 | 2244 | |
| 2245 | 2245 | //Display a "name_your_price" button |
| 2246 | 2246 | echo " — <a href='#' class='wpinv-name-your-price-frontend small'>$name_your_price_text</a></div>"; |
@@ -2249,7 +2249,7 @@ discard block |
||
| 2249 | 2249 | echo '<div class="name-your-price-miniform">'; |
| 2250 | 2250 | |
| 2251 | 2251 | //Maybe display the recommended price |
| 2252 | - if( $item->get_price() > 0 && !empty( $suggested_price_text ) ) { |
|
| 2252 | + if ($item->get_price() > 0 && !empty($suggested_price_text)) { |
|
| 2253 | 2253 | $suggested_price = $item->get_the_price(); |
| 2254 | 2254 | echo "<div>$suggested_price_text — $suggested_price</div>"; |
| 2255 | 2255 | } |
@@ -2257,50 +2257,50 @@ discard block |
||
| 2257 | 2257 | //Display the update price form |
| 2258 | 2258 | $symbol = wpinv_currency_symbol(); |
| 2259 | 2259 | $position = wpinv_currency_position(); |
| 2260 | - $minimum = esc_attr( $item->get_minimum_price() ); |
|
| 2261 | - $price = esc_attr( $cart_item['item_price'] ); |
|
| 2262 | - $update = esc_attr__( "Update", 'invoicing' ); |
|
| 2260 | + $minimum = esc_attr($item->get_minimum_price()); |
|
| 2261 | + $price = esc_attr($cart_item['item_price']); |
|
| 2262 | + $update = esc_attr__("Update", 'invoicing'); |
|
| 2263 | 2263 | |
| 2264 | 2264 | //Ensure it supports dynamic prici |
| 2265 | - if( $price < $minimum ) { |
|
| 2265 | + if ($price < $minimum) { |
|
| 2266 | 2266 | $price = $minimum; |
| 2267 | 2267 | } |
| 2268 | 2268 | |
| 2269 | 2269 | echo '<label>'; |
| 2270 | 2270 | echo $position != 'right' ? $symbol . ' ' : ''; |
| 2271 | 2271 | echo "<input type='number' min='$minimum' placeholder='$price' value='$price' class='wpi-field-price' />"; |
| 2272 | - echo $position == 'right' ? ' ' . $symbol : '' ; |
|
| 2272 | + echo $position == 'right' ? ' ' . $symbol : ''; |
|
| 2273 | 2273 | echo "</label>"; |
| 2274 | 2274 | echo "<input type='hidden' value='$item_id' class='wpi-field-item' />"; |
| 2275 | 2275 | echo "<a class='btn btn-success wpinv-submit wpinv-update-dynamic-price-frontend'>$update</a>"; |
| 2276 | 2276 | |
| 2277 | 2277 | //Maybe display the minimum price |
| 2278 | - if( $item->get_minimum_price() > 0 && !empty( $minimum_price_text ) ) { |
|
| 2279 | - $minimum_price = wpinv_price( wpinv_format_amount( $item->get_minimum_price() ) ); |
|
| 2278 | + if ($item->get_minimum_price() > 0 && !empty($minimum_price_text)) { |
|
| 2279 | + $minimum_price = wpinv_price(wpinv_format_amount($item->get_minimum_price())); |
|
| 2280 | 2280 | echo "<div>$minimum_price_text — $minimum_price</div>"; |
| 2281 | 2281 | } |
| 2282 | 2282 | |
| 2283 | 2283 | echo "</div>"; |
| 2284 | 2284 | |
| 2285 | 2285 | } |
| 2286 | -add_action( 'wpinv_checkout_cart_item_price_after', 'wpinv_checkout_cart_item_name_your_price', 10, 2 ); |
|
| 2286 | +add_action('wpinv_checkout_cart_item_price_after', 'wpinv_checkout_cart_item_name_your_price', 10, 2); |
|
| 2287 | 2287 | |
| 2288 | 2288 | function wpinv_oxygen_fix_conflict() { |
| 2289 | 2289 | global $ct_ignore_post_types; |
| 2290 | 2290 | |
| 2291 | - if ( ! is_array( $ct_ignore_post_types ) ) { |
|
| 2291 | + if (!is_array($ct_ignore_post_types)) { |
|
| 2292 | 2292 | $ct_ignore_post_types = array(); |
| 2293 | 2293 | } |
| 2294 | 2294 | |
| 2295 | - $post_types = array( 'wpi_discount', 'wpi_invoice', 'wpi_item' ); |
|
| 2295 | + $post_types = array('wpi_discount', 'wpi_invoice', 'wpi_item'); |
|
| 2296 | 2296 | |
| 2297 | - foreach ( $post_types as $post_type ) { |
|
| 2297 | + foreach ($post_types as $post_type) { |
|
| 2298 | 2298 | $ct_ignore_post_types[] = $post_type; |
| 2299 | 2299 | |
| 2300 | 2300 | // Ignore post type |
| 2301 | - add_filter( 'pre_option_oxygen_vsb_ignore_post_type_' . $post_type, '__return_true', 999 ); |
|
| 2301 | + add_filter('pre_option_oxygen_vsb_ignore_post_type_' . $post_type, '__return_true', 999); |
|
| 2302 | 2302 | } |
| 2303 | 2303 | |
| 2304 | - remove_filter( 'template_include', 'wpinv_template', 10, 1 ); |
|
| 2305 | - add_filter( 'template_include', 'wpinv_template', 999, 1 ); |
|
| 2304 | + remove_filter('template_include', 'wpinv_template', 10, 1); |
|
| 2305 | + add_filter('template_include', 'wpinv_template', 999, 1); |
|
| 2306 | 2306 | } |
| 2307 | 2307 | \ No newline at end of file |
@@ -20,31 +20,31 @@ discard block |
||
| 20 | 20 | class WPInv_REST_Invoice_Controller extends WP_REST_Posts_Controller { |
| 21 | 21 | |
| 22 | 22 | /** |
| 23 | - * Post type. |
|
| 24 | - * |
|
| 25 | - * @var string |
|
| 26 | - */ |
|
| 27 | - protected $post_type = 'wpi_invoice'; |
|
| 23 | + * Post type. |
|
| 24 | + * |
|
| 25 | + * @var string |
|
| 26 | + */ |
|
| 27 | + protected $post_type = 'wpi_invoice'; |
|
| 28 | 28 | |
| 29 | - /** |
|
| 30 | - * Cached results of get_item_schema. |
|
| 31 | - * |
|
| 32 | - * @since 1.0.13 |
|
| 33 | - * @var array |
|
| 34 | - */ |
|
| 35 | - protected $schema; |
|
| 29 | + /** |
|
| 30 | + * Cached results of get_item_schema. |
|
| 31 | + * |
|
| 32 | + * @since 1.0.13 |
|
| 33 | + * @var array |
|
| 34 | + */ |
|
| 35 | + protected $schema; |
|
| 36 | 36 | |
| 37 | 37 | /** |
| 38 | - * Constructor. |
|
| 39 | - * |
|
| 40 | - * @since 1.0.13 |
|
| 41 | - * |
|
| 42 | - * @param string $namespace Api Namespace |
|
| 43 | - */ |
|
| 44 | - public function __construct( $namespace ) { |
|
| 38 | + * Constructor. |
|
| 39 | + * |
|
| 40 | + * @since 1.0.13 |
|
| 41 | + * |
|
| 42 | + * @param string $namespace Api Namespace |
|
| 43 | + */ |
|
| 44 | + public function __construct( $namespace ) { |
|
| 45 | 45 | |
| 46 | 46 | // Set api namespace... |
| 47 | - $this->namespace = $namespace; |
|
| 47 | + $this->namespace = $namespace; |
|
| 48 | 48 | |
| 49 | 49 | // ... and the rest base |
| 50 | 50 | $this->rest_base = 'invoices'; |
@@ -52,39 +52,39 @@ discard block |
||
| 52 | 52 | } |
| 53 | 53 | |
| 54 | 54 | /** |
| 55 | - * Checks if a given request has access to read invoices. |
|
| 55 | + * Checks if a given request has access to read invoices. |
|
| 56 | 56 | * |
| 57 | - * |
|
| 58 | - * @since 1.0.13 |
|
| 59 | - * |
|
| 60 | - * @param WP_REST_Request $request Full details about the request. |
|
| 61 | - * @return true|WP_Error True if the request has read access, WP_Error object otherwise. |
|
| 62 | - */ |
|
| 63 | - public function get_items_permissions_check( $request ) { |
|
| 57 | + * |
|
| 58 | + * @since 1.0.13 |
|
| 59 | + * |
|
| 60 | + * @param WP_REST_Request $request Full details about the request. |
|
| 61 | + * @return true|WP_Error True if the request has read access, WP_Error object otherwise. |
|
| 62 | + */ |
|
| 63 | + public function get_items_permissions_check( $request ) { |
|
| 64 | 64 | |
| 65 | 65 | $post_type = get_post_type_object( $this->post_type ); |
| 66 | 66 | |
| 67 | - if ( 'edit' === $request['context'] && ! current_user_can( $post_type->cap->edit_posts ) ) { |
|
| 68 | - return new WP_Error( 'rest_forbidden_context', __( 'Sorry, you are not allowed to edit invoices.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) ); |
|
| 69 | - } |
|
| 67 | + if ( 'edit' === $request['context'] && ! current_user_can( $post_type->cap->edit_posts ) ) { |
|
| 68 | + return new WP_Error( 'rest_forbidden_context', __( 'Sorry, you are not allowed to edit invoices.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) ); |
|
| 69 | + } |
|
| 70 | 70 | |
| 71 | - // Read checks will be evaluated on a per invoice basis |
|
| 71 | + // Read checks will be evaluated on a per invoice basis |
|
| 72 | 72 | |
| 73 | - return true; |
|
| 73 | + return true; |
|
| 74 | 74 | |
| 75 | 75 | } |
| 76 | 76 | |
| 77 | 77 | /** |
| 78 | - * Retrieves a collection of invoices. |
|
| 79 | - * |
|
| 80 | - * @since 1.0.13 |
|
| 81 | - * |
|
| 82 | - * @param WP_REST_Request $request Full details about the request. |
|
| 83 | - * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. |
|
| 84 | - */ |
|
| 85 | - public function get_items( $request ) { |
|
| 78 | + * Retrieves a collection of invoices. |
|
| 79 | + * |
|
| 80 | + * @since 1.0.13 |
|
| 81 | + * |
|
| 82 | + * @param WP_REST_Request $request Full details about the request. |
|
| 83 | + * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. |
|
| 84 | + */ |
|
| 85 | + public function get_items( $request ) { |
|
| 86 | 86 | |
| 87 | - // Retrieve the list of registered invoice query parameters. |
|
| 87 | + // Retrieve the list of registered invoice query parameters. |
|
| 88 | 88 | $registered = $this->get_collection_params(); |
| 89 | 89 | |
| 90 | 90 | $args = array(); |
@@ -97,54 +97,54 @@ discard block |
||
| 97 | 97 | |
| 98 | 98 | } |
| 99 | 99 | |
| 100 | - /** |
|
| 101 | - * Filters the wpinv_get_invoices arguments for invoices requests. |
|
| 102 | - * |
|
| 103 | - * |
|
| 104 | - * @since 1.0.13 |
|
| 105 | - * |
|
| 106 | - * |
|
| 107 | - * @param array $args Key value array of query var to query value. |
|
| 108 | - * @param WP_REST_Request $request The request used. |
|
| 109 | - */ |
|
| 100 | + /** |
|
| 101 | + * Filters the wpinv_get_invoices arguments for invoices requests. |
|
| 102 | + * |
|
| 103 | + * |
|
| 104 | + * @since 1.0.13 |
|
| 105 | + * |
|
| 106 | + * |
|
| 107 | + * @param array $args Key value array of query var to query value. |
|
| 108 | + * @param WP_REST_Request $request The request used. |
|
| 109 | + */ |
|
| 110 | 110 | $args = apply_filters( "wpinv_rest_get_invoices_arguments", $args, $request, $this ); |
| 111 | 111 | |
| 112 | - // Special args |
|
| 113 | - $args[ 'return' ] = 'objects'; |
|
| 114 | - $args[ 'paginate' ] = true; |
|
| 112 | + // Special args |
|
| 113 | + $args[ 'return' ] = 'objects'; |
|
| 114 | + $args[ 'paginate' ] = true; |
|
| 115 | 115 | |
| 116 | 116 | // Run the query. |
| 117 | - $query = wpinv_get_invoices( $args ); |
|
| 117 | + $query = wpinv_get_invoices( $args ); |
|
| 118 | 118 | |
| 119 | - // Prepare the retrieved invoices |
|
| 120 | - $invoices = array(); |
|
| 121 | - foreach( $query->invoices as $invoice ) { |
|
| 122 | - |
|
| 123 | - if ( ! $this->check_read_permission( $invoice ) ) { |
|
| 124 | - continue; |
|
| 125 | - } |
|
| 126 | - |
|
| 127 | - $data = $this->prepare_item_for_response( $invoice, $request ); |
|
| 128 | - $invoices[] = $this->prepare_response_for_collection( $data ); |
|
| 129 | - |
|
| 130 | - } |
|
| 131 | - |
|
| 132 | - // Prepare the response. |
|
| 133 | - $response = rest_ensure_response( $invoices ); |
|
| 134 | - $response->header( 'X-WP-Total', (int) $query->total ); |
|
| 135 | - $response->header( 'X-WP-TotalPages', (int) $query->max_num_pages ); |
|
| 136 | - |
|
| 137 | - /** |
|
| 138 | - * Filters the responses for invoices requests. |
|
| 139 | - * |
|
| 140 | - * |
|
| 141 | - * @since 1.0.13 |
|
| 142 | - * |
|
| 143 | - * |
|
| 144 | - * @param arrWP_REST_Response $response Response object. |
|
| 145 | - * @param WP_REST_Request $request The request used. |
|
| 119 | + // Prepare the retrieved invoices |
|
| 120 | + $invoices = array(); |
|
| 121 | + foreach( $query->invoices as $invoice ) { |
|
| 122 | + |
|
| 123 | + if ( ! $this->check_read_permission( $invoice ) ) { |
|
| 124 | + continue; |
|
| 125 | + } |
|
| 126 | + |
|
| 127 | + $data = $this->prepare_item_for_response( $invoice, $request ); |
|
| 128 | + $invoices[] = $this->prepare_response_for_collection( $data ); |
|
| 129 | + |
|
| 130 | + } |
|
| 131 | + |
|
| 132 | + // Prepare the response. |
|
| 133 | + $response = rest_ensure_response( $invoices ); |
|
| 134 | + $response->header( 'X-WP-Total', (int) $query->total ); |
|
| 135 | + $response->header( 'X-WP-TotalPages', (int) $query->max_num_pages ); |
|
| 136 | + |
|
| 137 | + /** |
|
| 138 | + * Filters the responses for invoices requests. |
|
| 139 | + * |
|
| 140 | + * |
|
| 141 | + * @since 1.0.13 |
|
| 142 | + * |
|
| 143 | + * |
|
| 144 | + * @param arrWP_REST_Response $response Response object. |
|
| 145 | + * @param WP_REST_Request $request The request used. |
|
| 146 | 146 | * @param array $args Array of args used to retrieve the invoices |
| 147 | - */ |
|
| 147 | + */ |
|
| 148 | 148 | $response = apply_filters( "rest_wpinv_invoices_response", $response, $request, $args ); |
| 149 | 149 | |
| 150 | 150 | return rest_ensure_response( $response ); |
@@ -152,25 +152,25 @@ discard block |
||
| 152 | 152 | } |
| 153 | 153 | |
| 154 | 154 | /** |
| 155 | - * Get the post, if the ID is valid. |
|
| 156 | - * |
|
| 157 | - * @since 1.0.13 |
|
| 158 | - * |
|
| 159 | - * @param int $invoice_id Supplied ID. |
|
| 160 | - * @return WPInv_Invoice|WP_Error Invoice object if ID is valid, WP_Error otherwise. |
|
| 161 | - */ |
|
| 162 | - protected function get_post( $invoice_id ) { |
|
| 155 | + * Get the post, if the ID is valid. |
|
| 156 | + * |
|
| 157 | + * @since 1.0.13 |
|
| 158 | + * |
|
| 159 | + * @param int $invoice_id Supplied ID. |
|
| 160 | + * @return WPInv_Invoice|WP_Error Invoice object if ID is valid, WP_Error otherwise. |
|
| 161 | + */ |
|
| 162 | + protected function get_post( $invoice_id ) { |
|
| 163 | 163 | |
| 164 | - $error = new WP_Error( 'rest_invoice_invalid_id', __( 'Invalid invoice ID.', 'invoicing' ), array( 'status' => 404 ) ); |
|
| 164 | + $error = new WP_Error( 'rest_invoice_invalid_id', __( 'Invalid invoice ID.', 'invoicing' ), array( 'status' => 404 ) ); |
|
| 165 | 165 | |
| 166 | 166 | // Ids start from 1 |
| 167 | 167 | if ( (int) $invoice_id <= 0 ) { |
| 168 | - return $error; |
|
| 169 | - } |
|
| 168 | + return $error; |
|
| 169 | + } |
|
| 170 | 170 | |
| 171 | - $invoice = wpinv_get_invoice( (int) $invoice_id ); |
|
| 172 | - if ( empty( $invoice ) ) { |
|
| 173 | - return $error; |
|
| 171 | + $invoice = wpinv_get_invoice( (int) $invoice_id ); |
|
| 172 | + if ( empty( $invoice ) ) { |
|
| 173 | + return $error; |
|
| 174 | 174 | } |
| 175 | 175 | |
| 176 | 176 | return $invoice; |
@@ -178,77 +178,77 @@ discard block |
||
| 178 | 178 | } |
| 179 | 179 | |
| 180 | 180 | /** |
| 181 | - * Checks if a given request has access to read an invoice. |
|
| 182 | - * |
|
| 183 | - * @since 1.0.13 |
|
| 184 | - * |
|
| 185 | - * @param WP_REST_Request $request Full details about the request. |
|
| 186 | - * @return bool|WP_Error True if the request has read access for the invoice, WP_Error object otherwise. |
|
| 187 | - */ |
|
| 188 | - public function get_item_permissions_check( $request ) { |
|
| 181 | + * Checks if a given request has access to read an invoice. |
|
| 182 | + * |
|
| 183 | + * @since 1.0.13 |
|
| 184 | + * |
|
| 185 | + * @param WP_REST_Request $request Full details about the request. |
|
| 186 | + * @return bool|WP_Error True if the request has read access for the invoice, WP_Error object otherwise. |
|
| 187 | + */ |
|
| 188 | + public function get_item_permissions_check( $request ) { |
|
| 189 | 189 | |
| 190 | 190 | // Retrieve the invoice object. |
| 191 | 191 | $invoice = $this->get_post( $request['id'] ); |
| 192 | 192 | |
| 193 | 193 | // Ensure it is valid. |
| 194 | - if ( is_wp_error( $invoice ) ) { |
|
| 195 | - return $invoice; |
|
| 196 | - } |
|
| 194 | + if ( is_wp_error( $invoice ) ) { |
|
| 195 | + return $invoice; |
|
| 196 | + } |
|
| 197 | 197 | |
| 198 | - if ( $invoice ) { |
|
| 199 | - return $this->check_read_permission( $invoice ); |
|
| 200 | - } |
|
| 198 | + if ( $invoice ) { |
|
| 199 | + return $this->check_read_permission( $invoice ); |
|
| 200 | + } |
|
| 201 | 201 | |
| 202 | - return true; |
|
| 202 | + return true; |
|
| 203 | 203 | } |
| 204 | 204 | |
| 205 | 205 | /** |
| 206 | - * Checks if an invoice can be read. |
|
| 207 | - * |
|
| 208 | - * An invoice can be read by site admins and owners of the invoice |
|
| 209 | - * |
|
| 210 | - * |
|
| 211 | - * @since 1.0.13 |
|
| 212 | - * |
|
| 213 | - * @param WPInv_Invoice $invoice WPInv_Invoice object. |
|
| 214 | - * @return bool Whether the post can be read. |
|
| 215 | - */ |
|
| 216 | - public function check_read_permission( $invoice ) { |
|
| 217 | - return wpinv_user_can_view_invoice( $invoice->ID ); |
|
| 206 | + * Checks if an invoice can be read. |
|
| 207 | + * |
|
| 208 | + * An invoice can be read by site admins and owners of the invoice |
|
| 209 | + * |
|
| 210 | + * |
|
| 211 | + * @since 1.0.13 |
|
| 212 | + * |
|
| 213 | + * @param WPInv_Invoice $invoice WPInv_Invoice object. |
|
| 214 | + * @return bool Whether the post can be read. |
|
| 215 | + */ |
|
| 216 | + public function check_read_permission( $invoice ) { |
|
| 217 | + return wpinv_user_can_view_invoice( $invoice->ID ); |
|
| 218 | 218 | } |
| 219 | 219 | |
| 220 | 220 | /** |
| 221 | - * Retrieves a single invoice. |
|
| 222 | - * |
|
| 223 | - * @since 1.0.13 |
|
| 224 | - * |
|
| 225 | - * @param WP_REST_Request $request Full details about the request. |
|
| 226 | - * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. |
|
| 227 | - */ |
|
| 228 | - public function get_item( $request ) { |
|
| 221 | + * Retrieves a single invoice. |
|
| 222 | + * |
|
| 223 | + * @since 1.0.13 |
|
| 224 | + * |
|
| 225 | + * @param WP_REST_Request $request Full details about the request. |
|
| 226 | + * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. |
|
| 227 | + */ |
|
| 228 | + public function get_item( $request ) { |
|
| 229 | 229 | |
| 230 | 230 | // Fetch the invoice. |
| 231 | 231 | $invoice = $this->get_post( $request['id'] ); |
| 232 | 232 | |
| 233 | 233 | // Abort early if it does not exist |
| 234 | - if ( is_wp_error( $invoice ) ) { |
|
| 235 | - return $invoice; |
|
| 236 | - } |
|
| 237 | - |
|
| 238 | - // Prepare the response |
|
| 239 | - $response = $this->prepare_item_for_response( $invoice, $request ); |
|
| 240 | - $response->link_header( 'alternate', esc_url( $invoice->get_view_url() ), array( 'type' => 'text/html' ) ); |
|
| 241 | - |
|
| 242 | - /** |
|
| 243 | - * Filters the responses for single invoice requests. |
|
| 244 | - * |
|
| 245 | - * |
|
| 246 | - * @since 1.0.13 |
|
| 247 | - * @var WP_HTTP_Response |
|
| 248 | - * |
|
| 249 | - * @param WP_HTTP_Response $response Response. |
|
| 250 | - * @param WP_REST_Request $request The request used. |
|
| 251 | - */ |
|
| 234 | + if ( is_wp_error( $invoice ) ) { |
|
| 235 | + return $invoice; |
|
| 236 | + } |
|
| 237 | + |
|
| 238 | + // Prepare the response |
|
| 239 | + $response = $this->prepare_item_for_response( $invoice, $request ); |
|
| 240 | + $response->link_header( 'alternate', esc_url( $invoice->get_view_url() ), array( 'type' => 'text/html' ) ); |
|
| 241 | + |
|
| 242 | + /** |
|
| 243 | + * Filters the responses for single invoice requests. |
|
| 244 | + * |
|
| 245 | + * |
|
| 246 | + * @since 1.0.13 |
|
| 247 | + * @var WP_HTTP_Response |
|
| 248 | + * |
|
| 249 | + * @param WP_HTTP_Response $response Response. |
|
| 250 | + * @param WP_REST_Request $request The request used. |
|
| 251 | + */ |
|
| 252 | 252 | $response = apply_filters( "rest_wpinv_get_invoice_response", $response, $request ); |
| 253 | 253 | |
| 254 | 254 | return rest_ensure_response( $response ); |
@@ -256,23 +256,23 @@ discard block |
||
| 256 | 256 | } |
| 257 | 257 | |
| 258 | 258 | /** |
| 259 | - * Checks if a given request has access to create an invoice. |
|
| 260 | - * |
|
| 261 | - * @since 1.0.13 |
|
| 262 | - * |
|
| 263 | - * @param WP_REST_Request $request Full details about the request. |
|
| 264 | - * @return true|WP_Error True if the request has access to create items, WP_Error object otherwise. |
|
| 265 | - */ |
|
| 266 | - public function create_item_permissions_check( $request ) { |
|
| 259 | + * Checks if a given request has access to create an invoice. |
|
| 260 | + * |
|
| 261 | + * @since 1.0.13 |
|
| 262 | + * |
|
| 263 | + * @param WP_REST_Request $request Full details about the request. |
|
| 264 | + * @return true|WP_Error True if the request has access to create items, WP_Error object otherwise. |
|
| 265 | + */ |
|
| 266 | + public function create_item_permissions_check( $request ) { |
|
| 267 | 267 | |
| 268 | - if ( ! empty( $request['id'] ) ) { |
|
| 269 | - return new WP_Error( 'rest_invoice_exists', __( 'Cannot create existing invoice.', 'invoicing' ), array( 'status' => 400 ) ); |
|
| 270 | - } |
|
| 268 | + if ( ! empty( $request['id'] ) ) { |
|
| 269 | + return new WP_Error( 'rest_invoice_exists', __( 'Cannot create existing invoice.', 'invoicing' ), array( 'status' => 400 ) ); |
|
| 270 | + } |
|
| 271 | 271 | |
| 272 | - $post_type = get_post_type_object( $this->post_type ); |
|
| 272 | + $post_type = get_post_type_object( $this->post_type ); |
|
| 273 | 273 | |
| 274 | - if ( ! current_user_can( $post_type->cap->create_posts ) ) { |
|
| 275 | - return new WP_Error( |
|
| 274 | + if ( ! current_user_can( $post_type->cap->create_posts ) ) { |
|
| 275 | + return new WP_Error( |
|
| 276 | 276 | 'rest_cannot_create', |
| 277 | 277 | __( 'Sorry, you are not allowed to create invoices as this user.', 'invoicing' ), |
| 278 | 278 | array( |
@@ -281,88 +281,88 @@ discard block |
||
| 281 | 281 | ); |
| 282 | 282 | } |
| 283 | 283 | |
| 284 | - return true; |
|
| 284 | + return true; |
|
| 285 | 285 | } |
| 286 | 286 | |
| 287 | 287 | /** |
| 288 | - * Creates a single invoice. |
|
| 289 | - * |
|
| 290 | - * @since 1.0.13 |
|
| 291 | - * |
|
| 292 | - * @param WP_REST_Request $request Full details about the request. |
|
| 293 | - * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. |
|
| 294 | - */ |
|
| 295 | - public function create_item( $request ) { |
|
| 296 | - |
|
| 297 | - if ( ! empty( $request['id'] ) ) { |
|
| 298 | - return new WP_Error( 'rest_invoice_exists', __( 'Cannot create existing invoice.', 'invoicing' ), array( 'status' => 400 ) ); |
|
| 299 | - } |
|
| 288 | + * Creates a single invoice. |
|
| 289 | + * |
|
| 290 | + * @since 1.0.13 |
|
| 291 | + * |
|
| 292 | + * @param WP_REST_Request $request Full details about the request. |
|
| 293 | + * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. |
|
| 294 | + */ |
|
| 295 | + public function create_item( $request ) { |
|
| 296 | + |
|
| 297 | + if ( ! empty( $request['id'] ) ) { |
|
| 298 | + return new WP_Error( 'rest_invoice_exists', __( 'Cannot create existing invoice.', 'invoicing' ), array( 'status' => 400 ) ); |
|
| 299 | + } |
|
| 300 | 300 | |
| 301 | - $request->set_param( 'context', 'edit' ); |
|
| 301 | + $request->set_param( 'context', 'edit' ); |
|
| 302 | 302 | |
| 303 | - // Prepare the updated data. |
|
| 304 | - $invoice_data = wp_unslash( $this->prepare_item_for_database( $request ) ); |
|
| 303 | + // Prepare the updated data. |
|
| 304 | + $invoice_data = wp_unslash( $this->prepare_item_for_database( $request ) ); |
|
| 305 | 305 | |
| 306 | - if ( is_wp_error( $invoice_data ) ) { |
|
| 307 | - return $invoice_data; |
|
| 308 | - } |
|
| 306 | + if ( is_wp_error( $invoice_data ) ) { |
|
| 307 | + return $invoice_data; |
|
| 308 | + } |
|
| 309 | 309 | |
| 310 | - // Try creating the invoice |
|
| 310 | + // Try creating the invoice |
|
| 311 | 311 | $invoice = wpinv_insert_invoice( $invoice_data, true ); |
| 312 | 312 | |
| 313 | - if ( is_wp_error( $invoice ) ) { |
|
| 313 | + if ( is_wp_error( $invoice ) ) { |
|
| 314 | 314 | return $invoice; |
| 315 | - } |
|
| 316 | - |
|
| 317 | - // Prepare the response |
|
| 318 | - $response = $this->prepare_item_for_response( $invoice, $request ); |
|
| 319 | - |
|
| 320 | - /** |
|
| 321 | - * Fires after a single invoice is created or updated via the REST API. |
|
| 322 | - * |
|
| 323 | - * @since 1.0.13 |
|
| 324 | - * |
|
| 325 | - * @param WPinv_Invoice $invoice Inserted or updated invoice object. |
|
| 326 | - * @param WP_REST_Request $request Request object. |
|
| 327 | - * @param bool $creating True when creating a post, false when updating. |
|
| 328 | - */ |
|
| 329 | - do_action( "wpinv_rest_insert_invoice", $invoice, $request, true ); |
|
| 330 | - |
|
| 331 | - /** |
|
| 332 | - * Filters the responses for creating single invoice requests. |
|
| 333 | - * |
|
| 334 | - * |
|
| 335 | - * @since 1.0.13 |
|
| 336 | - * |
|
| 337 | - * |
|
| 338 | - * @param array $invoice_data Invoice properties. |
|
| 339 | - * @param WP_REST_Request $request The request used. |
|
| 340 | - */ |
|
| 315 | + } |
|
| 316 | + |
|
| 317 | + // Prepare the response |
|
| 318 | + $response = $this->prepare_item_for_response( $invoice, $request ); |
|
| 319 | + |
|
| 320 | + /** |
|
| 321 | + * Fires after a single invoice is created or updated via the REST API. |
|
| 322 | + * |
|
| 323 | + * @since 1.0.13 |
|
| 324 | + * |
|
| 325 | + * @param WPinv_Invoice $invoice Inserted or updated invoice object. |
|
| 326 | + * @param WP_REST_Request $request Request object. |
|
| 327 | + * @param bool $creating True when creating a post, false when updating. |
|
| 328 | + */ |
|
| 329 | + do_action( "wpinv_rest_insert_invoice", $invoice, $request, true ); |
|
| 330 | + |
|
| 331 | + /** |
|
| 332 | + * Filters the responses for creating single invoice requests. |
|
| 333 | + * |
|
| 334 | + * |
|
| 335 | + * @since 1.0.13 |
|
| 336 | + * |
|
| 337 | + * |
|
| 338 | + * @param array $invoice_data Invoice properties. |
|
| 339 | + * @param WP_REST_Request $request The request used. |
|
| 340 | + */ |
|
| 341 | 341 | $response = apply_filters( "rest_wpinv_create_invoice_response", $response, $request ); |
| 342 | 342 | |
| 343 | 343 | return rest_ensure_response( $response ); |
| 344 | - } |
|
| 345 | - |
|
| 346 | - /** |
|
| 347 | - * Checks if a given request has access to update an invoice. |
|
| 348 | - * |
|
| 349 | - * @since 1.0.13 |
|
| 350 | - * |
|
| 351 | - * @param WP_REST_Request $request Full details about the request. |
|
| 352 | - * @return true|WP_Error True if the request has access to update the item, WP_Error object otherwise. |
|
| 353 | - */ |
|
| 354 | - public function update_item_permissions_check( $request ) { |
|
| 355 | - |
|
| 356 | - // Retrieve the invoice. |
|
| 357 | - $invoice = $this->get_post( $request['id'] ); |
|
| 358 | - if ( is_wp_error( $invoice ) ) { |
|
| 359 | - return $invoice; |
|
| 360 | - } |
|
| 361 | - |
|
| 362 | - $post_type = get_post_type_object( $this->post_type ); |
|
| 363 | - |
|
| 364 | - if ( ! current_user_can( $post_type->cap->edit_post, $invoice->ID ) ) { |
|
| 365 | - return new WP_Error( |
|
| 344 | + } |
|
| 345 | + |
|
| 346 | + /** |
|
| 347 | + * Checks if a given request has access to update an invoice. |
|
| 348 | + * |
|
| 349 | + * @since 1.0.13 |
|
| 350 | + * |
|
| 351 | + * @param WP_REST_Request $request Full details about the request. |
|
| 352 | + * @return true|WP_Error True if the request has access to update the item, WP_Error object otherwise. |
|
| 353 | + */ |
|
| 354 | + public function update_item_permissions_check( $request ) { |
|
| 355 | + |
|
| 356 | + // Retrieve the invoice. |
|
| 357 | + $invoice = $this->get_post( $request['id'] ); |
|
| 358 | + if ( is_wp_error( $invoice ) ) { |
|
| 359 | + return $invoice; |
|
| 360 | + } |
|
| 361 | + |
|
| 362 | + $post_type = get_post_type_object( $this->post_type ); |
|
| 363 | + |
|
| 364 | + if ( ! current_user_can( $post_type->cap->edit_post, $invoice->ID ) ) { |
|
| 365 | + return new WP_Error( |
|
| 366 | 366 | 'rest_cannot_edit', |
| 367 | 367 | __( 'Sorry, you are not allowed to update this invoice.', 'invoicing' ), |
| 368 | 368 | array( |
@@ -371,162 +371,162 @@ discard block |
||
| 371 | 371 | ); |
| 372 | 372 | } |
| 373 | 373 | |
| 374 | - return true; |
|
| 375 | - } |
|
| 376 | - |
|
| 377 | - /** |
|
| 378 | - * Updates a single invoice. |
|
| 379 | - * |
|
| 380 | - * @since 1.0.13 |
|
| 381 | - * |
|
| 382 | - * @param WP_REST_Request $request Full details about the request. |
|
| 383 | - * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. |
|
| 384 | - */ |
|
| 385 | - public function update_item( $request ) { |
|
| 374 | + return true; |
|
| 375 | + } |
|
| 376 | + |
|
| 377 | + /** |
|
| 378 | + * Updates a single invoice. |
|
| 379 | + * |
|
| 380 | + * @since 1.0.13 |
|
| 381 | + * |
|
| 382 | + * @param WP_REST_Request $request Full details about the request. |
|
| 383 | + * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. |
|
| 384 | + */ |
|
| 385 | + public function update_item( $request ) { |
|
| 386 | 386 | |
| 387 | - // Ensure the invoice exists. |
|
| 387 | + // Ensure the invoice exists. |
|
| 388 | 388 | $valid_check = $this->get_post( $request['id'] ); |
| 389 | 389 | |
| 390 | 390 | // Abort early if it does not exist |
| 391 | - if ( is_wp_error( $valid_check ) ) { |
|
| 392 | - return $valid_check; |
|
| 393 | - } |
|
| 391 | + if ( is_wp_error( $valid_check ) ) { |
|
| 392 | + return $valid_check; |
|
| 393 | + } |
|
| 394 | 394 | |
| 395 | - $request->set_param( 'context', 'edit' ); |
|
| 395 | + $request->set_param( 'context', 'edit' ); |
|
| 396 | 396 | |
| 397 | - // Prepare the updated data. |
|
| 398 | - $data_to_update = wp_unslash( $this->prepare_item_for_database( $request ) ); |
|
| 397 | + // Prepare the updated data. |
|
| 398 | + $data_to_update = wp_unslash( $this->prepare_item_for_database( $request ) ); |
|
| 399 | 399 | |
| 400 | - if ( is_wp_error( $data_to_update ) ) { |
|
| 401 | - return $data_to_update; |
|
| 402 | - } |
|
| 400 | + if ( is_wp_error( $data_to_update ) ) { |
|
| 401 | + return $data_to_update; |
|
| 402 | + } |
|
| 403 | 403 | |
| 404 | - // Abort if no invoice data is provided |
|
| 404 | + // Abort if no invoice data is provided |
|
| 405 | 405 | if( empty( $data_to_update ) ) { |
| 406 | 406 | return new WP_Error( 'missing_data', __( 'An update request cannot be empty.', 'invoicing' ) ); |
| 407 | 407 | } |
| 408 | 408 | |
| 409 | - // Include the invoice ID |
|
| 410 | - $data_to_update['ID'] = $request['id']; |
|
| 411 | - |
|
| 412 | - // Update the invoice |
|
| 413 | - $updated_invoice = wpinv_update_invoice( $data_to_update, true ); |
|
| 414 | - |
|
| 415 | - // Incase the update operation failed... |
|
| 416 | - if ( is_wp_error( $updated_invoice ) ) { |
|
| 417 | - return $updated_invoice; |
|
| 418 | - } |
|
| 419 | - |
|
| 420 | - // Prepare the response |
|
| 421 | - $response = $this->prepare_item_for_response( $updated_invoice, $request ); |
|
| 422 | - |
|
| 423 | - /** This action is documented in includes/class-wpinv-rest-invoice-controller.php */ |
|
| 424 | - do_action( "wpinv_rest_insert_invoice", $updated_invoice, $request, false ); |
|
| 425 | - |
|
| 426 | - /** |
|
| 427 | - * Filters the responses for updating single invoice requests. |
|
| 428 | - * |
|
| 429 | - * |
|
| 430 | - * @since 1.0.13 |
|
| 431 | - * |
|
| 432 | - * |
|
| 433 | - * @param array $invoice_data Invoice properties. |
|
| 434 | - * @param WP_REST_Request $request The request used. |
|
| 435 | - */ |
|
| 409 | + // Include the invoice ID |
|
| 410 | + $data_to_update['ID'] = $request['id']; |
|
| 411 | + |
|
| 412 | + // Update the invoice |
|
| 413 | + $updated_invoice = wpinv_update_invoice( $data_to_update, true ); |
|
| 414 | + |
|
| 415 | + // Incase the update operation failed... |
|
| 416 | + if ( is_wp_error( $updated_invoice ) ) { |
|
| 417 | + return $updated_invoice; |
|
| 418 | + } |
|
| 419 | + |
|
| 420 | + // Prepare the response |
|
| 421 | + $response = $this->prepare_item_for_response( $updated_invoice, $request ); |
|
| 422 | + |
|
| 423 | + /** This action is documented in includes/class-wpinv-rest-invoice-controller.php */ |
|
| 424 | + do_action( "wpinv_rest_insert_invoice", $updated_invoice, $request, false ); |
|
| 425 | + |
|
| 426 | + /** |
|
| 427 | + * Filters the responses for updating single invoice requests. |
|
| 428 | + * |
|
| 429 | + * |
|
| 430 | + * @since 1.0.13 |
|
| 431 | + * |
|
| 432 | + * |
|
| 433 | + * @param array $invoice_data Invoice properties. |
|
| 434 | + * @param WP_REST_Request $request The request used. |
|
| 435 | + */ |
|
| 436 | 436 | $response = apply_filters( "wpinv_rest_update_invoice_response", $response, $request ); |
| 437 | 437 | |
| 438 | 438 | return rest_ensure_response( $response ); |
| 439 | - } |
|
| 440 | - |
|
| 441 | - /** |
|
| 442 | - * Checks if a given request has access to delete an invoice. |
|
| 443 | - * |
|
| 444 | - * @since 1.0.13 |
|
| 445 | - * |
|
| 446 | - * @param WP_REST_Request $request Full details about the request. |
|
| 447 | - * @return true|WP_Error True if the request has access to delete the invoice, WP_Error object otherwise. |
|
| 448 | - */ |
|
| 449 | - public function delete_item_permissions_check( $request ) { |
|
| 450 | - |
|
| 451 | - // Retrieve the invoice. |
|
| 452 | - $invoice = $this->get_post( $request['id'] ); |
|
| 453 | - if ( is_wp_error( $invoice ) ) { |
|
| 454 | - return $invoice; |
|
| 455 | - } |
|
| 456 | - |
|
| 457 | - // Ensure the current user can delete invoices |
|
| 458 | - if ( wpinv_current_user_can_manage_invoicing() || current_user_can( 'delete_invoices', $request['id'] ) ) { |
|
| 459 | - return new WP_Error( |
|
| 439 | + } |
|
| 440 | + |
|
| 441 | + /** |
|
| 442 | + * Checks if a given request has access to delete an invoice. |
|
| 443 | + * |
|
| 444 | + * @since 1.0.13 |
|
| 445 | + * |
|
| 446 | + * @param WP_REST_Request $request Full details about the request. |
|
| 447 | + * @return true|WP_Error True if the request has access to delete the invoice, WP_Error object otherwise. |
|
| 448 | + */ |
|
| 449 | + public function delete_item_permissions_check( $request ) { |
|
| 450 | + |
|
| 451 | + // Retrieve the invoice. |
|
| 452 | + $invoice = $this->get_post( $request['id'] ); |
|
| 453 | + if ( is_wp_error( $invoice ) ) { |
|
| 454 | + return $invoice; |
|
| 455 | + } |
|
| 456 | + |
|
| 457 | + // Ensure the current user can delete invoices |
|
| 458 | + if ( wpinv_current_user_can_manage_invoicing() || current_user_can( 'delete_invoices', $request['id'] ) ) { |
|
| 459 | + return new WP_Error( |
|
| 460 | 460 | 'rest_cannot_delete', |
| 461 | 461 | __( 'Sorry, you are not allowed to delete this invoice.', 'invoicing' ), |
| 462 | 462 | array( |
| 463 | 463 | 'status' => rest_authorization_required_code(), |
| 464 | 464 | ) |
| 465 | 465 | ); |
| 466 | - } |
|
| 467 | - |
|
| 468 | - return true; |
|
| 469 | - } |
|
| 470 | - |
|
| 471 | - /** |
|
| 472 | - * Deletes a single invoice. |
|
| 473 | - * |
|
| 474 | - * @since 1.0.13 |
|
| 475 | - * |
|
| 476 | - * @param WP_REST_Request $request Full details about the request. |
|
| 477 | - * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. |
|
| 478 | - */ |
|
| 479 | - public function delete_item( $request ) { |
|
| 466 | + } |
|
| 467 | + |
|
| 468 | + return true; |
|
| 469 | + } |
|
| 470 | + |
|
| 471 | + /** |
|
| 472 | + * Deletes a single invoice. |
|
| 473 | + * |
|
| 474 | + * @since 1.0.13 |
|
| 475 | + * |
|
| 476 | + * @param WP_REST_Request $request Full details about the request. |
|
| 477 | + * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. |
|
| 478 | + */ |
|
| 479 | + public function delete_item( $request ) { |
|
| 480 | 480 | |
| 481 | - // Retrieve the invoice. |
|
| 482 | - $invoice = $this->get_post( $request['id'] ); |
|
| 483 | - if ( is_wp_error( $invoice ) ) { |
|
| 484 | - return $invoice; |
|
| 485 | - } |
|
| 481 | + // Retrieve the invoice. |
|
| 482 | + $invoice = $this->get_post( $request['id'] ); |
|
| 483 | + if ( is_wp_error( $invoice ) ) { |
|
| 484 | + return $invoice; |
|
| 485 | + } |
|
| 486 | 486 | |
| 487 | - $request->set_param( 'context', 'edit' ); |
|
| 487 | + $request->set_param( 'context', 'edit' ); |
|
| 488 | 488 | |
| 489 | - // Prepare the invoice id |
|
| 490 | - $id = $invoice->ID; |
|
| 489 | + // Prepare the invoice id |
|
| 490 | + $id = $invoice->ID; |
|
| 491 | 491 | |
| 492 | - // Prepare the response |
|
| 493 | - $response = $this->prepare_item_for_response( $invoice, $request ); |
|
| 492 | + // Prepare the response |
|
| 493 | + $response = $this->prepare_item_for_response( $invoice, $request ); |
|
| 494 | 494 | |
| 495 | - // Check if the user wants to bypass the trash... |
|
| 496 | - $force_delete = (bool) $request['force']; |
|
| 495 | + // Check if the user wants to bypass the trash... |
|
| 496 | + $force_delete = (bool) $request['force']; |
|
| 497 | 497 | |
| 498 | - // Try deleting the invoice. |
|
| 499 | - $deleted = wp_delete_post( $id, $force_delete ); |
|
| 498 | + // Try deleting the invoice. |
|
| 499 | + $deleted = wp_delete_post( $id, $force_delete ); |
|
| 500 | 500 | |
| 501 | - // Abort early if we can't delete the invoice. |
|
| 502 | - if ( ! $deleted ) { |
|
| 503 | - return new WP_Error( 'rest_cannot_delete', __( 'The invoice cannot be deleted.', 'invoicing' ), array( 'status' => 500 ) ); |
|
| 504 | - } |
|
| 501 | + // Abort early if we can't delete the invoice. |
|
| 502 | + if ( ! $deleted ) { |
|
| 503 | + return new WP_Error( 'rest_cannot_delete', __( 'The invoice cannot be deleted.', 'invoicing' ), array( 'status' => 500 ) ); |
|
| 504 | + } |
|
| 505 | 505 | |
| 506 | - /** |
|
| 507 | - * Fires immediately after a single invoice is deleted or trashed via the REST API. |
|
| 508 | - * |
|
| 509 | - * |
|
| 510 | - * @since 1.0.13 |
|
| 511 | - * |
|
| 512 | - * @param WPInv_Invoice $invoice The deleted or trashed invoice. |
|
| 513 | - * @param WP_REST_Request $request The request sent to the API. |
|
| 514 | - */ |
|
| 515 | - do_action( "wpinv_rest_delete_invoice", $invoice, $request ); |
|
| 506 | + /** |
|
| 507 | + * Fires immediately after a single invoice is deleted or trashed via the REST API. |
|
| 508 | + * |
|
| 509 | + * |
|
| 510 | + * @since 1.0.13 |
|
| 511 | + * |
|
| 512 | + * @param WPInv_Invoice $invoice The deleted or trashed invoice. |
|
| 513 | + * @param WP_REST_Request $request The request sent to the API. |
|
| 514 | + */ |
|
| 515 | + do_action( "wpinv_rest_delete_invoice", $invoice, $request ); |
|
| 516 | 516 | |
| 517 | - return $response; |
|
| 517 | + return $response; |
|
| 518 | 518 | |
| 519 | - } |
|
| 519 | + } |
|
| 520 | 520 | |
| 521 | 521 | |
| 522 | 522 | /** |
| 523 | - * Retrieves the query params for the invoices collection. |
|
| 524 | - * |
|
| 525 | - * @since 1.0.13 |
|
| 526 | - * |
|
| 527 | - * @return array Collection parameters. |
|
| 528 | - */ |
|
| 529 | - public function get_collection_params() { |
|
| 523 | + * Retrieves the query params for the invoices collection. |
|
| 524 | + * |
|
| 525 | + * @since 1.0.13 |
|
| 526 | + * |
|
| 527 | + * @return array Collection parameters. |
|
| 528 | + */ |
|
| 529 | + public function get_collection_params() { |
|
| 530 | 530 | |
| 531 | 531 | $query_params = array( |
| 532 | 532 | |
@@ -544,22 +544,22 @@ discard block |
||
| 544 | 544 | |
| 545 | 545 | // User. |
| 546 | 546 | 'user' => array( |
| 547 | - 'description' => __( 'Limit result set to invoices for a specif user.', 'invoicing' ), |
|
| 548 | - 'type' => 'integer', |
|
| 547 | + 'description' => __( 'Limit result set to invoices for a specif user.', 'invoicing' ), |
|
| 548 | + 'type' => 'integer', |
|
| 549 | 549 | ), |
| 550 | 550 | |
| 551 | 551 | // Number of results per page |
| 552 | 552 | 'limit' => array( |
| 553 | - 'description' => __( 'Number of invoices to fetch.', 'invoicing' ), |
|
| 554 | - 'type' => 'integer', |
|
| 555 | - 'default' => (int) get_option( 'posts_per_page' ), |
|
| 553 | + 'description' => __( 'Number of invoices to fetch.', 'invoicing' ), |
|
| 554 | + 'type' => 'integer', |
|
| 555 | + 'default' => (int) get_option( 'posts_per_page' ), |
|
| 556 | 556 | ), |
| 557 | 557 | |
| 558 | 558 | // Pagination |
| 559 | 559 | 'page' => array( |
| 560 | - 'description' => __( 'Current page to fetch.', 'invoicing' ), |
|
| 561 | - 'type' => 'integer', |
|
| 562 | - 'default' => 1, |
|
| 560 | + 'description' => __( 'Current page to fetch.', 'invoicing' ), |
|
| 561 | + 'type' => 'integer', |
|
| 562 | + 'default' => 1, |
|
| 563 | 563 | ), |
| 564 | 564 | |
| 565 | 565 | // Exclude certain invoices |
@@ -595,790 +595,790 @@ discard block |
||
| 595 | 595 | ), |
| 596 | 596 | ); |
| 597 | 597 | |
| 598 | - /** |
|
| 599 | - * Filter collection parameters for the invoices controller. |
|
| 600 | - * |
|
| 601 | - * |
|
| 602 | - * @since 1.0.13 |
|
| 603 | - * |
|
| 604 | - * @param array $query_params JSON Schema-formatted collection parameters. |
|
| 605 | - * @param WP_Post_Type $post_type Post type object. |
|
| 606 | - */ |
|
| 607 | - return apply_filters( "rest_invoices_collection_params", $query_params, 'wpi-invoice' ); |
|
| 598 | + /** |
|
| 599 | + * Filter collection parameters for the invoices controller. |
|
| 600 | + * |
|
| 601 | + * |
|
| 602 | + * @since 1.0.13 |
|
| 603 | + * |
|
| 604 | + * @param array $query_params JSON Schema-formatted collection parameters. |
|
| 605 | + * @param WP_Post_Type $post_type Post type object. |
|
| 606 | + */ |
|
| 607 | + return apply_filters( "rest_invoices_collection_params", $query_params, 'wpi-invoice' ); |
|
| 608 | 608 | } |
| 609 | 609 | |
| 610 | 610 | /** |
| 611 | - * Checks if a given post type can be viewed or managed. |
|
| 612 | - * |
|
| 613 | - * @since 1.0.13 |
|
| 614 | - * |
|
| 615 | - * @param object|string $post_type Post type name or object. |
|
| 616 | - * @return bool Whether the post type is allowed in REST. |
|
| 617 | - */ |
|
| 618 | - protected function check_is_post_type_allowed( $post_type ) { |
|
| 619 | - return true; |
|
| 620 | - } |
|
| 621 | - |
|
| 622 | - /** |
|
| 623 | - * Prepares a single invoice for create or update. |
|
| 624 | - * |
|
| 625 | - * @since 1.0.13 |
|
| 626 | - * |
|
| 627 | - * @param WP_REST_Request $request Request object. |
|
| 628 | - * @return array|WP_Error Invoice Properties or WP_Error. |
|
| 629 | - */ |
|
| 630 | - protected function prepare_item_for_database( $request ) { |
|
| 631 | - $prepared_invoice = new stdClass(); |
|
| 632 | - |
|
| 633 | - // Post ID. |
|
| 634 | - if ( isset( $request['id'] ) ) { |
|
| 635 | - $existing_invoice = $this->get_post( $request['id'] ); |
|
| 636 | - if ( is_wp_error( $existing_invoice ) ) { |
|
| 637 | - return $existing_invoice; |
|
| 638 | - } |
|
| 639 | - |
|
| 640 | - $prepared_invoice->ID = $existing_invoice->ID; |
|
| 641 | - $prepared_invoice->invoice_id = $existing_invoice->ID; |
|
| 642 | - } |
|
| 643 | - |
|
| 644 | - $schema = $this->get_item_schema(); |
|
| 645 | - |
|
| 646 | - // Invoice owner. |
|
| 647 | - if ( ! empty( $schema['properties']['user_id'] ) && isset( $request['user_id'] ) ) { |
|
| 648 | - $prepared_invoice->user_id = (int) $request['user_id']; |
|
| 649 | - } |
|
| 650 | - |
|
| 651 | - // Cart details. |
|
| 652 | - if ( ! empty( $schema['properties']['cart_details'] ) && isset( $request['cart_details'] ) ) { |
|
| 653 | - $prepared_invoice->cart_details = (array) $request['cart_details']; |
|
| 654 | - } |
|
| 655 | - |
|
| 656 | - // Invoice status. |
|
| 657 | - if ( ! empty( $schema['properties']['status'] ) && isset( $request['status'] ) ) { |
|
| 658 | - |
|
| 659 | - if ( in_array( $request['status'], array_keys( wpinv_get_invoice_statuses( true, true ) ), true ) ) { |
|
| 660 | - $prepared_invoice->status = $request['status']; |
|
| 661 | - } |
|
| 662 | - |
|
| 663 | - } |
|
| 664 | - |
|
| 665 | - // User info |
|
| 666 | - if ( ! empty( $schema['properties']['user_info'] ) && isset( $request['user_info'] ) ) { |
|
| 667 | - $prepared_invoice->user_info = array(); |
|
| 668 | - $user_info = (array) $request['user_info']; |
|
| 669 | - |
|
| 670 | - foreach( $user_info as $prop => $value ) { |
|
| 671 | - |
|
| 672 | - if ( ! empty( $schema['properties']['user_info']['properties'][$prop] ) ) { |
|
| 673 | - |
|
| 674 | - $prepared_invoice->user_info[$prop] = $value; |
|
| 611 | + * Checks if a given post type can be viewed or managed. |
|
| 612 | + * |
|
| 613 | + * @since 1.0.13 |
|
| 614 | + * |
|
| 615 | + * @param object|string $post_type Post type name or object. |
|
| 616 | + * @return bool Whether the post type is allowed in REST. |
|
| 617 | + */ |
|
| 618 | + protected function check_is_post_type_allowed( $post_type ) { |
|
| 619 | + return true; |
|
| 620 | + } |
|
| 621 | + |
|
| 622 | + /** |
|
| 623 | + * Prepares a single invoice for create or update. |
|
| 624 | + * |
|
| 625 | + * @since 1.0.13 |
|
| 626 | + * |
|
| 627 | + * @param WP_REST_Request $request Request object. |
|
| 628 | + * @return array|WP_Error Invoice Properties or WP_Error. |
|
| 629 | + */ |
|
| 630 | + protected function prepare_item_for_database( $request ) { |
|
| 631 | + $prepared_invoice = new stdClass(); |
|
| 632 | + |
|
| 633 | + // Post ID. |
|
| 634 | + if ( isset( $request['id'] ) ) { |
|
| 635 | + $existing_invoice = $this->get_post( $request['id'] ); |
|
| 636 | + if ( is_wp_error( $existing_invoice ) ) { |
|
| 637 | + return $existing_invoice; |
|
| 638 | + } |
|
| 639 | + |
|
| 640 | + $prepared_invoice->ID = $existing_invoice->ID; |
|
| 641 | + $prepared_invoice->invoice_id = $existing_invoice->ID; |
|
| 642 | + } |
|
| 643 | + |
|
| 644 | + $schema = $this->get_item_schema(); |
|
| 645 | + |
|
| 646 | + // Invoice owner. |
|
| 647 | + if ( ! empty( $schema['properties']['user_id'] ) && isset( $request['user_id'] ) ) { |
|
| 648 | + $prepared_invoice->user_id = (int) $request['user_id']; |
|
| 649 | + } |
|
| 650 | + |
|
| 651 | + // Cart details. |
|
| 652 | + if ( ! empty( $schema['properties']['cart_details'] ) && isset( $request['cart_details'] ) ) { |
|
| 653 | + $prepared_invoice->cart_details = (array) $request['cart_details']; |
|
| 654 | + } |
|
| 655 | + |
|
| 656 | + // Invoice status. |
|
| 657 | + if ( ! empty( $schema['properties']['status'] ) && isset( $request['status'] ) ) { |
|
| 658 | + |
|
| 659 | + if ( in_array( $request['status'], array_keys( wpinv_get_invoice_statuses( true, true ) ), true ) ) { |
|
| 660 | + $prepared_invoice->status = $request['status']; |
|
| 661 | + } |
|
| 662 | + |
|
| 663 | + } |
|
| 664 | + |
|
| 665 | + // User info |
|
| 666 | + if ( ! empty( $schema['properties']['user_info'] ) && isset( $request['user_info'] ) ) { |
|
| 667 | + $prepared_invoice->user_info = array(); |
|
| 668 | + $user_info = (array) $request['user_info']; |
|
| 669 | + |
|
| 670 | + foreach( $user_info as $prop => $value ) { |
|
| 671 | + |
|
| 672 | + if ( ! empty( $schema['properties']['user_info']['properties'][$prop] ) ) { |
|
| 673 | + |
|
| 674 | + $prepared_invoice->user_info[$prop] = $value; |
|
| 675 | 675 | |
| 676 | - } |
|
| 676 | + } |
|
| 677 | 677 | |
| 678 | - } |
|
| 678 | + } |
|
| 679 | 679 | |
| 680 | - } |
|
| 680 | + } |
|
| 681 | 681 | |
| 682 | - // IP |
|
| 683 | - if ( ! empty( $schema['properties']['ip'] ) && isset( $request['ip'] ) ) { |
|
| 684 | - $prepared_invoice->ip = $request['ip']; |
|
| 685 | - } |
|
| 682 | + // IP |
|
| 683 | + if ( ! empty( $schema['properties']['ip'] ) && isset( $request['ip'] ) ) { |
|
| 684 | + $prepared_invoice->ip = $request['ip']; |
|
| 685 | + } |
|
| 686 | 686 | |
| 687 | - // Payment details |
|
| 688 | - $prepared_invoice->payment_details = array(); |
|
| 687 | + // Payment details |
|
| 688 | + $prepared_invoice->payment_details = array(); |
|
| 689 | 689 | |
| 690 | - if ( ! empty( $schema['properties']['gateway'] ) && isset( $request['gateway'] ) ) { |
|
| 691 | - $prepared_invoice->payment_details['gateway'] = $request['gateway']; |
|
| 692 | - } |
|
| 690 | + if ( ! empty( $schema['properties']['gateway'] ) && isset( $request['gateway'] ) ) { |
|
| 691 | + $prepared_invoice->payment_details['gateway'] = $request['gateway']; |
|
| 692 | + } |
|
| 693 | 693 | |
| 694 | - if ( ! empty( $schema['properties']['gateway_title'] ) && isset( $request['gateway_title'] ) ) { |
|
| 695 | - $prepared_invoice->payment_details['gateway_title'] = $request['gateway_title']; |
|
| 696 | - } |
|
| 694 | + if ( ! empty( $schema['properties']['gateway_title'] ) && isset( $request['gateway_title'] ) ) { |
|
| 695 | + $prepared_invoice->payment_details['gateway_title'] = $request['gateway_title']; |
|
| 696 | + } |
|
| 697 | 697 | |
| 698 | - if ( ! empty( $schema['properties']['currency'] ) && isset( $request['currency'] ) ) { |
|
| 699 | - $prepared_invoice->payment_details['currency'] = $request['currency']; |
|
| 700 | - } |
|
| 698 | + if ( ! empty( $schema['properties']['currency'] ) && isset( $request['currency'] ) ) { |
|
| 699 | + $prepared_invoice->payment_details['currency'] = $request['currency']; |
|
| 700 | + } |
|
| 701 | 701 | |
| 702 | - if ( ! empty( $schema['properties']['transaction_id'] ) && isset( $request['transaction_id'] ) ) { |
|
| 703 | - $prepared_invoice->payment_details['transaction_id'] = $request['transaction_id']; |
|
| 704 | - } |
|
| 702 | + if ( ! empty( $schema['properties']['transaction_id'] ) && isset( $request['transaction_id'] ) ) { |
|
| 703 | + $prepared_invoice->payment_details['transaction_id'] = $request['transaction_id']; |
|
| 704 | + } |
|
| 705 | 705 | |
| 706 | - // Dates |
|
| 707 | - if ( ! empty( $schema['properties']['date'] ) && isset( $request['date'] ) ) { |
|
| 708 | - $post_date = rest_get_date_with_gmt( $request['date'] ); |
|
| 706 | + // Dates |
|
| 707 | + if ( ! empty( $schema['properties']['date'] ) && isset( $request['date'] ) ) { |
|
| 708 | + $post_date = rest_get_date_with_gmt( $request['date'] ); |
|
| 709 | 709 | |
| 710 | - if ( ! empty( $post_date ) ) { |
|
| 711 | - $prepared_invoice->post_date = $post_date[0]; |
|
| 712 | - } |
|
| 710 | + if ( ! empty( $post_date ) ) { |
|
| 711 | + $prepared_invoice->post_date = $post_date[0]; |
|
| 712 | + } |
|
| 713 | 713 | |
| 714 | - } |
|
| 714 | + } |
|
| 715 | 715 | |
| 716 | - if ( ! empty( $schema['properties']['due_date'] ) && isset( $request['due_date'] ) ) { |
|
| 717 | - $due_date = rest_get_date_with_gmt( $request['due_date'] ); |
|
| 716 | + if ( ! empty( $schema['properties']['due_date'] ) && isset( $request['due_date'] ) ) { |
|
| 717 | + $due_date = rest_get_date_with_gmt( $request['due_date'] ); |
|
| 718 | 718 | |
| 719 | - if ( ! empty( $due_date ) ) { |
|
| 720 | - $prepared_invoice->due_date = $due_date[0]; |
|
| 721 | - } |
|
| 719 | + if ( ! empty( $due_date ) ) { |
|
| 720 | + $prepared_invoice->due_date = $due_date[0]; |
|
| 721 | + } |
|
| 722 | 722 | |
| 723 | - } |
|
| 723 | + } |
|
| 724 | 724 | |
| 725 | - $invoice_data = (array) $prepared_invoice; |
|
| 725 | + $invoice_data = (array) $prepared_invoice; |
|
| 726 | 726 | |
| 727 | - /** |
|
| 728 | - * Filters an invoice before it is inserted via the REST API. |
|
| 729 | - * |
|
| 730 | - * @since 1.0.13 |
|
| 731 | - * |
|
| 732 | - * @param array $invoice_data An array of invoice data |
|
| 733 | - * @param WP_REST_Request $request Request object. |
|
| 734 | - */ |
|
| 735 | - return apply_filters( "wpinv_rest_pre_insert_invoice", $invoice_data, $request ); |
|
| 727 | + /** |
|
| 728 | + * Filters an invoice before it is inserted via the REST API. |
|
| 729 | + * |
|
| 730 | + * @since 1.0.13 |
|
| 731 | + * |
|
| 732 | + * @param array $invoice_data An array of invoice data |
|
| 733 | + * @param WP_REST_Request $request Request object. |
|
| 734 | + */ |
|
| 735 | + return apply_filters( "wpinv_rest_pre_insert_invoice", $invoice_data, $request ); |
|
| 736 | 736 | |
| 737 | - } |
|
| 737 | + } |
|
| 738 | + |
|
| 739 | + /** |
|
| 740 | + * Prepares a single invoice output for response. |
|
| 741 | + * |
|
| 742 | + * @since 1.0.13 |
|
| 743 | + * |
|
| 744 | + * @param WPInv_Invoice $invoice Invoice object. |
|
| 745 | + * @param WP_REST_Request $request Request object. |
|
| 746 | + * @return WP_REST_Response Response object. |
|
| 747 | + */ |
|
| 748 | + public function prepare_item_for_response( $invoice, $request ) { |
|
| 738 | 749 | |
| 739 | - /** |
|
| 740 | - * Prepares a single invoice output for response. |
|
| 741 | - * |
|
| 742 | - * @since 1.0.13 |
|
| 743 | - * |
|
| 744 | - * @param WPInv_Invoice $invoice Invoice object. |
|
| 745 | - * @param WP_REST_Request $request Request object. |
|
| 746 | - * @return WP_REST_Response Response object. |
|
| 747 | - */ |
|
| 748 | - public function prepare_item_for_response( $invoice, $request ) { |
|
| 750 | + $GLOBALS['post'] = get_post( $invoice->ID ); |
|
| 749 | 751 | |
| 750 | - $GLOBALS['post'] = get_post( $invoice->ID ); |
|
| 752 | + setup_postdata( $invoice->ID ); |
|
| 751 | 753 | |
| 752 | - setup_postdata( $invoice->ID ); |
|
| 754 | + // Fetch the fields to include in this response. |
|
| 755 | + $fields = $this->get_fields_for_response( $request ); |
|
| 753 | 756 | |
| 754 | - // Fetch the fields to include in this response. |
|
| 755 | - $fields = $this->get_fields_for_response( $request ); |
|
| 757 | + // Base fields for every invoice. |
|
| 758 | + $data = array(); |
|
| 759 | + |
|
| 760 | + // Set up ID |
|
| 761 | + if ( rest_is_field_included( 'id', $fields ) ) { |
|
| 762 | + $data['id'] = $invoice->ID; |
|
| 763 | + } |
|
| 764 | + |
|
| 765 | + |
|
| 766 | + // Basic properties |
|
| 767 | + $invoice_properties = array( |
|
| 768 | + 'title', 'email', 'ip', |
|
| 769 | + 'key', 'number', 'transaction_id', 'mode', |
|
| 770 | + 'gateway', 'gateway_title', |
|
| 771 | + 'total', 'discount', 'discount_code', |
|
| 772 | + 'tax', 'fees_total', 'subtotal', 'currency', |
|
| 773 | + 'status', 'status_nicename', 'post_type' |
|
| 774 | + ); |
|
| 775 | + |
|
| 776 | + foreach( $invoice_properties as $property ) { |
|
| 777 | + |
|
| 778 | + if ( rest_is_field_included( $property, $fields ) ) { |
|
| 779 | + $data[$property] = $invoice->get( $property ); |
|
| 780 | + } |
|
| 781 | + |
|
| 782 | + } |
|
| 783 | + |
|
| 784 | + // Cart details |
|
| 785 | + if ( rest_is_field_included( 'cart_details', $fields ) ) { |
|
| 786 | + $data['cart_details'] = $invoice->get( 'cart_details' ); |
|
| 787 | + } |
|
| 788 | + |
|
| 789 | + //Dates |
|
| 790 | + $invoice_properties = array( 'date', 'due_date', 'completed_date' ); |
|
| 791 | + |
|
| 792 | + foreach( $invoice_properties as $property ) { |
|
| 793 | + |
|
| 794 | + if ( rest_is_field_included( $property, $fields ) ) { |
|
| 795 | + $data[$property] = $this->prepare_date_response( '0000-00-00 00:00:00', $invoice->get( $property ) ); |
|
| 796 | + } |
|
| 797 | + |
|
| 798 | + } |
|
| 799 | + |
|
| 800 | + // User id |
|
| 801 | + if ( rest_is_field_included( 'user_id', $fields ) ) { |
|
| 802 | + $data['user_id'] = (int) $invoice->get( 'user_id' ); |
|
| 803 | + } |
|
| 804 | + |
|
| 805 | + // User info |
|
| 806 | + $user_info = array( 'first_name', 'last_name', 'company', 'vat_number', 'vat_rate', 'address', 'city', 'country', 'state', 'zip', 'phone' ); |
|
| 807 | + |
|
| 808 | + foreach( $user_info as $property ) { |
|
| 809 | + |
|
| 810 | + if ( rest_is_field_included( "user_info.$property", $fields ) ) { |
|
| 811 | + $data['user_info'][$property] = $invoice->get( $property ); |
|
| 812 | + } |
|
| 813 | + |
|
| 814 | + } |
|
| 815 | + |
|
| 816 | + // Slug |
|
| 817 | + if ( rest_is_field_included( 'slug', $fields ) ) { |
|
| 818 | + $data['slug'] = $invoice->get( 'post_name' ); |
|
| 819 | + } |
|
| 820 | + |
|
| 821 | + // View invoice link |
|
| 822 | + if ( rest_is_field_included( 'link', $fields ) ) { |
|
| 823 | + $data['link'] = esc_url( $invoice->get_view_url() ); |
|
| 824 | + } |
|
| 756 | 825 | |
| 757 | - // Base fields for every invoice. |
|
| 758 | - $data = array(); |
|
| 759 | 826 | |
| 760 | - // Set up ID |
|
| 761 | - if ( rest_is_field_included( 'id', $fields ) ) { |
|
| 762 | - $data['id'] = $invoice->ID; |
|
| 763 | - } |
|
| 827 | + $context = ! empty( $request['context'] ) ? $request['context'] : 'view'; |
|
| 828 | + $data = $this->add_additional_fields_to_object( $data, $request ); |
|
| 829 | + $data = $this->filter_response_by_context( $data, $context ); |
|
| 764 | 830 | |
| 831 | + // Wrap the data in a response object. |
|
| 832 | + $response = rest_ensure_response( $data ); |
|
| 765 | 833 | |
| 766 | - // Basic properties |
|
| 767 | - $invoice_properties = array( |
|
| 768 | - 'title', 'email', 'ip', |
|
| 769 | - 'key', 'number', 'transaction_id', 'mode', |
|
| 770 | - 'gateway', 'gateway_title', |
|
| 771 | - 'total', 'discount', 'discount_code', |
|
| 772 | - 'tax', 'fees_total', 'subtotal', 'currency', |
|
| 773 | - 'status', 'status_nicename', 'post_type' |
|
| 774 | - ); |
|
| 775 | - |
|
| 776 | - foreach( $invoice_properties as $property ) { |
|
| 777 | - |
|
| 778 | - if ( rest_is_field_included( $property, $fields ) ) { |
|
| 779 | - $data[$property] = $invoice->get( $property ); |
|
| 780 | - } |
|
| 781 | - |
|
| 782 | - } |
|
| 783 | - |
|
| 784 | - // Cart details |
|
| 785 | - if ( rest_is_field_included( 'cart_details', $fields ) ) { |
|
| 786 | - $data['cart_details'] = $invoice->get( 'cart_details' ); |
|
| 787 | - } |
|
| 788 | - |
|
| 789 | - //Dates |
|
| 790 | - $invoice_properties = array( 'date', 'due_date', 'completed_date' ); |
|
| 791 | - |
|
| 792 | - foreach( $invoice_properties as $property ) { |
|
| 793 | - |
|
| 794 | - if ( rest_is_field_included( $property, $fields ) ) { |
|
| 795 | - $data[$property] = $this->prepare_date_response( '0000-00-00 00:00:00', $invoice->get( $property ) ); |
|
| 796 | - } |
|
| 797 | - |
|
| 798 | - } |
|
| 799 | - |
|
| 800 | - // User id |
|
| 801 | - if ( rest_is_field_included( 'user_id', $fields ) ) { |
|
| 802 | - $data['user_id'] = (int) $invoice->get( 'user_id' ); |
|
| 803 | - } |
|
| 804 | - |
|
| 805 | - // User info |
|
| 806 | - $user_info = array( 'first_name', 'last_name', 'company', 'vat_number', 'vat_rate', 'address', 'city', 'country', 'state', 'zip', 'phone' ); |
|
| 807 | - |
|
| 808 | - foreach( $user_info as $property ) { |
|
| 809 | - |
|
| 810 | - if ( rest_is_field_included( "user_info.$property", $fields ) ) { |
|
| 811 | - $data['user_info'][$property] = $invoice->get( $property ); |
|
| 812 | - } |
|
| 813 | - |
|
| 814 | - } |
|
| 815 | - |
|
| 816 | - // Slug |
|
| 817 | - if ( rest_is_field_included( 'slug', $fields ) ) { |
|
| 818 | - $data['slug'] = $invoice->get( 'post_name' ); |
|
| 819 | - } |
|
| 820 | - |
|
| 821 | - // View invoice link |
|
| 822 | - if ( rest_is_field_included( 'link', $fields ) ) { |
|
| 823 | - $data['link'] = esc_url( $invoice->get_view_url() ); |
|
| 824 | - } |
|
| 825 | - |
|
| 826 | - |
|
| 827 | - $context = ! empty( $request['context'] ) ? $request['context'] : 'view'; |
|
| 828 | - $data = $this->add_additional_fields_to_object( $data, $request ); |
|
| 829 | - $data = $this->filter_response_by_context( $data, $context ); |
|
| 830 | - |
|
| 831 | - // Wrap the data in a response object. |
|
| 832 | - $response = rest_ensure_response( $data ); |
|
| 833 | - |
|
| 834 | - $links = $this->prepare_links( $invoice ); |
|
| 835 | - $response->add_links( $links ); |
|
| 836 | - |
|
| 837 | - if ( ! empty( $links['self']['href'] ) ) { |
|
| 838 | - $actions = $this->get_available_actions( $invoice, $request ); |
|
| 839 | - |
|
| 840 | - $self = $links['self']['href']; |
|
| 841 | - |
|
| 842 | - foreach ( $actions as $rel ) { |
|
| 843 | - $response->add_link( $rel, $self ); |
|
| 844 | - } |
|
| 845 | - } |
|
| 846 | - |
|
| 847 | - /** |
|
| 848 | - * Filters the invoice data for a response. |
|
| 849 | - * |
|
| 850 | - * @since 1.0.13 |
|
| 851 | - * |
|
| 852 | - * @param WP_REST_Response $response The response object. |
|
| 853 | - * @param WPInv_Invoice $invoice The invoice object. |
|
| 854 | - * @param WP_REST_Request $request Request object. |
|
| 855 | - */ |
|
| 856 | - return apply_filters( "wpinv_rest_prepare_invoice", $response, $invoice, $request ); |
|
| 857 | - } |
|
| 858 | - |
|
| 859 | - /** |
|
| 860 | - * Gets an array of fields to be included on the response. |
|
| 861 | - * |
|
| 862 | - * Included fields are based on item schema and `_fields=` request argument. |
|
| 863 | - * |
|
| 864 | - * @since 1.0.13 |
|
| 865 | - * |
|
| 866 | - * @param WP_REST_Request $request Full details about the request. |
|
| 867 | - * @return array Fields to be included in the response. |
|
| 868 | - */ |
|
| 869 | - public function get_fields_for_response( $request ) { |
|
| 870 | - $schema = $this->get_item_schema(); |
|
| 871 | - $properties = isset( $schema['properties'] ) ? $schema['properties'] : array(); |
|
| 872 | - |
|
| 873 | - $additional_fields = $this->get_additional_fields(); |
|
| 874 | - foreach ( $additional_fields as $field_name => $field_options ) { |
|
| 875 | - // For back-compat, include any field with an empty schema |
|
| 876 | - // because it won't be present in $this->get_item_schema(). |
|
| 877 | - if ( is_null( $field_options['schema'] ) ) { |
|
| 878 | - $properties[ $field_name ] = $field_options; |
|
| 879 | - } |
|
| 880 | - } |
|
| 881 | - |
|
| 882 | - // Exclude fields that specify a different context than the request context. |
|
| 883 | - $context = $request['context']; |
|
| 884 | - if ( $context ) { |
|
| 885 | - foreach ( $properties as $name => $options ) { |
|
| 886 | - if ( ! empty( $options['context'] ) && ! in_array( $context, $options['context'], true ) ) { |
|
| 887 | - unset( $properties[ $name ] ); |
|
| 888 | - } |
|
| 889 | - } |
|
| 890 | - } |
|
| 891 | - |
|
| 892 | - $fields = array_keys( $properties ); |
|
| 893 | - |
|
| 894 | - if ( ! isset( $request['_fields'] ) ) { |
|
| 895 | - return $fields; |
|
| 896 | - } |
|
| 897 | - $requested_fields = wpinv_parse_list( $request['_fields'] ); |
|
| 898 | - if ( 0 === count( $requested_fields ) ) { |
|
| 899 | - return $fields; |
|
| 900 | - } |
|
| 901 | - // Trim off outside whitespace from the comma delimited list. |
|
| 902 | - $requested_fields = array_map( 'trim', $requested_fields ); |
|
| 903 | - // Always persist 'id', because it can be needed for add_additional_fields_to_object(). |
|
| 904 | - if ( in_array( 'id', $fields, true ) ) { |
|
| 905 | - $requested_fields[] = 'id'; |
|
| 906 | - } |
|
| 907 | - // Return the list of all requested fields which appear in the schema. |
|
| 908 | - return array_reduce( |
|
| 909 | - $requested_fields, |
|
| 910 | - function( $response_fields, $field ) use ( $fields ) { |
|
| 911 | - if ( in_array( $field, $fields, true ) ) { |
|
| 912 | - $response_fields[] = $field; |
|
| 913 | - return $response_fields; |
|
| 914 | - } |
|
| 915 | - // Check for nested fields if $field is not a direct match. |
|
| 916 | - $nested_fields = explode( '.', $field ); |
|
| 917 | - // A nested field is included so long as its top-level property is |
|
| 918 | - // present in the schema. |
|
| 919 | - if ( in_array( $nested_fields[0], $fields, true ) ) { |
|
| 920 | - $response_fields[] = $field; |
|
| 921 | - } |
|
| 922 | - return $response_fields; |
|
| 923 | - }, |
|
| 924 | - array() |
|
| 925 | - ); |
|
| 926 | - } |
|
| 927 | - |
|
| 928 | - /** |
|
| 929 | - * Retrieves the invoice's schema, conforming to JSON Schema. |
|
| 930 | - * |
|
| 931 | - * @since 1.0.13 |
|
| 932 | - * |
|
| 933 | - * @return array Invoice schema data. |
|
| 934 | - */ |
|
| 935 | - public function get_item_schema() { |
|
| 936 | - |
|
| 937 | - // Maybe retrieve the schema from cache. |
|
| 938 | - if ( $this->schema ) { |
|
| 939 | - return $this->add_additional_fields_schema( $this->schema ); |
|
| 940 | - } |
|
| 941 | - |
|
| 942 | - $schema = array( |
|
| 943 | - '$schema' => 'http://json-schema.org/draft-04/schema#', |
|
| 944 | - 'title' => $this->post_type, |
|
| 945 | - 'type' => 'object', |
|
| 946 | - |
|
| 947 | - // Base properties for every Invoice. |
|
| 948 | - 'properties' => array( |
|
| 949 | - |
|
| 950 | - 'title' => array( |
|
| 951 | - 'description' => __( 'The title for the invoice.', 'invoicing' ), |
|
| 952 | - 'type' => 'string', |
|
| 953 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 954 | - 'readonly' => true, |
|
| 955 | - ), |
|
| 956 | - |
|
| 957 | - 'user_id' => array( |
|
| 958 | - 'description' => __( 'The ID of the owner of the invoice.', 'invoicing' ), |
|
| 959 | - 'type' => 'integer', |
|
| 960 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 961 | - ), |
|
| 962 | - |
|
| 963 | - 'email' => array( |
|
| 964 | - 'description' => __( 'The email of the owner of the invoice.', 'invoicing' ), |
|
| 965 | - 'type' => 'string', |
|
| 966 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 967 | - 'readonly' => true, |
|
| 968 | - ), |
|
| 969 | - |
|
| 970 | - 'ip' => array( |
|
| 971 | - 'description' => __( 'The IP of the owner of the invoice.', 'invoicing' ), |
|
| 972 | - 'type' => 'string', |
|
| 973 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 974 | - ), |
|
| 975 | - |
|
| 976 | - 'user_info' => array( |
|
| 977 | - 'description' => __( 'Information about the owner of the invoice.', 'invoicing' ), |
|
| 978 | - 'type' => 'object', |
|
| 979 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 980 | - 'properties' => array( |
|
| 981 | - |
|
| 982 | - 'first_name' => array( |
|
| 983 | - 'description' => __( 'The first name of the owner of the invoice.', 'invoicing' ), |
|
| 984 | - 'type' => 'string', |
|
| 985 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 986 | - ), |
|
| 987 | - |
|
| 988 | - 'last_name' => array( |
|
| 989 | - 'description' => __( 'The last name of the owner of the invoice.', 'invoicing' ), |
|
| 990 | - 'type' => 'string', |
|
| 991 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 992 | - ), |
|
| 993 | - |
|
| 994 | - 'company' => array( |
|
| 995 | - 'description' => __( 'The company of the owner of the invoice.', 'invoicing' ), |
|
| 996 | - 'type' => 'string', |
|
| 997 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 998 | - ), |
|
| 999 | - |
|
| 1000 | - 'vat_number' => array( |
|
| 1001 | - 'description' => __( 'The VAT number of the owner of the invoice.', 'invoicing' ), |
|
| 1002 | - 'type' => 'string', |
|
| 1003 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1004 | - ), |
|
| 1005 | - |
|
| 1006 | - 'vat_rate' => array( |
|
| 1007 | - 'description' => __( 'The VAT rate applied on the invoice.', 'invoicing' ), |
|
| 1008 | - 'type' => 'string', |
|
| 1009 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1010 | - ), |
|
| 1011 | - |
|
| 1012 | - 'address' => array( |
|
| 1013 | - 'description' => __( 'The address of the invoice owner.', 'invoicing' ), |
|
| 1014 | - 'type' => 'string', |
|
| 1015 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1016 | - ), |
|
| 1017 | - |
|
| 1018 | - 'city' => array( |
|
| 1019 | - 'description' => __( 'The city of the invoice owner.', 'invoicing' ), |
|
| 1020 | - 'type' => 'string', |
|
| 1021 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1022 | - ), |
|
| 1023 | - |
|
| 1024 | - 'country' => array( |
|
| 1025 | - 'description' => __( 'The country of the invoice owner.', 'invoicing' ), |
|
| 1026 | - 'type' => 'string', |
|
| 1027 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1028 | - ), |
|
| 1029 | - |
|
| 1030 | - 'state' => array( |
|
| 1031 | - 'description' => __( 'The state of the invoice owner.', 'invoicing' ), |
|
| 1032 | - 'type' => 'string', |
|
| 1033 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1034 | - ), |
|
| 1035 | - |
|
| 1036 | - 'zip' => array( |
|
| 1037 | - 'description' => __( 'The zip code of the invoice owner.', 'invoicing' ), |
|
| 1038 | - 'type' => 'string', |
|
| 1039 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1040 | - ), |
|
| 1041 | - |
|
| 1042 | - 'phone' => array( |
|
| 1043 | - 'description' => __( 'The phone number of the invoice owner.', 'invoicing' ), |
|
| 1044 | - 'type' => 'string', |
|
| 1045 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1046 | - ), |
|
| 1047 | - ), |
|
| 1048 | - ), |
|
| 1049 | - |
|
| 1050 | - 'id' => array( |
|
| 1051 | - 'description' => __( 'Unique identifier for the invoice.', 'invoicing' ), |
|
| 1052 | - 'type' => 'integer', |
|
| 1053 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1054 | - 'readonly' => true, |
|
| 1055 | - ), |
|
| 1056 | - |
|
| 1057 | - 'key' => array( |
|
| 1058 | - 'description' => __( 'A unique key for the invoice.', 'invoicing' ), |
|
| 1059 | - 'type' => 'string', |
|
| 1060 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1061 | - 'readonly' => true, |
|
| 1062 | - ), |
|
| 1063 | - |
|
| 1064 | - 'number' => array( |
|
| 1065 | - 'description' => __( 'The invoice number.', 'invoicing' ), |
|
| 1066 | - 'type' => 'string', |
|
| 1067 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1068 | - 'readonly' => true, |
|
| 1069 | - ), |
|
| 1070 | - |
|
| 1071 | - 'transaction_id' => array( |
|
| 1072 | - 'description' => __( 'The transaction id of the invoice.', 'invoicing' ), |
|
| 1073 | - 'type' => 'string', |
|
| 1074 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1075 | - ), |
|
| 1076 | - |
|
| 1077 | - 'gateway' => array( |
|
| 1078 | - 'description' => __( 'The gateway used to process the invoice.', 'invoicing' ), |
|
| 1079 | - 'type' => 'string', |
|
| 1080 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1081 | - ), |
|
| 1082 | - |
|
| 1083 | - 'gateway_title' => array( |
|
| 1084 | - 'description' => __( 'The title of the gateway used to process the invoice.', 'invoicing' ), |
|
| 1085 | - 'type' => 'string', |
|
| 1086 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1087 | - ), |
|
| 1088 | - |
|
| 1089 | - 'total' => array( |
|
| 1090 | - 'description' => __( 'The total amount of the invoice.', 'invoicing' ), |
|
| 1091 | - 'type' => 'number', |
|
| 1092 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1093 | - 'readonly' => true, |
|
| 1094 | - ), |
|
| 1095 | - |
|
| 1096 | - 'discount' => array( |
|
| 1097 | - 'description' => __( 'The discount applied to the invoice.', 'invoicing' ), |
|
| 1098 | - 'type' => 'number', |
|
| 1099 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1100 | - 'readonly' => true, |
|
| 1101 | - ), |
|
| 1102 | - |
|
| 1103 | - 'discount_code' => array( |
|
| 1104 | - 'description' => __( 'The discount code applied to the invoice.', 'invoicing' ), |
|
| 1105 | - 'type' => 'string', |
|
| 1106 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1107 | - 'readonly' => true, |
|
| 1108 | - ), |
|
| 1109 | - |
|
| 1110 | - 'tax' => array( |
|
| 1111 | - 'description' => __( 'The tax applied to the invoice.', 'invoicing' ), |
|
| 1112 | - 'type' => 'number', |
|
| 1113 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1114 | - 'readonly' => true, |
|
| 1115 | - ), |
|
| 1116 | - |
|
| 1117 | - 'fees_total' => array( |
|
| 1118 | - 'description' => __( 'The total fees applied to the invoice.', 'invoicing' ), |
|
| 1119 | - 'type' => 'number', |
|
| 1120 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1121 | - 'readonly' => true, |
|
| 1122 | - ), |
|
| 1123 | - |
|
| 1124 | - 'subtotal' => array( |
|
| 1125 | - 'description' => __( 'The sub-total for the invoice.', 'invoicing' ), |
|
| 1126 | - 'type' => 'number', |
|
| 1127 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1128 | - 'readonly' => true, |
|
| 1129 | - ), |
|
| 1130 | - |
|
| 1131 | - 'currency' => array( |
|
| 1132 | - 'description' => __( 'The currency used to process the invoice.', 'invoicing' ), |
|
| 1133 | - 'type' => 'string', |
|
| 1134 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1135 | - ), |
|
| 1136 | - |
|
| 1137 | - 'cart_details' => array( |
|
| 1138 | - 'description' => __( 'The cart details for invoice.', 'invoicing' ), |
|
| 1139 | - 'type' => 'array', |
|
| 1140 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1141 | - 'required' => true, |
|
| 1142 | - ), |
|
| 1143 | - |
|
| 1144 | - 'date' => array( |
|
| 1145 | - 'description' => __( "The date the invoice was published, in the site's timezone.", 'invoicing' ), |
|
| 1146 | - 'type' => array( 'string', 'null' ), |
|
| 1147 | - 'format' => 'date-time', |
|
| 1148 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1149 | - ), |
|
| 1150 | - |
|
| 1151 | - 'due_date' => array( |
|
| 1152 | - 'description' => __( 'The due date for the invoice.', 'invoicing' ), |
|
| 1153 | - 'type' => array( 'string', 'null' ), |
|
| 1154 | - 'format' => 'date-time', |
|
| 1155 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1156 | - ), |
|
| 1157 | - |
|
| 1158 | - 'completed_date' => array( |
|
| 1159 | - 'description' => __( 'The completed date for the invoice.', 'invoicing' ), |
|
| 1160 | - 'type' => array( 'string', 'null' ), |
|
| 1161 | - 'format' => 'date-time', |
|
| 1162 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1163 | - 'readonly' => true, |
|
| 1164 | - ), |
|
| 834 | + $links = $this->prepare_links( $invoice ); |
|
| 835 | + $response->add_links( $links ); |
|
| 836 | + |
|
| 837 | + if ( ! empty( $links['self']['href'] ) ) { |
|
| 838 | + $actions = $this->get_available_actions( $invoice, $request ); |
|
| 839 | + |
|
| 840 | + $self = $links['self']['href']; |
|
| 841 | + |
|
| 842 | + foreach ( $actions as $rel ) { |
|
| 843 | + $response->add_link( $rel, $self ); |
|
| 844 | + } |
|
| 845 | + } |
|
| 846 | + |
|
| 847 | + /** |
|
| 848 | + * Filters the invoice data for a response. |
|
| 849 | + * |
|
| 850 | + * @since 1.0.13 |
|
| 851 | + * |
|
| 852 | + * @param WP_REST_Response $response The response object. |
|
| 853 | + * @param WPInv_Invoice $invoice The invoice object. |
|
| 854 | + * @param WP_REST_Request $request Request object. |
|
| 855 | + */ |
|
| 856 | + return apply_filters( "wpinv_rest_prepare_invoice", $response, $invoice, $request ); |
|
| 857 | + } |
|
| 858 | + |
|
| 859 | + /** |
|
| 860 | + * Gets an array of fields to be included on the response. |
|
| 861 | + * |
|
| 862 | + * Included fields are based on item schema and `_fields=` request argument. |
|
| 863 | + * |
|
| 864 | + * @since 1.0.13 |
|
| 865 | + * |
|
| 866 | + * @param WP_REST_Request $request Full details about the request. |
|
| 867 | + * @return array Fields to be included in the response. |
|
| 868 | + */ |
|
| 869 | + public function get_fields_for_response( $request ) { |
|
| 870 | + $schema = $this->get_item_schema(); |
|
| 871 | + $properties = isset( $schema['properties'] ) ? $schema['properties'] : array(); |
|
| 872 | + |
|
| 873 | + $additional_fields = $this->get_additional_fields(); |
|
| 874 | + foreach ( $additional_fields as $field_name => $field_options ) { |
|
| 875 | + // For back-compat, include any field with an empty schema |
|
| 876 | + // because it won't be present in $this->get_item_schema(). |
|
| 877 | + if ( is_null( $field_options['schema'] ) ) { |
|
| 878 | + $properties[ $field_name ] = $field_options; |
|
| 879 | + } |
|
| 880 | + } |
|
| 881 | + |
|
| 882 | + // Exclude fields that specify a different context than the request context. |
|
| 883 | + $context = $request['context']; |
|
| 884 | + if ( $context ) { |
|
| 885 | + foreach ( $properties as $name => $options ) { |
|
| 886 | + if ( ! empty( $options['context'] ) && ! in_array( $context, $options['context'], true ) ) { |
|
| 887 | + unset( $properties[ $name ] ); |
|
| 888 | + } |
|
| 889 | + } |
|
| 890 | + } |
|
| 891 | + |
|
| 892 | + $fields = array_keys( $properties ); |
|
| 893 | + |
|
| 894 | + if ( ! isset( $request['_fields'] ) ) { |
|
| 895 | + return $fields; |
|
| 896 | + } |
|
| 897 | + $requested_fields = wpinv_parse_list( $request['_fields'] ); |
|
| 898 | + if ( 0 === count( $requested_fields ) ) { |
|
| 899 | + return $fields; |
|
| 900 | + } |
|
| 901 | + // Trim off outside whitespace from the comma delimited list. |
|
| 902 | + $requested_fields = array_map( 'trim', $requested_fields ); |
|
| 903 | + // Always persist 'id', because it can be needed for add_additional_fields_to_object(). |
|
| 904 | + if ( in_array( 'id', $fields, true ) ) { |
|
| 905 | + $requested_fields[] = 'id'; |
|
| 906 | + } |
|
| 907 | + // Return the list of all requested fields which appear in the schema. |
|
| 908 | + return array_reduce( |
|
| 909 | + $requested_fields, |
|
| 910 | + function( $response_fields, $field ) use ( $fields ) { |
|
| 911 | + if ( in_array( $field, $fields, true ) ) { |
|
| 912 | + $response_fields[] = $field; |
|
| 913 | + return $response_fields; |
|
| 914 | + } |
|
| 915 | + // Check for nested fields if $field is not a direct match. |
|
| 916 | + $nested_fields = explode( '.', $field ); |
|
| 917 | + // A nested field is included so long as its top-level property is |
|
| 918 | + // present in the schema. |
|
| 919 | + if ( in_array( $nested_fields[0], $fields, true ) ) { |
|
| 920 | + $response_fields[] = $field; |
|
| 921 | + } |
|
| 922 | + return $response_fields; |
|
| 923 | + }, |
|
| 924 | + array() |
|
| 925 | + ); |
|
| 926 | + } |
|
| 927 | + |
|
| 928 | + /** |
|
| 929 | + * Retrieves the invoice's schema, conforming to JSON Schema. |
|
| 930 | + * |
|
| 931 | + * @since 1.0.13 |
|
| 932 | + * |
|
| 933 | + * @return array Invoice schema data. |
|
| 934 | + */ |
|
| 935 | + public function get_item_schema() { |
|
| 936 | + |
|
| 937 | + // Maybe retrieve the schema from cache. |
|
| 938 | + if ( $this->schema ) { |
|
| 939 | + return $this->add_additional_fields_schema( $this->schema ); |
|
| 940 | + } |
|
| 941 | + |
|
| 942 | + $schema = array( |
|
| 943 | + '$schema' => 'http://json-schema.org/draft-04/schema#', |
|
| 944 | + 'title' => $this->post_type, |
|
| 945 | + 'type' => 'object', |
|
| 946 | + |
|
| 947 | + // Base properties for every Invoice. |
|
| 948 | + 'properties' => array( |
|
| 949 | + |
|
| 950 | + 'title' => array( |
|
| 951 | + 'description' => __( 'The title for the invoice.', 'invoicing' ), |
|
| 952 | + 'type' => 'string', |
|
| 953 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 954 | + 'readonly' => true, |
|
| 955 | + ), |
|
| 956 | + |
|
| 957 | + 'user_id' => array( |
|
| 958 | + 'description' => __( 'The ID of the owner of the invoice.', 'invoicing' ), |
|
| 959 | + 'type' => 'integer', |
|
| 960 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 961 | + ), |
|
| 962 | + |
|
| 963 | + 'email' => array( |
|
| 964 | + 'description' => __( 'The email of the owner of the invoice.', 'invoicing' ), |
|
| 965 | + 'type' => 'string', |
|
| 966 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 967 | + 'readonly' => true, |
|
| 968 | + ), |
|
| 969 | + |
|
| 970 | + 'ip' => array( |
|
| 971 | + 'description' => __( 'The IP of the owner of the invoice.', 'invoicing' ), |
|
| 972 | + 'type' => 'string', |
|
| 973 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 974 | + ), |
|
| 975 | + |
|
| 976 | + 'user_info' => array( |
|
| 977 | + 'description' => __( 'Information about the owner of the invoice.', 'invoicing' ), |
|
| 978 | + 'type' => 'object', |
|
| 979 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 980 | + 'properties' => array( |
|
| 981 | + |
|
| 982 | + 'first_name' => array( |
|
| 983 | + 'description' => __( 'The first name of the owner of the invoice.', 'invoicing' ), |
|
| 984 | + 'type' => 'string', |
|
| 985 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 986 | + ), |
|
| 987 | + |
|
| 988 | + 'last_name' => array( |
|
| 989 | + 'description' => __( 'The last name of the owner of the invoice.', 'invoicing' ), |
|
| 990 | + 'type' => 'string', |
|
| 991 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 992 | + ), |
|
| 993 | + |
|
| 994 | + 'company' => array( |
|
| 995 | + 'description' => __( 'The company of the owner of the invoice.', 'invoicing' ), |
|
| 996 | + 'type' => 'string', |
|
| 997 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 998 | + ), |
|
| 999 | + |
|
| 1000 | + 'vat_number' => array( |
|
| 1001 | + 'description' => __( 'The VAT number of the owner of the invoice.', 'invoicing' ), |
|
| 1002 | + 'type' => 'string', |
|
| 1003 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1004 | + ), |
|
| 1005 | + |
|
| 1006 | + 'vat_rate' => array( |
|
| 1007 | + 'description' => __( 'The VAT rate applied on the invoice.', 'invoicing' ), |
|
| 1008 | + 'type' => 'string', |
|
| 1009 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1010 | + ), |
|
| 1011 | + |
|
| 1012 | + 'address' => array( |
|
| 1013 | + 'description' => __( 'The address of the invoice owner.', 'invoicing' ), |
|
| 1014 | + 'type' => 'string', |
|
| 1015 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1016 | + ), |
|
| 1017 | + |
|
| 1018 | + 'city' => array( |
|
| 1019 | + 'description' => __( 'The city of the invoice owner.', 'invoicing' ), |
|
| 1020 | + 'type' => 'string', |
|
| 1021 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1022 | + ), |
|
| 1023 | + |
|
| 1024 | + 'country' => array( |
|
| 1025 | + 'description' => __( 'The country of the invoice owner.', 'invoicing' ), |
|
| 1026 | + 'type' => 'string', |
|
| 1027 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1028 | + ), |
|
| 1029 | + |
|
| 1030 | + 'state' => array( |
|
| 1031 | + 'description' => __( 'The state of the invoice owner.', 'invoicing' ), |
|
| 1032 | + 'type' => 'string', |
|
| 1033 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1034 | + ), |
|
| 1035 | + |
|
| 1036 | + 'zip' => array( |
|
| 1037 | + 'description' => __( 'The zip code of the invoice owner.', 'invoicing' ), |
|
| 1038 | + 'type' => 'string', |
|
| 1039 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1040 | + ), |
|
| 1041 | + |
|
| 1042 | + 'phone' => array( |
|
| 1043 | + 'description' => __( 'The phone number of the invoice owner.', 'invoicing' ), |
|
| 1044 | + 'type' => 'string', |
|
| 1045 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1046 | + ), |
|
| 1047 | + ), |
|
| 1048 | + ), |
|
| 1049 | + |
|
| 1050 | + 'id' => array( |
|
| 1051 | + 'description' => __( 'Unique identifier for the invoice.', 'invoicing' ), |
|
| 1052 | + 'type' => 'integer', |
|
| 1053 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1054 | + 'readonly' => true, |
|
| 1055 | + ), |
|
| 1056 | + |
|
| 1057 | + 'key' => array( |
|
| 1058 | + 'description' => __( 'A unique key for the invoice.', 'invoicing' ), |
|
| 1059 | + 'type' => 'string', |
|
| 1060 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1061 | + 'readonly' => true, |
|
| 1062 | + ), |
|
| 1063 | + |
|
| 1064 | + 'number' => array( |
|
| 1065 | + 'description' => __( 'The invoice number.', 'invoicing' ), |
|
| 1066 | + 'type' => 'string', |
|
| 1067 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1068 | + 'readonly' => true, |
|
| 1069 | + ), |
|
| 1070 | + |
|
| 1071 | + 'transaction_id' => array( |
|
| 1072 | + 'description' => __( 'The transaction id of the invoice.', 'invoicing' ), |
|
| 1073 | + 'type' => 'string', |
|
| 1074 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1075 | + ), |
|
| 1076 | + |
|
| 1077 | + 'gateway' => array( |
|
| 1078 | + 'description' => __( 'The gateway used to process the invoice.', 'invoicing' ), |
|
| 1079 | + 'type' => 'string', |
|
| 1080 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1081 | + ), |
|
| 1082 | + |
|
| 1083 | + 'gateway_title' => array( |
|
| 1084 | + 'description' => __( 'The title of the gateway used to process the invoice.', 'invoicing' ), |
|
| 1085 | + 'type' => 'string', |
|
| 1086 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1087 | + ), |
|
| 1088 | + |
|
| 1089 | + 'total' => array( |
|
| 1090 | + 'description' => __( 'The total amount of the invoice.', 'invoicing' ), |
|
| 1091 | + 'type' => 'number', |
|
| 1092 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1093 | + 'readonly' => true, |
|
| 1094 | + ), |
|
| 1095 | + |
|
| 1096 | + 'discount' => array( |
|
| 1097 | + 'description' => __( 'The discount applied to the invoice.', 'invoicing' ), |
|
| 1098 | + 'type' => 'number', |
|
| 1099 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1100 | + 'readonly' => true, |
|
| 1101 | + ), |
|
| 1102 | + |
|
| 1103 | + 'discount_code' => array( |
|
| 1104 | + 'description' => __( 'The discount code applied to the invoice.', 'invoicing' ), |
|
| 1105 | + 'type' => 'string', |
|
| 1106 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1107 | + 'readonly' => true, |
|
| 1108 | + ), |
|
| 1109 | + |
|
| 1110 | + 'tax' => array( |
|
| 1111 | + 'description' => __( 'The tax applied to the invoice.', 'invoicing' ), |
|
| 1112 | + 'type' => 'number', |
|
| 1113 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1114 | + 'readonly' => true, |
|
| 1115 | + ), |
|
| 1116 | + |
|
| 1117 | + 'fees_total' => array( |
|
| 1118 | + 'description' => __( 'The total fees applied to the invoice.', 'invoicing' ), |
|
| 1119 | + 'type' => 'number', |
|
| 1120 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1121 | + 'readonly' => true, |
|
| 1122 | + ), |
|
| 1123 | + |
|
| 1124 | + 'subtotal' => array( |
|
| 1125 | + 'description' => __( 'The sub-total for the invoice.', 'invoicing' ), |
|
| 1126 | + 'type' => 'number', |
|
| 1127 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1128 | + 'readonly' => true, |
|
| 1129 | + ), |
|
| 1130 | + |
|
| 1131 | + 'currency' => array( |
|
| 1132 | + 'description' => __( 'The currency used to process the invoice.', 'invoicing' ), |
|
| 1133 | + 'type' => 'string', |
|
| 1134 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1135 | + ), |
|
| 1136 | + |
|
| 1137 | + 'cart_details' => array( |
|
| 1138 | + 'description' => __( 'The cart details for invoice.', 'invoicing' ), |
|
| 1139 | + 'type' => 'array', |
|
| 1140 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1141 | + 'required' => true, |
|
| 1142 | + ), |
|
| 1143 | + |
|
| 1144 | + 'date' => array( |
|
| 1145 | + 'description' => __( "The date the invoice was published, in the site's timezone.", 'invoicing' ), |
|
| 1146 | + 'type' => array( 'string', 'null' ), |
|
| 1147 | + 'format' => 'date-time', |
|
| 1148 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1149 | + ), |
|
| 1150 | + |
|
| 1151 | + 'due_date' => array( |
|
| 1152 | + 'description' => __( 'The due date for the invoice.', 'invoicing' ), |
|
| 1153 | + 'type' => array( 'string', 'null' ), |
|
| 1154 | + 'format' => 'date-time', |
|
| 1155 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1156 | + ), |
|
| 1157 | + |
|
| 1158 | + 'completed_date' => array( |
|
| 1159 | + 'description' => __( 'The completed date for the invoice.', 'invoicing' ), |
|
| 1160 | + 'type' => array( 'string', 'null' ), |
|
| 1161 | + 'format' => 'date-time', |
|
| 1162 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1163 | + 'readonly' => true, |
|
| 1164 | + ), |
|
| 1165 | 1165 | |
| 1166 | - 'link' => array( |
|
| 1167 | - 'description' => __( 'URL to the invoice.', 'invoicing' ), |
|
| 1168 | - 'type' => 'string', |
|
| 1169 | - 'format' => 'uri', |
|
| 1170 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1171 | - 'readonly' => true, |
|
| 1172 | - ), |
|
| 1173 | - |
|
| 1174 | - 'mode' => array( |
|
| 1175 | - 'description' => __( 'The mode used to process the invoice.', 'invoicing' ), |
|
| 1176 | - 'type' => 'string', |
|
| 1177 | - 'enum' => array( 'live', 'test' ), |
|
| 1178 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1179 | - 'readonly' => true, |
|
| 1180 | - ), |
|
| 1181 | - |
|
| 1182 | - 'slug' => array( |
|
| 1183 | - 'description' => __( 'An alphanumeric identifier for the invoice.', 'invoicing' ), |
|
| 1184 | - 'type' => 'string', |
|
| 1185 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1186 | - 'arg_options' => array( |
|
| 1187 | - 'sanitize_callback' => array( $this, 'sanitize_slug' ), |
|
| 1188 | - ), |
|
| 1189 | - 'readonly' => true, |
|
| 1190 | - ), |
|
| 1191 | - |
|
| 1192 | - 'status' => array( |
|
| 1193 | - 'description' => __( 'A named status for the invoice.', 'invoicing' ), |
|
| 1194 | - 'type' => 'string', |
|
| 1195 | - 'enum' => array_keys( wpinv_get_invoice_statuses( true, true ) ), |
|
| 1196 | - 'context' => array( 'view', 'edit' ), |
|
| 1197 | - 'default' => 'wpi-pending', |
|
| 1198 | - ), |
|
| 1199 | - |
|
| 1200 | - 'status_nicename' => array( |
|
| 1201 | - 'description' => __( 'A human-readable status name for the invoice.', 'invoicing' ), |
|
| 1202 | - 'type' => 'string', |
|
| 1203 | - 'context' => array( 'view', 'embed' ), |
|
| 1204 | - 'readonly' => true, |
|
| 1205 | - ), |
|
| 1206 | - |
|
| 1207 | - 'post_type' => array( |
|
| 1208 | - 'description' => __( 'The post type for the invoice.', 'invoicing' ), |
|
| 1209 | - 'type' => 'string', |
|
| 1210 | - 'context' => array( 'view' ), |
|
| 1211 | - 'readonly' => true, |
|
| 1212 | - ), |
|
| 1213 | - ), |
|
| 1214 | - ); |
|
| 1215 | - |
|
| 1216 | - // Add helpful links to the invoice schem. |
|
| 1217 | - $schema['links'] = $this->get_schema_links(); |
|
| 1218 | - |
|
| 1219 | - /** |
|
| 1220 | - * Filters the invoice schema for the REST API. |
|
| 1221 | - * |
|
| 1222 | - * Enables adding extra properties to invoices. |
|
| 1223 | - * |
|
| 1224 | - * @since 1.0.13 |
|
| 1225 | - * |
|
| 1226 | - * @param array $schema The invoice schema. |
|
| 1227 | - */ |
|
| 1166 | + 'link' => array( |
|
| 1167 | + 'description' => __( 'URL to the invoice.', 'invoicing' ), |
|
| 1168 | + 'type' => 'string', |
|
| 1169 | + 'format' => 'uri', |
|
| 1170 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1171 | + 'readonly' => true, |
|
| 1172 | + ), |
|
| 1173 | + |
|
| 1174 | + 'mode' => array( |
|
| 1175 | + 'description' => __( 'The mode used to process the invoice.', 'invoicing' ), |
|
| 1176 | + 'type' => 'string', |
|
| 1177 | + 'enum' => array( 'live', 'test' ), |
|
| 1178 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1179 | + 'readonly' => true, |
|
| 1180 | + ), |
|
| 1181 | + |
|
| 1182 | + 'slug' => array( |
|
| 1183 | + 'description' => __( 'An alphanumeric identifier for the invoice.', 'invoicing' ), |
|
| 1184 | + 'type' => 'string', |
|
| 1185 | + 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1186 | + 'arg_options' => array( |
|
| 1187 | + 'sanitize_callback' => array( $this, 'sanitize_slug' ), |
|
| 1188 | + ), |
|
| 1189 | + 'readonly' => true, |
|
| 1190 | + ), |
|
| 1191 | + |
|
| 1192 | + 'status' => array( |
|
| 1193 | + 'description' => __( 'A named status for the invoice.', 'invoicing' ), |
|
| 1194 | + 'type' => 'string', |
|
| 1195 | + 'enum' => array_keys( wpinv_get_invoice_statuses( true, true ) ), |
|
| 1196 | + 'context' => array( 'view', 'edit' ), |
|
| 1197 | + 'default' => 'wpi-pending', |
|
| 1198 | + ), |
|
| 1199 | + |
|
| 1200 | + 'status_nicename' => array( |
|
| 1201 | + 'description' => __( 'A human-readable status name for the invoice.', 'invoicing' ), |
|
| 1202 | + 'type' => 'string', |
|
| 1203 | + 'context' => array( 'view', 'embed' ), |
|
| 1204 | + 'readonly' => true, |
|
| 1205 | + ), |
|
| 1206 | + |
|
| 1207 | + 'post_type' => array( |
|
| 1208 | + 'description' => __( 'The post type for the invoice.', 'invoicing' ), |
|
| 1209 | + 'type' => 'string', |
|
| 1210 | + 'context' => array( 'view' ), |
|
| 1211 | + 'readonly' => true, |
|
| 1212 | + ), |
|
| 1213 | + ), |
|
| 1214 | + ); |
|
| 1215 | + |
|
| 1216 | + // Add helpful links to the invoice schem. |
|
| 1217 | + $schema['links'] = $this->get_schema_links(); |
|
| 1218 | + |
|
| 1219 | + /** |
|
| 1220 | + * Filters the invoice schema for the REST API. |
|
| 1221 | + * |
|
| 1222 | + * Enables adding extra properties to invoices. |
|
| 1223 | + * |
|
| 1224 | + * @since 1.0.13 |
|
| 1225 | + * |
|
| 1226 | + * @param array $schema The invoice schema. |
|
| 1227 | + */ |
|
| 1228 | 1228 | $schema = apply_filters( "wpinv_rest_invoice_schema", $schema ); |
| 1229 | 1229 | |
| 1230 | - // Cache the invoice schema. |
|
| 1231 | - $this->schema = $schema; |
|
| 1230 | + // Cache the invoice schema. |
|
| 1231 | + $this->schema = $schema; |
|
| 1232 | 1232 | |
| 1233 | - return $this->add_additional_fields_schema( $this->schema ); |
|
| 1234 | - } |
|
| 1235 | - |
|
| 1236 | - /** |
|
| 1237 | - * Retrieve Link Description Objects that should be added to the Schema for the invoices collection. |
|
| 1238 | - * |
|
| 1239 | - * @since 1.0.13 |
|
| 1240 | - * |
|
| 1241 | - * @return array |
|
| 1242 | - */ |
|
| 1243 | - protected function get_schema_links() { |
|
| 1244 | - |
|
| 1245 | - $href = rest_url( "{$this->namespace}/{$this->rest_base}/{id}" ); |
|
| 1246 | - |
|
| 1247 | - $links = array(); |
|
| 1248 | - |
|
| 1249 | - $links[] = array( |
|
| 1250 | - 'rel' => 'https://api.w.org/action-publish', |
|
| 1251 | - 'title' => __( 'The current user can mark this invoice as completed.', 'invoicing' ), |
|
| 1252 | - 'href' => $href, |
|
| 1253 | - 'targetSchema' => array( |
|
| 1254 | - 'type' => 'object', |
|
| 1255 | - 'properties' => array( |
|
| 1256 | - 'status' => array( |
|
| 1257 | - 'type' => 'string', |
|
| 1258 | - 'enum' => array( 'publish', 'wpi-renewal' ), |
|
| 1259 | - ), |
|
| 1260 | - ), |
|
| 1261 | - ), |
|
| 1262 | - ); |
|
| 1263 | - |
|
| 1264 | - $links[] = array( |
|
| 1265 | - 'rel' => 'https://api.w.org/action-assign-author', |
|
| 1266 | - 'title' => __( 'The current user can change the owner of this invoice.', 'invoicing' ), |
|
| 1267 | - 'href' => $href, |
|
| 1268 | - 'targetSchema' => array( |
|
| 1269 | - 'type' => 'object', |
|
| 1270 | - 'properties' => array( |
|
| 1271 | - 'user_id' => array( |
|
| 1272 | - 'type' => 'integer', |
|
| 1273 | - ), |
|
| 1274 | - ), |
|
| 1275 | - ), |
|
| 1276 | - ); |
|
| 1277 | - |
|
| 1278 | - return $links; |
|
| 1279 | - } |
|
| 1280 | - |
|
| 1281 | - /** |
|
| 1282 | - * Prepares links for the request. |
|
| 1283 | - * |
|
| 1284 | - * @since 1.0.13 |
|
| 1285 | - * |
|
| 1286 | - * @param WPInv_Invoice $invoice Invoice Object. |
|
| 1287 | - * @return array Links for the given invoice. |
|
| 1288 | - */ |
|
| 1289 | - protected function prepare_links( $invoice ) { |
|
| 1290 | - |
|
| 1291 | - // Prepare the base REST API endpoint for invoices. |
|
| 1292 | - $base = sprintf( '%s/%s', $this->namespace, $this->rest_base ); |
|
| 1293 | - |
|
| 1294 | - // Entity meta. |
|
| 1295 | - $links = array( |
|
| 1296 | - 'self' => array( |
|
| 1297 | - 'href' => rest_url( trailingslashit( $base ) . $invoice->ID ), |
|
| 1298 | - ), |
|
| 1299 | - 'collection' => array( |
|
| 1300 | - 'href' => rest_url( $base ), |
|
| 1301 | - ), |
|
| 1302 | - ); |
|
| 1303 | - |
|
| 1304 | - if ( ! empty( $invoice->user_id ) ) { |
|
| 1305 | - $links['user'] = array( |
|
| 1306 | - 'href' => rest_url( 'wp/v2/users/' . $invoice->user_id ), |
|
| 1307 | - 'embeddable' => true, |
|
| 1308 | - ); |
|
| 1309 | - } |
|
| 1310 | - |
|
| 1311 | - /** |
|
| 1312 | - * Filters the returned invoice links for the REST API. |
|
| 1313 | - * |
|
| 1314 | - * Enables adding extra links to invoice API responses. |
|
| 1315 | - * |
|
| 1316 | - * @since 1.0.13 |
|
| 1317 | - * |
|
| 1318 | - * @param array $links Rest links. |
|
| 1319 | - */ |
|
| 1320 | - return apply_filters( "wpinv_invoice_rest_links", $links ); |
|
| 1321 | - |
|
| 1322 | - } |
|
| 1323 | - |
|
| 1324 | - /** |
|
| 1325 | - * Get the link relations available for the post and current user. |
|
| 1326 | - * |
|
| 1327 | - * @since 1.0.13 |
|
| 1328 | - * |
|
| 1329 | - * @param WPInv_Invoice $invoice Invoice object. |
|
| 1330 | - * @param WP_REST_Request $request Request object. |
|
| 1331 | - * @return array List of link relations. |
|
| 1332 | - */ |
|
| 1333 | - protected function get_available_actions( $invoice, $request ) { |
|
| 1334 | - |
|
| 1335 | - if ( 'edit' !== $request['context'] ) { |
|
| 1336 | - return array(); |
|
| 1337 | - } |
|
| 1338 | - |
|
| 1339 | - $rels = array(); |
|
| 1340 | - |
|
| 1341 | - // Retrieve the post type object. |
|
| 1342 | - $post_type = get_post_type_object( $invoice->post_type ); |
|
| 1343 | - |
|
| 1344 | - // Mark invoice as completed. |
|
| 1345 | - if ( current_user_can( $post_type->cap->publish_posts ) ) { |
|
| 1346 | - $rels[] = 'https://api.w.org/action-publish'; |
|
| 1347 | - } |
|
| 1348 | - |
|
| 1349 | - // Change the owner of the invoice. |
|
| 1350 | - if ( current_user_can( $post_type->cap->edit_others_posts ) ) { |
|
| 1351 | - $rels[] = 'https://api.w.org/action-assign-author'; |
|
| 1352 | - } |
|
| 1353 | - |
|
| 1354 | - /** |
|
| 1355 | - * Filters the available invoice link relations for the REST API. |
|
| 1356 | - * |
|
| 1357 | - * Enables adding extra link relation for the current user and request to invoice responses. |
|
| 1358 | - * |
|
| 1359 | - * @since 1.0.13 |
|
| 1360 | - * |
|
| 1361 | - * @param array $rels Available link relations. |
|
| 1362 | - */ |
|
| 1363 | - return apply_filters( "wpinv_invoice_rest_link_relations", $rels ); |
|
| 1364 | - } |
|
| 1365 | - |
|
| 1366 | - /** |
|
| 1367 | - * Sanitizes and validates the list of post statuses. |
|
| 1368 | - * |
|
| 1369 | - * @since 1.0.13 |
|
| 1370 | - * |
|
| 1371 | - * @param string|array $statuses One or more post statuses. |
|
| 1372 | - * @param WP_REST_Request $request Full details about the request. |
|
| 1373 | - * @param string $parameter Additional parameter to pass to validation. |
|
| 1374 | - * @return array|WP_Error A list of valid statuses, otherwise WP_Error object. |
|
| 1375 | - */ |
|
| 1376 | - public function sanitize_post_statuses( $statuses, $request, $parameter ) { |
|
| 1377 | - |
|
| 1378 | - $statuses = wp_parse_slug_list( $statuses ); |
|
| 1379 | - $valid_statuses = array_keys( wpinv_get_invoice_statuses( true, true ) ); |
|
| 1380 | - return array_intersect( $statuses, $valid_statuses ); |
|
| 1233 | + return $this->add_additional_fields_schema( $this->schema ); |
|
| 1234 | + } |
|
| 1235 | + |
|
| 1236 | + /** |
|
| 1237 | + * Retrieve Link Description Objects that should be added to the Schema for the invoices collection. |
|
| 1238 | + * |
|
| 1239 | + * @since 1.0.13 |
|
| 1240 | + * |
|
| 1241 | + * @return array |
|
| 1242 | + */ |
|
| 1243 | + protected function get_schema_links() { |
|
| 1244 | + |
|
| 1245 | + $href = rest_url( "{$this->namespace}/{$this->rest_base}/{id}" ); |
|
| 1246 | + |
|
| 1247 | + $links = array(); |
|
| 1248 | + |
|
| 1249 | + $links[] = array( |
|
| 1250 | + 'rel' => 'https://api.w.org/action-publish', |
|
| 1251 | + 'title' => __( 'The current user can mark this invoice as completed.', 'invoicing' ), |
|
| 1252 | + 'href' => $href, |
|
| 1253 | + 'targetSchema' => array( |
|
| 1254 | + 'type' => 'object', |
|
| 1255 | + 'properties' => array( |
|
| 1256 | + 'status' => array( |
|
| 1257 | + 'type' => 'string', |
|
| 1258 | + 'enum' => array( 'publish', 'wpi-renewal' ), |
|
| 1259 | + ), |
|
| 1260 | + ), |
|
| 1261 | + ), |
|
| 1262 | + ); |
|
| 1263 | + |
|
| 1264 | + $links[] = array( |
|
| 1265 | + 'rel' => 'https://api.w.org/action-assign-author', |
|
| 1266 | + 'title' => __( 'The current user can change the owner of this invoice.', 'invoicing' ), |
|
| 1267 | + 'href' => $href, |
|
| 1268 | + 'targetSchema' => array( |
|
| 1269 | + 'type' => 'object', |
|
| 1270 | + 'properties' => array( |
|
| 1271 | + 'user_id' => array( |
|
| 1272 | + 'type' => 'integer', |
|
| 1273 | + ), |
|
| 1274 | + ), |
|
| 1275 | + ), |
|
| 1276 | + ); |
|
| 1277 | + |
|
| 1278 | + return $links; |
|
| 1279 | + } |
|
| 1280 | + |
|
| 1281 | + /** |
|
| 1282 | + * Prepares links for the request. |
|
| 1283 | + * |
|
| 1284 | + * @since 1.0.13 |
|
| 1285 | + * |
|
| 1286 | + * @param WPInv_Invoice $invoice Invoice Object. |
|
| 1287 | + * @return array Links for the given invoice. |
|
| 1288 | + */ |
|
| 1289 | + protected function prepare_links( $invoice ) { |
|
| 1290 | + |
|
| 1291 | + // Prepare the base REST API endpoint for invoices. |
|
| 1292 | + $base = sprintf( '%s/%s', $this->namespace, $this->rest_base ); |
|
| 1293 | + |
|
| 1294 | + // Entity meta. |
|
| 1295 | + $links = array( |
|
| 1296 | + 'self' => array( |
|
| 1297 | + 'href' => rest_url( trailingslashit( $base ) . $invoice->ID ), |
|
| 1298 | + ), |
|
| 1299 | + 'collection' => array( |
|
| 1300 | + 'href' => rest_url( $base ), |
|
| 1301 | + ), |
|
| 1302 | + ); |
|
| 1303 | + |
|
| 1304 | + if ( ! empty( $invoice->user_id ) ) { |
|
| 1305 | + $links['user'] = array( |
|
| 1306 | + 'href' => rest_url( 'wp/v2/users/' . $invoice->user_id ), |
|
| 1307 | + 'embeddable' => true, |
|
| 1308 | + ); |
|
| 1309 | + } |
|
| 1310 | + |
|
| 1311 | + /** |
|
| 1312 | + * Filters the returned invoice links for the REST API. |
|
| 1313 | + * |
|
| 1314 | + * Enables adding extra links to invoice API responses. |
|
| 1315 | + * |
|
| 1316 | + * @since 1.0.13 |
|
| 1317 | + * |
|
| 1318 | + * @param array $links Rest links. |
|
| 1319 | + */ |
|
| 1320 | + return apply_filters( "wpinv_invoice_rest_links", $links ); |
|
| 1321 | + |
|
| 1322 | + } |
|
| 1323 | + |
|
| 1324 | + /** |
|
| 1325 | + * Get the link relations available for the post and current user. |
|
| 1326 | + * |
|
| 1327 | + * @since 1.0.13 |
|
| 1328 | + * |
|
| 1329 | + * @param WPInv_Invoice $invoice Invoice object. |
|
| 1330 | + * @param WP_REST_Request $request Request object. |
|
| 1331 | + * @return array List of link relations. |
|
| 1332 | + */ |
|
| 1333 | + protected function get_available_actions( $invoice, $request ) { |
|
| 1334 | + |
|
| 1335 | + if ( 'edit' !== $request['context'] ) { |
|
| 1336 | + return array(); |
|
| 1337 | + } |
|
| 1338 | + |
|
| 1339 | + $rels = array(); |
|
| 1340 | + |
|
| 1341 | + // Retrieve the post type object. |
|
| 1342 | + $post_type = get_post_type_object( $invoice->post_type ); |
|
| 1343 | + |
|
| 1344 | + // Mark invoice as completed. |
|
| 1345 | + if ( current_user_can( $post_type->cap->publish_posts ) ) { |
|
| 1346 | + $rels[] = 'https://api.w.org/action-publish'; |
|
| 1347 | + } |
|
| 1348 | + |
|
| 1349 | + // Change the owner of the invoice. |
|
| 1350 | + if ( current_user_can( $post_type->cap->edit_others_posts ) ) { |
|
| 1351 | + $rels[] = 'https://api.w.org/action-assign-author'; |
|
| 1352 | + } |
|
| 1353 | + |
|
| 1354 | + /** |
|
| 1355 | + * Filters the available invoice link relations for the REST API. |
|
| 1356 | + * |
|
| 1357 | + * Enables adding extra link relation for the current user and request to invoice responses. |
|
| 1358 | + * |
|
| 1359 | + * @since 1.0.13 |
|
| 1360 | + * |
|
| 1361 | + * @param array $rels Available link relations. |
|
| 1362 | + */ |
|
| 1363 | + return apply_filters( "wpinv_invoice_rest_link_relations", $rels ); |
|
| 1364 | + } |
|
| 1365 | + |
|
| 1366 | + /** |
|
| 1367 | + * Sanitizes and validates the list of post statuses. |
|
| 1368 | + * |
|
| 1369 | + * @since 1.0.13 |
|
| 1370 | + * |
|
| 1371 | + * @param string|array $statuses One or more post statuses. |
|
| 1372 | + * @param WP_REST_Request $request Full details about the request. |
|
| 1373 | + * @param string $parameter Additional parameter to pass to validation. |
|
| 1374 | + * @return array|WP_Error A list of valid statuses, otherwise WP_Error object. |
|
| 1375 | + */ |
|
| 1376 | + public function sanitize_post_statuses( $statuses, $request, $parameter ) { |
|
| 1377 | + |
|
| 1378 | + $statuses = wp_parse_slug_list( $statuses ); |
|
| 1379 | + $valid_statuses = array_keys( wpinv_get_invoice_statuses( true, true ) ); |
|
| 1380 | + return array_intersect( $statuses, $valid_statuses ); |
|
| 1381 | 1381 | |
| 1382 | - } |
|
| 1382 | + } |
|
| 1383 | 1383 | |
| 1384 | 1384 | } |
| 1385 | 1385 | \ No newline at end of file |
@@ -8,7 +8,7 @@ discard block |
||
| 8 | 8 | * @since 1.0.13 |
| 9 | 9 | */ |
| 10 | 10 | |
| 11 | -if ( !defined( 'WPINC' ) ) { |
|
| 11 | +if (!defined('WPINC')) { |
|
| 12 | 12 | exit; |
| 13 | 13 | } |
| 14 | 14 | |
@@ -41,7 +41,7 @@ discard block |
||
| 41 | 41 | * |
| 42 | 42 | * @param string $namespace Api Namespace |
| 43 | 43 | */ |
| 44 | - public function __construct( $namespace ) { |
|
| 44 | + public function __construct($namespace) { |
|
| 45 | 45 | |
| 46 | 46 | // Set api namespace... |
| 47 | 47 | $this->namespace = $namespace; |
@@ -60,12 +60,12 @@ discard block |
||
| 60 | 60 | * @param WP_REST_Request $request Full details about the request. |
| 61 | 61 | * @return true|WP_Error True if the request has read access, WP_Error object otherwise. |
| 62 | 62 | */ |
| 63 | - public function get_items_permissions_check( $request ) { |
|
| 63 | + public function get_items_permissions_check($request) { |
|
| 64 | 64 | |
| 65 | - $post_type = get_post_type_object( $this->post_type ); |
|
| 65 | + $post_type = get_post_type_object($this->post_type); |
|
| 66 | 66 | |
| 67 | - if ( 'edit' === $request['context'] && ! current_user_can( $post_type->cap->edit_posts ) ) { |
|
| 68 | - return new WP_Error( 'rest_forbidden_context', __( 'Sorry, you are not allowed to edit invoices.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) ); |
|
| 67 | + if ('edit' === $request['context'] && !current_user_can($post_type->cap->edit_posts)) { |
|
| 68 | + return new WP_Error('rest_forbidden_context', __('Sorry, you are not allowed to edit invoices.', 'invoicing'), array('status' => rest_authorization_required_code())); |
|
| 69 | 69 | } |
| 70 | 70 | |
| 71 | 71 | // Read checks will be evaluated on a per invoice basis |
@@ -82,17 +82,17 @@ discard block |
||
| 82 | 82 | * @param WP_REST_Request $request Full details about the request. |
| 83 | 83 | * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. |
| 84 | 84 | */ |
| 85 | - public function get_items( $request ) { |
|
| 85 | + public function get_items($request) { |
|
| 86 | 86 | |
| 87 | 87 | // Retrieve the list of registered invoice query parameters. |
| 88 | 88 | $registered = $this->get_collection_params(); |
| 89 | 89 | |
| 90 | 90 | $args = array(); |
| 91 | 91 | |
| 92 | - foreach( array_keys( $registered ) as $key ) { |
|
| 92 | + foreach (array_keys($registered) as $key) { |
|
| 93 | 93 | |
| 94 | - if( isset( $request[ $key] ) ) { |
|
| 95 | - $args[ $key ] = $request[ $key]; |
|
| 94 | + if (isset($request[$key])) { |
|
| 95 | + $args[$key] = $request[$key]; |
|
| 96 | 96 | } |
| 97 | 97 | |
| 98 | 98 | } |
@@ -107,32 +107,32 @@ discard block |
||
| 107 | 107 | * @param array $args Key value array of query var to query value. |
| 108 | 108 | * @param WP_REST_Request $request The request used. |
| 109 | 109 | */ |
| 110 | - $args = apply_filters( "wpinv_rest_get_invoices_arguments", $args, $request, $this ); |
|
| 110 | + $args = apply_filters("wpinv_rest_get_invoices_arguments", $args, $request, $this); |
|
| 111 | 111 | |
| 112 | 112 | // Special args |
| 113 | - $args[ 'return' ] = 'objects'; |
|
| 114 | - $args[ 'paginate' ] = true; |
|
| 113 | + $args['return'] = 'objects'; |
|
| 114 | + $args['paginate'] = true; |
|
| 115 | 115 | |
| 116 | 116 | // Run the query. |
| 117 | - $query = wpinv_get_invoices( $args ); |
|
| 117 | + $query = wpinv_get_invoices($args); |
|
| 118 | 118 | |
| 119 | 119 | // Prepare the retrieved invoices |
| 120 | 120 | $invoices = array(); |
| 121 | - foreach( $query->invoices as $invoice ) { |
|
| 121 | + foreach ($query->invoices as $invoice) { |
|
| 122 | 122 | |
| 123 | - if ( ! $this->check_read_permission( $invoice ) ) { |
|
| 123 | + if (!$this->check_read_permission($invoice)) { |
|
| 124 | 124 | continue; |
| 125 | 125 | } |
| 126 | 126 | |
| 127 | - $data = $this->prepare_item_for_response( $invoice, $request ); |
|
| 128 | - $invoices[] = $this->prepare_response_for_collection( $data ); |
|
| 127 | + $data = $this->prepare_item_for_response($invoice, $request); |
|
| 128 | + $invoices[] = $this->prepare_response_for_collection($data); |
|
| 129 | 129 | |
| 130 | 130 | } |
| 131 | 131 | |
| 132 | 132 | // Prepare the response. |
| 133 | - $response = rest_ensure_response( $invoices ); |
|
| 134 | - $response->header( 'X-WP-Total', (int) $query->total ); |
|
| 135 | - $response->header( 'X-WP-TotalPages', (int) $query->max_num_pages ); |
|
| 133 | + $response = rest_ensure_response($invoices); |
|
| 134 | + $response->header('X-WP-Total', (int)$query->total); |
|
| 135 | + $response->header('X-WP-TotalPages', (int)$query->max_num_pages); |
|
| 136 | 136 | |
| 137 | 137 | /** |
| 138 | 138 | * Filters the responses for invoices requests. |
@@ -145,9 +145,9 @@ discard block |
||
| 145 | 145 | * @param WP_REST_Request $request The request used. |
| 146 | 146 | * @param array $args Array of args used to retrieve the invoices |
| 147 | 147 | */ |
| 148 | - $response = apply_filters( "rest_wpinv_invoices_response", $response, $request, $args ); |
|
| 148 | + $response = apply_filters("rest_wpinv_invoices_response", $response, $request, $args); |
|
| 149 | 149 | |
| 150 | - return rest_ensure_response( $response ); |
|
| 150 | + return rest_ensure_response($response); |
|
| 151 | 151 | |
| 152 | 152 | } |
| 153 | 153 | |
@@ -159,17 +159,17 @@ discard block |
||
| 159 | 159 | * @param int $invoice_id Supplied ID. |
| 160 | 160 | * @return WPInv_Invoice|WP_Error Invoice object if ID is valid, WP_Error otherwise. |
| 161 | 161 | */ |
| 162 | - protected function get_post( $invoice_id ) { |
|
| 162 | + protected function get_post($invoice_id) { |
|
| 163 | 163 | |
| 164 | - $error = new WP_Error( 'rest_invoice_invalid_id', __( 'Invalid invoice ID.', 'invoicing' ), array( 'status' => 404 ) ); |
|
| 164 | + $error = new WP_Error('rest_invoice_invalid_id', __('Invalid invoice ID.', 'invoicing'), array('status' => 404)); |
|
| 165 | 165 | |
| 166 | 166 | // Ids start from 1 |
| 167 | - if ( (int) $invoice_id <= 0 ) { |
|
| 167 | + if ((int)$invoice_id <= 0) { |
|
| 168 | 168 | return $error; |
| 169 | 169 | } |
| 170 | 170 | |
| 171 | - $invoice = wpinv_get_invoice( (int) $invoice_id ); |
|
| 172 | - if ( empty( $invoice ) ) { |
|
| 171 | + $invoice = wpinv_get_invoice((int)$invoice_id); |
|
| 172 | + if (empty($invoice)) { |
|
| 173 | 173 | return $error; |
| 174 | 174 | } |
| 175 | 175 | |
@@ -185,18 +185,18 @@ discard block |
||
| 185 | 185 | * @param WP_REST_Request $request Full details about the request. |
| 186 | 186 | * @return bool|WP_Error True if the request has read access for the invoice, WP_Error object otherwise. |
| 187 | 187 | */ |
| 188 | - public function get_item_permissions_check( $request ) { |
|
| 188 | + public function get_item_permissions_check($request) { |
|
| 189 | 189 | |
| 190 | 190 | // Retrieve the invoice object. |
| 191 | - $invoice = $this->get_post( $request['id'] ); |
|
| 191 | + $invoice = $this->get_post($request['id']); |
|
| 192 | 192 | |
| 193 | 193 | // Ensure it is valid. |
| 194 | - if ( is_wp_error( $invoice ) ) { |
|
| 194 | + if (is_wp_error($invoice)) { |
|
| 195 | 195 | return $invoice; |
| 196 | 196 | } |
| 197 | 197 | |
| 198 | - if ( $invoice ) { |
|
| 199 | - return $this->check_read_permission( $invoice ); |
|
| 198 | + if ($invoice) { |
|
| 199 | + return $this->check_read_permission($invoice); |
|
| 200 | 200 | } |
| 201 | 201 | |
| 202 | 202 | return true; |
@@ -213,8 +213,8 @@ discard block |
||
| 213 | 213 | * @param WPInv_Invoice $invoice WPInv_Invoice object. |
| 214 | 214 | * @return bool Whether the post can be read. |
| 215 | 215 | */ |
| 216 | - public function check_read_permission( $invoice ) { |
|
| 217 | - return wpinv_user_can_view_invoice( $invoice->ID ); |
|
| 216 | + public function check_read_permission($invoice) { |
|
| 217 | + return wpinv_user_can_view_invoice($invoice->ID); |
|
| 218 | 218 | } |
| 219 | 219 | |
| 220 | 220 | /** |
@@ -225,19 +225,19 @@ discard block |
||
| 225 | 225 | * @param WP_REST_Request $request Full details about the request. |
| 226 | 226 | * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. |
| 227 | 227 | */ |
| 228 | - public function get_item( $request ) { |
|
| 228 | + public function get_item($request) { |
|
| 229 | 229 | |
| 230 | 230 | // Fetch the invoice. |
| 231 | - $invoice = $this->get_post( $request['id'] ); |
|
| 231 | + $invoice = $this->get_post($request['id']); |
|
| 232 | 232 | |
| 233 | 233 | // Abort early if it does not exist |
| 234 | - if ( is_wp_error( $invoice ) ) { |
|
| 234 | + if (is_wp_error($invoice)) { |
|
| 235 | 235 | return $invoice; |
| 236 | 236 | } |
| 237 | 237 | |
| 238 | 238 | // Prepare the response |
| 239 | - $response = $this->prepare_item_for_response( $invoice, $request ); |
|
| 240 | - $response->link_header( 'alternate', esc_url( $invoice->get_view_url() ), array( 'type' => 'text/html' ) ); |
|
| 239 | + $response = $this->prepare_item_for_response($invoice, $request); |
|
| 240 | + $response->link_header('alternate', esc_url($invoice->get_view_url()), array('type' => 'text/html')); |
|
| 241 | 241 | |
| 242 | 242 | /** |
| 243 | 243 | * Filters the responses for single invoice requests. |
@@ -249,9 +249,9 @@ discard block |
||
| 249 | 249 | * @param WP_HTTP_Response $response Response. |
| 250 | 250 | * @param WP_REST_Request $request The request used. |
| 251 | 251 | */ |
| 252 | - $response = apply_filters( "rest_wpinv_get_invoice_response", $response, $request ); |
|
| 252 | + $response = apply_filters("rest_wpinv_get_invoice_response", $response, $request); |
|
| 253 | 253 | |
| 254 | - return rest_ensure_response( $response ); |
|
| 254 | + return rest_ensure_response($response); |
|
| 255 | 255 | |
| 256 | 256 | } |
| 257 | 257 | |
@@ -263,18 +263,18 @@ discard block |
||
| 263 | 263 | * @param WP_REST_Request $request Full details about the request. |
| 264 | 264 | * @return true|WP_Error True if the request has access to create items, WP_Error object otherwise. |
| 265 | 265 | */ |
| 266 | - public function create_item_permissions_check( $request ) { |
|
| 266 | + public function create_item_permissions_check($request) { |
|
| 267 | 267 | |
| 268 | - if ( ! empty( $request['id'] ) ) { |
|
| 269 | - return new WP_Error( 'rest_invoice_exists', __( 'Cannot create existing invoice.', 'invoicing' ), array( 'status' => 400 ) ); |
|
| 268 | + if (!empty($request['id'])) { |
|
| 269 | + return new WP_Error('rest_invoice_exists', __('Cannot create existing invoice.', 'invoicing'), array('status' => 400)); |
|
| 270 | 270 | } |
| 271 | 271 | |
| 272 | - $post_type = get_post_type_object( $this->post_type ); |
|
| 272 | + $post_type = get_post_type_object($this->post_type); |
|
| 273 | 273 | |
| 274 | - if ( ! current_user_can( $post_type->cap->create_posts ) ) { |
|
| 274 | + if (!current_user_can($post_type->cap->create_posts)) { |
|
| 275 | 275 | return new WP_Error( |
| 276 | 276 | 'rest_cannot_create', |
| 277 | - __( 'Sorry, you are not allowed to create invoices as this user.', 'invoicing' ), |
|
| 277 | + __('Sorry, you are not allowed to create invoices as this user.', 'invoicing'), |
|
| 278 | 278 | array( |
| 279 | 279 | 'status' => rest_authorization_required_code(), |
| 280 | 280 | ) |
@@ -292,30 +292,30 @@ discard block |
||
| 292 | 292 | * @param WP_REST_Request $request Full details about the request. |
| 293 | 293 | * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. |
| 294 | 294 | */ |
| 295 | - public function create_item( $request ) { |
|
| 295 | + public function create_item($request) { |
|
| 296 | 296 | |
| 297 | - if ( ! empty( $request['id'] ) ) { |
|
| 298 | - return new WP_Error( 'rest_invoice_exists', __( 'Cannot create existing invoice.', 'invoicing' ), array( 'status' => 400 ) ); |
|
| 297 | + if (!empty($request['id'])) { |
|
| 298 | + return new WP_Error('rest_invoice_exists', __('Cannot create existing invoice.', 'invoicing'), array('status' => 400)); |
|
| 299 | 299 | } |
| 300 | 300 | |
| 301 | - $request->set_param( 'context', 'edit' ); |
|
| 301 | + $request->set_param('context', 'edit'); |
|
| 302 | 302 | |
| 303 | 303 | // Prepare the updated data. |
| 304 | - $invoice_data = wp_unslash( $this->prepare_item_for_database( $request ) ); |
|
| 304 | + $invoice_data = wp_unslash($this->prepare_item_for_database($request)); |
|
| 305 | 305 | |
| 306 | - if ( is_wp_error( $invoice_data ) ) { |
|
| 306 | + if (is_wp_error($invoice_data)) { |
|
| 307 | 307 | return $invoice_data; |
| 308 | 308 | } |
| 309 | 309 | |
| 310 | 310 | // Try creating the invoice |
| 311 | - $invoice = wpinv_insert_invoice( $invoice_data, true ); |
|
| 311 | + $invoice = wpinv_insert_invoice($invoice_data, true); |
|
| 312 | 312 | |
| 313 | - if ( is_wp_error( $invoice ) ) { |
|
| 313 | + if (is_wp_error($invoice)) { |
|
| 314 | 314 | return $invoice; |
| 315 | 315 | } |
| 316 | 316 | |
| 317 | 317 | // Prepare the response |
| 318 | - $response = $this->prepare_item_for_response( $invoice, $request ); |
|
| 318 | + $response = $this->prepare_item_for_response($invoice, $request); |
|
| 319 | 319 | |
| 320 | 320 | /** |
| 321 | 321 | * Fires after a single invoice is created or updated via the REST API. |
@@ -326,7 +326,7 @@ discard block |
||
| 326 | 326 | * @param WP_REST_Request $request Request object. |
| 327 | 327 | * @param bool $creating True when creating a post, false when updating. |
| 328 | 328 | */ |
| 329 | - do_action( "wpinv_rest_insert_invoice", $invoice, $request, true ); |
|
| 329 | + do_action("wpinv_rest_insert_invoice", $invoice, $request, true); |
|
| 330 | 330 | |
| 331 | 331 | /** |
| 332 | 332 | * Filters the responses for creating single invoice requests. |
@@ -338,9 +338,9 @@ discard block |
||
| 338 | 338 | * @param array $invoice_data Invoice properties. |
| 339 | 339 | * @param WP_REST_Request $request The request used. |
| 340 | 340 | */ |
| 341 | - $response = apply_filters( "rest_wpinv_create_invoice_response", $response, $request ); |
|
| 341 | + $response = apply_filters("rest_wpinv_create_invoice_response", $response, $request); |
|
| 342 | 342 | |
| 343 | - return rest_ensure_response( $response ); |
|
| 343 | + return rest_ensure_response($response); |
|
| 344 | 344 | } |
| 345 | 345 | |
| 346 | 346 | /** |
@@ -351,20 +351,20 @@ discard block |
||
| 351 | 351 | * @param WP_REST_Request $request Full details about the request. |
| 352 | 352 | * @return true|WP_Error True if the request has access to update the item, WP_Error object otherwise. |
| 353 | 353 | */ |
| 354 | - public function update_item_permissions_check( $request ) { |
|
| 354 | + public function update_item_permissions_check($request) { |
|
| 355 | 355 | |
| 356 | 356 | // Retrieve the invoice. |
| 357 | - $invoice = $this->get_post( $request['id'] ); |
|
| 358 | - if ( is_wp_error( $invoice ) ) { |
|
| 357 | + $invoice = $this->get_post($request['id']); |
|
| 358 | + if (is_wp_error($invoice)) { |
|
| 359 | 359 | return $invoice; |
| 360 | 360 | } |
| 361 | 361 | |
| 362 | - $post_type = get_post_type_object( $this->post_type ); |
|
| 362 | + $post_type = get_post_type_object($this->post_type); |
|
| 363 | 363 | |
| 364 | - if ( ! current_user_can( $post_type->cap->edit_post, $invoice->ID ) ) { |
|
| 364 | + if (!current_user_can($post_type->cap->edit_post, $invoice->ID)) { |
|
| 365 | 365 | return new WP_Error( |
| 366 | 366 | 'rest_cannot_edit', |
| 367 | - __( 'Sorry, you are not allowed to update this invoice.', 'invoicing' ), |
|
| 367 | + __('Sorry, you are not allowed to update this invoice.', 'invoicing'), |
|
| 368 | 368 | array( |
| 369 | 369 | 'status' => rest_authorization_required_code(), |
| 370 | 370 | ) |
@@ -382,46 +382,46 @@ discard block |
||
| 382 | 382 | * @param WP_REST_Request $request Full details about the request. |
| 383 | 383 | * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. |
| 384 | 384 | */ |
| 385 | - public function update_item( $request ) { |
|
| 385 | + public function update_item($request) { |
|
| 386 | 386 | |
| 387 | 387 | // Ensure the invoice exists. |
| 388 | - $valid_check = $this->get_post( $request['id'] ); |
|
| 388 | + $valid_check = $this->get_post($request['id']); |
|
| 389 | 389 | |
| 390 | 390 | // Abort early if it does not exist |
| 391 | - if ( is_wp_error( $valid_check ) ) { |
|
| 391 | + if (is_wp_error($valid_check)) { |
|
| 392 | 392 | return $valid_check; |
| 393 | 393 | } |
| 394 | 394 | |
| 395 | - $request->set_param( 'context', 'edit' ); |
|
| 395 | + $request->set_param('context', 'edit'); |
|
| 396 | 396 | |
| 397 | 397 | // Prepare the updated data. |
| 398 | - $data_to_update = wp_unslash( $this->prepare_item_for_database( $request ) ); |
|
| 398 | + $data_to_update = wp_unslash($this->prepare_item_for_database($request)); |
|
| 399 | 399 | |
| 400 | - if ( is_wp_error( $data_to_update ) ) { |
|
| 400 | + if (is_wp_error($data_to_update)) { |
|
| 401 | 401 | return $data_to_update; |
| 402 | 402 | } |
| 403 | 403 | |
| 404 | 404 | // Abort if no invoice data is provided |
| 405 | - if( empty( $data_to_update ) ) { |
|
| 406 | - return new WP_Error( 'missing_data', __( 'An update request cannot be empty.', 'invoicing' ) ); |
|
| 405 | + if (empty($data_to_update)) { |
|
| 406 | + return new WP_Error('missing_data', __('An update request cannot be empty.', 'invoicing')); |
|
| 407 | 407 | } |
| 408 | 408 | |
| 409 | 409 | // Include the invoice ID |
| 410 | 410 | $data_to_update['ID'] = $request['id']; |
| 411 | 411 | |
| 412 | 412 | // Update the invoice |
| 413 | - $updated_invoice = wpinv_update_invoice( $data_to_update, true ); |
|
| 413 | + $updated_invoice = wpinv_update_invoice($data_to_update, true); |
|
| 414 | 414 | |
| 415 | 415 | // Incase the update operation failed... |
| 416 | - if ( is_wp_error( $updated_invoice ) ) { |
|
| 416 | + if (is_wp_error($updated_invoice)) { |
|
| 417 | 417 | return $updated_invoice; |
| 418 | 418 | } |
| 419 | 419 | |
| 420 | 420 | // Prepare the response |
| 421 | - $response = $this->prepare_item_for_response( $updated_invoice, $request ); |
|
| 421 | + $response = $this->prepare_item_for_response($updated_invoice, $request); |
|
| 422 | 422 | |
| 423 | 423 | /** This action is documented in includes/class-wpinv-rest-invoice-controller.php */ |
| 424 | - do_action( "wpinv_rest_insert_invoice", $updated_invoice, $request, false ); |
|
| 424 | + do_action("wpinv_rest_insert_invoice", $updated_invoice, $request, false); |
|
| 425 | 425 | |
| 426 | 426 | /** |
| 427 | 427 | * Filters the responses for updating single invoice requests. |
@@ -433,9 +433,9 @@ discard block |
||
| 433 | 433 | * @param array $invoice_data Invoice properties. |
| 434 | 434 | * @param WP_REST_Request $request The request used. |
| 435 | 435 | */ |
| 436 | - $response = apply_filters( "wpinv_rest_update_invoice_response", $response, $request ); |
|
| 436 | + $response = apply_filters("wpinv_rest_update_invoice_response", $response, $request); |
|
| 437 | 437 | |
| 438 | - return rest_ensure_response( $response ); |
|
| 438 | + return rest_ensure_response($response); |
|
| 439 | 439 | } |
| 440 | 440 | |
| 441 | 441 | /** |
@@ -446,19 +446,19 @@ discard block |
||
| 446 | 446 | * @param WP_REST_Request $request Full details about the request. |
| 447 | 447 | * @return true|WP_Error True if the request has access to delete the invoice, WP_Error object otherwise. |
| 448 | 448 | */ |
| 449 | - public function delete_item_permissions_check( $request ) { |
|
| 449 | + public function delete_item_permissions_check($request) { |
|
| 450 | 450 | |
| 451 | 451 | // Retrieve the invoice. |
| 452 | - $invoice = $this->get_post( $request['id'] ); |
|
| 453 | - if ( is_wp_error( $invoice ) ) { |
|
| 452 | + $invoice = $this->get_post($request['id']); |
|
| 453 | + if (is_wp_error($invoice)) { |
|
| 454 | 454 | return $invoice; |
| 455 | 455 | } |
| 456 | 456 | |
| 457 | 457 | // Ensure the current user can delete invoices |
| 458 | - if ( wpinv_current_user_can_manage_invoicing() || current_user_can( 'delete_invoices', $request['id'] ) ) { |
|
| 458 | + if (wpinv_current_user_can_manage_invoicing() || current_user_can('delete_invoices', $request['id'])) { |
|
| 459 | 459 | return new WP_Error( |
| 460 | 460 | 'rest_cannot_delete', |
| 461 | - __( 'Sorry, you are not allowed to delete this invoice.', 'invoicing' ), |
|
| 461 | + __('Sorry, you are not allowed to delete this invoice.', 'invoicing'), |
|
| 462 | 462 | array( |
| 463 | 463 | 'status' => rest_authorization_required_code(), |
| 464 | 464 | ) |
@@ -476,31 +476,31 @@ discard block |
||
| 476 | 476 | * @param WP_REST_Request $request Full details about the request. |
| 477 | 477 | * @return WP_REST_Response|WP_Error Response object on success, or WP_Error object on failure. |
| 478 | 478 | */ |
| 479 | - public function delete_item( $request ) { |
|
| 479 | + public function delete_item($request) { |
|
| 480 | 480 | |
| 481 | 481 | // Retrieve the invoice. |
| 482 | - $invoice = $this->get_post( $request['id'] ); |
|
| 483 | - if ( is_wp_error( $invoice ) ) { |
|
| 482 | + $invoice = $this->get_post($request['id']); |
|
| 483 | + if (is_wp_error($invoice)) { |
|
| 484 | 484 | return $invoice; |
| 485 | 485 | } |
| 486 | 486 | |
| 487 | - $request->set_param( 'context', 'edit' ); |
|
| 487 | + $request->set_param('context', 'edit'); |
|
| 488 | 488 | |
| 489 | 489 | // Prepare the invoice id |
| 490 | - $id = $invoice->ID; |
|
| 490 | + $id = $invoice->ID; |
|
| 491 | 491 | |
| 492 | 492 | // Prepare the response |
| 493 | - $response = $this->prepare_item_for_response( $invoice, $request ); |
|
| 493 | + $response = $this->prepare_item_for_response($invoice, $request); |
|
| 494 | 494 | |
| 495 | 495 | // Check if the user wants to bypass the trash... |
| 496 | - $force_delete = (bool) $request['force']; |
|
| 496 | + $force_delete = (bool)$request['force']; |
|
| 497 | 497 | |
| 498 | 498 | // Try deleting the invoice. |
| 499 | - $deleted = wp_delete_post( $id, $force_delete ); |
|
| 499 | + $deleted = wp_delete_post($id, $force_delete); |
|
| 500 | 500 | |
| 501 | 501 | // Abort early if we can't delete the invoice. |
| 502 | - if ( ! $deleted ) { |
|
| 503 | - return new WP_Error( 'rest_cannot_delete', __( 'The invoice cannot be deleted.', 'invoicing' ), array( 'status' => 500 ) ); |
|
| 502 | + if (!$deleted) { |
|
| 503 | + return new WP_Error('rest_cannot_delete', __('The invoice cannot be deleted.', 'invoicing'), array('status' => 500)); |
|
| 504 | 504 | } |
| 505 | 505 | |
| 506 | 506 | /** |
@@ -512,7 +512,7 @@ discard block |
||
| 512 | 512 | * @param WPInv_Invoice $invoice The deleted or trashed invoice. |
| 513 | 513 | * @param WP_REST_Request $request The request sent to the API. |
| 514 | 514 | */ |
| 515 | - do_action( "wpinv_rest_delete_invoice", $invoice, $request ); |
|
| 515 | + do_action("wpinv_rest_delete_invoice", $invoice, $request); |
|
| 516 | 516 | |
| 517 | 517 | return $response; |
| 518 | 518 | |
@@ -528,43 +528,43 @@ discard block |
||
| 528 | 528 | */ |
| 529 | 529 | public function get_collection_params() { |
| 530 | 530 | |
| 531 | - $query_params = array( |
|
| 531 | + $query_params = array( |
|
| 532 | 532 | |
| 533 | 533 | // Invoice status. |
| 534 | 534 | 'status' => array( |
| 535 | 535 | 'default' => 'publish', |
| 536 | - 'description' => __( 'Limit result set to invoices assigned one or more statuses.', 'invoicing' ), |
|
| 536 | + 'description' => __('Limit result set to invoices assigned one or more statuses.', 'invoicing'), |
|
| 537 | 537 | 'type' => 'array', |
| 538 | 538 | 'items' => array( |
| 539 | - 'enum' => array_keys( wpinv_get_invoice_statuses( true, true ) ), |
|
| 539 | + 'enum' => array_keys(wpinv_get_invoice_statuses(true, true)), |
|
| 540 | 540 | 'type' => 'string', |
| 541 | 541 | ), |
| 542 | - 'sanitize_callback' => array( $this, 'sanitize_post_statuses' ), |
|
| 542 | + 'sanitize_callback' => array($this, 'sanitize_post_statuses'), |
|
| 543 | 543 | ), |
| 544 | 544 | |
| 545 | 545 | // User. |
| 546 | 546 | 'user' => array( |
| 547 | - 'description' => __( 'Limit result set to invoices for a specif user.', 'invoicing' ), |
|
| 547 | + 'description' => __('Limit result set to invoices for a specif user.', 'invoicing'), |
|
| 548 | 548 | 'type' => 'integer', |
| 549 | 549 | ), |
| 550 | 550 | |
| 551 | 551 | // Number of results per page |
| 552 | 552 | 'limit' => array( |
| 553 | - 'description' => __( 'Number of invoices to fetch.', 'invoicing' ), |
|
| 553 | + 'description' => __('Number of invoices to fetch.', 'invoicing'), |
|
| 554 | 554 | 'type' => 'integer', |
| 555 | - 'default' => (int) get_option( 'posts_per_page' ), |
|
| 555 | + 'default' => (int)get_option('posts_per_page'), |
|
| 556 | 556 | ), |
| 557 | 557 | |
| 558 | 558 | // Pagination |
| 559 | 559 | 'page' => array( |
| 560 | - 'description' => __( 'Current page to fetch.', 'invoicing' ), |
|
| 560 | + 'description' => __('Current page to fetch.', 'invoicing'), |
|
| 561 | 561 | 'type' => 'integer', |
| 562 | 562 | 'default' => 1, |
| 563 | 563 | ), |
| 564 | 564 | |
| 565 | 565 | // Exclude certain invoices |
| 566 | 566 | 'exclude' => array( |
| 567 | - 'description' => __( 'Ensure result set excludes specific IDs.', 'invoicing' ), |
|
| 567 | + 'description' => __('Ensure result set excludes specific IDs.', 'invoicing'), |
|
| 568 | 568 | 'type' => 'array', |
| 569 | 569 | 'items' => array( |
| 570 | 570 | 'type' => 'integer', |
@@ -574,7 +574,7 @@ discard block |
||
| 574 | 574 | |
| 575 | 575 | // Order invoices by |
| 576 | 576 | 'orderby' => array( |
| 577 | - 'description' => __( 'Sort invoices by object attribute.', 'invoicing' ), |
|
| 577 | + 'description' => __('Sort invoices by object attribute.', 'invoicing'), |
|
| 578 | 578 | 'type' => 'string', |
| 579 | 579 | 'default' => 'date', |
| 580 | 580 | 'enum' => array( |
@@ -588,10 +588,10 @@ discard block |
||
| 588 | 588 | |
| 589 | 589 | // How to order |
| 590 | 590 | 'order' => array( |
| 591 | - 'description' => __( 'Order sort attribute ascending or descending.', 'invoicing' ), |
|
| 591 | + 'description' => __('Order sort attribute ascending or descending.', 'invoicing'), |
|
| 592 | 592 | 'type' => 'string', |
| 593 | 593 | 'default' => 'DESC', |
| 594 | - 'enum' => array( 'ASC', 'DESC' ), |
|
| 594 | + 'enum' => array('ASC', 'DESC'), |
|
| 595 | 595 | ), |
| 596 | 596 | ); |
| 597 | 597 | |
@@ -604,7 +604,7 @@ discard block |
||
| 604 | 604 | * @param array $query_params JSON Schema-formatted collection parameters. |
| 605 | 605 | * @param WP_Post_Type $post_type Post type object. |
| 606 | 606 | */ |
| 607 | - return apply_filters( "rest_invoices_collection_params", $query_params, 'wpi-invoice' ); |
|
| 607 | + return apply_filters("rest_invoices_collection_params", $query_params, 'wpi-invoice'); |
|
| 608 | 608 | } |
| 609 | 609 | |
| 610 | 610 | /** |
@@ -615,7 +615,7 @@ discard block |
||
| 615 | 615 | * @param object|string $post_type Post type name or object. |
| 616 | 616 | * @return bool Whether the post type is allowed in REST. |
| 617 | 617 | */ |
| 618 | - protected function check_is_post_type_allowed( $post_type ) { |
|
| 618 | + protected function check_is_post_type_allowed($post_type) { |
|
| 619 | 619 | return true; |
| 620 | 620 | } |
| 621 | 621 | |
@@ -627,49 +627,49 @@ discard block |
||
| 627 | 627 | * @param WP_REST_Request $request Request object. |
| 628 | 628 | * @return array|WP_Error Invoice Properties or WP_Error. |
| 629 | 629 | */ |
| 630 | - protected function prepare_item_for_database( $request ) { |
|
| 630 | + protected function prepare_item_for_database($request) { |
|
| 631 | 631 | $prepared_invoice = new stdClass(); |
| 632 | 632 | |
| 633 | 633 | // Post ID. |
| 634 | - if ( isset( $request['id'] ) ) { |
|
| 635 | - $existing_invoice = $this->get_post( $request['id'] ); |
|
| 636 | - if ( is_wp_error( $existing_invoice ) ) { |
|
| 634 | + if (isset($request['id'])) { |
|
| 635 | + $existing_invoice = $this->get_post($request['id']); |
|
| 636 | + if (is_wp_error($existing_invoice)) { |
|
| 637 | 637 | return $existing_invoice; |
| 638 | 638 | } |
| 639 | 639 | |
| 640 | - $prepared_invoice->ID = $existing_invoice->ID; |
|
| 640 | + $prepared_invoice->ID = $existing_invoice->ID; |
|
| 641 | 641 | $prepared_invoice->invoice_id = $existing_invoice->ID; |
| 642 | 642 | } |
| 643 | 643 | |
| 644 | 644 | $schema = $this->get_item_schema(); |
| 645 | 645 | |
| 646 | 646 | // Invoice owner. |
| 647 | - if ( ! empty( $schema['properties']['user_id'] ) && isset( $request['user_id'] ) ) { |
|
| 648 | - $prepared_invoice->user_id = (int) $request['user_id']; |
|
| 647 | + if (!empty($schema['properties']['user_id']) && isset($request['user_id'])) { |
|
| 648 | + $prepared_invoice->user_id = (int)$request['user_id']; |
|
| 649 | 649 | } |
| 650 | 650 | |
| 651 | 651 | // Cart details. |
| 652 | - if ( ! empty( $schema['properties']['cart_details'] ) && isset( $request['cart_details'] ) ) { |
|
| 653 | - $prepared_invoice->cart_details = (array) $request['cart_details']; |
|
| 652 | + if (!empty($schema['properties']['cart_details']) && isset($request['cart_details'])) { |
|
| 653 | + $prepared_invoice->cart_details = (array)$request['cart_details']; |
|
| 654 | 654 | } |
| 655 | 655 | |
| 656 | 656 | // Invoice status. |
| 657 | - if ( ! empty( $schema['properties']['status'] ) && isset( $request['status'] ) ) { |
|
| 657 | + if (!empty($schema['properties']['status']) && isset($request['status'])) { |
|
| 658 | 658 | |
| 659 | - if ( in_array( $request['status'], array_keys( wpinv_get_invoice_statuses( true, true ) ), true ) ) { |
|
| 659 | + if (in_array($request['status'], array_keys(wpinv_get_invoice_statuses(true, true)), true)) { |
|
| 660 | 660 | $prepared_invoice->status = $request['status']; |
| 661 | 661 | } |
| 662 | 662 | |
| 663 | 663 | } |
| 664 | 664 | |
| 665 | 665 | // User info |
| 666 | - if ( ! empty( $schema['properties']['user_info'] ) && isset( $request['user_info'] ) ) { |
|
| 666 | + if (!empty($schema['properties']['user_info']) && isset($request['user_info'])) { |
|
| 667 | 667 | $prepared_invoice->user_info = array(); |
| 668 | - $user_info = (array) $request['user_info']; |
|
| 668 | + $user_info = (array)$request['user_info']; |
|
| 669 | 669 | |
| 670 | - foreach( $user_info as $prop => $value ) { |
|
| 670 | + foreach ($user_info as $prop => $value) { |
|
| 671 | 671 | |
| 672 | - if ( ! empty( $schema['properties']['user_info']['properties'][$prop] ) ) { |
|
| 672 | + if (!empty($schema['properties']['user_info']['properties'][$prop])) { |
|
| 673 | 673 | |
| 674 | 674 | $prepared_invoice->user_info[$prop] = $value; |
| 675 | 675 | |
@@ -680,49 +680,49 @@ discard block |
||
| 680 | 680 | } |
| 681 | 681 | |
| 682 | 682 | // IP |
| 683 | - if ( ! empty( $schema['properties']['ip'] ) && isset( $request['ip'] ) ) { |
|
| 683 | + if (!empty($schema['properties']['ip']) && isset($request['ip'])) { |
|
| 684 | 684 | $prepared_invoice->ip = $request['ip']; |
| 685 | 685 | } |
| 686 | 686 | |
| 687 | 687 | // Payment details |
| 688 | 688 | $prepared_invoice->payment_details = array(); |
| 689 | 689 | |
| 690 | - if ( ! empty( $schema['properties']['gateway'] ) && isset( $request['gateway'] ) ) { |
|
| 690 | + if (!empty($schema['properties']['gateway']) && isset($request['gateway'])) { |
|
| 691 | 691 | $prepared_invoice->payment_details['gateway'] = $request['gateway']; |
| 692 | 692 | } |
| 693 | 693 | |
| 694 | - if ( ! empty( $schema['properties']['gateway_title'] ) && isset( $request['gateway_title'] ) ) { |
|
| 694 | + if (!empty($schema['properties']['gateway_title']) && isset($request['gateway_title'])) { |
|
| 695 | 695 | $prepared_invoice->payment_details['gateway_title'] = $request['gateway_title']; |
| 696 | 696 | } |
| 697 | 697 | |
| 698 | - if ( ! empty( $schema['properties']['currency'] ) && isset( $request['currency'] ) ) { |
|
| 698 | + if (!empty($schema['properties']['currency']) && isset($request['currency'])) { |
|
| 699 | 699 | $prepared_invoice->payment_details['currency'] = $request['currency']; |
| 700 | 700 | } |
| 701 | 701 | |
| 702 | - if ( ! empty( $schema['properties']['transaction_id'] ) && isset( $request['transaction_id'] ) ) { |
|
| 702 | + if (!empty($schema['properties']['transaction_id']) && isset($request['transaction_id'])) { |
|
| 703 | 703 | $prepared_invoice->payment_details['transaction_id'] = $request['transaction_id']; |
| 704 | 704 | } |
| 705 | 705 | |
| 706 | 706 | // Dates |
| 707 | - if ( ! empty( $schema['properties']['date'] ) && isset( $request['date'] ) ) { |
|
| 708 | - $post_date = rest_get_date_with_gmt( $request['date'] ); |
|
| 707 | + if (!empty($schema['properties']['date']) && isset($request['date'])) { |
|
| 708 | + $post_date = rest_get_date_with_gmt($request['date']); |
|
| 709 | 709 | |
| 710 | - if ( ! empty( $post_date ) ) { |
|
| 710 | + if (!empty($post_date)) { |
|
| 711 | 711 | $prepared_invoice->post_date = $post_date[0]; |
| 712 | 712 | } |
| 713 | 713 | |
| 714 | 714 | } |
| 715 | 715 | |
| 716 | - if ( ! empty( $schema['properties']['due_date'] ) && isset( $request['due_date'] ) ) { |
|
| 717 | - $due_date = rest_get_date_with_gmt( $request['due_date'] ); |
|
| 716 | + if (!empty($schema['properties']['due_date']) && isset($request['due_date'])) { |
|
| 717 | + $due_date = rest_get_date_with_gmt($request['due_date']); |
|
| 718 | 718 | |
| 719 | - if ( ! empty( $due_date ) ) { |
|
| 719 | + if (!empty($due_date)) { |
|
| 720 | 720 | $prepared_invoice->due_date = $due_date[0]; |
| 721 | 721 | } |
| 722 | 722 | |
| 723 | 723 | } |
| 724 | 724 | |
| 725 | - $invoice_data = (array) $prepared_invoice; |
|
| 725 | + $invoice_data = (array)$prepared_invoice; |
|
| 726 | 726 | |
| 727 | 727 | /** |
| 728 | 728 | * Filters an invoice before it is inserted via the REST API. |
@@ -732,7 +732,7 @@ discard block |
||
| 732 | 732 | * @param array $invoice_data An array of invoice data |
| 733 | 733 | * @param WP_REST_Request $request Request object. |
| 734 | 734 | */ |
| 735 | - return apply_filters( "wpinv_rest_pre_insert_invoice", $invoice_data, $request ); |
|
| 735 | + return apply_filters("wpinv_rest_pre_insert_invoice", $invoice_data, $request); |
|
| 736 | 736 | |
| 737 | 737 | } |
| 738 | 738 | |
@@ -745,20 +745,20 @@ discard block |
||
| 745 | 745 | * @param WP_REST_Request $request Request object. |
| 746 | 746 | * @return WP_REST_Response Response object. |
| 747 | 747 | */ |
| 748 | - public function prepare_item_for_response( $invoice, $request ) { |
|
| 748 | + public function prepare_item_for_response($invoice, $request) { |
|
| 749 | 749 | |
| 750 | - $GLOBALS['post'] = get_post( $invoice->ID ); |
|
| 750 | + $GLOBALS['post'] = get_post($invoice->ID); |
|
| 751 | 751 | |
| 752 | - setup_postdata( $invoice->ID ); |
|
| 752 | + setup_postdata($invoice->ID); |
|
| 753 | 753 | |
| 754 | 754 | // Fetch the fields to include in this response. |
| 755 | - $fields = $this->get_fields_for_response( $request ); |
|
| 755 | + $fields = $this->get_fields_for_response($request); |
|
| 756 | 756 | |
| 757 | 757 | // Base fields for every invoice. |
| 758 | 758 | $data = array(); |
| 759 | 759 | |
| 760 | 760 | // Set up ID |
| 761 | - if ( rest_is_field_included( 'id', $fields ) ) { |
|
| 761 | + if (rest_is_field_included('id', $fields)) { |
|
| 762 | 762 | $data['id'] = $invoice->ID; |
| 763 | 763 | } |
| 764 | 764 | |
@@ -773,74 +773,74 @@ discard block |
||
| 773 | 773 | 'status', 'status_nicename', 'post_type' |
| 774 | 774 | ); |
| 775 | 775 | |
| 776 | - foreach( $invoice_properties as $property ) { |
|
| 776 | + foreach ($invoice_properties as $property) { |
|
| 777 | 777 | |
| 778 | - if ( rest_is_field_included( $property, $fields ) ) { |
|
| 779 | - $data[$property] = $invoice->get( $property ); |
|
| 778 | + if (rest_is_field_included($property, $fields)) { |
|
| 779 | + $data[$property] = $invoice->get($property); |
|
| 780 | 780 | } |
| 781 | 781 | |
| 782 | 782 | } |
| 783 | 783 | |
| 784 | 784 | // Cart details |
| 785 | - if ( rest_is_field_included( 'cart_details', $fields ) ) { |
|
| 786 | - $data['cart_details'] = $invoice->get( 'cart_details' ); |
|
| 785 | + if (rest_is_field_included('cart_details', $fields)) { |
|
| 786 | + $data['cart_details'] = $invoice->get('cart_details'); |
|
| 787 | 787 | } |
| 788 | 788 | |
| 789 | 789 | //Dates |
| 790 | - $invoice_properties = array( 'date', 'due_date', 'completed_date' ); |
|
| 790 | + $invoice_properties = array('date', 'due_date', 'completed_date'); |
|
| 791 | 791 | |
| 792 | - foreach( $invoice_properties as $property ) { |
|
| 792 | + foreach ($invoice_properties as $property) { |
|
| 793 | 793 | |
| 794 | - if ( rest_is_field_included( $property, $fields ) ) { |
|
| 795 | - $data[$property] = $this->prepare_date_response( '0000-00-00 00:00:00', $invoice->get( $property ) ); |
|
| 794 | + if (rest_is_field_included($property, $fields)) { |
|
| 795 | + $data[$property] = $this->prepare_date_response('0000-00-00 00:00:00', $invoice->get($property)); |
|
| 796 | 796 | } |
| 797 | 797 | |
| 798 | 798 | } |
| 799 | 799 | |
| 800 | 800 | // User id |
| 801 | - if ( rest_is_field_included( 'user_id', $fields ) ) { |
|
| 802 | - $data['user_id'] = (int) $invoice->get( 'user_id' ); |
|
| 801 | + if (rest_is_field_included('user_id', $fields)) { |
|
| 802 | + $data['user_id'] = (int)$invoice->get('user_id'); |
|
| 803 | 803 | } |
| 804 | 804 | |
| 805 | 805 | // User info |
| 806 | - $user_info = array( 'first_name', 'last_name', 'company', 'vat_number', 'vat_rate', 'address', 'city', 'country', 'state', 'zip', 'phone' ); |
|
| 806 | + $user_info = array('first_name', 'last_name', 'company', 'vat_number', 'vat_rate', 'address', 'city', 'country', 'state', 'zip', 'phone'); |
|
| 807 | 807 | |
| 808 | - foreach( $user_info as $property ) { |
|
| 808 | + foreach ($user_info as $property) { |
|
| 809 | 809 | |
| 810 | - if ( rest_is_field_included( "user_info.$property", $fields ) ) { |
|
| 811 | - $data['user_info'][$property] = $invoice->get( $property ); |
|
| 810 | + if (rest_is_field_included("user_info.$property", $fields)) { |
|
| 811 | + $data['user_info'][$property] = $invoice->get($property); |
|
| 812 | 812 | } |
| 813 | 813 | |
| 814 | 814 | } |
| 815 | 815 | |
| 816 | 816 | // Slug |
| 817 | - if ( rest_is_field_included( 'slug', $fields ) ) { |
|
| 818 | - $data['slug'] = $invoice->get( 'post_name' ); |
|
| 817 | + if (rest_is_field_included('slug', $fields)) { |
|
| 818 | + $data['slug'] = $invoice->get('post_name'); |
|
| 819 | 819 | } |
| 820 | 820 | |
| 821 | 821 | // View invoice link |
| 822 | - if ( rest_is_field_included( 'link', $fields ) ) { |
|
| 823 | - $data['link'] = esc_url( $invoice->get_view_url() ); |
|
| 822 | + if (rest_is_field_included('link', $fields)) { |
|
| 823 | + $data['link'] = esc_url($invoice->get_view_url()); |
|
| 824 | 824 | } |
| 825 | 825 | |
| 826 | 826 | |
| 827 | - $context = ! empty( $request['context'] ) ? $request['context'] : 'view'; |
|
| 828 | - $data = $this->add_additional_fields_to_object( $data, $request ); |
|
| 829 | - $data = $this->filter_response_by_context( $data, $context ); |
|
| 827 | + $context = !empty($request['context']) ? $request['context'] : 'view'; |
|
| 828 | + $data = $this->add_additional_fields_to_object($data, $request); |
|
| 829 | + $data = $this->filter_response_by_context($data, $context); |
|
| 830 | 830 | |
| 831 | 831 | // Wrap the data in a response object. |
| 832 | - $response = rest_ensure_response( $data ); |
|
| 832 | + $response = rest_ensure_response($data); |
|
| 833 | 833 | |
| 834 | - $links = $this->prepare_links( $invoice ); |
|
| 835 | - $response->add_links( $links ); |
|
| 834 | + $links = $this->prepare_links($invoice); |
|
| 835 | + $response->add_links($links); |
|
| 836 | 836 | |
| 837 | - if ( ! empty( $links['self']['href'] ) ) { |
|
| 838 | - $actions = $this->get_available_actions( $invoice, $request ); |
|
| 837 | + if (!empty($links['self']['href'])) { |
|
| 838 | + $actions = $this->get_available_actions($invoice, $request); |
|
| 839 | 839 | |
| 840 | 840 | $self = $links['self']['href']; |
| 841 | 841 | |
| 842 | - foreach ( $actions as $rel ) { |
|
| 843 | - $response->add_link( $rel, $self ); |
|
| 842 | + foreach ($actions as $rel) { |
|
| 843 | + $response->add_link($rel, $self); |
|
| 844 | 844 | } |
| 845 | 845 | } |
| 846 | 846 | |
@@ -853,7 +853,7 @@ discard block |
||
| 853 | 853 | * @param WPInv_Invoice $invoice The invoice object. |
| 854 | 854 | * @param WP_REST_Request $request Request object. |
| 855 | 855 | */ |
| 856 | - return apply_filters( "wpinv_rest_prepare_invoice", $response, $invoice, $request ); |
|
| 856 | + return apply_filters("wpinv_rest_prepare_invoice", $response, $invoice, $request); |
|
| 857 | 857 | } |
| 858 | 858 | |
| 859 | 859 | /** |
@@ -866,57 +866,57 @@ discard block |
||
| 866 | 866 | * @param WP_REST_Request $request Full details about the request. |
| 867 | 867 | * @return array Fields to be included in the response. |
| 868 | 868 | */ |
| 869 | - public function get_fields_for_response( $request ) { |
|
| 869 | + public function get_fields_for_response($request) { |
|
| 870 | 870 | $schema = $this->get_item_schema(); |
| 871 | - $properties = isset( $schema['properties'] ) ? $schema['properties'] : array(); |
|
| 871 | + $properties = isset($schema['properties']) ? $schema['properties'] : array(); |
|
| 872 | 872 | |
| 873 | 873 | $additional_fields = $this->get_additional_fields(); |
| 874 | - foreach ( $additional_fields as $field_name => $field_options ) { |
|
| 874 | + foreach ($additional_fields as $field_name => $field_options) { |
|
| 875 | 875 | // For back-compat, include any field with an empty schema |
| 876 | 876 | // because it won't be present in $this->get_item_schema(). |
| 877 | - if ( is_null( $field_options['schema'] ) ) { |
|
| 878 | - $properties[ $field_name ] = $field_options; |
|
| 877 | + if (is_null($field_options['schema'])) { |
|
| 878 | + $properties[$field_name] = $field_options; |
|
| 879 | 879 | } |
| 880 | 880 | } |
| 881 | 881 | |
| 882 | 882 | // Exclude fields that specify a different context than the request context. |
| 883 | 883 | $context = $request['context']; |
| 884 | - if ( $context ) { |
|
| 885 | - foreach ( $properties as $name => $options ) { |
|
| 886 | - if ( ! empty( $options['context'] ) && ! in_array( $context, $options['context'], true ) ) { |
|
| 887 | - unset( $properties[ $name ] ); |
|
| 884 | + if ($context) { |
|
| 885 | + foreach ($properties as $name => $options) { |
|
| 886 | + if (!empty($options['context']) && !in_array($context, $options['context'], true)) { |
|
| 887 | + unset($properties[$name]); |
|
| 888 | 888 | } |
| 889 | 889 | } |
| 890 | 890 | } |
| 891 | 891 | |
| 892 | - $fields = array_keys( $properties ); |
|
| 892 | + $fields = array_keys($properties); |
|
| 893 | 893 | |
| 894 | - if ( ! isset( $request['_fields'] ) ) { |
|
| 894 | + if (!isset($request['_fields'])) { |
|
| 895 | 895 | return $fields; |
| 896 | 896 | } |
| 897 | - $requested_fields = wpinv_parse_list( $request['_fields'] ); |
|
| 898 | - if ( 0 === count( $requested_fields ) ) { |
|
| 897 | + $requested_fields = wpinv_parse_list($request['_fields']); |
|
| 898 | + if (0 === count($requested_fields)) { |
|
| 899 | 899 | return $fields; |
| 900 | 900 | } |
| 901 | 901 | // Trim off outside whitespace from the comma delimited list. |
| 902 | - $requested_fields = array_map( 'trim', $requested_fields ); |
|
| 902 | + $requested_fields = array_map('trim', $requested_fields); |
|
| 903 | 903 | // Always persist 'id', because it can be needed for add_additional_fields_to_object(). |
| 904 | - if ( in_array( 'id', $fields, true ) ) { |
|
| 904 | + if (in_array('id', $fields, true)) { |
|
| 905 | 905 | $requested_fields[] = 'id'; |
| 906 | 906 | } |
| 907 | 907 | // Return the list of all requested fields which appear in the schema. |
| 908 | 908 | return array_reduce( |
| 909 | 909 | $requested_fields, |
| 910 | - function( $response_fields, $field ) use ( $fields ) { |
|
| 911 | - if ( in_array( $field, $fields, true ) ) { |
|
| 910 | + function($response_fields, $field) use ($fields) { |
|
| 911 | + if (in_array($field, $fields, true)) { |
|
| 912 | 912 | $response_fields[] = $field; |
| 913 | 913 | return $response_fields; |
| 914 | 914 | } |
| 915 | 915 | // Check for nested fields if $field is not a direct match. |
| 916 | - $nested_fields = explode( '.', $field ); |
|
| 916 | + $nested_fields = explode('.', $field); |
|
| 917 | 917 | // A nested field is included so long as its top-level property is |
| 918 | 918 | // present in the schema. |
| 919 | - if ( in_array( $nested_fields[0], $fields, true ) ) { |
|
| 919 | + if (in_array($nested_fields[0], $fields, true)) { |
|
| 920 | 920 | $response_fields[] = $field; |
| 921 | 921 | } |
| 922 | 922 | return $response_fields; |
@@ -935,8 +935,8 @@ discard block |
||
| 935 | 935 | public function get_item_schema() { |
| 936 | 936 | |
| 937 | 937 | // Maybe retrieve the schema from cache. |
| 938 | - if ( $this->schema ) { |
|
| 939 | - return $this->add_additional_fields_schema( $this->schema ); |
|
| 938 | + if ($this->schema) { |
|
| 939 | + return $this->add_additional_fields_schema($this->schema); |
|
| 940 | 940 | } |
| 941 | 941 | |
| 942 | 942 | $schema = array( |
@@ -948,266 +948,266 @@ discard block |
||
| 948 | 948 | 'properties' => array( |
| 949 | 949 | |
| 950 | 950 | 'title' => array( |
| 951 | - 'description' => __( 'The title for the invoice.', 'invoicing' ), |
|
| 951 | + 'description' => __('The title for the invoice.', 'invoicing'), |
|
| 952 | 952 | 'type' => 'string', |
| 953 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 953 | + 'context' => array('view', 'edit', 'embed'), |
|
| 954 | 954 | 'readonly' => true, |
| 955 | 955 | ), |
| 956 | 956 | |
| 957 | 957 | 'user_id' => array( |
| 958 | - 'description' => __( 'The ID of the owner of the invoice.', 'invoicing' ), |
|
| 958 | + 'description' => __('The ID of the owner of the invoice.', 'invoicing'), |
|
| 959 | 959 | 'type' => 'integer', |
| 960 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 960 | + 'context' => array('view', 'edit', 'embed'), |
|
| 961 | 961 | ), |
| 962 | 962 | |
| 963 | 963 | 'email' => array( |
| 964 | - 'description' => __( 'The email of the owner of the invoice.', 'invoicing' ), |
|
| 964 | + 'description' => __('The email of the owner of the invoice.', 'invoicing'), |
|
| 965 | 965 | 'type' => 'string', |
| 966 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 966 | + 'context' => array('view', 'edit', 'embed'), |
|
| 967 | 967 | 'readonly' => true, |
| 968 | 968 | ), |
| 969 | 969 | |
| 970 | 970 | 'ip' => array( |
| 971 | - 'description' => __( 'The IP of the owner of the invoice.', 'invoicing' ), |
|
| 971 | + 'description' => __('The IP of the owner of the invoice.', 'invoicing'), |
|
| 972 | 972 | 'type' => 'string', |
| 973 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 973 | + 'context' => array('view', 'edit', 'embed'), |
|
| 974 | 974 | ), |
| 975 | 975 | |
| 976 | 976 | 'user_info' => array( |
| 977 | - 'description' => __( 'Information about the owner of the invoice.', 'invoicing' ), |
|
| 977 | + 'description' => __('Information about the owner of the invoice.', 'invoicing'), |
|
| 978 | 978 | 'type' => 'object', |
| 979 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 979 | + 'context' => array('view', 'edit', 'embed'), |
|
| 980 | 980 | 'properties' => array( |
| 981 | 981 | |
| 982 | 982 | 'first_name' => array( |
| 983 | - 'description' => __( 'The first name of the owner of the invoice.', 'invoicing' ), |
|
| 983 | + 'description' => __('The first name of the owner of the invoice.', 'invoicing'), |
|
| 984 | 984 | 'type' => 'string', |
| 985 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 985 | + 'context' => array('view', 'edit', 'embed'), |
|
| 986 | 986 | ), |
| 987 | 987 | |
| 988 | 988 | 'last_name' => array( |
| 989 | - 'description' => __( 'The last name of the owner of the invoice.', 'invoicing' ), |
|
| 989 | + 'description' => __('The last name of the owner of the invoice.', 'invoicing'), |
|
| 990 | 990 | 'type' => 'string', |
| 991 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 991 | + 'context' => array('view', 'edit', 'embed'), |
|
| 992 | 992 | ), |
| 993 | 993 | |
| 994 | 994 | 'company' => array( |
| 995 | - 'description' => __( 'The company of the owner of the invoice.', 'invoicing' ), |
|
| 995 | + 'description' => __('The company of the owner of the invoice.', 'invoicing'), |
|
| 996 | 996 | 'type' => 'string', |
| 997 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 997 | + 'context' => array('view', 'edit', 'embed'), |
|
| 998 | 998 | ), |
| 999 | 999 | |
| 1000 | 1000 | 'vat_number' => array( |
| 1001 | - 'description' => __( 'The VAT number of the owner of the invoice.', 'invoicing' ), |
|
| 1001 | + 'description' => __('The VAT number of the owner of the invoice.', 'invoicing'), |
|
| 1002 | 1002 | 'type' => 'string', |
| 1003 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1003 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1004 | 1004 | ), |
| 1005 | 1005 | |
| 1006 | 1006 | 'vat_rate' => array( |
| 1007 | - 'description' => __( 'The VAT rate applied on the invoice.', 'invoicing' ), |
|
| 1007 | + 'description' => __('The VAT rate applied on the invoice.', 'invoicing'), |
|
| 1008 | 1008 | 'type' => 'string', |
| 1009 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1009 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1010 | 1010 | ), |
| 1011 | 1011 | |
| 1012 | 1012 | 'address' => array( |
| 1013 | - 'description' => __( 'The address of the invoice owner.', 'invoicing' ), |
|
| 1013 | + 'description' => __('The address of the invoice owner.', 'invoicing'), |
|
| 1014 | 1014 | 'type' => 'string', |
| 1015 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1015 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1016 | 1016 | ), |
| 1017 | 1017 | |
| 1018 | 1018 | 'city' => array( |
| 1019 | - 'description' => __( 'The city of the invoice owner.', 'invoicing' ), |
|
| 1019 | + 'description' => __('The city of the invoice owner.', 'invoicing'), |
|
| 1020 | 1020 | 'type' => 'string', |
| 1021 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1021 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1022 | 1022 | ), |
| 1023 | 1023 | |
| 1024 | 1024 | 'country' => array( |
| 1025 | - 'description' => __( 'The country of the invoice owner.', 'invoicing' ), |
|
| 1025 | + 'description' => __('The country of the invoice owner.', 'invoicing'), |
|
| 1026 | 1026 | 'type' => 'string', |
| 1027 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1027 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1028 | 1028 | ), |
| 1029 | 1029 | |
| 1030 | 1030 | 'state' => array( |
| 1031 | - 'description' => __( 'The state of the invoice owner.', 'invoicing' ), |
|
| 1031 | + 'description' => __('The state of the invoice owner.', 'invoicing'), |
|
| 1032 | 1032 | 'type' => 'string', |
| 1033 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1033 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1034 | 1034 | ), |
| 1035 | 1035 | |
| 1036 | 1036 | 'zip' => array( |
| 1037 | - 'description' => __( 'The zip code of the invoice owner.', 'invoicing' ), |
|
| 1037 | + 'description' => __('The zip code of the invoice owner.', 'invoicing'), |
|
| 1038 | 1038 | 'type' => 'string', |
| 1039 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1039 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1040 | 1040 | ), |
| 1041 | 1041 | |
| 1042 | 1042 | 'phone' => array( |
| 1043 | - 'description' => __( 'The phone number of the invoice owner.', 'invoicing' ), |
|
| 1043 | + 'description' => __('The phone number of the invoice owner.', 'invoicing'), |
|
| 1044 | 1044 | 'type' => 'string', |
| 1045 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1045 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1046 | 1046 | ), |
| 1047 | 1047 | ), |
| 1048 | 1048 | ), |
| 1049 | 1049 | |
| 1050 | 1050 | 'id' => array( |
| 1051 | - 'description' => __( 'Unique identifier for the invoice.', 'invoicing' ), |
|
| 1051 | + 'description' => __('Unique identifier for the invoice.', 'invoicing'), |
|
| 1052 | 1052 | 'type' => 'integer', |
| 1053 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1053 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1054 | 1054 | 'readonly' => true, |
| 1055 | 1055 | ), |
| 1056 | 1056 | |
| 1057 | 1057 | 'key' => array( |
| 1058 | - 'description' => __( 'A unique key for the invoice.', 'invoicing' ), |
|
| 1058 | + 'description' => __('A unique key for the invoice.', 'invoicing'), |
|
| 1059 | 1059 | 'type' => 'string', |
| 1060 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1060 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1061 | 1061 | 'readonly' => true, |
| 1062 | 1062 | ), |
| 1063 | 1063 | |
| 1064 | 1064 | 'number' => array( |
| 1065 | - 'description' => __( 'The invoice number.', 'invoicing' ), |
|
| 1065 | + 'description' => __('The invoice number.', 'invoicing'), |
|
| 1066 | 1066 | 'type' => 'string', |
| 1067 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1067 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1068 | 1068 | 'readonly' => true, |
| 1069 | 1069 | ), |
| 1070 | 1070 | |
| 1071 | 1071 | 'transaction_id' => array( |
| 1072 | - 'description' => __( 'The transaction id of the invoice.', 'invoicing' ), |
|
| 1072 | + 'description' => __('The transaction id of the invoice.', 'invoicing'), |
|
| 1073 | 1073 | 'type' => 'string', |
| 1074 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1074 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1075 | 1075 | ), |
| 1076 | 1076 | |
| 1077 | 1077 | 'gateway' => array( |
| 1078 | - 'description' => __( 'The gateway used to process the invoice.', 'invoicing' ), |
|
| 1078 | + 'description' => __('The gateway used to process the invoice.', 'invoicing'), |
|
| 1079 | 1079 | 'type' => 'string', |
| 1080 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1080 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1081 | 1081 | ), |
| 1082 | 1082 | |
| 1083 | 1083 | 'gateway_title' => array( |
| 1084 | - 'description' => __( 'The title of the gateway used to process the invoice.', 'invoicing' ), |
|
| 1084 | + 'description' => __('The title of the gateway used to process the invoice.', 'invoicing'), |
|
| 1085 | 1085 | 'type' => 'string', |
| 1086 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1086 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1087 | 1087 | ), |
| 1088 | 1088 | |
| 1089 | 1089 | 'total' => array( |
| 1090 | - 'description' => __( 'The total amount of the invoice.', 'invoicing' ), |
|
| 1090 | + 'description' => __('The total amount of the invoice.', 'invoicing'), |
|
| 1091 | 1091 | 'type' => 'number', |
| 1092 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1092 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1093 | 1093 | 'readonly' => true, |
| 1094 | 1094 | ), |
| 1095 | 1095 | |
| 1096 | 1096 | 'discount' => array( |
| 1097 | - 'description' => __( 'The discount applied to the invoice.', 'invoicing' ), |
|
| 1097 | + 'description' => __('The discount applied to the invoice.', 'invoicing'), |
|
| 1098 | 1098 | 'type' => 'number', |
| 1099 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1099 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1100 | 1100 | 'readonly' => true, |
| 1101 | 1101 | ), |
| 1102 | 1102 | |
| 1103 | 1103 | 'discount_code' => array( |
| 1104 | - 'description' => __( 'The discount code applied to the invoice.', 'invoicing' ), |
|
| 1104 | + 'description' => __('The discount code applied to the invoice.', 'invoicing'), |
|
| 1105 | 1105 | 'type' => 'string', |
| 1106 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1106 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1107 | 1107 | 'readonly' => true, |
| 1108 | 1108 | ), |
| 1109 | 1109 | |
| 1110 | 1110 | 'tax' => array( |
| 1111 | - 'description' => __( 'The tax applied to the invoice.', 'invoicing' ), |
|
| 1111 | + 'description' => __('The tax applied to the invoice.', 'invoicing'), |
|
| 1112 | 1112 | 'type' => 'number', |
| 1113 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1113 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1114 | 1114 | 'readonly' => true, |
| 1115 | 1115 | ), |
| 1116 | 1116 | |
| 1117 | 1117 | 'fees_total' => array( |
| 1118 | - 'description' => __( 'The total fees applied to the invoice.', 'invoicing' ), |
|
| 1118 | + 'description' => __('The total fees applied to the invoice.', 'invoicing'), |
|
| 1119 | 1119 | 'type' => 'number', |
| 1120 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1120 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1121 | 1121 | 'readonly' => true, |
| 1122 | 1122 | ), |
| 1123 | 1123 | |
| 1124 | 1124 | 'subtotal' => array( |
| 1125 | - 'description' => __( 'The sub-total for the invoice.', 'invoicing' ), |
|
| 1125 | + 'description' => __('The sub-total for the invoice.', 'invoicing'), |
|
| 1126 | 1126 | 'type' => 'number', |
| 1127 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1127 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1128 | 1128 | 'readonly' => true, |
| 1129 | 1129 | ), |
| 1130 | 1130 | |
| 1131 | 1131 | 'currency' => array( |
| 1132 | - 'description' => __( 'The currency used to process the invoice.', 'invoicing' ), |
|
| 1132 | + 'description' => __('The currency used to process the invoice.', 'invoicing'), |
|
| 1133 | 1133 | 'type' => 'string', |
| 1134 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1134 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1135 | 1135 | ), |
| 1136 | 1136 | |
| 1137 | 1137 | 'cart_details' => array( |
| 1138 | - 'description' => __( 'The cart details for invoice.', 'invoicing' ), |
|
| 1138 | + 'description' => __('The cart details for invoice.', 'invoicing'), |
|
| 1139 | 1139 | 'type' => 'array', |
| 1140 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1140 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1141 | 1141 | 'required' => true, |
| 1142 | 1142 | ), |
| 1143 | 1143 | |
| 1144 | 1144 | 'date' => array( |
| 1145 | - 'description' => __( "The date the invoice was published, in the site's timezone.", 'invoicing' ), |
|
| 1146 | - 'type' => array( 'string', 'null' ), |
|
| 1145 | + 'description' => __("The date the invoice was published, in the site's timezone.", 'invoicing'), |
|
| 1146 | + 'type' => array('string', 'null'), |
|
| 1147 | 1147 | 'format' => 'date-time', |
| 1148 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1148 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1149 | 1149 | ), |
| 1150 | 1150 | |
| 1151 | 1151 | 'due_date' => array( |
| 1152 | - 'description' => __( 'The due date for the invoice.', 'invoicing' ), |
|
| 1153 | - 'type' => array( 'string', 'null' ), |
|
| 1152 | + 'description' => __('The due date for the invoice.', 'invoicing'), |
|
| 1153 | + 'type' => array('string', 'null'), |
|
| 1154 | 1154 | 'format' => 'date-time', |
| 1155 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1155 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1156 | 1156 | ), |
| 1157 | 1157 | |
| 1158 | 1158 | 'completed_date' => array( |
| 1159 | - 'description' => __( 'The completed date for the invoice.', 'invoicing' ), |
|
| 1160 | - 'type' => array( 'string', 'null' ), |
|
| 1159 | + 'description' => __('The completed date for the invoice.', 'invoicing'), |
|
| 1160 | + 'type' => array('string', 'null'), |
|
| 1161 | 1161 | 'format' => 'date-time', |
| 1162 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1162 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1163 | 1163 | 'readonly' => true, |
| 1164 | 1164 | ), |
| 1165 | 1165 | |
| 1166 | 1166 | 'link' => array( |
| 1167 | - 'description' => __( 'URL to the invoice.', 'invoicing' ), |
|
| 1167 | + 'description' => __('URL to the invoice.', 'invoicing'), |
|
| 1168 | 1168 | 'type' => 'string', |
| 1169 | 1169 | 'format' => 'uri', |
| 1170 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1170 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1171 | 1171 | 'readonly' => true, |
| 1172 | 1172 | ), |
| 1173 | 1173 | |
| 1174 | 1174 | 'mode' => array( |
| 1175 | - 'description' => __( 'The mode used to process the invoice.', 'invoicing' ), |
|
| 1175 | + 'description' => __('The mode used to process the invoice.', 'invoicing'), |
|
| 1176 | 1176 | 'type' => 'string', |
| 1177 | - 'enum' => array( 'live', 'test' ), |
|
| 1178 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1177 | + 'enum' => array('live', 'test'), |
|
| 1178 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1179 | 1179 | 'readonly' => true, |
| 1180 | 1180 | ), |
| 1181 | 1181 | |
| 1182 | 1182 | 'slug' => array( |
| 1183 | - 'description' => __( 'An alphanumeric identifier for the invoice.', 'invoicing' ), |
|
| 1183 | + 'description' => __('An alphanumeric identifier for the invoice.', 'invoicing'), |
|
| 1184 | 1184 | 'type' => 'string', |
| 1185 | - 'context' => array( 'view', 'edit', 'embed' ), |
|
| 1185 | + 'context' => array('view', 'edit', 'embed'), |
|
| 1186 | 1186 | 'arg_options' => array( |
| 1187 | - 'sanitize_callback' => array( $this, 'sanitize_slug' ), |
|
| 1187 | + 'sanitize_callback' => array($this, 'sanitize_slug'), |
|
| 1188 | 1188 | ), |
| 1189 | 1189 | 'readonly' => true, |
| 1190 | 1190 | ), |
| 1191 | 1191 | |
| 1192 | 1192 | 'status' => array( |
| 1193 | - 'description' => __( 'A named status for the invoice.', 'invoicing' ), |
|
| 1193 | + 'description' => __('A named status for the invoice.', 'invoicing'), |
|
| 1194 | 1194 | 'type' => 'string', |
| 1195 | - 'enum' => array_keys( wpinv_get_invoice_statuses( true, true ) ), |
|
| 1196 | - 'context' => array( 'view', 'edit' ), |
|
| 1195 | + 'enum' => array_keys(wpinv_get_invoice_statuses(true, true)), |
|
| 1196 | + 'context' => array('view', 'edit'), |
|
| 1197 | 1197 | 'default' => 'wpi-pending', |
| 1198 | 1198 | ), |
| 1199 | 1199 | |
| 1200 | 1200 | 'status_nicename' => array( |
| 1201 | - 'description' => __( 'A human-readable status name for the invoice.', 'invoicing' ), |
|
| 1201 | + 'description' => __('A human-readable status name for the invoice.', 'invoicing'), |
|
| 1202 | 1202 | 'type' => 'string', |
| 1203 | - 'context' => array( 'view', 'embed' ), |
|
| 1203 | + 'context' => array('view', 'embed'), |
|
| 1204 | 1204 | 'readonly' => true, |
| 1205 | 1205 | ), |
| 1206 | 1206 | |
| 1207 | 1207 | 'post_type' => array( |
| 1208 | - 'description' => __( 'The post type for the invoice.', 'invoicing' ), |
|
| 1208 | + 'description' => __('The post type for the invoice.', 'invoicing'), |
|
| 1209 | 1209 | 'type' => 'string', |
| 1210 | - 'context' => array( 'view' ), |
|
| 1210 | + 'context' => array('view'), |
|
| 1211 | 1211 | 'readonly' => true, |
| 1212 | 1212 | ), |
| 1213 | 1213 | ), |
@@ -1225,12 +1225,12 @@ discard block |
||
| 1225 | 1225 | * |
| 1226 | 1226 | * @param array $schema The invoice schema. |
| 1227 | 1227 | */ |
| 1228 | - $schema = apply_filters( "wpinv_rest_invoice_schema", $schema ); |
|
| 1228 | + $schema = apply_filters("wpinv_rest_invoice_schema", $schema); |
|
| 1229 | 1229 | |
| 1230 | 1230 | // Cache the invoice schema. |
| 1231 | 1231 | $this->schema = $schema; |
| 1232 | 1232 | |
| 1233 | - return $this->add_additional_fields_schema( $this->schema ); |
|
| 1233 | + return $this->add_additional_fields_schema($this->schema); |
|
| 1234 | 1234 | } |
| 1235 | 1235 | |
| 1236 | 1236 | /** |
@@ -1242,20 +1242,20 @@ discard block |
||
| 1242 | 1242 | */ |
| 1243 | 1243 | protected function get_schema_links() { |
| 1244 | 1244 | |
| 1245 | - $href = rest_url( "{$this->namespace}/{$this->rest_base}/{id}" ); |
|
| 1245 | + $href = rest_url("{$this->namespace}/{$this->rest_base}/{id}"); |
|
| 1246 | 1246 | |
| 1247 | 1247 | $links = array(); |
| 1248 | 1248 | |
| 1249 | 1249 | $links[] = array( |
| 1250 | 1250 | 'rel' => 'https://api.w.org/action-publish', |
| 1251 | - 'title' => __( 'The current user can mark this invoice as completed.', 'invoicing' ), |
|
| 1251 | + 'title' => __('The current user can mark this invoice as completed.', 'invoicing'), |
|
| 1252 | 1252 | 'href' => $href, |
| 1253 | 1253 | 'targetSchema' => array( |
| 1254 | 1254 | 'type' => 'object', |
| 1255 | 1255 | 'properties' => array( |
| 1256 | 1256 | 'status' => array( |
| 1257 | 1257 | 'type' => 'string', |
| 1258 | - 'enum' => array( 'publish', 'wpi-renewal' ), |
|
| 1258 | + 'enum' => array('publish', 'wpi-renewal'), |
|
| 1259 | 1259 | ), |
| 1260 | 1260 | ), |
| 1261 | 1261 | ), |
@@ -1263,7 +1263,7 @@ discard block |
||
| 1263 | 1263 | |
| 1264 | 1264 | $links[] = array( |
| 1265 | 1265 | 'rel' => 'https://api.w.org/action-assign-author', |
| 1266 | - 'title' => __( 'The current user can change the owner of this invoice.', 'invoicing' ), |
|
| 1266 | + 'title' => __('The current user can change the owner of this invoice.', 'invoicing'), |
|
| 1267 | 1267 | 'href' => $href, |
| 1268 | 1268 | 'targetSchema' => array( |
| 1269 | 1269 | 'type' => 'object', |
@@ -1286,24 +1286,24 @@ discard block |
||
| 1286 | 1286 | * @param WPInv_Invoice $invoice Invoice Object. |
| 1287 | 1287 | * @return array Links for the given invoice. |
| 1288 | 1288 | */ |
| 1289 | - protected function prepare_links( $invoice ) { |
|
| 1289 | + protected function prepare_links($invoice) { |
|
| 1290 | 1290 | |
| 1291 | 1291 | // Prepare the base REST API endpoint for invoices. |
| 1292 | - $base = sprintf( '%s/%s', $this->namespace, $this->rest_base ); |
|
| 1292 | + $base = sprintf('%s/%s', $this->namespace, $this->rest_base); |
|
| 1293 | 1293 | |
| 1294 | 1294 | // Entity meta. |
| 1295 | 1295 | $links = array( |
| 1296 | 1296 | 'self' => array( |
| 1297 | - 'href' => rest_url( trailingslashit( $base ) . $invoice->ID ), |
|
| 1297 | + 'href' => rest_url(trailingslashit($base) . $invoice->ID), |
|
| 1298 | 1298 | ), |
| 1299 | 1299 | 'collection' => array( |
| 1300 | - 'href' => rest_url( $base ), |
|
| 1300 | + 'href' => rest_url($base), |
|
| 1301 | 1301 | ), |
| 1302 | 1302 | ); |
| 1303 | 1303 | |
| 1304 | - if ( ! empty( $invoice->user_id ) ) { |
|
| 1304 | + if (!empty($invoice->user_id)) { |
|
| 1305 | 1305 | $links['user'] = array( |
| 1306 | - 'href' => rest_url( 'wp/v2/users/' . $invoice->user_id ), |
|
| 1306 | + 'href' => rest_url('wp/v2/users/' . $invoice->user_id), |
|
| 1307 | 1307 | 'embeddable' => true, |
| 1308 | 1308 | ); |
| 1309 | 1309 | } |
@@ -1317,7 +1317,7 @@ discard block |
||
| 1317 | 1317 | * |
| 1318 | 1318 | * @param array $links Rest links. |
| 1319 | 1319 | */ |
| 1320 | - return apply_filters( "wpinv_invoice_rest_links", $links ); |
|
| 1320 | + return apply_filters("wpinv_invoice_rest_links", $links); |
|
| 1321 | 1321 | |
| 1322 | 1322 | } |
| 1323 | 1323 | |
@@ -1330,24 +1330,24 @@ discard block |
||
| 1330 | 1330 | * @param WP_REST_Request $request Request object. |
| 1331 | 1331 | * @return array List of link relations. |
| 1332 | 1332 | */ |
| 1333 | - protected function get_available_actions( $invoice, $request ) { |
|
| 1333 | + protected function get_available_actions($invoice, $request) { |
|
| 1334 | 1334 | |
| 1335 | - if ( 'edit' !== $request['context'] ) { |
|
| 1335 | + if ('edit' !== $request['context']) { |
|
| 1336 | 1336 | return array(); |
| 1337 | 1337 | } |
| 1338 | 1338 | |
| 1339 | 1339 | $rels = array(); |
| 1340 | 1340 | |
| 1341 | 1341 | // Retrieve the post type object. |
| 1342 | - $post_type = get_post_type_object( $invoice->post_type ); |
|
| 1342 | + $post_type = get_post_type_object($invoice->post_type); |
|
| 1343 | 1343 | |
| 1344 | 1344 | // Mark invoice as completed. |
| 1345 | - if ( current_user_can( $post_type->cap->publish_posts ) ) { |
|
| 1345 | + if (current_user_can($post_type->cap->publish_posts)) { |
|
| 1346 | 1346 | $rels[] = 'https://api.w.org/action-publish'; |
| 1347 | 1347 | } |
| 1348 | 1348 | |
| 1349 | 1349 | // Change the owner of the invoice. |
| 1350 | - if ( current_user_can( $post_type->cap->edit_others_posts ) ) { |
|
| 1350 | + if (current_user_can($post_type->cap->edit_others_posts)) { |
|
| 1351 | 1351 | $rels[] = 'https://api.w.org/action-assign-author'; |
| 1352 | 1352 | } |
| 1353 | 1353 | |
@@ -1360,7 +1360,7 @@ discard block |
||
| 1360 | 1360 | * |
| 1361 | 1361 | * @param array $rels Available link relations. |
| 1362 | 1362 | */ |
| 1363 | - return apply_filters( "wpinv_invoice_rest_link_relations", $rels ); |
|
| 1363 | + return apply_filters("wpinv_invoice_rest_link_relations", $rels); |
|
| 1364 | 1364 | } |
| 1365 | 1365 | |
| 1366 | 1366 | /** |
@@ -1373,11 +1373,11 @@ discard block |
||
| 1373 | 1373 | * @param string $parameter Additional parameter to pass to validation. |
| 1374 | 1374 | * @return array|WP_Error A list of valid statuses, otherwise WP_Error object. |
| 1375 | 1375 | */ |
| 1376 | - public function sanitize_post_statuses( $statuses, $request, $parameter ) { |
|
| 1376 | + public function sanitize_post_statuses($statuses, $request, $parameter) { |
|
| 1377 | 1377 | |
| 1378 | - $statuses = wp_parse_slug_list( $statuses ); |
|
| 1379 | - $valid_statuses = array_keys( wpinv_get_invoice_statuses( true, true ) ); |
|
| 1380 | - return array_intersect( $statuses, $valid_statuses ); |
|
| 1378 | + $statuses = wp_parse_slug_list($statuses); |
|
| 1379 | + $valid_statuses = array_keys(wpinv_get_invoice_statuses(true, true)); |
|
| 1380 | + return array_intersect($statuses, $valid_statuses); |
|
| 1381 | 1381 | |
| 1382 | 1382 | } |
| 1383 | 1383 | |
@@ -7,12 +7,12 @@ 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 | final class WPInv_Invoice { |
| 15 | - public $ID = 0; |
|
| 15 | + public $ID = 0; |
|
| 16 | 16 | public $title; |
| 17 | 17 | public $post_type; |
| 18 | 18 | |
@@ -65,17 +65,17 @@ discard block |
||
| 65 | 65 | public $full_name = ''; |
| 66 | 66 | public $parent_invoice = 0; |
| 67 | 67 | |
| 68 | - public function __construct( $invoice_id = false ) { |
|
| 69 | - if( empty( $invoice_id ) ) { |
|
| 68 | + public function __construct($invoice_id = false) { |
|
| 69 | + if (empty($invoice_id)) { |
|
| 70 | 70 | return false; |
| 71 | 71 | } |
| 72 | 72 | |
| 73 | - $this->setup_invoice( $invoice_id ); |
|
| 73 | + $this->setup_invoice($invoice_id); |
|
| 74 | 74 | } |
| 75 | 75 | |
| 76 | - public function get( $key ) { |
|
| 77 | - if ( method_exists( $this, 'get_' . $key ) ) { |
|
| 78 | - $value = call_user_func( array( $this, 'get_' . $key ) ); |
|
| 76 | + public function get($key) { |
|
| 77 | + if (method_exists($this, 'get_' . $key)) { |
|
| 78 | + $value = call_user_func(array($this, 'get_' . $key)); |
|
| 79 | 79 | } else { |
| 80 | 80 | $value = $this->$key; |
| 81 | 81 | } |
@@ -83,51 +83,51 @@ discard block |
||
| 83 | 83 | return $value; |
| 84 | 84 | } |
| 85 | 85 | |
| 86 | - public function set( $key, $value ) { |
|
| 87 | - $ignore = array( 'items', 'cart_details', 'fees', '_ID' ); |
|
| 86 | + public function set($key, $value) { |
|
| 87 | + $ignore = array('items', 'cart_details', 'fees', '_ID'); |
|
| 88 | 88 | |
| 89 | - if ( $key === 'status' ) { |
|
| 89 | + if ($key === 'status') { |
|
| 90 | 90 | $this->old_status = $this->status; |
| 91 | 91 | } |
| 92 | 92 | |
| 93 | - if ( ! in_array( $key, $ignore ) ) { |
|
| 94 | - $this->pending[ $key ] = $value; |
|
| 93 | + if (!in_array($key, $ignore)) { |
|
| 94 | + $this->pending[$key] = $value; |
|
| 95 | 95 | } |
| 96 | 96 | |
| 97 | - if( '_ID' !== $key ) { |
|
| 97 | + if ('_ID' !== $key) { |
|
| 98 | 98 | $this->$key = $value; |
| 99 | 99 | } |
| 100 | 100 | } |
| 101 | 101 | |
| 102 | - public function _isset( $name ) { |
|
| 103 | - if ( property_exists( $this, $name) ) { |
|
| 104 | - return false === empty( $this->$name ); |
|
| 102 | + public function _isset($name) { |
|
| 103 | + if (property_exists($this, $name)) { |
|
| 104 | + return false === empty($this->$name); |
|
| 105 | 105 | } else { |
| 106 | 106 | return null; |
| 107 | 107 | } |
| 108 | 108 | } |
| 109 | 109 | |
| 110 | - private function setup_invoice( $invoice_id ) { |
|
| 110 | + private function setup_invoice($invoice_id) { |
|
| 111 | 111 | $this->pending = array(); |
| 112 | 112 | |
| 113 | - if ( empty( $invoice_id ) ) { |
|
| 113 | + if (empty($invoice_id)) { |
|
| 114 | 114 | return false; |
| 115 | 115 | } |
| 116 | 116 | |
| 117 | - $invoice = get_post( $invoice_id ); |
|
| 117 | + $invoice = get_post($invoice_id); |
|
| 118 | 118 | |
| 119 | - if( !$invoice || is_wp_error( $invoice ) ) { |
|
| 119 | + if (!$invoice || is_wp_error($invoice)) { |
|
| 120 | 120 | return false; |
| 121 | 121 | } |
| 122 | 122 | |
| 123 | - if( !('wpi_invoice' == $invoice->post_type OR 'wpi_quote' == $invoice->post_type) ) { |
|
| 123 | + if (!('wpi_invoice' == $invoice->post_type OR 'wpi_quote' == $invoice->post_type)) { |
|
| 124 | 124 | return false; |
| 125 | 125 | } |
| 126 | 126 | |
| 127 | - do_action( 'wpinv_pre_setup_invoice', $this, $invoice_id ); |
|
| 127 | + do_action('wpinv_pre_setup_invoice', $this, $invoice_id); |
|
| 128 | 128 | |
| 129 | 129 | // Primary Identifier |
| 130 | - $this->ID = absint( $invoice_id ); |
|
| 130 | + $this->ID = absint($invoice_id); |
|
| 131 | 131 | $this->post_type = $invoice->post_type; |
| 132 | 132 | |
| 133 | 133 | // We have a payment, get the generic payment_meta item to reduce calls to it |
@@ -139,7 +139,7 @@ discard block |
||
| 139 | 139 | $this->post_status = $this->status; |
| 140 | 140 | $this->mode = $this->setup_mode(); |
| 141 | 141 | $this->parent_invoice = $invoice->post_parent; |
| 142 | - $this->post_name = $this->setup_post_name( $invoice ); |
|
| 142 | + $this->post_name = $this->setup_post_name($invoice); |
|
| 143 | 143 | $this->status_nicename = $this->setup_status_nicename($invoice->post_status); |
| 144 | 144 | |
| 145 | 145 | // Items |
@@ -161,8 +161,8 @@ discard block |
||
| 161 | 161 | |
| 162 | 162 | // User based |
| 163 | 163 | $this->ip = $this->setup_ip(); |
| 164 | - $this->user_id = !empty( $invoice->post_author ) ? $invoice->post_author : get_current_user_id();///$this->setup_user_id(); |
|
| 165 | - $this->email = get_the_author_meta( 'email', $this->user_id ); |
|
| 164 | + $this->user_id = !empty($invoice->post_author) ? $invoice->post_author : get_current_user_id(); ///$this->setup_user_id(); |
|
| 165 | + $this->email = get_the_author_meta('email', $this->user_id); |
|
| 166 | 166 | |
| 167 | 167 | $this->user_info = $this->setup_user_info(); |
| 168 | 168 | |
@@ -171,7 +171,7 @@ discard block |
||
| 171 | 171 | $this->company = $this->user_info['company']; |
| 172 | 172 | $this->vat_number = $this->user_info['vat_number']; |
| 173 | 173 | $this->vat_rate = $this->user_info['vat_rate']; |
| 174 | - $this->adddress_confirmed = $this->user_info['adddress_confirmed']; |
|
| 174 | + $this->adddress_confirmed = $this->user_info['adddress_confirmed']; |
|
| 175 | 175 | $this->address = $this->user_info['address']; |
| 176 | 176 | $this->city = $this->user_info['city']; |
| 177 | 177 | $this->country = $this->user_info['country']; |
@@ -186,35 +186,35 @@ discard block |
||
| 186 | 186 | // Other Identifiers |
| 187 | 187 | $this->key = $this->setup_invoice_key(); |
| 188 | 188 | $this->number = $this->setup_invoice_number(); |
| 189 | - $this->title = !empty( $invoice->post_title ) ? $invoice->post_title : $this->number; |
|
| 189 | + $this->title = !empty($invoice->post_title) ? $invoice->post_title : $this->number; |
|
| 190 | 190 | |
| 191 | - $this->full_name = trim( $this->first_name . ' '. $this->last_name ); |
|
| 191 | + $this->full_name = trim($this->first_name . ' ' . $this->last_name); |
|
| 192 | 192 | |
| 193 | 193 | // Allow extensions to add items to this object via hook |
| 194 | - do_action( 'wpinv_setup_invoice', $this, $invoice_id ); |
|
| 194 | + do_action('wpinv_setup_invoice', $this, $invoice_id); |
|
| 195 | 195 | |
| 196 | 196 | return true; |
| 197 | 197 | } |
| 198 | 198 | |
| 199 | - private function setup_status_nicename( $status ) { |
|
| 200 | - $all_invoice_statuses = wpinv_get_invoice_statuses( true, true, $this ); |
|
| 201 | - $status = isset( $all_invoice_statuses[$status] ) ? $all_invoice_statuses[$status] : __( $status, 'invoicing' ); |
|
| 199 | + private function setup_status_nicename($status) { |
|
| 200 | + $all_invoice_statuses = wpinv_get_invoice_statuses(true, true, $this); |
|
| 201 | + $status = isset($all_invoice_statuses[$status]) ? $all_invoice_statuses[$status] : __($status, 'invoicing'); |
|
| 202 | 202 | |
| 203 | - return apply_filters( 'setup_status_nicename', $status ); |
|
| 203 | + return apply_filters('setup_status_nicename', $status); |
|
| 204 | 204 | } |
| 205 | 205 | |
| 206 | - private function setup_post_name( $post = NULL ) { |
|
| 206 | + private function setup_post_name($post = NULL) { |
|
| 207 | 207 | global $wpdb; |
| 208 | 208 | |
| 209 | 209 | $post_name = ''; |
| 210 | 210 | |
| 211 | - if ( !empty( $post ) ) { |
|
| 212 | - if( !empty( $post->post_name ) ) { |
|
| 211 | + if (!empty($post)) { |
|
| 212 | + if (!empty($post->post_name)) { |
|
| 213 | 213 | $post_name = $post->post_name; |
| 214 | - } else if ( !empty( $post->ID ) ) { |
|
| 215 | - $post_name = wpinv_generate_post_name( $post->ID ); |
|
| 214 | + } else if (!empty($post->ID)) { |
|
| 215 | + $post_name = wpinv_generate_post_name($post->ID); |
|
| 216 | 216 | |
| 217 | - $wpdb->update( $wpdb->posts, array( 'post_name' => $post_name ), array( 'ID' => $post->ID ) ); |
|
| 217 | + $wpdb->update($wpdb->posts, array('post_name' => $post_name), array('ID' => $post->ID)); |
|
| 218 | 218 | } |
| 219 | 219 | } |
| 220 | 220 | |
@@ -222,12 +222,12 @@ discard block |
||
| 222 | 222 | } |
| 223 | 223 | |
| 224 | 224 | private function setup_due_date() { |
| 225 | - $due_date = $this->get_meta( '_wpinv_due_date' ); |
|
| 225 | + $due_date = $this->get_meta('_wpinv_due_date'); |
|
| 226 | 226 | |
| 227 | - if ( empty( $due_date ) ) { |
|
| 228 | - $overdue_time = strtotime( $this->date ) + ( DAY_IN_SECONDS * absint( wpinv_get_option( 'overdue_days' ) ) ); |
|
| 229 | - $due_date = date_i18n( 'Y-m-d', $overdue_time ); |
|
| 230 | - } else if ( $due_date == 'none' ) { |
|
| 227 | + if (empty($due_date)) { |
|
| 228 | + $overdue_time = strtotime($this->date) + (DAY_IN_SECONDS * absint(wpinv_get_option('overdue_days'))); |
|
| 229 | + $due_date = date_i18n('Y-m-d', $overdue_time); |
|
| 230 | + } else if ($due_date == 'none') { |
|
| 231 | 231 | $due_date = ''; |
| 232 | 232 | } |
| 233 | 233 | |
@@ -235,66 +235,66 @@ discard block |
||
| 235 | 235 | } |
| 236 | 236 | |
| 237 | 237 | private function setup_completed_date() { |
| 238 | - $invoice = get_post( $this->ID ); |
|
| 238 | + $invoice = get_post($this->ID); |
|
| 239 | 239 | |
| 240 | - if ( 'wpi-pending' == $invoice->post_status || 'preapproved' == $invoice->post_status ) { |
|
| 240 | + if ('wpi-pending' == $invoice->post_status || 'preapproved' == $invoice->post_status) { |
|
| 241 | 241 | return false; // This invoice was never paid |
| 242 | 242 | } |
| 243 | 243 | |
| 244 | - $date = ( $date = $this->get_meta( '_wpinv_completed_date', true ) ) ? $date : $invoice->modified_date; |
|
| 244 | + $date = ($date = $this->get_meta('_wpinv_completed_date', true)) ? $date : $invoice->modified_date; |
|
| 245 | 245 | |
| 246 | 246 | return $date; |
| 247 | 247 | } |
| 248 | 248 | |
| 249 | 249 | private function setup_cart_details() { |
| 250 | - $cart_details = isset( $this->payment_meta['cart_details'] ) ? maybe_unserialize( $this->payment_meta['cart_details'] ) : array(); |
|
| 250 | + $cart_details = isset($this->payment_meta['cart_details']) ? maybe_unserialize($this->payment_meta['cart_details']) : array(); |
|
| 251 | 251 | return $cart_details; |
| 252 | 252 | } |
| 253 | 253 | |
| 254 | 254 | public function array_convert() { |
| 255 | - return get_object_vars( $this ); |
|
| 255 | + return get_object_vars($this); |
|
| 256 | 256 | } |
| 257 | 257 | |
| 258 | 258 | private function setup_items() { |
| 259 | - $items = isset( $this->payment_meta['items'] ) ? maybe_unserialize( $this->payment_meta['items'] ) : array(); |
|
| 259 | + $items = isset($this->payment_meta['items']) ? maybe_unserialize($this->payment_meta['items']) : array(); |
|
| 260 | 260 | return $items; |
| 261 | 261 | } |
| 262 | 262 | |
| 263 | 263 | private function setup_fees() { |
| 264 | - $payment_fees = isset( $this->payment_meta['fees'] ) ? $this->payment_meta['fees'] : array(); |
|
| 264 | + $payment_fees = isset($this->payment_meta['fees']) ? $this->payment_meta['fees'] : array(); |
|
| 265 | 265 | return $payment_fees; |
| 266 | 266 | } |
| 267 | 267 | |
| 268 | 268 | private function setup_currency() { |
| 269 | - $currency = isset( $this->payment_meta['currency'] ) ? $this->payment_meta['currency'] : apply_filters( 'wpinv_currency_default', wpinv_get_currency(), $this ); |
|
| 269 | + $currency = isset($this->payment_meta['currency']) ? $this->payment_meta['currency'] : apply_filters('wpinv_currency_default', wpinv_get_currency(), $this); |
|
| 270 | 270 | return $currency; |
| 271 | 271 | } |
| 272 | 272 | |
| 273 | 273 | private function setup_discount() { |
| 274 | 274 | //$discount = $this->get_meta( '_wpinv_discount', true ); |
| 275 | - $discount = (float)$this->subtotal - ( (float)$this->total - (float)$this->tax - (float)$this->fees_total ); |
|
| 276 | - if ( $discount < 0 ) { |
|
| 275 | + $discount = (float)$this->subtotal - ((float)$this->total - (float)$this->tax - (float)$this->fees_total); |
|
| 276 | + if ($discount < 0) { |
|
| 277 | 277 | $discount = 0; |
| 278 | 278 | } |
| 279 | - $discount = wpinv_round_amount( $discount ); |
|
| 279 | + $discount = wpinv_round_amount($discount); |
|
| 280 | 280 | |
| 281 | 281 | return $discount; |
| 282 | 282 | } |
| 283 | 283 | |
| 284 | 284 | private function setup_discount_code() { |
| 285 | - $discount_code = !empty( $this->discounts ) ? $this->discounts : $this->get_meta( '_wpinv_discount_code', true ); |
|
| 285 | + $discount_code = !empty($this->discounts) ? $this->discounts : $this->get_meta('_wpinv_discount_code', true); |
|
| 286 | 286 | return $discount_code; |
| 287 | 287 | } |
| 288 | 288 | |
| 289 | 289 | private function setup_tax() { |
| 290 | - $tax = $this->get_meta( '_wpinv_tax', true ); |
|
| 290 | + $tax = $this->get_meta('_wpinv_tax', true); |
|
| 291 | 291 | |
| 292 | 292 | // We don't have tax as it's own meta and no meta was passed |
| 293 | - if ( '' === $tax ) { |
|
| 294 | - $tax = isset( $this->payment_meta['tax'] ) ? $this->payment_meta['tax'] : 0; |
|
| 293 | + if ('' === $tax) { |
|
| 294 | + $tax = isset($this->payment_meta['tax']) ? $this->payment_meta['tax'] : 0; |
|
| 295 | 295 | } |
| 296 | 296 | |
| 297 | - if ( $tax < 0 ) { |
|
| 297 | + if ($tax < 0) { |
|
| 298 | 298 | $tax = 0; |
| 299 | 299 | } |
| 300 | 300 | |
@@ -305,9 +305,9 @@ discard block |
||
| 305 | 305 | $subtotal = 0; |
| 306 | 306 | $cart_details = $this->cart_details; |
| 307 | 307 | |
| 308 | - if ( is_array( $cart_details ) ) { |
|
| 309 | - foreach ( $cart_details as $item ) { |
|
| 310 | - if ( isset( $item['subtotal'] ) ) { |
|
| 308 | + if (is_array($cart_details)) { |
|
| 309 | + foreach ($cart_details as $item) { |
|
| 310 | + if (isset($item['subtotal'])) { |
|
| 311 | 311 | $subtotal += $item['subtotal']; |
| 312 | 312 | } |
| 313 | 313 | } |
@@ -321,23 +321,23 @@ discard block |
||
| 321 | 321 | } |
| 322 | 322 | |
| 323 | 323 | private function setup_discounts() { |
| 324 | - $discounts = ! empty( $this->payment_meta['user_info']['discount'] ) ? $this->payment_meta['user_info']['discount'] : array(); |
|
| 324 | + $discounts = !empty($this->payment_meta['user_info']['discount']) ? $this->payment_meta['user_info']['discount'] : array(); |
|
| 325 | 325 | return $discounts; |
| 326 | 326 | } |
| 327 | 327 | |
| 328 | 328 | private function setup_total() { |
| 329 | - $amount = $this->get_meta( '_wpinv_total', true ); |
|
| 329 | + $amount = $this->get_meta('_wpinv_total', true); |
|
| 330 | 330 | |
| 331 | - if ( empty( $amount ) && '0.00' != $amount ) { |
|
| 332 | - $meta = $this->get_meta( '_wpinv_payment_meta', true ); |
|
| 333 | - $meta = maybe_unserialize( $meta ); |
|
| 331 | + if (empty($amount) && '0.00' != $amount) { |
|
| 332 | + $meta = $this->get_meta('_wpinv_payment_meta', true); |
|
| 333 | + $meta = maybe_unserialize($meta); |
|
| 334 | 334 | |
| 335 | - if ( isset( $meta['amount'] ) ) { |
|
| 335 | + if (isset($meta['amount'])) { |
|
| 336 | 336 | $amount = $meta['amount']; |
| 337 | 337 | } |
| 338 | 338 | } |
| 339 | 339 | |
| 340 | - if($amount < 0){ |
|
| 340 | + if ($amount < 0) { |
|
| 341 | 341 | $amount = 0; |
| 342 | 342 | } |
| 343 | 343 | |
@@ -345,13 +345,13 @@ discard block |
||
| 345 | 345 | } |
| 346 | 346 | |
| 347 | 347 | private function setup_mode() { |
| 348 | - return $this->get_meta( '_wpinv_mode' ); |
|
| 348 | + return $this->get_meta('_wpinv_mode'); |
|
| 349 | 349 | } |
| 350 | 350 | |
| 351 | 351 | private function setup_gateway() { |
| 352 | - $gateway = $this->get_meta( '_wpinv_gateway' ); |
|
| 352 | + $gateway = $this->get_meta('_wpinv_gateway'); |
|
| 353 | 353 | |
| 354 | - if ( empty( $gateway ) && 'publish' === $this->status ) { |
|
| 354 | + if (empty($gateway) && 'publish' === $this->status) { |
|
| 355 | 355 | $gateway = 'manual'; |
| 356 | 356 | } |
| 357 | 357 | |
@@ -359,23 +359,23 @@ discard block |
||
| 359 | 359 | } |
| 360 | 360 | |
| 361 | 361 | private function setup_gateway_title() { |
| 362 | - $gateway_title = wpinv_get_gateway_checkout_label( $this->gateway ); |
|
| 362 | + $gateway_title = wpinv_get_gateway_checkout_label($this->gateway); |
|
| 363 | 363 | return $gateway_title; |
| 364 | 364 | } |
| 365 | 365 | |
| 366 | 366 | private function setup_transaction_id() { |
| 367 | - $transaction_id = $this->get_meta( '_wpinv_transaction_id' ); |
|
| 367 | + $transaction_id = $this->get_meta('_wpinv_transaction_id'); |
|
| 368 | 368 | |
| 369 | - if ( empty( $transaction_id ) || (int) $transaction_id === (int) $this->ID ) { |
|
| 369 | + if (empty($transaction_id) || (int)$transaction_id === (int)$this->ID) { |
|
| 370 | 370 | $gateway = $this->gateway; |
| 371 | - $transaction_id = apply_filters( 'wpinv_get_invoice_transaction_id-' . $gateway, $this->ID ); |
|
| 371 | + $transaction_id = apply_filters('wpinv_get_invoice_transaction_id-' . $gateway, $this->ID); |
|
| 372 | 372 | } |
| 373 | 373 | |
| 374 | 374 | return $transaction_id; |
| 375 | 375 | } |
| 376 | 376 | |
| 377 | 377 | private function setup_ip() { |
| 378 | - $ip = $this->get_meta( '_wpinv_user_ip' ); |
|
| 378 | + $ip = $this->get_meta('_wpinv_user_ip'); |
|
| 379 | 379 | return $ip; |
| 380 | 380 | } |
| 381 | 381 | |
@@ -385,62 +385,62 @@ discard block |
||
| 385 | 385 | ///} |
| 386 | 386 | |
| 387 | 387 | private function setup_first_name() { |
| 388 | - $first_name = $this->get_meta( '_wpinv_first_name' ); |
|
| 388 | + $first_name = $this->get_meta('_wpinv_first_name'); |
|
| 389 | 389 | return $first_name; |
| 390 | 390 | } |
| 391 | 391 | |
| 392 | 392 | private function setup_last_name() { |
| 393 | - $last_name = $this->get_meta( '_wpinv_last_name' ); |
|
| 393 | + $last_name = $this->get_meta('_wpinv_last_name'); |
|
| 394 | 394 | return $last_name; |
| 395 | 395 | } |
| 396 | 396 | |
| 397 | 397 | private function setup_company() { |
| 398 | - $company = $this->get_meta( '_wpinv_company' ); |
|
| 398 | + $company = $this->get_meta('_wpinv_company'); |
|
| 399 | 399 | return $company; |
| 400 | 400 | } |
| 401 | 401 | |
| 402 | 402 | private function setup_vat_number() { |
| 403 | - $vat_number = $this->get_meta( '_wpinv_vat_number' ); |
|
| 403 | + $vat_number = $this->get_meta('_wpinv_vat_number'); |
|
| 404 | 404 | return $vat_number; |
| 405 | 405 | } |
| 406 | 406 | |
| 407 | 407 | private function setup_vat_rate() { |
| 408 | - $vat_rate = $this->get_meta( '_wpinv_vat_rate' ); |
|
| 408 | + $vat_rate = $this->get_meta('_wpinv_vat_rate'); |
|
| 409 | 409 | return $vat_rate; |
| 410 | 410 | } |
| 411 | 411 | |
| 412 | 412 | private function setup_adddress_confirmed() { |
| 413 | - $adddress_confirmed = $this->get_meta( '_wpinv_adddress_confirmed' ); |
|
| 413 | + $adddress_confirmed = $this->get_meta('_wpinv_adddress_confirmed'); |
|
| 414 | 414 | return $adddress_confirmed; |
| 415 | 415 | } |
| 416 | 416 | |
| 417 | 417 | private function setup_phone() { |
| 418 | - $phone = $this->get_meta( '_wpinv_phone' ); |
|
| 418 | + $phone = $this->get_meta('_wpinv_phone'); |
|
| 419 | 419 | return $phone; |
| 420 | 420 | } |
| 421 | 421 | |
| 422 | 422 | private function setup_address() { |
| 423 | - $address = $this->get_meta( '_wpinv_address', true ); |
|
| 423 | + $address = $this->get_meta('_wpinv_address', true); |
|
| 424 | 424 | return $address; |
| 425 | 425 | } |
| 426 | 426 | |
| 427 | 427 | private function setup_city() { |
| 428 | - $city = $this->get_meta( '_wpinv_city', true ); |
|
| 428 | + $city = $this->get_meta('_wpinv_city', true); |
|
| 429 | 429 | return $city; |
| 430 | 430 | } |
| 431 | 431 | |
| 432 | 432 | private function setup_country() { |
| 433 | - $country = $this->get_meta( '_wpinv_country', true ); |
|
| 433 | + $country = $this->get_meta('_wpinv_country', true); |
|
| 434 | 434 | return $country; |
| 435 | 435 | } |
| 436 | 436 | |
| 437 | 437 | private function setup_state() { |
| 438 | - $state = $this->get_meta( '_wpinv_state', true ); |
|
| 438 | + $state = $this->get_meta('_wpinv_state', true); |
|
| 439 | 439 | return $state; |
| 440 | 440 | } |
| 441 | 441 | |
| 442 | 442 | private function setup_zip() { |
| 443 | - $zip = $this->get_meta( '_wpinv_zip', true ); |
|
| 443 | + $zip = $this->get_meta('_wpinv_zip', true); |
|
| 444 | 444 | return $zip; |
| 445 | 445 | } |
| 446 | 446 | |
@@ -449,7 +449,7 @@ discard block |
||
| 449 | 449 | 'user_id' => $this->user_id, |
| 450 | 450 | 'first_name' => $this->first_name, |
| 451 | 451 | 'last_name' => $this->last_name, |
| 452 | - 'email' => get_the_author_meta( 'email', $this->user_id ), |
|
| 452 | + 'email' => get_the_author_meta('email', $this->user_id), |
|
| 453 | 453 | 'phone' => $this->phone, |
| 454 | 454 | 'address' => $this->address, |
| 455 | 455 | 'city' => $this->city, |
@@ -464,12 +464,12 @@ discard block |
||
| 464 | 464 | ); |
| 465 | 465 | |
| 466 | 466 | $user_info = array(); |
| 467 | - if ( isset( $this->payment_meta['user_info'] ) ) { |
|
| 468 | - $user_info = maybe_unserialize( $this->payment_meta['user_info'] ); |
|
| 467 | + if (isset($this->payment_meta['user_info'])) { |
|
| 468 | + $user_info = maybe_unserialize($this->payment_meta['user_info']); |
|
| 469 | 469 | |
| 470 | - if ( !empty( $user_info ) && isset( $user_info['user_id'] ) && $post = get_post( $this->ID ) ) { |
|
| 470 | + if (!empty($user_info) && isset($user_info['user_id']) && $post = get_post($this->ID)) { |
|
| 471 | 471 | $this->user_id = $post->post_author; |
| 472 | - $this->email = get_the_author_meta( 'email', $this->user_id ); |
|
| 472 | + $this->email = get_the_author_meta('email', $this->user_id); |
|
| 473 | 473 | |
| 474 | 474 | $user_info['user_id'] = $this->user_id; |
| 475 | 475 | $user_info['email'] = $this->email; |
@@ -478,13 +478,13 @@ discard block |
||
| 478 | 478 | } |
| 479 | 479 | } |
| 480 | 480 | |
| 481 | - $user_info = wp_parse_args( $user_info, $defaults ); |
|
| 481 | + $user_info = wp_parse_args($user_info, $defaults); |
|
| 482 | 482 | |
| 483 | 483 | // Get the user, but only if it's been created |
| 484 | - $user = get_userdata( $this->user_id ); |
|
| 484 | + $user = get_userdata($this->user_id); |
|
| 485 | 485 | |
| 486 | - if ( !empty( $user ) && $user->ID > 0 ) { |
|
| 487 | - if ( empty( $user_info ) ) { |
|
| 486 | + if (!empty($user) && $user->ID > 0) { |
|
| 487 | + if (empty($user_info)) { |
|
| 488 | 488 | $user_info = array( |
| 489 | 489 | 'user_id' => $user->ID, |
| 490 | 490 | 'first_name' => $user->first_name, |
@@ -493,23 +493,23 @@ discard block |
||
| 493 | 493 | 'discount' => '', |
| 494 | 494 | ); |
| 495 | 495 | } else { |
| 496 | - foreach ( $user_info as $key => $value ) { |
|
| 497 | - if ( ! empty( $value ) ) { |
|
| 496 | + foreach ($user_info as $key => $value) { |
|
| 497 | + if (!empty($value)) { |
|
| 498 | 498 | continue; |
| 499 | 499 | } |
| 500 | 500 | |
| 501 | - switch( $key ) { |
|
| 501 | + switch ($key) { |
|
| 502 | 502 | case 'user_id': |
| 503 | - $user_info[ $key ] = $user->ID; |
|
| 503 | + $user_info[$key] = $user->ID; |
|
| 504 | 504 | break; |
| 505 | 505 | case 'first_name': |
| 506 | - $user_info[ $key ] = $user->first_name; |
|
| 506 | + $user_info[$key] = $user->first_name; |
|
| 507 | 507 | break; |
| 508 | 508 | case 'last_name': |
| 509 | - $user_info[ $key ] = $user->last_name; |
|
| 509 | + $user_info[$key] = $user->last_name; |
|
| 510 | 510 | break; |
| 511 | 511 | case 'email': |
| 512 | - $user_info[ $key ] = $user->user_email; |
|
| 512 | + $user_info[$key] = $user->user_email; |
|
| 513 | 513 | break; |
| 514 | 514 | } |
| 515 | 515 | } |
@@ -520,25 +520,25 @@ discard block |
||
| 520 | 520 | } |
| 521 | 521 | |
| 522 | 522 | private function setup_invoice_key() { |
| 523 | - $key = $this->get_meta( '_wpinv_key', true ); |
|
| 523 | + $key = $this->get_meta('_wpinv_key', true); |
|
| 524 | 524 | |
| 525 | 525 | return $key; |
| 526 | 526 | } |
| 527 | 527 | |
| 528 | 528 | private function setup_invoice_number() { |
| 529 | - $number = $this->get_meta( '_wpinv_number', true ); |
|
| 529 | + $number = $this->get_meta('_wpinv_number', true); |
|
| 530 | 530 | |
| 531 | - if ( !$number ) { |
|
| 531 | + if (!$number) { |
|
| 532 | 532 | $number = $this->ID; |
| 533 | 533 | |
| 534 | - if ( $this->status == 'auto-draft' ) { |
|
| 535 | - if ( wpinv_sequential_number_active( $this->post_type ) ) { |
|
| 536 | - $next_number = wpinv_get_next_invoice_number( $this->post_type ); |
|
| 534 | + if ($this->status == 'auto-draft') { |
|
| 535 | + if (wpinv_sequential_number_active($this->post_type)) { |
|
| 536 | + $next_number = wpinv_get_next_invoice_number($this->post_type); |
|
| 537 | 537 | $number = $next_number; |
| 538 | 538 | } |
| 539 | 539 | } |
| 540 | 540 | |
| 541 | - $number = wpinv_format_invoice_number( $number, $this->post_type ); |
|
| 541 | + $number = wpinv_format_invoice_number($number, $this->post_type); |
|
| 542 | 542 | } |
| 543 | 543 | |
| 544 | 544 | return $number; |
@@ -547,10 +547,10 @@ discard block |
||
| 547 | 547 | private function insert_invoice() { |
| 548 | 548 | global $wpdb; |
| 549 | 549 | |
| 550 | - if ( empty( $this->post_type ) ) { |
|
| 551 | - if ( !empty( $this->ID ) && $post_type = get_post_type( $this->ID ) ) { |
|
| 550 | + if (empty($this->post_type)) { |
|
| 551 | + if (!empty($this->ID) && $post_type = get_post_type($this->ID)) { |
|
| 552 | 552 | $this->post_type = $post_type; |
| 553 | - } else if ( !empty( $this->parent_invoice ) && $post_type = get_post_type( $this->parent_invoice ) ) { |
|
| 553 | + } else if (!empty($this->parent_invoice) && $post_type = get_post_type($this->parent_invoice)) { |
|
| 554 | 554 | $this->post_type = $post_type; |
| 555 | 555 | } else { |
| 556 | 556 | $this->post_type = 'wpi_invoice'; |
@@ -558,16 +558,16 @@ discard block |
||
| 558 | 558 | } |
| 559 | 559 | |
| 560 | 560 | $invoice_number = $this->ID; |
| 561 | - if ( $number = $this->get_meta( '_wpinv_number', true ) ) { |
|
| 561 | + if ($number = $this->get_meta('_wpinv_number', true)) { |
|
| 562 | 562 | $invoice_number = $number; |
| 563 | 563 | } |
| 564 | 564 | |
| 565 | - if ( empty( $this->key ) ) { |
|
| 565 | + if (empty($this->key)) { |
|
| 566 | 566 | $this->key = self::generate_key(); |
| 567 | 567 | $this->pending['key'] = $this->key; |
| 568 | 568 | } |
| 569 | 569 | |
| 570 | - if ( empty( $this->ip ) ) { |
|
| 570 | + if (empty($this->ip)) { |
|
| 571 | 571 | $this->ip = wpinv_get_ip(); |
| 572 | 572 | $this->pending['ip'] = $this->ip; |
| 573 | 573 | } |
@@ -604,61 +604,61 @@ discard block |
||
| 604 | 604 | 'post_status' => $this->status, |
| 605 | 605 | 'post_author' => $this->user_id, |
| 606 | 606 | 'post_type' => $this->post_type, |
| 607 | - 'post_date' => ! empty( $this->date ) && $this->date != '0000-00-00 00:00:00' ? $this->date : current_time( 'mysql' ), |
|
| 608 | - 'post_date_gmt' => ! empty( $this->date ) && $this->date != '0000-00-00 00:00:00' ? get_gmt_from_date( $this->date ) : current_time( 'mysql', 1 ), |
|
| 607 | + 'post_date' => !empty($this->date) && $this->date != '0000-00-00 00:00:00' ? $this->date : current_time('mysql'), |
|
| 608 | + 'post_date_gmt' => !empty($this->date) && $this->date != '0000-00-00 00:00:00' ? get_gmt_from_date($this->date) : current_time('mysql', 1), |
|
| 609 | 609 | 'post_parent' => $this->parent_invoice, |
| 610 | 610 | ); |
| 611 | - $args = apply_filters( 'wpinv_insert_invoice_args', $post_data, $this ); |
|
| 611 | + $args = apply_filters('wpinv_insert_invoice_args', $post_data, $this); |
|
| 612 | 612 | |
| 613 | 613 | // Create a blank invoice |
| 614 | - if ( !empty( $this->ID ) ) { |
|
| 615 | - $args['ID'] = $this->ID; |
|
| 614 | + if (!empty($this->ID)) { |
|
| 615 | + $args['ID'] = $this->ID; |
|
| 616 | 616 | |
| 617 | - $invoice_id = wp_update_post( $args, true ); |
|
| 617 | + $invoice_id = wp_update_post($args, true); |
|
| 618 | 618 | } else { |
| 619 | - $invoice_id = wp_insert_post( $args, true ); |
|
| 619 | + $invoice_id = wp_insert_post($args, true); |
|
| 620 | 620 | } |
| 621 | 621 | |
| 622 | - if ( is_wp_error( $invoice_id ) ) { |
|
| 622 | + if (is_wp_error($invoice_id)) { |
|
| 623 | 623 | return false; |
| 624 | 624 | } |
| 625 | 625 | |
| 626 | - if ( !empty( $invoice_id ) ) { |
|
| 626 | + if (!empty($invoice_id)) { |
|
| 627 | 627 | $this->ID = $invoice_id; |
| 628 | 628 | $this->_ID = $invoice_id; |
| 629 | 629 | |
| 630 | - $this->payment_meta = apply_filters( 'wpinv_payment_meta', $this->payment_meta, $payment_data ); |
|
| 631 | - if ( ! empty( $this->payment_meta['fees'] ) ) { |
|
| 632 | - $this->fees = array_merge( $this->fees, $this->payment_meta['fees'] ); |
|
| 633 | - foreach( $this->fees as $fee ) { |
|
| 634 | - $this->increase_fees( $fee['amount'] ); |
|
| 630 | + $this->payment_meta = apply_filters('wpinv_payment_meta', $this->payment_meta, $payment_data); |
|
| 631 | + if (!empty($this->payment_meta['fees'])) { |
|
| 632 | + $this->fees = array_merge($this->fees, $this->payment_meta['fees']); |
|
| 633 | + foreach ($this->fees as $fee) { |
|
| 634 | + $this->increase_fees($fee['amount']); |
|
| 635 | 635 | } |
| 636 | 636 | } |
| 637 | 637 | |
| 638 | - $this->update_meta( '_wpinv_payment_meta', $this->payment_meta ); |
|
| 638 | + $this->update_meta('_wpinv_payment_meta', $this->payment_meta); |
|
| 639 | 639 | $this->new = true; |
| 640 | 640 | } |
| 641 | 641 | |
| 642 | 642 | return $this->ID; |
| 643 | 643 | } |
| 644 | 644 | |
| 645 | - public function save( $setup = false ) { |
|
| 645 | + public function save($setup = false) { |
|
| 646 | 646 | global $wpi_session; |
| 647 | 647 | |
| 648 | 648 | $saved = false; |
| 649 | - if ( empty( $this->items ) ) { |
|
| 649 | + if (empty($this->items)) { |
|
| 650 | 650 | return $saved; // Don't save empty invoice. |
| 651 | 651 | } |
| 652 | 652 | |
| 653 | - if ( empty( $this->key ) ) { |
|
| 653 | + if (empty($this->key)) { |
|
| 654 | 654 | $this->key = self::generate_key(); |
| 655 | 655 | $this->pending['key'] = $this->key; |
| 656 | 656 | } |
| 657 | 657 | |
| 658 | - if ( empty( $this->ID ) ) { |
|
| 658 | + if (empty($this->ID)) { |
|
| 659 | 659 | $invoice_id = $this->insert_invoice(); |
| 660 | 660 | |
| 661 | - if ( false === $invoice_id ) { |
|
| 661 | + if (false === $invoice_id) { |
|
| 662 | 662 | $saved = false; |
| 663 | 663 | } else { |
| 664 | 664 | $this->ID = $invoice_id; |
@@ -666,27 +666,27 @@ discard block |
||
| 666 | 666 | } |
| 667 | 667 | |
| 668 | 668 | // If we have something pending, let's save it |
| 669 | - if ( !empty( $this->pending ) ) { |
|
| 669 | + if (!empty($this->pending)) { |
|
| 670 | 670 | $total_increase = 0; |
| 671 | 671 | $total_decrease = 0; |
| 672 | 672 | |
| 673 | - foreach ( $this->pending as $key => $value ) { |
|
| 674 | - switch( $key ) { |
|
| 673 | + foreach ($this->pending as $key => $value) { |
|
| 674 | + switch ($key) { |
|
| 675 | 675 | case 'items': |
| 676 | 676 | // Update totals for pending items |
| 677 | - foreach ( $this->pending[ $key ] as $item ) { |
|
| 678 | - switch( $item['action'] ) { |
|
| 677 | + foreach ($this->pending[$key] as $item) { |
|
| 678 | + switch ($item['action']) { |
|
| 679 | 679 | case 'add': |
| 680 | 680 | $price = $item['price']; |
| 681 | 681 | $taxes = $item['tax']; |
| 682 | 682 | |
| 683 | - if ( 'publish' === $this->status ) { |
|
| 683 | + if ('publish' === $this->status) { |
|
| 684 | 684 | $total_increase += $price; |
| 685 | 685 | } |
| 686 | 686 | break; |
| 687 | 687 | |
| 688 | 688 | case 'remove': |
| 689 | - if ( 'publish' === $this->status ) { |
|
| 689 | + if ('publish' === $this->status) { |
|
| 690 | 690 | $total_decrease += $item['price']; |
| 691 | 691 | } |
| 692 | 692 | break; |
@@ -694,16 +694,16 @@ discard block |
||
| 694 | 694 | } |
| 695 | 695 | break; |
| 696 | 696 | case 'fees': |
| 697 | - if ( 'publish' !== $this->status ) { |
|
| 697 | + if ('publish' !== $this->status) { |
|
| 698 | 698 | break; |
| 699 | 699 | } |
| 700 | 700 | |
| 701 | - if ( empty( $this->pending[ $key ] ) ) { |
|
| 701 | + if (empty($this->pending[$key])) { |
|
| 702 | 702 | break; |
| 703 | 703 | } |
| 704 | 704 | |
| 705 | - foreach ( $this->pending[ $key ] as $fee ) { |
|
| 706 | - switch( $fee['action'] ) { |
|
| 705 | + foreach ($this->pending[$key] as $fee) { |
|
| 706 | + switch ($fee['action']) { |
|
| 707 | 707 | case 'add': |
| 708 | 708 | $total_increase += $fee['amount']; |
| 709 | 709 | break; |
@@ -715,83 +715,83 @@ discard block |
||
| 715 | 715 | } |
| 716 | 716 | break; |
| 717 | 717 | case 'status': |
| 718 | - $this->update_status( $this->status ); |
|
| 718 | + $this->update_status($this->status); |
|
| 719 | 719 | break; |
| 720 | 720 | case 'gateway': |
| 721 | - $this->update_meta( '_wpinv_gateway', $this->gateway ); |
|
| 721 | + $this->update_meta('_wpinv_gateway', $this->gateway); |
|
| 722 | 722 | break; |
| 723 | 723 | case 'mode': |
| 724 | - $this->update_meta( '_wpinv_mode', $this->mode ); |
|
| 724 | + $this->update_meta('_wpinv_mode', $this->mode); |
|
| 725 | 725 | break; |
| 726 | 726 | case 'transaction_id': |
| 727 | - $this->update_meta( '_wpinv_transaction_id', $this->transaction_id ); |
|
| 727 | + $this->update_meta('_wpinv_transaction_id', $this->transaction_id); |
|
| 728 | 728 | break; |
| 729 | 729 | case 'ip': |
| 730 | - $this->update_meta( '_wpinv_user_ip', $this->ip ); |
|
| 730 | + $this->update_meta('_wpinv_user_ip', $this->ip); |
|
| 731 | 731 | break; |
| 732 | 732 | ///case 'user_id': |
| 733 | 733 | ///$this->update_meta( '_wpinv_user_id', $this->user_id ); |
| 734 | 734 | ///$this->user_info['user_id'] = $this->user_id; |
| 735 | 735 | ///break; |
| 736 | 736 | case 'first_name': |
| 737 | - $this->update_meta( '_wpinv_first_name', $this->first_name ); |
|
| 737 | + $this->update_meta('_wpinv_first_name', $this->first_name); |
|
| 738 | 738 | $this->user_info['first_name'] = $this->first_name; |
| 739 | 739 | break; |
| 740 | 740 | case 'last_name': |
| 741 | - $this->update_meta( '_wpinv_last_name', $this->last_name ); |
|
| 741 | + $this->update_meta('_wpinv_last_name', $this->last_name); |
|
| 742 | 742 | $this->user_info['last_name'] = $this->last_name; |
| 743 | 743 | break; |
| 744 | 744 | case 'phone': |
| 745 | - $this->update_meta( '_wpinv_phone', $this->phone ); |
|
| 745 | + $this->update_meta('_wpinv_phone', $this->phone); |
|
| 746 | 746 | $this->user_info['phone'] = $this->phone; |
| 747 | 747 | break; |
| 748 | 748 | case 'address': |
| 749 | - $this->update_meta( '_wpinv_address', $this->address ); |
|
| 749 | + $this->update_meta('_wpinv_address', $this->address); |
|
| 750 | 750 | $this->user_info['address'] = $this->address; |
| 751 | 751 | break; |
| 752 | 752 | case 'city': |
| 753 | - $this->update_meta( '_wpinv_city', $this->city ); |
|
| 753 | + $this->update_meta('_wpinv_city', $this->city); |
|
| 754 | 754 | $this->user_info['city'] = $this->city; |
| 755 | 755 | break; |
| 756 | 756 | case 'country': |
| 757 | - $this->update_meta( '_wpinv_country', $this->country ); |
|
| 757 | + $this->update_meta('_wpinv_country', $this->country); |
|
| 758 | 758 | $this->user_info['country'] = $this->country; |
| 759 | 759 | break; |
| 760 | 760 | case 'state': |
| 761 | - $this->update_meta( '_wpinv_state', $this->state ); |
|
| 761 | + $this->update_meta('_wpinv_state', $this->state); |
|
| 762 | 762 | $this->user_info['state'] = $this->state; |
| 763 | 763 | break; |
| 764 | 764 | case 'zip': |
| 765 | - $this->update_meta( '_wpinv_zip', $this->zip ); |
|
| 765 | + $this->update_meta('_wpinv_zip', $this->zip); |
|
| 766 | 766 | $this->user_info['zip'] = $this->zip; |
| 767 | 767 | break; |
| 768 | 768 | case 'company': |
| 769 | - $this->update_meta( '_wpinv_company', $this->company ); |
|
| 769 | + $this->update_meta('_wpinv_company', $this->company); |
|
| 770 | 770 | $this->user_info['company'] = $this->company; |
| 771 | 771 | break; |
| 772 | 772 | case 'vat_number': |
| 773 | - $this->update_meta( '_wpinv_vat_number', $this->vat_number ); |
|
| 773 | + $this->update_meta('_wpinv_vat_number', $this->vat_number); |
|
| 774 | 774 | $this->user_info['vat_number'] = $this->vat_number; |
| 775 | 775 | |
| 776 | - $vat_info = $wpi_session->get( 'user_vat_data' ); |
|
| 777 | - if ( $this->vat_number && !empty( $vat_info ) && isset( $vat_info['number'] ) && isset( $vat_info['valid'] ) && $vat_info['number'] == $this->vat_number ) { |
|
| 778 | - $adddress_confirmed = isset( $vat_info['adddress_confirmed'] ) ? $vat_info['adddress_confirmed'] : false; |
|
| 779 | - $this->update_meta( '_wpinv_adddress_confirmed', (bool)$adddress_confirmed ); |
|
| 776 | + $vat_info = $wpi_session->get('user_vat_data'); |
|
| 777 | + if ($this->vat_number && !empty($vat_info) && isset($vat_info['number']) && isset($vat_info['valid']) && $vat_info['number'] == $this->vat_number) { |
|
| 778 | + $adddress_confirmed = isset($vat_info['adddress_confirmed']) ? $vat_info['adddress_confirmed'] : false; |
|
| 779 | + $this->update_meta('_wpinv_adddress_confirmed', (bool)$adddress_confirmed); |
|
| 780 | 780 | $this->user_info['adddress_confirmed'] = (bool)$adddress_confirmed; |
| 781 | 781 | } |
| 782 | 782 | |
| 783 | 783 | break; |
| 784 | 784 | case 'vat_rate': |
| 785 | - $this->update_meta( '_wpinv_vat_rate', $this->vat_rate ); |
|
| 785 | + $this->update_meta('_wpinv_vat_rate', $this->vat_rate); |
|
| 786 | 786 | $this->user_info['vat_rate'] = $this->vat_rate; |
| 787 | 787 | break; |
| 788 | 788 | case 'adddress_confirmed': |
| 789 | - $this->update_meta( '_wpinv_adddress_confirmed', $this->adddress_confirmed ); |
|
| 789 | + $this->update_meta('_wpinv_adddress_confirmed', $this->adddress_confirmed); |
|
| 790 | 790 | $this->user_info['adddress_confirmed'] = $this->adddress_confirmed; |
| 791 | 791 | break; |
| 792 | 792 | |
| 793 | 793 | case 'key': |
| 794 | - $this->update_meta( '_wpinv_key', $this->key ); |
|
| 794 | + $this->update_meta('_wpinv_key', $this->key); |
|
| 795 | 795 | break; |
| 796 | 796 | case 'date': |
| 797 | 797 | $args = array( |
@@ -800,49 +800,49 @@ discard block |
||
| 800 | 800 | 'edit_date' => true, |
| 801 | 801 | ); |
| 802 | 802 | |
| 803 | - wp_update_post( $args ); |
|
| 803 | + wp_update_post($args); |
|
| 804 | 804 | break; |
| 805 | 805 | case 'due_date': |
| 806 | - if ( empty( $this->due_date ) ) { |
|
| 806 | + if (empty($this->due_date)) { |
|
| 807 | 807 | $this->due_date = 'none'; |
| 808 | 808 | } |
| 809 | 809 | |
| 810 | - $this->update_meta( '_wpinv_due_date', $this->due_date ); |
|
| 810 | + $this->update_meta('_wpinv_due_date', $this->due_date); |
|
| 811 | 811 | break; |
| 812 | 812 | case 'completed_date': |
| 813 | - $this->update_meta( '_wpinv_completed_date', $this->completed_date ); |
|
| 813 | + $this->update_meta('_wpinv_completed_date', $this->completed_date); |
|
| 814 | 814 | break; |
| 815 | 815 | case 'discounts': |
| 816 | - if ( ! is_array( $this->discounts ) ) { |
|
| 817 | - $this->discounts = explode( ',', $this->discounts ); |
|
| 816 | + if (!is_array($this->discounts)) { |
|
| 817 | + $this->discounts = explode(',', $this->discounts); |
|
| 818 | 818 | } |
| 819 | 819 | |
| 820 | - $this->user_info['discount'] = implode( ',', $this->discounts ); |
|
| 820 | + $this->user_info['discount'] = implode(',', $this->discounts); |
|
| 821 | 821 | break; |
| 822 | 822 | case 'discount': |
| 823 | - $this->update_meta( '_wpinv_discount', wpinv_round_amount( $this->discount ) ); |
|
| 823 | + $this->update_meta('_wpinv_discount', wpinv_round_amount($this->discount)); |
|
| 824 | 824 | break; |
| 825 | 825 | case 'discount_code': |
| 826 | - $this->update_meta( '_wpinv_discount_code', $this->discount_code ); |
|
| 826 | + $this->update_meta('_wpinv_discount_code', $this->discount_code); |
|
| 827 | 827 | break; |
| 828 | 828 | case 'parent_invoice': |
| 829 | 829 | $args = array( |
| 830 | 830 | 'ID' => $this->ID, |
| 831 | 831 | 'post_parent' => $this->parent_invoice, |
| 832 | 832 | ); |
| 833 | - wp_update_post( $args ); |
|
| 833 | + wp_update_post($args); |
|
| 834 | 834 | break; |
| 835 | 835 | default: |
| 836 | - do_action( 'wpinv_save', $this, $key ); |
|
| 836 | + do_action('wpinv_save', $this, $key); |
|
| 837 | 837 | break; |
| 838 | 838 | } |
| 839 | 839 | } |
| 840 | 840 | |
| 841 | - $this->update_meta( '_wpinv_subtotal', wpinv_round_amount( $this->subtotal ) ); |
|
| 842 | - $this->update_meta( '_wpinv_total', wpinv_round_amount( $this->total ) ); |
|
| 843 | - $this->update_meta( '_wpinv_tax', wpinv_round_amount( $this->tax ) ); |
|
| 841 | + $this->update_meta('_wpinv_subtotal', wpinv_round_amount($this->subtotal)); |
|
| 842 | + $this->update_meta('_wpinv_total', wpinv_round_amount($this->total)); |
|
| 843 | + $this->update_meta('_wpinv_tax', wpinv_round_amount($this->tax)); |
|
| 844 | 844 | |
| 845 | - $this->items = array_values( $this->items ); |
|
| 845 | + $this->items = array_values($this->items); |
|
| 846 | 846 | |
| 847 | 847 | $new_meta = array( |
| 848 | 848 | 'items' => $this->items, |
@@ -853,12 +853,12 @@ discard block |
||
| 853 | 853 | ); |
| 854 | 854 | |
| 855 | 855 | $meta = $this->get_meta(); |
| 856 | - $merged_meta = array_merge( $meta, $new_meta ); |
|
| 856 | + $merged_meta = array_merge($meta, $new_meta); |
|
| 857 | 857 | |
| 858 | 858 | // Only save the payment meta if it's changed |
| 859 | - if ( md5( serialize( $meta ) ) !== md5( serialize( $merged_meta) ) ) { |
|
| 860 | - $updated = $this->update_meta( '_wpinv_payment_meta', $merged_meta ); |
|
| 861 | - if ( false !== $updated ) { |
|
| 859 | + if (md5(serialize($meta)) !== md5(serialize($merged_meta))) { |
|
| 860 | + $updated = $this->update_meta('_wpinv_payment_meta', $merged_meta); |
|
| 861 | + if (false !== $updated) { |
|
| 862 | 862 | $saved = true; |
| 863 | 863 | } |
| 864 | 864 | } |
@@ -866,15 +866,15 @@ discard block |
||
| 866 | 866 | $this->pending = array(); |
| 867 | 867 | $saved = true; |
| 868 | 868 | } else { |
| 869 | - $this->update_meta( '_wpinv_subtotal', wpinv_round_amount( $this->subtotal ) ); |
|
| 870 | - $this->update_meta( '_wpinv_total', wpinv_round_amount( $this->total ) ); |
|
| 871 | - $this->update_meta( '_wpinv_tax', wpinv_round_amount( $this->tax ) ); |
|
| 869 | + $this->update_meta('_wpinv_subtotal', wpinv_round_amount($this->subtotal)); |
|
| 870 | + $this->update_meta('_wpinv_total', wpinv_round_amount($this->total)); |
|
| 871 | + $this->update_meta('_wpinv_tax', wpinv_round_amount($this->tax)); |
|
| 872 | 872 | } |
| 873 | 873 | |
| 874 | - do_action( 'wpinv_invoice_save', $this, $saved ); |
|
| 874 | + do_action('wpinv_invoice_save', $this, $saved); |
|
| 875 | 875 | |
| 876 | - if ( true === $saved || $setup ) { |
|
| 877 | - $this->setup_invoice( $this->ID ); |
|
| 876 | + if (true === $saved || $setup) { |
|
| 877 | + $this->setup_invoice($this->ID); |
|
| 878 | 878 | } |
| 879 | 879 | |
| 880 | 880 | $this->refresh_item_ids(); |
@@ -882,7 +882,7 @@ discard block |
||
| 882 | 882 | return $saved; |
| 883 | 883 | } |
| 884 | 884 | |
| 885 | - public function add_fee( $args, $global = true ) { |
|
| 885 | + public function add_fee($args, $global = true) { |
|
| 886 | 886 | $default_args = array( |
| 887 | 887 | 'label' => '', |
| 888 | 888 | 'amount' => 0, |
@@ -892,75 +892,75 @@ discard block |
||
| 892 | 892 | 'item_id' => 0, |
| 893 | 893 | ); |
| 894 | 894 | |
| 895 | - $fee = wp_parse_args( $args, $default_args ); |
|
| 895 | + $fee = wp_parse_args($args, $default_args); |
|
| 896 | 896 | |
| 897 | - if ( empty( $fee['label'] ) ) { |
|
| 897 | + if (empty($fee['label'])) { |
|
| 898 | 898 | return false; |
| 899 | 899 | } |
| 900 | 900 | |
| 901 | - $fee['id'] = sanitize_title( $fee['label'] ); |
|
| 901 | + $fee['id'] = sanitize_title($fee['label']); |
|
| 902 | 902 | |
| 903 | - $this->fees[] = $fee; |
|
| 903 | + $this->fees[] = $fee; |
|
| 904 | 904 | |
| 905 | 905 | $added_fee = $fee; |
| 906 | 906 | $added_fee['action'] = 'add'; |
| 907 | 907 | $this->pending['fees'][] = $added_fee; |
| 908 | - reset( $this->fees ); |
|
| 908 | + reset($this->fees); |
|
| 909 | 909 | |
| 910 | - $this->increase_fees( $fee['amount'] ); |
|
| 910 | + $this->increase_fees($fee['amount']); |
|
| 911 | 911 | return true; |
| 912 | 912 | } |
| 913 | 913 | |
| 914 | - public function remove_fee( $key ) { |
|
| 914 | + public function remove_fee($key) { |
|
| 915 | 915 | $removed = false; |
| 916 | 916 | |
| 917 | - if ( is_numeric( $key ) ) { |
|
| 918 | - $removed = $this->remove_fee_by( 'index', $key ); |
|
| 917 | + if (is_numeric($key)) { |
|
| 918 | + $removed = $this->remove_fee_by('index', $key); |
|
| 919 | 919 | } |
| 920 | 920 | |
| 921 | 921 | return $removed; |
| 922 | 922 | } |
| 923 | 923 | |
| 924 | - public function remove_fee_by( $key, $value, $global = false ) { |
|
| 925 | - $allowed_fee_keys = apply_filters( 'wpinv_fee_keys', array( |
|
| 924 | + public function remove_fee_by($key, $value, $global = false) { |
|
| 925 | + $allowed_fee_keys = apply_filters('wpinv_fee_keys', array( |
|
| 926 | 926 | 'index', 'label', 'amount', 'type', |
| 927 | - ) ); |
|
| 927 | + )); |
|
| 928 | 928 | |
| 929 | - if ( ! in_array( $key, $allowed_fee_keys ) ) { |
|
| 929 | + if (!in_array($key, $allowed_fee_keys)) { |
|
| 930 | 930 | return false; |
| 931 | 931 | } |
| 932 | 932 | |
| 933 | 933 | $removed = false; |
| 934 | - if ( 'index' === $key && array_key_exists( $value, $this->fees ) ) { |
|
| 935 | - $removed_fee = $this->fees[ $value ]; |
|
| 934 | + if ('index' === $key && array_key_exists($value, $this->fees)) { |
|
| 935 | + $removed_fee = $this->fees[$value]; |
|
| 936 | 936 | $removed_fee['action'] = 'remove'; |
| 937 | 937 | $this->pending['fees'][] = $removed_fee; |
| 938 | 938 | |
| 939 | - $this->decrease_fees( $removed_fee['amount'] ); |
|
| 939 | + $this->decrease_fees($removed_fee['amount']); |
|
| 940 | 940 | |
| 941 | - unset( $this->fees[ $value ] ); |
|
| 941 | + unset($this->fees[$value]); |
|
| 942 | 942 | $removed = true; |
| 943 | - } else if ( 'index' !== $key ) { |
|
| 944 | - foreach ( $this->fees as $index => $fee ) { |
|
| 945 | - if ( isset( $fee[ $key ] ) && $fee[ $key ] == $value ) { |
|
| 943 | + } else if ('index' !== $key) { |
|
| 944 | + foreach ($this->fees as $index => $fee) { |
|
| 945 | + if (isset($fee[$key]) && $fee[$key] == $value) { |
|
| 946 | 946 | $removed_fee = $fee; |
| 947 | 947 | $removed_fee['action'] = 'remove'; |
| 948 | 948 | $this->pending['fees'][] = $removed_fee; |
| 949 | 949 | |
| 950 | - $this->decrease_fees( $removed_fee['amount'] ); |
|
| 950 | + $this->decrease_fees($removed_fee['amount']); |
|
| 951 | 951 | |
| 952 | - unset( $this->fees[ $index ] ); |
|
| 952 | + unset($this->fees[$index]); |
|
| 953 | 953 | $removed = true; |
| 954 | 954 | |
| 955 | - if ( false === $global ) { |
|
| 955 | + if (false === $global) { |
|
| 956 | 956 | break; |
| 957 | 957 | } |
| 958 | 958 | } |
| 959 | 959 | } |
| 960 | 960 | } |
| 961 | 961 | |
| 962 | - if ( true === $removed ) { |
|
| 963 | - $this->fees = array_values( $this->fees ); |
|
| 962 | + if (true === $removed) { |
|
| 963 | + $this->fees = array_values($this->fees); |
|
| 964 | 964 | } |
| 965 | 965 | |
| 966 | 966 | return $removed; |
@@ -968,35 +968,35 @@ discard block |
||
| 968 | 968 | |
| 969 | 969 | |
| 970 | 970 | |
| 971 | - public function add_note( $note = '', $customer_type = false, $added_by_user = false, $system = false ) { |
|
| 971 | + public function add_note($note = '', $customer_type = false, $added_by_user = false, $system = false) { |
|
| 972 | 972 | // Bail if no note specified |
| 973 | - if( !$note ) { |
|
| 973 | + if (!$note) { |
|
| 974 | 974 | return false; |
| 975 | 975 | } |
| 976 | 976 | |
| 977 | - if ( empty( $this->ID ) ) |
|
| 977 | + if (empty($this->ID)) |
|
| 978 | 978 | return false; |
| 979 | 979 | |
| 980 | - if ( ( ( is_user_logged_in() && wpinv_current_user_can_manage_invoicing() ) || $added_by_user ) && !$system ) { |
|
| 981 | - $user = get_user_by( 'id', get_current_user_id() ); |
|
| 980 | + if (((is_user_logged_in() && wpinv_current_user_can_manage_invoicing()) || $added_by_user) && !$system) { |
|
| 981 | + $user = get_user_by('id', get_current_user_id()); |
|
| 982 | 982 | $comment_author = $user->display_name; |
| 983 | 983 | $comment_author_email = $user->user_email; |
| 984 | 984 | } else { |
| 985 | 985 | $comment_author = 'System'; |
| 986 | 986 | $comment_author_email = 'system@'; |
| 987 | - $comment_author_email .= isset( $_SERVER['HTTP_HOST'] ) ? str_replace( 'www.', '', $_SERVER['HTTP_HOST'] ) : 'noreply.com'; |
|
| 988 | - $comment_author_email = sanitize_email( $comment_author_email ); |
|
| 987 | + $comment_author_email .= isset($_SERVER['HTTP_HOST']) ? str_replace('www.', '', $_SERVER['HTTP_HOST']) : 'noreply.com'; |
|
| 988 | + $comment_author_email = sanitize_email($comment_author_email); |
|
| 989 | 989 | } |
| 990 | 990 | |
| 991 | - do_action( 'wpinv_pre_insert_invoice_note', $this->ID, $note, $customer_type ); |
|
| 991 | + do_action('wpinv_pre_insert_invoice_note', $this->ID, $note, $customer_type); |
|
| 992 | 992 | |
| 993 | - $note_id = wp_insert_comment( wp_filter_comment( array( |
|
| 993 | + $note_id = wp_insert_comment(wp_filter_comment(array( |
|
| 994 | 994 | 'comment_post_ID' => $this->ID, |
| 995 | 995 | 'comment_content' => $note, |
| 996 | 996 | 'comment_agent' => 'WPInvoicing', |
| 997 | 997 | 'user_id' => is_admin() ? get_current_user_id() : 0, |
| 998 | - 'comment_date' => current_time( 'mysql' ), |
|
| 999 | - 'comment_date_gmt' => current_time( 'mysql', 1 ), |
|
| 998 | + 'comment_date' => current_time('mysql'), |
|
| 999 | + 'comment_date_gmt' => current_time('mysql', 1), |
|
| 1000 | 1000 | 'comment_approved' => 1, |
| 1001 | 1001 | 'comment_parent' => 0, |
| 1002 | 1002 | 'comment_author' => $comment_author, |
@@ -1004,53 +1004,53 @@ discard block |
||
| 1004 | 1004 | 'comment_author_url' => '', |
| 1005 | 1005 | 'comment_author_email' => $comment_author_email, |
| 1006 | 1006 | 'comment_type' => 'wpinv_note' |
| 1007 | - ) ) ); |
|
| 1007 | + ))); |
|
| 1008 | 1008 | |
| 1009 | - do_action( 'wpinv_insert_payment_note', $note_id, $this->ID, $note ); |
|
| 1009 | + do_action('wpinv_insert_payment_note', $note_id, $this->ID, $note); |
|
| 1010 | 1010 | |
| 1011 | - if ( $customer_type ) { |
|
| 1012 | - add_comment_meta( $note_id, '_wpi_customer_note', 1 ); |
|
| 1011 | + if ($customer_type) { |
|
| 1012 | + add_comment_meta($note_id, '_wpi_customer_note', 1); |
|
| 1013 | 1013 | |
| 1014 | - do_action( 'wpinv_new_customer_note', array( 'invoice_id' => $this->ID, 'user_note' => $note ) ); |
|
| 1014 | + do_action('wpinv_new_customer_note', array('invoice_id' => $this->ID, 'user_note' => $note)); |
|
| 1015 | 1015 | } |
| 1016 | 1016 | |
| 1017 | 1017 | return $note_id; |
| 1018 | 1018 | } |
| 1019 | 1019 | |
| 1020 | - private function increase_subtotal( $amount = 0.00 ) { |
|
| 1021 | - $amount = (float) $amount; |
|
| 1020 | + private function increase_subtotal($amount = 0.00) { |
|
| 1021 | + $amount = (float)$amount; |
|
| 1022 | 1022 | $this->subtotal += $amount; |
| 1023 | - $this->subtotal = wpinv_round_amount( $this->subtotal ); |
|
| 1023 | + $this->subtotal = wpinv_round_amount($this->subtotal); |
|
| 1024 | 1024 | |
| 1025 | 1025 | $this->recalculate_total(); |
| 1026 | 1026 | } |
| 1027 | 1027 | |
| 1028 | - private function decrease_subtotal( $amount = 0.00 ) { |
|
| 1029 | - $amount = (float) $amount; |
|
| 1028 | + private function decrease_subtotal($amount = 0.00) { |
|
| 1029 | + $amount = (float)$amount; |
|
| 1030 | 1030 | $this->subtotal -= $amount; |
| 1031 | - $this->subtotal = wpinv_round_amount( $this->subtotal ); |
|
| 1031 | + $this->subtotal = wpinv_round_amount($this->subtotal); |
|
| 1032 | 1032 | |
| 1033 | - if ( $this->subtotal < 0 ) { |
|
| 1033 | + if ($this->subtotal < 0) { |
|
| 1034 | 1034 | $this->subtotal = 0; |
| 1035 | 1035 | } |
| 1036 | 1036 | |
| 1037 | 1037 | $this->recalculate_total(); |
| 1038 | 1038 | } |
| 1039 | 1039 | |
| 1040 | - private function increase_fees( $amount = 0.00 ) { |
|
| 1040 | + private function increase_fees($amount = 0.00) { |
|
| 1041 | 1041 | $amount = (float)$amount; |
| 1042 | 1042 | $this->fees_total += $amount; |
| 1043 | - $this->fees_total = wpinv_round_amount( $this->fees_total ); |
|
| 1043 | + $this->fees_total = wpinv_round_amount($this->fees_total); |
|
| 1044 | 1044 | |
| 1045 | 1045 | $this->recalculate_total(); |
| 1046 | 1046 | } |
| 1047 | 1047 | |
| 1048 | - private function decrease_fees( $amount = 0.00 ) { |
|
| 1049 | - $amount = (float) $amount; |
|
| 1048 | + private function decrease_fees($amount = 0.00) { |
|
| 1049 | + $amount = (float)$amount; |
|
| 1050 | 1050 | $this->fees_total -= $amount; |
| 1051 | - $this->fees_total = wpinv_round_amount( $this->fees_total ); |
|
| 1051 | + $this->fees_total = wpinv_round_amount($this->fees_total); |
|
| 1052 | 1052 | |
| 1053 | - if ( $this->fees_total < 0 ) { |
|
| 1053 | + if ($this->fees_total < 0) { |
|
| 1054 | 1054 | $this->fees_total = 0; |
| 1055 | 1055 | } |
| 1056 | 1056 | |
@@ -1061,54 +1061,54 @@ discard block |
||
| 1061 | 1061 | global $wpi_nosave; |
| 1062 | 1062 | |
| 1063 | 1063 | $this->total = $this->subtotal + $this->tax + $this->fees_total; |
| 1064 | - $this->total = wpinv_round_amount( $this->total ); |
|
| 1064 | + $this->total = wpinv_round_amount($this->total); |
|
| 1065 | 1065 | |
| 1066 | - do_action( 'wpinv_invoice_recalculate_total', $this, $wpi_nosave ); |
|
| 1066 | + do_action('wpinv_invoice_recalculate_total', $this, $wpi_nosave); |
|
| 1067 | 1067 | } |
| 1068 | 1068 | |
| 1069 | - public function increase_tax( $amount = 0.00 ) { |
|
| 1070 | - $amount = (float) $amount; |
|
| 1069 | + public function increase_tax($amount = 0.00) { |
|
| 1070 | + $amount = (float)$amount; |
|
| 1071 | 1071 | $this->tax += $amount; |
| 1072 | 1072 | |
| 1073 | 1073 | $this->recalculate_total(); |
| 1074 | 1074 | } |
| 1075 | 1075 | |
| 1076 | - public function decrease_tax( $amount = 0.00 ) { |
|
| 1077 | - $amount = (float) $amount; |
|
| 1076 | + public function decrease_tax($amount = 0.00) { |
|
| 1077 | + $amount = (float)$amount; |
|
| 1078 | 1078 | $this->tax -= $amount; |
| 1079 | 1079 | |
| 1080 | - if ( $this->tax < 0 ) { |
|
| 1080 | + if ($this->tax < 0) { |
|
| 1081 | 1081 | $this->tax = 0; |
| 1082 | 1082 | } |
| 1083 | 1083 | |
| 1084 | 1084 | $this->recalculate_total(); |
| 1085 | 1085 | } |
| 1086 | 1086 | |
| 1087 | - public function update_status( $new_status = false, $note = '', $manual = false ) { |
|
| 1088 | - $old_status = ! empty( $this->old_status ) ? $this->old_status : get_post_status( $this->ID ); |
|
| 1087 | + public function update_status($new_status = false, $note = '', $manual = false) { |
|
| 1088 | + $old_status = !empty($this->old_status) ? $this->old_status : get_post_status($this->ID); |
|
| 1089 | 1089 | |
| 1090 | - if ( $old_status === $new_status && in_array( $new_status, array_keys( wpinv_get_invoice_statuses( true ) ) ) ) { |
|
| 1090 | + if ($old_status === $new_status && in_array($new_status, array_keys(wpinv_get_invoice_statuses(true)))) { |
|
| 1091 | 1091 | return false; // Don't permit status changes that aren't changes |
| 1092 | 1092 | } |
| 1093 | 1093 | |
| 1094 | - $do_change = apply_filters( 'wpinv_should_update_invoice_status', true, $this->ID, $new_status, $old_status ); |
|
| 1094 | + $do_change = apply_filters('wpinv_should_update_invoice_status', true, $this->ID, $new_status, $old_status); |
|
| 1095 | 1095 | $updated = false; |
| 1096 | 1096 | |
| 1097 | - if ( $do_change ) { |
|
| 1098 | - do_action( 'wpinv_before_invoice_status_change', $this->ID, $new_status, $old_status ); |
|
| 1097 | + if ($do_change) { |
|
| 1098 | + do_action('wpinv_before_invoice_status_change', $this->ID, $new_status, $old_status); |
|
| 1099 | 1099 | |
| 1100 | 1100 | $update_post_data = array(); |
| 1101 | 1101 | $update_post_data['ID'] = $this->ID; |
| 1102 | 1102 | $update_post_data['post_status'] = $new_status; |
| 1103 | - $update_post_data['edit_date'] = current_time( 'mysql', 0 ); |
|
| 1104 | - $update_post_data['edit_date_gmt'] = current_time( 'mysql', 1 ); |
|
| 1103 | + $update_post_data['edit_date'] = current_time('mysql', 0); |
|
| 1104 | + $update_post_data['edit_date_gmt'] = current_time('mysql', 1); |
|
| 1105 | 1105 | |
| 1106 | - $update_post_data = apply_filters( 'wpinv_update_invoice_status_fields', $update_post_data, $this->ID ); |
|
| 1106 | + $update_post_data = apply_filters('wpinv_update_invoice_status_fields', $update_post_data, $this->ID); |
|
| 1107 | 1107 | |
| 1108 | - $updated = wp_update_post( $update_post_data ); |
|
| 1108 | + $updated = wp_update_post($update_post_data); |
|
| 1109 | 1109 | |
| 1110 | 1110 | // Process any specific status functions |
| 1111 | - switch( $new_status ) { |
|
| 1111 | + switch ($new_status) { |
|
| 1112 | 1112 | case 'wpi-refunded': |
| 1113 | 1113 | $this->process_refund(); |
| 1114 | 1114 | break; |
@@ -1121,9 +1121,9 @@ discard block |
||
| 1121 | 1121 | } |
| 1122 | 1122 | |
| 1123 | 1123 | // Status was changed. |
| 1124 | - do_action( 'wpinv_status_' . $new_status, $this->ID, $old_status ); |
|
| 1125 | - do_action( 'wpinv_status_' . $old_status . '_to_' . $new_status, $this->ID, $old_status ); |
|
| 1126 | - do_action( 'wpinv_update_status', $this->ID, $new_status, $old_status ); |
|
| 1124 | + do_action('wpinv_status_' . $new_status, $this->ID, $old_status); |
|
| 1125 | + do_action('wpinv_status_' . $old_status . '_to_' . $new_status, $this->ID, $old_status); |
|
| 1126 | + do_action('wpinv_update_status', $this->ID, $new_status, $old_status); |
|
| 1127 | 1127 | } |
| 1128 | 1128 | |
| 1129 | 1129 | return $updated; |
@@ -1137,20 +1137,20 @@ discard block |
||
| 1137 | 1137 | $this->save(); |
| 1138 | 1138 | } |
| 1139 | 1139 | |
| 1140 | - public function update_meta( $meta_key = '', $meta_value = '', $prev_value = '' ) { |
|
| 1141 | - if ( empty( $meta_key ) ) { |
|
| 1140 | + public function update_meta($meta_key = '', $meta_value = '', $prev_value = '') { |
|
| 1141 | + if (empty($meta_key)) { |
|
| 1142 | 1142 | return false; |
| 1143 | 1143 | } |
| 1144 | 1144 | |
| 1145 | - if ( $meta_key == 'key' || $meta_key == 'date' ) { |
|
| 1145 | + if ($meta_key == 'key' || $meta_key == 'date') { |
|
| 1146 | 1146 | $current_meta = $this->get_meta(); |
| 1147 | - $current_meta[ $meta_key ] = $meta_value; |
|
| 1147 | + $current_meta[$meta_key] = $meta_value; |
|
| 1148 | 1148 | |
| 1149 | 1149 | $meta_key = '_wpinv_payment_meta'; |
| 1150 | 1150 | $meta_value = $current_meta; |
| 1151 | 1151 | } |
| 1152 | 1152 | |
| 1153 | - $meta_value = apply_filters( 'wpinv_update_payment_meta_' . $meta_key, $meta_value, $this->ID ); |
|
| 1153 | + $meta_value = apply_filters('wpinv_update_payment_meta_' . $meta_key, $meta_value, $this->ID); |
|
| 1154 | 1154 | |
| 1155 | 1155 | // Do not update created date on invoice marked as paid. |
| 1156 | 1156 | /*if ( $meta_key == '_wpinv_completed_date' && !empty( $meta_value ) ) { |
@@ -1165,45 +1165,45 @@ discard block |
||
| 1165 | 1165 | wp_update_post( $args ); |
| 1166 | 1166 | }*/ |
| 1167 | 1167 | |
| 1168 | - return update_post_meta( $this->ID, $meta_key, $meta_value, $prev_value ); |
|
| 1168 | + return update_post_meta($this->ID, $meta_key, $meta_value, $prev_value); |
|
| 1169 | 1169 | } |
| 1170 | 1170 | |
| 1171 | 1171 | private function process_refund() { |
| 1172 | 1172 | $process_refund = true; |
| 1173 | 1173 | |
| 1174 | 1174 | // If the payment was not in publish, don't decrement stats as they were never incremented |
| 1175 | - if ( 'publish' != $this->old_status || 'wpi-refunded' != $this->status ) { |
|
| 1175 | + if ('publish' != $this->old_status || 'wpi-refunded' != $this->status) { |
|
| 1176 | 1176 | $process_refund = false; |
| 1177 | 1177 | } |
| 1178 | 1178 | |
| 1179 | 1179 | // Allow extensions to filter for their own payment types, Example: Recurring Payments |
| 1180 | - $process_refund = apply_filters( 'wpinv_should_process_refund', $process_refund, $this ); |
|
| 1180 | + $process_refund = apply_filters('wpinv_should_process_refund', $process_refund, $this); |
|
| 1181 | 1181 | |
| 1182 | - if ( false === $process_refund ) { |
|
| 1182 | + if (false === $process_refund) { |
|
| 1183 | 1183 | return; |
| 1184 | 1184 | } |
| 1185 | 1185 | |
| 1186 | - do_action( 'wpinv_pre_refund_invoice', $this ); |
|
| 1186 | + do_action('wpinv_pre_refund_invoice', $this); |
|
| 1187 | 1187 | |
| 1188 | - $decrease_store_earnings = apply_filters( 'wpinv_decrease_store_earnings_on_refund', true, $this ); |
|
| 1189 | - $decrease_customer_value = apply_filters( 'wpinv_decrease_customer_value_on_refund', true, $this ); |
|
| 1190 | - $decrease_purchase_count = apply_filters( 'wpinv_decrease_customer_purchase_count_on_refund', true, $this ); |
|
| 1188 | + $decrease_store_earnings = apply_filters('wpinv_decrease_store_earnings_on_refund', true, $this); |
|
| 1189 | + $decrease_customer_value = apply_filters('wpinv_decrease_customer_value_on_refund', true, $this); |
|
| 1190 | + $decrease_purchase_count = apply_filters('wpinv_decrease_customer_purchase_count_on_refund', true, $this); |
|
| 1191 | 1191 | |
| 1192 | - do_action( 'wpinv_post_refund_invoice', $this ); |
|
| 1192 | + do_action('wpinv_post_refund_invoice', $this); |
|
| 1193 | 1193 | } |
| 1194 | 1194 | |
| 1195 | 1195 | private function process_failure() { |
| 1196 | 1196 | $discounts = $this->discounts; |
| 1197 | - if ( empty( $discounts ) ) { |
|
| 1197 | + if (empty($discounts)) { |
|
| 1198 | 1198 | return; |
| 1199 | 1199 | } |
| 1200 | 1200 | |
| 1201 | - if ( ! is_array( $discounts ) ) { |
|
| 1202 | - $discounts = array_map( 'trim', explode( ',', $discounts ) ); |
|
| 1201 | + if (!is_array($discounts)) { |
|
| 1202 | + $discounts = array_map('trim', explode(',', $discounts)); |
|
| 1203 | 1203 | } |
| 1204 | 1204 | |
| 1205 | - foreach ( $discounts as $discount ) { |
|
| 1206 | - wpinv_decrease_discount_usage( $discount ); |
|
| 1205 | + foreach ($discounts as $discount) { |
|
| 1206 | + wpinv_decrease_discount_usage($discount); |
|
| 1207 | 1207 | } |
| 1208 | 1208 | } |
| 1209 | 1209 | |
@@ -1211,92 +1211,92 @@ discard block |
||
| 1211 | 1211 | $process_pending = true; |
| 1212 | 1212 | |
| 1213 | 1213 | // If the payment was not in publish or revoked status, don't decrement stats as they were never incremented |
| 1214 | - if ( ( 'publish' != $this->old_status && 'revoked' != $this->old_status ) || 'wpi-pending' != $this->status ) { |
|
| 1214 | + if (('publish' != $this->old_status && 'revoked' != $this->old_status) || 'wpi-pending' != $this->status) { |
|
| 1215 | 1215 | $process_pending = false; |
| 1216 | 1216 | } |
| 1217 | 1217 | |
| 1218 | 1218 | // Allow extensions to filter for their own payment types, Example: Recurring Payments |
| 1219 | - $process_pending = apply_filters( 'wpinv_should_process_pending', $process_pending, $this ); |
|
| 1219 | + $process_pending = apply_filters('wpinv_should_process_pending', $process_pending, $this); |
|
| 1220 | 1220 | |
| 1221 | - if ( false === $process_pending ) { |
|
| 1221 | + if (false === $process_pending) { |
|
| 1222 | 1222 | return; |
| 1223 | 1223 | } |
| 1224 | 1224 | |
| 1225 | - $decrease_store_earnings = apply_filters( 'wpinv_decrease_store_earnings_on_pending', true, $this ); |
|
| 1226 | - $decrease_customer_value = apply_filters( 'wpinv_decrease_customer_value_on_pending', true, $this ); |
|
| 1227 | - $decrease_purchase_count = apply_filters( 'wpinv_decrease_customer_purchase_count_on_pending', true, $this ); |
|
| 1225 | + $decrease_store_earnings = apply_filters('wpinv_decrease_store_earnings_on_pending', true, $this); |
|
| 1226 | + $decrease_customer_value = apply_filters('wpinv_decrease_customer_value_on_pending', true, $this); |
|
| 1227 | + $decrease_purchase_count = apply_filters('wpinv_decrease_customer_purchase_count_on_pending', true, $this); |
|
| 1228 | 1228 | |
| 1229 | 1229 | $this->completed_date = ''; |
| 1230 | - $this->update_meta( '_wpinv_completed_date', '' ); |
|
| 1230 | + $this->update_meta('_wpinv_completed_date', ''); |
|
| 1231 | 1231 | } |
| 1232 | 1232 | |
| 1233 | 1233 | // get data |
| 1234 | - public function get_meta( $meta_key = '_wpinv_payment_meta', $single = true ) { |
|
| 1235 | - $meta = get_post_meta( $this->ID, $meta_key, $single ); |
|
| 1234 | + public function get_meta($meta_key = '_wpinv_payment_meta', $single = true) { |
|
| 1235 | + $meta = get_post_meta($this->ID, $meta_key, $single); |
|
| 1236 | 1236 | |
| 1237 | - if ( $meta_key === '_wpinv_payment_meta' ) { |
|
| 1237 | + if ($meta_key === '_wpinv_payment_meta') { |
|
| 1238 | 1238 | |
| 1239 | - if(!is_array($meta)){$meta = array();} // we need this to be an array so make sure it is. |
|
| 1239 | + if (!is_array($meta)) {$meta = array(); } // we need this to be an array so make sure it is. |
|
| 1240 | 1240 | |
| 1241 | - if ( empty( $meta['key'] ) ) { |
|
| 1241 | + if (empty($meta['key'])) { |
|
| 1242 | 1242 | $meta['key'] = $this->setup_invoice_key(); |
| 1243 | 1243 | } |
| 1244 | 1244 | |
| 1245 | - if ( empty( $meta['date'] ) ) { |
|
| 1246 | - $meta['date'] = get_post_field( 'post_date', $this->ID ); |
|
| 1245 | + if (empty($meta['date'])) { |
|
| 1246 | + $meta['date'] = get_post_field('post_date', $this->ID); |
|
| 1247 | 1247 | } |
| 1248 | 1248 | } |
| 1249 | 1249 | |
| 1250 | - $meta = apply_filters( 'wpinv_get_invoice_meta_' . $meta_key, $meta, $this->ID ); |
|
| 1250 | + $meta = apply_filters('wpinv_get_invoice_meta_' . $meta_key, $meta, $this->ID); |
|
| 1251 | 1251 | |
| 1252 | - return apply_filters( 'wpinv_get_invoice_meta', $meta, $this->ID, $meta_key ); |
|
| 1252 | + return apply_filters('wpinv_get_invoice_meta', $meta, $this->ID, $meta_key); |
|
| 1253 | 1253 | } |
| 1254 | 1254 | |
| 1255 | 1255 | public function get_description() { |
| 1256 | - $post = get_post( $this->ID ); |
|
| 1256 | + $post = get_post($this->ID); |
|
| 1257 | 1257 | |
| 1258 | - $description = !empty( $post ) ? $post->post_content : ''; |
|
| 1259 | - return apply_filters( 'wpinv_get_description', $description, $this->ID, $this ); |
|
| 1258 | + $description = !empty($post) ? $post->post_content : ''; |
|
| 1259 | + return apply_filters('wpinv_get_description', $description, $this->ID, $this); |
|
| 1260 | 1260 | } |
| 1261 | 1261 | |
| 1262 | - public function get_status( $nicename = false ) { |
|
| 1263 | - if ( !$nicename ) { |
|
| 1262 | + public function get_status($nicename = false) { |
|
| 1263 | + if (!$nicename) { |
|
| 1264 | 1264 | $status = $this->status; |
| 1265 | 1265 | } else { |
| 1266 | 1266 | $status = $this->status_nicename; |
| 1267 | 1267 | } |
| 1268 | 1268 | |
| 1269 | - return apply_filters( 'wpinv_get_status', $status, $nicename, $this->ID, $this ); |
|
| 1269 | + return apply_filters('wpinv_get_status', $status, $nicename, $this->ID, $this); |
|
| 1270 | 1270 | } |
| 1271 | 1271 | |
| 1272 | 1272 | public function get_cart_details() { |
| 1273 | - return apply_filters( 'wpinv_cart_details', $this->cart_details, $this->ID, $this ); |
|
| 1273 | + return apply_filters('wpinv_cart_details', $this->cart_details, $this->ID, $this); |
|
| 1274 | 1274 | } |
| 1275 | 1275 | |
| 1276 | - public function get_subtotal( $currency = false ) { |
|
| 1277 | - $subtotal = wpinv_round_amount( $this->subtotal ); |
|
| 1276 | + public function get_subtotal($currency = false) { |
|
| 1277 | + $subtotal = wpinv_round_amount($this->subtotal); |
|
| 1278 | 1278 | |
| 1279 | - if ( $currency ) { |
|
| 1280 | - $subtotal = wpinv_price( wpinv_format_amount( $subtotal, NULL, !$currency ), $this->get_currency() ); |
|
| 1279 | + if ($currency) { |
|
| 1280 | + $subtotal = wpinv_price(wpinv_format_amount($subtotal, NULL, !$currency), $this->get_currency()); |
|
| 1281 | 1281 | } |
| 1282 | 1282 | |
| 1283 | - return apply_filters( 'wpinv_get_invoice_subtotal', $subtotal, $this->ID, $this, $currency ); |
|
| 1283 | + return apply_filters('wpinv_get_invoice_subtotal', $subtotal, $this->ID, $this, $currency); |
|
| 1284 | 1284 | } |
| 1285 | 1285 | |
| 1286 | - public function get_total( $currency = false ) { |
|
| 1287 | - if ( $this->is_free_trial() ) { |
|
| 1288 | - $total = wpinv_round_amount( 0 ); |
|
| 1286 | + public function get_total($currency = false) { |
|
| 1287 | + if ($this->is_free_trial()) { |
|
| 1288 | + $total = wpinv_round_amount(0); |
|
| 1289 | 1289 | } else { |
| 1290 | - $total = wpinv_round_amount( $this->total ); |
|
| 1290 | + $total = wpinv_round_amount($this->total); |
|
| 1291 | 1291 | } |
| 1292 | - if ( $currency ) { |
|
| 1293 | - $total = wpinv_price( wpinv_format_amount( $total, NULL, !$currency ), $this->get_currency() ); |
|
| 1292 | + if ($currency) { |
|
| 1293 | + $total = wpinv_price(wpinv_format_amount($total, NULL, !$currency), $this->get_currency()); |
|
| 1294 | 1294 | } |
| 1295 | 1295 | |
| 1296 | - return apply_filters( 'wpinv_get_invoice_total', $total, $this->ID, $this, $currency ); |
|
| 1296 | + return apply_filters('wpinv_get_invoice_total', $total, $this->ID, $this, $currency); |
|
| 1297 | 1297 | } |
| 1298 | 1298 | |
| 1299 | - public function get_recurring_details( $field = '', $currency = false ) { |
|
| 1299 | + public function get_recurring_details($field = '', $currency = false) { |
|
| 1300 | 1300 | $data = array(); |
| 1301 | 1301 | $data['cart_details'] = $this->cart_details; |
| 1302 | 1302 | $data['subtotal'] = $this->get_subtotal(); |
@@ -1304,45 +1304,45 @@ discard block |
||
| 1304 | 1304 | $data['tax'] = $this->get_tax(); |
| 1305 | 1305 | $data['total'] = $this->get_total(); |
| 1306 | 1306 | |
| 1307 | - if ( !empty( $this->cart_details ) && ( $this->is_parent() || $this->is_renewal() ) ) { |
|
| 1307 | + if (!empty($this->cart_details) && ($this->is_parent() || $this->is_renewal())) { |
|
| 1308 | 1308 | $is_free_trial = $this->is_free_trial(); |
| 1309 | - $discounts = $this->get_discounts( true ); |
|
| 1309 | + $discounts = $this->get_discounts(true); |
|
| 1310 | 1310 | |
| 1311 | - if ( $is_free_trial || !empty( $discounts ) ) { |
|
| 1311 | + if ($is_free_trial || !empty($discounts)) { |
|
| 1312 | 1312 | $first_use_only = false; |
| 1313 | 1313 | |
| 1314 | - if ( !empty( $discounts ) ) { |
|
| 1315 | - foreach ( $discounts as $key => $code ) { |
|
| 1316 | - if ( wpinv_discount_is_recurring( $code, true ) && !$this->is_renewal() ) { |
|
| 1314 | + if (!empty($discounts)) { |
|
| 1315 | + foreach ($discounts as $key => $code) { |
|
| 1316 | + if (wpinv_discount_is_recurring($code, true) && !$this->is_renewal()) { |
|
| 1317 | 1317 | $first_use_only = true; |
| 1318 | 1318 | break; |
| 1319 | 1319 | } |
| 1320 | 1320 | } |
| 1321 | 1321 | } |
| 1322 | 1322 | |
| 1323 | - if ( !$first_use_only ) { |
|
| 1324 | - $data['subtotal'] = wpinv_round_amount( $this->subtotal ); |
|
| 1325 | - $data['discount'] = wpinv_round_amount( $this->discount ); |
|
| 1326 | - $data['tax'] = wpinv_round_amount( $this->tax ); |
|
| 1327 | - $data['total'] = wpinv_round_amount( $this->total ); |
|
| 1323 | + if (!$first_use_only) { |
|
| 1324 | + $data['subtotal'] = wpinv_round_amount($this->subtotal); |
|
| 1325 | + $data['discount'] = wpinv_round_amount($this->discount); |
|
| 1326 | + $data['tax'] = wpinv_round_amount($this->tax); |
|
| 1327 | + $data['total'] = wpinv_round_amount($this->total); |
|
| 1328 | 1328 | } else { |
| 1329 | 1329 | $cart_subtotal = 0; |
| 1330 | 1330 | $cart_discount = $this->discount; |
| 1331 | 1331 | $cart_tax = 0; |
| 1332 | 1332 | |
| 1333 | - foreach ( $this->cart_details as $key => $item ) { |
|
| 1334 | - $item_quantity = $item['quantity'] > 0 ? absint( $item['quantity'] ) : 1; |
|
| 1335 | - $item_subtotal = !empty( $item['subtotal'] ) ? $item['subtotal'] : $item['item_price'] * $item_quantity; |
|
| 1333 | + foreach ($this->cart_details as $key => $item) { |
|
| 1334 | + $item_quantity = $item['quantity'] > 0 ? absint($item['quantity']) : 1; |
|
| 1335 | + $item_subtotal = !empty($item['subtotal']) ? $item['subtotal'] : $item['item_price'] * $item_quantity; |
|
| 1336 | 1336 | $item_discount = 0; |
| 1337 | - $item_tax = $item_subtotal > 0 && !empty( $item['vat_rate'] ) ? ( $item_subtotal * 0.01 * (float)$item['vat_rate'] ) : 0; |
|
| 1337 | + $item_tax = $item_subtotal > 0 && !empty($item['vat_rate']) ? ($item_subtotal * 0.01 * (float)$item['vat_rate']) : 0; |
|
| 1338 | 1338 | |
| 1339 | - if ( wpinv_prices_include_tax() ) { |
|
| 1340 | - $item_subtotal -= wpinv_round_amount( $item_tax ); |
|
| 1339 | + if (wpinv_prices_include_tax()) { |
|
| 1340 | + $item_subtotal -= wpinv_round_amount($item_tax); |
|
| 1341 | 1341 | } |
| 1342 | 1342 | |
| 1343 | 1343 | $item_total = $item_subtotal - $item_discount + $item_tax; |
| 1344 | 1344 | // Do not allow totals to go negative |
| 1345 | - if ( $item_total < 0 ) { |
|
| 1345 | + if ($item_total < 0) { |
|
| 1346 | 1346 | $item_total = 0; |
| 1347 | 1347 | } |
| 1348 | 1348 | |
@@ -1350,118 +1350,118 @@ discard block |
||
| 1350 | 1350 | $cart_discount += (float)($item_discount); |
| 1351 | 1351 | $cart_tax += (float)($item_tax); |
| 1352 | 1352 | |
| 1353 | - $data['cart_details'][$key]['discount'] = wpinv_round_amount( $item_discount ); |
|
| 1354 | - $data['cart_details'][$key]['tax'] = wpinv_round_amount( $item_tax ); |
|
| 1355 | - $data['cart_details'][$key]['price'] = wpinv_round_amount( $item_total ); |
|
| 1353 | + $data['cart_details'][$key]['discount'] = wpinv_round_amount($item_discount); |
|
| 1354 | + $data['cart_details'][$key]['tax'] = wpinv_round_amount($item_tax); |
|
| 1355 | + $data['cart_details'][$key]['price'] = wpinv_round_amount($item_total); |
|
| 1356 | 1356 | } |
| 1357 | 1357 | |
| 1358 | 1358 | $total = $data['subtotal'] - $data['discount'] + $data['tax']; |
| 1359 | - if ( $total < 0 ) { |
|
| 1359 | + if ($total < 0) { |
|
| 1360 | 1360 | $total = 0; |
| 1361 | 1361 | } |
| 1362 | 1362 | |
| 1363 | - $data['subtotal'] = wpinv_round_amount( $cart_subtotal ); |
|
| 1364 | - $data['discount'] = wpinv_round_amount( $cart_discount ); |
|
| 1365 | - $data['tax'] = wpinv_round_amount( $cart_tax ); |
|
| 1366 | - $data['total'] = wpinv_round_amount( $total ); |
|
| 1363 | + $data['subtotal'] = wpinv_round_amount($cart_subtotal); |
|
| 1364 | + $data['discount'] = wpinv_round_amount($cart_discount); |
|
| 1365 | + $data['tax'] = wpinv_round_amount($cart_tax); |
|
| 1366 | + $data['total'] = wpinv_round_amount($total); |
|
| 1367 | 1367 | } |
| 1368 | 1368 | } |
| 1369 | 1369 | } |
| 1370 | 1370 | |
| 1371 | - $data = apply_filters( 'wpinv_get_invoice_recurring_details', $data, $this, $field, $currency ); |
|
| 1371 | + $data = apply_filters('wpinv_get_invoice_recurring_details', $data, $this, $field, $currency); |
|
| 1372 | 1372 | |
| 1373 | - if ( isset( $data[$field] ) ) { |
|
| 1374 | - return ( $currency ? wpinv_price( $data[$field], $this->get_currency() ) : $data[$field] ); |
|
| 1373 | + if (isset($data[$field])) { |
|
| 1374 | + return ($currency ? wpinv_price($data[$field], $this->get_currency()) : $data[$field]); |
|
| 1375 | 1375 | } |
| 1376 | 1376 | |
| 1377 | 1377 | return $data; |
| 1378 | 1378 | } |
| 1379 | 1379 | |
| 1380 | - public function get_final_tax( $currency = false ) { |
|
| 1381 | - $final_total = wpinv_round_amount( $this->tax ); |
|
| 1382 | - if ( $currency ) { |
|
| 1383 | - $final_total = wpinv_price( wpinv_format_amount( $final_total, NULL, !$currency ), $this->get_currency() ); |
|
| 1380 | + public function get_final_tax($currency = false) { |
|
| 1381 | + $final_total = wpinv_round_amount($this->tax); |
|
| 1382 | + if ($currency) { |
|
| 1383 | + $final_total = wpinv_price(wpinv_format_amount($final_total, NULL, !$currency), $this->get_currency()); |
|
| 1384 | 1384 | } |
| 1385 | 1385 | |
| 1386 | - return apply_filters( 'wpinv_get_invoice_final_total', $final_total, $this, $currency ); |
|
| 1386 | + return apply_filters('wpinv_get_invoice_final_total', $final_total, $this, $currency); |
|
| 1387 | 1387 | } |
| 1388 | 1388 | |
| 1389 | - public function get_discounts( $array = false ) { |
|
| 1389 | + public function get_discounts($array = false) { |
|
| 1390 | 1390 | $discounts = $this->discounts; |
| 1391 | - if ( $array && $discounts ) { |
|
| 1392 | - $discounts = explode( ',', $discounts ); |
|
| 1391 | + if ($array && $discounts) { |
|
| 1392 | + $discounts = explode(',', $discounts); |
|
| 1393 | 1393 | } |
| 1394 | - return apply_filters( 'wpinv_payment_discounts', $discounts, $this->ID, $this, $array ); |
|
| 1394 | + return apply_filters('wpinv_payment_discounts', $discounts, $this->ID, $this, $array); |
|
| 1395 | 1395 | } |
| 1396 | 1396 | |
| 1397 | - public function get_discount( $currency = false, $dash = false ) { |
|
| 1398 | - if ( !empty( $this->discounts ) ) { |
|
| 1397 | + public function get_discount($currency = false, $dash = false) { |
|
| 1398 | + if (!empty($this->discounts)) { |
|
| 1399 | 1399 | global $ajax_cart_details; |
| 1400 | 1400 | $ajax_cart_details = $this->get_cart_details(); |
| 1401 | 1401 | |
| 1402 | - if ( !empty( $ajax_cart_details ) && count( $ajax_cart_details ) == count( $this->items ) ) { |
|
| 1402 | + if (!empty($ajax_cart_details) && count($ajax_cart_details) == count($this->items)) { |
|
| 1403 | 1403 | $cart_items = $ajax_cart_details; |
| 1404 | 1404 | } else { |
| 1405 | 1405 | $cart_items = $this->items; |
| 1406 | 1406 | } |
| 1407 | 1407 | |
| 1408 | - $this->discount = wpinv_get_cart_items_discount_amount( $cart_items , $this->discounts ); |
|
| 1408 | + $this->discount = wpinv_get_cart_items_discount_amount($cart_items, $this->discounts); |
|
| 1409 | 1409 | } |
| 1410 | - $discount = wpinv_round_amount( $this->discount ); |
|
| 1410 | + $discount = wpinv_round_amount($this->discount); |
|
| 1411 | 1411 | $dash = $dash && $discount > 0 ? '–' : ''; |
| 1412 | 1412 | |
| 1413 | - if ( $currency ) { |
|
| 1414 | - $discount = wpinv_price( wpinv_format_amount( $discount, NULL, !$currency ), $this->get_currency() ); |
|
| 1413 | + if ($currency) { |
|
| 1414 | + $discount = wpinv_price(wpinv_format_amount($discount, NULL, !$currency), $this->get_currency()); |
|
| 1415 | 1415 | } |
| 1416 | 1416 | |
| 1417 | - $discount = $dash . $discount; |
|
| 1417 | + $discount = $dash . $discount; |
|
| 1418 | 1418 | |
| 1419 | - return apply_filters( 'wpinv_get_invoice_discount', $discount, $this->ID, $this, $currency, $dash ); |
|
| 1419 | + return apply_filters('wpinv_get_invoice_discount', $discount, $this->ID, $this, $currency, $dash); |
|
| 1420 | 1420 | } |
| 1421 | 1421 | |
| 1422 | 1422 | public function get_discount_code() { |
| 1423 | 1423 | return $this->discount_code; |
| 1424 | 1424 | } |
| 1425 | 1425 | |
| 1426 | - public function get_tax( $currency = false ) { |
|
| 1427 | - $tax = wpinv_round_amount( $this->tax ); |
|
| 1426 | + public function get_tax($currency = false) { |
|
| 1427 | + $tax = wpinv_round_amount($this->tax); |
|
| 1428 | 1428 | |
| 1429 | - if ( $currency ) { |
|
| 1430 | - $tax = wpinv_price( wpinv_format_amount( $tax, NULL, !$currency ), $this->get_currency() ); |
|
| 1429 | + if ($currency) { |
|
| 1430 | + $tax = wpinv_price(wpinv_format_amount($tax, NULL, !$currency), $this->get_currency()); |
|
| 1431 | 1431 | } |
| 1432 | 1432 | |
| 1433 | - return apply_filters( 'wpinv_get_invoice_tax', $tax, $this->ID, $this, $currency ); |
|
| 1433 | + return apply_filters('wpinv_get_invoice_tax', $tax, $this->ID, $this, $currency); |
|
| 1434 | 1434 | } |
| 1435 | 1435 | |
| 1436 | - public function get_fees( $type = 'all' ) { |
|
| 1437 | - $fees = array(); |
|
| 1436 | + public function get_fees($type = 'all') { |
|
| 1437 | + $fees = array(); |
|
| 1438 | 1438 | |
| 1439 | - if ( ! empty( $this->fees ) && is_array( $this->fees ) ) { |
|
| 1440 | - foreach ( $this->fees as $fee ) { |
|
| 1441 | - if( 'all' != $type && ! empty( $fee['type'] ) && $type != $fee['type'] ) { |
|
| 1439 | + if (!empty($this->fees) && is_array($this->fees)) { |
|
| 1440 | + foreach ($this->fees as $fee) { |
|
| 1441 | + if ('all' != $type && !empty($fee['type']) && $type != $fee['type']) { |
|
| 1442 | 1442 | continue; |
| 1443 | 1443 | } |
| 1444 | 1444 | |
| 1445 | - $fee['label'] = stripslashes( $fee['label'] ); |
|
| 1446 | - $fee['amount_display'] = wpinv_price( $fee['amount'], $this->get_currency() ); |
|
| 1447 | - $fees[] = $fee; |
|
| 1445 | + $fee['label'] = stripslashes($fee['label']); |
|
| 1446 | + $fee['amount_display'] = wpinv_price($fee['amount'], $this->get_currency()); |
|
| 1447 | + $fees[] = $fee; |
|
| 1448 | 1448 | } |
| 1449 | 1449 | } |
| 1450 | 1450 | |
| 1451 | - return apply_filters( 'wpinv_get_invoice_fees', $fees, $this->ID, $this ); |
|
| 1451 | + return apply_filters('wpinv_get_invoice_fees', $fees, $this->ID, $this); |
|
| 1452 | 1452 | } |
| 1453 | 1453 | |
| 1454 | - public function get_fees_total( $type = 'all' ) { |
|
| 1455 | - $fees_total = (float) 0.00; |
|
| 1454 | + public function get_fees_total($type = 'all') { |
|
| 1455 | + $fees_total = (float)0.00; |
|
| 1456 | 1456 | |
| 1457 | - $payment_fees = isset( $this->payment_meta['fees'] ) ? $this->payment_meta['fees'] : array(); |
|
| 1458 | - if ( ! empty( $payment_fees ) ) { |
|
| 1459 | - foreach ( $payment_fees as $fee ) { |
|
| 1460 | - $fees_total += (float) $fee['amount']; |
|
| 1457 | + $payment_fees = isset($this->payment_meta['fees']) ? $this->payment_meta['fees'] : array(); |
|
| 1458 | + if (!empty($payment_fees)) { |
|
| 1459 | + foreach ($payment_fees as $fee) { |
|
| 1460 | + $fees_total += (float)$fee['amount']; |
|
| 1461 | 1461 | } |
| 1462 | 1462 | } |
| 1463 | 1463 | |
| 1464 | - return apply_filters( 'wpinv_get_invoice_fees_total', $fees_total, $this->ID, $this ); |
|
| 1464 | + return apply_filters('wpinv_get_invoice_fees_total', $fees_total, $this->ID, $this); |
|
| 1465 | 1465 | /* |
| 1466 | 1466 | $fees = $this->get_fees( $type ); |
| 1467 | 1467 | |
@@ -1481,116 +1481,116 @@ discard block |
||
| 1481 | 1481 | } |
| 1482 | 1482 | |
| 1483 | 1483 | public function get_user_id() { |
| 1484 | - return apply_filters( 'wpinv_user_id', $this->user_id, $this->ID, $this ); |
|
| 1484 | + return apply_filters('wpinv_user_id', $this->user_id, $this->ID, $this); |
|
| 1485 | 1485 | } |
| 1486 | 1486 | |
| 1487 | 1487 | public function get_first_name() { |
| 1488 | - return apply_filters( 'wpinv_first_name', $this->first_name, $this->ID, $this ); |
|
| 1488 | + return apply_filters('wpinv_first_name', $this->first_name, $this->ID, $this); |
|
| 1489 | 1489 | } |
| 1490 | 1490 | |
| 1491 | 1491 | public function get_last_name() { |
| 1492 | - return apply_filters( 'wpinv_last_name', $this->last_name, $this->ID, $this ); |
|
| 1492 | + return apply_filters('wpinv_last_name', $this->last_name, $this->ID, $this); |
|
| 1493 | 1493 | } |
| 1494 | 1494 | |
| 1495 | 1495 | public function get_user_full_name() { |
| 1496 | - return apply_filters( 'wpinv_user_full_name', $this->full_name, $this->ID, $this ); |
|
| 1496 | + return apply_filters('wpinv_user_full_name', $this->full_name, $this->ID, $this); |
|
| 1497 | 1497 | } |
| 1498 | 1498 | |
| 1499 | 1499 | public function get_user_info() { |
| 1500 | - return apply_filters( 'wpinv_user_info', $this->user_info, $this->ID, $this ); |
|
| 1500 | + return apply_filters('wpinv_user_info', $this->user_info, $this->ID, $this); |
|
| 1501 | 1501 | } |
| 1502 | 1502 | |
| 1503 | 1503 | public function get_email() { |
| 1504 | - return apply_filters( 'wpinv_user_email', $this->email, $this->ID, $this ); |
|
| 1504 | + return apply_filters('wpinv_user_email', $this->email, $this->ID, $this); |
|
| 1505 | 1505 | } |
| 1506 | 1506 | |
| 1507 | 1507 | public function get_address() { |
| 1508 | - return apply_filters( 'wpinv_address', $this->address, $this->ID, $this ); |
|
| 1508 | + return apply_filters('wpinv_address', $this->address, $this->ID, $this); |
|
| 1509 | 1509 | } |
| 1510 | 1510 | |
| 1511 | 1511 | public function get_phone() { |
| 1512 | - return apply_filters( 'wpinv_phone', $this->phone, $this->ID, $this ); |
|
| 1512 | + return apply_filters('wpinv_phone', $this->phone, $this->ID, $this); |
|
| 1513 | 1513 | } |
| 1514 | 1514 | |
| 1515 | 1515 | public function get_number() { |
| 1516 | - return apply_filters( 'wpinv_number', $this->number, $this->ID, $this ); |
|
| 1516 | + return apply_filters('wpinv_number', $this->number, $this->ID, $this); |
|
| 1517 | 1517 | } |
| 1518 | 1518 | |
| 1519 | 1519 | public function get_items() { |
| 1520 | - return apply_filters( 'wpinv_payment_meta_items', $this->items, $this->ID, $this ); |
|
| 1520 | + return apply_filters('wpinv_payment_meta_items', $this->items, $this->ID, $this); |
|
| 1521 | 1521 | } |
| 1522 | 1522 | |
| 1523 | 1523 | public function get_key() { |
| 1524 | - return apply_filters( 'wpinv_key', $this->key, $this->ID, $this ); |
|
| 1524 | + return apply_filters('wpinv_key', $this->key, $this->ID, $this); |
|
| 1525 | 1525 | } |
| 1526 | 1526 | |
| 1527 | 1527 | public function get_transaction_id() { |
| 1528 | - return apply_filters( 'wpinv_get_invoice_transaction_id', $this->transaction_id, $this->ID, $this ); |
|
| 1528 | + return apply_filters('wpinv_get_invoice_transaction_id', $this->transaction_id, $this->ID, $this); |
|
| 1529 | 1529 | } |
| 1530 | 1530 | |
| 1531 | 1531 | public function get_gateway() { |
| 1532 | - return apply_filters( 'wpinv_gateway', $this->gateway, $this->ID, $this ); |
|
| 1532 | + return apply_filters('wpinv_gateway', $this->gateway, $this->ID, $this); |
|
| 1533 | 1533 | } |
| 1534 | 1534 | |
| 1535 | 1535 | public function get_gateway_title() { |
| 1536 | - $this->gateway_title = !empty( $this->gateway_title ) ? $this->gateway_title : wpinv_get_gateway_checkout_label( $this->gateway ); |
|
| 1536 | + $this->gateway_title = !empty($this->gateway_title) ? $this->gateway_title : wpinv_get_gateway_checkout_label($this->gateway); |
|
| 1537 | 1537 | |
| 1538 | - return apply_filters( 'wpinv_gateway_title', $this->gateway_title, $this->ID, $this ); |
|
| 1538 | + return apply_filters('wpinv_gateway_title', $this->gateway_title, $this->ID, $this); |
|
| 1539 | 1539 | } |
| 1540 | 1540 | |
| 1541 | 1541 | public function get_currency() { |
| 1542 | - return apply_filters( 'wpinv_currency_code', $this->currency, $this->ID, $this ); |
|
| 1542 | + return apply_filters('wpinv_currency_code', $this->currency, $this->ID, $this); |
|
| 1543 | 1543 | } |
| 1544 | 1544 | |
| 1545 | 1545 | public function get_created_date() { |
| 1546 | - return apply_filters( 'wpinv_created_date', $this->date, $this->ID, $this ); |
|
| 1546 | + return apply_filters('wpinv_created_date', $this->date, $this->ID, $this); |
|
| 1547 | 1547 | } |
| 1548 | 1548 | |
| 1549 | - public function get_due_date( $display = false ) { |
|
| 1550 | - $due_date = apply_filters( 'wpinv_due_date', $this->due_date, $this->ID, $this ); |
|
| 1549 | + public function get_due_date($display = false) { |
|
| 1550 | + $due_date = apply_filters('wpinv_due_date', $this->due_date, $this->ID, $this); |
|
| 1551 | 1551 | |
| 1552 | - if ( !$display || empty( $due_date ) ) { |
|
| 1552 | + if (!$display || empty($due_date)) { |
|
| 1553 | 1553 | return $due_date; |
| 1554 | 1554 | } |
| 1555 | 1555 | |
| 1556 | - return date_i18n( get_option( 'date_format' ), strtotime( $due_date ) ); |
|
| 1556 | + return date_i18n(get_option('date_format'), strtotime($due_date)); |
|
| 1557 | 1557 | } |
| 1558 | 1558 | |
| 1559 | 1559 | public function get_completed_date() { |
| 1560 | - return apply_filters( 'wpinv_completed_date', $this->completed_date, $this->ID, $this ); |
|
| 1560 | + return apply_filters('wpinv_completed_date', $this->completed_date, $this->ID, $this); |
|
| 1561 | 1561 | } |
| 1562 | 1562 | |
| 1563 | - public function get_invoice_date( $formatted = true ) { |
|
| 1563 | + public function get_invoice_date($formatted = true) { |
|
| 1564 | 1564 | $date_completed = $this->completed_date; |
| 1565 | 1565 | $invoice_date = $date_completed != '' && $date_completed != '0000-00-00 00:00:00' ? $date_completed : ''; |
| 1566 | 1566 | |
| 1567 | - if ( $invoice_date == '' ) { |
|
| 1567 | + if ($invoice_date == '') { |
|
| 1568 | 1568 | $date_created = $this->date; |
| 1569 | 1569 | $invoice_date = $date_created != '' && $date_created != '0000-00-00 00:00:00' ? $date_created : ''; |
| 1570 | 1570 | } |
| 1571 | 1571 | |
| 1572 | - if ( $formatted && $invoice_date ) { |
|
| 1573 | - $invoice_date = date_i18n( get_option( 'date_format' ), strtotime( $invoice_date ) ); |
|
| 1572 | + if ($formatted && $invoice_date) { |
|
| 1573 | + $invoice_date = date_i18n(get_option('date_format'), strtotime($invoice_date)); |
|
| 1574 | 1574 | } |
| 1575 | 1575 | |
| 1576 | - return apply_filters( 'wpinv_get_invoice_date', $invoice_date, $formatted, $this->ID, $this ); |
|
| 1576 | + return apply_filters('wpinv_get_invoice_date', $invoice_date, $formatted, $this->ID, $this); |
|
| 1577 | 1577 | } |
| 1578 | 1578 | |
| 1579 | 1579 | public function get_ip() { |
| 1580 | - return apply_filters( 'wpinv_user_ip', $this->ip, $this->ID, $this ); |
|
| 1580 | + return apply_filters('wpinv_user_ip', $this->ip, $this->ID, $this); |
|
| 1581 | 1581 | } |
| 1582 | 1582 | |
| 1583 | - public function has_status( $status ) { |
|
| 1584 | - return apply_filters( 'wpinv_has_status', ( is_array( $status ) && in_array( $this->get_status(), $status ) ) || $this->get_status() === $status ? true : false, $this, $status ); |
|
| 1583 | + public function has_status($status) { |
|
| 1584 | + return apply_filters('wpinv_has_status', (is_array($status) && in_array($this->get_status(), $status)) || $this->get_status() === $status ? true : false, $this, $status); |
|
| 1585 | 1585 | } |
| 1586 | 1586 | |
| 1587 | - public function add_item( $item_id = 0, $args = array() ) { |
|
| 1587 | + public function add_item($item_id = 0, $args = array()) { |
|
| 1588 | 1588 | global $wpi_current_id, $wpi_item_id; |
| 1589 | 1589 | |
| 1590 | - $item = new WPInv_Item( $item_id ); |
|
| 1590 | + $item = new WPInv_Item($item_id); |
|
| 1591 | 1591 | |
| 1592 | 1592 | // Bail if this post isn't a item |
| 1593 | - if( !$item || $item->post_type !== 'wpi_item' ) { |
|
| 1593 | + if (!$item || $item->post_type !== 'wpi_item') { |
|
| 1594 | 1594 | return false; |
| 1595 | 1595 | } |
| 1596 | 1596 | |
@@ -1609,8 +1609,8 @@ discard block |
||
| 1609 | 1609 | 'fees' => array() |
| 1610 | 1610 | ); |
| 1611 | 1611 | |
| 1612 | - $args = wp_parse_args( apply_filters( 'wpinv_add_item_args', $args, $item->ID ), $defaults ); |
|
| 1613 | - $args['quantity'] = $has_quantities && $args['quantity'] > 0 ? absint( $args['quantity'] ) : 1; |
|
| 1612 | + $args = wp_parse_args(apply_filters('wpinv_add_item_args', $args, $item->ID), $defaults); |
|
| 1613 | + $args['quantity'] = $has_quantities && $args['quantity'] > 0 ? absint($args['quantity']) : 1; |
|
| 1614 | 1614 | |
| 1615 | 1615 | $wpi_current_id = $this->ID; |
| 1616 | 1616 | $wpi_item_id = $item->ID; |
@@ -1622,19 +1622,19 @@ discard block |
||
| 1622 | 1622 | $found_cart_key = false; |
| 1623 | 1623 | |
| 1624 | 1624 | if ($has_quantities) { |
| 1625 | - $this->cart_details = !empty( $this->cart_details ) ? array_values( $this->cart_details ) : $this->cart_details; |
|
| 1625 | + $this->cart_details = !empty($this->cart_details) ? array_values($this->cart_details) : $this->cart_details; |
|
| 1626 | 1626 | |
| 1627 | - foreach ( $this->items as $key => $cart_item ) { |
|
| 1628 | - if ( (int)$item_id !== (int)$cart_item['id'] ) { |
|
| 1627 | + foreach ($this->items as $key => $cart_item) { |
|
| 1628 | + if ((int)$item_id !== (int)$cart_item['id']) { |
|
| 1629 | 1629 | continue; |
| 1630 | 1630 | } |
| 1631 | 1631 | |
| 1632 | - $this->items[ $key ]['quantity'] += $args['quantity']; |
|
| 1632 | + $this->items[$key]['quantity'] += $args['quantity']; |
|
| 1633 | 1633 | break; |
| 1634 | 1634 | } |
| 1635 | 1635 | |
| 1636 | - foreach ( $this->cart_details as $cart_key => $cart_item ) { |
|
| 1637 | - if ( $item_id != $cart_item['id'] ) { |
|
| 1636 | + foreach ($this->cart_details as $cart_key => $cart_item) { |
|
| 1637 | + if ($item_id != $cart_item['id']) { |
|
| 1638 | 1638 | continue; |
| 1639 | 1639 | } |
| 1640 | 1640 | |
@@ -1646,29 +1646,29 @@ discard block |
||
| 1646 | 1646 | if ($has_quantities && $found_cart_key !== false) { |
| 1647 | 1647 | $cart_item = $this->cart_details[$found_cart_key]; |
| 1648 | 1648 | $item_price = $cart_item['item_price']; |
| 1649 | - $quantity = !empty( $cart_item['quantity'] ) ? $cart_item['quantity'] : 1; |
|
| 1650 | - $tax_rate = !empty( $cart_item['vat_rate'] ) ? $cart_item['vat_rate'] : 0; |
|
| 1649 | + $quantity = !empty($cart_item['quantity']) ? $cart_item['quantity'] : 1; |
|
| 1650 | + $tax_rate = !empty($cart_item['vat_rate']) ? $cart_item['vat_rate'] : 0; |
|
| 1651 | 1651 | |
| 1652 | 1652 | $new_quantity = $quantity + $args['quantity']; |
| 1653 | 1653 | $subtotal = $item_price * $new_quantity; |
| 1654 | 1654 | |
| 1655 | 1655 | $args['quantity'] = $new_quantity; |
| 1656 | - $discount = !empty( $args['discount'] ) ? $args['discount'] : 0; |
|
| 1657 | - $tax = $subtotal > 0 && $tax_rate > 0 ? ( ( $subtotal - $discount ) * 0.01 * (float)$tax_rate ) : 0; |
|
| 1656 | + $discount = !empty($args['discount']) ? $args['discount'] : 0; |
|
| 1657 | + $tax = $subtotal > 0 && $tax_rate > 0 ? (($subtotal - $discount) * 0.01 * (float)$tax_rate) : 0; |
|
| 1658 | 1658 | |
| 1659 | 1659 | $discount_increased = $discount > 0 && $subtotal > 0 && $discount > (float)$cart_item['discount'] ? $discount - (float)$cart_item['discount'] : 0; |
| 1660 | 1660 | $tax_increased = $tax > 0 && $subtotal > 0 && $tax > (float)$cart_item['tax'] ? $tax - (float)$cart_item['tax'] : 0; |
| 1661 | 1661 | // The total increase equals the number removed * the item_price |
| 1662 | - $total_increased = wpinv_round_amount( $item_price ); |
|
| 1662 | + $total_increased = wpinv_round_amount($item_price); |
|
| 1663 | 1663 | |
| 1664 | - if ( wpinv_prices_include_tax() ) { |
|
| 1665 | - $subtotal -= wpinv_round_amount( $tax ); |
|
| 1664 | + if (wpinv_prices_include_tax()) { |
|
| 1665 | + $subtotal -= wpinv_round_amount($tax); |
|
| 1666 | 1666 | } |
| 1667 | 1667 | |
| 1668 | - $total = $subtotal - $discount + $tax; |
|
| 1668 | + $total = $subtotal - $discount + $tax; |
|
| 1669 | 1669 | |
| 1670 | 1670 | // Do not allow totals to go negative |
| 1671 | - if( $total < 0 ) { |
|
| 1671 | + if ($total < 0) { |
|
| 1672 | 1672 | $total = 0; |
| 1673 | 1673 | } |
| 1674 | 1674 | |
@@ -1684,25 +1684,25 @@ discard block |
||
| 1684 | 1684 | $this->cart_details[$found_cart_key] = $cart_item; |
| 1685 | 1685 | } else { |
| 1686 | 1686 | // Set custom price. |
| 1687 | - if ( $args['custom_price'] !== '' ) { |
|
| 1687 | + if ($args['custom_price'] !== '') { |
|
| 1688 | 1688 | $item_price = $args['custom_price']; |
| 1689 | 1689 | } else { |
| 1690 | 1690 | // Allow overriding the price |
| 1691 | - if ( false !== $args['item_price'] ) { |
|
| 1691 | + if (false !== $args['item_price']) { |
|
| 1692 | 1692 | $item_price = $args['item_price']; |
| 1693 | 1693 | } else { |
| 1694 | - $item_price = wpinv_get_item_price( $item->ID ); |
|
| 1694 | + $item_price = wpinv_get_item_price($item->ID); |
|
| 1695 | 1695 | } |
| 1696 | 1696 | } |
| 1697 | 1697 | |
| 1698 | 1698 | // Sanitizing the price here so we don't have a dozen calls later |
| 1699 | - $item_price = wpinv_sanitize_amount( $item_price ); |
|
| 1700 | - $subtotal = wpinv_round_amount( $item_price * $args['quantity'] ); |
|
| 1699 | + $item_price = wpinv_sanitize_amount($item_price); |
|
| 1700 | + $subtotal = wpinv_round_amount($item_price * $args['quantity']); |
|
| 1701 | 1701 | |
| 1702 | - $discount = !empty( $args['discount'] ) ? $args['discount'] : 0; |
|
| 1703 | - $tax_class = !empty( $args['vat_class'] ) ? $args['vat_class'] : ''; |
|
| 1704 | - $tax_rate = !empty( $args['vat_rate'] ) ? $args['vat_rate'] : 0; |
|
| 1705 | - $tax = $subtotal > 0 && $tax_rate > 0 ? ( ( $subtotal - $discount ) * 0.01 * (float)$tax_rate ) : 0; |
|
| 1702 | + $discount = !empty($args['discount']) ? $args['discount'] : 0; |
|
| 1703 | + $tax_class = !empty($args['vat_class']) ? $args['vat_class'] : ''; |
|
| 1704 | + $tax_rate = !empty($args['vat_rate']) ? $args['vat_rate'] : 0; |
|
| 1705 | + $tax = $subtotal > 0 && $tax_rate > 0 ? (($subtotal - $discount) * 0.01 * (float)$tax_rate) : 0; |
|
| 1706 | 1706 | |
| 1707 | 1707 | // Setup the items meta item |
| 1708 | 1708 | $new_item = array( |
@@ -1710,29 +1710,29 @@ discard block |
||
| 1710 | 1710 | 'quantity' => $args['quantity'], |
| 1711 | 1711 | ); |
| 1712 | 1712 | |
| 1713 | - $this->items[] = $new_item; |
|
| 1713 | + $this->items[] = $new_item; |
|
| 1714 | 1714 | |
| 1715 | - if ( wpinv_prices_include_tax() ) { |
|
| 1716 | - $subtotal -= wpinv_round_amount( $tax ); |
|
| 1715 | + if (wpinv_prices_include_tax()) { |
|
| 1716 | + $subtotal -= wpinv_round_amount($tax); |
|
| 1717 | 1717 | } |
| 1718 | 1718 | |
| 1719 | - $total = $subtotal - $discount + $tax; |
|
| 1719 | + $total = $subtotal - $discount + $tax; |
|
| 1720 | 1720 | |
| 1721 | 1721 | // Do not allow totals to go negative |
| 1722 | - if( $total < 0 ) { |
|
| 1722 | + if ($total < 0) { |
|
| 1723 | 1723 | $total = 0; |
| 1724 | 1724 | } |
| 1725 | 1725 | |
| 1726 | 1726 | $this->cart_details[] = array( |
| 1727 | 1727 | 'name' => !empty($args['name']) ? $args['name'] : $item->get_name(), |
| 1728 | 1728 | 'id' => $item->ID, |
| 1729 | - 'item_price' => wpinv_round_amount( $item_price ), |
|
| 1730 | - 'custom_price' => ( $args['custom_price'] !== '' ? wpinv_round_amount( $args['custom_price'] ) : '' ), |
|
| 1729 | + 'item_price' => wpinv_round_amount($item_price), |
|
| 1730 | + 'custom_price' => ($args['custom_price'] !== '' ? wpinv_round_amount($args['custom_price']) : ''), |
|
| 1731 | 1731 | 'quantity' => $args['quantity'], |
| 1732 | 1732 | 'discount' => $discount, |
| 1733 | - 'subtotal' => wpinv_round_amount( $subtotal ), |
|
| 1734 | - 'tax' => wpinv_round_amount( $tax ), |
|
| 1735 | - 'price' => wpinv_round_amount( $total ), |
|
| 1733 | + 'subtotal' => wpinv_round_amount($subtotal), |
|
| 1734 | + 'tax' => wpinv_round_amount($tax), |
|
| 1735 | + 'price' => wpinv_round_amount($total), |
|
| 1736 | 1736 | 'vat_rate' => $tax_rate, |
| 1737 | 1737 | 'vat_class' => $tax_class, |
| 1738 | 1738 | 'meta' => $args['meta'], |
@@ -1742,18 +1742,18 @@ discard block |
||
| 1742 | 1742 | $subtotal = $subtotal - $discount; |
| 1743 | 1743 | } |
| 1744 | 1744 | |
| 1745 | - $added_item = end( $this->cart_details ); |
|
| 1746 | - $added_item['action'] = 'add'; |
|
| 1745 | + $added_item = end($this->cart_details); |
|
| 1746 | + $added_item['action'] = 'add'; |
|
| 1747 | 1747 | |
| 1748 | 1748 | $this->pending['items'][] = $added_item; |
| 1749 | 1749 | |
| 1750 | - $this->increase_subtotal( $subtotal ); |
|
| 1751 | - $this->increase_tax( $tax ); |
|
| 1750 | + $this->increase_subtotal($subtotal); |
|
| 1751 | + $this->increase_tax($tax); |
|
| 1752 | 1752 | |
| 1753 | 1753 | return true; |
| 1754 | 1754 | } |
| 1755 | 1755 | |
| 1756 | - public function remove_item( $item_id, $args = array() ) { |
|
| 1756 | + public function remove_item($item_id, $args = array()) { |
|
| 1757 | 1757 | // Set some defaults |
| 1758 | 1758 | $defaults = array( |
| 1759 | 1759 | 'quantity' => 1, |
@@ -1761,51 +1761,51 @@ discard block |
||
| 1761 | 1761 | 'custom_price' => '', |
| 1762 | 1762 | 'cart_index' => false, |
| 1763 | 1763 | ); |
| 1764 | - $args = wp_parse_args( $args, $defaults ); |
|
| 1764 | + $args = wp_parse_args($args, $defaults); |
|
| 1765 | 1765 | |
| 1766 | 1766 | // Bail if this post isn't a item |
| 1767 | - if ( get_post_type( $item_id ) !== 'wpi_item' ) { |
|
| 1767 | + if (get_post_type($item_id) !== 'wpi_item') { |
|
| 1768 | 1768 | return false; |
| 1769 | 1769 | } |
| 1770 | 1770 | |
| 1771 | - $this->cart_details = !empty( $this->cart_details ) ? array_values( $this->cart_details ) : $this->cart_details; |
|
| 1771 | + $this->cart_details = !empty($this->cart_details) ? array_values($this->cart_details) : $this->cart_details; |
|
| 1772 | 1772 | |
| 1773 | - foreach ( $this->items as $key => $item ) { |
|
| 1774 | - if ( !empty($item['id']) && (int)$item_id !== (int)$item['id'] ) { |
|
| 1773 | + foreach ($this->items as $key => $item) { |
|
| 1774 | + if (!empty($item['id']) && (int)$item_id !== (int)$item['id']) { |
|
| 1775 | 1775 | continue; |
| 1776 | 1776 | } |
| 1777 | 1777 | |
| 1778 | - if ( false !== $args['cart_index'] ) { |
|
| 1779 | - $cart_index = absint( $args['cart_index'] ); |
|
| 1780 | - $cart_item = ! empty( $this->cart_details[ $cart_index ] ) ? $this->cart_details[ $cart_index ] : false; |
|
| 1778 | + if (false !== $args['cart_index']) { |
|
| 1779 | + $cart_index = absint($args['cart_index']); |
|
| 1780 | + $cart_item = !empty($this->cart_details[$cart_index]) ? $this->cart_details[$cart_index] : false; |
|
| 1781 | 1781 | |
| 1782 | - if ( ! empty( $cart_item ) ) { |
|
| 1782 | + if (!empty($cart_item)) { |
|
| 1783 | 1783 | // If the cart index item isn't the same item ID, don't remove it |
| 1784 | - if ( !empty($cart_item['id']) && $cart_item['id'] != $item['id'] ) { |
|
| 1784 | + if (!empty($cart_item['id']) && $cart_item['id'] != $item['id']) { |
|
| 1785 | 1785 | continue; |
| 1786 | 1786 | } |
| 1787 | 1787 | } |
| 1788 | 1788 | } |
| 1789 | 1789 | |
| 1790 | - $item_quantity = $this->items[ $key ]['quantity']; |
|
| 1791 | - if ( $item_quantity > $args['quantity'] ) { |
|
| 1792 | - $this->items[ $key ]['quantity'] -= $args['quantity']; |
|
| 1790 | + $item_quantity = $this->items[$key]['quantity']; |
|
| 1791 | + if ($item_quantity > $args['quantity']) { |
|
| 1792 | + $this->items[$key]['quantity'] -= $args['quantity']; |
|
| 1793 | 1793 | break; |
| 1794 | 1794 | } else { |
| 1795 | - unset( $this->items[ $key ] ); |
|
| 1795 | + unset($this->items[$key]); |
|
| 1796 | 1796 | break; |
| 1797 | 1797 | } |
| 1798 | 1798 | } |
| 1799 | 1799 | |
| 1800 | 1800 | $found_cart_key = false; |
| 1801 | - if ( false === $args['cart_index'] ) { |
|
| 1802 | - foreach ( $this->cart_details as $cart_key => $item ) { |
|
| 1803 | - if ( $item_id != $item['id'] ) { |
|
| 1801 | + if (false === $args['cart_index']) { |
|
| 1802 | + foreach ($this->cart_details as $cart_key => $item) { |
|
| 1803 | + if ($item_id != $item['id']) { |
|
| 1804 | 1804 | continue; |
| 1805 | 1805 | } |
| 1806 | 1806 | |
| 1807 | - if ( false !== $args['item_price'] ) { |
|
| 1808 | - if ( isset( $item['item_price'] ) && (float) $args['item_price'] != (float) $item['item_price'] ) { |
|
| 1807 | + if (false !== $args['item_price']) { |
|
| 1808 | + if (isset($item['item_price']) && (float)$args['item_price'] != (float)$item['item_price']) { |
|
| 1809 | 1809 | continue; |
| 1810 | 1810 | } |
| 1811 | 1811 | } |
@@ -1814,13 +1814,13 @@ discard block |
||
| 1814 | 1814 | break; |
| 1815 | 1815 | } |
| 1816 | 1816 | } else { |
| 1817 | - $cart_index = absint( $args['cart_index'] ); |
|
| 1817 | + $cart_index = absint($args['cart_index']); |
|
| 1818 | 1818 | |
| 1819 | - if ( ! array_key_exists( $cart_index, $this->cart_details ) ) { |
|
| 1819 | + if (!array_key_exists($cart_index, $this->cart_details)) { |
|
| 1820 | 1820 | return false; // Invalid cart index passed. |
| 1821 | 1821 | } |
| 1822 | 1822 | |
| 1823 | - if ( (int) $this->cart_details[ $cart_index ]['id'] > 0 && (int) $this->cart_details[ $cart_index ]['id'] !== (int) $item_id ) { |
|
| 1823 | + if ((int)$this->cart_details[$cart_index]['id'] > 0 && (int)$this->cart_details[$cart_index]['id'] !== (int)$item_id) { |
|
| 1824 | 1824 | return false; // We still need the proper Item ID to be sure. |
| 1825 | 1825 | } |
| 1826 | 1826 | |
@@ -1828,41 +1828,41 @@ discard block |
||
| 1828 | 1828 | } |
| 1829 | 1829 | |
| 1830 | 1830 | $cart_item = $this->cart_details[$found_cart_key]; |
| 1831 | - $quantity = !empty( $cart_item['quantity'] ) ? $cart_item['quantity'] : 1; |
|
| 1831 | + $quantity = !empty($cart_item['quantity']) ? $cart_item['quantity'] : 1; |
|
| 1832 | 1832 | |
| 1833 | - if ( count( $this->cart_details ) == 1 && ( $quantity - $args['quantity'] ) < 1 ) { |
|
| 1833 | + if (count($this->cart_details) == 1 && ($quantity - $args['quantity']) < 1) { |
|
| 1834 | 1834 | return false; // Invoice must contain at least one item. |
| 1835 | 1835 | } |
| 1836 | 1836 | |
| 1837 | - $discounts = $this->get_discounts(); |
|
| 1837 | + $discounts = $this->get_discounts(); |
|
| 1838 | 1838 | |
| 1839 | - if ( $quantity > $args['quantity'] ) { |
|
| 1839 | + if ($quantity > $args['quantity']) { |
|
| 1840 | 1840 | $item_price = $cart_item['item_price']; |
| 1841 | - $tax_rate = !empty( $cart_item['vat_rate'] ) ? $cart_item['vat_rate'] : 0; |
|
| 1841 | + $tax_rate = !empty($cart_item['vat_rate']) ? $cart_item['vat_rate'] : 0; |
|
| 1842 | 1842 | |
| 1843 | - $new_quantity = max( $quantity - $args['quantity'], 1); |
|
| 1843 | + $new_quantity = max($quantity - $args['quantity'], 1); |
|
| 1844 | 1844 | $subtotal = $item_price * $new_quantity; |
| 1845 | 1845 | |
| 1846 | 1846 | $args['quantity'] = $new_quantity; |
| 1847 | - $discount = !empty( $cart_item['discount'] ) ? $cart_item['discount'] : 0; |
|
| 1848 | - $tax = $subtotal > 0 && $tax_rate > 0 ? ( ( $subtotal - $discount ) * 0.01 * (float)$tax_rate ) : 0; |
|
| 1847 | + $discount = !empty($cart_item['discount']) ? $cart_item['discount'] : 0; |
|
| 1848 | + $tax = $subtotal > 0 && $tax_rate > 0 ? (($subtotal - $discount) * 0.01 * (float)$tax_rate) : 0; |
|
| 1849 | 1849 | |
| 1850 | - $discount_decrease = (float)$cart_item['discount'] > 0 && $quantity > 0 ? wpinv_round_amount( ( (float)$cart_item['discount'] / $quantity ) ) : 0; |
|
| 1850 | + $discount_decrease = (float)$cart_item['discount'] > 0 && $quantity > 0 ? wpinv_round_amount(((float)$cart_item['discount'] / $quantity)) : 0; |
|
| 1851 | 1851 | $discount_decrease = $discount > 0 && $subtotal > 0 && (float)$cart_item['discount'] > $discount ? (float)$cart_item['discount'] - $discount : $discount_decrease; |
| 1852 | - $tax_decrease = (float)$cart_item['tax'] > 0 && $quantity > 0 ? wpinv_round_amount( ( (float)$cart_item['tax'] / $quantity ) ) : 0; |
|
| 1852 | + $tax_decrease = (float)$cart_item['tax'] > 0 && $quantity > 0 ? wpinv_round_amount(((float)$cart_item['tax'] / $quantity)) : 0; |
|
| 1853 | 1853 | $tax_decrease = $tax > 0 && $subtotal > 0 && (float)$cart_item['tax'] > $tax ? (float)$cart_item['tax'] - $tax : $tax_decrease; |
| 1854 | 1854 | |
| 1855 | 1855 | // The total increase equals the number removed * the item_price |
| 1856 | - $total_decrease = wpinv_round_amount( $item_price ); |
|
| 1856 | + $total_decrease = wpinv_round_amount($item_price); |
|
| 1857 | 1857 | |
| 1858 | - if ( wpinv_prices_include_tax() ) { |
|
| 1859 | - $subtotal -= wpinv_round_amount( $tax ); |
|
| 1858 | + if (wpinv_prices_include_tax()) { |
|
| 1859 | + $subtotal -= wpinv_round_amount($tax); |
|
| 1860 | 1860 | } |
| 1861 | 1861 | |
| 1862 | - $total = $subtotal - $discount + $tax; |
|
| 1862 | + $total = $subtotal - $discount + $tax; |
|
| 1863 | 1863 | |
| 1864 | 1864 | // Do not allow totals to go negative |
| 1865 | - if( $total < 0 ) { |
|
| 1865 | + if ($total < 0) { |
|
| 1866 | 1866 | $total = 0; |
| 1867 | 1867 | } |
| 1868 | 1868 | |
@@ -1881,16 +1881,16 @@ discard block |
||
| 1881 | 1881 | |
| 1882 | 1882 | $this->cart_details[$found_cart_key] = $cart_item; |
| 1883 | 1883 | |
| 1884 | - $remove_item = end( $this->cart_details ); |
|
| 1884 | + $remove_item = end($this->cart_details); |
|
| 1885 | 1885 | } else { |
| 1886 | 1886 | $item_price = $cart_item['item_price']; |
| 1887 | - $discount = !empty( $cart_item['discount'] ) ? $cart_item['discount'] : 0; |
|
| 1888 | - $tax = !empty( $cart_item['tax'] ) ? $cart_item['tax'] : 0; |
|
| 1887 | + $discount = !empty($cart_item['discount']) ? $cart_item['discount'] : 0; |
|
| 1888 | + $tax = !empty($cart_item['tax']) ? $cart_item['tax'] : 0; |
|
| 1889 | 1889 | |
| 1890 | - $subtotal_decrease = ( $item_price * $quantity ) - $discount; |
|
| 1890 | + $subtotal_decrease = ($item_price * $quantity) - $discount; |
|
| 1891 | 1891 | $tax_decrease = $tax; |
| 1892 | 1892 | |
| 1893 | - unset( $this->cart_details[$found_cart_key] ); |
|
| 1893 | + unset($this->cart_details[$found_cart_key]); |
|
| 1894 | 1894 | |
| 1895 | 1895 | $remove_item = $args; |
| 1896 | 1896 | $remove_item['id'] = $item_id; |
@@ -1901,8 +1901,8 @@ discard block |
||
| 1901 | 1901 | $remove_item['action'] = 'remove'; |
| 1902 | 1902 | $this->pending['items'][] = $remove_item; |
| 1903 | 1903 | |
| 1904 | - $this->decrease_subtotal( $subtotal_decrease ); |
|
| 1905 | - $this->decrease_tax( $tax_decrease ); |
|
| 1904 | + $this->decrease_subtotal($subtotal_decrease); |
|
| 1905 | + $this->decrease_tax($tax_decrease); |
|
| 1906 | 1906 | |
| 1907 | 1907 | return true; |
| 1908 | 1908 | } |
@@ -1910,7 +1910,7 @@ discard block |
||
| 1910 | 1910 | public function update_items($temp = false) { |
| 1911 | 1911 | global $wpinv_euvat, $wpi_current_id, $wpi_item_id, $wpi_nosave; |
| 1912 | 1912 | |
| 1913 | - if ( !empty( $this->cart_details ) ) { |
|
| 1913 | + if (!empty($this->cart_details)) { |
|
| 1914 | 1914 | $wpi_nosave = $temp; |
| 1915 | 1915 | $cart_subtotal = 0; |
| 1916 | 1916 | $cart_discount = 0; |
@@ -1920,42 +1920,42 @@ discard block |
||
| 1920 | 1920 | $_POST['wpinv_country'] = $this->country; |
| 1921 | 1921 | $_POST['wpinv_state'] = $this->state; |
| 1922 | 1922 | |
| 1923 | - foreach ( $this->cart_details as $key => $item ) { |
|
| 1923 | + foreach ($this->cart_details as $key => $item) { |
|
| 1924 | 1924 | $item_price = $item['item_price']; |
| 1925 | - $quantity = wpinv_item_quantities_enabled() && $item['quantity'] > 0 ? absint( $item['quantity'] ) : 1; |
|
| 1926 | - $amount = wpinv_round_amount( $item_price * $quantity ); |
|
| 1925 | + $quantity = wpinv_item_quantities_enabled() && $item['quantity'] > 0 ? absint($item['quantity']) : 1; |
|
| 1926 | + $amount = wpinv_round_amount($item_price * $quantity); |
|
| 1927 | 1927 | $subtotal = $item_price * $quantity; |
| 1928 | 1928 | |
| 1929 | 1929 | $wpi_current_id = $this->ID; |
| 1930 | 1930 | $wpi_item_id = $item['id']; |
| 1931 | 1931 | |
| 1932 | - $discount = wpinv_get_cart_item_discount_amount( $item, $this->get_discounts() ); |
|
| 1932 | + $discount = wpinv_get_cart_item_discount_amount($item, $this->get_discounts()); |
|
| 1933 | 1933 | |
| 1934 | - $tax_rate = wpinv_get_tax_rate( $this->country, $this->state, $wpi_item_id ); |
|
| 1935 | - $tax_class = $wpinv_euvat->get_item_class( $wpi_item_id ); |
|
| 1936 | - $tax = $item_price > 0 ? ( ( $subtotal - $discount ) * 0.01 * (float)$tax_rate ) : 0; |
|
| 1934 | + $tax_rate = wpinv_get_tax_rate($this->country, $this->state, $wpi_item_id); |
|
| 1935 | + $tax_class = $wpinv_euvat->get_item_class($wpi_item_id); |
|
| 1936 | + $tax = $item_price > 0 ? (($subtotal - $discount) * 0.01 * (float)$tax_rate) : 0; |
|
| 1937 | 1937 | |
| 1938 | - if ( wpinv_prices_include_tax() ) { |
|
| 1939 | - $subtotal -= wpinv_round_amount( $tax ); |
|
| 1938 | + if (wpinv_prices_include_tax()) { |
|
| 1939 | + $subtotal -= wpinv_round_amount($tax); |
|
| 1940 | 1940 | } |
| 1941 | 1941 | |
| 1942 | - $total = $subtotal - $discount + $tax; |
|
| 1942 | + $total = $subtotal - $discount + $tax; |
|
| 1943 | 1943 | |
| 1944 | 1944 | // Do not allow totals to go negative |
| 1945 | - if( $total < 0 ) { |
|
| 1945 | + if ($total < 0) { |
|
| 1946 | 1946 | $total = 0; |
| 1947 | 1947 | } |
| 1948 | 1948 | |
| 1949 | 1949 | $cart_details[] = array( |
| 1950 | 1950 | 'id' => $item['id'], |
| 1951 | 1951 | 'name' => $item['name'], |
| 1952 | - 'item_price' => wpinv_round_amount( $item_price ), |
|
| 1953 | - 'custom_price'=> ( isset( $item['custom_price'] ) ? $item['custom_price'] : '' ), |
|
| 1952 | + 'item_price' => wpinv_round_amount($item_price), |
|
| 1953 | + 'custom_price'=> (isset($item['custom_price']) ? $item['custom_price'] : ''), |
|
| 1954 | 1954 | 'quantity' => $quantity, |
| 1955 | 1955 | 'discount' => $discount, |
| 1956 | - 'subtotal' => wpinv_round_amount( $subtotal ), |
|
| 1957 | - 'tax' => wpinv_round_amount( $tax ), |
|
| 1958 | - 'price' => wpinv_round_amount( $total ), |
|
| 1956 | + 'subtotal' => wpinv_round_amount($subtotal), |
|
| 1957 | + 'tax' => wpinv_round_amount($tax), |
|
| 1958 | + 'price' => wpinv_round_amount($total), |
|
| 1959 | 1959 | 'vat_rate' => $tax_rate, |
| 1960 | 1960 | 'vat_class' => $tax_class, |
| 1961 | 1961 | 'meta' => isset($item['meta']) ? $item['meta'] : array(), |
@@ -1966,15 +1966,15 @@ discard block |
||
| 1966 | 1966 | $cart_discount += (float)($discount); |
| 1967 | 1967 | $cart_tax += (float)($tax); |
| 1968 | 1968 | } |
| 1969 | - if ( $cart_subtotal < 0 ) { |
|
| 1969 | + if ($cart_subtotal < 0) { |
|
| 1970 | 1970 | $cart_subtotal = 0; |
| 1971 | 1971 | } |
| 1972 | - if ( $cart_tax < 0 ) { |
|
| 1972 | + if ($cart_tax < 0) { |
|
| 1973 | 1973 | $cart_tax = 0; |
| 1974 | 1974 | } |
| 1975 | - $this->subtotal = wpinv_round_amount( $cart_subtotal ); |
|
| 1976 | - $this->tax = wpinv_round_amount( $cart_tax ); |
|
| 1977 | - $this->discount = wpinv_round_amount( $cart_discount ); |
|
| 1975 | + $this->subtotal = wpinv_round_amount($cart_subtotal); |
|
| 1976 | + $this->tax = wpinv_round_amount($cart_tax); |
|
| 1977 | + $this->discount = wpinv_round_amount($cart_discount); |
|
| 1978 | 1978 | |
| 1979 | 1979 | $this->recalculate_total(); |
| 1980 | 1980 | |
@@ -1986,197 +1986,197 @@ discard block |
||
| 1986 | 1986 | |
| 1987 | 1987 | public function recalculate_totals($temp = false) { |
| 1988 | 1988 | $this->update_items($temp); |
| 1989 | - $this->save( true ); |
|
| 1989 | + $this->save(true); |
|
| 1990 | 1990 | |
| 1991 | 1991 | return $this; |
| 1992 | 1992 | } |
| 1993 | 1993 | |
| 1994 | 1994 | public function needs_payment() { |
| 1995 | - $valid_invoice_statuses = apply_filters( 'wpinv_valid_invoice_statuses_for_payment', array( 'wpi-pending' ), $this ); |
|
| 1995 | + $valid_invoice_statuses = apply_filters('wpinv_valid_invoice_statuses_for_payment', array('wpi-pending'), $this); |
|
| 1996 | 1996 | |
| 1997 | - if ( $this->has_status( $valid_invoice_statuses ) && ( $this->get_total() > 0 || $this->is_free_trial() || $this->is_free() || $this->is_initial_free() ) ) { |
|
| 1997 | + if ($this->has_status($valid_invoice_statuses) && ($this->get_total() > 0 || $this->is_free_trial() || $this->is_free() || $this->is_initial_free())) { |
|
| 1998 | 1998 | $needs_payment = true; |
| 1999 | 1999 | } else { |
| 2000 | 2000 | $needs_payment = false; |
| 2001 | 2001 | } |
| 2002 | 2002 | |
| 2003 | - return apply_filters( 'wpinv_needs_payment', $needs_payment, $this, $valid_invoice_statuses ); |
|
| 2003 | + return apply_filters('wpinv_needs_payment', $needs_payment, $this, $valid_invoice_statuses); |
|
| 2004 | 2004 | } |
| 2005 | 2005 | |
| 2006 | - public function get_checkout_payment_url( $with_key = false, $secret = false ) { |
|
| 2006 | + public function get_checkout_payment_url($with_key = false, $secret = false) { |
|
| 2007 | 2007 | $pay_url = wpinv_get_checkout_uri(); |
| 2008 | 2008 | |
| 2009 | - if ( is_ssl() ) { |
|
| 2010 | - $pay_url = str_replace( 'http:', 'https:', $pay_url ); |
|
| 2009 | + if (is_ssl()) { |
|
| 2010 | + $pay_url = str_replace('http:', 'https:', $pay_url); |
|
| 2011 | 2011 | } |
| 2012 | 2012 | |
| 2013 | 2013 | $key = $this->get_key(); |
| 2014 | 2014 | |
| 2015 | - if ( $with_key ) { |
|
| 2016 | - $pay_url = add_query_arg( 'invoice_key', $key, $pay_url ); |
|
| 2015 | + if ($with_key) { |
|
| 2016 | + $pay_url = add_query_arg('invoice_key', $key, $pay_url); |
|
| 2017 | 2017 | } else { |
| 2018 | - $pay_url = add_query_arg( array( 'wpi_action' => 'pay_for_invoice', 'invoice_key' => $key ), $pay_url ); |
|
| 2018 | + $pay_url = add_query_arg(array('wpi_action' => 'pay_for_invoice', 'invoice_key' => $key), $pay_url); |
|
| 2019 | 2019 | } |
| 2020 | 2020 | |
| 2021 | - if ( $secret ) { |
|
| 2022 | - $pay_url = add_query_arg( array( '_wpipay' => md5( $this->get_user_id() . '::' . $this->get_email() . '::' . $key ) ), $pay_url ); |
|
| 2021 | + if ($secret) { |
|
| 2022 | + $pay_url = add_query_arg(array('_wpipay' => md5($this->get_user_id() . '::' . $this->get_email() . '::' . $key)), $pay_url); |
|
| 2023 | 2023 | } |
| 2024 | 2024 | |
| 2025 | - return apply_filters( 'wpinv_get_checkout_payment_url', $pay_url, $this, $with_key, $secret ); |
|
| 2025 | + return apply_filters('wpinv_get_checkout_payment_url', $pay_url, $this, $with_key, $secret); |
|
| 2026 | 2026 | } |
| 2027 | 2027 | |
| 2028 | - public function get_view_url( $with_key = false ) { |
|
| 2029 | - $invoice_url = get_permalink( $this->ID ); |
|
| 2028 | + public function get_view_url($with_key = false) { |
|
| 2029 | + $invoice_url = get_permalink($this->ID); |
|
| 2030 | 2030 | |
| 2031 | - if ( $with_key ) { |
|
| 2032 | - $invoice_url = add_query_arg( 'invoice_key', $this->get_key(), $invoice_url ); |
|
| 2031 | + if ($with_key) { |
|
| 2032 | + $invoice_url = add_query_arg('invoice_key', $this->get_key(), $invoice_url); |
|
| 2033 | 2033 | } |
| 2034 | 2034 | |
| 2035 | - return apply_filters( 'wpinv_get_view_url', $invoice_url, $this, $with_key ); |
|
| 2035 | + return apply_filters('wpinv_get_view_url', $invoice_url, $this, $with_key); |
|
| 2036 | 2036 | } |
| 2037 | 2037 | |
| 2038 | - public function generate_key( $string = '' ) { |
|
| 2039 | - $auth_key = defined( 'AUTH_KEY' ) ? AUTH_KEY : ''; |
|
| 2040 | - return strtolower( md5( $string . date( 'Y-m-d H:i:s' ) . $auth_key . uniqid( 'wpinv', true ) ) ); // Unique key |
|
| 2038 | + public function generate_key($string = '') { |
|
| 2039 | + $auth_key = defined('AUTH_KEY') ? AUTH_KEY : ''; |
|
| 2040 | + return strtolower(md5($string . date('Y-m-d H:i:s') . $auth_key . uniqid('wpinv', true))); // Unique key |
|
| 2041 | 2041 | } |
| 2042 | 2042 | |
| 2043 | 2043 | public function is_recurring() { |
| 2044 | - if ( empty( $this->cart_details ) ) { |
|
| 2044 | + if (empty($this->cart_details)) { |
|
| 2045 | 2045 | return false; |
| 2046 | 2046 | } |
| 2047 | 2047 | |
| 2048 | 2048 | $has_subscription = false; |
| 2049 | - foreach( $this->cart_details as $cart_item ) { |
|
| 2050 | - if ( !empty( $cart_item['id'] ) && wpinv_is_recurring_item( $cart_item['id'] ) ) { |
|
| 2049 | + foreach ($this->cart_details as $cart_item) { |
|
| 2050 | + if (!empty($cart_item['id']) && wpinv_is_recurring_item($cart_item['id'])) { |
|
| 2051 | 2051 | $has_subscription = true; |
| 2052 | 2052 | break; |
| 2053 | 2053 | } |
| 2054 | 2054 | } |
| 2055 | 2055 | |
| 2056 | - if ( count( $this->cart_details ) > 1 ) { |
|
| 2056 | + if (count($this->cart_details) > 1) { |
|
| 2057 | 2057 | $has_subscription = false; |
| 2058 | 2058 | } |
| 2059 | 2059 | |
| 2060 | - return apply_filters( 'wpinv_invoice_has_recurring_item', $has_subscription, $this->cart_details ); |
|
| 2060 | + return apply_filters('wpinv_invoice_has_recurring_item', $has_subscription, $this->cart_details); |
|
| 2061 | 2061 | } |
| 2062 | 2062 | |
| 2063 | 2063 | public function is_free_trial() { |
| 2064 | 2064 | $is_free_trial = false; |
| 2065 | 2065 | |
| 2066 | - if ( $this->is_parent() && $item = $this->get_recurring( true ) ) { |
|
| 2067 | - if ( !empty( $item ) && $item->has_free_trial() ) { |
|
| 2066 | + if ($this->is_parent() && $item = $this->get_recurring(true)) { |
|
| 2067 | + if (!empty($item) && $item->has_free_trial()) { |
|
| 2068 | 2068 | $is_free_trial = true; |
| 2069 | 2069 | } |
| 2070 | 2070 | } |
| 2071 | 2071 | |
| 2072 | - return apply_filters( 'wpinv_invoice_is_free_trial', $is_free_trial, $this->cart_details ); |
|
| 2072 | + return apply_filters('wpinv_invoice_is_free_trial', $is_free_trial, $this->cart_details); |
|
| 2073 | 2073 | } |
| 2074 | 2074 | |
| 2075 | 2075 | public function is_initial_free() { |
| 2076 | 2076 | $is_initial_free = false; |
| 2077 | 2077 | |
| 2078 | - if ( ! ( (float)wpinv_round_amount( $this->get_total() ) > 0 ) && $this->is_parent() && $this->is_recurring() && ! $this->is_free_trial() && ! $this->is_free() ) { |
|
| 2078 | + if (!((float)wpinv_round_amount($this->get_total()) > 0) && $this->is_parent() && $this->is_recurring() && !$this->is_free_trial() && !$this->is_free()) { |
|
| 2079 | 2079 | $is_initial_free = true; |
| 2080 | 2080 | } |
| 2081 | 2081 | |
| 2082 | - return apply_filters( 'wpinv_invoice_is_initial_free', $is_initial_free, $this->cart_details ); |
|
| 2082 | + return apply_filters('wpinv_invoice_is_initial_free', $is_initial_free, $this->cart_details); |
|
| 2083 | 2083 | } |
| 2084 | 2084 | |
| 2085 | - public function get_recurring( $object = false ) { |
|
| 2085 | + public function get_recurring($object = false) { |
|
| 2086 | 2086 | $item = NULL; |
| 2087 | 2087 | |
| 2088 | - if ( empty( $this->cart_details ) ) { |
|
| 2088 | + if (empty($this->cart_details)) { |
|
| 2089 | 2089 | return $item; |
| 2090 | 2090 | } |
| 2091 | 2091 | |
| 2092 | - foreach( $this->cart_details as $cart_item ) { |
|
| 2093 | - if ( !empty( $cart_item['id'] ) && wpinv_is_recurring_item( $cart_item['id'] ) ) { |
|
| 2092 | + foreach ($this->cart_details as $cart_item) { |
|
| 2093 | + if (!empty($cart_item['id']) && wpinv_is_recurring_item($cart_item['id'])) { |
|
| 2094 | 2094 | $item = $cart_item['id']; |
| 2095 | 2095 | break; |
| 2096 | 2096 | } |
| 2097 | 2097 | } |
| 2098 | 2098 | |
| 2099 | - if ( $object ) { |
|
| 2100 | - $item = $item ? new WPInv_Item( $item ) : NULL; |
|
| 2099 | + if ($object) { |
|
| 2100 | + $item = $item ? new WPInv_Item($item) : NULL; |
|
| 2101 | 2101 | |
| 2102 | - apply_filters( 'wpinv_invoice_get_recurring_item', $item, $this ); |
|
| 2102 | + apply_filters('wpinv_invoice_get_recurring_item', $item, $this); |
|
| 2103 | 2103 | } |
| 2104 | 2104 | |
| 2105 | - return apply_filters( 'wpinv_invoice_get_recurring_item_id', $item, $this ); |
|
| 2105 | + return apply_filters('wpinv_invoice_get_recurring_item_id', $item, $this); |
|
| 2106 | 2106 | } |
| 2107 | 2107 | |
| 2108 | 2108 | public function get_subscription_name() { |
| 2109 | - $item = $this->get_recurring( true ); |
|
| 2109 | + $item = $this->get_recurring(true); |
|
| 2110 | 2110 | |
| 2111 | - if ( empty( $item ) ) { |
|
| 2111 | + if (empty($item)) { |
|
| 2112 | 2112 | return NULL; |
| 2113 | 2113 | } |
| 2114 | 2114 | |
| 2115 | - if ( !($name = $item->get_name()) ) { |
|
| 2115 | + if (!($name = $item->get_name())) { |
|
| 2116 | 2116 | $name = $item->post_name; |
| 2117 | 2117 | } |
| 2118 | 2118 | |
| 2119 | - return apply_filters( 'wpinv_invoice_get_subscription_name', $name, $this ); |
|
| 2119 | + return apply_filters('wpinv_invoice_get_subscription_name', $name, $this); |
|
| 2120 | 2120 | } |
| 2121 | 2121 | |
| 2122 | 2122 | public function get_subscription_id() { |
| 2123 | - $subscription_id = $this->get_meta( '_wpinv_subscr_profile_id', true ); |
|
| 2123 | + $subscription_id = $this->get_meta('_wpinv_subscr_profile_id', true); |
|
| 2124 | 2124 | |
| 2125 | - if ( empty( $subscription_id ) && !empty( $this->parent_invoice ) ) { |
|
| 2126 | - $parent_invoice = wpinv_get_invoice( $this->parent_invoice ); |
|
| 2125 | + if (empty($subscription_id) && !empty($this->parent_invoice)) { |
|
| 2126 | + $parent_invoice = wpinv_get_invoice($this->parent_invoice); |
|
| 2127 | 2127 | |
| 2128 | - $subscription_id = $parent_invoice->get_meta( '_wpinv_subscr_profile_id', true ); |
|
| 2128 | + $subscription_id = $parent_invoice->get_meta('_wpinv_subscr_profile_id', true); |
|
| 2129 | 2129 | } |
| 2130 | 2130 | |
| 2131 | 2131 | return $subscription_id; |
| 2132 | 2132 | } |
| 2133 | 2133 | |
| 2134 | 2134 | public function is_parent() { |
| 2135 | - $is_parent = empty( $this->parent_invoice ) ? true : false; |
|
| 2135 | + $is_parent = empty($this->parent_invoice) ? true : false; |
|
| 2136 | 2136 | |
| 2137 | - return apply_filters( 'wpinv_invoice_is_parent', $is_parent, $this ); |
|
| 2137 | + return apply_filters('wpinv_invoice_is_parent', $is_parent, $this); |
|
| 2138 | 2138 | } |
| 2139 | 2139 | |
| 2140 | 2140 | public function is_renewal() { |
| 2141 | 2141 | $is_renewal = $this->parent_invoice && $this->parent_invoice != $this->ID ? true : false; |
| 2142 | 2142 | |
| 2143 | - return apply_filters( 'wpinv_invoice_is_renewal', $is_renewal, $this ); |
|
| 2143 | + return apply_filters('wpinv_invoice_is_renewal', $is_renewal, $this); |
|
| 2144 | 2144 | } |
| 2145 | 2145 | |
| 2146 | 2146 | public function get_parent_payment() { |
| 2147 | 2147 | $parent_payment = NULL; |
| 2148 | 2148 | |
| 2149 | - if ( $this->is_renewal() ) { |
|
| 2150 | - $parent_payment = wpinv_get_invoice( $this->parent_invoice ); |
|
| 2149 | + if ($this->is_renewal()) { |
|
| 2150 | + $parent_payment = wpinv_get_invoice($this->parent_invoice); |
|
| 2151 | 2151 | } |
| 2152 | 2152 | |
| 2153 | 2153 | return $parent_payment; |
| 2154 | 2154 | } |
| 2155 | 2155 | |
| 2156 | 2156 | public function is_paid() { |
| 2157 | - $is_paid = $this->has_status( array( 'publish', 'wpi-processing', 'wpi-renewal' ) ); |
|
| 2157 | + $is_paid = $this->has_status(array('publish', 'wpi-processing', 'wpi-renewal')); |
|
| 2158 | 2158 | |
| 2159 | - return apply_filters( 'wpinv_invoice_is_paid', $is_paid, $this ); |
|
| 2159 | + return apply_filters('wpinv_invoice_is_paid', $is_paid, $this); |
|
| 2160 | 2160 | } |
| 2161 | 2161 | |
| 2162 | 2162 | public function is_refunded() { |
| 2163 | - $is_refunded = $this->has_status( array( 'wpi-refunded' ) ); |
|
| 2163 | + $is_refunded = $this->has_status(array('wpi-refunded')); |
|
| 2164 | 2164 | |
| 2165 | - return apply_filters( 'wpinv_invoice_is_refunded', $is_refunded, $this ); |
|
| 2165 | + return apply_filters('wpinv_invoice_is_refunded', $is_refunded, $this); |
|
| 2166 | 2166 | } |
| 2167 | 2167 | |
| 2168 | 2168 | public function is_free() { |
| 2169 | 2169 | $is_free = false; |
| 2170 | 2170 | |
| 2171 | - if ( !( (float)wpinv_round_amount( $this->get_total() ) > 0 ) ) { |
|
| 2172 | - if ( $this->is_parent() && $this->is_recurring() ) { |
|
| 2173 | - $is_free = (float)wpinv_round_amount( $this->get_recurring_details( 'total' ) ) > 0 ? false : true; |
|
| 2171 | + if (!((float)wpinv_round_amount($this->get_total()) > 0)) { |
|
| 2172 | + if ($this->is_parent() && $this->is_recurring()) { |
|
| 2173 | + $is_free = (float)wpinv_round_amount($this->get_recurring_details('total')) > 0 ? false : true; |
|
| 2174 | 2174 | } else { |
| 2175 | 2175 | $is_free = true; |
| 2176 | 2176 | } |
| 2177 | 2177 | } |
| 2178 | 2178 | |
| 2179 | - return apply_filters( 'wpinv_invoice_is_free', $is_free, $this ); |
|
| 2179 | + return apply_filters('wpinv_invoice_is_free', $is_free, $this); |
|
| 2180 | 2180 | } |
| 2181 | 2181 | |
| 2182 | 2182 | public function has_vat() { |
@@ -2184,41 +2184,41 @@ discard block |
||
| 2184 | 2184 | |
| 2185 | 2185 | $requires_vat = false; |
| 2186 | 2186 | |
| 2187 | - if ( $this->country ) { |
|
| 2187 | + if ($this->country) { |
|
| 2188 | 2188 | $wpi_country = $this->country; |
| 2189 | 2189 | |
| 2190 | - $requires_vat = $wpinv_euvat->requires_vat( $requires_vat, $this->get_user_id(), $wpinv_euvat->invoice_has_digital_rule( $this ) ); |
|
| 2190 | + $requires_vat = $wpinv_euvat->requires_vat($requires_vat, $this->get_user_id(), $wpinv_euvat->invoice_has_digital_rule($this)); |
|
| 2191 | 2191 | } |
| 2192 | 2192 | |
| 2193 | - return apply_filters( 'wpinv_invoice_has_vat', $requires_vat, $this ); |
|
| 2193 | + return apply_filters('wpinv_invoice_has_vat', $requires_vat, $this); |
|
| 2194 | 2194 | } |
| 2195 | 2195 | |
| 2196 | 2196 | public function refresh_item_ids() { |
| 2197 | 2197 | $item_ids = array(); |
| 2198 | 2198 | |
| 2199 | - if ( !empty( $this->cart_details ) ) { |
|
| 2200 | - foreach ( $this->cart_details as $key => $item ) { |
|
| 2201 | - if ( !empty( $item['id'] ) ) { |
|
| 2199 | + if (!empty($this->cart_details)) { |
|
| 2200 | + foreach ($this->cart_details as $key => $item) { |
|
| 2201 | + if (!empty($item['id'])) { |
|
| 2202 | 2202 | $item_ids[] = $item['id']; |
| 2203 | 2203 | } |
| 2204 | 2204 | } |
| 2205 | 2205 | } |
| 2206 | 2206 | |
| 2207 | - $item_ids = !empty( $item_ids ) ? implode( ',', array_unique( $item_ids ) ) : ''; |
|
| 2207 | + $item_ids = !empty($item_ids) ? implode(',', array_unique($item_ids)) : ''; |
|
| 2208 | 2208 | |
| 2209 | - update_post_meta( $this->ID, '_wpinv_item_ids', $item_ids ); |
|
| 2209 | + update_post_meta($this->ID, '_wpinv_item_ids', $item_ids); |
|
| 2210 | 2210 | } |
| 2211 | 2211 | |
| 2212 | - public function get_invoice_quote_type( $post_id ) { |
|
| 2213 | - if ( empty( $post_id ) ) { |
|
| 2212 | + public function get_invoice_quote_type($post_id) { |
|
| 2213 | + if (empty($post_id)) { |
|
| 2214 | 2214 | return ''; |
| 2215 | 2215 | } |
| 2216 | 2216 | |
| 2217 | - $type = get_post_type( $post_id ); |
|
| 2217 | + $type = get_post_type($post_id); |
|
| 2218 | 2218 | |
| 2219 | - if ( 'wpi_invoice' === $type ) { |
|
| 2219 | + if ('wpi_invoice' === $type) { |
|
| 2220 | 2220 | $post_type = __('Invoice', 'invoicing'); |
| 2221 | - } else{ |
|
| 2221 | + } else { |
|
| 2222 | 2222 | $post_type = __('Quote', 'invoicing'); |
| 2223 | 2223 | } |
| 2224 | 2224 | |
@@ -974,8 +974,9 @@ |
||
| 974 | 974 | return false; |
| 975 | 975 | } |
| 976 | 976 | |
| 977 | - if ( empty( $this->ID ) ) |
|
| 978 | - return false; |
|
| 977 | + if ( empty( $this->ID ) ) { |
|
| 978 | + return false; |
|
| 979 | + } |
|
| 979 | 980 | |
| 980 | 981 | if ( ( ( is_user_logged_in() && wpinv_current_user_can_manage_invoicing() ) || $added_by_user ) && !$system ) { |
| 981 | 982 | $user = get_user_by( 'id', get_current_user_id() ); |
@@ -984,326 +984,326 @@ discard block |
||
| 984 | 984 | } |
| 985 | 985 | |
| 986 | 986 | function wpinv_get_pages( $with_slug = false, $default_label = NULL ) { |
| 987 | - $pages_options = array(); |
|
| 987 | + $pages_options = array(); |
|
| 988 | 988 | |
| 989 | - if( $default_label !== NULL && $default_label !== false ) { |
|
| 990 | - $pages_options = array( '' => $default_label ); // Blank option |
|
| 991 | - } |
|
| 989 | + if( $default_label !== NULL && $default_label !== false ) { |
|
| 990 | + $pages_options = array( '' => $default_label ); // Blank option |
|
| 991 | + } |
|
| 992 | 992 | |
| 993 | - $pages = get_pages(); |
|
| 994 | - if ( $pages ) { |
|
| 995 | - foreach ( $pages as $page ) { |
|
| 996 | - $title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title; |
|
| 993 | + $pages = get_pages(); |
|
| 994 | + if ( $pages ) { |
|
| 995 | + foreach ( $pages as $page ) { |
|
| 996 | + $title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title; |
|
| 997 | 997 | $pages_options[ $page->ID ] = $title; |
| 998 | - } |
|
| 999 | - } |
|
| 998 | + } |
|
| 999 | + } |
|
| 1000 | 1000 | |
| 1001 | - return $pages_options; |
|
| 1001 | + return $pages_options; |
|
| 1002 | 1002 | } |
| 1003 | 1003 | |
| 1004 | 1004 | function wpinv_header_callback( $args ) { |
| 1005 | - if ( !empty( $args['desc'] ) ) { |
|
| 1005 | + if ( !empty( $args['desc'] ) ) { |
|
| 1006 | 1006 | echo $args['desc']; |
| 1007 | 1007 | } |
| 1008 | 1008 | } |
| 1009 | 1009 | |
| 1010 | 1010 | function wpinv_hidden_callback( $args ) { |
| 1011 | - global $wpinv_options; |
|
| 1012 | - |
|
| 1013 | - if ( isset( $args['set_value'] ) ) { |
|
| 1014 | - $value = $args['set_value']; |
|
| 1015 | - } elseif ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1016 | - $value = $wpinv_options[ $args['id'] ]; |
|
| 1017 | - } else { |
|
| 1018 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1019 | - } |
|
| 1020 | - |
|
| 1021 | - if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
| 1022 | - $args['readonly'] = true; |
|
| 1023 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1024 | - $name = ''; |
|
| 1025 | - } else { |
|
| 1026 | - $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"'; |
|
| 1027 | - } |
|
| 1028 | - |
|
| 1029 | - $html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key( $args['id'] ) . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '" />'; |
|
| 1011 | + global $wpinv_options; |
|
| 1012 | + |
|
| 1013 | + if ( isset( $args['set_value'] ) ) { |
|
| 1014 | + $value = $args['set_value']; |
|
| 1015 | + } elseif ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1016 | + $value = $wpinv_options[ $args['id'] ]; |
|
| 1017 | + } else { |
|
| 1018 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1019 | + } |
|
| 1020 | + |
|
| 1021 | + if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
| 1022 | + $args['readonly'] = true; |
|
| 1023 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1024 | + $name = ''; |
|
| 1025 | + } else { |
|
| 1026 | + $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"'; |
|
| 1027 | + } |
|
| 1028 | + |
|
| 1029 | + $html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key( $args['id'] ) . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '" />'; |
|
| 1030 | 1030 | |
| 1031 | - echo $html; |
|
| 1031 | + echo $html; |
|
| 1032 | 1032 | } |
| 1033 | 1033 | |
| 1034 | 1034 | function wpinv_checkbox_callback( $args ) { |
| 1035 | - global $wpinv_options; |
|
| 1035 | + global $wpinv_options; |
|
| 1036 | 1036 | |
| 1037 | 1037 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
| 1038 | 1038 | |
| 1039 | - if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
| 1040 | - $name = ''; |
|
| 1041 | - } else { |
|
| 1042 | - $name = 'name="wpinv_settings[' . $sanitize_id . ']"'; |
|
| 1043 | - } |
|
| 1039 | + if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
| 1040 | + $name = ''; |
|
| 1041 | + } else { |
|
| 1042 | + $name = 'name="wpinv_settings[' . $sanitize_id . ']"'; |
|
| 1043 | + } |
|
| 1044 | 1044 | |
| 1045 | - $checked = isset( $wpinv_options[ $args['id'] ] ) ? checked( 1, $wpinv_options[ $args['id'] ], false ) : ''; |
|
| 1046 | - $html = '<input type="checkbox" id="wpinv_settings[' . $sanitize_id . ']"' . $name . ' value="1" ' . $checked . '/>'; |
|
| 1047 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1045 | + $checked = isset( $wpinv_options[ $args['id'] ] ) ? checked( 1, $wpinv_options[ $args['id'] ], false ) : ''; |
|
| 1046 | + $html = '<input type="checkbox" id="wpinv_settings[' . $sanitize_id . ']"' . $name . ' value="1" ' . $checked . '/>'; |
|
| 1047 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1048 | 1048 | |
| 1049 | - echo $html; |
|
| 1049 | + echo $html; |
|
| 1050 | 1050 | } |
| 1051 | 1051 | |
| 1052 | 1052 | function wpinv_multicheck_callback( $args ) { |
| 1053 | - global $wpinv_options; |
|
| 1053 | + global $wpinv_options; |
|
| 1054 | 1054 | |
| 1055 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
| 1056 | - $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
|
| 1055 | + $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
| 1056 | + $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
|
| 1057 | 1057 | |
| 1058 | - if ( ! empty( $args['options'] ) ) { |
|
| 1059 | - echo '<div class="wpi-mcheck-rows wpi-mcheck-' . $sanitize_id . $class . '">'; |
|
| 1058 | + if ( ! empty( $args['options'] ) ) { |
|
| 1059 | + echo '<div class="wpi-mcheck-rows wpi-mcheck-' . $sanitize_id . $class . '">'; |
|
| 1060 | 1060 | foreach( $args['options'] as $key => $option ): |
| 1061 | - $sanitize_key = wpinv_sanitize_key( $key ); |
|
| 1062 | - if ( isset( $wpinv_options[$args['id']][$sanitize_key] ) ) { |
|
| 1063 | - $enabled = $sanitize_key; |
|
| 1064 | - } else { |
|
| 1065 | - $enabled = NULL; |
|
| 1066 | - } |
|
| 1067 | - echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/> '; |
|
| 1068 | - echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post( $option ) . '</label></div>'; |
|
| 1069 | - endforeach; |
|
| 1070 | - echo '</div>'; |
|
| 1071 | - echo '<p class="description">' . $args['desc'] . '</p>'; |
|
| 1072 | - } |
|
| 1061 | + $sanitize_key = wpinv_sanitize_key( $key ); |
|
| 1062 | + if ( isset( $wpinv_options[$args['id']][$sanitize_key] ) ) { |
|
| 1063 | + $enabled = $sanitize_key; |
|
| 1064 | + } else { |
|
| 1065 | + $enabled = NULL; |
|
| 1066 | + } |
|
| 1067 | + echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/> '; |
|
| 1068 | + echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post( $option ) . '</label></div>'; |
|
| 1069 | + endforeach; |
|
| 1070 | + echo '</div>'; |
|
| 1071 | + echo '<p class="description">' . $args['desc'] . '</p>'; |
|
| 1072 | + } |
|
| 1073 | 1073 | } |
| 1074 | 1074 | |
| 1075 | 1075 | function wpinv_payment_icons_callback( $args ) { |
| 1076 | - global $wpinv_options; |
|
| 1076 | + global $wpinv_options; |
|
| 1077 | 1077 | |
| 1078 | 1078 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
| 1079 | 1079 | |
| 1080 | - if ( ! empty( $args['options'] ) ) { |
|
| 1081 | - foreach( $args['options'] as $key => $option ) { |
|
| 1080 | + if ( ! empty( $args['options'] ) ) { |
|
| 1081 | + foreach( $args['options'] as $key => $option ) { |
|
| 1082 | 1082 | $sanitize_key = wpinv_sanitize_key( $key ); |
| 1083 | 1083 | |
| 1084 | - if( isset( $wpinv_options[$args['id']][$key] ) ) { |
|
| 1085 | - $enabled = $option; |
|
| 1086 | - } else { |
|
| 1087 | - $enabled = NULL; |
|
| 1088 | - } |
|
| 1089 | - |
|
| 1090 | - echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">'; |
|
| 1091 | - |
|
| 1092 | - echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/> '; |
|
| 1093 | - |
|
| 1094 | - if ( wpinv_string_is_image_url( $key ) ) { |
|
| 1095 | - echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
| 1096 | - } else { |
|
| 1097 | - $card = strtolower( str_replace( ' ', '', $option ) ); |
|
| 1098 | - |
|
| 1099 | - if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) { |
|
| 1100 | - $image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' ); |
|
| 1101 | - } else { |
|
| 1102 | - $image = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false ); |
|
| 1103 | - $content_dir = WP_CONTENT_DIR; |
|
| 1104 | - |
|
| 1105 | - if ( function_exists( 'wp_normalize_path' ) ) { |
|
| 1106 | - // Replaces backslashes with forward slashes for Windows systems |
|
| 1107 | - $image = wp_normalize_path( $image ); |
|
| 1108 | - $content_dir = wp_normalize_path( $content_dir ); |
|
| 1109 | - } |
|
| 1110 | - |
|
| 1111 | - $image = str_replace( $content_dir, content_url(), $image ); |
|
| 1112 | - } |
|
| 1113 | - |
|
| 1114 | - echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
| 1115 | - } |
|
| 1116 | - echo $option . '</label>'; |
|
| 1117 | - } |
|
| 1118 | - echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
| 1119 | - } |
|
| 1084 | + if( isset( $wpinv_options[$args['id']][$key] ) ) { |
|
| 1085 | + $enabled = $option; |
|
| 1086 | + } else { |
|
| 1087 | + $enabled = NULL; |
|
| 1088 | + } |
|
| 1089 | + |
|
| 1090 | + echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">'; |
|
| 1091 | + |
|
| 1092 | + echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/> '; |
|
| 1093 | + |
|
| 1094 | + if ( wpinv_string_is_image_url( $key ) ) { |
|
| 1095 | + echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
| 1096 | + } else { |
|
| 1097 | + $card = strtolower( str_replace( ' ', '', $option ) ); |
|
| 1098 | + |
|
| 1099 | + if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) { |
|
| 1100 | + $image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' ); |
|
| 1101 | + } else { |
|
| 1102 | + $image = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false ); |
|
| 1103 | + $content_dir = WP_CONTENT_DIR; |
|
| 1104 | + |
|
| 1105 | + if ( function_exists( 'wp_normalize_path' ) ) { |
|
| 1106 | + // Replaces backslashes with forward slashes for Windows systems |
|
| 1107 | + $image = wp_normalize_path( $image ); |
|
| 1108 | + $content_dir = wp_normalize_path( $content_dir ); |
|
| 1109 | + } |
|
| 1110 | + |
|
| 1111 | + $image = str_replace( $content_dir, content_url(), $image ); |
|
| 1112 | + } |
|
| 1113 | + |
|
| 1114 | + echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
| 1115 | + } |
|
| 1116 | + echo $option . '</label>'; |
|
| 1117 | + } |
|
| 1118 | + echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
| 1119 | + } |
|
| 1120 | 1120 | } |
| 1121 | 1121 | |
| 1122 | 1122 | function wpinv_radio_callback( $args ) { |
| 1123 | - global $wpinv_options; |
|
| 1123 | + global $wpinv_options; |
|
| 1124 | 1124 | |
| 1125 | 1125 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
| 1126 | 1126 | |
| 1127 | 1127 | foreach ( $args['options'] as $key => $option ) : |
| 1128 | - $sanitize_key = wpinv_sanitize_key( $key ); |
|
| 1128 | + $sanitize_key = wpinv_sanitize_key( $key ); |
|
| 1129 | 1129 | |
| 1130 | 1130 | $checked = false; |
| 1131 | 1131 | |
| 1132 | - if ( isset( $wpinv_options[ $args['id'] ] ) && $wpinv_options[ $args['id'] ] == $key ) |
|
| 1133 | - $checked = true; |
|
| 1134 | - elseif( isset( $args['std'] ) && $args['std'] == $key && ! isset( $wpinv_options[ $args['id'] ] ) ) |
|
| 1135 | - $checked = true; |
|
| 1132 | + if ( isset( $wpinv_options[ $args['id'] ] ) && $wpinv_options[ $args['id'] ] == $key ) |
|
| 1133 | + $checked = true; |
|
| 1134 | + elseif( isset( $args['std'] ) && $args['std'] == $key && ! isset( $wpinv_options[ $args['id'] ] ) ) |
|
| 1135 | + $checked = true; |
|
| 1136 | 1136 | |
| 1137 | - echo '<input name="wpinv_settings[' . $sanitize_id . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="radio" value="' . $sanitize_key . '" ' . checked(true, $checked, false) . '/> '; |
|
| 1138 | - echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option ) . '</label><br/>'; |
|
| 1139 | - endforeach; |
|
| 1137 | + echo '<input name="wpinv_settings[' . $sanitize_id . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="radio" value="' . $sanitize_key . '" ' . checked(true, $checked, false) . '/> '; |
|
| 1138 | + echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option ) . '</label><br/>'; |
|
| 1139 | + endforeach; |
|
| 1140 | 1140 | |
| 1141 | - echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
| 1141 | + echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
| 1142 | 1142 | } |
| 1143 | 1143 | |
| 1144 | 1144 | function wpinv_gateways_callback( $args ) { |
| 1145 | - global $wpinv_options; |
|
| 1145 | + global $wpinv_options; |
|
| 1146 | 1146 | |
| 1147 | 1147 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
| 1148 | 1148 | |
| 1149 | - foreach ( $args['options'] as $key => $option ) : |
|
| 1150 | - $sanitize_key = wpinv_sanitize_key( $key ); |
|
| 1149 | + foreach ( $args['options'] as $key => $option ) : |
|
| 1150 | + $sanitize_key = wpinv_sanitize_key( $key ); |
|
| 1151 | 1151 | |
| 1152 | 1152 | if ( isset( $wpinv_options['gateways'][ $key ] ) ) |
| 1153 | - $enabled = '1'; |
|
| 1154 | - else |
|
| 1155 | - $enabled = null; |
|
| 1153 | + $enabled = '1'; |
|
| 1154 | + else |
|
| 1155 | + $enabled = null; |
|
| 1156 | 1156 | |
| 1157 | - echo '<input name="wpinv_settings[' . esc_attr( $args['id'] ) . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="1" ' . checked('1', $enabled, false) . '/> '; |
|
| 1158 | - echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option['admin_label'] ) . '</label><br/>'; |
|
| 1159 | - endforeach; |
|
| 1157 | + echo '<input name="wpinv_settings[' . esc_attr( $args['id'] ) . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="1" ' . checked('1', $enabled, false) . '/> '; |
|
| 1158 | + echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option['admin_label'] ) . '</label><br/>'; |
|
| 1159 | + endforeach; |
|
| 1160 | 1160 | } |
| 1161 | 1161 | |
| 1162 | 1162 | function wpinv_gateway_select_callback($args) { |
| 1163 | - global $wpinv_options; |
|
| 1163 | + global $wpinv_options; |
|
| 1164 | 1164 | |
| 1165 | 1165 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
| 1166 | 1166 | $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
| 1167 | 1167 | |
| 1168 | - echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" >'; |
|
| 1168 | + echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" >'; |
|
| 1169 | 1169 | |
| 1170 | - foreach ( $args['options'] as $key => $option ) : |
|
| 1171 | - if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) { |
|
| 1170 | + foreach ( $args['options'] as $key => $option ) : |
|
| 1171 | + if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) { |
|
| 1172 | 1172 | $selected = selected( $key, $args['selected'], false ); |
| 1173 | 1173 | } else { |
| 1174 | 1174 | $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $key, $wpinv_options[$args['id']], false ) : ''; |
| 1175 | 1175 | } |
| 1176 | - echo '<option value="' . wpinv_sanitize_key( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>'; |
|
| 1177 | - endforeach; |
|
| 1176 | + echo '<option value="' . wpinv_sanitize_key( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>'; |
|
| 1177 | + endforeach; |
|
| 1178 | 1178 | |
| 1179 | - echo '</select>'; |
|
| 1180 | - echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1179 | + echo '</select>'; |
|
| 1180 | + echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1181 | 1181 | } |
| 1182 | 1182 | |
| 1183 | 1183 | function wpinv_text_callback( $args ) { |
| 1184 | - global $wpinv_options; |
|
| 1184 | + global $wpinv_options; |
|
| 1185 | 1185 | |
| 1186 | 1186 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
| 1187 | 1187 | |
| 1188 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1189 | - $value = $wpinv_options[ $args['id'] ]; |
|
| 1190 | - } else { |
|
| 1191 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1192 | - } |
|
| 1193 | - |
|
| 1194 | - if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
| 1195 | - $args['readonly'] = true; |
|
| 1196 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1197 | - $name = ''; |
|
| 1198 | - } else { |
|
| 1199 | - $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"'; |
|
| 1200 | - } |
|
| 1201 | - $class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : ''; |
|
| 1202 | - |
|
| 1203 | - $readonly = $args['readonly'] === true ? ' readonly="readonly"' : ''; |
|
| 1204 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
| 1205 | - $html = '<input type="text" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"' . $readonly . '/>'; |
|
| 1206 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1207 | - |
|
| 1208 | - echo $html; |
|
| 1188 | + if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1189 | + $value = $wpinv_options[ $args['id'] ]; |
|
| 1190 | + } else { |
|
| 1191 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1192 | + } |
|
| 1193 | + |
|
| 1194 | + if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
| 1195 | + $args['readonly'] = true; |
|
| 1196 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1197 | + $name = ''; |
|
| 1198 | + } else { |
|
| 1199 | + $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"'; |
|
| 1200 | + } |
|
| 1201 | + $class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : ''; |
|
| 1202 | + |
|
| 1203 | + $readonly = $args['readonly'] === true ? ' readonly="readonly"' : ''; |
|
| 1204 | + $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
| 1205 | + $html = '<input type="text" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"' . $readonly . '/>'; |
|
| 1206 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1207 | + |
|
| 1208 | + echo $html; |
|
| 1209 | 1209 | } |
| 1210 | 1210 | |
| 1211 | 1211 | function wpinv_number_callback( $args ) { |
| 1212 | - global $wpinv_options; |
|
| 1212 | + global $wpinv_options; |
|
| 1213 | 1213 | |
| 1214 | 1214 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
| 1215 | 1215 | |
| 1216 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1217 | - $value = $wpinv_options[ $args['id'] ]; |
|
| 1218 | - } else { |
|
| 1219 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1220 | - } |
|
| 1221 | - |
|
| 1222 | - if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
| 1223 | - $args['readonly'] = true; |
|
| 1224 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1225 | - $name = ''; |
|
| 1226 | - } else { |
|
| 1227 | - $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"'; |
|
| 1228 | - } |
|
| 1229 | - |
|
| 1230 | - $max = isset( $args['max'] ) ? $args['max'] : 999999; |
|
| 1231 | - $min = isset( $args['min'] ) ? $args['min'] : 0; |
|
| 1232 | - $step = isset( $args['step'] ) ? $args['step'] : 1; |
|
| 1233 | - $class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : ''; |
|
| 1234 | - |
|
| 1235 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
| 1236 | - $html = '<input type="number" step="' . esc_attr( $step ) . '" max="' . esc_attr( $max ) . '" min="' . esc_attr( $min ) . '" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"/>'; |
|
| 1237 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1238 | - |
|
| 1239 | - echo $html; |
|
| 1216 | + if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1217 | + $value = $wpinv_options[ $args['id'] ]; |
|
| 1218 | + } else { |
|
| 1219 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1220 | + } |
|
| 1221 | + |
|
| 1222 | + if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
| 1223 | + $args['readonly'] = true; |
|
| 1224 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1225 | + $name = ''; |
|
| 1226 | + } else { |
|
| 1227 | + $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"'; |
|
| 1228 | + } |
|
| 1229 | + |
|
| 1230 | + $max = isset( $args['max'] ) ? $args['max'] : 999999; |
|
| 1231 | + $min = isset( $args['min'] ) ? $args['min'] : 0; |
|
| 1232 | + $step = isset( $args['step'] ) ? $args['step'] : 1; |
|
| 1233 | + $class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : ''; |
|
| 1234 | + |
|
| 1235 | + $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
| 1236 | + $html = '<input type="number" step="' . esc_attr( $step ) . '" max="' . esc_attr( $max ) . '" min="' . esc_attr( $min ) . '" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"/>'; |
|
| 1237 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1238 | + |
|
| 1239 | + echo $html; |
|
| 1240 | 1240 | } |
| 1241 | 1241 | |
| 1242 | 1242 | function wpinv_textarea_callback( $args ) { |
| 1243 | - global $wpinv_options; |
|
| 1243 | + global $wpinv_options; |
|
| 1244 | 1244 | |
| 1245 | 1245 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
| 1246 | 1246 | |
| 1247 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1248 | - $value = $wpinv_options[ $args['id'] ]; |
|
| 1249 | - } else { |
|
| 1250 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1251 | - } |
|
| 1247 | + if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1248 | + $value = $wpinv_options[ $args['id'] ]; |
|
| 1249 | + } else { |
|
| 1250 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1251 | + } |
|
| 1252 | 1252 | |
| 1253 | 1253 | $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
| 1254 | 1254 | $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text'; |
| 1255 | 1255 | |
| 1256 | - $html = '<textarea class="' . sanitize_html_class( $class ) . ' txtarea-' . sanitize_html_class( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>'; |
|
| 1257 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1256 | + $html = '<textarea class="' . sanitize_html_class( $class ) . ' txtarea-' . sanitize_html_class( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>'; |
|
| 1257 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1258 | 1258 | |
| 1259 | - echo $html; |
|
| 1259 | + echo $html; |
|
| 1260 | 1260 | } |
| 1261 | 1261 | |
| 1262 | 1262 | function wpinv_password_callback( $args ) { |
| 1263 | - global $wpinv_options; |
|
| 1263 | + global $wpinv_options; |
|
| 1264 | 1264 | |
| 1265 | 1265 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
| 1266 | 1266 | |
| 1267 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1268 | - $value = $wpinv_options[ $args['id'] ]; |
|
| 1269 | - } else { |
|
| 1270 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1271 | - } |
|
| 1267 | + if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1268 | + $value = $wpinv_options[ $args['id'] ]; |
|
| 1269 | + } else { |
|
| 1270 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1271 | + } |
|
| 1272 | 1272 | |
| 1273 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
| 1274 | - $html = '<input type="password" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>'; |
|
| 1275 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1273 | + $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
| 1274 | + $html = '<input type="password" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>'; |
|
| 1275 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1276 | 1276 | |
| 1277 | - echo $html; |
|
| 1277 | + echo $html; |
|
| 1278 | 1278 | } |
| 1279 | 1279 | |
| 1280 | 1280 | function wpinv_missing_callback($args) { |
| 1281 | - printf( |
|
| 1282 | - __( 'The callback function used for the %s setting is missing.', 'invoicing' ), |
|
| 1283 | - '<strong>' . $args['id'] . '</strong>' |
|
| 1284 | - ); |
|
| 1281 | + printf( |
|
| 1282 | + __( 'The callback function used for the %s setting is missing.', 'invoicing' ), |
|
| 1283 | + '<strong>' . $args['id'] . '</strong>' |
|
| 1284 | + ); |
|
| 1285 | 1285 | } |
| 1286 | 1286 | |
| 1287 | 1287 | function wpinv_select_callback($args) { |
| 1288 | - global $wpinv_options; |
|
| 1288 | + global $wpinv_options; |
|
| 1289 | 1289 | |
| 1290 | 1290 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
| 1291 | 1291 | |
| 1292 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1293 | - $value = $wpinv_options[ $args['id'] ]; |
|
| 1294 | - } else { |
|
| 1295 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1296 | - } |
|
| 1292 | + if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1293 | + $value = $wpinv_options[ $args['id'] ]; |
|
| 1294 | + } else { |
|
| 1295 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1296 | + } |
|
| 1297 | 1297 | |
| 1298 | 1298 | if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) { |
| 1299 | 1299 | $value = $args['selected']; |
| 1300 | 1300 | } |
| 1301 | 1301 | |
| 1302 | - if ( isset( $args['placeholder'] ) ) { |
|
| 1303 | - $placeholder = $args['placeholder']; |
|
| 1304 | - } else { |
|
| 1305 | - $placeholder = ''; |
|
| 1306 | - } |
|
| 1302 | + if ( isset( $args['placeholder'] ) ) { |
|
| 1303 | + $placeholder = $args['placeholder']; |
|
| 1304 | + } else { |
|
| 1305 | + $placeholder = ''; |
|
| 1306 | + } |
|
| 1307 | 1307 | |
| 1308 | 1308 | if( !empty( $args['onchange'] ) ) { |
| 1309 | 1309 | $onchange = ' onchange="' . esc_attr( $args['onchange'] ) . '"'; |
@@ -1313,142 +1313,142 @@ discard block |
||
| 1313 | 1313 | |
| 1314 | 1314 | $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
| 1315 | 1315 | |
| 1316 | - $html = '<select id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" data-placeholder="' . esc_html( $placeholder ) . '"' . $onchange . ' />'; |
|
| 1316 | + $html = '<select id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" data-placeholder="' . esc_html( $placeholder ) . '"' . $onchange . ' />'; |
|
| 1317 | 1317 | |
| 1318 | - foreach ( $args['options'] as $option => $name ) { |
|
| 1319 | - $selected = selected( $option, $value, false ); |
|
| 1320 | - $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>'; |
|
| 1321 | - } |
|
| 1318 | + foreach ( $args['options'] as $option => $name ) { |
|
| 1319 | + $selected = selected( $option, $value, false ); |
|
| 1320 | + $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>'; |
|
| 1321 | + } |
|
| 1322 | 1322 | |
| 1323 | - $html .= '</select>'; |
|
| 1324 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1323 | + $html .= '</select>'; |
|
| 1324 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1325 | 1325 | |
| 1326 | - echo $html; |
|
| 1326 | + echo $html; |
|
| 1327 | 1327 | } |
| 1328 | 1328 | |
| 1329 | 1329 | function wpinv_color_select_callback( $args ) { |
| 1330 | - global $wpinv_options; |
|
| 1330 | + global $wpinv_options; |
|
| 1331 | 1331 | |
| 1332 | 1332 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
| 1333 | 1333 | |
| 1334 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1335 | - $value = $wpinv_options[ $args['id'] ]; |
|
| 1336 | - } else { |
|
| 1337 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1338 | - } |
|
| 1334 | + if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1335 | + $value = $wpinv_options[ $args['id'] ]; |
|
| 1336 | + } else { |
|
| 1337 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1338 | + } |
|
| 1339 | 1339 | |
| 1340 | - $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>'; |
|
| 1340 | + $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>'; |
|
| 1341 | 1341 | |
| 1342 | - foreach ( $args['options'] as $option => $color ) { |
|
| 1343 | - $selected = selected( $option, $value, false ); |
|
| 1344 | - $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $color['label'] ) . '</option>'; |
|
| 1345 | - } |
|
| 1342 | + foreach ( $args['options'] as $option => $color ) { |
|
| 1343 | + $selected = selected( $option, $value, false ); |
|
| 1344 | + $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $color['label'] ) . '</option>'; |
|
| 1345 | + } |
|
| 1346 | 1346 | |
| 1347 | - $html .= '</select>'; |
|
| 1348 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1347 | + $html .= '</select>'; |
|
| 1348 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1349 | 1349 | |
| 1350 | - echo $html; |
|
| 1350 | + echo $html; |
|
| 1351 | 1351 | } |
| 1352 | 1352 | |
| 1353 | 1353 | function wpinv_rich_editor_callback( $args ) { |
| 1354 | - global $wpinv_options, $wp_version; |
|
| 1354 | + global $wpinv_options, $wp_version; |
|
| 1355 | 1355 | |
| 1356 | 1356 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
| 1357 | 1357 | |
| 1358 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1359 | - $value = $wpinv_options[ $args['id'] ]; |
|
| 1358 | + if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1359 | + $value = $wpinv_options[ $args['id'] ]; |
|
| 1360 | 1360 | |
| 1361 | - if( empty( $args['allow_blank'] ) && empty( $value ) ) { |
|
| 1362 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1363 | - } |
|
| 1364 | - } else { |
|
| 1365 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1366 | - } |
|
| 1361 | + if( empty( $args['allow_blank'] ) && empty( $value ) ) { |
|
| 1362 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1363 | + } |
|
| 1364 | + } else { |
|
| 1365 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1366 | + } |
|
| 1367 | 1367 | |
| 1368 | - $rows = isset( $args['size'] ) ? $args['size'] : 20; |
|
| 1368 | + $rows = isset( $args['size'] ) ? $args['size'] : 20; |
|
| 1369 | 1369 | |
| 1370 | - if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) { |
|
| 1371 | - ob_start(); |
|
| 1372 | - wp_editor( stripslashes( $value ), 'wpinv_settings_' . esc_attr( $args['id'] ), array( 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', 'textarea_rows' => absint( $rows ), 'media_buttons' => false ) ); |
|
| 1373 | - $html = ob_get_clean(); |
|
| 1374 | - } else { |
|
| 1375 | - $html = '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>'; |
|
| 1376 | - } |
|
| 1370 | + if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) { |
|
| 1371 | + ob_start(); |
|
| 1372 | + wp_editor( stripslashes( $value ), 'wpinv_settings_' . esc_attr( $args['id'] ), array( 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', 'textarea_rows' => absint( $rows ), 'media_buttons' => false ) ); |
|
| 1373 | + $html = ob_get_clean(); |
|
| 1374 | + } else { |
|
| 1375 | + $html = '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>'; |
|
| 1376 | + } |
|
| 1377 | 1377 | |
| 1378 | - $html .= '<br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1378 | + $html .= '<br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1379 | 1379 | |
| 1380 | - echo $html; |
|
| 1380 | + echo $html; |
|
| 1381 | 1381 | } |
| 1382 | 1382 | |
| 1383 | 1383 | function wpinv_upload_callback( $args ) { |
| 1384 | - global $wpinv_options; |
|
| 1384 | + global $wpinv_options; |
|
| 1385 | 1385 | |
| 1386 | 1386 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
| 1387 | 1387 | |
| 1388 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1389 | - $value = $wpinv_options[$args['id']]; |
|
| 1390 | - } else { |
|
| 1391 | - $value = isset($args['std']) ? $args['std'] : ''; |
|
| 1392 | - } |
|
| 1388 | + if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1389 | + $value = $wpinv_options[$args['id']]; |
|
| 1390 | + } else { |
|
| 1391 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
| 1392 | + } |
|
| 1393 | 1393 | |
| 1394 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
| 1395 | - $html = '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>'; |
|
| 1396 | - $html .= '<span> <input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>'; |
|
| 1397 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1394 | + $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
| 1395 | + $html = '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>'; |
|
| 1396 | + $html .= '<span> <input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>'; |
|
| 1397 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1398 | 1398 | |
| 1399 | - echo $html; |
|
| 1399 | + echo $html; |
|
| 1400 | 1400 | } |
| 1401 | 1401 | |
| 1402 | 1402 | function wpinv_color_callback( $args ) { |
| 1403 | - global $wpinv_options; |
|
| 1403 | + global $wpinv_options; |
|
| 1404 | 1404 | |
| 1405 | 1405 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
| 1406 | 1406 | |
| 1407 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1408 | - $value = $wpinv_options[ $args['id'] ]; |
|
| 1409 | - } else { |
|
| 1410 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1411 | - } |
|
| 1407 | + if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1408 | + $value = $wpinv_options[ $args['id'] ]; |
|
| 1409 | + } else { |
|
| 1410 | + $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1411 | + } |
|
| 1412 | 1412 | |
| 1413 | - $default = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1413 | + $default = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1414 | 1414 | |
| 1415 | - $html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $default ) . '" />'; |
|
| 1416 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1415 | + $html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $default ) . '" />'; |
|
| 1416 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1417 | 1417 | |
| 1418 | - echo $html; |
|
| 1418 | + echo $html; |
|
| 1419 | 1419 | } |
| 1420 | 1420 | |
| 1421 | 1421 | function wpinv_country_states_callback($args) { |
| 1422 | - global $wpinv_options; |
|
| 1422 | + global $wpinv_options; |
|
| 1423 | 1423 | |
| 1424 | 1424 | $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
| 1425 | 1425 | |
| 1426 | - if ( isset( $args['placeholder'] ) ) { |
|
| 1427 | - $placeholder = $args['placeholder']; |
|
| 1428 | - } else { |
|
| 1429 | - $placeholder = ''; |
|
| 1430 | - } |
|
| 1426 | + if ( isset( $args['placeholder'] ) ) { |
|
| 1427 | + $placeholder = $args['placeholder']; |
|
| 1428 | + } else { |
|
| 1429 | + $placeholder = ''; |
|
| 1430 | + } |
|
| 1431 | 1431 | |
| 1432 | - $states = wpinv_get_country_states(); |
|
| 1432 | + $states = wpinv_get_country_states(); |
|
| 1433 | 1433 | |
| 1434 | - $class = empty( $states ) ? ' class="wpinv-no-states"' : ' class="wpi_select2"'; |
|
| 1435 | - $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>'; |
|
| 1434 | + $class = empty( $states ) ? ' class="wpinv-no-states"' : ' class="wpi_select2"'; |
|
| 1435 | + $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>'; |
|
| 1436 | 1436 | |
| 1437 | - foreach ( $states as $option => $name ) { |
|
| 1438 | - $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $option, $wpinv_options[$args['id']], false ) : ''; |
|
| 1439 | - $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>'; |
|
| 1440 | - } |
|
| 1437 | + foreach ( $states as $option => $name ) { |
|
| 1438 | + $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $option, $wpinv_options[$args['id']], false ) : ''; |
|
| 1439 | + $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>'; |
|
| 1440 | + } |
|
| 1441 | 1441 | |
| 1442 | - $html .= '</select>'; |
|
| 1443 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1442 | + $html .= '</select>'; |
|
| 1443 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1444 | 1444 | |
| 1445 | - echo $html; |
|
| 1445 | + echo $html; |
|
| 1446 | 1446 | } |
| 1447 | 1447 | |
| 1448 | 1448 | function wpinv_tax_rates_callback($args) { |
| 1449 | - global $wpinv_options; |
|
| 1450 | - $rates = wpinv_get_tax_rates(); |
|
| 1451 | - ob_start(); ?> |
|
| 1449 | + global $wpinv_options; |
|
| 1450 | + $rates = wpinv_get_tax_rates(); |
|
| 1451 | + ob_start(); ?> |
|
| 1452 | 1452 | </td><tr> |
| 1453 | 1453 | <td colspan="2" class="wpinv_tax_tdbox"> |
| 1454 | 1454 | <p><?php echo $args['desc']; ?></p> |
@@ -1472,40 +1472,40 @@ discard block |
||
| 1472 | 1472 | <tr> |
| 1473 | 1473 | <td class="wpinv_tax_country"> |
| 1474 | 1474 | <?php |
| 1475 | - echo wpinv_html_select( array( |
|
| 1476 | - 'options' => wpinv_get_country_list( true ), |
|
| 1477 | - 'name' => 'tax_rates[' . $sanitized_key . '][country]', |
|
| 1475 | + echo wpinv_html_select( array( |
|
| 1476 | + 'options' => wpinv_get_country_list( true ), |
|
| 1477 | + 'name' => 'tax_rates[' . $sanitized_key . '][country]', |
|
| 1478 | 1478 | 'id' => 'tax_rates[' . $sanitized_key . '][country]', |
| 1479 | - 'selected' => $rate['country'], |
|
| 1480 | - 'show_option_all' => false, |
|
| 1481 | - 'show_option_none' => false, |
|
| 1482 | - 'class' => 'wpinv-tax-country wpi_select2', |
|
| 1483 | - 'placeholder' => __( 'Choose a country', 'invoicing' ) |
|
| 1484 | - ) ); |
|
| 1485 | - ?> |
|
| 1479 | + 'selected' => $rate['country'], |
|
| 1480 | + 'show_option_all' => false, |
|
| 1481 | + 'show_option_none' => false, |
|
| 1482 | + 'class' => 'wpinv-tax-country wpi_select2', |
|
| 1483 | + 'placeholder' => __( 'Choose a country', 'invoicing' ) |
|
| 1484 | + ) ); |
|
| 1485 | + ?> |
|
| 1486 | 1486 | </td> |
| 1487 | 1487 | <td class="wpinv_tax_state"> |
| 1488 | 1488 | <?php |
| 1489 | - $states = wpinv_get_country_states( $rate['country'] ); |
|
| 1490 | - if( !empty( $states ) ) { |
|
| 1491 | - echo wpinv_html_select( array( |
|
| 1492 | - 'options' => array_merge( array( '' => '' ), $states ), |
|
| 1493 | - 'name' => 'tax_rates[' . $sanitized_key . '][state]', |
|
| 1489 | + $states = wpinv_get_country_states( $rate['country'] ); |
|
| 1490 | + if( !empty( $states ) ) { |
|
| 1491 | + echo wpinv_html_select( array( |
|
| 1492 | + 'options' => array_merge( array( '' => '' ), $states ), |
|
| 1493 | + 'name' => 'tax_rates[' . $sanitized_key . '][state]', |
|
| 1494 | 1494 | 'id' => 'tax_rates[' . $sanitized_key . '][state]', |
| 1495 | - 'selected' => $rate['state'], |
|
| 1496 | - 'show_option_all' => false, |
|
| 1497 | - 'show_option_none' => false, |
|
| 1495 | + 'selected' => $rate['state'], |
|
| 1496 | + 'show_option_all' => false, |
|
| 1497 | + 'show_option_none' => false, |
|
| 1498 | 1498 | 'class' => 'wpi_select2', |
| 1499 | - 'placeholder' => __( 'Choose a state', 'invoicing' ) |
|
| 1500 | - ) ); |
|
| 1501 | - } else { |
|
| 1502 | - echo wpinv_html_text( array( |
|
| 1503 | - 'name' => 'tax_rates[' . $sanitized_key . '][state]', $rate['state'], |
|
| 1504 | - 'value' => ! empty( $rate['state'] ) ? $rate['state'] : '', |
|
| 1499 | + 'placeholder' => __( 'Choose a state', 'invoicing' ) |
|
| 1500 | + ) ); |
|
| 1501 | + } else { |
|
| 1502 | + echo wpinv_html_text( array( |
|
| 1503 | + 'name' => 'tax_rates[' . $sanitized_key . '][state]', $rate['state'], |
|
| 1504 | + 'value' => ! empty( $rate['state'] ) ? $rate['state'] : '', |
|
| 1505 | 1505 | 'id' => 'tax_rates[' . $sanitized_key . '][state]', |
| 1506 | - ) ); |
|
| 1507 | - } |
|
| 1508 | - ?> |
|
| 1506 | + ) ); |
|
| 1507 | + } |
|
| 1508 | + ?> |
|
| 1509 | 1509 | </td> |
| 1510 | 1510 | <td class="wpinv_tax_global"> |
| 1511 | 1511 | <input type="checkbox" name="tax_rates[<?php echo $sanitized_key; ?>][global]" id="tax_rates[<?php echo $sanitized_key; ?>][global]" value="1"<?php checked( true, ! empty( $rate['global'] ) ); ?>/> |
@@ -1520,19 +1520,19 @@ discard block |
||
| 1520 | 1520 | <tr> |
| 1521 | 1521 | <td class="wpinv_tax_country"> |
| 1522 | 1522 | <?php |
| 1523 | - echo wpinv_html_select( array( |
|
| 1524 | - 'options' => wpinv_get_country_list( true ), |
|
| 1525 | - 'name' => 'tax_rates[0][country]', |
|
| 1526 | - 'show_option_all' => false, |
|
| 1527 | - 'show_option_none' => false, |
|
| 1528 | - 'class' => 'wpinv-tax-country wpi_select2', |
|
| 1529 | - 'placeholder' => __( 'Choose a country', 'invoicing' ) |
|
| 1530 | - ) ); ?> |
|
| 1523 | + echo wpinv_html_select( array( |
|
| 1524 | + 'options' => wpinv_get_country_list( true ), |
|
| 1525 | + 'name' => 'tax_rates[0][country]', |
|
| 1526 | + 'show_option_all' => false, |
|
| 1527 | + 'show_option_none' => false, |
|
| 1528 | + 'class' => 'wpinv-tax-country wpi_select2', |
|
| 1529 | + 'placeholder' => __( 'Choose a country', 'invoicing' ) |
|
| 1530 | + ) ); ?> |
|
| 1531 | 1531 | </td> |
| 1532 | 1532 | <td class="wpinv_tax_state"> |
| 1533 | 1533 | <?php echo wpinv_html_text( array( |
| 1534 | - 'name' => 'tax_rates[0][state]' |
|
| 1535 | - ) ); ?> |
|
| 1534 | + 'name' => 'tax_rates[0][state]' |
|
| 1535 | + ) ); ?> |
|
| 1536 | 1536 | </td> |
| 1537 | 1537 | <td class="wpinv_tax_global"> |
| 1538 | 1538 | <input type="checkbox" name="tax_rates[0][global]" id="tax_rates[0][global]" value="1"/> |
@@ -1547,7 +1547,7 @@ discard block |
||
| 1547 | 1547 | <tfoot><tr><td colspan="5"></td><td class="wpinv_tax_action"><span class="button-secondary" id="wpinv_add_tax_rate"><?php _e( 'Add Tax Rate', 'invoicing' ); ?></span></td></tr></tfoot> |
| 1548 | 1548 | </table> |
| 1549 | 1549 | <?php |
| 1550 | - echo ob_get_clean(); |
|
| 1550 | + echo ob_get_clean(); |
|
| 1551 | 1551 | } |
| 1552 | 1552 | |
| 1553 | 1553 | function wpinv_tools_callback($args) { |
@@ -1575,15 +1575,15 @@ discard block |
||
| 1575 | 1575 | } |
| 1576 | 1576 | |
| 1577 | 1577 | function wpinv_descriptive_text_callback( $args ) { |
| 1578 | - echo wp_kses_post( $args['desc'] ); |
|
| 1578 | + echo wp_kses_post( $args['desc'] ); |
|
| 1579 | 1579 | } |
| 1580 | 1580 | |
| 1581 | 1581 | function wpinv_hook_callback( $args ) { |
| 1582 | - do_action( 'wpinv_' . $args['id'], $args ); |
|
| 1582 | + do_action( 'wpinv_' . $args['id'], $args ); |
|
| 1583 | 1583 | } |
| 1584 | 1584 | |
| 1585 | 1585 | function wpinv_set_settings_cap() { |
| 1586 | - return wpinv_get_capability(); |
|
| 1586 | + return wpinv_get_capability(); |
|
| 1587 | 1587 | } |
| 1588 | 1588 | add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' ); |
| 1589 | 1589 | |
@@ -1,66 +1,66 @@ 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 | -function wpinv_get_option( $key = '', $default = false ) { |
|
| 7 | +function wpinv_get_option($key = '', $default = false) { |
|
| 8 | 8 | global $wpinv_options; |
| 9 | 9 | |
| 10 | - $value = isset( $wpinv_options[ $key ] ) ? $wpinv_options[ $key ] : $default; |
|
| 11 | - $value = apply_filters( 'wpinv_get_option', $value, $key, $default ); |
|
| 10 | + $value = isset($wpinv_options[$key]) ? $wpinv_options[$key] : $default; |
|
| 11 | + $value = apply_filters('wpinv_get_option', $value, $key, $default); |
|
| 12 | 12 | |
| 13 | - return apply_filters( 'wpinv_get_option_' . $key, $value, $key, $default ); |
|
| 13 | + return apply_filters('wpinv_get_option_' . $key, $value, $key, $default); |
|
| 14 | 14 | } |
| 15 | 15 | |
| 16 | -function wpinv_update_option( $key = '', $value = false ) { |
|
| 16 | +function wpinv_update_option($key = '', $value = false) { |
|
| 17 | 17 | // If no key, exit |
| 18 | - if ( empty( $key ) ) { |
|
| 18 | + if (empty($key)) { |
|
| 19 | 19 | return false; |
| 20 | 20 | } |
| 21 | 21 | |
| 22 | - if ( empty( $value ) ) { |
|
| 23 | - $remove_option = wpinv_delete_option( $key ); |
|
| 22 | + if (empty($value)) { |
|
| 23 | + $remove_option = wpinv_delete_option($key); |
|
| 24 | 24 | return $remove_option; |
| 25 | 25 | } |
| 26 | 26 | |
| 27 | 27 | // First let's grab the current settings |
| 28 | - $options = get_option( 'wpinv_settings' ); |
|
| 28 | + $options = get_option('wpinv_settings'); |
|
| 29 | 29 | |
| 30 | 30 | // Let other plugin alter the value |
| 31 | - $value = apply_filters( 'wpinv_update_option', $value, $key ); |
|
| 31 | + $value = apply_filters('wpinv_update_option', $value, $key); |
|
| 32 | 32 | |
| 33 | 33 | // Next let's try to update the value |
| 34 | - $options[ $key ] = $value; |
|
| 35 | - $did_update = update_option( 'wpinv_settings', $options ); |
|
| 34 | + $options[$key] = $value; |
|
| 35 | + $did_update = update_option('wpinv_settings', $options); |
|
| 36 | 36 | |
| 37 | 37 | // If it's updated, let's update the global variable |
| 38 | - if ( $did_update ) { |
|
| 38 | + if ($did_update) { |
|
| 39 | 39 | global $wpinv_options; |
| 40 | - $wpinv_options[ $key ] = $value; |
|
| 40 | + $wpinv_options[$key] = $value; |
|
| 41 | 41 | } |
| 42 | 42 | |
| 43 | 43 | return $did_update; |
| 44 | 44 | } |
| 45 | 45 | |
| 46 | -function wpinv_delete_option( $key = '' ) { |
|
| 46 | +function wpinv_delete_option($key = '') { |
|
| 47 | 47 | // If no key, exit |
| 48 | - if ( empty( $key ) ) { |
|
| 48 | + if (empty($key)) { |
|
| 49 | 49 | return false; |
| 50 | 50 | } |
| 51 | 51 | |
| 52 | 52 | // First let's grab the current settings |
| 53 | - $options = get_option( 'wpinv_settings' ); |
|
| 53 | + $options = get_option('wpinv_settings'); |
|
| 54 | 54 | |
| 55 | 55 | // Next let's try to update the value |
| 56 | - if( isset( $options[ $key ] ) ) { |
|
| 57 | - unset( $options[ $key ] ); |
|
| 56 | + if (isset($options[$key])) { |
|
| 57 | + unset($options[$key]); |
|
| 58 | 58 | } |
| 59 | 59 | |
| 60 | - $did_update = update_option( 'wpinv_settings', $options ); |
|
| 60 | + $did_update = update_option('wpinv_settings', $options); |
|
| 61 | 61 | |
| 62 | 62 | // If it updated, let's update the global variable |
| 63 | - if ( $did_update ){ |
|
| 63 | + if ($did_update) { |
|
| 64 | 64 | global $wpinv_options; |
| 65 | 65 | $wpinv_options = $options; |
| 66 | 66 | } |
@@ -69,37 +69,37 @@ discard block |
||
| 69 | 69 | } |
| 70 | 70 | |
| 71 | 71 | function wpinv_get_settings() { |
| 72 | - $settings = get_option( 'wpinv_settings' ); |
|
| 72 | + $settings = get_option('wpinv_settings'); |
|
| 73 | 73 | |
| 74 | - if ( empty( $settings ) ) { |
|
| 74 | + if (empty($settings)) { |
|
| 75 | 75 | // Update old settings with new single option |
| 76 | - $general_settings = is_array( get_option( 'wpinv_settings_general' ) ) ? get_option( 'wpinv_settings_general' ) : array(); |
|
| 77 | - $gateways_settings = is_array( get_option( 'wpinv_settings_gateways' ) ) ? get_option( 'wpinv_settings_gateways' ) : array(); |
|
| 78 | - $email_settings = is_array( get_option( 'wpinv_settings_emails' ) ) ? get_option( 'wpinv_settings_emails' ) : array(); |
|
| 79 | - $tax_settings = is_array( get_option( 'wpinv_settings_taxes' ) ) ? get_option( 'wpinv_settings_taxes' ) : array(); |
|
| 80 | - $misc_settings = is_array( get_option( 'wpinv_settings_misc' ) ) ? get_option( 'wpinv_settings_misc' ) : array(); |
|
| 81 | - $tool_settings = is_array( get_option( 'wpinv_settings_tools' ) ) ? get_option( 'wpinv_settings_tools' ) : array(); |
|
| 76 | + $general_settings = is_array(get_option('wpinv_settings_general')) ? get_option('wpinv_settings_general') : array(); |
|
| 77 | + $gateways_settings = is_array(get_option('wpinv_settings_gateways')) ? get_option('wpinv_settings_gateways') : array(); |
|
| 78 | + $email_settings = is_array(get_option('wpinv_settings_emails')) ? get_option('wpinv_settings_emails') : array(); |
|
| 79 | + $tax_settings = is_array(get_option('wpinv_settings_taxes')) ? get_option('wpinv_settings_taxes') : array(); |
|
| 80 | + $misc_settings = is_array(get_option('wpinv_settings_misc')) ? get_option('wpinv_settings_misc') : array(); |
|
| 81 | + $tool_settings = is_array(get_option('wpinv_settings_tools')) ? get_option('wpinv_settings_tools') : array(); |
|
| 82 | 82 | |
| 83 | - $settings = array_merge( $general_settings, $gateways_settings, $email_settings, $tax_settings, $misc_settings, $tool_settings ); |
|
| 83 | + $settings = array_merge($general_settings, $gateways_settings, $email_settings, $tax_settings, $misc_settings, $tool_settings); |
|
| 84 | 84 | |
| 85 | - update_option( 'wpinv_settings', $settings ); |
|
| 85 | + update_option('wpinv_settings', $settings); |
|
| 86 | 86 | |
| 87 | 87 | } |
| 88 | - return apply_filters( 'wpinv_get_settings', $settings ); |
|
| 88 | + return apply_filters('wpinv_get_settings', $settings); |
|
| 89 | 89 | } |
| 90 | 90 | |
| 91 | 91 | function wpinv_register_settings() { |
| 92 | - if ( false == get_option( 'wpinv_settings' ) ) { |
|
| 93 | - add_option( 'wpinv_settings' ); |
|
| 92 | + if (false == get_option('wpinv_settings')) { |
|
| 93 | + add_option('wpinv_settings'); |
|
| 94 | 94 | } |
| 95 | 95 | |
| 96 | 96 | $register_settings = wpinv_get_registered_settings(); |
| 97 | 97 | |
| 98 | - foreach ( $register_settings as $tab => $sections ) { |
|
| 99 | - foreach ( $sections as $section => $settings) { |
|
| 98 | + foreach ($register_settings as $tab => $sections) { |
|
| 99 | + foreach ($sections as $section => $settings) { |
|
| 100 | 100 | // Check for backwards compatibility |
| 101 | - $section_tabs = wpinv_get_settings_tab_sections( $tab ); |
|
| 102 | - if ( ! is_array( $section_tabs ) || ! array_key_exists( $section, $section_tabs ) ) { |
|
| 101 | + $section_tabs = wpinv_get_settings_tab_sections($tab); |
|
| 102 | + if (!is_array($section_tabs) || !array_key_exists($section, $section_tabs)) { |
|
| 103 | 103 | $section = 'main'; |
| 104 | 104 | $settings = $sections; |
| 105 | 105 | } |
@@ -111,41 +111,41 @@ discard block |
||
| 111 | 111 | 'wpinv_settings_' . $tab . '_' . $section |
| 112 | 112 | ); |
| 113 | 113 | |
| 114 | - foreach ( $settings as $option ) { |
|
| 114 | + foreach ($settings as $option) { |
|
| 115 | 115 | // For backwards compatibility |
| 116 | - if ( empty( $option['id'] ) ) { |
|
| 116 | + if (empty($option['id'])) { |
|
| 117 | 117 | continue; |
| 118 | 118 | } |
| 119 | 119 | |
| 120 | - $name = isset( $option['name'] ) ? $option['name'] : ''; |
|
| 120 | + $name = isset($option['name']) ? $option['name'] : ''; |
|
| 121 | 121 | |
| 122 | 122 | add_settings_field( |
| 123 | 123 | 'wpinv_settings[' . $option['id'] . ']', |
| 124 | 124 | $name, |
| 125 | - function_exists( 'wpinv_' . $option['type'] . '_callback' ) ? 'wpinv_' . $option['type'] . '_callback' : 'wpinv_missing_callback', |
|
| 125 | + function_exists('wpinv_' . $option['type'] . '_callback') ? 'wpinv_' . $option['type'] . '_callback' : 'wpinv_missing_callback', |
|
| 126 | 126 | 'wpinv_settings_' . $tab . '_' . $section, |
| 127 | 127 | 'wpinv_settings_' . $tab . '_' . $section, |
| 128 | 128 | array( |
| 129 | 129 | 'section' => $section, |
| 130 | - 'id' => isset( $option['id'] ) ? $option['id'] : null, |
|
| 131 | - 'desc' => ! empty( $option['desc'] ) ? $option['desc'] : '', |
|
| 132 | - 'name' => isset( $option['name'] ) ? $option['name'] : null, |
|
| 133 | - 'size' => isset( $option['size'] ) ? $option['size'] : null, |
|
| 134 | - 'options' => isset( $option['options'] ) ? $option['options'] : '', |
|
| 135 | - 'selected' => isset( $option['selected'] ) ? $option['selected'] : null, |
|
| 136 | - 'std' => isset( $option['std'] ) ? $option['std'] : '', |
|
| 137 | - 'min' => isset( $option['min'] ) ? $option['min'] : null, |
|
| 138 | - 'max' => isset( $option['max'] ) ? $option['max'] : null, |
|
| 139 | - 'step' => isset( $option['step'] ) ? $option['step'] : null, |
|
| 140 | - 'placeholder' => isset( $option['placeholder'] ) ? $option['placeholder'] : null, |
|
| 141 | - 'allow_blank' => isset( $option['allow_blank'] ) ? $option['allow_blank'] : true, |
|
| 142 | - 'readonly' => isset( $option['readonly'] ) ? $option['readonly'] : false, |
|
| 143 | - 'faux' => isset( $option['faux'] ) ? $option['faux'] : false, |
|
| 144 | - 'onchange' => !empty( $option['onchange'] ) ? $option['onchange'] : '', |
|
| 145 | - 'custom' => !empty( $option['custom'] ) ? $option['custom'] : '', |
|
| 146 | - 'class' => !empty( $option['class'] ) ? $option['class'] : '', |
|
| 147 | - 'cols' => !empty( $option['cols'] ) && (int)$option['cols'] > 0 ? (int)$option['cols'] : 50, |
|
| 148 | - 'rows' => !empty( $option['rows'] ) && (int)$option['rows'] > 0 ? (int)$option['rows'] : 5, |
|
| 130 | + 'id' => isset($option['id']) ? $option['id'] : null, |
|
| 131 | + 'desc' => !empty($option['desc']) ? $option['desc'] : '', |
|
| 132 | + 'name' => isset($option['name']) ? $option['name'] : null, |
|
| 133 | + 'size' => isset($option['size']) ? $option['size'] : null, |
|
| 134 | + 'options' => isset($option['options']) ? $option['options'] : '', |
|
| 135 | + 'selected' => isset($option['selected']) ? $option['selected'] : null, |
|
| 136 | + 'std' => isset($option['std']) ? $option['std'] : '', |
|
| 137 | + 'min' => isset($option['min']) ? $option['min'] : null, |
|
| 138 | + 'max' => isset($option['max']) ? $option['max'] : null, |
|
| 139 | + 'step' => isset($option['step']) ? $option['step'] : null, |
|
| 140 | + 'placeholder' => isset($option['placeholder']) ? $option['placeholder'] : null, |
|
| 141 | + 'allow_blank' => isset($option['allow_blank']) ? $option['allow_blank'] : true, |
|
| 142 | + 'readonly' => isset($option['readonly']) ? $option['readonly'] : false, |
|
| 143 | + 'faux' => isset($option['faux']) ? $option['faux'] : false, |
|
| 144 | + 'onchange' => !empty($option['onchange']) ? $option['onchange'] : '', |
|
| 145 | + 'custom' => !empty($option['custom']) ? $option['custom'] : '', |
|
| 146 | + 'class' => !empty($option['class']) ? $option['class'] : '', |
|
| 147 | + 'cols' => !empty($option['cols']) && (int)$option['cols'] > 0 ? (int)$option['cols'] : 50, |
|
| 148 | + 'rows' => !empty($option['rows']) && (int)$option['rows'] > 0 ? (int)$option['rows'] : 5, |
|
| 149 | 149 | ) |
| 150 | 150 | ); |
| 151 | 151 | } |
@@ -153,203 +153,203 @@ discard block |
||
| 153 | 153 | } |
| 154 | 154 | |
| 155 | 155 | // Creates our settings in the options table |
| 156 | - register_setting( 'wpinv_settings', 'wpinv_settings', 'wpinv_settings_sanitize' ); |
|
| 156 | + register_setting('wpinv_settings', 'wpinv_settings', 'wpinv_settings_sanitize'); |
|
| 157 | 157 | } |
| 158 | -add_action( 'admin_init', 'wpinv_register_settings' ); |
|
| 158 | +add_action('admin_init', 'wpinv_register_settings'); |
|
| 159 | 159 | |
| 160 | 160 | function wpinv_get_registered_settings() { |
| 161 | - $pages = wpinv_get_pages( true ); |
|
| 161 | + $pages = wpinv_get_pages(true); |
|
| 162 | 162 | |
| 163 | 163 | $currencies = wpinv_get_currencies(); |
| 164 | 164 | |
| 165 | 165 | $currency_code_options = array(); |
| 166 | - foreach ( $currencies as $code => $name ) { |
|
| 167 | - $currency_code_options[ $code ] = $code . ' - ' . $name . ' (' . wpinv_currency_symbol( $code ) . ')'; |
|
| 166 | + foreach ($currencies as $code => $name) { |
|
| 167 | + $currency_code_options[$code] = $code . ' - ' . $name . ' (' . wpinv_currency_symbol($code) . ')'; |
|
| 168 | 168 | } |
| 169 | 169 | |
| 170 | 170 | $due_payment_options = array(); |
| 171 | - $due_payment_options[0] = __( 'Now', 'invoicing' ); |
|
| 172 | - for ( $i = 1; $i <= 30; $i++ ) { |
|
| 171 | + $due_payment_options[0] = __('Now', 'invoicing'); |
|
| 172 | + for ($i = 1; $i <= 30; $i++) { |
|
| 173 | 173 | $due_payment_options[$i] = $i; |
| 174 | 174 | } |
| 175 | 175 | |
| 176 | 176 | $invoice_number_padd_options = array(); |
| 177 | - for ( $i = 0; $i <= 20; $i++ ) { |
|
| 177 | + for ($i = 0; $i <= 20; $i++) { |
|
| 178 | 178 | $invoice_number_padd_options[$i] = $i; |
| 179 | 179 | } |
| 180 | 180 | |
| 181 | 181 | $currency_symbol = wpinv_currency_symbol(); |
| 182 | 182 | |
| 183 | 183 | $last_number = $reset_number = ''; |
| 184 | - if ( $last_invoice_number = get_option( 'wpinv_last_invoice_number' ) ) { |
|
| 185 | - $last_invoice_number = is_numeric( $last_invoice_number ) ? $last_invoice_number : wpinv_clean_invoice_number( $last_invoice_number ); |
|
| 184 | + if ($last_invoice_number = get_option('wpinv_last_invoice_number')) { |
|
| 185 | + $last_invoice_number = is_numeric($last_invoice_number) ? $last_invoice_number : wpinv_clean_invoice_number($last_invoice_number); |
|
| 186 | 186 | |
| 187 | - if ( !empty( $last_invoice_number ) ) { |
|
| 188 | - $last_number = ' ' . wp_sprintf( __( "( Last Invoice's sequential number: <b>%s</b> )", 'invoicing' ), $last_invoice_number ); |
|
| 187 | + if (!empty($last_invoice_number)) { |
|
| 188 | + $last_number = ' ' . wp_sprintf(__("( Last Invoice's sequential number: <b>%s</b> )", 'invoicing'), $last_invoice_number); |
|
| 189 | 189 | } |
| 190 | 190 | |
| 191 | 191 | $nonce = wp_create_nonce('reset_invoice_count'); |
| 192 | - $reset_number = '<a href="'.add_query_arg(array('reset_invoice_count' => 1, '_nonce' => $nonce)).'" class="btn button">'.__('Force Reset Sequence', 'invoicing' ). '</a>'; |
|
| 192 | + $reset_number = '<a href="' . add_query_arg(array('reset_invoice_count' => 1, '_nonce' => $nonce)) . '" class="btn button">' . __('Force Reset Sequence', 'invoicing') . '</a>'; |
|
| 193 | 193 | } |
| 194 | 194 | |
| 195 | 195 | $alert_wrapper_start = '<p style="color: #F00">'; |
| 196 | 196 | $alert_wrapper_close = '</p>'; |
| 197 | 197 | $wpinv_settings = array( |
| 198 | - 'general' => apply_filters( 'wpinv_settings_general', |
|
| 198 | + 'general' => apply_filters('wpinv_settings_general', |
|
| 199 | 199 | array( |
| 200 | 200 | 'main' => array( |
| 201 | 201 | 'location_settings' => array( |
| 202 | 202 | 'id' => 'location_settings', |
| 203 | - 'name' => '<h3>' . __( 'Default Location', 'invoicing' ) . '</h3>', |
|
| 203 | + 'name' => '<h3>' . __('Default Location', 'invoicing') . '</h3>', |
|
| 204 | 204 | 'desc' => '', |
| 205 | 205 | 'type' => 'header', |
| 206 | 206 | ), |
| 207 | 207 | 'default_country' => array( |
| 208 | 208 | 'id' => 'default_country', |
| 209 | - 'name' => __( 'Default Country', 'invoicing' ), |
|
| 210 | - 'desc' => __( 'Where does your store operate from?', 'invoicing' ), |
|
| 209 | + 'name' => __('Default Country', 'invoicing'), |
|
| 210 | + 'desc' => __('Where does your store operate from?', 'invoicing'), |
|
| 211 | 211 | 'type' => 'select', |
| 212 | 212 | 'options' => wpinv_get_country_list(), |
| 213 | 213 | 'std' => 'GB', |
| 214 | 214 | 'class' => 'wpi_select2', |
| 215 | - 'placeholder' => __( 'Select a country', 'invoicing' ), |
|
| 215 | + 'placeholder' => __('Select a country', 'invoicing'), |
|
| 216 | 216 | ), |
| 217 | 217 | 'default_state' => array( |
| 218 | 218 | 'id' => 'default_state', |
| 219 | - 'name' => __( 'Default State / Province', 'invoicing' ), |
|
| 220 | - 'desc' => __( 'What state / province does your store operate from?', 'invoicing' ), |
|
| 219 | + 'name' => __('Default State / Province', 'invoicing'), |
|
| 220 | + 'desc' => __('What state / province does your store operate from?', 'invoicing'), |
|
| 221 | 221 | 'type' => 'country_states', |
| 222 | 222 | 'class' => 'wpi_select2', |
| 223 | - 'placeholder' => __( 'Select a state', 'invoicing' ), |
|
| 223 | + 'placeholder' => __('Select a state', 'invoicing'), |
|
| 224 | 224 | ), |
| 225 | 225 | 'store_name' => array( |
| 226 | 226 | 'id' => 'store_name', |
| 227 | - 'name' => __( 'Store Name', 'invoicing' ), |
|
| 228 | - 'desc' => __( 'Store name to print on invoices.', 'invoicing' ), |
|
| 227 | + 'name' => __('Store Name', 'invoicing'), |
|
| 228 | + 'desc' => __('Store name to print on invoices.', 'invoicing'), |
|
| 229 | 229 | 'std' => get_option('blogname'), |
| 230 | 230 | 'type' => 'text', |
| 231 | 231 | ), |
| 232 | 232 | 'logo' => array( |
| 233 | 233 | 'id' => 'logo', |
| 234 | - 'name' => __( 'Logo URL', 'invoicing' ), |
|
| 235 | - 'desc' => __( 'Store logo to print on invoices.', 'invoicing' ), |
|
| 234 | + 'name' => __('Logo URL', 'invoicing'), |
|
| 235 | + 'desc' => __('Store logo to print on invoices.', 'invoicing'), |
|
| 236 | 236 | 'type' => 'text', |
| 237 | 237 | ), |
| 238 | 238 | 'store_address' => array( |
| 239 | 239 | 'id' => 'store_address', |
| 240 | - 'name' => __( 'Store Address', 'invoicing' ), |
|
| 241 | - 'desc' => __( 'Enter the store address to display on invoice', 'invoicing' ), |
|
| 240 | + 'name' => __('Store Address', 'invoicing'), |
|
| 241 | + 'desc' => __('Enter the store address to display on invoice', 'invoicing'), |
|
| 242 | 242 | 'type' => 'textarea', |
| 243 | 243 | ), |
| 244 | 244 | 'page_settings' => array( |
| 245 | 245 | 'id' => 'page_settings', |
| 246 | - 'name' => '<h3>' . __( 'Page Settings', 'invoicing' ) . '</h3>', |
|
| 246 | + 'name' => '<h3>' . __('Page Settings', 'invoicing') . '</h3>', |
|
| 247 | 247 | 'desc' => '', |
| 248 | 248 | 'type' => 'header', |
| 249 | 249 | ), |
| 250 | 250 | 'checkout_page' => array( |
| 251 | 251 | 'id' => 'checkout_page', |
| 252 | - 'name' => __( 'Checkout Page', 'invoicing' ), |
|
| 253 | - 'desc' => __( 'This is the checkout page where buyers will complete their payments. The <b>[wpinv_checkout]</b> short code must be on this page.', 'invoicing' ), |
|
| 252 | + 'name' => __('Checkout Page', 'invoicing'), |
|
| 253 | + 'desc' => __('This is the checkout page where buyers will complete their payments. The <b>[wpinv_checkout]</b> short code must be on this page.', 'invoicing'), |
|
| 254 | 254 | 'type' => 'select', |
| 255 | 255 | 'options' => $pages, |
| 256 | 256 | 'class' => 'wpi_select2', |
| 257 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
| 257 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
| 258 | 258 | ), |
| 259 | 259 | 'tandc_page' => array( |
| 260 | 260 | 'id' => 'tandc_page', |
| 261 | - 'name' => __( 'Terms & Conditions', 'invoicing' ), |
|
| 262 | - 'desc' => __( 'If you select a "Terms & Conditions" page here the customer will be asked to accept them on checkout.', 'invoicing' ), |
|
| 261 | + 'name' => __('Terms & Conditions', 'invoicing'), |
|
| 262 | + 'desc' => __('If you select a "Terms & Conditions" page here the customer will be asked to accept them on checkout.', 'invoicing'), |
|
| 263 | 263 | 'type' => 'select', |
| 264 | - 'options' => wpinv_get_pages( true, __( 'Select a page', 'invoicing' )), |
|
| 264 | + 'options' => wpinv_get_pages(true, __('Select a page', 'invoicing')), |
|
| 265 | 265 | 'class' => 'wpi_select2', |
| 266 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
| 266 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
| 267 | 267 | ), |
| 268 | 268 | 'success_page' => array( |
| 269 | 269 | 'id' => 'success_page', |
| 270 | - 'name' => __( 'Success Page', 'invoicing' ), |
|
| 271 | - 'desc' => __( 'This is the page buyers are sent to after completing their payments. The <b>[wpinv_receipt]</b> short code should be on this page.', 'invoicing' ), |
|
| 270 | + 'name' => __('Success Page', 'invoicing'), |
|
| 271 | + 'desc' => __('This is the page buyers are sent to after completing their payments. The <b>[wpinv_receipt]</b> short code should be on this page.', 'invoicing'), |
|
| 272 | 272 | 'type' => 'select', |
| 273 | 273 | 'options' => $pages, |
| 274 | 274 | 'class' => 'wpi_select2', |
| 275 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
| 275 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
| 276 | 276 | ), |
| 277 | 277 | 'failure_page' => array( |
| 278 | 278 | 'id' => 'failure_page', |
| 279 | - 'name' => __( 'Failed Transaction Page', 'invoicing' ), |
|
| 280 | - 'desc' => __( 'This is the page buyers are sent to if their transaction is cancelled or fails.', 'invoicing' ), |
|
| 279 | + 'name' => __('Failed Transaction Page', 'invoicing'), |
|
| 280 | + 'desc' => __('This is the page buyers are sent to if their transaction is cancelled or fails.', 'invoicing'), |
|
| 281 | 281 | 'type' => 'select', |
| 282 | 282 | 'options' => $pages, |
| 283 | 283 | 'class' => 'wpi_select2', |
| 284 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
| 284 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
| 285 | 285 | ), |
| 286 | 286 | 'invoice_history_page' => array( |
| 287 | 287 | 'id' => 'invoice_history_page', |
| 288 | - 'name' => __( 'Invoice History Page', 'invoicing' ), |
|
| 289 | - 'desc' => __( 'This page shows an invoice history for the current user. The <b>[wpinv_history]</b> short code should be on this page.', 'invoicing' ), |
|
| 288 | + 'name' => __('Invoice History Page', 'invoicing'), |
|
| 289 | + 'desc' => __('This page shows an invoice history for the current user. The <b>[wpinv_history]</b> short code should be on this page.', 'invoicing'), |
|
| 290 | 290 | 'type' => 'select', |
| 291 | 291 | 'options' => $pages, |
| 292 | 292 | 'class' => 'wpi_select2', |
| 293 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
| 293 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
| 294 | 294 | ), |
| 295 | 295 | 'invoice_subscription_page' => array( |
| 296 | 296 | 'id' => 'invoice_subscription_page', |
| 297 | - 'name' => __( 'Invoice Subscriptions Page', 'invoicing' ), |
|
| 298 | - 'desc' => __( 'This page shows subscriptions history for the current user. The <b>[wpinv_subscriptions]</b> short code should be on this page.', 'invoicing' ), |
|
| 297 | + 'name' => __('Invoice Subscriptions Page', 'invoicing'), |
|
| 298 | + 'desc' => __('This page shows subscriptions history for the current user. The <b>[wpinv_subscriptions]</b> short code should be on this page.', 'invoicing'), |
|
| 299 | 299 | 'type' => 'select', |
| 300 | 300 | 'options' => $pages, |
| 301 | 301 | 'class' => 'wpi_select2', |
| 302 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
| 302 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
| 303 | 303 | ), |
| 304 | 304 | ), |
| 305 | 305 | 'currency_section' => array( |
| 306 | 306 | 'currency_settings' => array( |
| 307 | 307 | 'id' => 'currency_settings', |
| 308 | - 'name' => '<h3>' . __( 'Currency Settings', 'invoicing' ) . '</h3>', |
|
| 308 | + 'name' => '<h3>' . __('Currency Settings', 'invoicing') . '</h3>', |
|
| 309 | 309 | 'desc' => '', |
| 310 | 310 | 'type' => 'header', |
| 311 | 311 | ), |
| 312 | 312 | 'currency' => array( |
| 313 | 313 | 'id' => 'currency', |
| 314 | - 'name' => __( 'Currency', 'invoicing' ), |
|
| 315 | - 'desc' => __( 'Choose your currency. Note that some payment gateways have currency restrictions.', 'invoicing' ), |
|
| 314 | + 'name' => __('Currency', 'invoicing'), |
|
| 315 | + 'desc' => __('Choose your currency. Note that some payment gateways have currency restrictions.', 'invoicing'), |
|
| 316 | 316 | 'type' => 'select', |
| 317 | 317 | 'class' => 'wpi_select2', |
| 318 | 318 | 'options' => $currency_code_options, |
| 319 | 319 | ), |
| 320 | 320 | 'currency_position' => array( |
| 321 | 321 | 'id' => 'currency_position', |
| 322 | - 'name' => __( 'Currency Position', 'invoicing' ), |
|
| 323 | - 'desc' => __( 'Choose the location of the currency sign.', 'invoicing' ), |
|
| 322 | + 'name' => __('Currency Position', 'invoicing'), |
|
| 323 | + 'desc' => __('Choose the location of the currency sign.', 'invoicing'), |
|
| 324 | 324 | 'type' => 'select', |
| 325 | 325 | 'class' => 'wpi_select2', |
| 326 | 326 | 'options' => array( |
| 327 | - 'left' => __( 'Left', 'invoicing' ) . ' (' . $currency_symbol . wpinv_format_amount( '99.99' ) . ')', |
|
| 328 | - 'right' => __( 'Right', 'invoicing' ) . ' ('. wpinv_format_amount( '99.99' ) . $currency_symbol . ')', |
|
| 329 | - 'left_space' => __( 'Left with space', 'invoicing' ) . ' (' . $currency_symbol . ' ' . wpinv_format_amount( '99.99' ) . ')', |
|
| 330 | - 'right_space' => __( 'Right with space', 'invoicing' ) . ' (' . wpinv_format_amount( '99.99' ) . ' ' . $currency_symbol . ')' |
|
| 327 | + 'left' => __('Left', 'invoicing') . ' (' . $currency_symbol . wpinv_format_amount('99.99') . ')', |
|
| 328 | + 'right' => __('Right', 'invoicing') . ' (' . wpinv_format_amount('99.99') . $currency_symbol . ')', |
|
| 329 | + 'left_space' => __('Left with space', 'invoicing') . ' (' . $currency_symbol . ' ' . wpinv_format_amount('99.99') . ')', |
|
| 330 | + 'right_space' => __('Right with space', 'invoicing') . ' (' . wpinv_format_amount('99.99') . ' ' . $currency_symbol . ')' |
|
| 331 | 331 | ) |
| 332 | 332 | ), |
| 333 | 333 | 'thousands_separator' => array( |
| 334 | 334 | 'id' => 'thousands_separator', |
| 335 | - 'name' => __( 'Thousands Separator', 'invoicing' ), |
|
| 336 | - 'desc' => __( 'The symbol (usually , or .) to separate thousands', 'invoicing' ), |
|
| 335 | + 'name' => __('Thousands Separator', 'invoicing'), |
|
| 336 | + 'desc' => __('The symbol (usually , or .) to separate thousands', 'invoicing'), |
|
| 337 | 337 | 'type' => 'text', |
| 338 | 338 | 'size' => 'small', |
| 339 | 339 | 'std' => ',', |
| 340 | 340 | ), |
| 341 | 341 | 'decimal_separator' => array( |
| 342 | 342 | 'id' => 'decimal_separator', |
| 343 | - 'name' => __( 'Decimal Separator', 'invoicing' ), |
|
| 344 | - 'desc' => __( 'The symbol (usually , or .) to separate decimal points', 'invoicing' ), |
|
| 343 | + 'name' => __('Decimal Separator', 'invoicing'), |
|
| 344 | + 'desc' => __('The symbol (usually , or .) to separate decimal points', 'invoicing'), |
|
| 345 | 345 | 'type' => 'text', |
| 346 | 346 | 'size' => 'small', |
| 347 | 347 | 'std' => '.', |
| 348 | 348 | ), |
| 349 | 349 | 'decimals' => array( |
| 350 | 350 | 'id' => 'decimals', |
| 351 | - 'name' => __( 'Number of Decimals', 'invoicing' ), |
|
| 352 | - 'desc' => __( 'This sets the number of decimal points shown in displayed prices.', 'invoicing' ), |
|
| 351 | + 'name' => __('Number of Decimals', 'invoicing'), |
|
| 352 | + 'desc' => __('This sets the number of decimal points shown in displayed prices.', 'invoicing'), |
|
| 353 | 353 | 'type' => 'number', |
| 354 | 354 | 'size' => 'small', |
| 355 | 355 | 'std' => '2', |
@@ -361,60 +361,60 @@ discard block |
||
| 361 | 361 | 'labels' => array( |
| 362 | 362 | 'labels' => array( |
| 363 | 363 | 'id' => 'labels_settings', |
| 364 | - 'name' => '<h3>' . __( 'Invoice Labels', 'invoicing' ) . '</h3>', |
|
| 364 | + 'name' => '<h3>' . __('Invoice Labels', 'invoicing') . '</h3>', |
|
| 365 | 365 | 'desc' => '', |
| 366 | 366 | 'type' => 'header', |
| 367 | 367 | ), |
| 368 | 368 | 'vat_name' => array( |
| 369 | 369 | 'id' => 'vat_name', |
| 370 | - 'name' => __( 'VAT Name', 'invoicing' ), |
|
| 371 | - 'desc' => __( 'Enter the VAT name', 'invoicing' ), |
|
| 370 | + 'name' => __('VAT Name', 'invoicing'), |
|
| 371 | + 'desc' => __('Enter the VAT name', 'invoicing'), |
|
| 372 | 372 | 'type' => 'text', |
| 373 | 373 | 'size' => 'regular', |
| 374 | 374 | 'std' => 'VAT' |
| 375 | 375 | ), |
| 376 | 376 | 'vat_invoice_notice_label' => array( |
| 377 | 377 | 'id' => 'vat_invoice_notice_label', |
| 378 | - 'name' => __( 'Invoice Notice Label', 'invoicing' ), |
|
| 379 | - 'desc' => __( 'Use this to add an invoice notice section (label) to your invoices', 'invoicing' ), |
|
| 378 | + 'name' => __('Invoice Notice Label', 'invoicing'), |
|
| 379 | + 'desc' => __('Use this to add an invoice notice section (label) to your invoices', 'invoicing'), |
|
| 380 | 380 | 'type' => 'text', |
| 381 | 381 | 'size' => 'regular', |
| 382 | 382 | ), |
| 383 | 383 | 'vat_invoice_notice' => array( |
| 384 | 384 | 'id' => 'vat_invoice_notice', |
| 385 | - 'name' => __( 'Invoice notice', 'invoicing' ), |
|
| 386 | - 'desc' => __( 'Use this to add an invoice notice section (description) to your invoices', 'invoicing' ), |
|
| 385 | + 'name' => __('Invoice notice', 'invoicing'), |
|
| 386 | + 'desc' => __('Use this to add an invoice notice section (description) to your invoices', 'invoicing'), |
|
| 387 | 387 | 'type' => 'text', |
| 388 | 388 | 'size' => 'regular', |
| 389 | 389 | ), |
| 390 | 390 | 'name_your_price' => array( |
| 391 | 391 | 'id' => 'name_your_price_settings', |
| 392 | - 'name' => '<h3>' . __( 'Name Your Price', 'invoicing' ) . '</h3>', |
|
| 392 | + 'name' => '<h3>' . __('Name Your Price', 'invoicing') . '</h3>', |
|
| 393 | 393 | 'desc' => '', |
| 394 | 394 | 'type' => 'header', |
| 395 | 395 | ), |
| 396 | 396 | 'suggested_price_text' => array( |
| 397 | 397 | 'id' => 'suggested_price_text', |
| 398 | - 'name' => __( 'Suggested Price Text', 'invoicing' ), |
|
| 399 | - 'desc' => __( "The label used to indicate an item's suggested price", 'invoicing' ), |
|
| 398 | + 'name' => __('Suggested Price Text', 'invoicing'), |
|
| 399 | + 'desc' => __("The label used to indicate an item's suggested price", 'invoicing'), |
|
| 400 | 400 | 'type' => 'text', |
| 401 | 401 | 'size' => 'regular', |
| 402 | - 'std' => __( 'Suggested Price:', 'invoicing' ), |
|
| 402 | + 'std' => __('Suggested Price:', 'invoicing'), |
|
| 403 | 403 | ), |
| 404 | 404 | 'minimum_price_text' => array( |
| 405 | 405 | 'id' => 'minimum_price_text', |
| 406 | - 'name' => __( 'Minimum Price Text', 'invoicing' ), |
|
| 407 | - 'desc' => __( "The label used to indicate an item's minimum price", 'invoicing' ), |
|
| 406 | + 'name' => __('Minimum Price Text', 'invoicing'), |
|
| 407 | + 'desc' => __("The label used to indicate an item's minimum price", 'invoicing'), |
|
| 408 | 408 | 'type' => 'text', |
| 409 | 409 | 'size' => 'regular', |
| 410 | - 'std' => __( 'Minimum Price:', 'invoicing' ), |
|
| 410 | + 'std' => __('Minimum Price:', 'invoicing'), |
|
| 411 | 411 | ), |
| 412 | 412 | 'name_your_price_text' => array( |
| 413 | 413 | 'id' => 'name_your_price_text', |
| 414 | - 'name' => __( 'Name Your Price Text', 'invoicing' ), |
|
| 414 | + 'name' => __('Name Your Price Text', 'invoicing'), |
|
| 415 | 415 | 'type' => 'text', |
| 416 | 416 | 'size' => 'regular', |
| 417 | - 'std' => __( 'Name Your Price', 'invoicing' ), |
|
| 417 | + 'std' => __('Name Your Price', 'invoicing'), |
|
| 418 | 418 | ), |
| 419 | 419 | ) |
| 420 | 420 | ) |
@@ -424,22 +424,22 @@ discard block |
||
| 424 | 424 | 'main' => array( |
| 425 | 425 | 'gateway_settings' => array( |
| 426 | 426 | 'id' => 'api_header', |
| 427 | - 'name' => '<h3>' . __( 'Gateway Settings', 'invoicing' ) . '</h3>', |
|
| 427 | + 'name' => '<h3>' . __('Gateway Settings', 'invoicing') . '</h3>', |
|
| 428 | 428 | 'desc' => '', |
| 429 | 429 | 'type' => 'header', |
| 430 | 430 | ), |
| 431 | 431 | 'gateways' => array( |
| 432 | 432 | 'id' => 'gateways', |
| 433 | - 'name' => __( 'Payment Gateways', 'invoicing' ), |
|
| 434 | - 'desc' => __( 'Choose the payment gateways you want to enable.', 'invoicing' ), |
|
| 433 | + 'name' => __('Payment Gateways', 'invoicing'), |
|
| 434 | + 'desc' => __('Choose the payment gateways you want to enable.', 'invoicing'), |
|
| 435 | 435 | 'type' => 'gateways', |
| 436 | 436 | 'std' => array('manual'=>1), |
| 437 | 437 | 'options' => wpinv_get_payment_gateways(), |
| 438 | 438 | ), |
| 439 | 439 | 'default_gateway' => array( |
| 440 | 440 | 'id' => 'default_gateway', |
| 441 | - 'name' => __( 'Default Gateway', 'invoicing' ), |
|
| 442 | - 'desc' => __( 'This gateway will be loaded automatically with the checkout page.', 'invoicing' ), |
|
| 441 | + 'name' => __('Default Gateway', 'invoicing'), |
|
| 442 | + 'desc' => __('This gateway will be loaded automatically with the checkout page.', 'invoicing'), |
|
| 443 | 443 | 'type' => 'gateway_select', |
| 444 | 444 | 'std' => 'manual', |
| 445 | 445 | 'class' => 'wpi_select2', |
@@ -454,19 +454,19 @@ discard block |
||
| 454 | 454 | 'main' => array( |
| 455 | 455 | 'tax_settings' => array( |
| 456 | 456 | 'id' => 'tax_settings', |
| 457 | - 'name' => '<h3>' . __( 'Tax Settings', 'invoicing' ) . '</h3>', |
|
| 457 | + 'name' => '<h3>' . __('Tax Settings', 'invoicing') . '</h3>', |
|
| 458 | 458 | 'type' => 'header', |
| 459 | 459 | ), |
| 460 | 460 | 'enable_taxes' => array( |
| 461 | 461 | 'id' => 'enable_taxes', |
| 462 | - 'name' => __( 'Enable Taxes', 'invoicing' ), |
|
| 463 | - 'desc' => __( 'Check this to enable taxes on invoices.', 'invoicing' ), |
|
| 462 | + 'name' => __('Enable Taxes', 'invoicing'), |
|
| 463 | + 'desc' => __('Check this to enable taxes on invoices.', 'invoicing'), |
|
| 464 | 464 | 'type' => 'checkbox', |
| 465 | 465 | ), |
| 466 | 466 | 'tax_rate' => array( |
| 467 | 467 | 'id' => 'tax_rate', |
| 468 | - 'name' => __( 'Fallback Tax Rate', 'invoicing' ), |
|
| 469 | - 'desc' => __( 'Enter a percentage, such as 6.5. Customers not in a specific rate will be charged this rate.', 'invoicing' ), |
|
| 468 | + 'name' => __('Fallback Tax Rate', 'invoicing'), |
|
| 469 | + 'desc' => __('Enter a percentage, such as 6.5. Customers not in a specific rate will be charged this rate.', 'invoicing'), |
|
| 470 | 470 | 'type' => 'number', |
| 471 | 471 | 'size' => 'small', |
| 472 | 472 | 'min' => '0', |
@@ -478,8 +478,8 @@ discard block |
||
| 478 | 478 | 'rates' => array( |
| 479 | 479 | 'tax_rates' => array( |
| 480 | 480 | 'id' => 'tax_rates', |
| 481 | - 'name' => '<h3>' . __( 'Tax Rates', 'invoicing' ) . '</h3>', |
|
| 482 | - 'desc' => __( 'Enter tax rates for specific regions.', 'invoicing' ), |
|
| 481 | + 'name' => '<h3>' . __('Tax Rates', 'invoicing') . '</h3>', |
|
| 482 | + 'desc' => __('Enter tax rates for specific regions.', 'invoicing'), |
|
| 483 | 483 | 'type' => 'tax_rates', |
| 484 | 484 | ), |
| 485 | 485 | ) |
@@ -491,61 +491,61 @@ discard block |
||
| 491 | 491 | 'main' => array( |
| 492 | 492 | 'email_settings_header' => array( |
| 493 | 493 | 'id' => 'email_settings_header', |
| 494 | - 'name' => '<h3>' . __( 'Email Sender Options', 'invoicing' ) . '</h3>', |
|
| 494 | + 'name' => '<h3>' . __('Email Sender Options', 'invoicing') . '</h3>', |
|
| 495 | 495 | 'type' => 'header', |
| 496 | 496 | ), |
| 497 | 497 | 'email_from_name' => array( |
| 498 | 498 | 'id' => 'email_from_name', |
| 499 | - 'name' => __( 'From Name', 'invoicing' ), |
|
| 500 | - 'desc' => __( 'Enter the sender\'s name appears in outgoing invoice emails. This should be your site name.', 'invoicing' ), |
|
| 501 | - 'std' => esc_attr( get_bloginfo( 'name', 'display' ) ), |
|
| 499 | + 'name' => __('From Name', 'invoicing'), |
|
| 500 | + 'desc' => __('Enter the sender\'s name appears in outgoing invoice emails. This should be your site name.', 'invoicing'), |
|
| 501 | + 'std' => esc_attr(get_bloginfo('name', 'display')), |
|
| 502 | 502 | 'type' => 'text', |
| 503 | 503 | ), |
| 504 | 504 | 'email_from' => array( |
| 505 | 505 | 'id' => 'email_from', |
| 506 | - 'name' => __( 'From Email', 'invoicing' ), |
|
| 507 | - 'desc' => sprintf (__( 'Email address to send invoice emails from. This will act as the "from" and "reply-to" address. %s If emails are not being sent it may be that your hosting prevents emails being sent if the email domains do not match.%s', 'invoicing' ), $alert_wrapper_start, $alert_wrapper_close), |
|
| 508 | - 'std' => get_option( 'admin_email' ), |
|
| 506 | + 'name' => __('From Email', 'invoicing'), |
|
| 507 | + 'desc' => sprintf(__('Email address to send invoice emails from. This will act as the "from" and "reply-to" address. %s If emails are not being sent it may be that your hosting prevents emails being sent if the email domains do not match.%s', 'invoicing'), $alert_wrapper_start, $alert_wrapper_close), |
|
| 508 | + 'std' => get_option('admin_email'), |
|
| 509 | 509 | 'type' => 'text', |
| 510 | 510 | ), |
| 511 | 511 | 'overdue_settings_header' => array( |
| 512 | 512 | 'id' => 'overdue_settings_header', |
| 513 | - 'name' => '<h3>' . __( 'Due Date Settings', 'invoicing' ) . '</h3>', |
|
| 513 | + 'name' => '<h3>' . __('Due Date Settings', 'invoicing') . '</h3>', |
|
| 514 | 514 | 'type' => 'header', |
| 515 | 515 | ), |
| 516 | 516 | 'overdue_active' => array( |
| 517 | 517 | 'id' => 'overdue_active', |
| 518 | - 'name' => __( 'Enable Due Date', 'invoicing' ), |
|
| 519 | - 'desc' => __( 'Check this to enable due date option for invoices.', 'invoicing' ), |
|
| 518 | + 'name' => __('Enable Due Date', 'invoicing'), |
|
| 519 | + 'desc' => __('Check this to enable due date option for invoices.', 'invoicing'), |
|
| 520 | 520 | 'type' => 'checkbox', |
| 521 | 521 | 'std' => false, |
| 522 | 522 | ), |
| 523 | 523 | 'overdue_days' => array( |
| 524 | 524 | 'id' => 'overdue_days', |
| 525 | - 'name' => __( 'Default Due Date', 'invoicing' ), |
|
| 526 | - 'desc' => __( 'Number of days each Invoice is due after the created date. This will automatically set the date in the "Due Date" field. Can be overridden on individual Invoices.', 'invoicing' ), |
|
| 525 | + 'name' => __('Default Due Date', 'invoicing'), |
|
| 526 | + 'desc' => __('Number of days each Invoice is due after the created date. This will automatically set the date in the "Due Date" field. Can be overridden on individual Invoices.', 'invoicing'), |
|
| 527 | 527 | 'type' => 'select', |
| 528 | 528 | 'options' => $due_payment_options, |
| 529 | 529 | 'std' => 0, |
| 530 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
| 530 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
| 531 | 531 | ), |
| 532 | 532 | 'email_template_header' => array( |
| 533 | 533 | 'id' => 'email_template_header', |
| 534 | - 'name' => '<h3>' . __( 'Email Template', 'invoicing' ) . '</h3>', |
|
| 534 | + 'name' => '<h3>' . __('Email Template', 'invoicing') . '</h3>', |
|
| 535 | 535 | 'type' => 'header', |
| 536 | 536 | ), |
| 537 | 537 | 'email_header_image' => array( |
| 538 | 538 | 'id' => 'email_header_image', |
| 539 | - 'name' => __( 'Header Image', 'invoicing' ), |
|
| 540 | - 'desc' => __( 'URL to an image you want to show in the email header. Upload images using the media uploader (Admin > Media).', 'invoicing' ), |
|
| 539 | + 'name' => __('Header Image', 'invoicing'), |
|
| 540 | + 'desc' => __('URL to an image you want to show in the email header. Upload images using the media uploader (Admin > Media).', 'invoicing'), |
|
| 541 | 541 | 'std' => '', |
| 542 | 542 | 'type' => 'text', |
| 543 | 543 | ), |
| 544 | 544 | 'email_footer_text' => array( |
| 545 | 545 | 'id' => 'email_footer_text', |
| 546 | - 'name' => __( 'Footer Text', 'invoicing' ), |
|
| 547 | - 'desc' => __( 'The text to appear in the footer of all invoice emails.', 'invoicing' ), |
|
| 548 | - 'std' => get_bloginfo( 'name', 'display' ) . ' - ' . __( 'Powered by GeoDirectory', 'invoicing' ), |
|
| 546 | + 'name' => __('Footer Text', 'invoicing'), |
|
| 547 | + 'desc' => __('The text to appear in the footer of all invoice emails.', 'invoicing'), |
|
| 548 | + 'std' => get_bloginfo('name', 'display') . ' - ' . __('Powered by GeoDirectory', 'invoicing'), |
|
| 549 | 549 | 'type' => 'textarea', |
| 550 | 550 | 'class' => 'regular-text', |
| 551 | 551 | 'rows' => 2, |
@@ -553,29 +553,29 @@ discard block |
||
| 553 | 553 | ), |
| 554 | 554 | 'email_base_color' => array( |
| 555 | 555 | 'id' => 'email_base_color', |
| 556 | - 'name' => __( 'Base Color', 'invoicing' ), |
|
| 557 | - 'desc' => __( 'The base color for invoice email template. Default <code>#557da2</code>.', 'invoicing' ), |
|
| 556 | + 'name' => __('Base Color', 'invoicing'), |
|
| 557 | + 'desc' => __('The base color for invoice email template. Default <code>#557da2</code>.', 'invoicing'), |
|
| 558 | 558 | 'std' => '#557da2', |
| 559 | 559 | 'type' => 'color', |
| 560 | 560 | ), |
| 561 | 561 | 'email_background_color' => array( |
| 562 | 562 | 'id' => 'email_background_color', |
| 563 | - 'name' => __( 'Background Color', 'invoicing' ), |
|
| 564 | - 'desc' => __( 'The background color of email template. Default <code>#f5f5f5</code>.', 'invoicing' ), |
|
| 563 | + 'name' => __('Background Color', 'invoicing'), |
|
| 564 | + 'desc' => __('The background color of email template. Default <code>#f5f5f5</code>.', 'invoicing'), |
|
| 565 | 565 | 'std' => '#f5f5f5', |
| 566 | 566 | 'type' => 'color', |
| 567 | 567 | ), |
| 568 | 568 | 'email_body_background_color' => array( |
| 569 | 569 | 'id' => 'email_body_background_color', |
| 570 | - 'name' => __( 'Body Background Color', 'invoicing' ), |
|
| 571 | - 'desc' => __( 'The main body background color of email template. Default <code>#fdfdfd</code>.', 'invoicing' ), |
|
| 570 | + 'name' => __('Body Background Color', 'invoicing'), |
|
| 571 | + 'desc' => __('The main body background color of email template. Default <code>#fdfdfd</code>.', 'invoicing'), |
|
| 572 | 572 | 'std' => '#fdfdfd', |
| 573 | 573 | 'type' => 'color', |
| 574 | 574 | ), |
| 575 | 575 | 'email_text_color' => array( |
| 576 | 576 | 'id' => 'email_text_color', |
| 577 | - 'name' => __( 'Body Text Color', 'invoicing' ), |
|
| 578 | - 'desc' => __( 'The main body text color. Default <code>#505050</code>.', 'invoicing' ), |
|
| 577 | + 'name' => __('Body Text Color', 'invoicing'), |
|
| 578 | + 'desc' => __('The main body text color. Default <code>#505050</code>.', 'invoicing'), |
|
| 579 | 579 | 'std' => '#505050', |
| 580 | 580 | 'type' => 'color', |
| 581 | 581 | ), |
@@ -594,26 +594,26 @@ discard block |
||
| 594 | 594 | 'main' => array( |
| 595 | 595 | 'invoicing_privacy_policy_settings' => array( |
| 596 | 596 | 'id' => 'invoicing_privacy_policy_settings', |
| 597 | - 'name' => '<h3>' . __( 'Privacy Policy', 'invoicing' ) . '</h3>', |
|
| 597 | + 'name' => '<h3>' . __('Privacy Policy', 'invoicing') . '</h3>', |
|
| 598 | 598 | 'type' => 'header', |
| 599 | 599 | ), |
| 600 | 600 | 'privacy_page' => array( |
| 601 | 601 | 'id' => 'privacy_page', |
| 602 | - 'name' => __( 'Privacy Page', 'invoicing' ), |
|
| 603 | - 'desc' => __( 'If no privacy policy page set in Settings->Privacy default settings, this page will be used on checkout page.', 'invoicing' ), |
|
| 602 | + 'name' => __('Privacy Page', 'invoicing'), |
|
| 603 | + 'desc' => __('If no privacy policy page set in Settings->Privacy default settings, this page will be used on checkout page.', 'invoicing'), |
|
| 604 | 604 | 'type' => 'select', |
| 605 | - 'options' => wpinv_get_pages( true, __( 'Select a page', 'invoicing' )), |
|
| 605 | + 'options' => wpinv_get_pages(true, __('Select a page', 'invoicing')), |
|
| 606 | 606 | 'class' => 'wpi_select2', |
| 607 | - 'placeholder' => __( 'Select a page', 'invoicing' ), |
|
| 607 | + 'placeholder' => __('Select a page', 'invoicing'), |
|
| 608 | 608 | ), |
| 609 | 609 | 'invoicing_privacy_checkout_message' => array( |
| 610 | 610 | 'id' => 'invoicing_privacy_checkout_message', |
| 611 | - 'name' => __( 'Checkout privacy policy', 'invoicing' ), |
|
| 612 | - 'desc' => __( 'Optionally add privacy policy message which will display on checkout page.', 'invoicing' ), |
|
| 611 | + 'name' => __('Checkout privacy policy', 'invoicing'), |
|
| 612 | + 'desc' => __('Optionally add privacy policy message which will display on checkout page.', 'invoicing'), |
|
| 613 | 613 | 'type' => 'textarea', |
| 614 | 614 | 'class'=> 'regular-text', |
| 615 | 615 | 'rows' => 4, |
| 616 | - 'std' => sprintf( __( 'Your personal data will be used to process your invoice, payment and for other purposes described in our %s.', 'invoicing' ), '[wpinv_privacy_policy]' ), |
|
| 616 | + 'std' => sprintf(__('Your personal data will be used to process your invoice, payment and for other purposes described in our %s.', 'invoicing'), '[wpinv_privacy_policy]'), |
|
| 617 | 617 | ), |
| 618 | 618 | ), |
| 619 | 619 | ) |
@@ -624,19 +624,19 @@ discard block |
||
| 624 | 624 | 'main' => array( |
| 625 | 625 | 'invoice_number_format_settings' => array( |
| 626 | 626 | 'id' => 'invoice_number_format_settings', |
| 627 | - 'name' => '<h3>' . __( 'Invoice Number', 'invoicing' ) . '</h3>', |
|
| 627 | + 'name' => '<h3>' . __('Invoice Number', 'invoicing') . '</h3>', |
|
| 628 | 628 | 'type' => 'header', |
| 629 | 629 | ), |
| 630 | 630 | 'sequential_invoice_number' => array( |
| 631 | 631 | 'id' => 'sequential_invoice_number', |
| 632 | - 'name' => __( 'Sequential Invoice Numbers', 'invoicing' ), |
|
| 633 | - 'desc' => __('Check this box to enable sequential invoice numbers.', 'invoicing' ) . $reset_number, |
|
| 632 | + 'name' => __('Sequential Invoice Numbers', 'invoicing'), |
|
| 633 | + 'desc' => __('Check this box to enable sequential invoice numbers.', 'invoicing') . $reset_number, |
|
| 634 | 634 | 'type' => 'checkbox', |
| 635 | 635 | ), |
| 636 | 636 | 'invoice_sequence_start' => array( |
| 637 | 637 | 'id' => 'invoice_sequence_start', |
| 638 | - 'name' => __( 'Sequential Starting Number', 'invoicing' ), |
|
| 639 | - 'desc' => __( 'The number at which the invoice number sequence should begin.', 'invoicing' ) . $last_number, |
|
| 638 | + 'name' => __('Sequential Starting Number', 'invoicing'), |
|
| 639 | + 'desc' => __('The number at which the invoice number sequence should begin.', 'invoicing') . $last_number, |
|
| 640 | 640 | 'type' => 'number', |
| 641 | 641 | 'size' => 'small', |
| 642 | 642 | 'std' => '1', |
@@ -644,8 +644,8 @@ discard block |
||
| 644 | 644 | ), |
| 645 | 645 | 'invoice_number_padd' => array( |
| 646 | 646 | 'id' => 'invoice_number_padd', |
| 647 | - 'name' => __( 'Minimum Digits', 'invoicing' ), |
|
| 648 | - 'desc' => __( 'If the invoice number has less digits than this number, it is left padded with 0s. Ex: invoice number 108 will padded to 00108 if digits set to 5. The default 0 means no padding.', 'invoicing' ), |
|
| 647 | + 'name' => __('Minimum Digits', 'invoicing'), |
|
| 648 | + 'desc' => __('If the invoice number has less digits than this number, it is left padded with 0s. Ex: invoice number 108 will padded to 00108 if digits set to 5. The default 0 means no padding.', 'invoicing'), |
|
| 649 | 649 | 'type' => 'select', |
| 650 | 650 | 'options' => $invoice_number_padd_options, |
| 651 | 651 | 'std' => 5, |
@@ -653,8 +653,8 @@ discard block |
||
| 653 | 653 | ), |
| 654 | 654 | 'invoice_number_prefix' => array( |
| 655 | 655 | 'id' => 'invoice_number_prefix', |
| 656 | - 'name' => __( 'Invoice Number Prefix', 'invoicing' ), |
|
| 657 | - 'desc' => __( 'Prefix for all invoice numbers. Ex: WPINV-', 'invoicing' ), |
|
| 656 | + 'name' => __('Invoice Number Prefix', 'invoicing'), |
|
| 657 | + 'desc' => __('Prefix for all invoice numbers. Ex: WPINV-', 'invoicing'), |
|
| 658 | 658 | 'type' => 'text', |
| 659 | 659 | 'size' => 'regular', |
| 660 | 660 | 'std' => 'WPINV-', |
@@ -662,32 +662,32 @@ discard block |
||
| 662 | 662 | ), |
| 663 | 663 | 'invoice_number_postfix' => array( |
| 664 | 664 | 'id' => 'invoice_number_postfix', |
| 665 | - 'name' => __( 'Invoice Number Postfix', 'invoicing' ), |
|
| 666 | - 'desc' => __( 'Postfix for all invoice numbers.', 'invoicing' ), |
|
| 665 | + 'name' => __('Invoice Number Postfix', 'invoicing'), |
|
| 666 | + 'desc' => __('Postfix for all invoice numbers.', 'invoicing'), |
|
| 667 | 667 | 'type' => 'text', |
| 668 | 668 | 'size' => 'regular', |
| 669 | 669 | 'std' => '' |
| 670 | 670 | ), |
| 671 | 671 | 'checkout_settings' => array( |
| 672 | 672 | 'id' => 'checkout_settings', |
| 673 | - 'name' => '<h3>' . __( 'Checkout Settings', 'invoicing' ) . '</h3>', |
|
| 673 | + 'name' => '<h3>' . __('Checkout Settings', 'invoicing') . '</h3>', |
|
| 674 | 674 | 'type' => 'header', |
| 675 | 675 | ), |
| 676 | 676 | 'login_to_checkout' => array( |
| 677 | 677 | 'id' => 'login_to_checkout', |
| 678 | - 'name' => __( 'Require Login To Checkout', 'invoicing' ), |
|
| 679 | - 'desc' => __( 'If ticked then user needs to be logged in to view or pay invoice, can only view or pay their own invoice. If unticked then anyone can view or pay the invoice.', 'invoicing' ), |
|
| 678 | + 'name' => __('Require Login To Checkout', 'invoicing'), |
|
| 679 | + 'desc' => __('If ticked then user needs to be logged in to view or pay invoice, can only view or pay their own invoice. If unticked then anyone can view or pay the invoice.', 'invoicing'), |
|
| 680 | 680 | 'type' => 'checkbox', |
| 681 | 681 | ), |
| 682 | 682 | 'uninstall_settings' => array( |
| 683 | 683 | 'id' => 'uninstall_settings', |
| 684 | - 'name' => '<h3>' . __( 'Uninstall Settings', 'invoicing' ) . '</h3>', |
|
| 684 | + 'name' => '<h3>' . __('Uninstall Settings', 'invoicing') . '</h3>', |
|
| 685 | 685 | 'type' => 'header', |
| 686 | 686 | ), |
| 687 | 687 | 'remove_data_on_unistall' => array( |
| 688 | 688 | 'id' => 'remove_data_on_unistall', |
| 689 | - 'name' => __( 'Remove Data on Uninstall?', 'invoicing' ), |
|
| 690 | - 'desc' => __( 'Check this box if you would like Invoicing plugin to completely remove all of its data when the plugin is deleted/uninstalled.', 'invoicing' ), |
|
| 689 | + 'name' => __('Remove Data on Uninstall?', 'invoicing'), |
|
| 690 | + 'desc' => __('Check this box if you would like Invoicing plugin to completely remove all of its data when the plugin is deleted/uninstalled.', 'invoicing'), |
|
| 691 | 691 | 'type' => 'checkbox', |
| 692 | 692 | 'std' => '' |
| 693 | 693 | ), |
@@ -695,80 +695,80 @@ discard block |
||
| 695 | 695 | 'fields' => array( |
| 696 | 696 | 'fields_settings' => array( |
| 697 | 697 | 'id' => 'fields_settings', |
| 698 | - 'name' => '<h3>' . __( 'Address Fields', 'invoicing' ) . '</h3>', |
|
| 699 | - 'desc' => __( 'Tick fields which are mandatory in invoice address fields.', 'invoicing' ), |
|
| 698 | + 'name' => '<h3>' . __('Address Fields', 'invoicing') . '</h3>', |
|
| 699 | + 'desc' => __('Tick fields which are mandatory in invoice address fields.', 'invoicing'), |
|
| 700 | 700 | 'type' => 'header', |
| 701 | 701 | ), |
| 702 | 702 | 'fname_mandatory' => array( |
| 703 | 703 | 'id' => 'fname_mandatory', |
| 704 | - 'name' => __( 'First Name', 'invoicing' ), |
|
| 704 | + 'name' => __('First Name', 'invoicing'), |
|
| 705 | 705 | 'type' => 'checkbox', |
| 706 | 706 | 'std' => true, |
| 707 | 707 | ), |
| 708 | 708 | 'lname_mandatory' => array( |
| 709 | 709 | 'id' => 'lname_mandatory', |
| 710 | - 'name' => __( 'Last Name', 'invoicing' ), |
|
| 710 | + 'name' => __('Last Name', 'invoicing'), |
|
| 711 | 711 | 'type' => 'checkbox', |
| 712 | 712 | 'std' => true, |
| 713 | 713 | ), |
| 714 | 714 | 'address_mandatory' => array( |
| 715 | 715 | 'id' => 'address_mandatory', |
| 716 | - 'name' => __( 'Address', 'invoicing' ), |
|
| 716 | + 'name' => __('Address', 'invoicing'), |
|
| 717 | 717 | 'type' => 'checkbox', |
| 718 | 718 | 'std' => true, |
| 719 | 719 | ), |
| 720 | 720 | 'city_mandatory' => array( |
| 721 | 721 | 'id' => 'city_mandatory', |
| 722 | - 'name' => __( 'City', 'invoicing' ), |
|
| 722 | + 'name' => __('City', 'invoicing'), |
|
| 723 | 723 | 'type' => 'checkbox', |
| 724 | 724 | 'std' => true, |
| 725 | 725 | ), |
| 726 | 726 | 'country_mandatory' => array( |
| 727 | 727 | 'id' => 'country_mandatory', |
| 728 | - 'name' => __( 'Country', 'invoicing' ), |
|
| 728 | + 'name' => __('Country', 'invoicing'), |
|
| 729 | 729 | 'type' => 'checkbox', |
| 730 | 730 | 'std' => true, |
| 731 | 731 | ), |
| 732 | 732 | 'state_mandatory' => array( |
| 733 | 733 | 'id' => 'state_mandatory', |
| 734 | - 'name' => __( 'State / Province', 'invoicing' ), |
|
| 734 | + 'name' => __('State / Province', 'invoicing'), |
|
| 735 | 735 | 'type' => 'checkbox', |
| 736 | 736 | 'std' => true, |
| 737 | 737 | ), |
| 738 | 738 | 'zip_mandatory' => array( |
| 739 | 739 | 'id' => 'zip_mandatory', |
| 740 | - 'name' => __( 'ZIP / Postcode', 'invoicing' ), |
|
| 740 | + 'name' => __('ZIP / Postcode', 'invoicing'), |
|
| 741 | 741 | 'type' => 'checkbox', |
| 742 | 742 | 'std' => true, |
| 743 | 743 | ), |
| 744 | 744 | 'phone_mandatory' => array( |
| 745 | 745 | 'id' => 'phone_mandatory', |
| 746 | - 'name' => __( 'Phone Number', 'invoicing' ), |
|
| 746 | + 'name' => __('Phone Number', 'invoicing'), |
|
| 747 | 747 | 'type' => 'checkbox', |
| 748 | 748 | 'std' => true, |
| 749 | 749 | ), |
| 750 | 750 | 'force_show_company' => array( |
| 751 | 751 | 'id' => 'force_show_company', |
| 752 | - 'name' => __( 'Force show company name at checkout.', 'invoicing' ), |
|
| 752 | + 'name' => __('Force show company name at checkout.', 'invoicing'), |
|
| 753 | 753 | 'type' => 'checkbox', |
| 754 | 754 | 'std' => false, |
| 755 | 755 | ), |
| 756 | 756 | 'address_autofill_settings' => array( |
| 757 | 757 | 'id' => 'address_autofill_settings', |
| 758 | - 'name' => '<h3>' . __( 'Google Address Auto Complete', 'invoicing' ) . '</h3>', |
|
| 758 | + 'name' => '<h3>' . __('Google Address Auto Complete', 'invoicing') . '</h3>', |
|
| 759 | 759 | 'type' => 'header', |
| 760 | 760 | ), |
| 761 | 761 | 'address_autofill_active' => array( |
| 762 | 762 | 'id' => 'address_autofill_active', |
| 763 | - 'name' => __( 'Enable/Disable', 'invoicing' ), |
|
| 764 | - 'desc' => __( 'Enable google address auto complete', 'invoicing' ), |
|
| 763 | + 'name' => __('Enable/Disable', 'invoicing'), |
|
| 764 | + 'desc' => __('Enable google address auto complete', 'invoicing'), |
|
| 765 | 765 | 'type' => 'checkbox', |
| 766 | 766 | 'std' => 0 |
| 767 | 767 | ), |
| 768 | 768 | 'address_autofill_api' => array( |
| 769 | 769 | 'id' => 'address_autofill_api', |
| 770 | - 'name' => __( 'Google Place API Key', 'invoicing' ), |
|
| 771 | - 'desc' => wp_sprintf(__( 'Enter google place API key. For more information go to google place API %sdocumenation%s', 'invoicing' ), '<a href="https://developers.google.com/maps/documentation/javascript/places-autocomplete" target="_blank">', '</a>' ), |
|
| 770 | + 'name' => __('Google Place API Key', 'invoicing'), |
|
| 771 | + 'desc' => wp_sprintf(__('Enter google place API key. For more information go to google place API %sdocumenation%s', 'invoicing'), '<a href="https://developers.google.com/maps/documentation/javascript/places-autocomplete" target="_blank">', '</a>'), |
|
| 772 | 772 | 'type' => 'text', |
| 773 | 773 | 'size' => 'regular', |
| 774 | 774 | 'std' => '' |
@@ -777,13 +777,13 @@ discard block |
||
| 777 | 777 | 'custom-css' => array( |
| 778 | 778 | 'css_settings' => array( |
| 779 | 779 | 'id' => 'css_settings', |
| 780 | - 'name' => '<h3>' . __( 'Custom CSS', 'invoicing' ) . '</h3>', |
|
| 780 | + 'name' => '<h3>' . __('Custom CSS', 'invoicing') . '</h3>', |
|
| 781 | 781 | 'type' => 'header', |
| 782 | 782 | ), |
| 783 | 783 | 'template_custom_css' => array( |
| 784 | 784 | 'id' => 'template_custom_css', |
| 785 | - 'name' => __( 'Invoice Template CSS', 'invoicing' ), |
|
| 786 | - 'desc' => __( 'Add CSS to modify appearance of the print invoice page.', 'invoicing' ), |
|
| 785 | + 'name' => __('Invoice Template CSS', 'invoicing'), |
|
| 786 | + 'desc' => __('Add CSS to modify appearance of the print invoice page.', 'invoicing'), |
|
| 787 | 787 | 'type' => 'textarea', |
| 788 | 788 | 'class'=> 'regular-text', |
| 789 | 789 | 'rows' => 10, |
@@ -797,8 +797,8 @@ discard block |
||
| 797 | 797 | 'main' => array( |
| 798 | 798 | 'tool_settings' => array( |
| 799 | 799 | 'id' => 'tool_settings', |
| 800 | - 'name' => '<h3>' . __( 'Diagnostic Tools', 'invoicing' ) . '</h3>', |
|
| 801 | - 'desc' => __( 'Invoicing diagnostic tools', 'invoicing' ), |
|
| 800 | + 'name' => '<h3>' . __('Diagnostic Tools', 'invoicing') . '</h3>', |
|
| 801 | + 'desc' => __('Invoicing diagnostic tools', 'invoicing'), |
|
| 802 | 802 | 'type' => 'tools', |
| 803 | 803 | ), |
| 804 | 804 | ), |
@@ -806,136 +806,136 @@ discard block |
||
| 806 | 806 | ) |
| 807 | 807 | ); |
| 808 | 808 | |
| 809 | - return apply_filters( 'wpinv_registered_settings', $wpinv_settings ); |
|
| 809 | + return apply_filters('wpinv_registered_settings', $wpinv_settings); |
|
| 810 | 810 | } |
| 811 | 811 | |
| 812 | -function wpinv_settings_sanitize( $input = array() ) { |
|
| 812 | +function wpinv_settings_sanitize($input = array()) { |
|
| 813 | 813 | global $wpinv_options; |
| 814 | 814 | |
| 815 | - if ( empty( $_POST['_wp_http_referer'] ) ) { |
|
| 815 | + if (empty($_POST['_wp_http_referer'])) { |
|
| 816 | 816 | return $input; |
| 817 | 817 | } |
| 818 | 818 | |
| 819 | - parse_str( $_POST['_wp_http_referer'], $referrer ); |
|
| 819 | + parse_str($_POST['_wp_http_referer'], $referrer); |
|
| 820 | 820 | |
| 821 | 821 | $settings = wpinv_get_registered_settings(); |
| 822 | - $tab = isset( $referrer['tab'] ) ? $referrer['tab'] : 'general'; |
|
| 823 | - $section = isset( $referrer['section'] ) ? $referrer['section'] : 'main'; |
|
| 822 | + $tab = isset($referrer['tab']) ? $referrer['tab'] : 'general'; |
|
| 823 | + $section = isset($referrer['section']) ? $referrer['section'] : 'main'; |
|
| 824 | 824 | |
| 825 | 825 | $input = $input ? $input : array(); |
| 826 | - $input = apply_filters( 'wpinv_settings_tab_' . $tab . '_sanitize', $input ); |
|
| 827 | - $input = apply_filters( 'wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input ); |
|
| 826 | + $input = apply_filters('wpinv_settings_tab_' . $tab . '_sanitize', $input); |
|
| 827 | + $input = apply_filters('wpinv_settings_' . $tab . '-' . $section . '_sanitize', $input); |
|
| 828 | 828 | |
| 829 | 829 | // Loop through each setting being saved and pass it through a sanitization filter |
| 830 | - foreach ( $input as $key => $value ) { |
|
| 830 | + foreach ($input as $key => $value) { |
|
| 831 | 831 | // Get the setting type (checkbox, select, etc) |
| 832 | - $type = isset( $settings[ $tab ][ $key ]['type'] ) ? $settings[ $tab ][ $key ]['type'] : false; |
|
| 832 | + $type = isset($settings[$tab][$key]['type']) ? $settings[$tab][$key]['type'] : false; |
|
| 833 | 833 | |
| 834 | - if ( $type ) { |
|
| 834 | + if ($type) { |
|
| 835 | 835 | // Field type specific filter |
| 836 | - $input[$key] = apply_filters( 'wpinv_settings_sanitize_' . $type, $value, $key ); |
|
| 836 | + $input[$key] = apply_filters('wpinv_settings_sanitize_' . $type, $value, $key); |
|
| 837 | 837 | } |
| 838 | 838 | |
| 839 | 839 | // General filter |
| 840 | - $input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key ); |
|
| 840 | + $input[$key] = apply_filters('wpinv_settings_sanitize', $input[$key], $key); |
|
| 841 | 841 | } |
| 842 | 842 | |
| 843 | 843 | // Loop through the whitelist and unset any that are empty for the tab being saved |
| 844 | - $main_settings = $section == 'main' ? $settings[ $tab ] : array(); // Check for extensions that aren't using new sections |
|
| 845 | - $section_settings = ! empty( $settings[ $tab ][ $section ] ) ? $settings[ $tab ][ $section ] : array(); |
|
| 844 | + $main_settings = $section == 'main' ? $settings[$tab] : array(); // Check for extensions that aren't using new sections |
|
| 845 | + $section_settings = !empty($settings[$tab][$section]) ? $settings[$tab][$section] : array(); |
|
| 846 | 846 | |
| 847 | - $found_settings = array_merge( $main_settings, $section_settings ); |
|
| 847 | + $found_settings = array_merge($main_settings, $section_settings); |
|
| 848 | 848 | |
| 849 | - if ( ! empty( $found_settings ) ) { |
|
| 850 | - foreach ( $found_settings as $key => $value ) { |
|
| 849 | + if (!empty($found_settings)) { |
|
| 850 | + foreach ($found_settings as $key => $value) { |
|
| 851 | 851 | |
| 852 | 852 | // settings used to have numeric keys, now they have keys that match the option ID. This ensures both methods work |
| 853 | - if ( is_numeric( $key ) ) { |
|
| 853 | + if (is_numeric($key)) { |
|
| 854 | 854 | $key = $value['id']; |
| 855 | 855 | } |
| 856 | 856 | |
| 857 | - if ( empty( $input[ $key ] ) ) { |
|
| 858 | - unset( $wpinv_options[ $key ] ); |
|
| 857 | + if (empty($input[$key])) { |
|
| 858 | + unset($wpinv_options[$key]); |
|
| 859 | 859 | } |
| 860 | 860 | } |
| 861 | 861 | } |
| 862 | 862 | |
| 863 | 863 | // Merge our new settings with the existing |
| 864 | - $output = array_merge( $wpinv_options, $input ); |
|
| 864 | + $output = array_merge($wpinv_options, $input); |
|
| 865 | 865 | |
| 866 | - add_settings_error( 'wpinv-notices', '', __( 'Settings updated.', 'invoicing' ), 'updated' ); |
|
| 866 | + add_settings_error('wpinv-notices', '', __('Settings updated.', 'invoicing'), 'updated'); |
|
| 867 | 867 | |
| 868 | 868 | return $output; |
| 869 | 869 | } |
| 870 | 870 | |
| 871 | -function wpinv_settings_sanitize_misc_accounting( $input ) { |
|
| 871 | +function wpinv_settings_sanitize_misc_accounting($input) { |
|
| 872 | 872 | global $wpi_session; |
| 873 | 873 | |
| 874 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
| 874 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
| 875 | 875 | return $input; |
| 876 | 876 | } |
| 877 | 877 | |
| 878 | - if( ! empty( $input['enable_sequential'] ) && !wpinv_get_option( 'enable_sequential' ) ) { |
|
| 878 | + if (!empty($input['enable_sequential']) && !wpinv_get_option('enable_sequential')) { |
|
| 879 | 879 | // Shows an admin notice about upgrading previous order numbers |
| 880 | - $wpi_session->set( 'upgrade_sequential', '1' ); |
|
| 880 | + $wpi_session->set('upgrade_sequential', '1'); |
|
| 881 | 881 | } |
| 882 | 882 | |
| 883 | 883 | return $input; |
| 884 | 884 | } |
| 885 | -add_filter( 'wpinv_settings_misc-accounting_sanitize', 'wpinv_settings_sanitize_misc_accounting' ); |
|
| 885 | +add_filter('wpinv_settings_misc-accounting_sanitize', 'wpinv_settings_sanitize_misc_accounting'); |
|
| 886 | 886 | |
| 887 | -function wpinv_settings_sanitize_tax_rates( $input ) { |
|
| 888 | - if( ! wpinv_current_user_can_manage_invoicing() ) { |
|
| 887 | +function wpinv_settings_sanitize_tax_rates($input) { |
|
| 888 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
| 889 | 889 | return $input; |
| 890 | 890 | } |
| 891 | 891 | |
| 892 | - $new_rates = !empty( $_POST['tax_rates'] ) ? array_values( $_POST['tax_rates'] ) : array(); |
|
| 892 | + $new_rates = !empty($_POST['tax_rates']) ? array_values($_POST['tax_rates']) : array(); |
|
| 893 | 893 | |
| 894 | 894 | $tax_rates = array(); |
| 895 | 895 | |
| 896 | - if ( !empty( $new_rates ) ) { |
|
| 897 | - foreach ( $new_rates as $rate ) { |
|
| 898 | - if ( isset( $rate['country'] ) && empty( $rate['country'] ) && empty( $rate['state'] ) ) { |
|
| 896 | + if (!empty($new_rates)) { |
|
| 897 | + foreach ($new_rates as $rate) { |
|
| 898 | + if (isset($rate['country']) && empty($rate['country']) && empty($rate['state'])) { |
|
| 899 | 899 | continue; |
| 900 | 900 | } |
| 901 | 901 | |
| 902 | - $rate['rate'] = wpinv_sanitize_amount( $rate['rate'], 4 ); |
|
| 902 | + $rate['rate'] = wpinv_sanitize_amount($rate['rate'], 4); |
|
| 903 | 903 | |
| 904 | 904 | $tax_rates[] = $rate; |
| 905 | 905 | } |
| 906 | 906 | } |
| 907 | 907 | |
| 908 | - update_option( 'wpinv_tax_rates', $tax_rates ); |
|
| 908 | + update_option('wpinv_tax_rates', $tax_rates); |
|
| 909 | 909 | |
| 910 | 910 | return $input; |
| 911 | 911 | } |
| 912 | -add_filter( 'wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates' ); |
|
| 912 | +add_filter('wpinv_settings_taxes-rates_sanitize', 'wpinv_settings_sanitize_tax_rates'); |
|
| 913 | 913 | |
| 914 | -function wpinv_sanitize_text_field( $input ) { |
|
| 915 | - return trim( $input ); |
|
| 914 | +function wpinv_sanitize_text_field($input) { |
|
| 915 | + return trim($input); |
|
| 916 | 916 | } |
| 917 | -add_filter( 'wpinv_settings_sanitize_text', 'wpinv_sanitize_text_field' ); |
|
| 917 | +add_filter('wpinv_settings_sanitize_text', 'wpinv_sanitize_text_field'); |
|
| 918 | 918 | |
| 919 | 919 | function wpinv_get_settings_tabs() { |
| 920 | 920 | $tabs = array(); |
| 921 | - $tabs['general'] = __( 'General', 'invoicing' ); |
|
| 922 | - $tabs['gateways'] = __( 'Payment Gateways', 'invoicing' ); |
|
| 923 | - $tabs['taxes'] = __( 'Taxes', 'invoicing' ); |
|
| 924 | - $tabs['emails'] = __( 'Emails', 'invoicing' ); |
|
| 925 | - $tabs['privacy'] = __( 'Privacy', 'invoicing' ); |
|
| 926 | - $tabs['misc'] = __( 'Misc', 'invoicing' ); |
|
| 927 | - $tabs['tools'] = __( 'Tools', 'invoicing' ); |
|
| 928 | - |
|
| 929 | - return apply_filters( 'wpinv_settings_tabs', $tabs ); |
|
| 921 | + $tabs['general'] = __('General', 'invoicing'); |
|
| 922 | + $tabs['gateways'] = __('Payment Gateways', 'invoicing'); |
|
| 923 | + $tabs['taxes'] = __('Taxes', 'invoicing'); |
|
| 924 | + $tabs['emails'] = __('Emails', 'invoicing'); |
|
| 925 | + $tabs['privacy'] = __('Privacy', 'invoicing'); |
|
| 926 | + $tabs['misc'] = __('Misc', 'invoicing'); |
|
| 927 | + $tabs['tools'] = __('Tools', 'invoicing'); |
|
| 928 | + |
|
| 929 | + return apply_filters('wpinv_settings_tabs', $tabs); |
|
| 930 | 930 | } |
| 931 | 931 | |
| 932 | -function wpinv_get_settings_tab_sections( $tab = false ) { |
|
| 932 | +function wpinv_get_settings_tab_sections($tab = false) { |
|
| 933 | 933 | $tabs = false; |
| 934 | 934 | $sections = wpinv_get_registered_settings_sections(); |
| 935 | 935 | |
| 936 | - if( $tab && ! empty( $sections[ $tab ] ) ) { |
|
| 937 | - $tabs = $sections[ $tab ]; |
|
| 938 | - } else if ( $tab ) { |
|
| 936 | + if ($tab && !empty($sections[$tab])) { |
|
| 937 | + $tabs = $sections[$tab]; |
|
| 938 | + } else if ($tab) { |
|
| 939 | 939 | $tabs = false; |
| 940 | 940 | } |
| 941 | 941 | |
@@ -945,143 +945,143 @@ discard block |
||
| 945 | 945 | function wpinv_get_registered_settings_sections() { |
| 946 | 946 | static $sections = false; |
| 947 | 947 | |
| 948 | - if ( false !== $sections ) { |
|
| 948 | + if (false !== $sections) { |
|
| 949 | 949 | return $sections; |
| 950 | 950 | } |
| 951 | 951 | |
| 952 | 952 | $sections = array( |
| 953 | - 'general' => apply_filters( 'wpinv_settings_sections_general', array( |
|
| 954 | - 'main' => __( 'General Settings', 'invoicing' ), |
|
| 955 | - 'currency_section' => __( 'Currency Settings', 'invoicing' ), |
|
| 956 | - 'labels' => __( 'Label Texts', 'invoicing' ), |
|
| 957 | - ) ), |
|
| 958 | - 'gateways' => apply_filters( 'wpinv_settings_sections_gateways', array( |
|
| 959 | - 'main' => __( 'Gateway Settings', 'invoicing' ), |
|
| 960 | - ) ), |
|
| 961 | - 'taxes' => apply_filters( 'wpinv_settings_sections_taxes', array( |
|
| 962 | - 'main' => __( 'Tax Settings', 'invoicing' ), |
|
| 963 | - 'rates' => __( 'Tax Rates', 'invoicing' ), |
|
| 964 | - ) ), |
|
| 965 | - 'emails' => apply_filters( 'wpinv_settings_sections_emails', array( |
|
| 966 | - 'main' => __( 'Email Settings', 'invoicing' ), |
|
| 967 | - ) ), |
|
| 968 | - 'privacy' => apply_filters( 'wpinv_settings_sections_privacy', array( |
|
| 969 | - 'main' => __( 'Privacy policy', 'invoicing' ), |
|
| 970 | - ) ), |
|
| 971 | - 'misc' => apply_filters( 'wpinv_settings_sections_misc', array( |
|
| 972 | - 'main' => __( 'Miscellaneous', 'invoicing' ), |
|
| 973 | - 'fields' => __( 'Fields Settings', 'invoicing' ), |
|
| 974 | - 'custom-css' => __( 'Custom CSS', 'invoicing' ), |
|
| 975 | - ) ), |
|
| 976 | - 'tools' => apply_filters( 'wpinv_settings_sections_tools', array( |
|
| 977 | - 'main' => __( 'Diagnostic Tools', 'invoicing' ), |
|
| 978 | - ) ), |
|
| 953 | + 'general' => apply_filters('wpinv_settings_sections_general', array( |
|
| 954 | + 'main' => __('General Settings', 'invoicing'), |
|
| 955 | + 'currency_section' => __('Currency Settings', 'invoicing'), |
|
| 956 | + 'labels' => __('Label Texts', 'invoicing'), |
|
| 957 | + )), |
|
| 958 | + 'gateways' => apply_filters('wpinv_settings_sections_gateways', array( |
|
| 959 | + 'main' => __('Gateway Settings', 'invoicing'), |
|
| 960 | + )), |
|
| 961 | + 'taxes' => apply_filters('wpinv_settings_sections_taxes', array( |
|
| 962 | + 'main' => __('Tax Settings', 'invoicing'), |
|
| 963 | + 'rates' => __('Tax Rates', 'invoicing'), |
|
| 964 | + )), |
|
| 965 | + 'emails' => apply_filters('wpinv_settings_sections_emails', array( |
|
| 966 | + 'main' => __('Email Settings', 'invoicing'), |
|
| 967 | + )), |
|
| 968 | + 'privacy' => apply_filters('wpinv_settings_sections_privacy', array( |
|
| 969 | + 'main' => __('Privacy policy', 'invoicing'), |
|
| 970 | + )), |
|
| 971 | + 'misc' => apply_filters('wpinv_settings_sections_misc', array( |
|
| 972 | + 'main' => __('Miscellaneous', 'invoicing'), |
|
| 973 | + 'fields' => __('Fields Settings', 'invoicing'), |
|
| 974 | + 'custom-css' => __('Custom CSS', 'invoicing'), |
|
| 975 | + )), |
|
| 976 | + 'tools' => apply_filters('wpinv_settings_sections_tools', array( |
|
| 977 | + 'main' => __('Diagnostic Tools', 'invoicing'), |
|
| 978 | + )), |
|
| 979 | 979 | ); |
| 980 | 980 | |
| 981 | - $sections = apply_filters( 'wpinv_settings_sections', $sections ); |
|
| 981 | + $sections = apply_filters('wpinv_settings_sections', $sections); |
|
| 982 | 982 | |
| 983 | 983 | return $sections; |
| 984 | 984 | } |
| 985 | 985 | |
| 986 | -function wpinv_get_pages( $with_slug = false, $default_label = NULL ) { |
|
| 986 | +function wpinv_get_pages($with_slug = false, $default_label = NULL) { |
|
| 987 | 987 | $pages_options = array(); |
| 988 | 988 | |
| 989 | - if( $default_label !== NULL && $default_label !== false ) { |
|
| 990 | - $pages_options = array( '' => $default_label ); // Blank option |
|
| 989 | + if ($default_label !== NULL && $default_label !== false) { |
|
| 990 | + $pages_options = array('' => $default_label); // Blank option |
|
| 991 | 991 | } |
| 992 | 992 | |
| 993 | 993 | $pages = get_pages(); |
| 994 | - if ( $pages ) { |
|
| 995 | - foreach ( $pages as $page ) { |
|
| 994 | + if ($pages) { |
|
| 995 | + foreach ($pages as $page) { |
|
| 996 | 996 | $title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title; |
| 997 | - $pages_options[ $page->ID ] = $title; |
|
| 997 | + $pages_options[$page->ID] = $title; |
|
| 998 | 998 | } |
| 999 | 999 | } |
| 1000 | 1000 | |
| 1001 | 1001 | return $pages_options; |
| 1002 | 1002 | } |
| 1003 | 1003 | |
| 1004 | -function wpinv_header_callback( $args ) { |
|
| 1005 | - if ( !empty( $args['desc'] ) ) { |
|
| 1004 | +function wpinv_header_callback($args) { |
|
| 1005 | + if (!empty($args['desc'])) { |
|
| 1006 | 1006 | echo $args['desc']; |
| 1007 | 1007 | } |
| 1008 | 1008 | } |
| 1009 | 1009 | |
| 1010 | -function wpinv_hidden_callback( $args ) { |
|
| 1010 | +function wpinv_hidden_callback($args) { |
|
| 1011 | 1011 | global $wpinv_options; |
| 1012 | 1012 | |
| 1013 | - if ( isset( $args['set_value'] ) ) { |
|
| 1013 | + if (isset($args['set_value'])) { |
|
| 1014 | 1014 | $value = $args['set_value']; |
| 1015 | - } elseif ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1016 | - $value = $wpinv_options[ $args['id'] ]; |
|
| 1015 | + } elseif (isset($wpinv_options[$args['id']])) { |
|
| 1016 | + $value = $wpinv_options[$args['id']]; |
|
| 1017 | 1017 | } else { |
| 1018 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1018 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
| 1019 | 1019 | } |
| 1020 | 1020 | |
| 1021 | - if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
| 1021 | + if (isset($args['faux']) && true === $args['faux']) { |
|
| 1022 | 1022 | $args['readonly'] = true; |
| 1023 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1023 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
| 1024 | 1024 | $name = ''; |
| 1025 | 1025 | } else { |
| 1026 | - $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"'; |
|
| 1026 | + $name = 'name="wpinv_settings[' . esc_attr($args['id']) . ']"'; |
|
| 1027 | 1027 | } |
| 1028 | 1028 | |
| 1029 | - $html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key( $args['id'] ) . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '" />'; |
|
| 1029 | + $html = '<input type="hidden" id="wpinv_settings[' . wpinv_sanitize_key($args['id']) . ']" ' . $name . ' value="' . esc_attr(stripslashes($value)) . '" />'; |
|
| 1030 | 1030 | |
| 1031 | 1031 | echo $html; |
| 1032 | 1032 | } |
| 1033 | 1033 | |
| 1034 | -function wpinv_checkbox_callback( $args ) { |
|
| 1034 | +function wpinv_checkbox_callback($args) { |
|
| 1035 | 1035 | global $wpinv_options; |
| 1036 | 1036 | |
| 1037 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
| 1037 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
| 1038 | 1038 | |
| 1039 | - if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
| 1039 | + if (isset($args['faux']) && true === $args['faux']) { |
|
| 1040 | 1040 | $name = ''; |
| 1041 | 1041 | } else { |
| 1042 | 1042 | $name = 'name="wpinv_settings[' . $sanitize_id . ']"'; |
| 1043 | 1043 | } |
| 1044 | 1044 | |
| 1045 | - $checked = isset( $wpinv_options[ $args['id'] ] ) ? checked( 1, $wpinv_options[ $args['id'] ], false ) : ''; |
|
| 1045 | + $checked = isset($wpinv_options[$args['id']]) ? checked(1, $wpinv_options[$args['id']], false) : ''; |
|
| 1046 | 1046 | $html = '<input type="checkbox" id="wpinv_settings[' . $sanitize_id . ']"' . $name . ' value="1" ' . $checked . '/>'; |
| 1047 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1047 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
| 1048 | 1048 | |
| 1049 | 1049 | echo $html; |
| 1050 | 1050 | } |
| 1051 | 1051 | |
| 1052 | -function wpinv_multicheck_callback( $args ) { |
|
| 1052 | +function wpinv_multicheck_callback($args) { |
|
| 1053 | 1053 | global $wpinv_options; |
| 1054 | 1054 | |
| 1055 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
| 1056 | - $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
|
| 1055 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
| 1056 | + $class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : ''; |
|
| 1057 | 1057 | |
| 1058 | - if ( ! empty( $args['options'] ) ) { |
|
| 1058 | + if (!empty($args['options'])) { |
|
| 1059 | 1059 | echo '<div class="wpi-mcheck-rows wpi-mcheck-' . $sanitize_id . $class . '">'; |
| 1060 | - foreach( $args['options'] as $key => $option ): |
|
| 1061 | - $sanitize_key = wpinv_sanitize_key( $key ); |
|
| 1062 | - if ( isset( $wpinv_options[$args['id']][$sanitize_key] ) ) { |
|
| 1060 | + foreach ($args['options'] as $key => $option): |
|
| 1061 | + $sanitize_key = wpinv_sanitize_key($key); |
|
| 1062 | + if (isset($wpinv_options[$args['id']][$sanitize_key])) { |
|
| 1063 | 1063 | $enabled = $sanitize_key; |
| 1064 | 1064 | } else { |
| 1065 | 1065 | $enabled = NULL; |
| 1066 | 1066 | } |
| 1067 | - echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/> '; |
|
| 1068 | - echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post( $option ) . '</label></div>'; |
|
| 1067 | + echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr($sanitize_key) . '" ' . checked($sanitize_key, $enabled, false) . '/> '; |
|
| 1068 | + echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . wp_kses_post($option) . '</label></div>'; |
|
| 1069 | 1069 | endforeach; |
| 1070 | 1070 | echo '</div>'; |
| 1071 | 1071 | echo '<p class="description">' . $args['desc'] . '</p>'; |
| 1072 | 1072 | } |
| 1073 | 1073 | } |
| 1074 | 1074 | |
| 1075 | -function wpinv_payment_icons_callback( $args ) { |
|
| 1075 | +function wpinv_payment_icons_callback($args) { |
|
| 1076 | 1076 | global $wpinv_options; |
| 1077 | 1077 | |
| 1078 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
| 1078 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
| 1079 | 1079 | |
| 1080 | - if ( ! empty( $args['options'] ) ) { |
|
| 1081 | - foreach( $args['options'] as $key => $option ) { |
|
| 1082 | - $sanitize_key = wpinv_sanitize_key( $key ); |
|
| 1080 | + if (!empty($args['options'])) { |
|
| 1081 | + foreach ($args['options'] as $key => $option) { |
|
| 1082 | + $sanitize_key = wpinv_sanitize_key($key); |
|
| 1083 | 1083 | |
| 1084 | - if( isset( $wpinv_options[$args['id']][$key] ) ) { |
|
| 1084 | + if (isset($wpinv_options[$args['id']][$key])) { |
|
| 1085 | 1085 | $enabled = $option; |
| 1086 | 1086 | } else { |
| 1087 | 1087 | $enabled = NULL; |
@@ -1089,197 +1089,197 @@ discard block |
||
| 1089 | 1089 | |
| 1090 | 1090 | echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">'; |
| 1091 | 1091 | |
| 1092 | - echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/> '; |
|
| 1092 | + echo '<input name="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="' . esc_attr($option) . '" ' . checked($option, $enabled, false) . '/> '; |
|
| 1093 | 1093 | |
| 1094 | - if ( wpinv_string_is_image_url( $key ) ) { |
|
| 1095 | - echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
| 1094 | + if (wpinv_string_is_image_url($key)) { |
|
| 1095 | + echo '<img class="payment-icon" src="' . esc_url($key) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
| 1096 | 1096 | } else { |
| 1097 | - $card = strtolower( str_replace( ' ', '', $option ) ); |
|
| 1097 | + $card = strtolower(str_replace(' ', '', $option)); |
|
| 1098 | 1098 | |
| 1099 | - if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) { |
|
| 1100 | - $image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' ); |
|
| 1099 | + if (has_filter('wpinv_accepted_payment_' . $card . '_image')) { |
|
| 1100 | + $image = apply_filters('wpinv_accepted_payment_' . $card . '_image', ''); |
|
| 1101 | 1101 | } else { |
| 1102 | - $image = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false ); |
|
| 1102 | + $image = wpinv_locate_template('images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false); |
|
| 1103 | 1103 | $content_dir = WP_CONTENT_DIR; |
| 1104 | 1104 | |
| 1105 | - if ( function_exists( 'wp_normalize_path' ) ) { |
|
| 1105 | + if (function_exists('wp_normalize_path')) { |
|
| 1106 | 1106 | // Replaces backslashes with forward slashes for Windows systems |
| 1107 | - $image = wp_normalize_path( $image ); |
|
| 1108 | - $content_dir = wp_normalize_path( $content_dir ); |
|
| 1107 | + $image = wp_normalize_path($image); |
|
| 1108 | + $content_dir = wp_normalize_path($content_dir); |
|
| 1109 | 1109 | } |
| 1110 | 1110 | |
| 1111 | - $image = str_replace( $content_dir, content_url(), $image ); |
|
| 1111 | + $image = str_replace($content_dir, content_url(), $image); |
|
| 1112 | 1112 | } |
| 1113 | 1113 | |
| 1114 | - echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
| 1114 | + echo '<img class="payment-icon" src="' . esc_url($image) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>'; |
|
| 1115 | 1115 | } |
| 1116 | 1116 | echo $option . '</label>'; |
| 1117 | 1117 | } |
| 1118 | - echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
| 1118 | + echo '<p class="description" style="margin-top:16px;">' . wp_kses_post($args['desc']) . '</p>'; |
|
| 1119 | 1119 | } |
| 1120 | 1120 | } |
| 1121 | 1121 | |
| 1122 | -function wpinv_radio_callback( $args ) { |
|
| 1122 | +function wpinv_radio_callback($args) { |
|
| 1123 | 1123 | global $wpinv_options; |
| 1124 | 1124 | |
| 1125 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
| 1125 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
| 1126 | 1126 | |
| 1127 | - foreach ( $args['options'] as $key => $option ) : |
|
| 1128 | - $sanitize_key = wpinv_sanitize_key( $key ); |
|
| 1127 | + foreach ($args['options'] as $key => $option) : |
|
| 1128 | + $sanitize_key = wpinv_sanitize_key($key); |
|
| 1129 | 1129 | |
| 1130 | 1130 | $checked = false; |
| 1131 | 1131 | |
| 1132 | - if ( isset( $wpinv_options[ $args['id'] ] ) && $wpinv_options[ $args['id'] ] == $key ) |
|
| 1132 | + if (isset($wpinv_options[$args['id']]) && $wpinv_options[$args['id']] == $key) |
|
| 1133 | 1133 | $checked = true; |
| 1134 | - elseif( isset( $args['std'] ) && $args['std'] == $key && ! isset( $wpinv_options[ $args['id'] ] ) ) |
|
| 1134 | + elseif (isset($args['std']) && $args['std'] == $key && !isset($wpinv_options[$args['id']])) |
|
| 1135 | 1135 | $checked = true; |
| 1136 | 1136 | |
| 1137 | 1137 | echo '<input name="wpinv_settings[' . $sanitize_id . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="radio" value="' . $sanitize_key . '" ' . checked(true, $checked, false) . '/> '; |
| 1138 | - echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option ) . '</label><br/>'; |
|
| 1138 | + echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html($option) . '</label><br/>'; |
|
| 1139 | 1139 | endforeach; |
| 1140 | 1140 | |
| 1141 | - echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>'; |
|
| 1141 | + echo '<p class="description">' . wp_kses_post($args['desc']) . '</p>'; |
|
| 1142 | 1142 | } |
| 1143 | 1143 | |
| 1144 | -function wpinv_gateways_callback( $args ) { |
|
| 1144 | +function wpinv_gateways_callback($args) { |
|
| 1145 | 1145 | global $wpinv_options; |
| 1146 | 1146 | |
| 1147 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
| 1147 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
| 1148 | 1148 | |
| 1149 | - foreach ( $args['options'] as $key => $option ) : |
|
| 1150 | - $sanitize_key = wpinv_sanitize_key( $key ); |
|
| 1149 | + foreach ($args['options'] as $key => $option) : |
|
| 1150 | + $sanitize_key = wpinv_sanitize_key($key); |
|
| 1151 | 1151 | |
| 1152 | - if ( isset( $wpinv_options['gateways'][ $key ] ) ) |
|
| 1152 | + if (isset($wpinv_options['gateways'][$key])) |
|
| 1153 | 1153 | $enabled = '1'; |
| 1154 | 1154 | else |
| 1155 | 1155 | $enabled = null; |
| 1156 | 1156 | |
| 1157 | - echo '<input name="wpinv_settings[' . esc_attr( $args['id'] ) . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="1" ' . checked('1', $enabled, false) . '/> '; |
|
| 1158 | - echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html( $option['admin_label'] ) . '</label><br/>'; |
|
| 1157 | + echo '<input name="wpinv_settings[' . esc_attr($args['id']) . '][' . $sanitize_key . ']" id="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']" type="checkbox" value="1" ' . checked('1', $enabled, false) . '/> '; |
|
| 1158 | + echo '<label for="wpinv_settings[' . $sanitize_id . '][' . $sanitize_key . ']">' . esc_html($option['admin_label']) . '</label><br/>'; |
|
| 1159 | 1159 | endforeach; |
| 1160 | 1160 | } |
| 1161 | 1161 | |
| 1162 | 1162 | function wpinv_gateway_select_callback($args) { |
| 1163 | 1163 | global $wpinv_options; |
| 1164 | 1164 | |
| 1165 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
| 1166 | - $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
|
| 1165 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
| 1166 | + $class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : ''; |
|
| 1167 | 1167 | |
| 1168 | - echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" >'; |
|
| 1168 | + echo '<select name="wpinv_settings[' . $sanitize_id . ']"" id="wpinv_settings[' . $sanitize_id . ']" class="' . $class . '" >'; |
|
| 1169 | 1169 | |
| 1170 | - foreach ( $args['options'] as $key => $option ) : |
|
| 1171 | - if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) { |
|
| 1172 | - $selected = selected( $key, $args['selected'], false ); |
|
| 1170 | + foreach ($args['options'] as $key => $option) : |
|
| 1171 | + if (isset($args['selected']) && $args['selected'] !== null && $args['selected'] !== false) { |
|
| 1172 | + $selected = selected($key, $args['selected'], false); |
|
| 1173 | 1173 | } else { |
| 1174 | - $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $key, $wpinv_options[$args['id']], false ) : ''; |
|
| 1174 | + $selected = isset($wpinv_options[$args['id']]) ? selected($key, $wpinv_options[$args['id']], false) : ''; |
|
| 1175 | 1175 | } |
| 1176 | - echo '<option value="' . wpinv_sanitize_key( $key ) . '"' . $selected . '>' . esc_html( $option['admin_label'] ) . '</option>'; |
|
| 1176 | + echo '<option value="' . wpinv_sanitize_key($key) . '"' . $selected . '>' . esc_html($option['admin_label']) . '</option>'; |
|
| 1177 | 1177 | endforeach; |
| 1178 | 1178 | |
| 1179 | 1179 | echo '</select>'; |
| 1180 | - echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1180 | + echo '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
| 1181 | 1181 | } |
| 1182 | 1182 | |
| 1183 | -function wpinv_text_callback( $args ) { |
|
| 1183 | +function wpinv_text_callback($args) { |
|
| 1184 | 1184 | global $wpinv_options; |
| 1185 | 1185 | |
| 1186 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
| 1186 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
| 1187 | 1187 | |
| 1188 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1189 | - $value = $wpinv_options[ $args['id'] ]; |
|
| 1188 | + if (isset($wpinv_options[$args['id']])) { |
|
| 1189 | + $value = $wpinv_options[$args['id']]; |
|
| 1190 | 1190 | } else { |
| 1191 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1191 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
| 1192 | 1192 | } |
| 1193 | 1193 | |
| 1194 | - if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
| 1194 | + if (isset($args['faux']) && true === $args['faux']) { |
|
| 1195 | 1195 | $args['readonly'] = true; |
| 1196 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1196 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
| 1197 | 1197 | $name = ''; |
| 1198 | 1198 | } else { |
| 1199 | - $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"'; |
|
| 1199 | + $name = 'name="wpinv_settings[' . esc_attr($args['id']) . ']"'; |
|
| 1200 | 1200 | } |
| 1201 | - $class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : ''; |
|
| 1201 | + $class = !empty($args['class']) ? sanitize_html_class($args['class']) : ''; |
|
| 1202 | 1202 | |
| 1203 | 1203 | $readonly = $args['readonly'] === true ? ' readonly="readonly"' : ''; |
| 1204 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
| 1205 | - $html = '<input type="text" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"' . $readonly . '/>'; |
|
| 1206 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1204 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular'; |
|
| 1205 | + $html = '<input type="text" class="' . sanitize_html_class($size) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr(stripslashes($value)) . '"' . $readonly . '/>'; |
|
| 1206 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
| 1207 | 1207 | |
| 1208 | 1208 | echo $html; |
| 1209 | 1209 | } |
| 1210 | 1210 | |
| 1211 | -function wpinv_number_callback( $args ) { |
|
| 1211 | +function wpinv_number_callback($args) { |
|
| 1212 | 1212 | global $wpinv_options; |
| 1213 | 1213 | |
| 1214 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
| 1214 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
| 1215 | 1215 | |
| 1216 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1217 | - $value = $wpinv_options[ $args['id'] ]; |
|
| 1216 | + if (isset($wpinv_options[$args['id']])) { |
|
| 1217 | + $value = $wpinv_options[$args['id']]; |
|
| 1218 | 1218 | } else { |
| 1219 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1219 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
| 1220 | 1220 | } |
| 1221 | 1221 | |
| 1222 | - if ( isset( $args['faux'] ) && true === $args['faux'] ) { |
|
| 1222 | + if (isset($args['faux']) && true === $args['faux']) { |
|
| 1223 | 1223 | $args['readonly'] = true; |
| 1224 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1224 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
| 1225 | 1225 | $name = ''; |
| 1226 | 1226 | } else { |
| 1227 | - $name = 'name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"'; |
|
| 1227 | + $name = 'name="wpinv_settings[' . esc_attr($args['id']) . ']"'; |
|
| 1228 | 1228 | } |
| 1229 | 1229 | |
| 1230 | - $max = isset( $args['max'] ) ? $args['max'] : 999999; |
|
| 1231 | - $min = isset( $args['min'] ) ? $args['min'] : 0; |
|
| 1232 | - $step = isset( $args['step'] ) ? $args['step'] : 1; |
|
| 1233 | - $class = !empty( $args['class'] ) ? sanitize_html_class( $args['class'] ) : ''; |
|
| 1230 | + $max = isset($args['max']) ? $args['max'] : 999999; |
|
| 1231 | + $min = isset($args['min']) ? $args['min'] : 0; |
|
| 1232 | + $step = isset($args['step']) ? $args['step'] : 1; |
|
| 1233 | + $class = !empty($args['class']) ? sanitize_html_class($args['class']) : ''; |
|
| 1234 | 1234 | |
| 1235 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
| 1236 | - $html = '<input type="number" step="' . esc_attr( $step ) . '" max="' . esc_attr( $max ) . '" min="' . esc_attr( $min ) . '" class="' . sanitize_html_class( $size ) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr( stripslashes( $value ) ) . '"/>'; |
|
| 1237 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1235 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular'; |
|
| 1236 | + $html = '<input type="number" step="' . esc_attr($step) . '" max="' . esc_attr($max) . '" min="' . esc_attr($min) . '" class="' . sanitize_html_class($size) . '-text ' . $class . '" id="wpinv_settings[' . $sanitize_id . ']" ' . $name . ' value="' . esc_attr(stripslashes($value)) . '"/>'; |
|
| 1237 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
| 1238 | 1238 | |
| 1239 | 1239 | echo $html; |
| 1240 | 1240 | } |
| 1241 | 1241 | |
| 1242 | -function wpinv_textarea_callback( $args ) { |
|
| 1242 | +function wpinv_textarea_callback($args) { |
|
| 1243 | 1243 | global $wpinv_options; |
| 1244 | 1244 | |
| 1245 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
| 1245 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
| 1246 | 1246 | |
| 1247 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1248 | - $value = $wpinv_options[ $args['id'] ]; |
|
| 1247 | + if (isset($wpinv_options[$args['id']])) { |
|
| 1248 | + $value = $wpinv_options[$args['id']]; |
|
| 1249 | 1249 | } else { |
| 1250 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1250 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
| 1251 | 1251 | } |
| 1252 | 1252 | |
| 1253 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
| 1254 | - $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text'; |
|
| 1253 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular'; |
|
| 1254 | + $class = (isset($args['class']) && !is_null($args['class'])) ? $args['class'] : 'large-text'; |
|
| 1255 | 1255 | |
| 1256 | - $html = '<textarea class="' . sanitize_html_class( $class ) . ' txtarea-' . sanitize_html_class( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>'; |
|
| 1257 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1256 | + $html = '<textarea class="' . sanitize_html_class($class) . ' txtarea-' . sanitize_html_class($size) . ' wpi-' . esc_attr(sanitize_html_class($sanitize_id)) . ' " cols="' . $args['cols'] . '" rows="' . $args['rows'] . '" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']">' . esc_textarea(stripslashes($value)) . '</textarea>'; |
|
| 1257 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
| 1258 | 1258 | |
| 1259 | 1259 | echo $html; |
| 1260 | 1260 | } |
| 1261 | 1261 | |
| 1262 | -function wpinv_password_callback( $args ) { |
|
| 1262 | +function wpinv_password_callback($args) { |
|
| 1263 | 1263 | global $wpinv_options; |
| 1264 | 1264 | |
| 1265 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
| 1265 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
| 1266 | 1266 | |
| 1267 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1268 | - $value = $wpinv_options[ $args['id'] ]; |
|
| 1267 | + if (isset($wpinv_options[$args['id']])) { |
|
| 1268 | + $value = $wpinv_options[$args['id']]; |
|
| 1269 | 1269 | } else { |
| 1270 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1270 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
| 1271 | 1271 | } |
| 1272 | 1272 | |
| 1273 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
| 1274 | - $html = '<input type="password" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>'; |
|
| 1275 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1273 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular'; |
|
| 1274 | + $html = '<input type="password" class="' . sanitize_html_class($size) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr($value) . '"/>'; |
|
| 1275 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
| 1276 | 1276 | |
| 1277 | 1277 | echo $html; |
| 1278 | 1278 | } |
| 1279 | 1279 | |
| 1280 | 1280 | function wpinv_missing_callback($args) { |
| 1281 | 1281 | printf( |
| 1282 | - __( 'The callback function used for the %s setting is missing.', 'invoicing' ), |
|
| 1282 | + __('The callback function used for the %s setting is missing.', 'invoicing'), |
|
| 1283 | 1283 | '<strong>' . $args['id'] . '</strong>' |
| 1284 | 1284 | ); |
| 1285 | 1285 | } |
@@ -1287,133 +1287,133 @@ discard block |
||
| 1287 | 1287 | function wpinv_select_callback($args) { |
| 1288 | 1288 | global $wpinv_options; |
| 1289 | 1289 | |
| 1290 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
| 1290 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
| 1291 | 1291 | |
| 1292 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1293 | - $value = $wpinv_options[ $args['id'] ]; |
|
| 1292 | + if (isset($wpinv_options[$args['id']])) { |
|
| 1293 | + $value = $wpinv_options[$args['id']]; |
|
| 1294 | 1294 | } else { |
| 1295 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1295 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
| 1296 | 1296 | } |
| 1297 | 1297 | |
| 1298 | - if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) { |
|
| 1298 | + if (isset($args['selected']) && $args['selected'] !== null && $args['selected'] !== false) { |
|
| 1299 | 1299 | $value = $args['selected']; |
| 1300 | 1300 | } |
| 1301 | 1301 | |
| 1302 | - if ( isset( $args['placeholder'] ) ) { |
|
| 1302 | + if (isset($args['placeholder'])) { |
|
| 1303 | 1303 | $placeholder = $args['placeholder']; |
| 1304 | 1304 | } else { |
| 1305 | 1305 | $placeholder = ''; |
| 1306 | 1306 | } |
| 1307 | 1307 | |
| 1308 | - if( !empty( $args['onchange'] ) ) { |
|
| 1309 | - $onchange = ' onchange="' . esc_attr( $args['onchange'] ) . '"'; |
|
| 1308 | + if (!empty($args['onchange'])) { |
|
| 1309 | + $onchange = ' onchange="' . esc_attr($args['onchange']) . '"'; |
|
| 1310 | 1310 | } else { |
| 1311 | 1311 | $onchange = ''; |
| 1312 | 1312 | } |
| 1313 | 1313 | |
| 1314 | - $class = !empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : ''; |
|
| 1314 | + $class = !empty($args['class']) ? ' ' . esc_attr($args['class']) : ''; |
|
| 1315 | 1315 | |
| 1316 | - $html = '<select id="wpinv_settings[' . $sanitize_id . ']" class="'.$class.'" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" data-placeholder="' . esc_html( $placeholder ) . '"' . $onchange . ' />'; |
|
| 1316 | + $html = '<select id="wpinv_settings[' . $sanitize_id . ']" class="' . $class . '" name="wpinv_settings[' . esc_attr($args['id']) . ']" data-placeholder="' . esc_html($placeholder) . '"' . $onchange . ' />'; |
|
| 1317 | 1317 | |
| 1318 | - foreach ( $args['options'] as $option => $name ) { |
|
| 1319 | - $selected = selected( $option, $value, false ); |
|
| 1320 | - $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>'; |
|
| 1318 | + foreach ($args['options'] as $option => $name) { |
|
| 1319 | + $selected = selected($option, $value, false); |
|
| 1320 | + $html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($name) . '</option>'; |
|
| 1321 | 1321 | } |
| 1322 | 1322 | |
| 1323 | 1323 | $html .= '</select>'; |
| 1324 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1324 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
| 1325 | 1325 | |
| 1326 | 1326 | echo $html; |
| 1327 | 1327 | } |
| 1328 | 1328 | |
| 1329 | -function wpinv_color_select_callback( $args ) { |
|
| 1329 | +function wpinv_color_select_callback($args) { |
|
| 1330 | 1330 | global $wpinv_options; |
| 1331 | 1331 | |
| 1332 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
| 1332 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
| 1333 | 1333 | |
| 1334 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1335 | - $value = $wpinv_options[ $args['id'] ]; |
|
| 1334 | + if (isset($wpinv_options[$args['id']])) { |
|
| 1335 | + $value = $wpinv_options[$args['id']]; |
|
| 1336 | 1336 | } else { |
| 1337 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1337 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
| 1338 | 1338 | } |
| 1339 | 1339 | |
| 1340 | - $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>'; |
|
| 1340 | + $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']"/>'; |
|
| 1341 | 1341 | |
| 1342 | - foreach ( $args['options'] as $option => $color ) { |
|
| 1343 | - $selected = selected( $option, $value, false ); |
|
| 1344 | - $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $color['label'] ) . '</option>'; |
|
| 1342 | + foreach ($args['options'] as $option => $color) { |
|
| 1343 | + $selected = selected($option, $value, false); |
|
| 1344 | + $html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($color['label']) . '</option>'; |
|
| 1345 | 1345 | } |
| 1346 | 1346 | |
| 1347 | 1347 | $html .= '</select>'; |
| 1348 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1348 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
| 1349 | 1349 | |
| 1350 | 1350 | echo $html; |
| 1351 | 1351 | } |
| 1352 | 1352 | |
| 1353 | -function wpinv_rich_editor_callback( $args ) { |
|
| 1353 | +function wpinv_rich_editor_callback($args) { |
|
| 1354 | 1354 | global $wpinv_options, $wp_version; |
| 1355 | 1355 | |
| 1356 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
| 1356 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
| 1357 | 1357 | |
| 1358 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1359 | - $value = $wpinv_options[ $args['id'] ]; |
|
| 1358 | + if (isset($wpinv_options[$args['id']])) { |
|
| 1359 | + $value = $wpinv_options[$args['id']]; |
|
| 1360 | 1360 | |
| 1361 | - if( empty( $args['allow_blank'] ) && empty( $value ) ) { |
|
| 1362 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1361 | + if (empty($args['allow_blank']) && empty($value)) { |
|
| 1362 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
| 1363 | 1363 | } |
| 1364 | 1364 | } else { |
| 1365 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1365 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
| 1366 | 1366 | } |
| 1367 | 1367 | |
| 1368 | - $rows = isset( $args['size'] ) ? $args['size'] : 20; |
|
| 1368 | + $rows = isset($args['size']) ? $args['size'] : 20; |
|
| 1369 | 1369 | |
| 1370 | - if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) { |
|
| 1370 | + if ($wp_version >= 3.3 && function_exists('wp_editor')) { |
|
| 1371 | 1371 | ob_start(); |
| 1372 | - wp_editor( stripslashes( $value ), 'wpinv_settings_' . esc_attr( $args['id'] ), array( 'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']', 'textarea_rows' => absint( $rows ), 'media_buttons' => false ) ); |
|
| 1372 | + wp_editor(stripslashes($value), 'wpinv_settings_' . esc_attr($args['id']), array('textarea_name' => 'wpinv_settings[' . esc_attr($args['id']) . ']', 'textarea_rows' => absint($rows), 'media_buttons' => false)); |
|
| 1373 | 1373 | $html = ob_get_clean(); |
| 1374 | 1374 | } else { |
| 1375 | - $html = '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>'; |
|
| 1375 | + $html = '<textarea class="large-text" rows="10" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" class="wpi-' . esc_attr(sanitize_html_class($args['id'])) . '">' . esc_textarea(stripslashes($value)) . '</textarea>'; |
|
| 1376 | 1376 | } |
| 1377 | 1377 | |
| 1378 | - $html .= '<br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1378 | + $html .= '<br/><label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
| 1379 | 1379 | |
| 1380 | 1380 | echo $html; |
| 1381 | 1381 | } |
| 1382 | 1382 | |
| 1383 | -function wpinv_upload_callback( $args ) { |
|
| 1383 | +function wpinv_upload_callback($args) { |
|
| 1384 | 1384 | global $wpinv_options; |
| 1385 | 1385 | |
| 1386 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
| 1386 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
| 1387 | 1387 | |
| 1388 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1388 | + if (isset($wpinv_options[$args['id']])) { |
|
| 1389 | 1389 | $value = $wpinv_options[$args['id']]; |
| 1390 | 1390 | } else { |
| 1391 | 1391 | $value = isset($args['std']) ? $args['std'] : ''; |
| 1392 | 1392 | } |
| 1393 | 1393 | |
| 1394 | - $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular'; |
|
| 1395 | - $html = '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>'; |
|
| 1396 | - $html .= '<span> <input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __( 'Upload File', 'invoicing' ) . '"/></span>'; |
|
| 1397 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1394 | + $size = (isset($args['size']) && !is_null($args['size'])) ? $args['size'] : 'regular'; |
|
| 1395 | + $html = '<input type="text" class="' . sanitize_html_class($size) . '-text" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr(stripslashes($value)) . '"/>'; |
|
| 1396 | + $html .= '<span> <input type="button" class="wpinv_settings_upload_button button-secondary" value="' . __('Upload File', 'invoicing') . '"/></span>'; |
|
| 1397 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
| 1398 | 1398 | |
| 1399 | 1399 | echo $html; |
| 1400 | 1400 | } |
| 1401 | 1401 | |
| 1402 | -function wpinv_color_callback( $args ) { |
|
| 1402 | +function wpinv_color_callback($args) { |
|
| 1403 | 1403 | global $wpinv_options; |
| 1404 | 1404 | |
| 1405 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
| 1405 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
| 1406 | 1406 | |
| 1407 | - if ( isset( $wpinv_options[ $args['id'] ] ) ) { |
|
| 1408 | - $value = $wpinv_options[ $args['id'] ]; |
|
| 1407 | + if (isset($wpinv_options[$args['id']])) { |
|
| 1408 | + $value = $wpinv_options[$args['id']]; |
|
| 1409 | 1409 | } else { |
| 1410 | - $value = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1410 | + $value = isset($args['std']) ? $args['std'] : ''; |
|
| 1411 | 1411 | } |
| 1412 | 1412 | |
| 1413 | - $default = isset( $args['std'] ) ? $args['std'] : ''; |
|
| 1413 | + $default = isset($args['std']) ? $args['std'] : ''; |
|
| 1414 | 1414 | |
| 1415 | - $html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $default ) . '" />'; |
|
| 1416 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1415 | + $html = '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']" value="' . esc_attr($value) . '" data-default-color="' . esc_attr($default) . '" />'; |
|
| 1416 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
| 1417 | 1417 | |
| 1418 | 1418 | echo $html; |
| 1419 | 1419 | } |
@@ -1421,9 +1421,9 @@ discard block |
||
| 1421 | 1421 | function wpinv_country_states_callback($args) { |
| 1422 | 1422 | global $wpinv_options; |
| 1423 | 1423 | |
| 1424 | - $sanitize_id = wpinv_sanitize_key( $args['id'] ); |
|
| 1424 | + $sanitize_id = wpinv_sanitize_key($args['id']); |
|
| 1425 | 1425 | |
| 1426 | - if ( isset( $args['placeholder'] ) ) { |
|
| 1426 | + if (isset($args['placeholder'])) { |
|
| 1427 | 1427 | $placeholder = $args['placeholder']; |
| 1428 | 1428 | } else { |
| 1429 | 1429 | $placeholder = ''; |
@@ -1431,16 +1431,16 @@ discard block |
||
| 1431 | 1431 | |
| 1432 | 1432 | $states = wpinv_get_country_states(); |
| 1433 | 1433 | |
| 1434 | - $class = empty( $states ) ? ' class="wpinv-no-states"' : ' class="wpi_select2"'; |
|
| 1435 | - $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"' . $class . 'data-placeholder="' . esc_html( $placeholder ) . '"/>'; |
|
| 1434 | + $class = empty($states) ? ' class="wpinv-no-states"' : ' class="wpi_select2"'; |
|
| 1435 | + $html = '<select id="wpinv_settings[' . $sanitize_id . ']" name="wpinv_settings[' . esc_attr($args['id']) . ']"' . $class . 'data-placeholder="' . esc_html($placeholder) . '"/>'; |
|
| 1436 | 1436 | |
| 1437 | - foreach ( $states as $option => $name ) { |
|
| 1438 | - $selected = isset( $wpinv_options[ $args['id'] ] ) ? selected( $option, $wpinv_options[$args['id']], false ) : ''; |
|
| 1439 | - $html .= '<option value="' . esc_attr( $option ) . '" ' . $selected . '>' . esc_html( $name ) . '</option>'; |
|
| 1437 | + foreach ($states as $option => $name) { |
|
| 1438 | + $selected = isset($wpinv_options[$args['id']]) ? selected($option, $wpinv_options[$args['id']], false) : ''; |
|
| 1439 | + $html .= '<option value="' . esc_attr($option) . '" ' . $selected . '>' . esc_html($name) . '</option>'; |
|
| 1440 | 1440 | } |
| 1441 | 1441 | |
| 1442 | 1442 | $html .= '</select>'; |
| 1443 | - $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>'; |
|
| 1443 | + $html .= '<label for="wpinv_settings[' . $sanitize_id . ']"> ' . wp_kses_post($args['desc']) . '</label>'; |
|
| 1444 | 1444 | |
| 1445 | 1445 | echo $html; |
| 1446 | 1446 | } |
@@ -1455,96 +1455,96 @@ discard block |
||
| 1455 | 1455 | <table id="wpinv_tax_rates" class="wp-list-table widefat fixed posts"> |
| 1456 | 1456 | <thead> |
| 1457 | 1457 | <tr> |
| 1458 | - <th scope="col" class="wpinv_tax_country"><?php _e( 'Country', 'invoicing' ); ?></th> |
|
| 1459 | - <th scope="col" class="wpinv_tax_state"><?php _e( 'State / Province', 'invoicing' ); ?></th> |
|
| 1460 | - <th scope="col" class="wpinv_tax_global" title="<?php esc_attr_e( 'Apply rate to whole country, regardless of state / province', 'invoicing' ); ?>"><?php _e( 'Country Wide', 'invoicing' ); ?></th> |
|
| 1461 | - <th scope="col" class="wpinv_tax_rate"><?php _e( 'Rate %', 'invoicing' ); ?></th> |
|
| 1462 | - <th scope="col" class="wpinv_tax_name"><?php _e( 'Tax Name', 'invoicing' ); ?></th> |
|
| 1463 | - <th scope="col" class="wpinv_tax_action"><?php _e( 'Remove', 'invoicing' ); ?></th> |
|
| 1458 | + <th scope="col" class="wpinv_tax_country"><?php _e('Country', 'invoicing'); ?></th> |
|
| 1459 | + <th scope="col" class="wpinv_tax_state"><?php _e('State / Province', 'invoicing'); ?></th> |
|
| 1460 | + <th scope="col" class="wpinv_tax_global" title="<?php esc_attr_e('Apply rate to whole country, regardless of state / province', 'invoicing'); ?>"><?php _e('Country Wide', 'invoicing'); ?></th> |
|
| 1461 | + <th scope="col" class="wpinv_tax_rate"><?php _e('Rate %', 'invoicing'); ?></th> |
|
| 1462 | + <th scope="col" class="wpinv_tax_name"><?php _e('Tax Name', 'invoicing'); ?></th> |
|
| 1463 | + <th scope="col" class="wpinv_tax_action"><?php _e('Remove', 'invoicing'); ?></th> |
|
| 1464 | 1464 | </tr> |
| 1465 | 1465 | </thead> |
| 1466 | 1466 | <tbody> |
| 1467 | - <?php if( !empty( $rates ) ) : ?> |
|
| 1468 | - <?php foreach( $rates as $key => $rate ) : ?> |
|
| 1467 | + <?php if (!empty($rates)) : ?> |
|
| 1468 | + <?php foreach ($rates as $key => $rate) : ?> |
|
| 1469 | 1469 | <?php |
| 1470 | - $sanitized_key = wpinv_sanitize_key( $key ); |
|
| 1470 | + $sanitized_key = wpinv_sanitize_key($key); |
|
| 1471 | 1471 | ?> |
| 1472 | 1472 | <tr> |
| 1473 | 1473 | <td class="wpinv_tax_country"> |
| 1474 | 1474 | <?php |
| 1475 | - echo wpinv_html_select( array( |
|
| 1476 | - 'options' => wpinv_get_country_list( true ), |
|
| 1475 | + echo wpinv_html_select(array( |
|
| 1476 | + 'options' => wpinv_get_country_list(true), |
|
| 1477 | 1477 | 'name' => 'tax_rates[' . $sanitized_key . '][country]', |
| 1478 | 1478 | 'id' => 'tax_rates[' . $sanitized_key . '][country]', |
| 1479 | 1479 | 'selected' => $rate['country'], |
| 1480 | 1480 | 'show_option_all' => false, |
| 1481 | 1481 | 'show_option_none' => false, |
| 1482 | 1482 | 'class' => 'wpinv-tax-country wpi_select2', |
| 1483 | - 'placeholder' => __( 'Choose a country', 'invoicing' ) |
|
| 1484 | - ) ); |
|
| 1483 | + 'placeholder' => __('Choose a country', 'invoicing') |
|
| 1484 | + )); |
|
| 1485 | 1485 | ?> |
| 1486 | 1486 | </td> |
| 1487 | 1487 | <td class="wpinv_tax_state"> |
| 1488 | 1488 | <?php |
| 1489 | - $states = wpinv_get_country_states( $rate['country'] ); |
|
| 1490 | - if( !empty( $states ) ) { |
|
| 1491 | - echo wpinv_html_select( array( |
|
| 1492 | - 'options' => array_merge( array( '' => '' ), $states ), |
|
| 1489 | + $states = wpinv_get_country_states($rate['country']); |
|
| 1490 | + if (!empty($states)) { |
|
| 1491 | + echo wpinv_html_select(array( |
|
| 1492 | + 'options' => array_merge(array('' => ''), $states), |
|
| 1493 | 1493 | 'name' => 'tax_rates[' . $sanitized_key . '][state]', |
| 1494 | 1494 | 'id' => 'tax_rates[' . $sanitized_key . '][state]', |
| 1495 | 1495 | 'selected' => $rate['state'], |
| 1496 | 1496 | 'show_option_all' => false, |
| 1497 | 1497 | 'show_option_none' => false, |
| 1498 | 1498 | 'class' => 'wpi_select2', |
| 1499 | - 'placeholder' => __( 'Choose a state', 'invoicing' ) |
|
| 1500 | - ) ); |
|
| 1499 | + 'placeholder' => __('Choose a state', 'invoicing') |
|
| 1500 | + )); |
|
| 1501 | 1501 | } else { |
| 1502 | - echo wpinv_html_text( array( |
|
| 1502 | + echo wpinv_html_text(array( |
|
| 1503 | 1503 | 'name' => 'tax_rates[' . $sanitized_key . '][state]', $rate['state'], |
| 1504 | - 'value' => ! empty( $rate['state'] ) ? $rate['state'] : '', |
|
| 1504 | + 'value' => !empty($rate['state']) ? $rate['state'] : '', |
|
| 1505 | 1505 | 'id' => 'tax_rates[' . $sanitized_key . '][state]', |
| 1506 | - ) ); |
|
| 1506 | + )); |
|
| 1507 | 1507 | } |
| 1508 | 1508 | ?> |
| 1509 | 1509 | </td> |
| 1510 | 1510 | <td class="wpinv_tax_global"> |
| 1511 | - <input type="checkbox" name="tax_rates[<?php echo $sanitized_key; ?>][global]" id="tax_rates[<?php echo $sanitized_key; ?>][global]" value="1"<?php checked( true, ! empty( $rate['global'] ) ); ?>/> |
|
| 1512 | - <label for="tax_rates[<?php echo $sanitized_key; ?>][global]"><?php _e( 'Apply to whole country', 'invoicing' ); ?></label> |
|
| 1511 | + <input type="checkbox" name="tax_rates[<?php echo $sanitized_key; ?>][global]" id="tax_rates[<?php echo $sanitized_key; ?>][global]" value="1"<?php checked(true, !empty($rate['global'])); ?>/> |
|
| 1512 | + <label for="tax_rates[<?php echo $sanitized_key; ?>][global]"><?php _e('Apply to whole country', 'invoicing'); ?></label> |
|
| 1513 | 1513 | </td> |
| 1514 | - <td class="wpinv_tax_rate"><input type="number" class="small-text" step="any" min="0" max="99" name="tax_rates[<?php echo $sanitized_key; ?>][rate]" value="<?php echo esc_html( $rate['rate'] ); ?>"/></td> |
|
| 1515 | - <td class="wpinv_tax_name"><input type="text" class="regular-text" name="tax_rates[<?php echo $sanitized_key; ?>][name]" value="<?php echo esc_html( $rate['name'] ); ?>"/></td> |
|
| 1516 | - <td class="wpinv_tax_action"><span class="wpinv_remove_tax_rate button-secondary"><?php _e( 'Remove Rate', 'invoicing' ); ?></span></td> |
|
| 1514 | + <td class="wpinv_tax_rate"><input type="number" class="small-text" step="any" min="0" max="99" name="tax_rates[<?php echo $sanitized_key; ?>][rate]" value="<?php echo esc_html($rate['rate']); ?>"/></td> |
|
| 1515 | + <td class="wpinv_tax_name"><input type="text" class="regular-text" name="tax_rates[<?php echo $sanitized_key; ?>][name]" value="<?php echo esc_html($rate['name']); ?>"/></td> |
|
| 1516 | + <td class="wpinv_tax_action"><span class="wpinv_remove_tax_rate button-secondary"><?php _e('Remove Rate', 'invoicing'); ?></span></td> |
|
| 1517 | 1517 | </tr> |
| 1518 | 1518 | <?php endforeach; ?> |
| 1519 | 1519 | <?php else : ?> |
| 1520 | 1520 | <tr> |
| 1521 | 1521 | <td class="wpinv_tax_country"> |
| 1522 | 1522 | <?php |
| 1523 | - echo wpinv_html_select( array( |
|
| 1524 | - 'options' => wpinv_get_country_list( true ), |
|
| 1523 | + echo wpinv_html_select(array( |
|
| 1524 | + 'options' => wpinv_get_country_list(true), |
|
| 1525 | 1525 | 'name' => 'tax_rates[0][country]', |
| 1526 | 1526 | 'show_option_all' => false, |
| 1527 | 1527 | 'show_option_none' => false, |
| 1528 | 1528 | 'class' => 'wpinv-tax-country wpi_select2', |
| 1529 | - 'placeholder' => __( 'Choose a country', 'invoicing' ) |
|
| 1530 | - ) ); ?> |
|
| 1529 | + 'placeholder' => __('Choose a country', 'invoicing') |
|
| 1530 | + )); ?> |
|
| 1531 | 1531 | </td> |
| 1532 | 1532 | <td class="wpinv_tax_state"> |
| 1533 | - <?php echo wpinv_html_text( array( |
|
| 1533 | + <?php echo wpinv_html_text(array( |
|
| 1534 | 1534 | 'name' => 'tax_rates[0][state]' |
| 1535 | - ) ); ?> |
|
| 1535 | + )); ?> |
|
| 1536 | 1536 | </td> |
| 1537 | 1537 | <td class="wpinv_tax_global"> |
| 1538 | 1538 | <input type="checkbox" name="tax_rates[0][global]" id="tax_rates[0][global]" value="1"/> |
| 1539 | - <label for="tax_rates[0][global]"><?php _e( 'Apply to whole country', 'invoicing' ); ?></label> |
|
| 1539 | + <label for="tax_rates[0][global]"><?php _e('Apply to whole country', 'invoicing'); ?></label> |
|
| 1540 | 1540 | </td> |
| 1541 | - <td class="wpinv_tax_rate"><input type="number" class="small-text" step="any" min="0" max="99" name="tax_rates[0][rate]" placeholder="<?php echo (float)wpinv_get_option( 'tax_rate', 0 ) ;?>" value="<?php echo (float)wpinv_get_option( 'tax_rate', 0 ) ;?>"/></td> |
|
| 1541 | + <td class="wpinv_tax_rate"><input type="number" class="small-text" step="any" min="0" max="99" name="tax_rates[0][rate]" placeholder="<?php echo (float)wpinv_get_option('tax_rate', 0); ?>" value="<?php echo (float)wpinv_get_option('tax_rate', 0); ?>"/></td> |
|
| 1542 | 1542 | <td class="wpinv_tax_name"><input type="text" class="regular-text" name="tax_rates[0][name]" /></td> |
| 1543 | - <td><span class="wpinv_remove_tax_rate button-secondary"><?php _e( 'Remove Rate', 'invoicing' ); ?></span></td> |
|
| 1543 | + <td><span class="wpinv_remove_tax_rate button-secondary"><?php _e('Remove Rate', 'invoicing'); ?></span></td> |
|
| 1544 | 1544 | </tr> |
| 1545 | 1545 | <?php endif; ?> |
| 1546 | 1546 | </tbody> |
| 1547 | - <tfoot><tr><td colspan="5"></td><td class="wpinv_tax_action"><span class="button-secondary" id="wpinv_add_tax_rate"><?php _e( 'Add Tax Rate', 'invoicing' ); ?></span></td></tr></tfoot> |
|
| 1547 | + <tfoot><tr><td colspan="5"></td><td class="wpinv_tax_action"><span class="button-secondary" id="wpinv_add_tax_rate"><?php _e('Add Tax Rate', 'invoicing'); ?></span></td></tr></tfoot> |
|
| 1548 | 1548 | </table> |
| 1549 | 1549 | <?php |
| 1550 | 1550 | echo ob_get_clean(); |
@@ -1555,76 +1555,76 @@ discard block |
||
| 1555 | 1555 | ob_start(); ?> |
| 1556 | 1556 | </td><tr> |
| 1557 | 1557 | <td colspan="2" class="wpinv_tools_tdbox"> |
| 1558 | - <?php if ( $args['desc'] ) { ?><p><?php echo $args['desc']; ?></p><?php } ?> |
|
| 1559 | - <?php do_action( 'wpinv_tools_before' ); ?> |
|
| 1558 | + <?php if ($args['desc']) { ?><p><?php echo $args['desc']; ?></p><?php } ?> |
|
| 1559 | + <?php do_action('wpinv_tools_before'); ?> |
|
| 1560 | 1560 | <table id="wpinv_tools_table" class="wp-list-table widefat fixed posts"> |
| 1561 | 1561 | <thead> |
| 1562 | 1562 | <tr> |
| 1563 | - <th scope="col" class="wpinv-th-tool"><?php _e( 'Tool', 'invoicing' ); ?></th> |
|
| 1564 | - <th scope="col" class="wpinv-th-desc"><?php _e( 'Description', 'invoicing' ); ?></th> |
|
| 1565 | - <th scope="col" class="wpinv-th-action"><?php _e( 'Action', 'invoicing' ); ?></th> |
|
| 1563 | + <th scope="col" class="wpinv-th-tool"><?php _e('Tool', 'invoicing'); ?></th> |
|
| 1564 | + <th scope="col" class="wpinv-th-desc"><?php _e('Description', 'invoicing'); ?></th> |
|
| 1565 | + <th scope="col" class="wpinv-th-action"><?php _e('Action', 'invoicing'); ?></th> |
|
| 1566 | 1566 | </tr> |
| 1567 | 1567 | </thead> |
| 1568 | - <?php do_action( 'wpinv_tools_row' ); ?> |
|
| 1568 | + <?php do_action('wpinv_tools_row'); ?> |
|
| 1569 | 1569 | <tbody> |
| 1570 | 1570 | </tbody> |
| 1571 | 1571 | </table> |
| 1572 | - <?php do_action( 'wpinv_tools_after' ); ?> |
|
| 1572 | + <?php do_action('wpinv_tools_after'); ?> |
|
| 1573 | 1573 | <?php |
| 1574 | 1574 | echo ob_get_clean(); |
| 1575 | 1575 | } |
| 1576 | 1576 | |
| 1577 | -function wpinv_descriptive_text_callback( $args ) { |
|
| 1578 | - echo wp_kses_post( $args['desc'] ); |
|
| 1577 | +function wpinv_descriptive_text_callback($args) { |
|
| 1578 | + echo wp_kses_post($args['desc']); |
|
| 1579 | 1579 | } |
| 1580 | 1580 | |
| 1581 | -function wpinv_hook_callback( $args ) { |
|
| 1582 | - do_action( 'wpinv_' . $args['id'], $args ); |
|
| 1581 | +function wpinv_hook_callback($args) { |
|
| 1582 | + do_action('wpinv_' . $args['id'], $args); |
|
| 1583 | 1583 | } |
| 1584 | 1584 | |
| 1585 | 1585 | function wpinv_set_settings_cap() { |
| 1586 | 1586 | return wpinv_get_capability(); |
| 1587 | 1587 | } |
| 1588 | -add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' ); |
|
| 1588 | +add_filter('option_page_capability_wpinv_settings', 'wpinv_set_settings_cap'); |
|
| 1589 | 1589 | |
| 1590 | -function wpinv_settings_sanitize_input( $value, $key ) { |
|
| 1591 | - if ( $key == 'tax_rate' || $key == 'eu_fallback_rate' ) { |
|
| 1592 | - $value = wpinv_sanitize_amount( $value, 4 ); |
|
| 1590 | +function wpinv_settings_sanitize_input($value, $key) { |
|
| 1591 | + if ($key == 'tax_rate' || $key == 'eu_fallback_rate') { |
|
| 1592 | + $value = wpinv_sanitize_amount($value, 4); |
|
| 1593 | 1593 | $value = $value >= 100 ? 99 : $value; |
| 1594 | 1594 | } |
| 1595 | 1595 | |
| 1596 | 1596 | return $value; |
| 1597 | 1597 | } |
| 1598 | -add_filter( 'wpinv_settings_sanitize', 'wpinv_settings_sanitize_input', 10, 2 ); |
|
| 1598 | +add_filter('wpinv_settings_sanitize', 'wpinv_settings_sanitize_input', 10, 2); |
|
| 1599 | 1599 | |
| 1600 | -function wpinv_on_update_settings( $old_value, $value, $option ) { |
|
| 1601 | - $old = !empty( $old_value['remove_data_on_unistall'] ) ? 1 : ''; |
|
| 1602 | - $new = !empty( $value['remove_data_on_unistall'] ) ? 1 : ''; |
|
| 1600 | +function wpinv_on_update_settings($old_value, $value, $option) { |
|
| 1601 | + $old = !empty($old_value['remove_data_on_unistall']) ? 1 : ''; |
|
| 1602 | + $new = !empty($value['remove_data_on_unistall']) ? 1 : ''; |
|
| 1603 | 1603 | |
| 1604 | - if ( $old != $new ) { |
|
| 1605 | - update_option( 'wpinv_remove_data_on_invoice_unistall', $new ); |
|
| 1604 | + if ($old != $new) { |
|
| 1605 | + update_option('wpinv_remove_data_on_invoice_unistall', $new); |
|
| 1606 | 1606 | } |
| 1607 | 1607 | } |
| 1608 | -add_action( 'update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3 ); |
|
| 1609 | -add_action( 'wpinv_settings_tab_bottom_emails_new_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 ); |
|
| 1610 | -add_action( 'wpinv_settings_tab_bottom_emails_cancelled_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 ); |
|
| 1611 | -add_action( 'wpinv_settings_tab_bottom_emails_failed_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 ); |
|
| 1612 | -add_action( 'wpinv_settings_tab_bottom_emails_onhold_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 ); |
|
| 1613 | -add_action( 'wpinv_settings_tab_bottom_emails_processing_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 ); |
|
| 1614 | -add_action( 'wpinv_settings_tab_bottom_emails_completed_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 ); |
|
| 1615 | -add_action( 'wpinv_settings_tab_bottom_emails_refunded_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 ); |
|
| 1616 | -add_action( 'wpinv_settings_tab_bottom_emails_user_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2 ); |
|
| 1617 | -add_action( 'wpinv_settings_tab_bottom_emails_user_note', 'wpinv_settings_tab_bottom_emails', 10, 2 ); |
|
| 1618 | -add_action( 'wpinv_settings_tab_bottom_emails_overdue', 'wpinv_settings_tab_bottom_emails', 10, 2 ); |
|
| 1619 | - |
|
| 1620 | -function wpinv_settings_tab_bottom_emails( $active_tab, $section ) { |
|
| 1608 | +add_action('update_option_wpinv_settings', 'wpinv_on_update_settings', 10, 3); |
|
| 1609 | +add_action('wpinv_settings_tab_bottom_emails_new_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2); |
|
| 1610 | +add_action('wpinv_settings_tab_bottom_emails_cancelled_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2); |
|
| 1611 | +add_action('wpinv_settings_tab_bottom_emails_failed_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2); |
|
| 1612 | +add_action('wpinv_settings_tab_bottom_emails_onhold_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2); |
|
| 1613 | +add_action('wpinv_settings_tab_bottom_emails_processing_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2); |
|
| 1614 | +add_action('wpinv_settings_tab_bottom_emails_completed_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2); |
|
| 1615 | +add_action('wpinv_settings_tab_bottom_emails_refunded_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2); |
|
| 1616 | +add_action('wpinv_settings_tab_bottom_emails_user_invoice', 'wpinv_settings_tab_bottom_emails', 10, 2); |
|
| 1617 | +add_action('wpinv_settings_tab_bottom_emails_user_note', 'wpinv_settings_tab_bottom_emails', 10, 2); |
|
| 1618 | +add_action('wpinv_settings_tab_bottom_emails_overdue', 'wpinv_settings_tab_bottom_emails', 10, 2); |
|
| 1619 | + |
|
| 1620 | +function wpinv_settings_tab_bottom_emails($active_tab, $section) { |
|
| 1621 | 1621 | ?> |
| 1622 | 1622 | <div class="wpinv-email-wc-row "> |
| 1623 | 1623 | <div class="wpinv-email-wc-td"> |
| 1624 | - <h3 class="wpinv-email-wc-title"><?php echo apply_filters( 'wpinv_settings_email_wildcards_title', __( 'Wildcards For Emails', 'invoicing' ) ); ?></h3> |
|
| 1624 | + <h3 class="wpinv-email-wc-title"><?php echo apply_filters('wpinv_settings_email_wildcards_title', __('Wildcards For Emails', 'invoicing')); ?></h3> |
|
| 1625 | 1625 | <p class="wpinv-email-wc-description"> |
| 1626 | 1626 | <?php |
| 1627 | - $description = __( 'The following wildcards can be used in email subjects, heading and content:<br> |
|
| 1627 | + $description = __('The following wildcards can be used in email subjects, heading and content:<br> |
|
| 1628 | 1628 | <strong>{site_title} :</strong> Site Title<br> |
| 1629 | 1629 | <strong>{name} :</strong> Customer\'s full name<br> |
| 1630 | 1630 | <strong>{first_name} :</strong> Customer\'s first name<br> |
@@ -1638,7 +1638,7 @@ discard block |
||
| 1638 | 1638 | <strong>{invoice_due_date} :</strong> The date the invoice is due<br> |
| 1639 | 1639 | <strong>{date} :</strong> Today\'s date.<br> |
| 1640 | 1640 | <strong>{is_was} :</strong> If due date of invoice is past, displays "was" otherwise displays "is"<br> |
| 1641 | - <strong>{invoice_label} :</strong> Invoices/quotes singular name. Ex: Invoice/Quote<br>', 'invoicing' ); |
|
| 1641 | + <strong>{invoice_label} :</strong> Invoices/quotes singular name. Ex: Invoice/Quote<br>', 'invoicing'); |
|
| 1642 | 1642 | echo apply_filters('wpinv_settings_email_wildcards_description', $description, $active_tab, $section); |
| 1643 | 1643 | ?> |
| 1644 | 1644 | </p> |
@@ -3,7 +3,7 @@ discard block |
||
| 3 | 3 | * Setup menus in WP admin. |
| 4 | 4 | */ |
| 5 | 5 | |
| 6 | -defined( 'ABSPATH' ) || exit; |
|
| 6 | +defined('ABSPATH') || exit; |
|
| 7 | 7 | |
| 8 | 8 | /** |
| 9 | 9 | * WC_Admin_Menus Class. |
@@ -13,40 +13,40 @@ discard block |
||
| 13 | 13 | * Hook in tabs. |
| 14 | 14 | */ |
| 15 | 15 | public function __construct() { |
| 16 | - add_action( 'admin_menu', array( $this, 'admin_menu' ), 10 ); |
|
| 17 | - add_action( 'admin_menu', array( $this, 'add_addons_menu' ), 99 ); |
|
| 18 | - add_action( 'admin_menu', array( $this, 'remove_admin_submenus' ), 10 ); |
|
| 19 | - add_action( 'admin_head-nav-menus.php', array( $this, 'add_nav_menu_meta_boxes' ) ); |
|
| 16 | + add_action('admin_menu', array($this, 'admin_menu'), 10); |
|
| 17 | + add_action('admin_menu', array($this, 'add_addons_menu'), 99); |
|
| 18 | + add_action('admin_menu', array($this, 'remove_admin_submenus'), 10); |
|
| 19 | + add_action('admin_head-nav-menus.php', array($this, 'add_nav_menu_meta_boxes')); |
|
| 20 | 20 | } |
| 21 | 21 | |
| 22 | 22 | public function admin_menu() { |
| 23 | 23 | global $menu, $submenu; |
| 24 | 24 | |
| 25 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
| 25 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
| 26 | 26 | return; |
| 27 | 27 | } |
| 28 | 28 | |
| 29 | - $capability = apply_filters( 'invoicing_capability', wpinv_get_capability() ); |
|
| 29 | + $capability = apply_filters('invoicing_capability', wpinv_get_capability()); |
|
| 30 | 30 | |
| 31 | - if ( wpinv_current_user_can_manage_invoicing() ) { |
|
| 32 | - $menu[] = array( '', 'read', 'separator-wpinv', '', 'wp-menu-separator wpinv' ); |
|
| 31 | + if (wpinv_current_user_can_manage_invoicing()) { |
|
| 32 | + $menu[] = array('', 'read', 'separator-wpinv', '', 'wp-menu-separator wpinv'); |
|
| 33 | 33 | |
| 34 | 34 | // Allow users with 'manage_invocing' capability to create new invoices |
| 35 | - $submenu['post-new.php?post_type=wpi_invoice'][] = array( '', '', 'post-new.php?post_type=wpi_invoice', '' ); |
|
| 36 | - $submenu['post-new.php?post_type=wpi_item'][] = array( '', '', 'post-new.php?post_type=wpi_item', '' ); |
|
| 37 | - $submenu['post-new.php?post_type=wpi_discount'][] = array( '', '', 'post-new.php?post_type=wpi_discount', '' ); |
|
| 35 | + $submenu['post-new.php?post_type=wpi_invoice'][] = array('', '', 'post-new.php?post_type=wpi_invoice', ''); |
|
| 36 | + $submenu['post-new.php?post_type=wpi_item'][] = array('', '', 'post-new.php?post_type=wpi_item', ''); |
|
| 37 | + $submenu['post-new.php?post_type=wpi_discount'][] = array('', '', 'post-new.php?post_type=wpi_discount', ''); |
|
| 38 | 38 | |
| 39 | 39 | } |
| 40 | 40 | |
| 41 | - $wpi_invoice = get_post_type_object( 'wpi_invoice' ); |
|
| 41 | + $wpi_invoice = get_post_type_object('wpi_invoice'); |
|
| 42 | 42 | |
| 43 | - add_menu_page( __( 'Invoicing', 'invoicing' ), __( 'Invoicing', 'invoicing' ), $capability, 'wpinv', null, $wpi_invoice->menu_icon, '54.123460' ); |
|
| 43 | + add_menu_page(__('Invoicing', 'invoicing'), __('Invoicing', 'invoicing'), $capability, 'wpinv', null, $wpi_invoice->menu_icon, '54.123460'); |
|
| 44 | 44 | |
| 45 | - add_submenu_page( 'wpinv', __( 'Invoice Settings', 'invoicing' ), __( 'Settings', 'invoicing' ), $capability, 'wpinv-settings', array( $this, 'options_page' )); |
|
| 45 | + add_submenu_page('wpinv', __('Invoice Settings', 'invoicing'), __('Settings', 'invoicing'), $capability, 'wpinv-settings', array($this, 'options_page')); |
|
| 46 | 46 | } |
| 47 | 47 | |
| 48 | - public function add_addons_menu(){ |
|
| 49 | - if ( !apply_filters( 'wpi_show_addons_page', true ) ) { |
|
| 48 | + public function add_addons_menu() { |
|
| 49 | + if (!apply_filters('wpi_show_addons_page', true)) { |
|
| 50 | 50 | return; |
| 51 | 51 | } |
| 52 | 52 | |
@@ -56,78 +56,78 @@ discard block |
||
| 56 | 56 | __('Extensions', 'invoicing'), |
| 57 | 57 | 'manage_options', |
| 58 | 58 | 'wpi-addons', |
| 59 | - array( $this, 'addons_page' ) |
|
| 59 | + array($this, 'addons_page') |
|
| 60 | 60 | ); |
| 61 | 61 | } |
| 62 | 62 | |
| 63 | - public function addons_page(){ |
|
| 63 | + public function addons_page() { |
|
| 64 | 64 | $addon_obj = new WPInv_Admin_Addons(); |
| 65 | 65 | $addon_obj->output(); |
| 66 | 66 | } |
| 67 | 67 | |
| 68 | 68 | function options_page() { |
| 69 | - $page = isset( $_GET['page'] ) ? strtolower( $_GET['page'] ) : false; |
|
| 69 | + $page = isset($_GET['page']) ? strtolower($_GET['page']) : false; |
|
| 70 | 70 | |
| 71 | - if ( $page !== 'wpinv-settings' ) { |
|
| 71 | + if ($page !== 'wpinv-settings') { |
|
| 72 | 72 | return; |
| 73 | 73 | } |
| 74 | 74 | |
| 75 | 75 | $settings_tabs = wpinv_get_settings_tabs(); |
| 76 | 76 | $settings_tabs = empty($settings_tabs) ? array() : $settings_tabs; |
| 77 | - $active_tab = isset( $_GET['tab'] ) && array_key_exists( $_GET['tab'], $settings_tabs ) ? sanitize_text_field( $_GET['tab'] ) : 'general'; |
|
| 78 | - $sections = wpinv_get_settings_tab_sections( $active_tab ); |
|
| 77 | + $active_tab = isset($_GET['tab']) && array_key_exists($_GET['tab'], $settings_tabs) ? sanitize_text_field($_GET['tab']) : 'general'; |
|
| 78 | + $sections = wpinv_get_settings_tab_sections($active_tab); |
|
| 79 | 79 | $key = 'main'; |
| 80 | 80 | |
| 81 | - if ( is_array( $sections ) ) { |
|
| 82 | - $key = key( $sections ); |
|
| 81 | + if (is_array($sections)) { |
|
| 82 | + $key = key($sections); |
|
| 83 | 83 | } |
| 84 | 84 | |
| 85 | - $registered_sections = wpinv_get_settings_tab_sections( $active_tab ); |
|
| 86 | - $section = isset( $_GET['section'] ) && ! empty( $registered_sections ) && array_key_exists( $_GET['section'], $registered_sections ) ? $_GET['section'] : $key; |
|
| 85 | + $registered_sections = wpinv_get_settings_tab_sections($active_tab); |
|
| 86 | + $section = isset($_GET['section']) && !empty($registered_sections) && array_key_exists($_GET['section'], $registered_sections) ? $_GET['section'] : $key; |
|
| 87 | 87 | ob_start(); |
| 88 | 88 | ?> |
| 89 | 89 | <div class="wrap"> |
| 90 | 90 | <h1 class="nav-tab-wrapper"> |
| 91 | 91 | <?php |
| 92 | - foreach( wpinv_get_settings_tabs() as $tab_id => $tab_name ) { |
|
| 93 | - $tab_url = add_query_arg( array( |
|
| 92 | + foreach (wpinv_get_settings_tabs() as $tab_id => $tab_name) { |
|
| 93 | + $tab_url = add_query_arg(array( |
|
| 94 | 94 | 'settings-updated' => false, |
| 95 | 95 | 'tab' => $tab_id, |
| 96 | - ) ); |
|
| 96 | + )); |
|
| 97 | 97 | |
| 98 | 98 | // Remove the section from the tabs so we always end up at the main section |
| 99 | - $tab_url = remove_query_arg( 'section', $tab_url ); |
|
| 100 | - $tab_url = remove_query_arg( 'wpi_sub', $tab_url ); |
|
| 99 | + $tab_url = remove_query_arg('section', $tab_url); |
|
| 100 | + $tab_url = remove_query_arg('wpi_sub', $tab_url); |
|
| 101 | 101 | |
| 102 | 102 | $active = $active_tab == $tab_id ? ' nav-tab-active' : ''; |
| 103 | 103 | |
| 104 | - echo '<a href="' . esc_url( $tab_url ) . '" title="' . esc_attr( $tab_name ) . '" class="nav-tab' . $active . '">'; |
|
| 105 | - echo esc_html( $tab_name ); |
|
| 104 | + echo '<a href="' . esc_url($tab_url) . '" title="' . esc_attr($tab_name) . '" class="nav-tab' . $active . '">'; |
|
| 105 | + echo esc_html($tab_name); |
|
| 106 | 106 | echo '</a>'; |
| 107 | 107 | } |
| 108 | 108 | ?> |
| 109 | 109 | </h1> |
| 110 | 110 | <?php |
| 111 | - $number_of_sections = count( $sections ); |
|
| 111 | + $number_of_sections = count($sections); |
|
| 112 | 112 | $number = 0; |
| 113 | - if ( $number_of_sections > 1 ) { |
|
| 113 | + if ($number_of_sections > 1) { |
|
| 114 | 114 | echo '<div><ul class="subsubsub">'; |
| 115 | - foreach( $sections as $section_id => $section_name ) { |
|
| 115 | + foreach ($sections as $section_id => $section_name) { |
|
| 116 | 116 | echo '<li>'; |
| 117 | 117 | $number++; |
| 118 | - $tab_url = add_query_arg( array( |
|
| 118 | + $tab_url = add_query_arg(array( |
|
| 119 | 119 | 'settings-updated' => false, |
| 120 | 120 | 'tab' => $active_tab, |
| 121 | 121 | 'section' => $section_id |
| 122 | - ) ); |
|
| 123 | - $tab_url = remove_query_arg( 'wpi_sub', $tab_url ); |
|
| 122 | + )); |
|
| 123 | + $tab_url = remove_query_arg('wpi_sub', $tab_url); |
|
| 124 | 124 | $class = ''; |
| 125 | - if ( $section == $section_id ) { |
|
| 125 | + if ($section == $section_id) { |
|
| 126 | 126 | $class = 'current'; |
| 127 | 127 | } |
| 128 | - echo '<a class="' . $class . '" href="' . esc_url( $tab_url ) . '">' . $section_name . '</a>'; |
|
| 128 | + echo '<a class="' . $class . '" href="' . esc_url($tab_url) . '">' . $section_name . '</a>'; |
|
| 129 | 129 | |
| 130 | - if ( $number != $number_of_sections ) { |
|
| 130 | + if ($number != $number_of_sections) { |
|
| 131 | 131 | echo ' | '; |
| 132 | 132 | } |
| 133 | 133 | echo '</li>'; |
@@ -139,19 +139,19 @@ discard block |
||
| 139 | 139 | <form method="post" action="options.php"> |
| 140 | 140 | <table class="form-table"> |
| 141 | 141 | <?php |
| 142 | - settings_fields( 'wpinv_settings' ); |
|
| 142 | + settings_fields('wpinv_settings'); |
|
| 143 | 143 | |
| 144 | - if ( 'main' === $section ) { |
|
| 145 | - do_action( 'wpinv_settings_tab_top', $active_tab ); |
|
| 144 | + if ('main' === $section) { |
|
| 145 | + do_action('wpinv_settings_tab_top', $active_tab); |
|
| 146 | 146 | } |
| 147 | 147 | |
| 148 | - do_action( 'wpinv_settings_tab_top_' . $active_tab . '_' . $section, $active_tab, $section ); |
|
| 149 | - do_settings_sections( 'wpinv_settings_' . $active_tab . '_' . $section, $active_tab, $section ); |
|
| 150 | - do_action( 'wpinv_settings_tab_bottom_' . $active_tab . '_' . $section, $active_tab, $section ); |
|
| 148 | + do_action('wpinv_settings_tab_top_' . $active_tab . '_' . $section, $active_tab, $section); |
|
| 149 | + do_settings_sections('wpinv_settings_' . $active_tab . '_' . $section, $active_tab, $section); |
|
| 150 | + do_action('wpinv_settings_tab_bottom_' . $active_tab . '_' . $section, $active_tab, $section); |
|
| 151 | 151 | |
| 152 | 152 | // For backwards compatibility |
| 153 | - if ( 'main' === $section ) { |
|
| 154 | - do_action( 'wpinv_settings_tab_bottom', $active_tab ); |
|
| 153 | + if ('main' === $section) { |
|
| 154 | + do_action('wpinv_settings_tab_bottom', $active_tab); |
|
| 155 | 155 | } |
| 156 | 156 | ?> |
| 157 | 157 | </table> |
@@ -165,52 +165,52 @@ discard block |
||
| 165 | 165 | } |
| 166 | 166 | |
| 167 | 167 | public function remove_admin_submenus() { |
| 168 | - remove_submenu_page( 'edit.php?post_type=wpi_invoice', 'post-new.php?post_type=wpi_invoice' ); |
|
| 168 | + remove_submenu_page('edit.php?post_type=wpi_invoice', 'post-new.php?post_type=wpi_invoice'); |
|
| 169 | 169 | } |
| 170 | 170 | |
| 171 | - public function add_nav_menu_meta_boxes(){ |
|
| 172 | - add_meta_box( 'wpinv_endpoints_nav_link', __( 'Invoicing Pages', 'invoicing' ), array( $this, 'nav_menu_links' ), 'nav-menus', 'side', 'low' ); |
|
| 171 | + public function add_nav_menu_meta_boxes() { |
|
| 172 | + add_meta_box('wpinv_endpoints_nav_link', __('Invoicing Pages', 'invoicing'), array($this, 'nav_menu_links'), 'nav-menus', 'side', 'low'); |
|
| 173 | 173 | } |
| 174 | 174 | |
| 175 | - public function nav_menu_links(){ |
|
| 175 | + public function nav_menu_links() { |
|
| 176 | 176 | $endpoints = $this->get_menu_items(); |
| 177 | 177 | ?> |
| 178 | 178 | <div id="invoicing-endpoints" class="posttypediv"> |
| 179 | - <?php if(!empty($endpoints['pages'])){ ?> |
|
| 179 | + <?php if (!empty($endpoints['pages'])) { ?> |
|
| 180 | 180 | <div id="tabs-panel-invoicing-endpoints" class="tabs-panel tabs-panel-active"> |
| 181 | 181 | <ul id="invoicing-endpoints-checklist" class="categorychecklist form-no-clear"> |
| 182 | 182 | <?php |
| 183 | 183 | $walker = new Walker_Nav_Menu_Checklist(array()); |
| 184 | - echo walk_nav_menu_tree(array_map('wp_setup_nav_menu_item', $endpoints['pages']), 0, (object) array('walker' => $walker)); |
|
| 184 | + echo walk_nav_menu_tree(array_map('wp_setup_nav_menu_item', $endpoints['pages']), 0, (object)array('walker' => $walker)); |
|
| 185 | 185 | ?> |
| 186 | 186 | </ul> |
| 187 | 187 | </div> |
| 188 | 188 | <?php } ?> |
| 189 | 189 | <p class="button-controls"> |
| 190 | 190 | <span class="list-controls"> |
| 191 | - <a href="<?php echo admin_url( 'nav-menus.php?page-tab=all&selectall=1#invoicing-endpoints' ); ?>" class="select-all"><?php _e( 'Select all', 'invoicing' ); ?></a> |
|
| 191 | + <a href="<?php echo admin_url('nav-menus.php?page-tab=all&selectall=1#invoicing-endpoints'); ?>" class="select-all"><?php _e('Select all', 'invoicing'); ?></a> |
|
| 192 | 192 | </span> |
| 193 | 193 | <span class="add-to-menu"> |
| 194 | - <input type="submit" class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e( 'Add to menu', 'invoicing' ); ?>" name="add-post-type-menu-item" id="submit-invoicing-endpoints"> |
|
| 194 | + <input type="submit" class="button-secondary submit-add-to-menu right" value="<?php esc_attr_e('Add to menu', 'invoicing'); ?>" name="add-post-type-menu-item" id="submit-invoicing-endpoints"> |
|
| 195 | 195 | <span class="spinner"></span> |
| 196 | 196 | </span> |
| 197 | 197 | </p> |
| 198 | 198 | <?php |
| 199 | 199 | } |
| 200 | 200 | |
| 201 | - public function get_menu_items(){ |
|
| 201 | + public function get_menu_items() { |
|
| 202 | 202 | $items = array(); |
| 203 | 203 | |
| 204 | - $wpinv_history_page_id = (int)wpinv_get_option( 'invoice_history_page' ); |
|
| 205 | - if($wpinv_history_page_id > 0){ |
|
| 204 | + $wpinv_history_page_id = (int)wpinv_get_option('invoice_history_page'); |
|
| 205 | + if ($wpinv_history_page_id > 0) { |
|
| 206 | 206 | $item = new stdClass(); |
| 207 | 207 | $item->object_id = $wpinv_history_page_id; |
| 208 | 208 | $item->db_id = 0; |
| 209 | - $item->object = 'page'; |
|
| 209 | + $item->object = 'page'; |
|
| 210 | 210 | $item->menu_item_parent = 0; |
| 211 | 211 | $item->type = 'post_type'; |
| 212 | - $item->title = __('Invoice History Page','invoicing'); |
|
| 213 | - $item->url = get_permalink( $wpinv_history_page_id ); |
|
| 212 | + $item->title = __('Invoice History Page', 'invoicing'); |
|
| 213 | + $item->url = get_permalink($wpinv_history_page_id); |
|
| 214 | 214 | $item->target = ''; |
| 215 | 215 | $item->attr_title = ''; |
| 216 | 216 | $item->classes = array('wpinv-menu-item'); |
@@ -219,16 +219,16 @@ discard block |
||
| 219 | 219 | $items['pages'][] = $item; |
| 220 | 220 | } |
| 221 | 221 | |
| 222 | - $wpinv_sub_history_page_id = (int)wpinv_get_option( 'invoice_subscription_page' ); |
|
| 223 | - if($wpinv_sub_history_page_id > 0){ |
|
| 222 | + $wpinv_sub_history_page_id = (int)wpinv_get_option('invoice_subscription_page'); |
|
| 223 | + if ($wpinv_sub_history_page_id > 0) { |
|
| 224 | 224 | $item = new stdClass(); |
| 225 | 225 | $item->object_id = $wpinv_sub_history_page_id; |
| 226 | 226 | $item->db_id = 0; |
| 227 | - $item->object = 'page'; |
|
| 227 | + $item->object = 'page'; |
|
| 228 | 228 | $item->menu_item_parent = 0; |
| 229 | 229 | $item->type = 'post_type'; |
| 230 | - $item->title = __('Invoice Subscriptions Page','invoicing'); |
|
| 231 | - $item->url = get_permalink( $wpinv_sub_history_page_id ); |
|
| 230 | + $item->title = __('Invoice Subscriptions Page', 'invoicing'); |
|
| 231 | + $item->url = get_permalink($wpinv_sub_history_page_id); |
|
| 232 | 232 | $item->target = ''; |
| 233 | 233 | $item->attr_title = ''; |
| 234 | 234 | $item->classes = array('wpinv-menu-item'); |
@@ -237,16 +237,16 @@ discard block |
||
| 237 | 237 | $items['pages'][] = $item; |
| 238 | 238 | } |
| 239 | 239 | |
| 240 | - $wpinv_checkout_page_id = (int)wpinv_get_option( 'checkout_page' ); |
|
| 241 | - if($wpinv_checkout_page_id > 0){ |
|
| 240 | + $wpinv_checkout_page_id = (int)wpinv_get_option('checkout_page'); |
|
| 241 | + if ($wpinv_checkout_page_id > 0) { |
|
| 242 | 242 | $item = new stdClass(); |
| 243 | 243 | $item->object_id = $wpinv_checkout_page_id; |
| 244 | 244 | $item->db_id = 0; |
| 245 | - $item->object = 'page'; |
|
| 245 | + $item->object = 'page'; |
|
| 246 | 246 | $item->menu_item_parent = 0; |
| 247 | 247 | $item->type = 'post_type'; |
| 248 | - $item->title = __('Checkout Page','invoicing'); |
|
| 249 | - $item->url = get_permalink( $wpinv_checkout_page_id ); |
|
| 248 | + $item->title = __('Checkout Page', 'invoicing'); |
|
| 249 | + $item->url = get_permalink($wpinv_checkout_page_id); |
|
| 250 | 250 | $item->target = ''; |
| 251 | 251 | $item->attr_title = ''; |
| 252 | 252 | $item->classes = array('wpinv-menu-item'); |
@@ -255,16 +255,16 @@ discard block |
||
| 255 | 255 | $items['pages'][] = $item; |
| 256 | 256 | } |
| 257 | 257 | |
| 258 | - $wpinv_tandc_page_id = (int)wpinv_get_option( 'tandc_page' ); |
|
| 259 | - if($wpinv_tandc_page_id > 0){ |
|
| 258 | + $wpinv_tandc_page_id = (int)wpinv_get_option('tandc_page'); |
|
| 259 | + if ($wpinv_tandc_page_id > 0) { |
|
| 260 | 260 | $item = new stdClass(); |
| 261 | 261 | $item->object_id = $wpinv_tandc_page_id; |
| 262 | 262 | $item->db_id = 0; |
| 263 | - $item->object = 'page'; |
|
| 263 | + $item->object = 'page'; |
|
| 264 | 264 | $item->menu_item_parent = 0; |
| 265 | 265 | $item->type = 'post_type'; |
| 266 | - $item->title = __('Terms & Conditions','invoicing'); |
|
| 267 | - $item->url = get_permalink( $wpinv_tandc_page_id ); |
|
| 266 | + $item->title = __('Terms & Conditions', 'invoicing'); |
|
| 267 | + $item->url = get_permalink($wpinv_tandc_page_id); |
|
| 268 | 268 | $item->target = ''; |
| 269 | 269 | $item->attr_title = ''; |
| 270 | 270 | $item->classes = array('wpinv-menu-item'); |
@@ -273,16 +273,16 @@ discard block |
||
| 273 | 273 | $items['pages'][] = $item; |
| 274 | 274 | } |
| 275 | 275 | |
| 276 | - $wpinv_success_page_id = (int)wpinv_get_option( 'success_page' ); |
|
| 277 | - if($wpinv_success_page_id > 0){ |
|
| 276 | + $wpinv_success_page_id = (int)wpinv_get_option('success_page'); |
|
| 277 | + if ($wpinv_success_page_id > 0) { |
|
| 278 | 278 | $item = new stdClass(); |
| 279 | 279 | $item->object_id = $wpinv_success_page_id; |
| 280 | 280 | $item->db_id = 0; |
| 281 | - $item->object = 'page'; |
|
| 281 | + $item->object = 'page'; |
|
| 282 | 282 | $item->menu_item_parent = 0; |
| 283 | 283 | $item->type = 'post_type'; |
| 284 | - $item->title = __('Success Page','invoicing'); |
|
| 285 | - $item->url = get_permalink( $wpinv_success_page_id ); |
|
| 284 | + $item->title = __('Success Page', 'invoicing'); |
|
| 285 | + $item->url = get_permalink($wpinv_success_page_id); |
|
| 286 | 286 | $item->target = ''; |
| 287 | 287 | $item->attr_title = ''; |
| 288 | 288 | $item->classes = array('wpinv-menu-item'); |
@@ -291,16 +291,16 @@ discard block |
||
| 291 | 291 | $items['pages'][] = $item; |
| 292 | 292 | } |
| 293 | 293 | |
| 294 | - $wpinv_failure_page_id = (int)wpinv_get_option( 'failure_page' ); |
|
| 295 | - if($wpinv_failure_page_id > 0){ |
|
| 294 | + $wpinv_failure_page_id = (int)wpinv_get_option('failure_page'); |
|
| 295 | + if ($wpinv_failure_page_id > 0) { |
|
| 296 | 296 | $item = new stdClass(); |
| 297 | 297 | $item->object_id = $wpinv_failure_page_id; |
| 298 | 298 | $item->db_id = 0; |
| 299 | - $item->object = 'page'; |
|
| 299 | + $item->object = 'page'; |
|
| 300 | 300 | $item->menu_item_parent = 0; |
| 301 | 301 | $item->type = 'post_type'; |
| 302 | - $item->title = __('Failed Transaction Page','invoicing'); |
|
| 303 | - $item->url = get_permalink( $wpinv_failure_page_id ); |
|
| 302 | + $item->title = __('Failed Transaction Page', 'invoicing'); |
|
| 303 | + $item->url = get_permalink($wpinv_failure_page_id); |
|
| 304 | 304 | $item->target = ''; |
| 305 | 305 | $item->attr_title = ''; |
| 306 | 306 | $item->classes = array('wpinv-menu-item'); |
@@ -309,7 +309,7 @@ discard block |
||
| 309 | 309 | $items['pages'][] = $item; |
| 310 | 310 | } |
| 311 | 311 | |
| 312 | - return apply_filters( 'wpinv_menu_items', $items ); |
|
| 312 | + return apply_filters('wpinv_menu_items', $items); |
|
| 313 | 313 | } |
| 314 | 314 | |
| 315 | 315 | } |
@@ -1,67 +1,67 @@ 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 | -function wpinv_add_meta_boxes( $post_type, $post ) { |
|
| 7 | +function wpinv_add_meta_boxes($post_type, $post) { |
|
| 8 | 8 | global $wpi_mb_invoice; |
| 9 | - if ( $post_type == 'wpi_invoice' && !empty( $post->ID ) ) { |
|
| 10 | - $wpi_mb_invoice = wpinv_get_invoice( $post->ID ); |
|
| 9 | + if ($post_type == 'wpi_invoice' && !empty($post->ID)) { |
|
| 10 | + $wpi_mb_invoice = wpinv_get_invoice($post->ID); |
|
| 11 | 11 | } |
| 12 | 12 | |
| 13 | - if ( !empty( $wpi_mb_invoice ) && !$wpi_mb_invoice->has_status( array( 'draft', 'auto-draft' ) ) ) { |
|
| 14 | - add_meta_box( 'wpinv-mb-resend-invoice', __( 'Resend Invoice', 'invoicing' ), 'WPInv_Meta_Box_Details::resend_invoice', 'wpi_invoice', 'side', 'high' ); |
|
| 13 | + if (!empty($wpi_mb_invoice) && !$wpi_mb_invoice->has_status(array('draft', 'auto-draft'))) { |
|
| 14 | + add_meta_box('wpinv-mb-resend-invoice', __('Resend Invoice', 'invoicing'), 'WPInv_Meta_Box_Details::resend_invoice', 'wpi_invoice', 'side', 'high'); |
|
| 15 | 15 | } |
| 16 | 16 | |
| 17 | - if ( !empty( $wpi_mb_invoice ) && $wpi_mb_invoice->is_recurring() && $wpi_mb_invoice->is_parent() ) { |
|
| 18 | - add_meta_box( 'wpinv-mb-subscriptions', __( 'Subscriptions', 'invoicing' ), 'WPInv_Meta_Box_Details::subscriptions', 'wpi_invoice', 'side', 'high' ); |
|
| 17 | + if (!empty($wpi_mb_invoice) && $wpi_mb_invoice->is_recurring() && $wpi_mb_invoice->is_parent()) { |
|
| 18 | + add_meta_box('wpinv-mb-subscriptions', __('Subscriptions', 'invoicing'), 'WPInv_Meta_Box_Details::subscriptions', 'wpi_invoice', 'side', 'high'); |
|
| 19 | 19 | } |
| 20 | 20 | |
| 21 | - if ( wpinv_is_subscription_payment( $wpi_mb_invoice ) ) { |
|
| 22 | - add_meta_box( 'wpinv-mb-renewals', __( 'Renewal Payment', 'invoicing' ), 'WPInv_Meta_Box_Details::renewals', 'wpi_invoice', 'side', 'high' ); |
|
| 21 | + if (wpinv_is_subscription_payment($wpi_mb_invoice)) { |
|
| 22 | + add_meta_box('wpinv-mb-renewals', __('Renewal Payment', 'invoicing'), 'WPInv_Meta_Box_Details::renewals', 'wpi_invoice', 'side', 'high'); |
|
| 23 | 23 | } |
| 24 | 24 | |
| 25 | - add_meta_box( 'wpinv-details', __( 'Invoice Details', 'invoicing' ), 'WPInv_Meta_Box_Details::output', 'wpi_invoice', 'side', 'default' ); |
|
| 26 | - add_meta_box( 'wpinv-payment-meta', __( 'Payment Meta', 'invoicing' ), 'WPInv_Meta_Box_Details::payment_meta', 'wpi_invoice', 'side', 'default' ); |
|
| 25 | + add_meta_box('wpinv-details', __('Invoice Details', 'invoicing'), 'WPInv_Meta_Box_Details::output', 'wpi_invoice', 'side', 'default'); |
|
| 26 | + add_meta_box('wpinv-payment-meta', __('Payment Meta', 'invoicing'), 'WPInv_Meta_Box_Details::payment_meta', 'wpi_invoice', 'side', 'default'); |
|
| 27 | 27 | |
| 28 | - add_meta_box( 'wpinv-address', __( 'Billing Details', 'invoicing' ), 'WPInv_Meta_Box_Billing_Details::output', 'wpi_invoice', 'normal', 'high' ); |
|
| 29 | - add_meta_box( 'wpinv-items', __( 'Invoice Items', 'invoicing' ), 'WPInv_Meta_Box_Items::output', 'wpi_invoice', 'normal', 'high' ); |
|
| 30 | - add_meta_box( 'wpinv-notes', __( 'Invoice Notes', 'invoicing' ), 'WPInv_Meta_Box_Notes::output', 'wpi_invoice', 'normal', 'high' ); |
|
| 28 | + add_meta_box('wpinv-address', __('Billing Details', 'invoicing'), 'WPInv_Meta_Box_Billing_Details::output', 'wpi_invoice', 'normal', 'high'); |
|
| 29 | + add_meta_box('wpinv-items', __('Invoice Items', 'invoicing'), 'WPInv_Meta_Box_Items::output', 'wpi_invoice', 'normal', 'high'); |
|
| 30 | + add_meta_box('wpinv-notes', __('Invoice Notes', 'invoicing'), 'WPInv_Meta_Box_Notes::output', 'wpi_invoice', 'normal', 'high'); |
|
| 31 | 31 | |
| 32 | 32 | remove_meta_box('wpseo_meta', 'wpi_invoice', 'normal'); |
| 33 | 33 | } |
| 34 | -add_action( 'add_meta_boxes', 'wpinv_add_meta_boxes', 30, 2 ); |
|
| 34 | +add_action('add_meta_boxes', 'wpinv_add_meta_boxes', 30, 2); |
|
| 35 | 35 | |
| 36 | -function wpinv_save_meta_boxes( $post_id, $post, $update = false ) { |
|
| 37 | - remove_action( 'save_post', __FUNCTION__ ); |
|
| 36 | +function wpinv_save_meta_boxes($post_id, $post, $update = false) { |
|
| 37 | + remove_action('save_post', __FUNCTION__); |
|
| 38 | 38 | |
| 39 | 39 | // $post_id and $post are required |
| 40 | - if ( empty( $post_id ) || empty( $post ) ) { |
|
| 40 | + if (empty($post_id) || empty($post)) { |
|
| 41 | 41 | return; |
| 42 | 42 | } |
| 43 | 43 | |
| 44 | - if ( !current_user_can( 'edit_post', $post_id ) || empty( $post->post_type ) ) { |
|
| 44 | + if (!current_user_can('edit_post', $post_id) || empty($post->post_type)) { |
|
| 45 | 45 | return; |
| 46 | 46 | } |
| 47 | 47 | |
| 48 | 48 | // Dont' save meta boxes for revisions or autosaves |
| 49 | - if ( defined( 'DOING_AUTOSAVE' ) || is_int( wp_is_post_revision( $post ) ) || is_int( wp_is_post_autosave( $post ) ) ) { |
|
| 49 | + if (defined('DOING_AUTOSAVE') || is_int(wp_is_post_revision($post)) || is_int(wp_is_post_autosave($post))) { |
|
| 50 | 50 | return; |
| 51 | 51 | } |
| 52 | 52 | |
| 53 | - if ( $post->post_type == 'wpi_invoice' or $post->post_type == 'wpi_quote' ) { |
|
| 54 | - if ( ( defined( 'DOING_AJAX') && DOING_AJAX ) || isset( $_REQUEST['bulk_edit'] ) ) { |
|
| 53 | + if ($post->post_type == 'wpi_invoice' or $post->post_type == 'wpi_quote') { |
|
| 54 | + if ((defined('DOING_AJAX') && DOING_AJAX) || isset($_REQUEST['bulk_edit'])) { |
|
| 55 | 55 | return; |
| 56 | 56 | } |
| 57 | 57 | |
| 58 | - if ( isset( $_POST['wpinv_save_invoice'] ) && wp_verify_nonce( $_POST['wpinv_save_invoice'], 'wpinv_save_invoice' ) ) { |
|
| 59 | - WPInv_Meta_Box_Items::save( $post_id, $_POST, $post ); |
|
| 58 | + if (isset($_POST['wpinv_save_invoice']) && wp_verify_nonce($_POST['wpinv_save_invoice'], 'wpinv_save_invoice')) { |
|
| 59 | + WPInv_Meta_Box_Items::save($post_id, $_POST, $post); |
|
| 60 | 60 | } |
| 61 | - } else if ( $post->post_type == 'wpi_item' ) { |
|
| 61 | + } else if ($post->post_type == 'wpi_item') { |
|
| 62 | 62 | // verify nonce |
| 63 | - if ( isset( $_POST['wpinv_vat_meta_box_nonce'] ) && wp_verify_nonce( $_POST['wpinv_vat_meta_box_nonce'], 'wpinv_item_meta_box_save' ) ) { |
|
| 64 | - $fields = array(); |
|
| 63 | + if (isset($_POST['wpinv_vat_meta_box_nonce']) && wp_verify_nonce($_POST['wpinv_vat_meta_box_nonce'], 'wpinv_item_meta_box_save')) { |
|
| 64 | + $fields = array(); |
|
| 65 | 65 | $fields['_wpinv_price'] = 'wpinv_item_price'; |
| 66 | 66 | $fields['_wpinv_vat_class'] = 'wpinv_vat_class'; |
| 67 | 67 | $fields['_wpinv_vat_rule'] = 'wpinv_vat_rules'; |
@@ -76,96 +76,96 @@ discard block |
||
| 76 | 76 | $fields['_wpinv_dynamic_pricing'] = 'wpinv_name_your_price'; |
| 77 | 77 | $fields['_minimum_price'] = 'wpinv_minimum_price'; |
| 78 | 78 | |
| 79 | - if ( !isset( $_POST['wpinv_is_recurring'] ) ) { |
|
| 79 | + if (!isset($_POST['wpinv_is_recurring'])) { |
|
| 80 | 80 | $_POST['wpinv_is_recurring'] = 0; |
| 81 | 81 | } |
| 82 | 82 | |
| 83 | - if ( !isset( $_POST['wpinv_name_your_price'] ) ) { |
|
| 83 | + if (!isset($_POST['wpinv_name_your_price'])) { |
|
| 84 | 84 | $_POST['wpinv_name_your_price'] = 0; |
| 85 | 85 | } |
| 86 | 86 | |
| 87 | - if ( !isset( $_POST['wpinv_free_trial'] ) || empty( $_POST['wpinv_is_recurring'] ) ) { |
|
| 87 | + if (!isset($_POST['wpinv_free_trial']) || empty($_POST['wpinv_is_recurring'])) { |
|
| 88 | 88 | $_POST['wpinv_free_trial'] = 0; |
| 89 | 89 | } |
| 90 | 90 | |
| 91 | - foreach ( $fields as $field => $name ) { |
|
| 92 | - if ( isset( $_POST[ $name ] ) ) { |
|
| 93 | - $allowed = apply_filters( 'wpinv_item_allowed_save_meta_value', true, $field, $post_id ); |
|
| 91 | + foreach ($fields as $field => $name) { |
|
| 92 | + if (isset($_POST[$name])) { |
|
| 93 | + $allowed = apply_filters('wpinv_item_allowed_save_meta_value', true, $field, $post_id); |
|
| 94 | 94 | |
| 95 | - if ( !$allowed ) { |
|
| 95 | + if (!$allowed) { |
|
| 96 | 96 | continue; |
| 97 | 97 | } |
| 98 | 98 | |
| 99 | - if ( $field == '_wpinv_price' ) { |
|
| 100 | - $value = wpinv_sanitize_amount( $_POST[ $name ] ); |
|
| 99 | + if ($field == '_wpinv_price') { |
|
| 100 | + $value = wpinv_sanitize_amount($_POST[$name]); |
|
| 101 | 101 | } else { |
| 102 | - $value = is_string( $_POST[ $name ] ) ? sanitize_text_field( $_POST[ $name ] ) : $_POST[ $name ]; |
|
| 102 | + $value = is_string($_POST[$name]) ? sanitize_text_field($_POST[$name]) : $_POST[$name]; |
|
| 103 | 103 | } |
| 104 | 104 | |
| 105 | - $value = apply_filters( 'wpinv_item_metabox_save_' . $field, $value, $name ); |
|
| 106 | - update_post_meta( $post_id, $field, $value ); |
|
| 105 | + $value = apply_filters('wpinv_item_metabox_save_' . $field, $value, $name); |
|
| 106 | + update_post_meta($post_id, $field, $value); |
|
| 107 | 107 | } |
| 108 | 108 | } |
| 109 | 109 | |
| 110 | - if ( !get_post_meta( $post_id, '_wpinv_custom_id', true ) ) { |
|
| 111 | - update_post_meta( $post_id, '_wpinv_custom_id', $post_id ); |
|
| 110 | + if (!get_post_meta($post_id, '_wpinv_custom_id', true)) { |
|
| 111 | + update_post_meta($post_id, '_wpinv_custom_id', $post_id); |
|
| 112 | 112 | } |
| 113 | 113 | } |
| 114 | 114 | } |
| 115 | 115 | } |
| 116 | -add_action( 'save_post', 'wpinv_save_meta_boxes', 10, 3 ); |
|
| 116 | +add_action('save_post', 'wpinv_save_meta_boxes', 10, 3); |
|
| 117 | 117 | |
| 118 | 118 | function wpinv_register_item_meta_boxes() { |
| 119 | 119 | global $wpinv_euvat; |
| 120 | 120 | |
| 121 | - add_meta_box( 'wpinv_field_prices', __( 'Item Price', 'invoicing' ), 'WPInv_Meta_Box_Items::prices', 'wpi_item', 'normal', 'high' ); |
|
| 121 | + add_meta_box('wpinv_field_prices', __('Item Price', 'invoicing'), 'WPInv_Meta_Box_Items::prices', 'wpi_item', 'normal', 'high'); |
|
| 122 | 122 | |
| 123 | - if ( $wpinv_euvat->allow_vat_rules() ) { |
|
| 124 | - add_meta_box( 'wpinv_field_vat_rules', __( 'VAT rules type to use', 'invoicing' ), 'WPInv_Meta_Box_Items::vat_rules', 'wpi_item', 'normal', 'high' ); |
|
| 123 | + if ($wpinv_euvat->allow_vat_rules()) { |
|
| 124 | + add_meta_box('wpinv_field_vat_rules', __('VAT rules type to use', 'invoicing'), 'WPInv_Meta_Box_Items::vat_rules', 'wpi_item', 'normal', 'high'); |
|
| 125 | 125 | } |
| 126 | 126 | |
| 127 | - if ( $wpinv_euvat->allow_vat_classes() ) { |
|
| 128 | - add_meta_box( 'wpinv_field_vat_classes', __( 'VAT rates class to use', 'invoicing' ), 'WPInv_Meta_Box_Items::vat_classes', 'wpi_item', 'normal', 'high' ); |
|
| 127 | + if ($wpinv_euvat->allow_vat_classes()) { |
|
| 128 | + add_meta_box('wpinv_field_vat_classes', __('VAT rates class to use', 'invoicing'), 'WPInv_Meta_Box_Items::vat_classes', 'wpi_item', 'normal', 'high'); |
|
| 129 | 129 | } |
| 130 | 130 | |
| 131 | - add_meta_box( 'wpinv_field_item_info', __( 'Item info', 'invoicing' ), 'WPInv_Meta_Box_Items::item_info', 'wpi_item', 'side', 'core' ); |
|
| 132 | - add_meta_box( 'wpinv_field_meta_values', __( 'Item Meta Values', 'invoicing' ), 'WPInv_Meta_Box_Items::meta_values', 'wpi_item', 'side', 'core' ); |
|
| 131 | + add_meta_box('wpinv_field_item_info', __('Item info', 'invoicing'), 'WPInv_Meta_Box_Items::item_info', 'wpi_item', 'side', 'core'); |
|
| 132 | + add_meta_box('wpinv_field_meta_values', __('Item Meta Values', 'invoicing'), 'WPInv_Meta_Box_Items::meta_values', 'wpi_item', 'side', 'core'); |
|
| 133 | 133 | } |
| 134 | 134 | |
| 135 | 135 | function wpinv_register_discount_meta_boxes() { |
| 136 | - add_meta_box( 'wpinv_discount_fields', __( 'Discount Details', 'invoicing' ), 'wpinv_discount_metabox_details', 'wpi_discount', 'normal', 'high' ); |
|
| 136 | + add_meta_box('wpinv_discount_fields', __('Discount Details', 'invoicing'), 'wpinv_discount_metabox_details', 'wpi_discount', 'normal', 'high'); |
|
| 137 | 137 | } |
| 138 | 138 | |
| 139 | -function wpinv_discount_metabox_details( $post ) { |
|
| 139 | +function wpinv_discount_metabox_details($post) { |
|
| 140 | 140 | $discount_id = $post->ID; |
| 141 | - $discount = wpinv_get_discount( $discount_id ); |
|
| 141 | + $discount = wpinv_get_discount($discount_id); |
|
| 142 | 142 | |
| 143 | - $type = wpinv_get_discount_type( $discount_id ); |
|
| 144 | - $item_reqs = wpinv_get_discount_item_reqs( $discount_id ); |
|
| 145 | - $excluded_items = wpinv_get_discount_excluded_items( $discount_id ); |
|
| 146 | - $min_total = wpinv_get_discount_min_total( $discount_id ); |
|
| 147 | - $max_total = wpinv_get_discount_max_total( $discount_id ); |
|
| 148 | - $max_uses = wpinv_get_discount_max_uses( $discount_id ); |
|
| 149 | - $single_use = wpinv_discount_is_single_use( $discount_id ); |
|
| 150 | - $recurring = (bool)wpinv_discount_is_recurring( $discount_id ); |
|
| 151 | - $start_date = wpinv_get_discount_start_date( $discount_id ); |
|
| 152 | - $expiration_date = wpinv_get_discount_expiration( $discount_id ); |
|
| 143 | + $type = wpinv_get_discount_type($discount_id); |
|
| 144 | + $item_reqs = wpinv_get_discount_item_reqs($discount_id); |
|
| 145 | + $excluded_items = wpinv_get_discount_excluded_items($discount_id); |
|
| 146 | + $min_total = wpinv_get_discount_min_total($discount_id); |
|
| 147 | + $max_total = wpinv_get_discount_max_total($discount_id); |
|
| 148 | + $max_uses = wpinv_get_discount_max_uses($discount_id); |
|
| 149 | + $single_use = wpinv_discount_is_single_use($discount_id); |
|
| 150 | + $recurring = (bool)wpinv_discount_is_recurring($discount_id); |
|
| 151 | + $start_date = wpinv_get_discount_start_date($discount_id); |
|
| 152 | + $expiration_date = wpinv_get_discount_expiration($discount_id); |
|
| 153 | 153 | |
| 154 | - if ( ! empty( $start_date ) && strpos( $start_date, '0000' ) === false ) { |
|
| 155 | - $start_time = strtotime( $start_date ); |
|
| 156 | - $start_h = date_i18n( 'H', $start_time ); |
|
| 157 | - $start_m = date_i18n( 'i', $start_time ); |
|
| 158 | - $start_date = date_i18n( 'Y-m-d', $start_time ); |
|
| 154 | + if (!empty($start_date) && strpos($start_date, '0000') === false) { |
|
| 155 | + $start_time = strtotime($start_date); |
|
| 156 | + $start_h = date_i18n('H', $start_time); |
|
| 157 | + $start_m = date_i18n('i', $start_time); |
|
| 158 | + $start_date = date_i18n('Y-m-d', $start_time); |
|
| 159 | 159 | } else { |
| 160 | 160 | $start_h = '00'; |
| 161 | 161 | $start_m = '00'; |
| 162 | 162 | } |
| 163 | 163 | |
| 164 | - if ( ! empty( $expiration_date ) && strpos( $expiration_date, '0000' ) === false ) { |
|
| 165 | - $expiration_time = strtotime( $expiration_date ); |
|
| 166 | - $expiration_h = date_i18n( 'H', $expiration_time ); |
|
| 167 | - $expiration_m = date_i18n( 'i', $expiration_time ); |
|
| 168 | - $expiration_date = date_i18n( 'Y-m-d', $expiration_time ); |
|
| 164 | + if (!empty($expiration_date) && strpos($expiration_date, '0000') === false) { |
|
| 165 | + $expiration_time = strtotime($expiration_date); |
|
| 166 | + $expiration_h = date_i18n('H', $expiration_time); |
|
| 167 | + $expiration_m = date_i18n('i', $expiration_time); |
|
| 168 | + $expiration_date = date_i18n('Y-m-d', $expiration_time); |
|
| 169 | 169 | } else { |
| 170 | 170 | $expiration_h = '23'; |
| 171 | 171 | $expiration_m = '59'; |
@@ -175,207 +175,207 @@ discard block |
||
| 175 | 175 | $max_total = $max_total > 0 ? $max_total : ''; |
| 176 | 176 | $max_uses = $max_uses > 0 ? $max_uses : ''; |
| 177 | 177 | ?> |
| 178 | -<?php do_action( 'wpinv_discount_form_top', $post ); ?> |
|
| 179 | -<?php wp_nonce_field( 'wpinv_discount_metabox_nonce', 'wpinv_discount_metabox_nonce' ); ;?> |
|
| 178 | +<?php do_action('wpinv_discount_form_top', $post); ?> |
|
| 179 | +<?php wp_nonce_field('wpinv_discount_metabox_nonce', 'wpinv_discount_metabox_nonce'); ;?> |
|
| 180 | 180 | <table class="form-table wpi-form-table"> |
| 181 | 181 | <tbody> |
| 182 | - <?php do_action( 'wpinv_discount_form_first', $post ); ?> |
|
| 183 | - <?php do_action( 'wpinv_discount_form_before_code', $post ); ?> |
|
| 182 | + <?php do_action('wpinv_discount_form_first', $post); ?> |
|
| 183 | + <?php do_action('wpinv_discount_form_before_code', $post); ?> |
|
| 184 | 184 | <tr> |
| 185 | 185 | <th valign="top" scope="row"> |
| 186 | - <label for="wpinv_discount_code"><?php _e( 'Discount Code', 'invoicing' ); ?></label> |
|
| 186 | + <label for="wpinv_discount_code"><?php _e('Discount Code', 'invoicing'); ?></label> |
|
| 187 | 187 | </th> |
| 188 | 188 | <td> |
| 189 | - <input type="text" name="code" id="wpinv_discount_code" class="medium-text" value="<?php echo esc_attr( wpinv_get_discount_code( $discount_id ) ); ?>" required> |
|
| 190 | - <p class="description"><?php _e( 'Enter a code for this discount, such as 10OFF', 'invoicing' ); ?></p> |
|
| 189 | + <input type="text" name="code" id="wpinv_discount_code" class="medium-text" value="<?php echo esc_attr(wpinv_get_discount_code($discount_id)); ?>" required> |
|
| 190 | + <p class="description"><?php _e('Enter a code for this discount, such as 10OFF', 'invoicing'); ?></p> |
|
| 191 | 191 | </td> |
| 192 | 192 | </tr> |
| 193 | - <?php do_action( 'wpinv_discount_form_before_type', $post ); ?> |
|
| 193 | + <?php do_action('wpinv_discount_form_before_type', $post); ?> |
|
| 194 | 194 | <tr> |
| 195 | 195 | <th valign="top" scope="row"> |
| 196 | - <label for="wpinv_discount_type"><?php _e( 'Discount Type', 'invoicing' ); ?></label> |
|
| 196 | + <label for="wpinv_discount_type"><?php _e('Discount Type', 'invoicing'); ?></label> |
|
| 197 | 197 | </th> |
| 198 | 198 | <td> |
| 199 | 199 | <select id="wpinv_discount_type" name="type" class="medium-text wpi_select2"> |
| 200 | - <?php foreach ( wpinv_get_discount_types() as $value => $label ) { ?> |
|
| 201 | - <option value="<?php echo $value ;?>" <?php selected( $type, $value ); ?>><?php echo $label; ?></option> |
|
| 200 | + <?php foreach (wpinv_get_discount_types() as $value => $label) { ?> |
|
| 201 | + <option value="<?php echo $value; ?>" <?php selected($type, $value); ?>><?php echo $label; ?></option> |
|
| 202 | 202 | <?php } ?> |
| 203 | 203 | </select> |
| 204 | - <p class="description"><?php _e( 'The kind of discount to apply for this discount.', 'invoicing' ); ?></p> |
|
| 204 | + <p class="description"><?php _e('The kind of discount to apply for this discount.', 'invoicing'); ?></p> |
|
| 205 | 205 | </td> |
| 206 | 206 | </tr> |
| 207 | - <?php do_action( 'wpinv_discount_form_before_amount', $post ); ?> |
|
| 207 | + <?php do_action('wpinv_discount_form_before_amount', $post); ?> |
|
| 208 | 208 | <tr> |
| 209 | 209 | <th valign="top" scope="row"> |
| 210 | - <label for="wpinv_discount_amount"><?php _e( 'Amount', 'invoicing' ); ?></label> |
|
| 210 | + <label for="wpinv_discount_amount"><?php _e('Amount', 'invoicing'); ?></label> |
|
| 211 | 211 | </th> |
| 212 | 212 | <td> |
| 213 | - <input type="text" name="amount" id="wpinv_discount_amount" class="wpi-field-price wpi-price" value="<?php echo esc_attr( wpinv_get_discount_amount( $discount_id ) ); ?>" required> <font class="wpi-discount-p">%</font><font class="wpi-discount-f" style="display:none;"><?php echo wpinv_currency_symbol() ;?></font> |
|
| 214 | - <p style="display:none;" class="description"><?php _e( 'Enter the discount amount in USD', 'invoicing' ); ?></p> |
|
| 215 | - <p class="description"><?php _e( 'Enter the discount value. Ex: 10', 'invoicing' ); ?></p> |
|
| 213 | + <input type="text" name="amount" id="wpinv_discount_amount" class="wpi-field-price wpi-price" value="<?php echo esc_attr(wpinv_get_discount_amount($discount_id)); ?>" required> <font class="wpi-discount-p">%</font><font class="wpi-discount-f" style="display:none;"><?php echo wpinv_currency_symbol(); ?></font> |
|
| 214 | + <p style="display:none;" class="description"><?php _e('Enter the discount amount in USD', 'invoicing'); ?></p> |
|
| 215 | + <p class="description"><?php _e('Enter the discount value. Ex: 10', 'invoicing'); ?></p> |
|
| 216 | 216 | </td> |
| 217 | 217 | </tr> |
| 218 | - <?php do_action( 'wpinv_discount_form_before_items', $post ); ?> |
|
| 218 | + <?php do_action('wpinv_discount_form_before_items', $post); ?> |
|
| 219 | 219 | <tr> |
| 220 | 220 | <th valign="top" scope="row"> |
| 221 | - <label for="wpinv_discount_items"><?php _e( 'Items', 'invoicing' ); ?></label> |
|
| 221 | + <label for="wpinv_discount_items"><?php _e('Items', 'invoicing'); ?></label> |
|
| 222 | 222 | </th> |
| 223 | 223 | <td> |
| 224 | - <p><?php echo wpinv_item_dropdown( array( |
|
| 224 | + <p><?php echo wpinv_item_dropdown(array( |
|
| 225 | 225 | 'name' => 'items[]', |
| 226 | 226 | 'id' => 'items', |
| 227 | 227 | 'selected' => $item_reqs, |
| 228 | 228 | 'multiple' => true, |
| 229 | 229 | 'class' => 'medium-text wpi_select2', |
| 230 | - 'placeholder' => __( 'Select one or more Items', 'invoicing' ), |
|
| 230 | + 'placeholder' => __('Select one or more Items', 'invoicing'), |
|
| 231 | 231 | 'show_recurring' => true, |
| 232 | - ) ); ?> |
|
| 232 | + )); ?> |
|
| 233 | 233 | </p> |
| 234 | - <p class="description"><?php _e( 'Items which need to be in the cart to use this discount or, for "Item Discounts", which items are discounted. If left blank, this discount can be used on any item.', 'invoicing' ); ?></p> |
|
| 234 | + <p class="description"><?php _e('Items which need to be in the cart to use this discount or, for "Item Discounts", which items are discounted. If left blank, this discount can be used on any item.', 'invoicing'); ?></p> |
|
| 235 | 235 | </td> |
| 236 | 236 | </tr> |
| 237 | - <?php do_action( 'wpinv_discount_form_before_excluded_items', $post ); ?> |
|
| 237 | + <?php do_action('wpinv_discount_form_before_excluded_items', $post); ?> |
|
| 238 | 238 | <tr> |
| 239 | 239 | <th valign="top" scope="row"> |
| 240 | - <label for="wpinv_discount_excluded_items"><?php _e( 'Excluded Items', 'invoicing' ); ?></label> |
|
| 240 | + <label for="wpinv_discount_excluded_items"><?php _e('Excluded Items', 'invoicing'); ?></label> |
|
| 241 | 241 | </th> |
| 242 | 242 | <td> |
| 243 | - <p><?php echo wpinv_item_dropdown( array( |
|
| 243 | + <p><?php echo wpinv_item_dropdown(array( |
|
| 244 | 244 | 'name' => 'excluded_items[]', |
| 245 | 245 | 'id' => 'excluded_items', |
| 246 | 246 | 'selected' => $excluded_items, |
| 247 | 247 | 'multiple' => true, |
| 248 | 248 | 'class' => 'medium-text wpi_select2', |
| 249 | - 'placeholder' => __( 'Select one or more Items', 'invoicing' ), |
|
| 249 | + 'placeholder' => __('Select one or more Items', 'invoicing'), |
|
| 250 | 250 | 'show_recurring' => true, |
| 251 | - ) ); ?> |
|
| 251 | + )); ?> |
|
| 252 | 252 | </p> |
| 253 | - <p class="description"><?php _e( 'Items which are NOT allowed to use this discount.', 'invoicing' ); ?></p> |
|
| 253 | + <p class="description"><?php _e('Items which are NOT allowed to use this discount.', 'invoicing'); ?></p> |
|
| 254 | 254 | </td> |
| 255 | 255 | </tr> |
| 256 | - <?php do_action( 'wpinv_discount_form_before_start', $post ); ?> |
|
| 256 | + <?php do_action('wpinv_discount_form_before_start', $post); ?> |
|
| 257 | 257 | <tr> |
| 258 | 258 | <th valign="top" scope="row"> |
| 259 | - <label for="wpinv_discount_start"><?php _e( 'Start Date', 'invoicing' ); ?></label> |
|
| 259 | + <label for="wpinv_discount_start"><?php _e('Start Date', 'invoicing'); ?></label> |
|
| 260 | 260 | </th> |
| 261 | 261 | <td> |
| 262 | - <input type="text" class="w120 wpiDatepicker" id="wpinv_discount_start" data-dateFormat="yy-mm-dd" name="start" value="<?php echo esc_attr( $start_date ); ?>"> @ <select id="wpinv_discount_start_h" name="start_h"> |
|
| 263 | - <?php for ( $i = 0; $i <= 23; $i++ ) { $value = str_pad( $i, 2, '0', STR_PAD_LEFT ); ?> |
|
| 264 | - <option value="<?php echo $value;?>" <?php selected( $value, $start_h ); ?>><?php echo $value;?></option> |
|
| 262 | + <input type="text" class="w120 wpiDatepicker" id="wpinv_discount_start" data-dateFormat="yy-mm-dd" name="start" value="<?php echo esc_attr($start_date); ?>"> @ <select id="wpinv_discount_start_h" name="start_h"> |
|
| 263 | + <?php for ($i = 0; $i <= 23; $i++) { $value = str_pad($i, 2, '0', STR_PAD_LEFT); ?> |
|
| 264 | + <option value="<?php echo $value; ?>" <?php selected($value, $start_h); ?>><?php echo $value; ?></option> |
|
| 265 | 265 | <?php } ?> |
| 266 | 266 | </select> : <select id="wpinv_discount_start_m" name="start_m"> |
| 267 | - <?php for ( $i = 0; $i <= 59; $i++ ) { $value = str_pad( $i, 2, '0', STR_PAD_LEFT ); ?> |
|
| 268 | - <option value="<?php echo $value;?>" <?php selected( $value, $start_m ); ?>><?php echo $value;?></option> |
|
| 267 | + <?php for ($i = 0; $i <= 59; $i++) { $value = str_pad($i, 2, '0', STR_PAD_LEFT); ?> |
|
| 268 | + <option value="<?php echo $value; ?>" <?php selected($value, $start_m); ?>><?php echo $value; ?></option> |
|
| 269 | 269 | <?php } ?> |
| 270 | 270 | </select> |
| 271 | - <p class="description"><?php _e( 'Enter the start date for this discount code in the format of yyyy-mm-dd. For no start date, leave blank. If entered, the discount can only be used after or on this date.', 'invoicing' ); ?></p> |
|
| 271 | + <p class="description"><?php _e('Enter the start date for this discount code in the format of yyyy-mm-dd. For no start date, leave blank. If entered, the discount can only be used after or on this date.', 'invoicing'); ?></p> |
|
| 272 | 272 | </td> |
| 273 | 273 | </tr> |
| 274 | - <?php do_action( 'wpinv_discount_form_before_expiration', $post ); ?> |
|
| 274 | + <?php do_action('wpinv_discount_form_before_expiration', $post); ?> |
|
| 275 | 275 | <tr> |
| 276 | 276 | <th valign="top" scope="row"> |
| 277 | - <label for="wpinv_discount_expiration"><?php _e( 'Expiration Date', 'invoicing' ); ?></label> |
|
| 277 | + <label for="wpinv_discount_expiration"><?php _e('Expiration Date', 'invoicing'); ?></label> |
|
| 278 | 278 | </th> |
| 279 | 279 | <td> |
| 280 | - <input type="text" class="w120 wpiDatepicker" id="wpinv_discount_expiration" data-dateFormat="yy-mm-dd" name="expiration" value="<?php echo esc_attr( $expiration_date ); ?>"> @ <select id="wpinv_discount_expiration_h" name="expiration_h"> |
|
| 281 | - <?php for ( $i = 0; $i <= 23; $i++ ) { $value = str_pad( $i, 2, '0', STR_PAD_LEFT ); ?> |
|
| 282 | - <option value="<?php echo $value;?>" <?php selected( $value, $expiration_h ); ?>><?php echo $value;?></option> |
|
| 280 | + <input type="text" class="w120 wpiDatepicker" id="wpinv_discount_expiration" data-dateFormat="yy-mm-dd" name="expiration" value="<?php echo esc_attr($expiration_date); ?>"> @ <select id="wpinv_discount_expiration_h" name="expiration_h"> |
|
| 281 | + <?php for ($i = 0; $i <= 23; $i++) { $value = str_pad($i, 2, '0', STR_PAD_LEFT); ?> |
|
| 282 | + <option value="<?php echo $value; ?>" <?php selected($value, $expiration_h); ?>><?php echo $value; ?></option> |
|
| 283 | 283 | <?php } ?> |
| 284 | 284 | </select> : <select id="wpinv_discount_expiration_m" name="expiration_m"> |
| 285 | - <?php for ( $i = 0; $i <= 59; $i++ ) { $value = str_pad( $i, 2, '0', STR_PAD_LEFT ); ?> |
|
| 286 | - <option value="<?php echo $value;?>" <?php selected( $value, $expiration_m ); ?>><?php echo $value;?></option> |
|
| 285 | + <?php for ($i = 0; $i <= 59; $i++) { $value = str_pad($i, 2, '0', STR_PAD_LEFT); ?> |
|
| 286 | + <option value="<?php echo $value; ?>" <?php selected($value, $expiration_m); ?>><?php echo $value; ?></option> |
|
| 287 | 287 | <?php } ?> |
| 288 | 288 | </select> |
| 289 | - <p class="description"><?php _e( 'Enter the expiration date for this discount code in the format of yyyy-mm-dd. Leave blank for no expiration.', 'invoicing' ); ?></p> |
|
| 289 | + <p class="description"><?php _e('Enter the expiration date for this discount code in the format of yyyy-mm-dd. Leave blank for no expiration.', 'invoicing'); ?></p> |
|
| 290 | 290 | </td> |
| 291 | 291 | </tr> |
| 292 | - <?php do_action( 'wpinv_discount_form_before_min_total', $post ); ?> |
|
| 292 | + <?php do_action('wpinv_discount_form_before_min_total', $post); ?> |
|
| 293 | 293 | <tr> |
| 294 | 294 | <th valign="top" scope="row"> |
| 295 | - <label for="wpinv_discount_min_total"><?php _e( 'Minimum Amount', 'invoicing' ); ?></label> |
|
| 295 | + <label for="wpinv_discount_min_total"><?php _e('Minimum Amount', 'invoicing'); ?></label> |
|
| 296 | 296 | </th> |
| 297 | 297 | <td> |
| 298 | 298 | <input type="text" name="min_total" id="wpinv_discount_min_total" class="wpi-field-price wpi-price" value="<?php echo $min_total; ?>"> |
| 299 | - <p class="description"><?php _e( 'This allows you to set the minimum amount (subtotal, including taxes) allowed when using the discount.', 'invoicing' ); ?></p> |
|
| 299 | + <p class="description"><?php _e('This allows you to set the minimum amount (subtotal, including taxes) allowed when using the discount.', 'invoicing'); ?></p> |
|
| 300 | 300 | </td> |
| 301 | 301 | </tr> |
| 302 | - <?php do_action( 'wpinv_discount_form_before_max_total', $post ); ?> |
|
| 302 | + <?php do_action('wpinv_discount_form_before_max_total', $post); ?> |
|
| 303 | 303 | <tr> |
| 304 | 304 | <th valign="top" scope="row"> |
| 305 | - <label for="wpinv_discount_max_total"><?php _e( 'Maximum Amount', 'invoicing' ); ?></label> |
|
| 305 | + <label for="wpinv_discount_max_total"><?php _e('Maximum Amount', 'invoicing'); ?></label> |
|
| 306 | 306 | </th> |
| 307 | 307 | <td> |
| 308 | 308 | <input type="text" name="max_total" id="wpinv_discount_max_total" class="wpi-field-price wpi-price" value="<?php echo $max_total; ?>"> |
| 309 | - <p class="description"><?php _e( 'This allows you to set the maximum amount (subtotal, including taxes) allowed when using the discount.', 'invoicing' ); ?></p> |
|
| 309 | + <p class="description"><?php _e('This allows you to set the maximum amount (subtotal, including taxes) allowed when using the discount.', 'invoicing'); ?></p> |
|
| 310 | 310 | </td> |
| 311 | 311 | </tr> |
| 312 | - <?php do_action( 'wpinv_discount_form_before_recurring', $post ); ?> |
|
| 312 | + <?php do_action('wpinv_discount_form_before_recurring', $post); ?> |
|
| 313 | 313 | <tr> |
| 314 | 314 | <th valign="top" scope="row"> |
| 315 | - <label for="wpinv_discount_recurring"><?php _e( 'For recurring apply to', 'invoicing' ); ?></label> |
|
| 315 | + <label for="wpinv_discount_recurring"><?php _e('For recurring apply to', 'invoicing'); ?></label> |
|
| 316 | 316 | </th> |
| 317 | 317 | <td> |
| 318 | 318 | <select id="wpinv_discount_recurring" name="recurring" class="medium-text wpi_select2"> |
| 319 | - <option value="0" <?php selected( false, $recurring ); ?>><?php _e( 'All payments', 'invoicing' ); ?></option> |
|
| 320 | - <option value="1" <?php selected( true, $recurring ); ?>><?php _e( 'First payment only', 'invoicing' ); ?></option> |
|
| 319 | + <option value="0" <?php selected(false, $recurring); ?>><?php _e('All payments', 'invoicing'); ?></option> |
|
| 320 | + <option value="1" <?php selected(true, $recurring); ?>><?php _e('First payment only', 'invoicing'); ?></option> |
|
| 321 | 321 | </select> |
| 322 | - <p class="description"><?php _e( '<b>All payments:</b> Apply this discount to all recurring payments of the recurring invoice. <br><b>First payment only:</b> Apply this discount to only first payment of the recurring invoice.', 'invoicing' ); ?></p> |
|
| 322 | + <p class="description"><?php _e('<b>All payments:</b> Apply this discount to all recurring payments of the recurring invoice. <br><b>First payment only:</b> Apply this discount to only first payment of the recurring invoice.', 'invoicing'); ?></p> |
|
| 323 | 323 | </td> |
| 324 | 324 | </tr> |
| 325 | - <?php do_action( 'wpinv_discount_form_before_max_uses', $post ); ?> |
|
| 325 | + <?php do_action('wpinv_discount_form_before_max_uses', $post); ?> |
|
| 326 | 326 | <tr> |
| 327 | 327 | <th valign="top" scope="row"> |
| 328 | - <label for="wpinv_discount_max_uses"><?php _e( 'Max Uses', 'invoicing' ); ?></label> |
|
| 328 | + <label for="wpinv_discount_max_uses"><?php _e('Max Uses', 'invoicing'); ?></label> |
|
| 329 | 329 | </th> |
| 330 | 330 | <td> |
| 331 | 331 | <input type="number" min="0" step="1" id="wpinv_discount_max_uses" name="max_uses" class="medium-text" value="<?php echo $max_uses; ?>"> |
| 332 | - <p class="description"><?php _e( 'The maximum number of times this discount can be used. Leave blank for unlimited.', 'invoicing' ); ?></p> |
|
| 332 | + <p class="description"><?php _e('The maximum number of times this discount can be used. Leave blank for unlimited.', 'invoicing'); ?></p> |
|
| 333 | 333 | </td> |
| 334 | 334 | </tr> |
| 335 | - <?php do_action( 'wpinv_discount_form_before_single_use', $post ); ?> |
|
| 335 | + <?php do_action('wpinv_discount_form_before_single_use', $post); ?> |
|
| 336 | 336 | <tr> |
| 337 | 337 | <th valign="top" scope="row"> |
| 338 | - <label for="wpinv_discount_single_use"><?php _e( 'Use Once Per User', 'invoicing' ); ?></label> |
|
| 338 | + <label for="wpinv_discount_single_use"><?php _e('Use Once Per User', 'invoicing'); ?></label> |
|
| 339 | 339 | </th> |
| 340 | 340 | <td> |
| 341 | - <input type="checkbox" value="1" name="single_use" id="wpinv_discount_single_use" <?php checked( true, $single_use ); ?>> |
|
| 342 | - <span class="description"><?php _e( 'Limit this discount to a single use per user?', 'invoicing' ); ?></span> |
|
| 341 | + <input type="checkbox" value="1" name="single_use" id="wpinv_discount_single_use" <?php checked(true, $single_use); ?>> |
|
| 342 | + <span class="description"><?php _e('Limit this discount to a single use per user?', 'invoicing'); ?></span> |
|
| 343 | 343 | </td> |
| 344 | 344 | </tr> |
| 345 | - <?php do_action( 'wpinv_discount_form_last', $post ); ?> |
|
| 345 | + <?php do_action('wpinv_discount_form_last', $post); ?> |
|
| 346 | 346 | </tbody> |
| 347 | 347 | </table> |
| 348 | -<?php do_action( 'wpinv_discount_form_bottom', $post ); ?> |
|
| 348 | +<?php do_action('wpinv_discount_form_bottom', $post); ?> |
|
| 349 | 349 | <?php |
| 350 | 350 | } |
| 351 | 351 | |
| 352 | -function wpinv_discount_metabox_save( $post_id, $post, $update = false ) { |
|
| 353 | - $post_type = !empty( $post ) ? $post->post_type : ''; |
|
| 352 | +function wpinv_discount_metabox_save($post_id, $post, $update = false) { |
|
| 353 | + $post_type = !empty($post) ? $post->post_type : ''; |
|
| 354 | 354 | |
| 355 | - if ( $post_type != 'wpi_discount' ) { |
|
| 355 | + if ($post_type != 'wpi_discount') { |
|
| 356 | 356 | return; |
| 357 | 357 | } |
| 358 | 358 | |
| 359 | - if ( !isset( $_POST['wpinv_discount_metabox_nonce'] ) || ( isset( $_POST['wpinv_discount_metabox_nonce'] ) && !wp_verify_nonce( $_POST['wpinv_discount_metabox_nonce'], 'wpinv_discount_metabox_nonce' ) ) ) { |
|
| 359 | + if (!isset($_POST['wpinv_discount_metabox_nonce']) || (isset($_POST['wpinv_discount_metabox_nonce']) && !wp_verify_nonce($_POST['wpinv_discount_metabox_nonce'], 'wpinv_discount_metabox_nonce'))) { |
|
| 360 | 360 | return; |
| 361 | 361 | } |
| 362 | 362 | |
| 363 | - if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) || ( defined( 'DOING_AJAX') && DOING_AJAX ) || isset( $_REQUEST['bulk_edit'] ) ) { |
|
| 363 | + if ((defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) || (defined('DOING_AJAX') && DOING_AJAX) || isset($_REQUEST['bulk_edit'])) { |
|
| 364 | 364 | return; |
| 365 | 365 | } |
| 366 | 366 | |
| 367 | - if ( !current_user_can( wpinv_get_capability(), $post_id ) ) { |
|
| 367 | + if (!current_user_can(wpinv_get_capability(), $post_id)) { |
|
| 368 | 368 | return; |
| 369 | 369 | } |
| 370 | 370 | |
| 371 | - if ( !empty( $_POST['start'] ) && isset( $_POST['start_h'] ) && isset( $_POST['start_m'] ) && $_POST['start_h'] !== '' && $_POST['start_m'] !== '' ) { |
|
| 371 | + if (!empty($_POST['start']) && isset($_POST['start_h']) && isset($_POST['start_m']) && $_POST['start_h'] !== '' && $_POST['start_m'] !== '') { |
|
| 372 | 372 | $_POST['start'] = $_POST['start'] . ' ' . $_POST['start_h'] . ':' . $_POST['start_m']; |
| 373 | 373 | } |
| 374 | 374 | |
| 375 | - if ( !empty( $_POST['expiration'] ) && isset( $_POST['expiration_h'] ) && isset( $_POST['expiration_m'] ) ) { |
|
| 375 | + if (!empty($_POST['expiration']) && isset($_POST['expiration_h']) && isset($_POST['expiration_m'])) { |
|
| 376 | 376 | $_POST['expiration'] = $_POST['expiration'] . ' ' . $_POST['expiration_h'] . ':' . $_POST['expiration_m']; |
| 377 | 377 | } |
| 378 | 378 | |
| 379 | - return wpinv_store_discount( $post_id, $_POST, $post, $update ); |
|
| 379 | + return wpinv_store_discount($post_id, $_POST, $post, $update); |
|
| 380 | 380 | } |
| 381 | -add_action( 'save_post', 'wpinv_discount_metabox_save', 10, 3 ); |
|
| 382 | 381 | \ No newline at end of file |
| 382 | +add_action('save_post', 'wpinv_discount_metabox_save', 10, 3); |
|
| 383 | 383 | \ No newline at end of file |
@@ -101,9 +101,9 @@ discard block |
||
| 101 | 101 | case 'status' : |
| 102 | 102 | $value = $wpi_invoice->get_status( true ) . ( $wpi_invoice->is_recurring() && $wpi_invoice->is_parent() ? ' <span class="wpi-suffix">' . __( '(r)', 'invoicing' ) . '</span>' : '' ); |
| 103 | 103 | $is_viewed = wpinv_is_invoice_viewed( $wpi_invoice->ID ); |
| 104 | - $gateway_title = wpinv_get_gateway_admin_label( $wpi_invoice->get_gateway() ); |
|
| 105 | - $offline_gateways = apply_filters('wpinv_offline_payments', array('bank_transfer', 'cheque', 'cod')); |
|
| 106 | - $is_offline_payment = in_array($wpi_invoice->get_gateway(), $offline_gateways) ? true : false; |
|
| 104 | + $gateway_title = wpinv_get_gateway_admin_label( $wpi_invoice->get_gateway() ); |
|
| 105 | + $offline_gateways = apply_filters('wpinv_offline_payments', array('bank_transfer', 'cheque', 'cod')); |
|
| 106 | + $is_offline_payment = in_array($wpi_invoice->get_gateway(), $offline_gateways) ? true : false; |
|
| 107 | 107 | |
| 108 | 108 | if ( 1 == $is_viewed ) { |
| 109 | 109 | $value .= ' <i class="fa fa-eye" title="'.__( 'Viewed by Customer', 'invoicing' ).'"></i>'; |
@@ -174,69 +174,69 @@ discard block |
||
| 174 | 174 | } |
| 175 | 175 | |
| 176 | 176 | function wpinv_admin_messages() { |
| 177 | - global $wpinv_options, $pagenow, $post; |
|
| 177 | + global $wpinv_options, $pagenow, $post; |
|
| 178 | 178 | |
| 179 | - if ( isset( $_GET['wpinv-message'] ) && 'discount_added' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 180 | - add_settings_error( 'wpinv-notices', 'wpinv-discount-added', __( 'Discount code added.', 'invoicing' ), 'updated' ); |
|
| 181 | - } |
|
| 179 | + if ( isset( $_GET['wpinv-message'] ) && 'discount_added' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 180 | + add_settings_error( 'wpinv-notices', 'wpinv-discount-added', __( 'Discount code added.', 'invoicing' ), 'updated' ); |
|
| 181 | + } |
|
| 182 | 182 | |
| 183 | - if ( isset( $_GET['wpinv-message'] ) && 'discount_add_failed' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 184 | - add_settings_error( 'wpinv-notices', 'wpinv-discount-add-fail', __( 'There was a problem adding your discount code, please try again.', 'invoicing' ), 'error' ); |
|
| 185 | - } |
|
| 183 | + if ( isset( $_GET['wpinv-message'] ) && 'discount_add_failed' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 184 | + add_settings_error( 'wpinv-notices', 'wpinv-discount-add-fail', __( 'There was a problem adding your discount code, please try again.', 'invoicing' ), 'error' ); |
|
| 185 | + } |
|
| 186 | 186 | |
| 187 | - if ( isset( $_GET['wpinv-message'] ) && 'discount_exists' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 188 | - add_settings_error( 'wpinv-notices', 'wpinv-discount-exists', __( 'A discount with that code already exists, please use a different code.', 'invoicing' ), 'error' ); |
|
| 189 | - } |
|
| 187 | + if ( isset( $_GET['wpinv-message'] ) && 'discount_exists' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 188 | + add_settings_error( 'wpinv-notices', 'wpinv-discount-exists', __( 'A discount with that code already exists, please use a different code.', 'invoicing' ), 'error' ); |
|
| 189 | + } |
|
| 190 | 190 | |
| 191 | - if ( isset( $_GET['wpinv-message'] ) && 'discount_updated' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 192 | - add_settings_error( 'wpinv-notices', 'wpinv-discount-updated', __( 'Discount code updated.', 'invoicing' ), 'updated' ); |
|
| 193 | - } |
|
| 191 | + if ( isset( $_GET['wpinv-message'] ) && 'discount_updated' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 192 | + add_settings_error( 'wpinv-notices', 'wpinv-discount-updated', __( 'Discount code updated.', 'invoicing' ), 'updated' ); |
|
| 193 | + } |
|
| 194 | 194 | |
| 195 | - if ( isset( $_GET['wpinv-message'] ) && 'discount_update_failed' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 196 | - add_settings_error( 'wpinv-notices', 'wpinv-discount-updated-fail', __( 'There was a problem updating your discount code, please try again.', 'invoicing' ), 'error' ); |
|
| 197 | - } |
|
| 195 | + if ( isset( $_GET['wpinv-message'] ) && 'discount_update_failed' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 196 | + add_settings_error( 'wpinv-notices', 'wpinv-discount-updated-fail', __( 'There was a problem updating your discount code, please try again.', 'invoicing' ), 'error' ); |
|
| 197 | + } |
|
| 198 | 198 | |
| 199 | - if ( isset( $_GET['wpinv-message'] ) && 'invoice_deleted' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 200 | - add_settings_error( 'wpinv-notices', 'wpinv-deleted', __( 'The invoice has been deleted.', 'invoicing' ), 'updated' ); |
|
| 201 | - } |
|
| 199 | + if ( isset( $_GET['wpinv-message'] ) && 'invoice_deleted' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 200 | + add_settings_error( 'wpinv-notices', 'wpinv-deleted', __( 'The invoice has been deleted.', 'invoicing' ), 'updated' ); |
|
| 201 | + } |
|
| 202 | 202 | |
| 203 | - if ( isset( $_GET['wpinv-message'] ) && 'email_disabled' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 204 | - add_settings_error( 'wpinv-notices', 'wpinv-sent-fail', __( 'Email notification is disabled. Please check settings.', 'invoicing' ), 'error' ); |
|
| 205 | - } |
|
| 203 | + if ( isset( $_GET['wpinv-message'] ) && 'email_disabled' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 204 | + add_settings_error( 'wpinv-notices', 'wpinv-sent-fail', __( 'Email notification is disabled. Please check settings.', 'invoicing' ), 'error' ); |
|
| 205 | + } |
|
| 206 | 206 | |
| 207 | - if ( isset( $_GET['wpinv-message'] ) && 'email_sent' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 208 | - add_settings_error( 'wpinv-notices', 'wpinv-sent', __( 'The email has been sent to customer.', 'invoicing' ), 'updated' ); |
|
| 207 | + if ( isset( $_GET['wpinv-message'] ) && 'email_sent' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 208 | + add_settings_error( 'wpinv-notices', 'wpinv-sent', __( 'The email has been sent to customer.', 'invoicing' ), 'updated' ); |
|
| 209 | 209 | } |
| 210 | 210 | |
| 211 | 211 | if ( isset( $_GET['wpinv-message'] ) && 'email_fail' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
| 212 | - add_settings_error( 'wpinv-notices', 'wpinv-sent-fail', __( 'Fail to send email to the customer.', 'invoicing' ), 'error' ); |
|
| 212 | + add_settings_error( 'wpinv-notices', 'wpinv-sent-fail', __( 'Fail to send email to the customer.', 'invoicing' ), 'error' ); |
|
| 213 | 213 | } |
| 214 | 214 | |
| 215 | 215 | if ( isset( $_GET['wpinv-message'] ) && 'invoice-note-deleted' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
| 216 | 216 | add_settings_error( 'wpinv-notices', 'wpinv-note-deleted', __( 'The invoice note has been deleted.', 'invoicing' ), 'updated' ); |
| 217 | 217 | } |
| 218 | 218 | |
| 219 | - if ( isset( $_GET['wpinv-message'] ) && 'settings-imported' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 220 | - add_settings_error( 'wpinv-notices', 'wpinv-settings-imported', __( 'The settings have been imported.', 'invoicing' ), 'updated' ); |
|
| 221 | - } |
|
| 219 | + if ( isset( $_GET['wpinv-message'] ) && 'settings-imported' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 220 | + add_settings_error( 'wpinv-notices', 'wpinv-settings-imported', __( 'The settings have been imported.', 'invoicing' ), 'updated' ); |
|
| 221 | + } |
|
| 222 | 222 | |
| 223 | - if ( isset( $_GET['wpinv-message'] ) && 'note-added' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 224 | - add_settings_error( 'wpinv-notices', 'wpinv-note-added', __( 'The invoice note has been added successfully.', 'invoicing' ), 'updated' ); |
|
| 225 | - } |
|
| 223 | + if ( isset( $_GET['wpinv-message'] ) && 'note-added' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 224 | + add_settings_error( 'wpinv-notices', 'wpinv-note-added', __( 'The invoice note has been added successfully.', 'invoicing' ), 'updated' ); |
|
| 225 | + } |
|
| 226 | 226 | |
| 227 | - if ( isset( $_GET['wpinv-message'] ) && 'invoice-updated' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 228 | - add_settings_error( 'wpinv-notices', 'wpinv-updated', __( 'The invoice has been successfully updated.', 'invoicing' ), 'updated' ); |
|
| 229 | - } |
|
| 227 | + if ( isset( $_GET['wpinv-message'] ) && 'invoice-updated' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 228 | + add_settings_error( 'wpinv-notices', 'wpinv-updated', __( 'The invoice has been successfully updated.', 'invoicing' ), 'updated' ); |
|
| 229 | + } |
|
| 230 | 230 | |
| 231 | - if ( $pagenow == 'post.php' && !empty( $post->post_type ) && $post->post_type == 'wpi_item' && !wpinv_item_is_editable( $post ) ) { |
|
| 232 | - $message = apply_filters( 'wpinv_item_non_editable_message', __( 'This item in not editable.', 'invoicing' ), $post->ID ); |
|
| 231 | + if ( $pagenow == 'post.php' && !empty( $post->post_type ) && $post->post_type == 'wpi_item' && !wpinv_item_is_editable( $post ) ) { |
|
| 232 | + $message = apply_filters( 'wpinv_item_non_editable_message', __( 'This item in not editable.', 'invoicing' ), $post->ID ); |
|
| 233 | 233 | |
| 234 | - if ( !empty( $message ) ) { |
|
| 235 | - add_settings_error( 'wpinv-notices', 'wpinv-edit-n', $message, 'updated' ); |
|
| 236 | - } |
|
| 237 | - } |
|
| 234 | + if ( !empty( $message ) ) { |
|
| 235 | + add_settings_error( 'wpinv-notices', 'wpinv-edit-n', $message, 'updated' ); |
|
| 236 | + } |
|
| 237 | + } |
|
| 238 | 238 | |
| 239 | - settings_errors( 'wpinv-notices' ); |
|
| 239 | + settings_errors( 'wpinv-notices' ); |
|
| 240 | 240 | } |
| 241 | 241 | add_action( 'admin_notices', 'wpinv_admin_messages' ); |
| 242 | 242 | |
@@ -326,7 +326,7 @@ discard block |
||
| 326 | 326 | break; |
| 327 | 327 | case 'id' : |
| 328 | 328 | echo $post->ID; |
| 329 | - echo '<div class="hidden" id="wpinv_inline-' . $post->ID . '"> |
|
| 329 | + echo '<div class="hidden" id="wpinv_inline-' . $post->ID . '"> |
|
| 330 | 330 | <div class="price">' . wpinv_get_item_price( $post->ID ) . '</div>'; |
| 331 | 331 | if ( $wpinv_euvat->allow_vat_rules() ) { |
| 332 | 332 | echo '<div class="vat_rule">' . $wpinv_euvat->get_item_rule( $post->ID ) . '</div>'; |
@@ -7,245 +7,245 @@ 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 | -function wpinv_columns( $columns ) { |
|
| 14 | +function wpinv_columns($columns) { |
|
| 15 | 15 | $columns = array( |
| 16 | 16 | 'cb' => $columns['cb'], |
| 17 | - 'number' => __( 'Number', 'invoicing' ), |
|
| 18 | - 'customer' => __( 'Customer', 'invoicing' ), |
|
| 19 | - 'amount' => __( 'Amount', 'invoicing' ), |
|
| 20 | - 'invoice_date' => __( 'Created Date', 'invoicing' ), |
|
| 21 | - 'payment_date' => __( 'Payment Date', 'invoicing' ), |
|
| 22 | - 'status' => __( 'Status', 'invoicing' ), |
|
| 23 | - 'ID' => __( 'ID', 'invoicing' ), |
|
| 24 | - 'wpi_actions' => __( 'Actions', 'invoicing' ), |
|
| 17 | + 'number' => __('Number', 'invoicing'), |
|
| 18 | + 'customer' => __('Customer', 'invoicing'), |
|
| 19 | + 'amount' => __('Amount', 'invoicing'), |
|
| 20 | + 'invoice_date' => __('Created Date', 'invoicing'), |
|
| 21 | + 'payment_date' => __('Payment Date', 'invoicing'), |
|
| 22 | + 'status' => __('Status', 'invoicing'), |
|
| 23 | + 'ID' => __('ID', 'invoicing'), |
|
| 24 | + 'wpi_actions' => __('Actions', 'invoicing'), |
|
| 25 | 25 | ); |
| 26 | 26 | |
| 27 | - return apply_filters( 'wpi_invoice_table_columns', $columns ); |
|
| 27 | + return apply_filters('wpi_invoice_table_columns', $columns); |
|
| 28 | 28 | } |
| 29 | -add_filter( 'manage_wpi_invoice_posts_columns', 'wpinv_columns' ); |
|
| 29 | +add_filter('manage_wpi_invoice_posts_columns', 'wpinv_columns'); |
|
| 30 | 30 | |
| 31 | -function wpinv_bulk_actions( $actions ) { |
|
| 32 | - if ( isset( $actions['edit'] ) ) { |
|
| 33 | - unset( $actions['edit'] ); |
|
| 31 | +function wpinv_bulk_actions($actions) { |
|
| 32 | + if (isset($actions['edit'])) { |
|
| 33 | + unset($actions['edit']); |
|
| 34 | 34 | } |
| 35 | 35 | |
| 36 | 36 | return $actions; |
| 37 | 37 | } |
| 38 | -add_filter( 'bulk_actions-edit-wpi_invoice', 'wpinv_bulk_actions' ); |
|
| 39 | -add_filter( 'bulk_actions-edit-wpi_item', 'wpinv_bulk_actions' ); |
|
| 38 | +add_filter('bulk_actions-edit-wpi_invoice', 'wpinv_bulk_actions'); |
|
| 39 | +add_filter('bulk_actions-edit-wpi_item', 'wpinv_bulk_actions'); |
|
| 40 | 40 | |
| 41 | -function wpinv_sortable_columns( $columns ) { |
|
| 41 | +function wpinv_sortable_columns($columns) { |
|
| 42 | 42 | $columns = array( |
| 43 | - 'ID' => array( 'ID', true ), |
|
| 44 | - 'number' => array( 'number', false ), |
|
| 45 | - 'amount' => array( 'amount', false ), |
|
| 46 | - 'invoice_date' => array( 'date', false ), |
|
| 47 | - 'payment_date' => array( 'payment_date', true ), |
|
| 48 | - 'customer' => array( 'customer', false ), |
|
| 49 | - 'status' => array( 'status', false ), |
|
| 43 | + 'ID' => array('ID', true), |
|
| 44 | + 'number' => array('number', false), |
|
| 45 | + 'amount' => array('amount', false), |
|
| 46 | + 'invoice_date' => array('date', false), |
|
| 47 | + 'payment_date' => array('payment_date', true), |
|
| 48 | + 'customer' => array('customer', false), |
|
| 49 | + 'status' => array('status', false), |
|
| 50 | 50 | ); |
| 51 | 51 | |
| 52 | - return apply_filters( 'wpi_invoice_table_sortable_columns', $columns ); |
|
| 52 | + return apply_filters('wpi_invoice_table_sortable_columns', $columns); |
|
| 53 | 53 | } |
| 54 | -add_filter( 'manage_edit-wpi_invoice_sortable_columns', 'wpinv_sortable_columns' ); |
|
| 54 | +add_filter('manage_edit-wpi_invoice_sortable_columns', 'wpinv_sortable_columns'); |
|
| 55 | 55 | |
| 56 | -add_action( 'manage_wpi_invoice_posts_custom_column', 'wpinv_posts_custom_column'); |
|
| 57 | -function wpinv_posts_custom_column( $column_name, $post_id = 0 ) { |
|
| 56 | +add_action('manage_wpi_invoice_posts_custom_column', 'wpinv_posts_custom_column'); |
|
| 57 | +function wpinv_posts_custom_column($column_name, $post_id = 0) { |
|
| 58 | 58 | global $post, $wpi_invoice; |
| 59 | 59 | |
| 60 | - if ( empty( $wpi_invoice ) || ( !empty( $wpi_invoice ) && $post->ID != $wpi_invoice->ID ) ) { |
|
| 61 | - $wpi_invoice = new WPInv_Invoice( $post->ID ); |
|
| 60 | + if (empty($wpi_invoice) || (!empty($wpi_invoice) && $post->ID != $wpi_invoice->ID)) { |
|
| 61 | + $wpi_invoice = new WPInv_Invoice($post->ID); |
|
| 62 | 62 | } |
| 63 | 63 | |
| 64 | 64 | $value = NULL; |
| 65 | 65 | |
| 66 | - switch ( $column_name ) { |
|
| 66 | + switch ($column_name) { |
|
| 67 | 67 | case 'email' : |
| 68 | - $value = $wpi_invoice->get_email(); |
|
| 68 | + $value = $wpi_invoice->get_email(); |
|
| 69 | 69 | break; |
| 70 | 70 | case 'customer' : |
| 71 | 71 | $customer_name = $wpi_invoice->get_user_full_name(); |
| 72 | - $customer_name = $customer_name != '' ? $customer_name : __( 'Customer', 'invoicing' ); |
|
| 73 | - $value = '<a href="' . esc_url( get_edit_user_link( $wpi_invoice->get_user_id() ) ) . '">' . $customer_name . '</a>'; |
|
| 74 | - if ( $email = $wpi_invoice->get_email() ) { |
|
| 72 | + $customer_name = $customer_name != '' ? $customer_name : __('Customer', 'invoicing'); |
|
| 73 | + $value = '<a href="' . esc_url(get_edit_user_link($wpi_invoice->get_user_id())) . '">' . $customer_name . '</a>'; |
|
| 74 | + if ($email = $wpi_invoice->get_email()) { |
|
| 75 | 75 | $value .= '<br><a class="email" href="mailto:' . $email . '">' . $email . '</a>'; |
| 76 | 76 | } |
| 77 | 77 | break; |
| 78 | 78 | case 'amount' : |
| 79 | - echo $wpi_invoice->get_total( true ); |
|
| 79 | + echo $wpi_invoice->get_total(true); |
|
| 80 | 80 | break; |
| 81 | 81 | case 'invoice_date' : |
| 82 | - $date_format = get_option( 'date_format' ); |
|
| 82 | + $date_format = get_option('date_format'); |
|
| 83 | 83 | |
| 84 | 84 | $m_time = $post->post_date; |
| 85 | - $h_time = mysql2date( $date_format, $m_time ); |
|
| 85 | + $h_time = mysql2date($date_format, $m_time); |
|
| 86 | 86 | |
| 87 | - $value = '<abbr title="' . $m_time . '">' . $h_time . '</abbr>'; |
|
| 87 | + $value = '<abbr title="' . $m_time . '">' . $h_time . '</abbr>'; |
|
| 88 | 88 | break; |
| 89 | 89 | case 'payment_date' : |
| 90 | - if ( $date_completed = $wpi_invoice->get_meta( '_wpinv_completed_date', true ) ) { |
|
| 91 | - $date_format = get_option( 'date_format' ); |
|
| 90 | + if ($date_completed = $wpi_invoice->get_meta('_wpinv_completed_date', true)) { |
|
| 91 | + $date_format = get_option('date_format'); |
|
| 92 | 92 | |
| 93 | 93 | $m_time = $date_completed; |
| 94 | - $h_time = mysql2date( $date_format, $m_time ); |
|
| 94 | + $h_time = mysql2date($date_format, $m_time); |
|
| 95 | 95 | |
| 96 | - $value = '<abbr title="' . $m_time . '">' . $h_time . '</abbr>'; |
|
| 96 | + $value = '<abbr title="' . $m_time . '">' . $h_time . '</abbr>'; |
|
| 97 | 97 | } else { |
| 98 | 98 | $value = '-'; |
| 99 | 99 | } |
| 100 | 100 | break; |
| 101 | 101 | case 'status' : |
| 102 | - $value = $wpi_invoice->get_status( true ) . ( $wpi_invoice->is_recurring() && $wpi_invoice->is_parent() ? ' <span class="wpi-suffix">' . __( '(r)', 'invoicing' ) . '</span>' : '' ); |
|
| 103 | - $is_viewed = wpinv_is_invoice_viewed( $wpi_invoice->ID ); |
|
| 104 | - $gateway_title = wpinv_get_gateway_admin_label( $wpi_invoice->get_gateway() ); |
|
| 102 | + $value = $wpi_invoice->get_status(true) . ($wpi_invoice->is_recurring() && $wpi_invoice->is_parent() ? ' <span class="wpi-suffix">' . __('(r)', 'invoicing') . '</span>' : ''); |
|
| 103 | + $is_viewed = wpinv_is_invoice_viewed($wpi_invoice->ID); |
|
| 104 | + $gateway_title = wpinv_get_gateway_admin_label($wpi_invoice->get_gateway()); |
|
| 105 | 105 | $offline_gateways = apply_filters('wpinv_offline_payments', array('bank_transfer', 'cheque', 'cod')); |
| 106 | 106 | $is_offline_payment = in_array($wpi_invoice->get_gateway(), $offline_gateways) ? true : false; |
| 107 | 107 | |
| 108 | - if ( 1 == $is_viewed ) { |
|
| 109 | - $value .= ' <i class="fa fa-eye" title="'.__( 'Viewed by Customer', 'invoicing' ).'"></i>'; |
|
| 108 | + if (1 == $is_viewed) { |
|
| 109 | + $value .= ' <i class="fa fa-eye" title="' . __('Viewed by Customer', 'invoicing') . '"></i>'; |
|
| 110 | 110 | } |
| 111 | - if ( ( $wpi_invoice->is_paid() || $wpi_invoice->is_refunded() || $is_offline_payment ) && ( isset( $gateway_title ) ) ) { |
|
| 112 | - $value .= '<br><small class="meta gateway">' . wp_sprintf( __( 'Via %s', 'invoicing' ), $gateway_title ) . '</small>'; |
|
| 111 | + if (($wpi_invoice->is_paid() || $wpi_invoice->is_refunded() || $is_offline_payment) && (isset($gateway_title))) { |
|
| 112 | + $value .= '<br><small class="meta gateway">' . wp_sprintf(__('Via %s', 'invoicing'), $gateway_title) . '</small>'; |
|
| 113 | 113 | } |
| 114 | 114 | break; |
| 115 | 115 | case 'number' : |
| 116 | - $edit_link = get_edit_post_link( $post->ID ); |
|
| 117 | - $value = '<a title="' . esc_attr__( 'View Invoice Details', 'invoicing' ) . '" href="' . esc_url( $edit_link ) . '">' . $wpi_invoice->get_number() . '</a>'; |
|
| 116 | + $edit_link = get_edit_post_link($post->ID); |
|
| 117 | + $value = '<a title="' . esc_attr__('View Invoice Details', 'invoicing') . '" href="' . esc_url($edit_link) . '">' . $wpi_invoice->get_number() . '</a>'; |
|
| 118 | 118 | break; |
| 119 | 119 | case 'wpi_actions' : |
| 120 | 120 | $value = ''; |
| 121 | - if ( !empty( $post->post_name ) ) { |
|
| 122 | - $value .= '<a title="' . esc_attr__( 'Print invoice', 'invoicing' ) . '" href="' . esc_url( get_permalink( $post->ID ) ) . '" class="button ui-tip column-act-btn" title="" target="_blank"><span class="dashicons dashicons-print"><i style="" class="fa fa-print"></i></span></a>'; |
|
| 121 | + if (!empty($post->post_name)) { |
|
| 122 | + $value .= '<a title="' . esc_attr__('Print invoice', 'invoicing') . '" href="' . esc_url(get_permalink($post->ID)) . '" class="button ui-tip column-act-btn" title="" target="_blank"><span class="dashicons dashicons-print"><i style="" class="fa fa-print"></i></span></a>'; |
|
| 123 | 123 | } |
| 124 | 124 | |
| 125 | - if ( $email = $wpi_invoice->get_email() ) { |
|
| 126 | - $value .= '<a title="' . esc_attr__( 'Send invoice to customer', 'invoicing' ) . '" href="' . esc_url( add_query_arg( array( 'wpi_action' => 'send_invoice', 'invoice_id' => $post->ID ) ) ) . '" class="button ui-tip column-act-btn"><span class="dashicons dashicons-email-alt"></span></a>'; |
|
| 125 | + if ($email = $wpi_invoice->get_email()) { |
|
| 126 | + $value .= '<a title="' . esc_attr__('Send invoice to customer', 'invoicing') . '" href="' . esc_url(add_query_arg(array('wpi_action' => 'send_invoice', 'invoice_id' => $post->ID))) . '" class="button ui-tip column-act-btn"><span class="dashicons dashicons-email-alt"></span></a>'; |
|
| 127 | 127 | } |
| 128 | 128 | |
| 129 | 129 | break; |
| 130 | 130 | default: |
| 131 | - $value = isset( $post->$column_name ) ? $post->$column_name : ''; |
|
| 131 | + $value = isset($post->$column_name) ? $post->$column_name : ''; |
|
| 132 | 132 | break; |
| 133 | 133 | |
| 134 | 134 | } |
| 135 | - $value = apply_filters( 'wpinv_payments_table_column', $value, $post->ID, $column_name ); |
|
| 135 | + $value = apply_filters('wpinv_payments_table_column', $value, $post->ID, $column_name); |
|
| 136 | 136 | |
| 137 | - if ( $value !== NULL ) { |
|
| 137 | + if ($value !== NULL) { |
|
| 138 | 138 | echo $value; |
| 139 | 139 | } |
| 140 | 140 | } |
| 141 | 141 | |
| 142 | -function wpinv_admin_post_id( $id = 0 ) { |
|
| 142 | +function wpinv_admin_post_id($id = 0) { |
|
| 143 | 143 | global $post; |
| 144 | 144 | |
| 145 | - if ( isset( $id ) && ! empty( $id ) ) { |
|
| 145 | + if (isset($id) && !empty($id)) { |
|
| 146 | 146 | return (int)$id; |
| 147 | - } else if ( get_the_ID() ) { |
|
| 148 | - return (int) get_the_ID(); |
|
| 149 | - } else if ( isset( $post->ID ) && !empty( $post->ID ) ) { |
|
| 150 | - return (int) $post->ID; |
|
| 151 | - } else if ( isset( $_GET['post'] ) && !empty( $_GET['post'] ) ) { |
|
| 152 | - return (int) $_GET['post']; |
|
| 153 | - } else if ( isset( $_GET['id'] ) && !empty( $_GET['id'] ) ) { |
|
| 154 | - return (int) $_GET['id']; |
|
| 155 | - } else if ( isset( $_POST['id'] ) && !empty( $_POST['id'] ) ) { |
|
| 156 | - return (int) $_POST['id']; |
|
| 147 | + } else if (get_the_ID()) { |
|
| 148 | + return (int)get_the_ID(); |
|
| 149 | + } else if (isset($post->ID) && !empty($post->ID)) { |
|
| 150 | + return (int)$post->ID; |
|
| 151 | + } else if (isset($_GET['post']) && !empty($_GET['post'])) { |
|
| 152 | + return (int)$_GET['post']; |
|
| 153 | + } else if (isset($_GET['id']) && !empty($_GET['id'])) { |
|
| 154 | + return (int)$_GET['id']; |
|
| 155 | + } else if (isset($_POST['id']) && !empty($_POST['id'])) { |
|
| 156 | + return (int)$_POST['id']; |
|
| 157 | 157 | } |
| 158 | 158 | |
| 159 | 159 | return null; |
| 160 | 160 | } |
| 161 | 161 | |
| 162 | -function wpinv_admin_post_type( $id = 0 ) { |
|
| 163 | - if ( !$id ) { |
|
| 162 | +function wpinv_admin_post_type($id = 0) { |
|
| 163 | + if (!$id) { |
|
| 164 | 164 | $id = wpinv_admin_post_id(); |
| 165 | 165 | } |
| 166 | 166 | |
| 167 | - $type = get_post_type( $id ); |
|
| 167 | + $type = get_post_type($id); |
|
| 168 | 168 | |
| 169 | - if ( !$type ) { |
|
| 170 | - $type = isset( $_GET['post_type'] ) && !empty( $_GET['post_type'] ) ? $_GET['post_type'] : null; |
|
| 169 | + if (!$type) { |
|
| 170 | + $type = isset($_GET['post_type']) && !empty($_GET['post_type']) ? $_GET['post_type'] : null; |
|
| 171 | 171 | } |
| 172 | 172 | |
| 173 | - return apply_filters( 'wpinv_admin_post_type', $type, $id ); |
|
| 173 | + return apply_filters('wpinv_admin_post_type', $type, $id); |
|
| 174 | 174 | } |
| 175 | 175 | |
| 176 | 176 | function wpinv_admin_messages() { |
| 177 | 177 | global $wpinv_options, $pagenow, $post; |
| 178 | 178 | |
| 179 | - if ( isset( $_GET['wpinv-message'] ) && 'discount_added' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 180 | - add_settings_error( 'wpinv-notices', 'wpinv-discount-added', __( 'Discount code added.', 'invoicing' ), 'updated' ); |
|
| 179 | + if (isset($_GET['wpinv-message']) && 'discount_added' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) { |
|
| 180 | + add_settings_error('wpinv-notices', 'wpinv-discount-added', __('Discount code added.', 'invoicing'), 'updated'); |
|
| 181 | 181 | } |
| 182 | 182 | |
| 183 | - if ( isset( $_GET['wpinv-message'] ) && 'discount_add_failed' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 184 | - add_settings_error( 'wpinv-notices', 'wpinv-discount-add-fail', __( 'There was a problem adding your discount code, please try again.', 'invoicing' ), 'error' ); |
|
| 183 | + if (isset($_GET['wpinv-message']) && 'discount_add_failed' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) { |
|
| 184 | + add_settings_error('wpinv-notices', 'wpinv-discount-add-fail', __('There was a problem adding your discount code, please try again.', 'invoicing'), 'error'); |
|
| 185 | 185 | } |
| 186 | 186 | |
| 187 | - if ( isset( $_GET['wpinv-message'] ) && 'discount_exists' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 188 | - add_settings_error( 'wpinv-notices', 'wpinv-discount-exists', __( 'A discount with that code already exists, please use a different code.', 'invoicing' ), 'error' ); |
|
| 187 | + if (isset($_GET['wpinv-message']) && 'discount_exists' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) { |
|
| 188 | + add_settings_error('wpinv-notices', 'wpinv-discount-exists', __('A discount with that code already exists, please use a different code.', 'invoicing'), 'error'); |
|
| 189 | 189 | } |
| 190 | 190 | |
| 191 | - if ( isset( $_GET['wpinv-message'] ) && 'discount_updated' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 192 | - add_settings_error( 'wpinv-notices', 'wpinv-discount-updated', __( 'Discount code updated.', 'invoicing' ), 'updated' ); |
|
| 191 | + if (isset($_GET['wpinv-message']) && 'discount_updated' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) { |
|
| 192 | + add_settings_error('wpinv-notices', 'wpinv-discount-updated', __('Discount code updated.', 'invoicing'), 'updated'); |
|
| 193 | 193 | } |
| 194 | 194 | |
| 195 | - if ( isset( $_GET['wpinv-message'] ) && 'discount_update_failed' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 196 | - add_settings_error( 'wpinv-notices', 'wpinv-discount-updated-fail', __( 'There was a problem updating your discount code, please try again.', 'invoicing' ), 'error' ); |
|
| 195 | + if (isset($_GET['wpinv-message']) && 'discount_update_failed' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) { |
|
| 196 | + add_settings_error('wpinv-notices', 'wpinv-discount-updated-fail', __('There was a problem updating your discount code, please try again.', 'invoicing'), 'error'); |
|
| 197 | 197 | } |
| 198 | 198 | |
| 199 | - if ( isset( $_GET['wpinv-message'] ) && 'invoice_deleted' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 200 | - add_settings_error( 'wpinv-notices', 'wpinv-deleted', __( 'The invoice has been deleted.', 'invoicing' ), 'updated' ); |
|
| 199 | + if (isset($_GET['wpinv-message']) && 'invoice_deleted' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) { |
|
| 200 | + add_settings_error('wpinv-notices', 'wpinv-deleted', __('The invoice has been deleted.', 'invoicing'), 'updated'); |
|
| 201 | 201 | } |
| 202 | 202 | |
| 203 | - if ( isset( $_GET['wpinv-message'] ) && 'email_disabled' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 204 | - add_settings_error( 'wpinv-notices', 'wpinv-sent-fail', __( 'Email notification is disabled. Please check settings.', 'invoicing' ), 'error' ); |
|
| 203 | + if (isset($_GET['wpinv-message']) && 'email_disabled' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) { |
|
| 204 | + add_settings_error('wpinv-notices', 'wpinv-sent-fail', __('Email notification is disabled. Please check settings.', 'invoicing'), 'error'); |
|
| 205 | 205 | } |
| 206 | 206 | |
| 207 | - if ( isset( $_GET['wpinv-message'] ) && 'email_sent' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 208 | - add_settings_error( 'wpinv-notices', 'wpinv-sent', __( 'The email has been sent to customer.', 'invoicing' ), 'updated' ); |
|
| 207 | + if (isset($_GET['wpinv-message']) && 'email_sent' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) { |
|
| 208 | + add_settings_error('wpinv-notices', 'wpinv-sent', __('The email has been sent to customer.', 'invoicing'), 'updated'); |
|
| 209 | 209 | } |
| 210 | 210 | |
| 211 | - if ( isset( $_GET['wpinv-message'] ) && 'email_fail' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 212 | - add_settings_error( 'wpinv-notices', 'wpinv-sent-fail', __( 'Fail to send email to the customer.', 'invoicing' ), 'error' ); |
|
| 211 | + if (isset($_GET['wpinv-message']) && 'email_fail' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) { |
|
| 212 | + add_settings_error('wpinv-notices', 'wpinv-sent-fail', __('Fail to send email to the customer.', 'invoicing'), 'error'); |
|
| 213 | 213 | } |
| 214 | 214 | |
| 215 | - if ( isset( $_GET['wpinv-message'] ) && 'invoice-note-deleted' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 216 | - add_settings_error( 'wpinv-notices', 'wpinv-note-deleted', __( 'The invoice note has been deleted.', 'invoicing' ), 'updated' ); |
|
| 215 | + if (isset($_GET['wpinv-message']) && 'invoice-note-deleted' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) { |
|
| 216 | + add_settings_error('wpinv-notices', 'wpinv-note-deleted', __('The invoice note has been deleted.', 'invoicing'), 'updated'); |
|
| 217 | 217 | } |
| 218 | 218 | |
| 219 | - if ( isset( $_GET['wpinv-message'] ) && 'settings-imported' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 220 | - add_settings_error( 'wpinv-notices', 'wpinv-settings-imported', __( 'The settings have been imported.', 'invoicing' ), 'updated' ); |
|
| 219 | + if (isset($_GET['wpinv-message']) && 'settings-imported' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) { |
|
| 220 | + add_settings_error('wpinv-notices', 'wpinv-settings-imported', __('The settings have been imported.', 'invoicing'), 'updated'); |
|
| 221 | 221 | } |
| 222 | 222 | |
| 223 | - if ( isset( $_GET['wpinv-message'] ) && 'note-added' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 224 | - add_settings_error( 'wpinv-notices', 'wpinv-note-added', __( 'The invoice note has been added successfully.', 'invoicing' ), 'updated' ); |
|
| 223 | + if (isset($_GET['wpinv-message']) && 'note-added' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) { |
|
| 224 | + add_settings_error('wpinv-notices', 'wpinv-note-added', __('The invoice note has been added successfully.', 'invoicing'), 'updated'); |
|
| 225 | 225 | } |
| 226 | 226 | |
| 227 | - if ( isset( $_GET['wpinv-message'] ) && 'invoice-updated' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing() ) { |
|
| 228 | - add_settings_error( 'wpinv-notices', 'wpinv-updated', __( 'The invoice has been successfully updated.', 'invoicing' ), 'updated' ); |
|
| 227 | + if (isset($_GET['wpinv-message']) && 'invoice-updated' == $_GET['wpinv-message'] && wpinv_current_user_can_manage_invoicing()) { |
|
| 228 | + add_settings_error('wpinv-notices', 'wpinv-updated', __('The invoice has been successfully updated.', 'invoicing'), 'updated'); |
|
| 229 | 229 | } |
| 230 | 230 | |
| 231 | - if ( $pagenow == 'post.php' && !empty( $post->post_type ) && $post->post_type == 'wpi_item' && !wpinv_item_is_editable( $post ) ) { |
|
| 232 | - $message = apply_filters( 'wpinv_item_non_editable_message', __( 'This item in not editable.', 'invoicing' ), $post->ID ); |
|
| 231 | + if ($pagenow == 'post.php' && !empty($post->post_type) && $post->post_type == 'wpi_item' && !wpinv_item_is_editable($post)) { |
|
| 232 | + $message = apply_filters('wpinv_item_non_editable_message', __('This item in not editable.', 'invoicing'), $post->ID); |
|
| 233 | 233 | |
| 234 | - if ( !empty( $message ) ) { |
|
| 235 | - add_settings_error( 'wpinv-notices', 'wpinv-edit-n', $message, 'updated' ); |
|
| 234 | + if (!empty($message)) { |
|
| 235 | + add_settings_error('wpinv-notices', 'wpinv-edit-n', $message, 'updated'); |
|
| 236 | 236 | } |
| 237 | 237 | } |
| 238 | 238 | |
| 239 | - settings_errors( 'wpinv-notices' ); |
|
| 239 | + settings_errors('wpinv-notices'); |
|
| 240 | 240 | } |
| 241 | -add_action( 'admin_notices', 'wpinv_admin_messages' ); |
|
| 241 | +add_action('admin_notices', 'wpinv_admin_messages'); |
|
| 242 | 242 | |
| 243 | -add_action( 'admin_init', 'wpinv_show_test_payment_gateway_notice' ); |
|
| 244 | -function wpinv_show_test_payment_gateway_notice(){ |
|
| 245 | - add_action( 'admin_notices', 'wpinv_test_payment_gateway_messages' ); |
|
| 243 | +add_action('admin_init', 'wpinv_show_test_payment_gateway_notice'); |
|
| 244 | +function wpinv_show_test_payment_gateway_notice() { |
|
| 245 | + add_action('admin_notices', 'wpinv_test_payment_gateway_messages'); |
|
| 246 | 246 | } |
| 247 | 247 | |
| 248 | -function wpinv_test_payment_gateway_messages(){ |
|
| 248 | +function wpinv_test_payment_gateway_messages() { |
|
| 249 | 249 | $gateways = wpinv_get_enabled_payment_gateways(); |
| 250 | 250 | $name = array(); $test_gateways = ''; |
| 251 | 251 | if ($gateways) { |
@@ -256,9 +256,9 @@ discard block |
||
| 256 | 256 | } |
| 257 | 257 | $test_gateways = implode(', ', $name); |
| 258 | 258 | } |
| 259 | - if(isset($test_gateways) && !empty($test_gateways)){ |
|
| 259 | + if (isset($test_gateways) && !empty($test_gateways)) { |
|
| 260 | 260 | $link = admin_url('admin.php?page=wpinv-settings&tab=gateways'); |
| 261 | - $notice = wp_sprintf( __('<strong>Important:</strong> Payment Gateway(s) %s are in testing mode and will not receive real payments. Go to <a href="%s"> Gateway Settings</a>.', 'invoicing'), $test_gateways, $link ); |
|
| 261 | + $notice = wp_sprintf(__('<strong>Important:</strong> Payment Gateway(s) %s are in testing mode and will not receive real payments. Go to <a href="%s"> Gateway Settings</a>.', 'invoicing'), $test_gateways, $link); |
|
| 262 | 262 | ?> |
| 263 | 263 | <div class="notice notice-warning is-dismissible"> |
| 264 | 264 | <p><?php echo $notice; ?></p> |
@@ -267,29 +267,29 @@ discard block |
||
| 267 | 267 | } |
| 268 | 268 | } |
| 269 | 269 | |
| 270 | -function wpinv_items_columns( $existing_columns ) { |
|
| 270 | +function wpinv_items_columns($existing_columns) { |
|
| 271 | 271 | global $wpinv_euvat; |
| 272 | 272 | |
| 273 | 273 | $columns = array(); |
| 274 | 274 | $columns['cb'] = $existing_columns['cb']; |
| 275 | - $columns['title'] = __( 'Title', 'invoicing' ); |
|
| 276 | - $columns['price'] = __( 'Price', 'invoicing' ); |
|
| 277 | - if ( $wpinv_euvat->allow_vat_rules() ) { |
|
| 278 | - $columns['vat_rule'] = __( 'VAT rule type', 'invoicing' ); |
|
| 275 | + $columns['title'] = __('Title', 'invoicing'); |
|
| 276 | + $columns['price'] = __('Price', 'invoicing'); |
|
| 277 | + if ($wpinv_euvat->allow_vat_rules()) { |
|
| 278 | + $columns['vat_rule'] = __('VAT rule type', 'invoicing'); |
|
| 279 | 279 | } |
| 280 | - if ( $wpinv_euvat->allow_vat_classes() ) { |
|
| 281 | - $columns['vat_class'] = __( 'VAT class', 'invoicing' ); |
|
| 280 | + if ($wpinv_euvat->allow_vat_classes()) { |
|
| 281 | + $columns['vat_class'] = __('VAT class', 'invoicing'); |
|
| 282 | 282 | } |
| 283 | - $columns['type'] = __( 'Type', 'invoicing' ); |
|
| 284 | - $columns['recurring'] = __( 'Recurring', 'invoicing' ); |
|
| 285 | - $columns['date'] = __( 'Date', 'invoicing' ); |
|
| 286 | - $columns['id'] = __( 'ID', 'invoicing' ); |
|
| 283 | + $columns['type'] = __('Type', 'invoicing'); |
|
| 284 | + $columns['recurring'] = __('Recurring', 'invoicing'); |
|
| 285 | + $columns['date'] = __('Date', 'invoicing'); |
|
| 286 | + $columns['id'] = __('ID', 'invoicing'); |
|
| 287 | 287 | |
| 288 | - return apply_filters( 'wpinv_items_columns', $columns ); |
|
| 288 | + return apply_filters('wpinv_items_columns', $columns); |
|
| 289 | 289 | } |
| 290 | -add_filter( 'manage_wpi_item_posts_columns', 'wpinv_items_columns' ); |
|
| 290 | +add_filter('manage_wpi_item_posts_columns', 'wpinv_items_columns'); |
|
| 291 | 291 | |
| 292 | -function wpinv_items_sortable_columns( $columns ) { |
|
| 292 | +function wpinv_items_sortable_columns($columns) { |
|
| 293 | 293 | $columns['price'] = 'price'; |
| 294 | 294 | $columns['vat_rule'] = 'vat_rule'; |
| 295 | 295 | $columns['vat_class'] = 'vat_class'; |
@@ -299,151 +299,151 @@ discard block |
||
| 299 | 299 | |
| 300 | 300 | return $columns; |
| 301 | 301 | } |
| 302 | -add_filter( 'manage_edit-wpi_item_sortable_columns', 'wpinv_items_sortable_columns' ); |
|
| 302 | +add_filter('manage_edit-wpi_item_sortable_columns', 'wpinv_items_sortable_columns'); |
|
| 303 | 303 | |
| 304 | -function wpinv_items_table_custom_column( $column ) { |
|
| 304 | +function wpinv_items_table_custom_column($column) { |
|
| 305 | 305 | global $wpinv_euvat, $post, $wpi_item; |
| 306 | 306 | |
| 307 | - if ( empty( $wpi_item ) || ( !empty( $wpi_item ) && $post->ID != $wpi_item->ID ) ) { |
|
| 308 | - $wpi_item = new WPInv_Item( $post->ID ); |
|
| 307 | + if (empty($wpi_item) || (!empty($wpi_item) && $post->ID != $wpi_item->ID)) { |
|
| 308 | + $wpi_item = new WPInv_Item($post->ID); |
|
| 309 | 309 | } |
| 310 | 310 | |
| 311 | - switch ( $column ) { |
|
| 311 | + switch ($column) { |
|
| 312 | 312 | case 'price' : |
| 313 | - echo wpinv_item_price( $post->ID ); |
|
| 313 | + echo wpinv_item_price($post->ID); |
|
| 314 | 314 | break; |
| 315 | 315 | case 'vat_rule' : |
| 316 | - echo $wpinv_euvat->item_rule_label( $post->ID ); |
|
| 316 | + echo $wpinv_euvat->item_rule_label($post->ID); |
|
| 317 | 317 | break; |
| 318 | 318 | case 'vat_class' : |
| 319 | - echo $wpinv_euvat->item_class_label( $post->ID ); |
|
| 319 | + echo $wpinv_euvat->item_class_label($post->ID); |
|
| 320 | 320 | break; |
| 321 | 321 | case 'type' : |
| 322 | - echo wpinv_item_type( $post->ID ) . '<span class="meta">' . $wpi_item->get_custom_singular_name() . '</span>'; |
|
| 322 | + echo wpinv_item_type($post->ID) . '<span class="meta">' . $wpi_item->get_custom_singular_name() . '</span>'; |
|
| 323 | 323 | break; |
| 324 | 324 | case 'recurring' : |
| 325 | - echo ( wpinv_is_recurring_item( $post->ID ) ? '<i class="fa fa-check fa-recurring-y"></i>' : '<i class="fa fa-close fa-recurring-n"></i>' ); |
|
| 325 | + echo (wpinv_is_recurring_item($post->ID) ? '<i class="fa fa-check fa-recurring-y"></i>' : '<i class="fa fa-close fa-recurring-n"></i>'); |
|
| 326 | 326 | break; |
| 327 | 327 | case 'id' : |
| 328 | 328 | echo $post->ID; |
| 329 | 329 | echo '<div class="hidden" id="wpinv_inline-' . $post->ID . '"> |
| 330 | - <div class="price">' . wpinv_get_item_price( $post->ID ) . '</div>'; |
|
| 331 | - if ( $wpinv_euvat->allow_vat_rules() ) { |
|
| 332 | - echo '<div class="vat_rule">' . $wpinv_euvat->get_item_rule( $post->ID ) . '</div>'; |
|
| 330 | + <div class="price">' . wpinv_get_item_price($post->ID) . '</div>'; |
|
| 331 | + if ($wpinv_euvat->allow_vat_rules()) { |
|
| 332 | + echo '<div class="vat_rule">' . $wpinv_euvat->get_item_rule($post->ID) . '</div>'; |
|
| 333 | 333 | } |
| 334 | - if ( $wpinv_euvat->allow_vat_classes() ) { |
|
| 335 | - echo '<div class="vat_class">' . $wpinv_euvat->get_item_class( $post->ID ) . '</div>'; |
|
| 334 | + if ($wpinv_euvat->allow_vat_classes()) { |
|
| 335 | + echo '<div class="vat_class">' . $wpinv_euvat->get_item_class($post->ID) . '</div>'; |
|
| 336 | 336 | } |
| 337 | - echo '<div class="type">' . wpinv_get_item_type( $post->ID ) . '</div> |
|
| 337 | + echo '<div class="type">' . wpinv_get_item_type($post->ID) . '</div> |
|
| 338 | 338 | </div>'; |
| 339 | 339 | break; |
| 340 | 340 | } |
| 341 | 341 | |
| 342 | - do_action( 'wpinv_items_table_column_item_' . $column, $wpi_item, $post ); |
|
| 342 | + do_action('wpinv_items_table_column_item_' . $column, $wpi_item, $post); |
|
| 343 | 343 | } |
| 344 | -add_action( 'manage_wpi_item_posts_custom_column', 'wpinv_items_table_custom_column' ); |
|
| 344 | +add_action('manage_wpi_item_posts_custom_column', 'wpinv_items_table_custom_column'); |
|
| 345 | 345 | |
| 346 | 346 | function wpinv_add_items_filters() { |
| 347 | 347 | global $wpinv_euvat, $typenow; |
| 348 | 348 | |
| 349 | 349 | // Checks if the current post type is 'item' |
| 350 | - if ( $typenow == 'wpi_item') { |
|
| 351 | - if ( $wpinv_euvat->allow_vat_rules() ) { |
|
| 352 | - echo wpinv_html_select( array( |
|
| 353 | - 'options' => array_merge( array( '' => __( 'All VAT rules', 'invoicing' ) ), $wpinv_euvat->get_rules() ), |
|
| 350 | + if ($typenow == 'wpi_item') { |
|
| 351 | + if ($wpinv_euvat->allow_vat_rules()) { |
|
| 352 | + echo wpinv_html_select(array( |
|
| 353 | + 'options' => array_merge(array('' => __('All VAT rules', 'invoicing')), $wpinv_euvat->get_rules()), |
|
| 354 | 354 | 'name' => 'vat_rule', |
| 355 | 355 | 'id' => 'vat_rule', |
| 356 | - 'selected' => ( isset( $_GET['vat_rule'] ) ? $_GET['vat_rule'] : '' ), |
|
| 356 | + 'selected' => (isset($_GET['vat_rule']) ? $_GET['vat_rule'] : ''), |
|
| 357 | 357 | 'show_option_all' => false, |
| 358 | 358 | 'show_option_none' => false, |
| 359 | 359 | 'class' => 'gdmbx2-text-medium wpi_select2', |
| 360 | - ) ); |
|
| 360 | + )); |
|
| 361 | 361 | } |
| 362 | 362 | |
| 363 | - if ( $wpinv_euvat->allow_vat_classes() ) { |
|
| 364 | - echo wpinv_html_select( array( |
|
| 365 | - 'options' => array_merge( array( '' => __( 'All VAT classes', 'invoicing' ) ), $wpinv_euvat->get_all_classes() ), |
|
| 363 | + if ($wpinv_euvat->allow_vat_classes()) { |
|
| 364 | + echo wpinv_html_select(array( |
|
| 365 | + 'options' => array_merge(array('' => __('All VAT classes', 'invoicing')), $wpinv_euvat->get_all_classes()), |
|
| 366 | 366 | 'name' => 'vat_class', |
| 367 | 367 | 'id' => 'vat_class', |
| 368 | - 'selected' => ( isset( $_GET['vat_class'] ) ? $_GET['vat_class'] : '' ), |
|
| 368 | + 'selected' => (isset($_GET['vat_class']) ? $_GET['vat_class'] : ''), |
|
| 369 | 369 | 'show_option_all' => false, |
| 370 | 370 | 'show_option_none' => false, |
| 371 | 371 | 'class' => 'gdmbx2-text-medium wpi_select2', |
| 372 | - ) ); |
|
| 372 | + )); |
|
| 373 | 373 | } |
| 374 | 374 | |
| 375 | - echo wpinv_html_select( array( |
|
| 376 | - 'options' => array_merge( array( '' => __( 'All item types', 'invoicing' ) ), wpinv_get_item_types() ), |
|
| 375 | + echo wpinv_html_select(array( |
|
| 376 | + 'options' => array_merge(array('' => __('All item types', 'invoicing')), wpinv_get_item_types()), |
|
| 377 | 377 | 'name' => 'type', |
| 378 | 378 | 'id' => 'type', |
| 379 | - 'selected' => ( isset( $_GET['type'] ) ? $_GET['type'] : '' ), |
|
| 379 | + 'selected' => (isset($_GET['type']) ? $_GET['type'] : ''), |
|
| 380 | 380 | 'show_option_all' => false, |
| 381 | 381 | 'show_option_none' => false, |
| 382 | 382 | 'class' => 'gdmbx2-text-medium', |
| 383 | - ) ); |
|
| 383 | + )); |
|
| 384 | 384 | |
| 385 | - if ( isset( $_REQUEST['all_posts'] ) && '1' === $_REQUEST['all_posts'] ) { |
|
| 385 | + if (isset($_REQUEST['all_posts']) && '1' === $_REQUEST['all_posts']) { |
|
| 386 | 386 | echo '<input type="hidden" name="all_posts" value="1" />'; |
| 387 | 387 | } |
| 388 | 388 | } |
| 389 | 389 | } |
| 390 | -add_action( 'restrict_manage_posts', 'wpinv_add_items_filters', 100 ); |
|
| 390 | +add_action('restrict_manage_posts', 'wpinv_add_items_filters', 100); |
|
| 391 | 391 | |
| 392 | -function wpinv_send_invoice_after_save( $invoice ) { |
|
| 393 | - if ( empty( $_POST['wpi_save_send'] ) ) { |
|
| 392 | +function wpinv_send_invoice_after_save($invoice) { |
|
| 393 | + if (empty($_POST['wpi_save_send'])) { |
|
| 394 | 394 | return; |
| 395 | 395 | } |
| 396 | 396 | |
| 397 | - if ( !empty( $invoice->ID ) && !empty( $invoice->post_type ) && 'wpi_invoice' == $invoice->post_type ) { |
|
| 398 | - wpinv_user_invoice_notification( $invoice->ID ); |
|
| 397 | + if (!empty($invoice->ID) && !empty($invoice->post_type) && 'wpi_invoice' == $invoice->post_type) { |
|
| 398 | + wpinv_user_invoice_notification($invoice->ID); |
|
| 399 | 399 | } |
| 400 | 400 | } |
| 401 | -add_action( 'wpinv_invoice_metabox_saved', 'wpinv_send_invoice_after_save', 100, 1 ); |
|
| 401 | +add_action('wpinv_invoice_metabox_saved', 'wpinv_send_invoice_after_save', 100, 1); |
|
| 402 | 402 | |
| 403 | -function wpinv_send_register_new_user( $data, $postarr ) { |
|
| 404 | - if ( wpinv_current_user_can_manage_invoicing() && !empty( $data['post_type'] ) && ( 'wpi_invoice' == $data['post_type'] || 'wpi_quote' == $data['post_type'] ) ) { |
|
| 405 | - $is_new_user = !empty( $postarr['wpinv_new_user'] ) ? true : false; |
|
| 406 | - $email = !empty( $postarr['wpinv_email'] ) && $postarr['wpinv_email'] && is_email( $postarr['wpinv_email'] ) ? $postarr['wpinv_email'] : NULL; |
|
| 403 | +function wpinv_send_register_new_user($data, $postarr) { |
|
| 404 | + if (wpinv_current_user_can_manage_invoicing() && !empty($data['post_type']) && ('wpi_invoice' == $data['post_type'] || 'wpi_quote' == $data['post_type'])) { |
|
| 405 | + $is_new_user = !empty($postarr['wpinv_new_user']) ? true : false; |
|
| 406 | + $email = !empty($postarr['wpinv_email']) && $postarr['wpinv_email'] && is_email($postarr['wpinv_email']) ? $postarr['wpinv_email'] : NULL; |
|
| 407 | 407 | |
| 408 | - if ( $is_new_user && $email && !email_exists( $email ) ) { |
|
| 409 | - $first_name = !empty( $postarr['wpinv_first_name'] ) ? sanitize_text_field( $postarr['wpinv_first_name'] ) : ''; |
|
| 410 | - $last_name = !empty( $postarr['wpinv_last_name'] ) ? sanitize_text_field( $postarr['wpinv_last_name'] ) : ''; |
|
| 411 | - $display_name = $first_name || $last_name ? trim( $first_name . ' ' . $last_name ) : ''; |
|
| 412 | - $user_nicename = $display_name ? trim( $display_name ) : $email; |
|
| 413 | - $user_company = !empty( $postarr['wpinv_company'] ) ? sanitize_text_field( $postarr['wpinv_company'] ) : ''; |
|
| 408 | + if ($is_new_user && $email && !email_exists($email)) { |
|
| 409 | + $first_name = !empty($postarr['wpinv_first_name']) ? sanitize_text_field($postarr['wpinv_first_name']) : ''; |
|
| 410 | + $last_name = !empty($postarr['wpinv_last_name']) ? sanitize_text_field($postarr['wpinv_last_name']) : ''; |
|
| 411 | + $display_name = $first_name || $last_name ? trim($first_name . ' ' . $last_name) : ''; |
|
| 412 | + $user_nicename = $display_name ? trim($display_name) : $email; |
|
| 413 | + $user_company = !empty($postarr['wpinv_company']) ? sanitize_text_field($postarr['wpinv_company']) : ''; |
|
| 414 | 414 | |
| 415 | - $user_login = sanitize_user( str_replace( ' ', '', $display_name ), true ); |
|
| 416 | - if ( !( validate_username( $user_login ) && !username_exists( $user_login ) ) ) { |
|
| 415 | + $user_login = sanitize_user(str_replace(' ', '', $display_name), true); |
|
| 416 | + if (!(validate_username($user_login) && !username_exists($user_login))) { |
|
| 417 | 417 | $new_user_login = strstr($email, '@', true); |
| 418 | - if ( validate_username( $user_login ) && username_exists( $user_login ) ) { |
|
| 419 | - $user_login = sanitize_user($new_user_login, true ); |
|
| 418 | + if (validate_username($user_login) && username_exists($user_login)) { |
|
| 419 | + $user_login = sanitize_user($new_user_login, true); |
|
| 420 | 420 | } |
| 421 | - if ( validate_username( $user_login ) && username_exists( $user_login ) ) { |
|
| 422 | - $user_append_text = rand(10,1000); |
|
| 423 | - $user_login = sanitize_user($new_user_login.$user_append_text, true ); |
|
| 421 | + if (validate_username($user_login) && username_exists($user_login)) { |
|
| 422 | + $user_append_text = rand(10, 1000); |
|
| 423 | + $user_login = sanitize_user($new_user_login . $user_append_text, true); |
|
| 424 | 424 | } |
| 425 | 425 | |
| 426 | - if ( !( validate_username( $user_login ) && !username_exists( $user_login ) ) ) { |
|
| 426 | + if (!(validate_username($user_login) && !username_exists($user_login))) { |
|
| 427 | 427 | $user_login = $email; |
| 428 | 428 | } |
| 429 | 429 | } |
| 430 | 430 | |
| 431 | 431 | $userdata = array( |
| 432 | 432 | 'user_login' => $user_login, |
| 433 | - 'user_pass' => wp_generate_password( 12, false ), |
|
| 434 | - 'user_email' => sanitize_text_field( $email ), |
|
| 433 | + 'user_pass' => wp_generate_password(12, false), |
|
| 434 | + 'user_email' => sanitize_text_field($email), |
|
| 435 | 435 | 'first_name' => $first_name, |
| 436 | 436 | 'last_name' => $last_name, |
| 437 | - 'user_nicename' => wpinv_utf8_substr( $user_nicename, 0, 50 ), |
|
| 437 | + 'user_nicename' => wpinv_utf8_substr($user_nicename, 0, 50), |
|
| 438 | 438 | 'nickname' => $display_name, |
| 439 | 439 | 'display_name' => $display_name, |
| 440 | 440 | ); |
| 441 | 441 | |
| 442 | - $userdata = apply_filters( 'wpinv_register_new_user_data', $userdata ); |
|
| 442 | + $userdata = apply_filters('wpinv_register_new_user_data', $userdata); |
|
| 443 | 443 | |
| 444 | - $new_user_id = wp_insert_user( $userdata ); |
|
| 444 | + $new_user_id = wp_insert_user($userdata); |
|
| 445 | 445 | |
| 446 | - if ( !is_wp_error( $new_user_id ) ) { |
|
| 446 | + if (!is_wp_error($new_user_id)) { |
|
| 447 | 447 | $data['post_author'] = $new_user_id; |
| 448 | 448 | $_POST['post_author'] = $new_user_id; |
| 449 | 449 | $_POST['post_author_override'] = $new_user_id; |
@@ -464,72 +464,72 @@ discard block |
||
| 464 | 464 | |
| 465 | 465 | $meta = array(); |
| 466 | 466 | ///$meta['_wpinv_user_id'] = $new_user_id; |
| 467 | - foreach ( $meta_fields as $field ) { |
|
| 468 | - $meta['_wpinv_' . $field] = isset( $postarr['wpinv_' . $field] ) ? sanitize_text_field( $postarr['wpinv_' . $field] ) : ''; |
|
| 467 | + foreach ($meta_fields as $field) { |
|
| 468 | + $meta['_wpinv_' . $field] = isset($postarr['wpinv_' . $field]) ? sanitize_text_field($postarr['wpinv_' . $field]) : ''; |
|
| 469 | 469 | } |
| 470 | 470 | |
| 471 | - $meta = apply_filters( 'wpinv_register_new_user_meta', $meta, $new_user_id ); |
|
| 471 | + $meta = apply_filters('wpinv_register_new_user_meta', $meta, $new_user_id); |
|
| 472 | 472 | |
| 473 | 473 | // Update user meta. |
| 474 | - foreach ( $meta as $key => $value ) { |
|
| 475 | - update_user_meta( $new_user_id, $key, $value ); |
|
| 474 | + foreach ($meta as $key => $value) { |
|
| 475 | + update_user_meta($new_user_id, $key, $value); |
|
| 476 | 476 | } |
| 477 | 477 | |
| 478 | - if ( function_exists( 'wp_send_new_user_notifications' ) ) { |
|
| 478 | + if (function_exists('wp_send_new_user_notifications')) { |
|
| 479 | 479 | // Send email notifications related to the creation of new user. |
| 480 | - wp_send_new_user_notifications( $new_user_id, 'user' ); |
|
| 480 | + wp_send_new_user_notifications($new_user_id, 'user'); |
|
| 481 | 481 | } |
| 482 | 482 | } else { |
| 483 | - wpinv_error_log( $new_user_id->get_error_message(), 'Invoice add new user', __FILE__, __LINE__ ); |
|
| 483 | + wpinv_error_log($new_user_id->get_error_message(), 'Invoice add new user', __FILE__, __LINE__); |
|
| 484 | 484 | } |
| 485 | 485 | } |
| 486 | 486 | } |
| 487 | 487 | |
| 488 | 488 | return $data; |
| 489 | 489 | } |
| 490 | -add_filter( 'wp_insert_post_data', 'wpinv_send_register_new_user', 10, 2 ); |
|
| 490 | +add_filter('wp_insert_post_data', 'wpinv_send_register_new_user', 10, 2); |
|
| 491 | 491 | |
| 492 | -function wpinv_show_recurring_supported_gateways( $item_ID ) { |
|
| 492 | +function wpinv_show_recurring_supported_gateways($item_ID) { |
|
| 493 | 493 | $all_gateways = wpinv_get_payment_gateways(); |
| 494 | 494 | |
| 495 | - if ( !empty( $all_gateways ) ) { |
|
| 495 | + if (!empty($all_gateways)) { |
|
| 496 | 496 | $gateways = array(); |
| 497 | 497 | |
| 498 | - foreach ( $all_gateways as $key => $gateway ) { |
|
| 499 | - if ( wpinv_gateway_support_subscription( $key ) ) { |
|
| 498 | + foreach ($all_gateways as $key => $gateway) { |
|
| 499 | + if (wpinv_gateway_support_subscription($key)) { |
|
| 500 | 500 | $gateways[] = $gateway['admin_label']; |
| 501 | 501 | } |
| 502 | 502 | } |
| 503 | 503 | |
| 504 | - if ( !empty( $gateways ) ) { |
|
| 504 | + if (!empty($gateways)) { |
|
| 505 | 505 | ?> |
| 506 | - <span class="description"><?php echo wp_sprintf( __( 'Recurring payments only supported by: %s', 'invoicing' ), implode( ', ', $gateways ) ); ?></span> |
|
| 506 | + <span class="description"><?php echo wp_sprintf(__('Recurring payments only supported by: %s', 'invoicing'), implode(', ', $gateways)); ?></span> |
|
| 507 | 507 | <?php |
| 508 | 508 | } |
| 509 | 509 | } |
| 510 | 510 | } |
| 511 | -add_action( 'wpinv_item_price_field', 'wpinv_show_recurring_supported_gateways', -10, 1 ); |
|
| 511 | +add_action('wpinv_item_price_field', 'wpinv_show_recurring_supported_gateways', -10, 1); |
|
| 512 | 512 | |
| 513 | -function wpinv_post_updated_messages( $messages ) { |
|
| 513 | +function wpinv_post_updated_messages($messages) { |
|
| 514 | 514 | global $post, $post_ID; |
| 515 | 515 | |
| 516 | 516 | $messages['wpi_discount'] = array( |
| 517 | 517 | 0 => '', |
| 518 | - 1 => __( 'Discount updated.', 'invoicing' ), |
|
| 519 | - 2 => __( 'Custom field updated.', 'invoicing' ), |
|
| 520 | - 3 => __( 'Custom field deleted.', 'invoicing' ), |
|
| 521 | - 4 => __( 'Discount updated.', 'invoicing' ), |
|
| 522 | - 5 => isset( $_GET['revision'] ) ? wp_sprintf( __( 'Discount restored to revision from %s', 'invoicing' ), wp_post_revision_title( (int) $_GET['revision'], false ) ) : false, |
|
| 523 | - 6 => __( 'Discount updated.', 'invoicing' ), |
|
| 524 | - 7 => __( 'Discount saved.', 'invoicing' ), |
|
| 525 | - 8 => __( 'Discount submitted.', 'invoicing' ), |
|
| 526 | - 9 => wp_sprintf( __( 'Discount scheduled for: <strong>%1$s</strong>.', 'invoicing' ), date_i18n( __( 'M j, Y @ G:i', 'invoicing' ), strtotime( $post->post_date ) ) ), |
|
| 527 | - 10 => __( 'Discount draft updated.', 'invoicing' ), |
|
| 518 | + 1 => __('Discount updated.', 'invoicing'), |
|
| 519 | + 2 => __('Custom field updated.', 'invoicing'), |
|
| 520 | + 3 => __('Custom field deleted.', 'invoicing'), |
|
| 521 | + 4 => __('Discount updated.', 'invoicing'), |
|
| 522 | + 5 => isset($_GET['revision']) ? wp_sprintf(__('Discount restored to revision from %s', 'invoicing'), wp_post_revision_title((int)$_GET['revision'], false)) : false, |
|
| 523 | + 6 => __('Discount updated.', 'invoicing'), |
|
| 524 | + 7 => __('Discount saved.', 'invoicing'), |
|
| 525 | + 8 => __('Discount submitted.', 'invoicing'), |
|
| 526 | + 9 => wp_sprintf(__('Discount scheduled for: <strong>%1$s</strong>.', 'invoicing'), date_i18n(__('M j, Y @ G:i', 'invoicing'), strtotime($post->post_date))), |
|
| 527 | + 10 => __('Discount draft updated.', 'invoicing'), |
|
| 528 | 528 | ); |
| 529 | 529 | |
| 530 | 530 | return $messages; |
| 531 | 531 | } |
| 532 | -add_filter( 'post_updated_messages', 'wpinv_post_updated_messages', 10, 1 ); |
|
| 532 | +add_filter('post_updated_messages', 'wpinv_post_updated_messages', 10, 1); |
|
| 533 | 533 | |
| 534 | 534 | add_action('admin_init', 'admin_init_example_type'); |
| 535 | 535 | |
@@ -539,7 +539,7 @@ discard block |
||
| 539 | 539 | function admin_init_example_type() { |
| 540 | 540 | global $typenow; |
| 541 | 541 | |
| 542 | - if ($typenow === 'wpi_invoice' || $typenow === 'wpi_quote' ) { |
|
| 542 | + if ($typenow === 'wpi_invoice' || $typenow === 'wpi_quote') { |
|
| 543 | 543 | add_filter('posts_search', 'posts_search_example_type', 10, 2); |
| 544 | 544 | } |
| 545 | 545 | } |
@@ -554,9 +554,9 @@ discard block |
||
| 554 | 554 | global $wpdb; |
| 555 | 555 | |
| 556 | 556 | if ($query->is_main_query() && !empty($query->query['s'])) { |
| 557 | - $conditions_str = "{$wpdb->posts}.post_author IN ( SELECT ID FROM {$wpdb->users} WHERE user_email LIKE '%" . esc_sql( $query->query['s'] ) . "%' )"; |
|
| 558 | - if ( ! empty( $search ) ) { |
|
| 559 | - $search = preg_replace( '/^ AND /', '', $search ); |
|
| 557 | + $conditions_str = "{$wpdb->posts}.post_author IN ( SELECT ID FROM {$wpdb->users} WHERE user_email LIKE '%" . esc_sql($query->query['s']) . "%' )"; |
|
| 558 | + if (!empty($search)) { |
|
| 559 | + $search = preg_replace('/^ AND /', '', $search); |
|
| 560 | 560 | $search = " AND ( {$search} OR ( {$conditions_str} ) )"; |
| 561 | 561 | } else { |
| 562 | 562 | $search = " AND ( {$conditions_str} )"; |
@@ -566,9 +566,9 @@ discard block |
||
| 566 | 566 | return $search; |
| 567 | 567 | } |
| 568 | 568 | |
| 569 | -add_action( 'admin_init', 'wpinv_reset_invoice_count' ); |
|
| 570 | -function wpinv_reset_invoice_count(){ |
|
| 571 | - if(isset($_GET['reset_invoice_count']) && 1 == $_GET['reset_invoice_count'] && isset($_GET['_nonce']) && wp_verify_nonce($_GET['_nonce'], 'reset_invoice_count')) { |
|
| 569 | +add_action('admin_init', 'wpinv_reset_invoice_count'); |
|
| 570 | +function wpinv_reset_invoice_count() { |
|
| 571 | + if (isset($_GET['reset_invoice_count']) && 1 == $_GET['reset_invoice_count'] && isset($_GET['_nonce']) && wp_verify_nonce($_GET['_nonce'], 'reset_invoice_count')) { |
|
| 572 | 572 | wpinv_update_option('invoice_sequence_start', 1); |
| 573 | 573 | delete_option('wpinv_last_invoice_number'); |
| 574 | 574 | $url = add_query_arg(array('reset_invoice_done' => 1)); |
@@ -579,8 +579,8 @@ discard block |
||
| 579 | 579 | } |
| 580 | 580 | |
| 581 | 581 | add_action('admin_notices', 'wpinv_invoice_count_reset_message'); |
| 582 | -function wpinv_invoice_count_reset_message(){ |
|
| 583 | - if(isset($_GET['reset_invoice_done']) && 1 == $_GET['reset_invoice_done']) { |
|
| 582 | +function wpinv_invoice_count_reset_message() { |
|
| 583 | + if (isset($_GET['reset_invoice_done']) && 1 == $_GET['reset_invoice_done']) { |
|
| 584 | 584 | $notice = __('Invoice number sequence reset successfully.', 'invoicing'); |
| 585 | 585 | ?> |
| 586 | 586 | <div class="notice notice-success is-dismissible"> |
@@ -7,90 +7,90 @@ 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_discount_types() { |
| 15 | 15 | $discount_types = array( |
| 16 | - 'percent' => __( 'Percentage', 'invoicing' ), |
|
| 17 | - 'flat' => __( 'Flat Amount', 'invoicing' ), |
|
| 16 | + 'percent' => __('Percentage', 'invoicing'), |
|
| 17 | + 'flat' => __('Flat Amount', 'invoicing'), |
|
| 18 | 18 | ); |
| 19 | - return (array)apply_filters( 'wpinv_discount_types', $discount_types ); |
|
| 19 | + return (array)apply_filters('wpinv_discount_types', $discount_types); |
|
| 20 | 20 | } |
| 21 | 21 | |
| 22 | -function wpinv_get_discount_type_name( $type = '' ) { |
|
| 22 | +function wpinv_get_discount_type_name($type = '') { |
|
| 23 | 23 | $types = wpinv_get_discount_types(); |
| 24 | - return isset( $types[ $type ] ) ? $types[ $type ] : ''; |
|
| 24 | + return isset($types[$type]) ? $types[$type] : ''; |
|
| 25 | 25 | } |
| 26 | 26 | |
| 27 | -function wpinv_delete_discount( $data ) { |
|
| 28 | - if ( ! isset( $data['_wpnonce'] ) || ! wp_verify_nonce( $data['_wpnonce'], 'wpinv_discount_nonce' ) ) { |
|
| 29 | - wp_die( __( 'Trying to cheat or something?', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) ); |
|
| 27 | +function wpinv_delete_discount($data) { |
|
| 28 | + if (!isset($data['_wpnonce']) || !wp_verify_nonce($data['_wpnonce'], 'wpinv_discount_nonce')) { |
|
| 29 | + wp_die(__('Trying to cheat or something?', 'invoicing'), __('Error', 'invoicing'), array('response' => 403)); |
|
| 30 | 30 | } |
| 31 | 31 | |
| 32 | - if( ! wpinv_current_user_can_manage_invoicing() ) { |
|
| 33 | - wp_die( __( 'You do not have permission to delete discount codes', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) ); |
|
| 32 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
| 33 | + wp_die(__('You do not have permission to delete discount codes', 'invoicing'), __('Error', 'invoicing'), array('response' => 403)); |
|
| 34 | 34 | } |
| 35 | 35 | |
| 36 | 36 | $discount_id = $data['discount']; |
| 37 | - wpinv_remove_discount( $discount_id ); |
|
| 37 | + wpinv_remove_discount($discount_id); |
|
| 38 | 38 | } |
| 39 | -add_action( 'wpinv_delete_discount', 'wpinv_delete_discount' ); |
|
| 39 | +add_action('wpinv_delete_discount', 'wpinv_delete_discount'); |
|
| 40 | 40 | |
| 41 | -function wpinv_activate_discount( $data ) { |
|
| 42 | - if ( ! isset( $data['_wpnonce'] ) || ! wp_verify_nonce( $data['_wpnonce'], 'wpinv_discount_nonce' ) ) { |
|
| 43 | - wp_die( __( 'Trying to cheat or something?', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) ); |
|
| 41 | +function wpinv_activate_discount($data) { |
|
| 42 | + if (!isset($data['_wpnonce']) || !wp_verify_nonce($data['_wpnonce'], 'wpinv_discount_nonce')) { |
|
| 43 | + wp_die(__('Trying to cheat or something?', 'invoicing'), __('Error', 'invoicing'), array('response' => 403)); |
|
| 44 | 44 | } |
| 45 | 45 | |
| 46 | - if( ! wpinv_current_user_can_manage_invoicing() ) { |
|
| 47 | - wp_die( __( 'You do not have permission to edit discount codes', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) ); |
|
| 46 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
| 47 | + wp_die(__('You do not have permission to edit discount codes', 'invoicing'), __('Error', 'invoicing'), array('response' => 403)); |
|
| 48 | 48 | } |
| 49 | 49 | |
| 50 | - $id = absint( $data['discount'] ); |
|
| 51 | - wpinv_update_discount_status( $id, 'publish' ); |
|
| 50 | + $id = absint($data['discount']); |
|
| 51 | + wpinv_update_discount_status($id, 'publish'); |
|
| 52 | 52 | } |
| 53 | -add_action( 'wpinv_activate_discount', 'wpinv_activate_discount' ); |
|
| 53 | +add_action('wpinv_activate_discount', 'wpinv_activate_discount'); |
|
| 54 | 54 | |
| 55 | -function wpinv_deactivate_discount( $data ) { |
|
| 56 | - if ( ! isset( $data['_wpnonce'] ) || ! wp_verify_nonce( $data['_wpnonce'], 'wpinv_discount_nonce' ) ) { |
|
| 57 | - wp_die( __( 'Trying to cheat or something?', 'invoicing' ), __( 'Error', 'invoicing' ), array( 'response' => 403 ) ); |
|
| 55 | +function wpinv_deactivate_discount($data) { |
|
| 56 | + if (!isset($data['_wpnonce']) || !wp_verify_nonce($data['_wpnonce'], 'wpinv_discount_nonce')) { |
|
| 57 | + wp_die(__('Trying to cheat or something?', 'invoicing'), __('Error', 'invoicing'), array('response' => 403)); |
|
| 58 | 58 | } |
| 59 | 59 | |
| 60 | - if( ! wpinv_current_user_can_manage_invoicing() ) { |
|
| 61 | - wp_die( __( 'You do not have permission to create discount codes', 'invoicing' ), array( 'response' => 403 ) ); |
|
| 60 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
| 61 | + wp_die(__('You do not have permission to create discount codes', 'invoicing'), array('response' => 403)); |
|
| 62 | 62 | } |
| 63 | 63 | |
| 64 | - $id = absint( $data['discount'] ); |
|
| 65 | - wpinv_update_discount_status( $id, 'pending' ); |
|
| 64 | + $id = absint($data['discount']); |
|
| 65 | + wpinv_update_discount_status($id, 'pending'); |
|
| 66 | 66 | } |
| 67 | -add_action( 'wpinv_deactivate_discount', 'wpinv_deactivate_discount' ); |
|
| 67 | +add_action('wpinv_deactivate_discount', 'wpinv_deactivate_discount'); |
|
| 68 | 68 | |
| 69 | -function wpinv_get_discounts( $args = array() ) { |
|
| 69 | +function wpinv_get_discounts($args = array()) { |
|
| 70 | 70 | $defaults = array( |
| 71 | 71 | 'post_type' => 'wpi_discount', |
| 72 | 72 | 'posts_per_page' => 20, |
| 73 | 73 | 'paged' => null, |
| 74 | - 'post_status' => array( 'publish', 'pending', 'draft', 'expired' ) |
|
| 74 | + 'post_status' => array('publish', 'pending', 'draft', 'expired') |
|
| 75 | 75 | ); |
| 76 | 76 | |
| 77 | - $args = wp_parse_args( $args, $defaults ); |
|
| 77 | + $args = wp_parse_args($args, $defaults); |
|
| 78 | 78 | |
| 79 | - $discounts = get_posts( $args ); |
|
| 79 | + $discounts = get_posts($args); |
|
| 80 | 80 | |
| 81 | - if ( $discounts ) { |
|
| 81 | + if ($discounts) { |
|
| 82 | 82 | return $discounts; |
| 83 | 83 | } |
| 84 | 84 | |
| 85 | - if( ! $discounts && ! empty( $args['s'] ) ) { |
|
| 85 | + if (!$discounts && !empty($args['s'])) { |
|
| 86 | 86 | $args['meta_key'] = '_wpi_discount_code'; |
| 87 | 87 | $args['meta_value'] = $args['s']; |
| 88 | 88 | $args['meta_compare'] = 'LIKE'; |
| 89 | - unset( $args['s'] ); |
|
| 90 | - $discounts = get_posts( $args ); |
|
| 89 | + unset($args['s']); |
|
| 90 | + $discounts = get_posts($args); |
|
| 91 | 91 | } |
| 92 | 92 | |
| 93 | - if( $discounts ) { |
|
| 93 | + if ($discounts) { |
|
| 94 | 94 | return $discounts; |
| 95 | 95 | } |
| 96 | 96 | |
@@ -102,9 +102,9 @@ discard block |
||
| 102 | 102 | |
| 103 | 103 | $discounts = wpinv_get_discounts(); |
| 104 | 104 | |
| 105 | - if ( $discounts) { |
|
| 106 | - foreach ( $discounts as $discount ) { |
|
| 107 | - if ( wpinv_is_discount_active( $discount->ID ) ) { |
|
| 105 | + if ($discounts) { |
|
| 106 | + foreach ($discounts as $discount) { |
|
| 107 | + if (wpinv_is_discount_active($discount->ID)) { |
|
| 108 | 108 | $has_active = true; |
| 109 | 109 | break; |
| 110 | 110 | } |
@@ -113,38 +113,38 @@ discard block |
||
| 113 | 113 | return $has_active; |
| 114 | 114 | } |
| 115 | 115 | |
| 116 | -function wpinv_get_discount( $discount_id = 0 ) { |
|
| 117 | - if( empty( $discount_id ) ) { |
|
| 116 | +function wpinv_get_discount($discount_id = 0) { |
|
| 117 | + if (empty($discount_id)) { |
|
| 118 | 118 | return false; |
| 119 | 119 | } |
| 120 | 120 | |
| 121 | - if ( get_post_type( $discount_id ) != 'wpi_discount' ) { |
|
| 121 | + if (get_post_type($discount_id) != 'wpi_discount') { |
|
| 122 | 122 | return false; |
| 123 | 123 | } |
| 124 | 124 | |
| 125 | - $discount = get_post( $discount_id ); |
|
| 125 | + $discount = get_post($discount_id); |
|
| 126 | 126 | |
| 127 | 127 | return $discount; |
| 128 | 128 | } |
| 129 | 129 | |
| 130 | -function wpinv_get_discount_by_code( $code = '' ) { |
|
| 131 | - if( empty( $code ) || ! is_string( $code ) ) { |
|
| 130 | +function wpinv_get_discount_by_code($code = '') { |
|
| 131 | + if (empty($code) || !is_string($code)) { |
|
| 132 | 132 | return false; |
| 133 | 133 | } |
| 134 | 134 | |
| 135 | - return wpinv_get_discount_by( 'code', $code ); |
|
| 135 | + return wpinv_get_discount_by('code', $code); |
|
| 136 | 136 | } |
| 137 | 137 | |
| 138 | -function wpinv_get_discount_by( $field = '', $value = '' ) { |
|
| 139 | - if( empty( $field ) || empty( $value ) ) { |
|
| 138 | +function wpinv_get_discount_by($field = '', $value = '') { |
|
| 139 | + if (empty($field) || empty($value)) { |
|
| 140 | 140 | return false; |
| 141 | 141 | } |
| 142 | 142 | |
| 143 | - if( ! is_string( $field ) ) { |
|
| 143 | + if (!is_string($field)) { |
|
| 144 | 144 | return false; |
| 145 | 145 | } |
| 146 | 146 | |
| 147 | - switch( strtolower( $field ) ) { |
|
| 147 | + switch (strtolower($field)) { |
|
| 148 | 148 | |
| 149 | 149 | case 'code': |
| 150 | 150 | $meta_query = array(); |
@@ -154,32 +154,32 @@ discard block |
||
| 154 | 154 | 'compare' => '=' |
| 155 | 155 | ); |
| 156 | 156 | |
| 157 | - $discount = wpinv_get_discounts( array( |
|
| 157 | + $discount = wpinv_get_discounts(array( |
|
| 158 | 158 | 'posts_per_page' => 1, |
| 159 | 159 | 'post_status' => 'any', |
| 160 | 160 | 'meta_query' => $meta_query, |
| 161 | - ) ); |
|
| 161 | + )); |
|
| 162 | 162 | |
| 163 | - if( $discount ) { |
|
| 163 | + if ($discount) { |
|
| 164 | 164 | $discount = $discount[0]; |
| 165 | 165 | } |
| 166 | 166 | |
| 167 | 167 | break; |
| 168 | 168 | |
| 169 | 169 | case 'id': |
| 170 | - $discount = wpinv_get_discount( $value ); |
|
| 170 | + $discount = wpinv_get_discount($value); |
|
| 171 | 171 | |
| 172 | 172 | break; |
| 173 | 173 | |
| 174 | 174 | case 'name': |
| 175 | - $discount = get_posts( array( |
|
| 175 | + $discount = get_posts(array( |
|
| 176 | 176 | 'post_type' => 'wpi_discount', |
| 177 | 177 | 'name' => $value, |
| 178 | 178 | 'posts_per_page' => 1, |
| 179 | 179 | 'post_status' => 'any' |
| 180 | - ) ); |
|
| 180 | + )); |
|
| 181 | 181 | |
| 182 | - if( $discount ) { |
|
| 182 | + if ($discount) { |
|
| 183 | 183 | $discount = $discount[0]; |
| 184 | 184 | } |
| 185 | 185 | |
@@ -189,96 +189,96 @@ discard block |
||
| 189 | 189 | return false; |
| 190 | 190 | } |
| 191 | 191 | |
| 192 | - if( ! empty( $discount ) ) { |
|
| 192 | + if (!empty($discount)) { |
|
| 193 | 193 | return $discount; |
| 194 | 194 | } |
| 195 | 195 | |
| 196 | 196 | return false; |
| 197 | 197 | } |
| 198 | 198 | |
| 199 | -function wpinv_store_discount( $post_id, $data, $post, $update = false ) { |
|
| 199 | +function wpinv_store_discount($post_id, $data, $post, $update = false) { |
|
| 200 | 200 | $meta = array( |
| 201 | - 'code' => isset( $data['code'] ) ? sanitize_text_field( $data['code'] ) : '', |
|
| 202 | - 'type' => isset( $data['type'] ) ? sanitize_text_field( $data['type'] ) : 'percent', |
|
| 203 | - 'amount' => isset( $data['amount'] ) ? wpinv_sanitize_amount( $data['amount'] ) : '', |
|
| 204 | - 'start' => isset( $data['start'] ) ? sanitize_text_field( $data['start'] ) : '', |
|
| 205 | - 'expiration' => isset( $data['expiration'] ) ? sanitize_text_field( $data['expiration'] ) : '', |
|
| 206 | - 'min_total' => isset( $data['min_total'] ) ? wpinv_sanitize_amount( $data['min_total'] ) : '', |
|
| 207 | - 'max_total' => isset( $data['max_total'] ) ? wpinv_sanitize_amount( $data['max_total'] ) : '', |
|
| 208 | - 'max_uses' => isset( $data['max_uses'] ) ? absint( $data['max_uses'] ) : '', |
|
| 209 | - 'items' => isset( $data['items'] ) ? $data['items'] : array(), |
|
| 210 | - 'excluded_items' => isset( $data['excluded_items'] ) ? $data['excluded_items'] : array(), |
|
| 211 | - 'is_recurring' => isset( $data['recurring'] ) ? (bool)$data['recurring'] : false, |
|
| 212 | - 'is_single_use' => isset( $data['single_use'] ) ? (bool)$data['single_use'] : false, |
|
| 213 | - 'uses' => isset( $data['uses'] ) ? (int)$data['uses'] : false, |
|
| 201 | + 'code' => isset($data['code']) ? sanitize_text_field($data['code']) : '', |
|
| 202 | + 'type' => isset($data['type']) ? sanitize_text_field($data['type']) : 'percent', |
|
| 203 | + 'amount' => isset($data['amount']) ? wpinv_sanitize_amount($data['amount']) : '', |
|
| 204 | + 'start' => isset($data['start']) ? sanitize_text_field($data['start']) : '', |
|
| 205 | + 'expiration' => isset($data['expiration']) ? sanitize_text_field($data['expiration']) : '', |
|
| 206 | + 'min_total' => isset($data['min_total']) ? wpinv_sanitize_amount($data['min_total']) : '', |
|
| 207 | + 'max_total' => isset($data['max_total']) ? wpinv_sanitize_amount($data['max_total']) : '', |
|
| 208 | + 'max_uses' => isset($data['max_uses']) ? absint($data['max_uses']) : '', |
|
| 209 | + 'items' => isset($data['items']) ? $data['items'] : array(), |
|
| 210 | + 'excluded_items' => isset($data['excluded_items']) ? $data['excluded_items'] : array(), |
|
| 211 | + 'is_recurring' => isset($data['recurring']) ? (bool)$data['recurring'] : false, |
|
| 212 | + 'is_single_use' => isset($data['single_use']) ? (bool)$data['single_use'] : false, |
|
| 213 | + 'uses' => isset($data['uses']) ? (int)$data['uses'] : false, |
|
| 214 | 214 | ); |
| 215 | 215 | |
| 216 | - if ( $meta['type'] == 'percent' && (float)$meta['amount'] > 100 ) { |
|
| 216 | + if ($meta['type'] == 'percent' && (float)$meta['amount'] > 100) { |
|
| 217 | 217 | $meta['amount'] = 100; |
| 218 | 218 | } |
| 219 | 219 | |
| 220 | - if ( !empty( $meta['start'] ) ) { |
|
| 221 | - $meta['start'] = date_i18n( 'Y-m-d H:i:s', strtotime( $meta['start'] ) ); |
|
| 220 | + if (!empty($meta['start'])) { |
|
| 221 | + $meta['start'] = date_i18n('Y-m-d H:i:s', strtotime($meta['start'])); |
|
| 222 | 222 | } |
| 223 | 223 | |
| 224 | - if ( !empty( $meta['expiration'] ) ) { |
|
| 225 | - $meta['expiration'] = date_i18n( 'Y-m-d H:i:s', strtotime( $meta['expiration'] ) ); |
|
| 224 | + if (!empty($meta['expiration'])) { |
|
| 225 | + $meta['expiration'] = date_i18n('Y-m-d H:i:s', strtotime($meta['expiration'])); |
|
| 226 | 226 | |
| 227 | - if ( !empty( $meta['start'] ) && strtotime( $meta['start'] ) > strtotime( $meta['expiration'] ) ) { |
|
| 227 | + if (!empty($meta['start']) && strtotime($meta['start']) > strtotime($meta['expiration'])) { |
|
| 228 | 228 | $meta['expiration'] = $meta['start']; |
| 229 | 229 | } |
| 230 | 230 | } |
| 231 | 231 | |
| 232 | - if ( $meta['uses'] === false ) { |
|
| 233 | - unset( $meta['uses'] ); |
|
| 232 | + if ($meta['uses'] === false) { |
|
| 233 | + unset($meta['uses']); |
|
| 234 | 234 | } |
| 235 | 235 | |
| 236 | - if ( ! empty( $meta['items'] ) ) { |
|
| 237 | - foreach ( $meta['items'] as $key => $item ) { |
|
| 238 | - if ( 0 === intval( $item ) ) { |
|
| 239 | - unset( $meta['items'][ $key ] ); |
|
| 236 | + if (!empty($meta['items'])) { |
|
| 237 | + foreach ($meta['items'] as $key => $item) { |
|
| 238 | + if (0 === intval($item)) { |
|
| 239 | + unset($meta['items'][$key]); |
|
| 240 | 240 | } |
| 241 | 241 | } |
| 242 | 242 | } |
| 243 | 243 | |
| 244 | - if ( ! empty( $meta['excluded_items'] ) ) { |
|
| 245 | - foreach ( $meta['excluded_items'] as $key => $item ) { |
|
| 246 | - if ( 0 === intval( $item ) ) { |
|
| 247 | - unset( $meta['excluded_items'][ $key ] ); |
|
| 244 | + if (!empty($meta['excluded_items'])) { |
|
| 245 | + foreach ($meta['excluded_items'] as $key => $item) { |
|
| 246 | + if (0 === intval($item)) { |
|
| 247 | + unset($meta['excluded_items'][$key]); |
|
| 248 | 248 | } |
| 249 | 249 | } |
| 250 | 250 | } |
| 251 | 251 | |
| 252 | - $meta = apply_filters( 'wpinv_update_discount', $meta, $post_id, $post ); |
|
| 252 | + $meta = apply_filters('wpinv_update_discount', $meta, $post_id, $post); |
|
| 253 | 253 | |
| 254 | - do_action( 'wpinv_pre_update_discount', $meta, $post_id, $post ); |
|
| 254 | + do_action('wpinv_pre_update_discount', $meta, $post_id, $post); |
|
| 255 | 255 | |
| 256 | - foreach( $meta as $key => $value ) { |
|
| 257 | - update_post_meta( $post_id, '_wpi_discount_' . $key, $value ); |
|
| 256 | + foreach ($meta as $key => $value) { |
|
| 257 | + update_post_meta($post_id, '_wpi_discount_' . $key, $value); |
|
| 258 | 258 | } |
| 259 | 259 | |
| 260 | - do_action( 'wpinv_post_update_discount', $meta, $post_id, $post ); |
|
| 260 | + do_action('wpinv_post_update_discount', $meta, $post_id, $post); |
|
| 261 | 261 | |
| 262 | 262 | return $post_id; |
| 263 | 263 | } |
| 264 | 264 | |
| 265 | -function wpinv_remove_discount( $discount_id = 0 ) { |
|
| 266 | - do_action( 'wpinv_pre_delete_discount', $discount_id ); |
|
| 265 | +function wpinv_remove_discount($discount_id = 0) { |
|
| 266 | + do_action('wpinv_pre_delete_discount', $discount_id); |
|
| 267 | 267 | |
| 268 | - wp_delete_post( $discount_id, true ); |
|
| 268 | + wp_delete_post($discount_id, true); |
|
| 269 | 269 | |
| 270 | - do_action( 'wpinv_post_delete_discount', $discount_id ); |
|
| 270 | + do_action('wpinv_post_delete_discount', $discount_id); |
|
| 271 | 271 | } |
| 272 | 272 | |
| 273 | -function wpinv_update_discount_status( $code_id = 0, $new_status = 'publish' ) { |
|
| 274 | - $discount = wpinv_get_discount( $code_id ); |
|
| 273 | +function wpinv_update_discount_status($code_id = 0, $new_status = 'publish') { |
|
| 274 | + $discount = wpinv_get_discount($code_id); |
|
| 275 | 275 | |
| 276 | - if ( $discount ) { |
|
| 277 | - do_action( 'wpinv_pre_update_discount_status', $code_id, $new_status, $discount->post_status ); |
|
| 276 | + if ($discount) { |
|
| 277 | + do_action('wpinv_pre_update_discount_status', $code_id, $new_status, $discount->post_status); |
|
| 278 | 278 | |
| 279 | - wp_update_post( array( 'ID' => $code_id, 'post_status' => $new_status ) ); |
|
| 279 | + wp_update_post(array('ID' => $code_id, 'post_status' => $new_status)); |
|
| 280 | 280 | |
| 281 | - do_action( 'wpinv_post_update_discount_status', $code_id, $new_status, $discount->post_status ); |
|
| 281 | + do_action('wpinv_post_update_discount_status', $code_id, $new_status, $discount->post_status); |
|
| 282 | 282 | |
| 283 | 283 | return true; |
| 284 | 284 | } |
@@ -286,173 +286,173 @@ discard block |
||
| 286 | 286 | return false; |
| 287 | 287 | } |
| 288 | 288 | |
| 289 | -function wpinv_discount_exists( $code_id ) { |
|
| 290 | - if ( wpinv_get_discount( $code_id ) ) { |
|
| 289 | +function wpinv_discount_exists($code_id) { |
|
| 290 | + if (wpinv_get_discount($code_id)) { |
|
| 291 | 291 | return true; |
| 292 | 292 | } |
| 293 | 293 | |
| 294 | 294 | return false; |
| 295 | 295 | } |
| 296 | 296 | |
| 297 | -function wpinv_is_discount_active( $code_id = null ) { |
|
| 298 | - $discount = wpinv_get_discount( $code_id ); |
|
| 297 | +function wpinv_is_discount_active($code_id = null) { |
|
| 298 | + $discount = wpinv_get_discount($code_id); |
|
| 299 | 299 | $return = false; |
| 300 | 300 | |
| 301 | - if ( $discount ) { |
|
| 302 | - if ( wpinv_is_discount_expired( $code_id ) ) { |
|
| 303 | - if( defined( 'DOING_AJAX' ) ) { |
|
| 304 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount is expired.', 'invoicing' ) ); |
|
| 301 | + if ($discount) { |
|
| 302 | + if (wpinv_is_discount_expired($code_id)) { |
|
| 303 | + if (defined('DOING_AJAX')) { |
|
| 304 | + wpinv_set_error('wpinv-discount-error', __('This discount is expired.', 'invoicing')); |
|
| 305 | 305 | } |
| 306 | - } elseif ( $discount->post_status == 'publish' ) { |
|
| 306 | + } elseif ($discount->post_status == 'publish') { |
|
| 307 | 307 | $return = true; |
| 308 | 308 | } else { |
| 309 | - if( defined( 'DOING_AJAX' ) ) { |
|
| 310 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount is not active.', 'invoicing' ) ); |
|
| 309 | + if (defined('DOING_AJAX')) { |
|
| 310 | + wpinv_set_error('wpinv-discount-error', __('This discount is not active.', 'invoicing')); |
|
| 311 | 311 | } |
| 312 | 312 | } |
| 313 | 313 | } |
| 314 | 314 | |
| 315 | - return apply_filters( 'wpinv_is_discount_active', $return, $code_id ); |
|
| 315 | + return apply_filters('wpinv_is_discount_active', $return, $code_id); |
|
| 316 | 316 | } |
| 317 | 317 | |
| 318 | -function wpinv_get_discount_code( $code_id = null ) { |
|
| 319 | - $code = get_post_meta( $code_id, '_wpi_discount_code', true ); |
|
| 318 | +function wpinv_get_discount_code($code_id = null) { |
|
| 319 | + $code = get_post_meta($code_id, '_wpi_discount_code', true); |
|
| 320 | 320 | |
| 321 | - return apply_filters( 'wpinv_get_discount_code', $code, $code_id ); |
|
| 321 | + return apply_filters('wpinv_get_discount_code', $code, $code_id); |
|
| 322 | 322 | } |
| 323 | 323 | |
| 324 | -function wpinv_get_discount_start_date( $code_id = null ) { |
|
| 325 | - $start_date = get_post_meta( $code_id, '_wpi_discount_start', true ); |
|
| 324 | +function wpinv_get_discount_start_date($code_id = null) { |
|
| 325 | + $start_date = get_post_meta($code_id, '_wpi_discount_start', true); |
|
| 326 | 326 | |
| 327 | - return apply_filters( 'wpinv_get_discount_start_date', $start_date, $code_id ); |
|
| 327 | + return apply_filters('wpinv_get_discount_start_date', $start_date, $code_id); |
|
| 328 | 328 | } |
| 329 | 329 | |
| 330 | -function wpinv_get_discount_expiration( $code_id = null ) { |
|
| 331 | - $expiration = get_post_meta( $code_id, '_wpi_discount_expiration', true ); |
|
| 330 | +function wpinv_get_discount_expiration($code_id = null) { |
|
| 331 | + $expiration = get_post_meta($code_id, '_wpi_discount_expiration', true); |
|
| 332 | 332 | |
| 333 | - return apply_filters( 'wpinv_get_discount_expiration', $expiration, $code_id ); |
|
| 333 | + return apply_filters('wpinv_get_discount_expiration', $expiration, $code_id); |
|
| 334 | 334 | } |
| 335 | 335 | |
| 336 | -function wpinv_get_discount_max_uses( $code_id = null ) { |
|
| 337 | - $max_uses = get_post_meta( $code_id, '_wpi_discount_max_uses', true ); |
|
| 336 | +function wpinv_get_discount_max_uses($code_id = null) { |
|
| 337 | + $max_uses = get_post_meta($code_id, '_wpi_discount_max_uses', true); |
|
| 338 | 338 | |
| 339 | - return (int) apply_filters( 'wpinv_get_discount_max_uses', $max_uses, $code_id ); |
|
| 339 | + return (int)apply_filters('wpinv_get_discount_max_uses', $max_uses, $code_id); |
|
| 340 | 340 | } |
| 341 | 341 | |
| 342 | -function wpinv_get_discount_uses( $code_id = null ) { |
|
| 343 | - $uses = get_post_meta( $code_id, '_wpi_discount_uses', true ); |
|
| 342 | +function wpinv_get_discount_uses($code_id = null) { |
|
| 343 | + $uses = get_post_meta($code_id, '_wpi_discount_uses', true); |
|
| 344 | 344 | |
| 345 | - return (int) apply_filters( 'wpinv_get_discount_uses', $uses, $code_id ); |
|
| 345 | + return (int)apply_filters('wpinv_get_discount_uses', $uses, $code_id); |
|
| 346 | 346 | } |
| 347 | 347 | |
| 348 | -function wpinv_get_discount_min_total( $code_id = null ) { |
|
| 349 | - $min_total = get_post_meta( $code_id, '_wpi_discount_min_total', true ); |
|
| 348 | +function wpinv_get_discount_min_total($code_id = null) { |
|
| 349 | + $min_total = get_post_meta($code_id, '_wpi_discount_min_total', true); |
|
| 350 | 350 | |
| 351 | - return (float) apply_filters( 'wpinv_get_discount_min_total', $min_total, $code_id ); |
|
| 351 | + return (float)apply_filters('wpinv_get_discount_min_total', $min_total, $code_id); |
|
| 352 | 352 | } |
| 353 | 353 | |
| 354 | -function wpinv_get_discount_max_total( $code_id = null ) { |
|
| 355 | - $max_total = get_post_meta( $code_id, '_wpi_discount_max_total', true ); |
|
| 354 | +function wpinv_get_discount_max_total($code_id = null) { |
|
| 355 | + $max_total = get_post_meta($code_id, '_wpi_discount_max_total', true); |
|
| 356 | 356 | |
| 357 | - return (float) apply_filters( 'wpinv_get_discount_max_total', $max_total, $code_id ); |
|
| 357 | + return (float)apply_filters('wpinv_get_discount_max_total', $max_total, $code_id); |
|
| 358 | 358 | } |
| 359 | 359 | |
| 360 | -function wpinv_get_discount_amount( $code_id = null ) { |
|
| 361 | - $amount = get_post_meta( $code_id, '_wpi_discount_amount', true ); |
|
| 360 | +function wpinv_get_discount_amount($code_id = null) { |
|
| 361 | + $amount = get_post_meta($code_id, '_wpi_discount_amount', true); |
|
| 362 | 362 | |
| 363 | - return (float) apply_filters( 'wpinv_get_discount_amount', $amount, $code_id ); |
|
| 363 | + return (float)apply_filters('wpinv_get_discount_amount', $amount, $code_id); |
|
| 364 | 364 | } |
| 365 | 365 | |
| 366 | -function wpinv_get_discount_type( $code_id = null, $name = false ) { |
|
| 367 | - $type = strtolower( get_post_meta( $code_id, '_wpi_discount_type', true ) ); |
|
| 366 | +function wpinv_get_discount_type($code_id = null, $name = false) { |
|
| 367 | + $type = strtolower(get_post_meta($code_id, '_wpi_discount_type', true)); |
|
| 368 | 368 | |
| 369 | - if ( $name ) { |
|
| 370 | - $name = wpinv_get_discount_type_name( $type ); |
|
| 369 | + if ($name) { |
|
| 370 | + $name = wpinv_get_discount_type_name($type); |
|
| 371 | 371 | |
| 372 | - return apply_filters( 'wpinv_get_discount_type_name', $name, $code_id ); |
|
| 372 | + return apply_filters('wpinv_get_discount_type_name', $name, $code_id); |
|
| 373 | 373 | } |
| 374 | 374 | |
| 375 | - return apply_filters( 'wpinv_get_discount_type', $type, $code_id ); |
|
| 375 | + return apply_filters('wpinv_get_discount_type', $type, $code_id); |
|
| 376 | 376 | } |
| 377 | 377 | |
| 378 | -function wpinv_discount_status( $status ) { |
|
| 379 | - switch( $status ){ |
|
| 378 | +function wpinv_discount_status($status) { |
|
| 379 | + switch ($status) { |
|
| 380 | 380 | case 'expired' : |
| 381 | - $name = __( 'Expired', 'invoicing' ); |
|
| 381 | + $name = __('Expired', 'invoicing'); |
|
| 382 | 382 | break; |
| 383 | 383 | case 'publish' : |
| 384 | 384 | case 'active' : |
| 385 | - $name = __( 'Active', 'invoicing' ); |
|
| 385 | + $name = __('Active', 'invoicing'); |
|
| 386 | 386 | break; |
| 387 | 387 | default : |
| 388 | - $name = __( 'Inactive', 'invoicing' ); |
|
| 388 | + $name = __('Inactive', 'invoicing'); |
|
| 389 | 389 | break; |
| 390 | 390 | } |
| 391 | 391 | return $name; |
| 392 | 392 | } |
| 393 | 393 | |
| 394 | -function wpinv_get_discount_excluded_items( $code_id = null ) { |
|
| 395 | - $excluded_items = get_post_meta( $code_id, '_wpi_discount_excluded_items', true ); |
|
| 394 | +function wpinv_get_discount_excluded_items($code_id = null) { |
|
| 395 | + $excluded_items = get_post_meta($code_id, '_wpi_discount_excluded_items', true); |
|
| 396 | 396 | |
| 397 | - if ( empty( $excluded_items ) || ! is_array( $excluded_items ) ) { |
|
| 397 | + if (empty($excluded_items) || !is_array($excluded_items)) { |
|
| 398 | 398 | $excluded_items = array(); |
| 399 | 399 | } |
| 400 | 400 | |
| 401 | - return (array) apply_filters( 'wpinv_get_discount_excluded_items', $excluded_items, $code_id ); |
|
| 401 | + return (array)apply_filters('wpinv_get_discount_excluded_items', $excluded_items, $code_id); |
|
| 402 | 402 | } |
| 403 | 403 | |
| 404 | -function wpinv_get_discount_item_reqs( $code_id = null ) { |
|
| 405 | - $item_reqs = get_post_meta( $code_id, '_wpi_discount_items', true ); |
|
| 404 | +function wpinv_get_discount_item_reqs($code_id = null) { |
|
| 405 | + $item_reqs = get_post_meta($code_id, '_wpi_discount_items', true); |
|
| 406 | 406 | |
| 407 | - if ( empty( $item_reqs ) || ! is_array( $item_reqs ) ) { |
|
| 407 | + if (empty($item_reqs) || !is_array($item_reqs)) { |
|
| 408 | 408 | $item_reqs = array(); |
| 409 | 409 | } |
| 410 | 410 | |
| 411 | - return (array) apply_filters( 'wpinv_get_discount_item_reqs', $item_reqs, $code_id ); |
|
| 411 | + return (array)apply_filters('wpinv_get_discount_item_reqs', $item_reqs, $code_id); |
|
| 412 | 412 | } |
| 413 | 413 | |
| 414 | -function wpinv_get_discount_item_condition( $code_id = 0 ) { |
|
| 415 | - return get_post_meta( $code_id, '_wpi_discount_item_condition', true ); |
|
| 414 | +function wpinv_get_discount_item_condition($code_id = 0) { |
|
| 415 | + return get_post_meta($code_id, '_wpi_discount_item_condition', true); |
|
| 416 | 416 | } |
| 417 | 417 | |
| 418 | -function wpinv_is_discount_not_global( $code_id = 0 ) { |
|
| 419 | - return (bool) get_post_meta( $code_id, '_wpi_discount_is_not_global', true ); |
|
| 418 | +function wpinv_is_discount_not_global($code_id = 0) { |
|
| 419 | + return (bool)get_post_meta($code_id, '_wpi_discount_is_not_global', true); |
|
| 420 | 420 | } |
| 421 | 421 | |
| 422 | -function wpinv_is_discount_expired( $code_id = null ) { |
|
| 423 | - $discount = wpinv_get_discount( $code_id ); |
|
| 422 | +function wpinv_is_discount_expired($code_id = null) { |
|
| 423 | + $discount = wpinv_get_discount($code_id); |
|
| 424 | 424 | $return = false; |
| 425 | 425 | |
| 426 | - if ( $discount ) { |
|
| 427 | - $expiration = wpinv_get_discount_expiration( $code_id ); |
|
| 428 | - if ( $expiration ) { |
|
| 429 | - $expiration = strtotime( $expiration ); |
|
| 430 | - if ( $expiration < current_time( 'timestamp' ) ) { |
|
| 426 | + if ($discount) { |
|
| 427 | + $expiration = wpinv_get_discount_expiration($code_id); |
|
| 428 | + if ($expiration) { |
|
| 429 | + $expiration = strtotime($expiration); |
|
| 430 | + if ($expiration < current_time('timestamp')) { |
|
| 431 | 431 | // Discount is expired |
| 432 | - wpinv_update_discount_status( $code_id, 'pending' ); |
|
| 432 | + wpinv_update_discount_status($code_id, 'pending'); |
|
| 433 | 433 | $return = true; |
| 434 | 434 | } |
| 435 | 435 | } |
| 436 | 436 | } |
| 437 | 437 | |
| 438 | - return apply_filters( 'wpinv_is_discount_expired', $return, $code_id ); |
|
| 438 | + return apply_filters('wpinv_is_discount_expired', $return, $code_id); |
|
| 439 | 439 | } |
| 440 | 440 | |
| 441 | -function wpinv_is_discount_started( $code_id = null ) { |
|
| 442 | - $discount = wpinv_get_discount( $code_id ); |
|
| 441 | +function wpinv_is_discount_started($code_id = null) { |
|
| 442 | + $discount = wpinv_get_discount($code_id); |
|
| 443 | 443 | $return = false; |
| 444 | 444 | |
| 445 | - if ( $discount ) { |
|
| 446 | - $start_date = wpinv_get_discount_start_date( $code_id ); |
|
| 445 | + if ($discount) { |
|
| 446 | + $start_date = wpinv_get_discount_start_date($code_id); |
|
| 447 | 447 | |
| 448 | - if ( $start_date ) { |
|
| 449 | - $start_date = strtotime( $start_date ); |
|
| 448 | + if ($start_date) { |
|
| 449 | + $start_date = strtotime($start_date); |
|
| 450 | 450 | |
| 451 | - if ( $start_date < current_time( 'timestamp' ) ) { |
|
| 451 | + if ($start_date < current_time('timestamp')) { |
|
| 452 | 452 | // Discount has past the start date |
| 453 | 453 | $return = true; |
| 454 | 454 | } else { |
| 455 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount is not active yet.', 'invoicing' ) ); |
|
| 455 | + wpinv_set_error('wpinv-discount-error', __('This discount is not active yet.', 'invoicing')); |
|
| 456 | 456 | } |
| 457 | 457 | } else { |
| 458 | 458 | // No start date for this discount, so has to be true |
@@ -460,159 +460,159 @@ discard block |
||
| 460 | 460 | } |
| 461 | 461 | } |
| 462 | 462 | |
| 463 | - return apply_filters( 'wpinv_is_discount_started', $return, $code_id ); |
|
| 463 | + return apply_filters('wpinv_is_discount_started', $return, $code_id); |
|
| 464 | 464 | } |
| 465 | 465 | |
| 466 | -function wpinv_check_discount_dates( $code_id = null ) { |
|
| 467 | - $discount = wpinv_get_discount( $code_id ); |
|
| 466 | +function wpinv_check_discount_dates($code_id = null) { |
|
| 467 | + $discount = wpinv_get_discount($code_id); |
|
| 468 | 468 | $return = false; |
| 469 | 469 | |
| 470 | - if ( $discount ) { |
|
| 471 | - $start_date = wpinv_get_discount_start_date( $code_id ); |
|
| 470 | + if ($discount) { |
|
| 471 | + $start_date = wpinv_get_discount_start_date($code_id); |
|
| 472 | 472 | |
| 473 | - if ( $start_date ) { |
|
| 474 | - $start_date = strtotime( $start_date ); |
|
| 473 | + if ($start_date) { |
|
| 474 | + $start_date = strtotime($start_date); |
|
| 475 | 475 | |
| 476 | - if ( $start_date < current_time( 'timestamp' ) ) { |
|
| 476 | + if ($start_date < current_time('timestamp')) { |
|
| 477 | 477 | // Discount has past the start date |
| 478 | 478 | $return = true; |
| 479 | 479 | } else { |
| 480 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount is not active yet.', 'invoicing' ) ); |
|
| 480 | + wpinv_set_error('wpinv-discount-error', __('This discount is not active yet.', 'invoicing')); |
|
| 481 | 481 | } |
| 482 | 482 | } else { |
| 483 | 483 | // No start date for this discount, so has to be true |
| 484 | 484 | $return = true; |
| 485 | 485 | } |
| 486 | 486 | |
| 487 | - if ( $return ) { |
|
| 488 | - $expiration = wpinv_get_discount_expiration( $code_id ); |
|
| 487 | + if ($return) { |
|
| 488 | + $expiration = wpinv_get_discount_expiration($code_id); |
|
| 489 | 489 | |
| 490 | - if ( $expiration ) { |
|
| 491 | - $expiration = strtotime( $expiration ); |
|
| 492 | - if ( $expiration < current_time( 'timestamp' ) ) { |
|
| 490 | + if ($expiration) { |
|
| 491 | + $expiration = strtotime($expiration); |
|
| 492 | + if ($expiration < current_time('timestamp')) { |
|
| 493 | 493 | // Discount is expired |
| 494 | - wpinv_update_discount_status( $code_id, 'pending' ); |
|
| 494 | + wpinv_update_discount_status($code_id, 'pending'); |
|
| 495 | 495 | $return = true; |
| 496 | 496 | } |
| 497 | 497 | } |
| 498 | 498 | } |
| 499 | 499 | } |
| 500 | 500 | |
| 501 | - return apply_filters( 'wpinv_check_discount_dates', $return, $code_id ); |
|
| 501 | + return apply_filters('wpinv_check_discount_dates', $return, $code_id); |
|
| 502 | 502 | } |
| 503 | 503 | |
| 504 | -function wpinv_is_discount_maxed_out( $code_id = null ) { |
|
| 505 | - $discount = wpinv_get_discount( $code_id ); |
|
| 504 | +function wpinv_is_discount_maxed_out($code_id = null) { |
|
| 505 | + $discount = wpinv_get_discount($code_id); |
|
| 506 | 506 | $return = false; |
| 507 | 507 | |
| 508 | - if ( $discount ) { |
|
| 509 | - $uses = wpinv_get_discount_uses( $code_id ); |
|
| 508 | + if ($discount) { |
|
| 509 | + $uses = wpinv_get_discount_uses($code_id); |
|
| 510 | 510 | // Large number that will never be reached |
| 511 | - $max_uses = wpinv_get_discount_max_uses( $code_id ); |
|
| 511 | + $max_uses = wpinv_get_discount_max_uses($code_id); |
|
| 512 | 512 | // Should never be greater than, but just in case |
| 513 | - if ( $uses >= $max_uses && ! empty( $max_uses ) ) { |
|
| 513 | + if ($uses >= $max_uses && !empty($max_uses)) { |
|
| 514 | 514 | // Discount is maxed out |
| 515 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount has reached its maximum usage.', 'invoicing' ) ); |
|
| 515 | + wpinv_set_error('wpinv-discount-error', __('This discount has reached its maximum usage.', 'invoicing')); |
|
| 516 | 516 | $return = true; |
| 517 | 517 | } |
| 518 | 518 | } |
| 519 | 519 | |
| 520 | - return apply_filters( 'wpinv_is_discount_maxed_out', $return, $code_id ); |
|
| 520 | + return apply_filters('wpinv_is_discount_maxed_out', $return, $code_id); |
|
| 521 | 521 | } |
| 522 | 522 | |
| 523 | -function wpinv_discount_is_min_met( $code_id = null ) { |
|
| 524 | - $discount = wpinv_get_discount( $code_id ); |
|
| 523 | +function wpinv_discount_is_min_met($code_id = null) { |
|
| 524 | + $discount = wpinv_get_discount($code_id); |
|
| 525 | 525 | $return = false; |
| 526 | 526 | |
| 527 | - if ( $discount ) { |
|
| 528 | - $min = (float)wpinv_get_discount_min_total( $code_id ); |
|
| 529 | - $cart_amount = (float)wpinv_get_cart_discountable_subtotal( $code_id ); |
|
| 527 | + if ($discount) { |
|
| 528 | + $min = (float)wpinv_get_discount_min_total($code_id); |
|
| 529 | + $cart_amount = (float)wpinv_get_cart_discountable_subtotal($code_id); |
|
| 530 | 530 | |
| 531 | - if ( !$min > 0 || $cart_amount >= $min ) { |
|
| 531 | + if (!$min > 0 || $cart_amount >= $min) { |
|
| 532 | 532 | // Minimum has been met |
| 533 | 533 | $return = true; |
| 534 | 534 | } else { |
| 535 | - wpinv_set_error( 'wpinv-discount-error', sprintf( __( 'Minimum invoice amount should be %s', 'invoicing' ), wpinv_price( wpinv_format_amount( $min ) ) ) ); |
|
| 535 | + wpinv_set_error('wpinv-discount-error', sprintf(__('Minimum invoice amount should be %s', 'invoicing'), wpinv_price(wpinv_format_amount($min)))); |
|
| 536 | 536 | } |
| 537 | 537 | } |
| 538 | 538 | |
| 539 | - return apply_filters( 'wpinv_is_discount_min_met', $return, $code_id ); |
|
| 539 | + return apply_filters('wpinv_is_discount_min_met', $return, $code_id); |
|
| 540 | 540 | } |
| 541 | 541 | |
| 542 | -function wpinv_discount_is_max_met( $code_id = null ) { |
|
| 543 | - $discount = wpinv_get_discount( $code_id ); |
|
| 542 | +function wpinv_discount_is_max_met($code_id = null) { |
|
| 543 | + $discount = wpinv_get_discount($code_id); |
|
| 544 | 544 | $return = false; |
| 545 | 545 | |
| 546 | - if ( $discount ) { |
|
| 547 | - $max = (float)wpinv_get_discount_max_total( $code_id ); |
|
| 548 | - $cart_amount = (float)wpinv_get_cart_discountable_subtotal( $code_id ); |
|
| 546 | + if ($discount) { |
|
| 547 | + $max = (float)wpinv_get_discount_max_total($code_id); |
|
| 548 | + $cart_amount = (float)wpinv_get_cart_discountable_subtotal($code_id); |
|
| 549 | 549 | |
| 550 | - if ( !$max > 0 || $cart_amount <= $max ) { |
|
| 550 | + if (!$max > 0 || $cart_amount <= $max) { |
|
| 551 | 551 | // Minimum has been met |
| 552 | 552 | $return = true; |
| 553 | 553 | } else { |
| 554 | - wpinv_set_error( 'wpinv-discount-error', sprintf( __( 'Maximum invoice amount should be %s', 'invoicing' ), wpinv_price( wpinv_format_amount( $max ) ) ) ); |
|
| 554 | + wpinv_set_error('wpinv-discount-error', sprintf(__('Maximum invoice amount should be %s', 'invoicing'), wpinv_price(wpinv_format_amount($max)))); |
|
| 555 | 555 | } |
| 556 | 556 | } |
| 557 | 557 | |
| 558 | - return apply_filters( 'wpinv_is_discount_max_met', $return, $code_id ); |
|
| 558 | + return apply_filters('wpinv_is_discount_max_met', $return, $code_id); |
|
| 559 | 559 | } |
| 560 | 560 | |
| 561 | -function wpinv_discount_is_single_use( $code_id = 0 ) { |
|
| 562 | - $single_use = get_post_meta( $code_id, '_wpi_discount_is_single_use', true ); |
|
| 563 | - return (bool) apply_filters( 'wpinv_is_discount_single_use', $single_use, $code_id ); |
|
| 561 | +function wpinv_discount_is_single_use($code_id = 0) { |
|
| 562 | + $single_use = get_post_meta($code_id, '_wpi_discount_is_single_use', true); |
|
| 563 | + return (bool)apply_filters('wpinv_is_discount_single_use', $single_use, $code_id); |
|
| 564 | 564 | } |
| 565 | 565 | |
| 566 | -function wpinv_discount_is_recurring( $code_id = 0, $code = false ) { |
|
| 567 | - if ( $code ) { |
|
| 568 | - $discount = wpinv_get_discount_by_code( $code_id ); |
|
| 566 | +function wpinv_discount_is_recurring($code_id = 0, $code = false) { |
|
| 567 | + if ($code) { |
|
| 568 | + $discount = wpinv_get_discount_by_code($code_id); |
|
| 569 | 569 | |
| 570 | - if ( !empty( $discount ) ) { |
|
| 570 | + if (!empty($discount)) { |
|
| 571 | 571 | $code_id = $discount->ID; |
| 572 | 572 | } |
| 573 | 573 | } |
| 574 | 574 | |
| 575 | - $recurring = get_post_meta( $code_id, '_wpi_discount_is_recurring', true ); |
|
| 575 | + $recurring = get_post_meta($code_id, '_wpi_discount_is_recurring', true); |
|
| 576 | 576 | |
| 577 | - return (bool) apply_filters( 'wpinv_is_discount_recurring', $recurring, $code_id, $code ); |
|
| 577 | + return (bool)apply_filters('wpinv_is_discount_recurring', $recurring, $code_id, $code); |
|
| 578 | 578 | } |
| 579 | 579 | |
| 580 | -function wpinv_discount_item_reqs_met( $code_id = null ) { |
|
| 581 | - $item_reqs = wpinv_get_discount_item_reqs( $code_id ); |
|
| 582 | - $condition = wpinv_get_discount_item_condition( $code_id ); |
|
| 583 | - $excluded_ps = wpinv_get_discount_excluded_items( $code_id ); |
|
| 580 | +function wpinv_discount_item_reqs_met($code_id = null) { |
|
| 581 | + $item_reqs = wpinv_get_discount_item_reqs($code_id); |
|
| 582 | + $condition = wpinv_get_discount_item_condition($code_id); |
|
| 583 | + $excluded_ps = wpinv_get_discount_excluded_items($code_id); |
|
| 584 | 584 | $cart_items = wpinv_get_cart_contents(); |
| 585 | - $cart_ids = $cart_items ? wp_list_pluck( $cart_items, 'id' ) : null; |
|
| 585 | + $cart_ids = $cart_items ? wp_list_pluck($cart_items, 'id') : null; |
|
| 586 | 586 | $ret = false; |
| 587 | 587 | |
| 588 | - if ( empty( $item_reqs ) && empty( $excluded_ps ) ) { |
|
| 588 | + if (empty($item_reqs) && empty($excluded_ps)) { |
|
| 589 | 589 | $ret = true; |
| 590 | 590 | } |
| 591 | 591 | |
| 592 | 592 | // Normalize our data for item requirements, exclusions and cart data |
| 593 | 593 | // First absint the items, then sort, and reset the array keys |
| 594 | - $item_reqs = array_map( 'absint', $item_reqs ); |
|
| 595 | - asort( $item_reqs ); |
|
| 596 | - $item_reqs = array_values( $item_reqs ); |
|
| 594 | + $item_reqs = array_map('absint', $item_reqs); |
|
| 595 | + asort($item_reqs); |
|
| 596 | + $item_reqs = array_values($item_reqs); |
|
| 597 | 597 | |
| 598 | - $excluded_ps = array_map( 'absint', $excluded_ps ); |
|
| 599 | - asort( $excluded_ps ); |
|
| 600 | - $excluded_ps = array_values( $excluded_ps ); |
|
| 598 | + $excluded_ps = array_map('absint', $excluded_ps); |
|
| 599 | + asort($excluded_ps); |
|
| 600 | + $excluded_ps = array_values($excluded_ps); |
|
| 601 | 601 | |
| 602 | - $cart_ids = array_map( 'absint', $cart_ids ); |
|
| 603 | - asort( $cart_ids ); |
|
| 604 | - $cart_ids = array_values( $cart_ids ); |
|
| 602 | + $cart_ids = array_map('absint', $cart_ids); |
|
| 603 | + asort($cart_ids); |
|
| 604 | + $cart_ids = array_values($cart_ids); |
|
| 605 | 605 | |
| 606 | 606 | // Ensure we have requirements before proceeding |
| 607 | - if ( !$ret && ! empty( $item_reqs ) ) { |
|
| 608 | - switch( $condition ) { |
|
| 607 | + if (!$ret && !empty($item_reqs)) { |
|
| 608 | + switch ($condition) { |
|
| 609 | 609 | case 'all' : |
| 610 | 610 | // Default back to true |
| 611 | 611 | $ret = true; |
| 612 | 612 | |
| 613 | - foreach ( $item_reqs as $item_id ) { |
|
| 614 | - if ( !wpinv_item_in_cart( $item_id ) ) { |
|
| 615 | - wpinv_set_error( 'wpinv-discount-error', __( 'The item requirements for this discount are not met.', 'invoicing' ) ); |
|
| 613 | + foreach ($item_reqs as $item_id) { |
|
| 614 | + if (!wpinv_item_in_cart($item_id)) { |
|
| 615 | + wpinv_set_error('wpinv-discount-error', __('The item requirements for this discount are not met.', 'invoicing')); |
|
| 616 | 616 | $ret = false; |
| 617 | 617 | break; |
| 618 | 618 | } |
@@ -621,15 +621,15 @@ discard block |
||
| 621 | 621 | break; |
| 622 | 622 | |
| 623 | 623 | default : // Any |
| 624 | - foreach ( $item_reqs as $item_id ) { |
|
| 625 | - if ( wpinv_item_in_cart( $item_id ) ) { |
|
| 624 | + foreach ($item_reqs as $item_id) { |
|
| 625 | + if (wpinv_item_in_cart($item_id)) { |
|
| 626 | 626 | $ret = true; |
| 627 | 627 | break; |
| 628 | 628 | } |
| 629 | 629 | } |
| 630 | 630 | |
| 631 | - if( ! $ret ) { |
|
| 632 | - wpinv_set_error( 'wpinv-discount-error', __( 'The item requirements for this discount are not met.', 'invoicing' ) ); |
|
| 631 | + if (!$ret) { |
|
| 632 | + wpinv_set_error('wpinv-discount-error', __('The item requirements for this discount are not met.', 'invoicing')); |
|
| 633 | 633 | } |
| 634 | 634 | |
| 635 | 635 | break; |
@@ -638,70 +638,70 @@ discard block |
||
| 638 | 638 | $ret = true; |
| 639 | 639 | } |
| 640 | 640 | |
| 641 | - if( ! empty( $excluded_ps ) ) { |
|
| 641 | + if (!empty($excluded_ps)) { |
|
| 642 | 642 | // Check that there are items other than excluded ones in the cart |
| 643 | - if( $cart_ids == $excluded_ps ) { |
|
| 644 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount is not valid for the cart contents.', 'invoicing' ) ); |
|
| 643 | + if ($cart_ids == $excluded_ps) { |
|
| 644 | + wpinv_set_error('wpinv-discount-error', __('This discount is not valid for the cart contents.', 'invoicing')); |
|
| 645 | 645 | $ret = false; |
| 646 | 646 | } |
| 647 | 647 | } |
| 648 | 648 | |
| 649 | - return (bool) apply_filters( 'wpinv_is_discount_item_req_met', $ret, $code_id, $condition ); |
|
| 649 | + return (bool)apply_filters('wpinv_is_discount_item_req_met', $ret, $code_id, $condition); |
|
| 650 | 650 | } |
| 651 | 651 | |
| 652 | -function wpinv_is_discount_used( $code = null, $user = '', $code_id = 0 ) { |
|
| 652 | +function wpinv_is_discount_used($code = null, $user = '', $code_id = 0) { |
|
| 653 | 653 | global $wpi_checkout_id; |
| 654 | 654 | |
| 655 | 655 | $return = false; |
| 656 | 656 | |
| 657 | - if ( empty( $code_id ) ) { |
|
| 658 | - $code_id = wpinv_get_discount_id_by_code( $code ); |
|
| 657 | + if (empty($code_id)) { |
|
| 658 | + $code_id = wpinv_get_discount_id_by_code($code); |
|
| 659 | 659 | |
| 660 | - if( empty( $code_id ) ) { |
|
| 660 | + if (empty($code_id)) { |
|
| 661 | 661 | return false; // No discount was found |
| 662 | 662 | } |
| 663 | 663 | } |
| 664 | 664 | |
| 665 | - if ( wpinv_discount_is_single_use( $code_id ) ) { |
|
| 665 | + if (wpinv_discount_is_single_use($code_id)) { |
|
| 666 | 666 | $payments = array(); |
| 667 | 667 | |
| 668 | 668 | $user_id = 0; |
| 669 | - if ( is_int( $user ) ) { |
|
| 670 | - $user_id = absint( $user ); |
|
| 671 | - } else if ( is_email( $user ) && $user_data = get_user_by( 'email', $user ) ) { |
|
| 669 | + if (is_int($user)) { |
|
| 670 | + $user_id = absint($user); |
|
| 671 | + } else if (is_email($user) && $user_data = get_user_by('email', $user)) { |
|
| 672 | 672 | $user_id = $user_data->ID; |
| 673 | - } else if ( $user_data = get_user_by( 'login', $user ) ) { |
|
| 673 | + } else if ($user_data = get_user_by('login', $user)) { |
|
| 674 | 674 | $user_id = $user_data->ID; |
| 675 | - } else if ( absint( $user ) > 0 ) { |
|
| 676 | - $user_id = absint( $user ); |
|
| 675 | + } else if (absint($user) > 0) { |
|
| 676 | + $user_id = absint($user); |
|
| 677 | 677 | } |
| 678 | 678 | |
| 679 | - if ( !empty( $user_id ) ) { |
|
| 680 | - $query = array( 'user' => $user_id, 'limit' => false ); |
|
| 681 | - $payments = wpinv_get_invoices( $query ); // Get all payments with matching user id |
|
| 679 | + if (!empty($user_id)) { |
|
| 680 | + $query = array('user' => $user_id, 'limit' => false); |
|
| 681 | + $payments = wpinv_get_invoices($query); // Get all payments with matching user id |
|
| 682 | 682 | } |
| 683 | 683 | |
| 684 | - if ( $payments ) { |
|
| 685 | - foreach ( $payments as $payment ) { |
|
| 684 | + if ($payments) { |
|
| 685 | + foreach ($payments as $payment) { |
|
| 686 | 686 | // Don't count discount used for current invoice chekcout. |
| 687 | - if ( !empty( $wpi_checkout_id ) && $wpi_checkout_id == $payment->ID ) { |
|
| 687 | + if (!empty($wpi_checkout_id) && $wpi_checkout_id == $payment->ID) { |
|
| 688 | 688 | continue; |
| 689 | 689 | } |
| 690 | 690 | |
| 691 | - if ( $payment->has_status( array( 'wpi-cancelled', 'wpi-failed' ) ) ) { |
|
| 691 | + if ($payment->has_status(array('wpi-cancelled', 'wpi-failed'))) { |
|
| 692 | 692 | continue; |
| 693 | 693 | } |
| 694 | 694 | |
| 695 | - $discounts = $payment->get_discounts( true ); |
|
| 696 | - if ( empty( $discounts ) ) { |
|
| 695 | + $discounts = $payment->get_discounts(true); |
|
| 696 | + if (empty($discounts)) { |
|
| 697 | 697 | continue; |
| 698 | 698 | } |
| 699 | 699 | |
| 700 | - $discounts = $discounts && !is_array( $discounts ) ? explode( ',', $discounts ) : $discounts; |
|
| 700 | + $discounts = $discounts && !is_array($discounts) ? explode(',', $discounts) : $discounts; |
|
| 701 | 701 | |
| 702 | - if ( !empty( $discounts ) && is_array( $discounts ) ) { |
|
| 703 | - if ( in_array( strtolower( $code ), array_map( 'strtolower', $discounts ) ) ) { |
|
| 704 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount has already been redeemed.', 'invoicing' ) ); |
|
| 702 | + if (!empty($discounts) && is_array($discounts)) { |
|
| 703 | + if (in_array(strtolower($code), array_map('strtolower', $discounts))) { |
|
| 704 | + wpinv_set_error('wpinv-discount-error', __('This discount has already been redeemed.', 'invoicing')); |
|
| 705 | 705 | $return = true; |
| 706 | 706 | break; |
| 707 | 707 | } |
@@ -710,61 +710,61 @@ discard block |
||
| 710 | 710 | } |
| 711 | 711 | } |
| 712 | 712 | |
| 713 | - return apply_filters( 'wpinv_is_discount_used', $return, $code, $user ); |
|
| 713 | + return apply_filters('wpinv_is_discount_used', $return, $code, $user); |
|
| 714 | 714 | } |
| 715 | 715 | |
| 716 | -function wpinv_is_discount_valid( $code = '', $user = '', $set_error = true ) { |
|
| 716 | +function wpinv_is_discount_valid($code = '', $user = '', $set_error = true) { |
|
| 717 | 717 | $return = false; |
| 718 | - $discount_id = wpinv_get_discount_id_by_code( $code ); |
|
| 719 | - $user = trim( $user ); |
|
| 718 | + $discount_id = wpinv_get_discount_id_by_code($code); |
|
| 719 | + $user = trim($user); |
|
| 720 | 720 | |
| 721 | - if ( wpinv_get_cart_contents() ) { |
|
| 722 | - if ( $discount_id ) { |
|
| 721 | + if (wpinv_get_cart_contents()) { |
|
| 722 | + if ($discount_id) { |
|
| 723 | 723 | if ( |
| 724 | - wpinv_is_discount_active( $discount_id ) && |
|
| 725 | - wpinv_check_discount_dates( $discount_id ) && |
|
| 726 | - !wpinv_is_discount_maxed_out( $discount_id ) && |
|
| 727 | - !wpinv_is_discount_used( $code, $user, $discount_id ) && |
|
| 728 | - wpinv_discount_is_min_met( $discount_id ) && |
|
| 729 | - wpinv_discount_is_max_met( $discount_id ) && |
|
| 730 | - wpinv_discount_item_reqs_met( $discount_id ) |
|
| 724 | + wpinv_is_discount_active($discount_id) && |
|
| 725 | + wpinv_check_discount_dates($discount_id) && |
|
| 726 | + !wpinv_is_discount_maxed_out($discount_id) && |
|
| 727 | + !wpinv_is_discount_used($code, $user, $discount_id) && |
|
| 728 | + wpinv_discount_is_min_met($discount_id) && |
|
| 729 | + wpinv_discount_is_max_met($discount_id) && |
|
| 730 | + wpinv_discount_item_reqs_met($discount_id) |
|
| 731 | 731 | ) { |
| 732 | 732 | $return = true; |
| 733 | 733 | } |
| 734 | - } elseif( $set_error ) { |
|
| 735 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount is invalid.', 'invoicing' ) ); |
|
| 734 | + } elseif ($set_error) { |
|
| 735 | + wpinv_set_error('wpinv-discount-error', __('This discount is invalid.', 'invoicing')); |
|
| 736 | 736 | } |
| 737 | 737 | } |
| 738 | 738 | |
| 739 | - return apply_filters( 'wpinv_is_discount_valid', $return, $discount_id, $code, $user ); |
|
| 739 | + return apply_filters('wpinv_is_discount_valid', $return, $discount_id, $code, $user); |
|
| 740 | 740 | } |
| 741 | 741 | |
| 742 | -function wpinv_get_discount_id_by_code( $code ) { |
|
| 743 | - $discount = wpinv_get_discount_by_code( $code ); |
|
| 744 | - if( $discount ) { |
|
| 742 | +function wpinv_get_discount_id_by_code($code) { |
|
| 743 | + $discount = wpinv_get_discount_by_code($code); |
|
| 744 | + if ($discount) { |
|
| 745 | 745 | return $discount->ID; |
| 746 | 746 | } |
| 747 | 747 | return false; |
| 748 | 748 | } |
| 749 | 749 | |
| 750 | -function wpinv_get_discounted_amount( $code, $base_price ) { |
|
| 750 | +function wpinv_get_discounted_amount($code, $base_price) { |
|
| 751 | 751 | $amount = $base_price; |
| 752 | - $discount_id = wpinv_get_discount_id_by_code( $code ); |
|
| 752 | + $discount_id = wpinv_get_discount_id_by_code($code); |
|
| 753 | 753 | |
| 754 | - if( $discount_id ) { |
|
| 755 | - $type = wpinv_get_discount_type( $discount_id ); |
|
| 756 | - $rate = wpinv_get_discount_amount( $discount_id ); |
|
| 754 | + if ($discount_id) { |
|
| 755 | + $type = wpinv_get_discount_type($discount_id); |
|
| 756 | + $rate = wpinv_get_discount_amount($discount_id); |
|
| 757 | 757 | |
| 758 | - if ( $type == 'flat' ) { |
|
| 758 | + if ($type == 'flat') { |
|
| 759 | 759 | // Set amount |
| 760 | 760 | $amount = $base_price - $rate; |
| 761 | - if ( $amount < 0 ) { |
|
| 761 | + if ($amount < 0) { |
|
| 762 | 762 | $amount = 0; |
| 763 | 763 | } |
| 764 | 764 | |
| 765 | 765 | } else { |
| 766 | 766 | // Percentage discount |
| 767 | - $amount = $base_price - ( $base_price * ( $rate / 100 ) ); |
|
| 767 | + $amount = $base_price - ($base_price * ($rate / 100)); |
|
| 768 | 768 | } |
| 769 | 769 | |
| 770 | 770 | } else { |
@@ -773,108 +773,108 @@ discard block |
||
| 773 | 773 | |
| 774 | 774 | } |
| 775 | 775 | |
| 776 | - return apply_filters( 'wpinv_discounted_amount', $amount ); |
|
| 776 | + return apply_filters('wpinv_discounted_amount', $amount); |
|
| 777 | 777 | } |
| 778 | 778 | |
| 779 | -function wpinv_increase_discount_usage( $code ) { |
|
| 779 | +function wpinv_increase_discount_usage($code) { |
|
| 780 | 780 | |
| 781 | - $id = wpinv_get_discount_id_by_code( $code ); |
|
| 782 | - $uses = wpinv_get_discount_uses( $id ); |
|
| 781 | + $id = wpinv_get_discount_id_by_code($code); |
|
| 782 | + $uses = wpinv_get_discount_uses($id); |
|
| 783 | 783 | |
| 784 | - if ( $uses ) { |
|
| 784 | + if ($uses) { |
|
| 785 | 785 | $uses++; |
| 786 | 786 | } else { |
| 787 | 787 | $uses = 1; |
| 788 | 788 | } |
| 789 | 789 | |
| 790 | - update_post_meta( $id, '_wpi_discount_uses', $uses ); |
|
| 790 | + update_post_meta($id, '_wpi_discount_uses', $uses); |
|
| 791 | 791 | |
| 792 | - do_action( 'wpinv_discount_increase_use_count', $uses, $id, $code ); |
|
| 792 | + do_action('wpinv_discount_increase_use_count', $uses, $id, $code); |
|
| 793 | 793 | |
| 794 | 794 | return $uses; |
| 795 | 795 | |
| 796 | 796 | } |
| 797 | 797 | |
| 798 | -function wpinv_decrease_discount_usage( $code ) { |
|
| 798 | +function wpinv_decrease_discount_usage($code) { |
|
| 799 | 799 | |
| 800 | - $id = wpinv_get_discount_id_by_code( $code ); |
|
| 801 | - $uses = wpinv_get_discount_uses( $id ); |
|
| 800 | + $id = wpinv_get_discount_id_by_code($code); |
|
| 801 | + $uses = wpinv_get_discount_uses($id); |
|
| 802 | 802 | |
| 803 | - if ( $uses ) { |
|
| 803 | + if ($uses) { |
|
| 804 | 804 | $uses--; |
| 805 | 805 | } |
| 806 | 806 | |
| 807 | - if ( $uses < 0 ) { |
|
| 807 | + if ($uses < 0) { |
|
| 808 | 808 | $uses = 0; |
| 809 | 809 | } |
| 810 | 810 | |
| 811 | - update_post_meta( $id, '_wpi_discount_uses', $uses ); |
|
| 811 | + update_post_meta($id, '_wpi_discount_uses', $uses); |
|
| 812 | 812 | |
| 813 | - do_action( 'wpinv_discount_decrease_use_count', $uses, $id, $code ); |
|
| 813 | + do_action('wpinv_discount_decrease_use_count', $uses, $id, $code); |
|
| 814 | 814 | |
| 815 | 815 | return $uses; |
| 816 | 816 | |
| 817 | 817 | } |
| 818 | 818 | |
| 819 | -function wpinv_format_discount_rate( $type, $amount ) { |
|
| 820 | - if ( $type == 'flat' ) { |
|
| 821 | - return wpinv_price( wpinv_format_amount( $amount ) ); |
|
| 819 | +function wpinv_format_discount_rate($type, $amount) { |
|
| 820 | + if ($type == 'flat') { |
|
| 821 | + return wpinv_price(wpinv_format_amount($amount)); |
|
| 822 | 822 | } else { |
| 823 | 823 | return $amount . '%'; |
| 824 | 824 | } |
| 825 | 825 | } |
| 826 | 826 | |
| 827 | -function wpinv_set_cart_discount( $code = '' ) { |
|
| 828 | - if ( wpinv_multiple_discounts_allowed() ) { |
|
| 827 | +function wpinv_set_cart_discount($code = '') { |
|
| 828 | + if (wpinv_multiple_discounts_allowed()) { |
|
| 829 | 829 | // Get all active cart discounts |
| 830 | 830 | $discounts = wpinv_get_cart_discounts(); |
| 831 | 831 | } else { |
| 832 | 832 | $discounts = false; // Only one discount allowed per purchase, so override any existing |
| 833 | 833 | } |
| 834 | 834 | |
| 835 | - if ( $discounts ) { |
|
| 836 | - $key = array_search( strtolower( $code ), array_map( 'strtolower', $discounts ) ); |
|
| 837 | - if( false !== $key ) { |
|
| 838 | - unset( $discounts[ $key ] ); // Can't set the same discount more than once |
|
| 835 | + if ($discounts) { |
|
| 836 | + $key = array_search(strtolower($code), array_map('strtolower', $discounts)); |
|
| 837 | + if (false !== $key) { |
|
| 838 | + unset($discounts[$key]); // Can't set the same discount more than once |
|
| 839 | 839 | } |
| 840 | 840 | $discounts[] = $code; |
| 841 | 841 | } else { |
| 842 | 842 | $discounts = array(); |
| 843 | 843 | $discounts[] = $code; |
| 844 | 844 | } |
| 845 | - $discounts = array_values( $discounts ); |
|
| 845 | + $discounts = array_values($discounts); |
|
| 846 | 846 | |
| 847 | 847 | $data = wpinv_get_checkout_session(); |
| 848 | - if ( empty( $data ) ) { |
|
| 848 | + if (empty($data)) { |
|
| 849 | 849 | $data = array(); |
| 850 | 850 | } else { |
| 851 | - if ( !empty( $data['invoice_id'] ) && $payment_meta = wpinv_get_invoice_meta( $data['invoice_id'] ) ) { |
|
| 852 | - $payment_meta['user_info']['discount'] = implode( ',', $discounts ); |
|
| 853 | - update_post_meta( $data['invoice_id'], '_wpinv_payment_meta', $payment_meta ); |
|
| 851 | + if (!empty($data['invoice_id']) && $payment_meta = wpinv_get_invoice_meta($data['invoice_id'])) { |
|
| 852 | + $payment_meta['user_info']['discount'] = implode(',', $discounts); |
|
| 853 | + update_post_meta($data['invoice_id'], '_wpinv_payment_meta', $payment_meta); |
|
| 854 | 854 | } |
| 855 | 855 | } |
| 856 | 856 | $data['cart_discounts'] = $discounts; |
| 857 | 857 | |
| 858 | - wpinv_set_checkout_session( $data ); |
|
| 858 | + wpinv_set_checkout_session($data); |
|
| 859 | 859 | |
| 860 | 860 | return $discounts; |
| 861 | 861 | } |
| 862 | 862 | |
| 863 | -function wpinv_unset_cart_discount( $code = '' ) { |
|
| 863 | +function wpinv_unset_cart_discount($code = '') { |
|
| 864 | 864 | $discounts = wpinv_get_cart_discounts(); |
| 865 | 865 | |
| 866 | - if ( $code && !empty( $discounts ) && in_array( $code, $discounts ) ) { |
|
| 867 | - $key = array_search( $code, $discounts ); |
|
| 868 | - unset( $discounts[ $key ] ); |
|
| 866 | + if ($code && !empty($discounts) && in_array($code, $discounts)) { |
|
| 867 | + $key = array_search($code, $discounts); |
|
| 868 | + unset($discounts[$key]); |
|
| 869 | 869 | |
| 870 | 870 | $data = wpinv_get_checkout_session(); |
| 871 | 871 | $data['cart_discounts'] = $discounts; |
| 872 | - if ( !empty( $data['invoice_id'] ) && $payment_meta = wpinv_get_invoice_meta( $data['invoice_id'] ) ) { |
|
| 873 | - $payment_meta['user_info']['discount'] = !empty( $discounts ) ? implode( ',', $discounts ) : ''; |
|
| 874 | - update_post_meta( $data['invoice_id'], '_wpinv_payment_meta', $payment_meta ); |
|
| 872 | + if (!empty($data['invoice_id']) && $payment_meta = wpinv_get_invoice_meta($data['invoice_id'])) { |
|
| 873 | + $payment_meta['user_info']['discount'] = !empty($discounts) ? implode(',', $discounts) : ''; |
|
| 874 | + update_post_meta($data['invoice_id'], '_wpinv_payment_meta', $payment_meta); |
|
| 875 | 875 | } |
| 876 | 876 | |
| 877 | - wpinv_set_checkout_session( $data ); |
|
| 877 | + wpinv_set_checkout_session($data); |
|
| 878 | 878 | } |
| 879 | 879 | |
| 880 | 880 | return $discounts; |
@@ -883,27 +883,27 @@ discard block |
||
| 883 | 883 | function wpinv_unset_all_cart_discounts() { |
| 884 | 884 | $data = wpinv_get_checkout_session(); |
| 885 | 885 | |
| 886 | - if ( !empty( $data ) && isset( $data['cart_discounts'] ) ) { |
|
| 887 | - unset( $data['cart_discounts'] ); |
|
| 886 | + if (!empty($data) && isset($data['cart_discounts'])) { |
|
| 887 | + unset($data['cart_discounts']); |
|
| 888 | 888 | |
| 889 | - wpinv_set_checkout_session( $data ); |
|
| 889 | + wpinv_set_checkout_session($data); |
|
| 890 | 890 | return true; |
| 891 | 891 | } |
| 892 | 892 | |
| 893 | 893 | return false; |
| 894 | 894 | } |
| 895 | 895 | |
| 896 | -function wpinv_get_cart_discounts( $items = array() ) { |
|
| 896 | +function wpinv_get_cart_discounts($items = array()) { |
|
| 897 | 897 | $session = wpinv_get_checkout_session(); |
| 898 | 898 | |
| 899 | - $discounts = !empty( $session['cart_discounts'] ) ? $session['cart_discounts'] : false; |
|
| 899 | + $discounts = !empty($session['cart_discounts']) ? $session['cart_discounts'] : false; |
|
| 900 | 900 | return $discounts; |
| 901 | 901 | } |
| 902 | 902 | |
| 903 | -function wpinv_cart_has_discounts( $items = array() ) { |
|
| 903 | +function wpinv_cart_has_discounts($items = array()) { |
|
| 904 | 904 | $ret = false; |
| 905 | 905 | |
| 906 | - if ( wpinv_get_cart_discounts( $items ) ) { |
|
| 906 | + if (wpinv_get_cart_discounts($items)) { |
|
| 907 | 907 | $ret = true; |
| 908 | 908 | } |
| 909 | 909 | |
@@ -914,131 +914,131 @@ discard block |
||
| 914 | 914 | } |
| 915 | 915 | */ |
| 916 | 916 | |
| 917 | - return apply_filters( 'wpinv_cart_has_discounts', $ret ); |
|
| 917 | + return apply_filters('wpinv_cart_has_discounts', $ret); |
|
| 918 | 918 | } |
| 919 | 919 | |
| 920 | -function wpinv_get_cart_discounted_amount( $items = array(), $discounts = false ) { |
|
| 920 | +function wpinv_get_cart_discounted_amount($items = array(), $discounts = false) { |
|
| 921 | 921 | $amount = 0.00; |
| 922 | - $items = !empty( $items ) ? $items : wpinv_get_cart_content_details(); |
|
| 922 | + $items = !empty($items) ? $items : wpinv_get_cart_content_details(); |
|
| 923 | 923 | |
| 924 | - if ( $items ) { |
|
| 925 | - $discounts = wp_list_pluck( $items, 'discount' ); |
|
| 924 | + if ($items) { |
|
| 925 | + $discounts = wp_list_pluck($items, 'discount'); |
|
| 926 | 926 | |
| 927 | - if ( is_array( $discounts ) ) { |
|
| 928 | - $discounts = array_map( 'floatval', $discounts ); |
|
| 929 | - $amount = array_sum( $discounts ); |
|
| 927 | + if (is_array($discounts)) { |
|
| 928 | + $discounts = array_map('floatval', $discounts); |
|
| 929 | + $amount = array_sum($discounts); |
|
| 930 | 930 | } |
| 931 | 931 | } |
| 932 | 932 | |
| 933 | - return apply_filters( 'wpinv_get_cart_discounted_amount', $amount ); |
|
| 933 | + return apply_filters('wpinv_get_cart_discounted_amount', $amount); |
|
| 934 | 934 | } |
| 935 | 935 | |
| 936 | -function wpinv_get_cart_items_discount_amount( $items = array(), $discount = false ) { |
|
| 937 | - $items = !empty( $items ) ? $items : wpinv_get_cart_content_details(); |
|
| 936 | +function wpinv_get_cart_items_discount_amount($items = array(), $discount = false) { |
|
| 937 | + $items = !empty($items) ? $items : wpinv_get_cart_content_details(); |
|
| 938 | 938 | |
| 939 | - if ( empty( $discount ) || empty( $items ) ) { |
|
| 939 | + if (empty($discount) || empty($items)) { |
|
| 940 | 940 | return 0; |
| 941 | 941 | } |
| 942 | 942 | |
| 943 | 943 | $amount = 0; |
| 944 | 944 | |
| 945 | - foreach ( $items as $item ) { |
|
| 946 | - $amount += wpinv_get_cart_item_discount_amount( $item, $discount ); |
|
| 945 | + foreach ($items as $item) { |
|
| 946 | + $amount += wpinv_get_cart_item_discount_amount($item, $discount); |
|
| 947 | 947 | } |
| 948 | 948 | |
| 949 | - $amount = wpinv_round_amount( $amount ); |
|
| 949 | + $amount = wpinv_round_amount($amount); |
|
| 950 | 950 | |
| 951 | 951 | return $amount; |
| 952 | 952 | } |
| 953 | 953 | |
| 954 | -function wpinv_get_cart_item_discount_amount( $item = array(), $discount = false ) { |
|
| 954 | +function wpinv_get_cart_item_discount_amount($item = array(), $discount = false) { |
|
| 955 | 955 | global $wpinv_is_last_cart_item, $wpinv_flat_discount_total; |
| 956 | 956 | |
| 957 | 957 | $amount = 0; |
| 958 | 958 | |
| 959 | - if ( empty( $item ) || empty( $item['id'] ) ) { |
|
| 959 | + if (empty($item) || empty($item['id'])) { |
|
| 960 | 960 | return $amount; |
| 961 | 961 | } |
| 962 | 962 | |
| 963 | - if ( empty( $item['quantity'] ) ) { |
|
| 963 | + if (empty($item['quantity'])) { |
|
| 964 | 964 | return $amount; |
| 965 | 965 | } |
| 966 | 966 | |
| 967 | - if ( empty( $item['options'] ) ) { |
|
| 967 | + if (empty($item['options'])) { |
|
| 968 | 968 | $item['options'] = array(); |
| 969 | 969 | } |
| 970 | 970 | |
| 971 | - $price = wpinv_get_cart_item_price( $item['id'], $item, $item['options'] ); |
|
| 971 | + $price = wpinv_get_cart_item_price($item['id'], $item, $item['options']); |
|
| 972 | 972 | $discounted_price = $price; |
| 973 | 973 | |
| 974 | 974 | $discounts = false === $discount ? wpinv_get_cart_discounts() : $discount; |
| 975 | - if ( empty( $discounts ) ) { |
|
| 975 | + if (empty($discounts)) { |
|
| 976 | 976 | return $amount; |
| 977 | 977 | } |
| 978 | 978 | |
| 979 | - if ( $discounts ) { |
|
| 980 | - if ( is_array( $discounts ) ) { |
|
| 981 | - $discounts = array_values( $discounts ); |
|
| 979 | + if ($discounts) { |
|
| 980 | + if (is_array($discounts)) { |
|
| 981 | + $discounts = array_values($discounts); |
|
| 982 | 982 | } else { |
| 983 | - $discounts = explode( ',', $discounts ); |
|
| 983 | + $discounts = explode(',', $discounts); |
|
| 984 | 984 | } |
| 985 | 985 | } |
| 986 | 986 | |
| 987 | - if( $discounts ) { |
|
| 988 | - foreach ( $discounts as $discount ) { |
|
| 989 | - $code_id = wpinv_get_discount_id_by_code( $discount ); |
|
| 987 | + if ($discounts) { |
|
| 988 | + foreach ($discounts as $discount) { |
|
| 989 | + $code_id = wpinv_get_discount_id_by_code($discount); |
|
| 990 | 990 | |
| 991 | 991 | // Check discount exists |
| 992 | - if( ! $code_id ) { |
|
| 992 | + if (!$code_id) { |
|
| 993 | 993 | continue; |
| 994 | 994 | } |
| 995 | 995 | |
| 996 | - $reqs = wpinv_get_discount_item_reqs( $code_id ); |
|
| 997 | - $excluded_items = wpinv_get_discount_excluded_items( $code_id ); |
|
| 996 | + $reqs = wpinv_get_discount_item_reqs($code_id); |
|
| 997 | + $excluded_items = wpinv_get_discount_excluded_items($code_id); |
|
| 998 | 998 | |
| 999 | 999 | // Make sure requirements are set and that this discount shouldn't apply to the whole cart |
| 1000 | - if ( !empty( $reqs ) && wpinv_is_discount_not_global( $code_id ) ) { |
|
| 1001 | - foreach ( $reqs as $item_id ) { |
|
| 1002 | - if ( $item_id == $item['id'] && ! in_array( $item['id'], $excluded_items ) ) { |
|
| 1003 | - $discounted_price -= $price - wpinv_get_discounted_amount( $discount, $price ); |
|
| 1000 | + if (!empty($reqs) && wpinv_is_discount_not_global($code_id)) { |
|
| 1001 | + foreach ($reqs as $item_id) { |
|
| 1002 | + if ($item_id == $item['id'] && !in_array($item['id'], $excluded_items)) { |
|
| 1003 | + $discounted_price -= $price - wpinv_get_discounted_amount($discount, $price); |
|
| 1004 | 1004 | } |
| 1005 | 1005 | } |
| 1006 | 1006 | } else { |
| 1007 | 1007 | // This is a global cart discount |
| 1008 | - if ( !in_array( $item['id'], $excluded_items ) ) { |
|
| 1009 | - if ( 'flat' === wpinv_get_discount_type( $code_id ) ) { |
|
| 1008 | + if (!in_array($item['id'], $excluded_items)) { |
|
| 1009 | + if ('flat' === wpinv_get_discount_type($code_id)) { |
|
| 1010 | 1010 | $items_subtotal = 0.00; |
| 1011 | 1011 | $cart_items = wpinv_get_cart_contents(); |
| 1012 | 1012 | |
| 1013 | - foreach ( $cart_items as $cart_item ) { |
|
| 1014 | - if ( ! in_array( $cart_item['id'], $excluded_items ) ) { |
|
| 1015 | - $options = !empty( $cart_item['options'] ) ? $cart_item['options'] : array(); |
|
| 1016 | - $item_price = wpinv_get_cart_item_price( $cart_item['id'], $cart_item, $options ); |
|
| 1013 | + foreach ($cart_items as $cart_item) { |
|
| 1014 | + if (!in_array($cart_item['id'], $excluded_items)) { |
|
| 1015 | + $options = !empty($cart_item['options']) ? $cart_item['options'] : array(); |
|
| 1016 | + $item_price = wpinv_get_cart_item_price($cart_item['id'], $cart_item, $options); |
|
| 1017 | 1017 | $items_subtotal += $item_price * $cart_item['quantity']; |
| 1018 | 1018 | } |
| 1019 | 1019 | } |
| 1020 | 1020 | |
| 1021 | - $subtotal_percent = ( ( $price * $item['quantity'] ) / $items_subtotal ); |
|
| 1022 | - $code_amount = wpinv_get_discount_amount( $code_id ); |
|
| 1021 | + $subtotal_percent = (($price * $item['quantity']) / $items_subtotal); |
|
| 1022 | + $code_amount = wpinv_get_discount_amount($code_id); |
|
| 1023 | 1023 | $discounted_amount = $code_amount * $subtotal_percent; |
| 1024 | 1024 | $discounted_price -= $discounted_amount; |
| 1025 | 1025 | |
| 1026 | - $wpinv_flat_discount_total += round( $discounted_amount, wpinv_currency_decimal_filter() ); |
|
| 1026 | + $wpinv_flat_discount_total += round($discounted_amount, wpinv_currency_decimal_filter()); |
|
| 1027 | 1027 | |
| 1028 | - if ( $wpinv_is_last_cart_item && $wpinv_flat_discount_total < $code_amount ) { |
|
| 1028 | + if ($wpinv_is_last_cart_item && $wpinv_flat_discount_total < $code_amount) { |
|
| 1029 | 1029 | $adjustment = $code_amount - $wpinv_flat_discount_total; |
| 1030 | 1030 | $discounted_price -= $adjustment; |
| 1031 | 1031 | } |
| 1032 | 1032 | } else { |
| 1033 | - $discounted_price -= $price - wpinv_get_discounted_amount( $discount, $price ); |
|
| 1033 | + $discounted_price -= $price - wpinv_get_discounted_amount($discount, $price); |
|
| 1034 | 1034 | } |
| 1035 | 1035 | } |
| 1036 | 1036 | } |
| 1037 | 1037 | } |
| 1038 | 1038 | |
| 1039 | - $amount = ( $price - apply_filters( 'wpinv_get_cart_item_discounted_amount', $discounted_price, $discounts, $item, $price ) ); |
|
| 1039 | + $amount = ($price - apply_filters('wpinv_get_cart_item_discounted_amount', $discounted_price, $discounts, $item, $price)); |
|
| 1040 | 1040 | |
| 1041 | - if ( 'flat' !== wpinv_get_discount_type( $code_id ) ) { |
|
| 1041 | + if ('flat' !== wpinv_get_discount_type($code_id)) { |
|
| 1042 | 1042 | $amount = $amount * $item['quantity']; |
| 1043 | 1043 | } |
| 1044 | 1044 | } |
@@ -1046,59 +1046,59 @@ discard block |
||
| 1046 | 1046 | return $amount; |
| 1047 | 1047 | } |
| 1048 | 1048 | |
| 1049 | -function wpinv_cart_discounts_html( $items = array() ) { |
|
| 1050 | - echo wpinv_get_cart_discounts_html( $items ); |
|
| 1049 | +function wpinv_cart_discounts_html($items = array()) { |
|
| 1050 | + echo wpinv_get_cart_discounts_html($items); |
|
| 1051 | 1051 | } |
| 1052 | 1052 | |
| 1053 | -function wpinv_get_cart_discounts_html( $items = array(), $discounts = false ) { |
|
| 1053 | +function wpinv_get_cart_discounts_html($items = array(), $discounts = false) { |
|
| 1054 | 1054 | global $wpi_cart_columns; |
| 1055 | 1055 | |
| 1056 | - $items = !empty( $items ) ? $items : wpinv_get_cart_content_details(); |
|
| 1056 | + $items = !empty($items) ? $items : wpinv_get_cart_content_details(); |
|
| 1057 | 1057 | |
| 1058 | - if ( !$discounts ) { |
|
| 1059 | - $discounts = wpinv_get_cart_discounts( $items ); |
|
| 1058 | + if (!$discounts) { |
|
| 1059 | + $discounts = wpinv_get_cart_discounts($items); |
|
| 1060 | 1060 | } |
| 1061 | 1061 | |
| 1062 | - if ( !$discounts ) { |
|
| 1062 | + if (!$discounts) { |
|
| 1063 | 1063 | return; |
| 1064 | 1064 | } |
| 1065 | 1065 | |
| 1066 | - $discounts = is_array( $discounts ) ? $discounts : array( $discounts ); |
|
| 1066 | + $discounts = is_array($discounts) ? $discounts : array($discounts); |
|
| 1067 | 1067 | |
| 1068 | 1068 | $html = ''; |
| 1069 | 1069 | |
| 1070 | - foreach ( $discounts as $discount ) { |
|
| 1071 | - $discount_id = wpinv_get_discount_id_by_code( $discount ); |
|
| 1072 | - $discount_value = wpinv_get_discount_amount( $discount_id ); |
|
| 1073 | - $rate = wpinv_format_discount_rate( wpinv_get_discount_type( $discount_id ), $discount_value ); |
|
| 1074 | - $amount = wpinv_get_cart_items_discount_amount( $items, $discount ); |
|
| 1075 | - $remove_btn = '<a title="' . esc_attr__( 'Remove discount', 'invoicing' ) . '" data-code="' . $discount . '" data-value="' . $discount_value . '" class="wpi-discount-remove" href="javascript:void(0);">[<i class="fa fa-times" aria-hidden="true"></i>]</a> '; |
|
| 1070 | + foreach ($discounts as $discount) { |
|
| 1071 | + $discount_id = wpinv_get_discount_id_by_code($discount); |
|
| 1072 | + $discount_value = wpinv_get_discount_amount($discount_id); |
|
| 1073 | + $rate = wpinv_format_discount_rate(wpinv_get_discount_type($discount_id), $discount_value); |
|
| 1074 | + $amount = wpinv_get_cart_items_discount_amount($items, $discount); |
|
| 1075 | + $remove_btn = '<a title="' . esc_attr__('Remove discount', 'invoicing') . '" data-code="' . $discount . '" data-value="' . $discount_value . '" class="wpi-discount-remove" href="javascript:void(0);">[<i class="fa fa-times" aria-hidden="true"></i>]</a> '; |
|
| 1076 | 1076 | |
| 1077 | 1077 | $html .= '<tr class="wpinv_cart_footer_row wpinv_cart_discount_row">'; |
| 1078 | 1078 | ob_start(); |
| 1079 | - do_action( 'wpinv_checkout_table_discount_first', $items ); |
|
| 1079 | + do_action('wpinv_checkout_table_discount_first', $items); |
|
| 1080 | 1080 | $html .= ob_get_clean(); |
| 1081 | - $html .= '<td class="wpinv_cart_discount_label text-right" colspan="' . $wpi_cart_columns . '">' . $remove_btn . '<strong>' . wpinv_cart_discount_label( $discount, $rate, false ) . '</strong></td><td class="wpinv_cart_discount text-right"><span data-discount="' . $amount . '" class="wpinv_cart_discount_amount">–' . wpinv_price( wpinv_format_amount( $amount ) ) . '</span></td>'; |
|
| 1081 | + $html .= '<td class="wpinv_cart_discount_label text-right" colspan="' . $wpi_cart_columns . '">' . $remove_btn . '<strong>' . wpinv_cart_discount_label($discount, $rate, false) . '</strong></td><td class="wpinv_cart_discount text-right"><span data-discount="' . $amount . '" class="wpinv_cart_discount_amount">–' . wpinv_price(wpinv_format_amount($amount)) . '</span></td>'; |
|
| 1082 | 1082 | ob_start(); |
| 1083 | - do_action( 'wpinv_checkout_table_discount_last', $items ); |
|
| 1083 | + do_action('wpinv_checkout_table_discount_last', $items); |
|
| 1084 | 1084 | $html .= ob_get_clean(); |
| 1085 | 1085 | $html .= '</tr>'; |
| 1086 | 1086 | } |
| 1087 | 1087 | |
| 1088 | - return apply_filters( 'wpinv_get_cart_discounts_html', $html, $discounts, $rate ); |
|
| 1088 | + return apply_filters('wpinv_get_cart_discounts_html', $html, $discounts, $rate); |
|
| 1089 | 1089 | } |
| 1090 | 1090 | |
| 1091 | -function wpinv_display_cart_discount( $formatted = false, $echo = false ) { |
|
| 1091 | +function wpinv_display_cart_discount($formatted = false, $echo = false) { |
|
| 1092 | 1092 | $discounts = wpinv_get_cart_discounts(); |
| 1093 | 1093 | |
| 1094 | - if ( empty( $discounts ) ) { |
|
| 1094 | + if (empty($discounts)) { |
|
| 1095 | 1095 | return false; |
| 1096 | 1096 | } |
| 1097 | 1097 | |
| 1098 | - $discount_id = wpinv_get_discount_id_by_code( $discounts[0] ); |
|
| 1099 | - $amount = wpinv_format_discount_rate( wpinv_get_discount_type( $discount_id ), wpinv_get_discount_amount( $discount_id ) ); |
|
| 1098 | + $discount_id = wpinv_get_discount_id_by_code($discounts[0]); |
|
| 1099 | + $amount = wpinv_format_discount_rate(wpinv_get_discount_type($discount_id), wpinv_get_discount_amount($discount_id)); |
|
| 1100 | 1100 | |
| 1101 | - if ( $echo ) { |
|
| 1101 | + if ($echo) { |
|
| 1102 | 1102 | echo $amount; |
| 1103 | 1103 | } |
| 1104 | 1104 | |
@@ -1106,101 +1106,101 @@ discard block |
||
| 1106 | 1106 | } |
| 1107 | 1107 | |
| 1108 | 1108 | function wpinv_remove_cart_discount() { |
| 1109 | - if ( !isset( $_GET['discount_id'] ) || ! isset( $_GET['discount_code'] ) ) { |
|
| 1109 | + if (!isset($_GET['discount_id']) || !isset($_GET['discount_code'])) { |
|
| 1110 | 1110 | return; |
| 1111 | 1111 | } |
| 1112 | 1112 | |
| 1113 | - do_action( 'wpinv_pre_remove_cart_discount', absint( $_GET['discount_id'] ) ); |
|
| 1113 | + do_action('wpinv_pre_remove_cart_discount', absint($_GET['discount_id'])); |
|
| 1114 | 1114 | |
| 1115 | - wpinv_unset_cart_discount( urldecode( $_GET['discount_code'] ) ); |
|
| 1115 | + wpinv_unset_cart_discount(urldecode($_GET['discount_code'])); |
|
| 1116 | 1116 | |
| 1117 | - do_action( 'wpinv_post_remove_cart_discount', absint( $_GET['discount_id'] ) ); |
|
| 1117 | + do_action('wpinv_post_remove_cart_discount', absint($_GET['discount_id'])); |
|
| 1118 | 1118 | |
| 1119 | - wp_redirect( wpinv_get_checkout_uri() ); wpinv_die(); |
|
| 1119 | + wp_redirect(wpinv_get_checkout_uri()); wpinv_die(); |
|
| 1120 | 1120 | } |
| 1121 | -add_action( 'wpinv_remove_cart_discount', 'wpinv_remove_cart_discount' ); |
|
| 1121 | +add_action('wpinv_remove_cart_discount', 'wpinv_remove_cart_discount'); |
|
| 1122 | 1122 | |
| 1123 | -function wpinv_maybe_remove_cart_discount( $cart_key = 0 ) { |
|
| 1123 | +function wpinv_maybe_remove_cart_discount($cart_key = 0) { |
|
| 1124 | 1124 | $discounts = wpinv_get_cart_discounts(); |
| 1125 | 1125 | |
| 1126 | - if ( !$discounts ) { |
|
| 1126 | + if (!$discounts) { |
|
| 1127 | 1127 | return; |
| 1128 | 1128 | } |
| 1129 | 1129 | |
| 1130 | - foreach ( $discounts as $discount ) { |
|
| 1131 | - if ( !wpinv_is_discount_valid( $discount ) ) { |
|
| 1132 | - wpinv_unset_cart_discount( $discount ); |
|
| 1130 | + foreach ($discounts as $discount) { |
|
| 1131 | + if (!wpinv_is_discount_valid($discount)) { |
|
| 1132 | + wpinv_unset_cart_discount($discount); |
|
| 1133 | 1133 | } |
| 1134 | 1134 | } |
| 1135 | 1135 | } |
| 1136 | -add_action( 'wpinv_post_remove_from_cart', 'wpinv_maybe_remove_cart_discount' ); |
|
| 1136 | +add_action('wpinv_post_remove_from_cart', 'wpinv_maybe_remove_cart_discount'); |
|
| 1137 | 1137 | |
| 1138 | 1138 | function wpinv_multiple_discounts_allowed() { |
| 1139 | - $ret = wpinv_get_option( 'allow_multiple_discounts', false ); |
|
| 1140 | - return (bool) apply_filters( 'wpinv_multiple_discounts_allowed', $ret ); |
|
| 1139 | + $ret = wpinv_get_option('allow_multiple_discounts', false); |
|
| 1140 | + return (bool)apply_filters('wpinv_multiple_discounts_allowed', $ret); |
|
| 1141 | 1141 | } |
| 1142 | 1142 | |
| 1143 | -function wpinv_get_discount_label( $code, $echo = true ) { |
|
| 1144 | - $label = wp_sprintf( __( 'Discount%1$s', 'invoicing' ), ( $code != '' && $code != 'none' ? ' (<code>' . $code . '</code>)': '' ) ); |
|
| 1145 | - $label = apply_filters( 'wpinv_get_discount_label', $label, $code ); |
|
| 1143 | +function wpinv_get_discount_label($code, $echo = true) { |
|
| 1144 | + $label = wp_sprintf(__('Discount%1$s', 'invoicing'), ($code != '' && $code != 'none' ? ' (<code>' . $code . '</code>)' : '')); |
|
| 1145 | + $label = apply_filters('wpinv_get_discount_label', $label, $code); |
|
| 1146 | 1146 | |
| 1147 | - if ( $echo ) { |
|
| 1147 | + if ($echo) { |
|
| 1148 | 1148 | echo $label; |
| 1149 | 1149 | } else { |
| 1150 | 1150 | return $label; |
| 1151 | 1151 | } |
| 1152 | 1152 | } |
| 1153 | 1153 | |
| 1154 | -function wpinv_cart_discount_label( $code, $rate, $echo = true ) { |
|
| 1155 | - $label = wp_sprintf( __( 'Discount: %s', 'invoicing' ), $code ); |
|
| 1156 | - $label = apply_filters( 'wpinv_cart_discount_label', $label, $code, $rate ); |
|
| 1154 | +function wpinv_cart_discount_label($code, $rate, $echo = true) { |
|
| 1155 | + $label = wp_sprintf(__('Discount: %s', 'invoicing'), $code); |
|
| 1156 | + $label = apply_filters('wpinv_cart_discount_label', $label, $code, $rate); |
|
| 1157 | 1157 | |
| 1158 | - if ( $echo ) { |
|
| 1158 | + if ($echo) { |
|
| 1159 | 1159 | echo $label; |
| 1160 | 1160 | } else { |
| 1161 | 1161 | return $label; |
| 1162 | 1162 | } |
| 1163 | 1163 | } |
| 1164 | 1164 | |
| 1165 | -function wpinv_check_delete_discount( $check, $post, $force_delete ) { |
|
| 1166 | - if ( $post->post_type == 'wpi_discount' && wpinv_get_discount_uses( $post->ID ) > 0 ) { |
|
| 1165 | +function wpinv_check_delete_discount($check, $post, $force_delete) { |
|
| 1166 | + if ($post->post_type == 'wpi_discount' && wpinv_get_discount_uses($post->ID) > 0) { |
|
| 1167 | 1167 | return true; |
| 1168 | 1168 | } |
| 1169 | 1169 | |
| 1170 | 1170 | return $check; |
| 1171 | 1171 | } |
| 1172 | -add_filter( 'pre_delete_post', 'wpinv_check_delete_discount', 10, 3 ); |
|
| 1172 | +add_filter('pre_delete_post', 'wpinv_check_delete_discount', 10, 3); |
|
| 1173 | 1173 | |
| 1174 | 1174 | function wpinv_checkout_form_validate_discounts() { |
| 1175 | 1175 | global $wpi_checkout_id; |
| 1176 | 1176 | |
| 1177 | 1177 | $discounts = wpinv_get_cart_discounts(); |
| 1178 | 1178 | |
| 1179 | - if ( !empty( $discounts ) ) { |
|
| 1179 | + if (!empty($discounts)) { |
|
| 1180 | 1180 | $invalid = false; |
| 1181 | 1181 | |
| 1182 | - foreach ( $discounts as $key => $code ) { |
|
| 1183 | - if ( !wpinv_is_discount_valid( $code, (int)wpinv_get_user_id( $wpi_checkout_id ) ) ) { |
|
| 1182 | + foreach ($discounts as $key => $code) { |
|
| 1183 | + if (!wpinv_is_discount_valid($code, (int)wpinv_get_user_id($wpi_checkout_id))) { |
|
| 1184 | 1184 | $invalid = true; |
| 1185 | 1185 | |
| 1186 | - wpinv_unset_cart_discount( $code ); |
|
| 1186 | + wpinv_unset_cart_discount($code); |
|
| 1187 | 1187 | } |
| 1188 | 1188 | } |
| 1189 | 1189 | |
| 1190 | - if ( $invalid ) { |
|
| 1190 | + if ($invalid) { |
|
| 1191 | 1191 | $errors = wpinv_get_errors(); |
| 1192 | - $error = !empty( $errors['wpinv-discount-error'] ) ? $errors['wpinv-discount-error'] . ' ' : ''; |
|
| 1193 | - $error .= __( 'The discount has been removed from cart.', 'invoicing' ); |
|
| 1194 | - wpinv_set_error( 'wpinv-discount-error', $error ); |
|
| 1192 | + $error = !empty($errors['wpinv-discount-error']) ? $errors['wpinv-discount-error'] . ' ' : ''; |
|
| 1193 | + $error .= __('The discount has been removed from cart.', 'invoicing'); |
|
| 1194 | + wpinv_set_error('wpinv-discount-error', $error); |
|
| 1195 | 1195 | |
| 1196 | - wpinv_recalculate_tax( true ); |
|
| 1196 | + wpinv_recalculate_tax(true); |
|
| 1197 | 1197 | } |
| 1198 | 1198 | } |
| 1199 | 1199 | } |
| 1200 | -add_action( 'wpinv_before_checkout_form', 'wpinv_checkout_form_validate_discounts', -10 ); |
|
| 1200 | +add_action('wpinv_before_checkout_form', 'wpinv_checkout_form_validate_discounts', -10); |
|
| 1201 | 1201 | |
| 1202 | 1202 | function wpinv_discount_amount() { |
| 1203 | 1203 | $output = 0.00; |
| 1204 | 1204 | |
| 1205 | - return apply_filters( 'wpinv_discount_amount', $output ); |
|
| 1205 | + return apply_filters('wpinv_discount_amount', $output); |
|
| 1206 | 1206 | } |
| 1207 | 1207 | \ No newline at end of file |