@@ -121,17 +121,20 @@ |
||
| 121 | 121 | if ( 'id' == $field ) { |
| 122 | 122 | // Make sure the value is numeric to avoid casting objects, for example, |
| 123 | 123 | // to int 1. |
| 124 | - if ( ! is_numeric( $value ) ) |
|
| 125 | - return false; |
|
| 124 | + if ( ! is_numeric( $value ) ) { |
|
| 125 | + return false; |
|
| 126 | + } |
|
| 126 | 127 | $value = intval( $value ); |
| 127 | - if ( $value < 1 ) |
|
| 128 | - return false; |
|
| 128 | + if ( $value < 1 ) { |
|
| 129 | + return false; |
|
| 130 | + } |
|
| 129 | 131 | } else { |
| 130 | 132 | $value = trim( $value ); |
| 131 | 133 | } |
| 132 | 134 | |
| 133 | - if ( !$value || ! is_string( $field ) ) |
|
| 134 | - return false; |
|
| 135 | + if ( !$value || ! is_string( $field ) ) { |
|
| 136 | + return false; |
|
| 137 | + } |
|
| 135 | 138 | |
| 136 | 139 | // prepare query args |
| 137 | 140 | switch ( strtolower( $field ) ) { |
@@ -15,174 +15,174 @@ discard block |
||
| 15 | 15 | */ |
| 16 | 16 | class WPInv_Discount { |
| 17 | 17 | |
| 18 | - /** |
|
| 19 | - * Discount ID. |
|
| 20 | - * |
|
| 21 | - * @since 1.0.14 |
|
| 22 | - * @var array |
|
| 23 | - */ |
|
| 24 | - public $ID = null; |
|
| 25 | - |
|
| 26 | - /** |
|
| 27 | - * Old discount status. |
|
| 28 | - * |
|
| 29 | - * @since 1.0.14 |
|
| 30 | - * @var string |
|
| 31 | - */ |
|
| 32 | - public $old_status = 'draft'; |
|
| 18 | + /** |
|
| 19 | + * Discount ID. |
|
| 20 | + * |
|
| 21 | + * @since 1.0.14 |
|
| 22 | + * @var array |
|
| 23 | + */ |
|
| 24 | + public $ID = null; |
|
| 25 | + |
|
| 26 | + /** |
|
| 27 | + * Old discount status. |
|
| 28 | + * |
|
| 29 | + * @since 1.0.14 |
|
| 30 | + * @var string |
|
| 31 | + */ |
|
| 32 | + public $old_status = 'draft'; |
|
| 33 | 33 | |
| 34 | - /** |
|
| 35 | - * Data array, with defaults. |
|
| 36 | - * |
|
| 37 | - * @since 1.0.14 |
|
| 38 | - * @var array |
|
| 39 | - */ |
|
| 40 | - protected $data = array(); |
|
| 41 | - |
|
| 42 | - /** |
|
| 43 | - * Discount constructor. |
|
| 44 | - * |
|
| 45 | - * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
|
| 46 | - * @since 1.0.14 |
|
| 47 | - */ |
|
| 48 | - public function __construct( $discount = array() ) { |
|
| 34 | + /** |
|
| 35 | + * Data array, with defaults. |
|
| 36 | + * |
|
| 37 | + * @since 1.0.14 |
|
| 38 | + * @var array |
|
| 39 | + */ |
|
| 40 | + protected $data = array(); |
|
| 41 | + |
|
| 42 | + /** |
|
| 43 | + * Discount constructor. |
|
| 44 | + * |
|
| 45 | + * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
|
| 46 | + * @since 1.0.14 |
|
| 47 | + */ |
|
| 48 | + public function __construct( $discount = array() ) { |
|
| 49 | 49 | |
| 50 | 50 | // If the discount is an instance of this class... |
| 51 | - if ( $discount instanceof WPInv_Discount ) { |
|
| 52 | - $this->init( $discount->data ); |
|
| 53 | - return; |
|
| 51 | + if ( $discount instanceof WPInv_Discount ) { |
|
| 52 | + $this->init( $discount->data ); |
|
| 53 | + return; |
|
| 54 | 54 | } |
| 55 | 55 | |
| 56 | 56 | // If the discount is an array of discount details... |
| 57 | 57 | if ( is_array( $discount ) ) { |
| 58 | - $this->init( $discount ); |
|
| 59 | - return; |
|
| 60 | - } |
|
| 58 | + $this->init( $discount ); |
|
| 59 | + return; |
|
| 60 | + } |
|
| 61 | 61 | |
| 62 | - // Try fetching the discount by its post id. |
|
| 63 | - $data = false; |
|
| 62 | + // Try fetching the discount by its post id. |
|
| 63 | + $data = false; |
|
| 64 | 64 | |
| 65 | - if ( ! empty( $discount ) && is_numeric( $discount ) ) { |
|
| 66 | - $discount = absint( $discount ); |
|
| 67 | - $data = self::get_data_by( 'id', $discount ); |
|
| 68 | - } |
|
| 69 | - |
|
| 70 | - if ( $data ) { |
|
| 71 | - $this->init( $data ); |
|
| 72 | - return; |
|
| 73 | - } |
|
| 65 | + if ( ! empty( $discount ) && is_numeric( $discount ) ) { |
|
| 66 | + $discount = absint( $discount ); |
|
| 67 | + $data = self::get_data_by( 'id', $discount ); |
|
| 68 | + } |
|
| 69 | + |
|
| 70 | + if ( $data ) { |
|
| 71 | + $this->init( $data ); |
|
| 72 | + return; |
|
| 73 | + } |
|
| 74 | 74 | |
| 75 | - // Try fetching the discount by its discount code. |
|
| 76 | - if ( ! empty( $discount ) && is_string( $discount ) ) { |
|
| 77 | - $data = self::get_data_by( 'discount_code', $discount ); |
|
| 78 | - } |
|
| 79 | - |
|
| 80 | - if ( $data ) { |
|
| 81 | - $this->init( $data ); |
|
| 82 | - return; |
|
| 83 | - } |
|
| 75 | + // Try fetching the discount by its discount code. |
|
| 76 | + if ( ! empty( $discount ) && is_string( $discount ) ) { |
|
| 77 | + $data = self::get_data_by( 'discount_code', $discount ); |
|
| 78 | + } |
|
| 79 | + |
|
| 80 | + if ( $data ) { |
|
| 81 | + $this->init( $data ); |
|
| 82 | + return; |
|
| 83 | + } |
|
| 84 | 84 | |
| 85 | - // If we are here then the discount does not exist. |
|
| 86 | - $this->init( array() ); |
|
| 87 | - } |
|
| 85 | + // If we are here then the discount does not exist. |
|
| 86 | + $this->init( array() ); |
|
| 87 | + } |
|
| 88 | 88 | |
| 89 | - /** |
|
| 90 | - * Sets up object properties |
|
| 91 | - * |
|
| 92 | - * @since 1.0.14 |
|
| 93 | - * @param array $data An array containing the discount's data |
|
| 94 | - */ |
|
| 95 | - public function init( $data ) { |
|
| 96 | - $data = self::sanitize_discount_data( $data ); |
|
| 97 | - $this->data = $data; |
|
| 98 | - $this->old_status = $data['status']; |
|
| 99 | - $this->ID = $data['ID']; |
|
| 100 | - } |
|
| 89 | + /** |
|
| 90 | + * Sets up object properties |
|
| 91 | + * |
|
| 92 | + * @since 1.0.14 |
|
| 93 | + * @param array $data An array containing the discount's data |
|
| 94 | + */ |
|
| 95 | + public function init( $data ) { |
|
| 96 | + $data = self::sanitize_discount_data( $data ); |
|
| 97 | + $this->data = $data; |
|
| 98 | + $this->old_status = $data['status']; |
|
| 99 | + $this->ID = $data['ID']; |
|
| 100 | + } |
|
| 101 | 101 | |
| 102 | - /** |
|
| 103 | - * Fetch a discount from the db/cache |
|
| 104 | - * |
|
| 105 | - * |
|
| 106 | - * @static |
|
| 107 | - * |
|
| 108 | - * |
|
| 109 | - * @param string $field The field to query against: 'ID', 'discount_code' |
|
| 110 | - * @param string|int $value The field value |
|
| 111 | - * @since 1.0.14 |
|
| 112 | - * @return array|false array of discount details on success. False otherwise. |
|
| 113 | - */ |
|
| 114 | - public static function get_data_by( $field, $value ) { |
|
| 115 | - |
|
| 116 | - // 'ID' is an alias of 'id'. |
|
| 117 | - if ( 'ID' === $field ) { |
|
| 118 | - $field = 'id'; |
|
| 119 | - } |
|
| 120 | - |
|
| 121 | - if ( 'id' == $field ) { |
|
| 122 | - // Make sure the value is numeric to avoid casting objects, for example, |
|
| 123 | - // to int 1. |
|
| 124 | - if ( ! is_numeric( $value ) ) |
|
| 125 | - return false; |
|
| 126 | - $value = intval( $value ); |
|
| 127 | - if ( $value < 1 ) |
|
| 128 | - return false; |
|
| 129 | - } else { |
|
| 130 | - $value = trim( $value ); |
|
| 131 | - } |
|
| 132 | - |
|
| 133 | - if ( !$value || ! is_string( $field ) ) |
|
| 134 | - return false; |
|
| 135 | - |
|
| 136 | - // prepare query args |
|
| 137 | - switch ( strtolower( $field ) ) { |
|
| 138 | - case 'id': |
|
| 139 | - $discount_id = $value; |
|
| 140 | - $args = array( 'include' => array( $value ) ); |
|
| 141 | - break; |
|
| 142 | - case 'discount_code': |
|
| 143 | - case 'code': |
|
| 144 | - $discount_id = wp_cache_get( $value, 'WPInv_Discount_Codes' ); |
|
| 145 | - $args = array( 'meta_key' => '_wpi_discount_code', 'meta_value' => $value ); |
|
| 146 | - break; |
|
| 147 | - case 'name': |
|
| 148 | - $discount_id = 0; |
|
| 149 | - $args = array( 'name' => $value ); |
|
| 150 | - break; |
|
| 151 | - default: |
|
| 152 | - return false; |
|
| 153 | - } |
|
| 154 | - |
|
| 155 | - // Check if there is a cached value. |
|
| 156 | - if ( false !== $discount_id && $discount = wp_cache_get( $discount_id, 'WPInv_Discounts' ) ) { |
|
| 157 | - return $discount; |
|
| 158 | - } |
|
| 159 | - |
|
| 160 | - $args = wp_parse_args( |
|
| 161 | - $args, |
|
| 162 | - array( |
|
| 163 | - 'post_type' => 'wpi_discount', |
|
| 164 | - 'posts_per_page' => 1, |
|
| 165 | - 'post_status' => array( 'publish', 'pending', 'draft', 'expired' ) |
|
| 166 | - ) |
|
| 167 | - ); |
|
| 168 | - |
|
| 169 | - $discount = get_posts( $args ); |
|
| 102 | + /** |
|
| 103 | + * Fetch a discount from the db/cache |
|
| 104 | + * |
|
| 105 | + * |
|
| 106 | + * @static |
|
| 107 | + * |
|
| 108 | + * |
|
| 109 | + * @param string $field The field to query against: 'ID', 'discount_code' |
|
| 110 | + * @param string|int $value The field value |
|
| 111 | + * @since 1.0.14 |
|
| 112 | + * @return array|false array of discount details on success. False otherwise. |
|
| 113 | + */ |
|
| 114 | + public static function get_data_by( $field, $value ) { |
|
| 115 | + |
|
| 116 | + // 'ID' is an alias of 'id'. |
|
| 117 | + if ( 'ID' === $field ) { |
|
| 118 | + $field = 'id'; |
|
| 119 | + } |
|
| 120 | + |
|
| 121 | + if ( 'id' == $field ) { |
|
| 122 | + // Make sure the value is numeric to avoid casting objects, for example, |
|
| 123 | + // to int 1. |
|
| 124 | + if ( ! is_numeric( $value ) ) |
|
| 125 | + return false; |
|
| 126 | + $value = intval( $value ); |
|
| 127 | + if ( $value < 1 ) |
|
| 128 | + return false; |
|
| 129 | + } else { |
|
| 130 | + $value = trim( $value ); |
|
| 131 | + } |
|
| 132 | + |
|
| 133 | + if ( !$value || ! is_string( $field ) ) |
|
| 134 | + return false; |
|
| 135 | + |
|
| 136 | + // prepare query args |
|
| 137 | + switch ( strtolower( $field ) ) { |
|
| 138 | + case 'id': |
|
| 139 | + $discount_id = $value; |
|
| 140 | + $args = array( 'include' => array( $value ) ); |
|
| 141 | + break; |
|
| 142 | + case 'discount_code': |
|
| 143 | + case 'code': |
|
| 144 | + $discount_id = wp_cache_get( $value, 'WPInv_Discount_Codes' ); |
|
| 145 | + $args = array( 'meta_key' => '_wpi_discount_code', 'meta_value' => $value ); |
|
| 146 | + break; |
|
| 147 | + case 'name': |
|
| 148 | + $discount_id = 0; |
|
| 149 | + $args = array( 'name' => $value ); |
|
| 150 | + break; |
|
| 151 | + default: |
|
| 152 | + return false; |
|
| 153 | + } |
|
| 154 | + |
|
| 155 | + // Check if there is a cached value. |
|
| 156 | + if ( false !== $discount_id && $discount = wp_cache_get( $discount_id, 'WPInv_Discounts' ) ) { |
|
| 157 | + return $discount; |
|
| 158 | + } |
|
| 159 | + |
|
| 160 | + $args = wp_parse_args( |
|
| 161 | + $args, |
|
| 162 | + array( |
|
| 163 | + 'post_type' => 'wpi_discount', |
|
| 164 | + 'posts_per_page' => 1, |
|
| 165 | + 'post_status' => array( 'publish', 'pending', 'draft', 'expired' ) |
|
| 166 | + ) |
|
| 167 | + ); |
|
| 168 | + |
|
| 169 | + $discount = get_posts( $args ); |
|
| 170 | 170 | |
| 171 | - if( empty( $discount ) ) { |
|
| 172 | - return false; |
|
| 173 | - } |
|
| 171 | + if( empty( $discount ) ) { |
|
| 172 | + return false; |
|
| 173 | + } |
|
| 174 | 174 | |
| 175 | - $discount = $discount[0]; |
|
| 175 | + $discount = $discount[0]; |
|
| 176 | 176 | |
| 177 | - // Prepare the return data. |
|
| 178 | - $return = array( |
|
| 177 | + // Prepare the return data. |
|
| 178 | + $return = array( |
|
| 179 | 179 | 'ID' => $discount->ID, |
| 180 | 180 | 'code' => get_post_meta( $discount->ID, '_wpi_discount_code', true ), |
| 181 | 181 | 'amount' => get_post_meta( $discount->ID, '_wpi_discount_amount', true ), |
| 182 | 182 | 'date_created' => $discount->post_date, |
| 183 | - 'date_modified' => $discount->post_modified, |
|
| 184 | - 'status' => $discount->post_status, |
|
| 185 | - 'start' => get_post_meta( $discount->ID, '_wpi_discount_start', true ), |
|
| 183 | + 'date_modified' => $discount->post_modified, |
|
| 184 | + 'status' => $discount->post_status, |
|
| 185 | + 'start' => get_post_meta( $discount->ID, '_wpi_discount_start', true ), |
|
| 186 | 186 | 'expiration' => get_post_meta( $discount->ID, '_wpi_discount_expiration', true ), |
| 187 | 187 | 'type' => get_post_meta( $discount->ID, '_wpi_discount_type', true ), |
| 188 | 188 | 'description' => $discount->post_excerpt, |
@@ -196,38 +196,38 @@ discard block |
||
| 196 | 196 | 'max_total' => get_post_meta( $discount->ID, '_wpi_discount_max_total', true ), |
| 197 | 197 | ); |
| 198 | 198 | |
| 199 | - $return = self::sanitize_discount_data( $return ); |
|
| 200 | - $return = apply_filters( 'wpinv_discount_properties', $return ); |
|
| 199 | + $return = self::sanitize_discount_data( $return ); |
|
| 200 | + $return = apply_filters( 'wpinv_discount_properties', $return ); |
|
| 201 | 201 | |
| 202 | - // Update the cache with our data |
|
| 203 | - wp_cache_add( $discount->ID, $return, 'WPInv_Discounts' ); |
|
| 204 | - wp_cache_add( $return['code'], $discount->ID, 'WPInv_Discount_Codes' ); |
|
| 202 | + // Update the cache with our data |
|
| 203 | + wp_cache_add( $discount->ID, $return, 'WPInv_Discounts' ); |
|
| 204 | + wp_cache_add( $return['code'], $discount->ID, 'WPInv_Discount_Codes' ); |
|
| 205 | 205 | |
| 206 | - return $return; |
|
| 207 | - } |
|
| 206 | + return $return; |
|
| 207 | + } |
|
| 208 | 208 | |
| 209 | - /** |
|
| 210 | - * Sanitizes discount data |
|
| 211 | - * |
|
| 212 | - * @static |
|
| 213 | - * @since 1.0.14 |
|
| 214 | - * @access public |
|
| 215 | - * |
|
| 216 | - * @return array the sanitized data |
|
| 217 | - */ |
|
| 218 | - public static function sanitize_discount_data( $data ) { |
|
| 209 | + /** |
|
| 210 | + * Sanitizes discount data |
|
| 211 | + * |
|
| 212 | + * @static |
|
| 213 | + * @since 1.0.14 |
|
| 214 | + * @access public |
|
| 215 | + * |
|
| 216 | + * @return array the sanitized data |
|
| 217 | + */ |
|
| 218 | + public static function sanitize_discount_data( $data ) { |
|
| 219 | 219 | |
| 220 | - $allowed_discount_types = array_keys( wpinv_get_discount_types() ); |
|
| 220 | + $allowed_discount_types = array_keys( wpinv_get_discount_types() ); |
|
| 221 | 221 | |
| 222 | - $return = array( |
|
| 222 | + $return = array( |
|
| 223 | 223 | 'ID' => null, |
| 224 | 224 | 'code' => '', |
| 225 | 225 | 'amount' => 0, |
| 226 | 226 | 'date_created' => current_time('mysql'), |
| 227 | 227 | 'date_modified' => current_time('mysql'), |
| 228 | - 'expiration' => null, |
|
| 229 | - 'start' => current_time('mysql'), |
|
| 230 | - 'status' => 'draft', |
|
| 228 | + 'expiration' => null, |
|
| 229 | + 'start' => current_time('mysql'), |
|
| 230 | + 'status' => 'draft', |
|
| 231 | 231 | 'type' => 'percent', |
| 232 | 232 | 'description' => '', |
| 233 | 233 | 'uses' => 0, |
@@ -237,395 +237,395 @@ discard block |
||
| 237 | 237 | 'max_uses' => 0, |
| 238 | 238 | 'is_recurring' => false, |
| 239 | 239 | 'min_total' => '', |
| 240 | - 'max_total' => '', |
|
| 241 | - ); |
|
| 240 | + 'max_total' => '', |
|
| 241 | + ); |
|
| 242 | 242 | |
| 243 | 243 | |
| 244 | - // Arrays only please. |
|
| 245 | - if (! is_array( $data ) ) { |
|
| 244 | + // Arrays only please. |
|
| 245 | + if (! is_array( $data ) ) { |
|
| 246 | 246 | return $return; |
| 247 | 247 | } |
| 248 | 248 | |
| 249 | - // If an id is provided, ensure it is a valid discount. |
|
| 249 | + // If an id is provided, ensure it is a valid discount. |
|
| 250 | 250 | if (! empty( $data['ID'] ) && is_numeric( $data['ID'] ) && 'wpi_discount' !== get_post_type( $data['ID'] ) ) { |
| 251 | 251 | return $return; |
| 252 | - } |
|
| 252 | + } |
|
| 253 | 253 | |
| 254 | 254 | $return = wp_parse_args( $data, $return ); |
| 255 | 255 | |
| 256 | 256 | // Sanitize some keys. |
| 257 | 257 | $return['amount'] = wpinv_sanitize_amount( $return['amount'] ); |
| 258 | - $return['is_single_use'] = (bool) $return['is_single_use']; |
|
| 259 | - $return['is_recurring'] = (bool) $return['is_recurring']; |
|
| 260 | - $return['uses'] = (int) $return['uses']; |
|
| 261 | - $return['max_uses'] = (int) $return['max_uses']; |
|
| 262 | - $return['min_total'] = wpinv_sanitize_amount( $return['min_total'] ); |
|
| 258 | + $return['is_single_use'] = (bool) $return['is_single_use']; |
|
| 259 | + $return['is_recurring'] = (bool) $return['is_recurring']; |
|
| 260 | + $return['uses'] = (int) $return['uses']; |
|
| 261 | + $return['max_uses'] = (int) $return['max_uses']; |
|
| 262 | + $return['min_total'] = wpinv_sanitize_amount( $return['min_total'] ); |
|
| 263 | 263 | $return['max_total'] = wpinv_sanitize_amount( $return['max_total'] ); |
| 264 | 264 | |
| 265 | - // Trim all values. |
|
| 266 | - $return = wpinv_clean( $return ); |
|
| 265 | + // Trim all values. |
|
| 266 | + $return = wpinv_clean( $return ); |
|
| 267 | 267 | |
| 268 | - // Ensure the discount type is supported. |
|
| 268 | + // Ensure the discount type is supported. |
|
| 269 | 269 | if ( ! in_array( $return['type'], $allowed_discount_types, true ) ) { |
| 270 | 270 | $return['type'] = 'percent'; |
| 271 | - } |
|
| 272 | - $return['type_name'] = wpinv_get_discount_type_name( $return['type'] ); |
|
| 271 | + } |
|
| 272 | + $return['type_name'] = wpinv_get_discount_type_name( $return['type'] ); |
|
| 273 | 273 | |
| 274 | - // Do not offer more than a 100% discount. |
|
| 275 | - if ( $return['type'] == 'percent' && (float) $return['amount'] > 100 ) { |
|
| 276 | - $return['amount'] = 100; |
|
| 277 | - } |
|
| 278 | - |
|
| 279 | - // Format dates. |
|
| 280 | - foreach( wpinv_parse_list( 'date_created date_modified expiration start') as $prop ) { |
|
| 281 | - if( ! empty( $return[$prop] ) ) { |
|
| 282 | - $return[$prop] = date_i18n( 'Y-m-d H:i:s', strtotime( $return[$prop] ) ); |
|
| 283 | - } |
|
| 284 | - } |
|
| 285 | - |
|
| 286 | - // Formart items. |
|
| 287 | - foreach( wpinv_parse_list( 'excluded_items items') as $prop ) { |
|
| 288 | - |
|
| 289 | - if( ! empty( $return[$prop] ) ) { |
|
| 290 | - // Ensure that the property is an array of non-empty integers. |
|
| 291 | - $return[$prop] = array_filter( array_map( 'intval', wpinv_parse_list( $return[$prop] ) ) ); |
|
| 292 | - } else { |
|
| 293 | - $return[$prop] = array(); |
|
| 294 | - } |
|
| 295 | - |
|
| 296 | - } |
|
| 274 | + // Do not offer more than a 100% discount. |
|
| 275 | + if ( $return['type'] == 'percent' && (float) $return['amount'] > 100 ) { |
|
| 276 | + $return['amount'] = 100; |
|
| 277 | + } |
|
| 278 | + |
|
| 279 | + // Format dates. |
|
| 280 | + foreach( wpinv_parse_list( 'date_created date_modified expiration start') as $prop ) { |
|
| 281 | + if( ! empty( $return[$prop] ) ) { |
|
| 282 | + $return[$prop] = date_i18n( 'Y-m-d H:i:s', strtotime( $return[$prop] ) ); |
|
| 283 | + } |
|
| 284 | + } |
|
| 285 | + |
|
| 286 | + // Formart items. |
|
| 287 | + foreach( wpinv_parse_list( 'excluded_items items') as $prop ) { |
|
| 288 | + |
|
| 289 | + if( ! empty( $return[$prop] ) ) { |
|
| 290 | + // Ensure that the property is an array of non-empty integers. |
|
| 291 | + $return[$prop] = array_filter( array_map( 'intval', wpinv_parse_list( $return[$prop] ) ) ); |
|
| 292 | + } else { |
|
| 293 | + $return[$prop] = array(); |
|
| 294 | + } |
|
| 295 | + |
|
| 296 | + } |
|
| 297 | 297 | |
| 298 | - return apply_filters( 'sanitize_discount_data', $return, $data ); |
|
| 299 | - } |
|
| 298 | + return apply_filters( 'sanitize_discount_data', $return, $data ); |
|
| 299 | + } |
|
| 300 | 300 | |
| 301 | - /** |
|
| 302 | - * Magic method for checking the existence of a certain custom field. |
|
| 303 | - * |
|
| 304 | - * @since 1.0.14 |
|
| 305 | - * @access public |
|
| 306 | - * |
|
| 307 | - * @return bool Whether the given discount field is set. |
|
| 308 | - */ |
|
| 309 | - public function __isset( $key ){ |
|
| 310 | - return isset( $this->data[$key] ); |
|
| 311 | - } |
|
| 301 | + /** |
|
| 302 | + * Magic method for checking the existence of a certain custom field. |
|
| 303 | + * |
|
| 304 | + * @since 1.0.14 |
|
| 305 | + * @access public |
|
| 306 | + * |
|
| 307 | + * @return bool Whether the given discount field is set. |
|
| 308 | + */ |
|
| 309 | + public function __isset( $key ){ |
|
| 310 | + return isset( $this->data[$key] ); |
|
| 311 | + } |
|
| 312 | 312 | |
| 313 | - /** |
|
| 314 | - * Magic method for accessing discount properties. |
|
| 315 | - * |
|
| 316 | - * @since 1.0.14 |
|
| 317 | - * @access public |
|
| 318 | - * |
|
| 319 | - * @param string $key Discount data to retrieve |
|
| 320 | - * @return mixed Value of the given discount property (if set). |
|
| 321 | - */ |
|
| 322 | - public function __get( $key ) { |
|
| 313 | + /** |
|
| 314 | + * Magic method for accessing discount properties. |
|
| 315 | + * |
|
| 316 | + * @since 1.0.14 |
|
| 317 | + * @access public |
|
| 318 | + * |
|
| 319 | + * @param string $key Discount data to retrieve |
|
| 320 | + * @return mixed Value of the given discount property (if set). |
|
| 321 | + */ |
|
| 322 | + public function __get( $key ) { |
|
| 323 | 323 | |
| 324 | - if ( $key == 'id' ) { |
|
| 325 | - $key = 'ID'; |
|
| 326 | - } |
|
| 324 | + if ( $key == 'id' ) { |
|
| 325 | + $key = 'ID'; |
|
| 326 | + } |
|
| 327 | 327 | |
| 328 | - if( method_exists( $this, "get_$key") ) { |
|
| 329 | - $value = call_user_func( array( $this, "get_$key" ) ); |
|
| 330 | - } else if( isset( $this->data[$key] ) ) { |
|
| 331 | - $value = $this->data[$key]; |
|
| 332 | - } else { |
|
| 333 | - $value = null; |
|
| 334 | - } |
|
| 328 | + if( method_exists( $this, "get_$key") ) { |
|
| 329 | + $value = call_user_func( array( $this, "get_$key" ) ); |
|
| 330 | + } else if( isset( $this->data[$key] ) ) { |
|
| 331 | + $value = $this->data[$key]; |
|
| 332 | + } else { |
|
| 333 | + $value = null; |
|
| 334 | + } |
|
| 335 | 335 | |
| 336 | - return apply_filters( "wpinv_get_discount_{$key}", $value, $this->ID, $this, $this->data['code'], $this->data ); |
|
| 336 | + return apply_filters( "wpinv_get_discount_{$key}", $value, $this->ID, $this, $this->data['code'], $this->data ); |
|
| 337 | 337 | |
| 338 | - } |
|
| 338 | + } |
|
| 339 | 339 | |
| 340 | - /** |
|
| 341 | - * Magic method for setting discount fields. |
|
| 342 | - * |
|
| 343 | - * This method does not update custom fields in the database. |
|
| 344 | - * |
|
| 345 | - * @since 1.0.14 |
|
| 346 | - * @access public |
|
| 347 | - * |
|
| 348 | - */ |
|
| 349 | - public function __set( $key, $value ) { |
|
| 340 | + /** |
|
| 341 | + * Magic method for setting discount fields. |
|
| 342 | + * |
|
| 343 | + * This method does not update custom fields in the database. |
|
| 344 | + * |
|
| 345 | + * @since 1.0.14 |
|
| 346 | + * @access public |
|
| 347 | + * |
|
| 348 | + */ |
|
| 349 | + public function __set( $key, $value ) { |
|
| 350 | 350 | |
| 351 | - if ( 'id' == strtolower( $key ) ) { |
|
| 351 | + if ( 'id' == strtolower( $key ) ) { |
|
| 352 | 352 | |
| 353 | - $this->ID = $value; |
|
| 354 | - $this->data['ID'] = $value; |
|
| 355 | - return; |
|
| 353 | + $this->ID = $value; |
|
| 354 | + $this->data['ID'] = $value; |
|
| 355 | + return; |
|
| 356 | 356 | |
| 357 | - } |
|
| 357 | + } |
|
| 358 | 358 | |
| 359 | - $value = apply_filters( "wpinv_set_discount_{$key}", $value, $this->ID, $this, $this->code, $this->data ); |
|
| 360 | - $this->data[$key] = $value; |
|
| 359 | + $value = apply_filters( "wpinv_set_discount_{$key}", $value, $this->ID, $this, $this->code, $this->data ); |
|
| 360 | + $this->data[$key] = $value; |
|
| 361 | 361 | |
| 362 | - } |
|
| 362 | + } |
|
| 363 | 363 | |
| 364 | - /** |
|
| 365 | - * Saves (or updates) a discount to the database |
|
| 366 | - * |
|
| 367 | - * @since 1.0.14 |
|
| 368 | - * @access public |
|
| 369 | - * @return bool |
|
| 370 | - * |
|
| 371 | - */ |
|
| 372 | - public function save(){ |
|
| 364 | + /** |
|
| 365 | + * Saves (or updates) a discount to the database |
|
| 366 | + * |
|
| 367 | + * @since 1.0.14 |
|
| 368 | + * @access public |
|
| 369 | + * @return bool |
|
| 370 | + * |
|
| 371 | + */ |
|
| 372 | + public function save(){ |
|
| 373 | 373 | |
| 374 | - $data = self::sanitize_discount_data( $this->data ); |
|
| 374 | + $data = self::sanitize_discount_data( $this->data ); |
|
| 375 | 375 | |
| 376 | - // Should we create a new post? |
|
| 377 | - if(! $data[ 'ID' ] ) { |
|
| 376 | + // Should we create a new post? |
|
| 377 | + if(! $data[ 'ID' ] ) { |
|
| 378 | 378 | |
| 379 | - $id = wp_insert_post( array( |
|
| 380 | - 'post_status' => $data['status'], |
|
| 381 | - 'post_type' => 'wpi_discount', |
|
| 382 | - 'post_excerpt' => $data['description'], |
|
| 383 | - ) ); |
|
| 379 | + $id = wp_insert_post( array( |
|
| 380 | + 'post_status' => $data['status'], |
|
| 381 | + 'post_type' => 'wpi_discount', |
|
| 382 | + 'post_excerpt' => $data['description'], |
|
| 383 | + ) ); |
|
| 384 | 384 | |
| 385 | - if( empty( $id ) ) { |
|
| 386 | - return false; |
|
| 387 | - } |
|
| 385 | + if( empty( $id ) ) { |
|
| 386 | + return false; |
|
| 387 | + } |
|
| 388 | 388 | |
| 389 | - $data[ 'ID' ] = $id; |
|
| 390 | - $this->ID = $id; |
|
| 391 | - $this->data['ID'] = $id; |
|
| 389 | + $data[ 'ID' ] = $id; |
|
| 390 | + $this->ID = $id; |
|
| 391 | + $this->data['ID'] = $id; |
|
| 392 | 392 | |
| 393 | - } else { |
|
| 394 | - $this->update_status( $data['post_status'] ); |
|
| 395 | - } |
|
| 393 | + } else { |
|
| 394 | + $this->update_status( $data['post_status'] ); |
|
| 395 | + } |
|
| 396 | 396 | |
| 397 | - $meta = apply_filters( 'wpinv_update_discount', $data, $this->ID, $this ); |
|
| 397 | + $meta = apply_filters( 'wpinv_update_discount', $data, $this->ID, $this ); |
|
| 398 | 398 | |
| 399 | - do_action( 'wpinv_pre_update_discount', $meta, $this->ID, $this ); |
|
| 399 | + do_action( 'wpinv_pre_update_discount', $meta, $this->ID, $this ); |
|
| 400 | 400 | |
| 401 | - foreach( wpinv_parse_list( 'ID date_created date_modified status description type_name' ) as $prop ) { |
|
| 402 | - unset( $meta[$prop] ); |
|
| 403 | - } |
|
| 401 | + foreach( wpinv_parse_list( 'ID date_created date_modified status description type_name' ) as $prop ) { |
|
| 402 | + unset( $meta[$prop] ); |
|
| 403 | + } |
|
| 404 | 404 | |
| 405 | - if( empty( $meta['uses'] ) ) { |
|
| 406 | - unset( $meta['uses'] ); |
|
| 407 | - } |
|
| 405 | + if( empty( $meta['uses'] ) ) { |
|
| 406 | + unset( $meta['uses'] ); |
|
| 407 | + } |
|
| 408 | 408 | |
| 409 | - // Save the metadata |
|
| 410 | - foreach( $meta as $key => $value ) { |
|
| 411 | - update_post_meta( $this->ID, "_wpi_discount_$key", $value ); |
|
| 412 | - } |
|
| 409 | + // Save the metadata |
|
| 410 | + foreach( $meta as $key => $value ) { |
|
| 411 | + update_post_meta( $this->ID, "_wpi_discount_$key", $value ); |
|
| 412 | + } |
|
| 413 | 413 | |
| 414 | - // Empty the cache for this discount. |
|
| 415 | - wp_cache_delete( $this->ID, 'WPInv_Discounts' ); |
|
| 416 | - wp_cache_delete( $data['code'], 'WPInv_Discount_Codes' ); |
|
| 414 | + // Empty the cache for this discount. |
|
| 415 | + wp_cache_delete( $this->ID, 'WPInv_Discounts' ); |
|
| 416 | + wp_cache_delete( $data['code'], 'WPInv_Discount_Codes' ); |
|
| 417 | 417 | |
| 418 | - do_action( 'wpinv_post_update_discount', $meta, $this->ID, $this ); |
|
| 418 | + do_action( 'wpinv_post_update_discount', $meta, $this->ID, $this ); |
|
| 419 | 419 | |
| 420 | - $data = self::get_data_by( 'id', $this->ID ); |
|
| 421 | - $this->init( $data ); |
|
| 420 | + $data = self::get_data_by( 'id', $this->ID ); |
|
| 421 | + $this->init( $data ); |
|
| 422 | 422 | |
| 423 | - return true; |
|
| 424 | - } |
|
| 423 | + return true; |
|
| 424 | + } |
|
| 425 | 425 | |
| 426 | - /** |
|
| 427 | - * Saves (or updates) a discount to the database |
|
| 428 | - * |
|
| 429 | - * @since 1.0.14 |
|
| 430 | - * @access public |
|
| 431 | - * @return bool |
|
| 432 | - * |
|
| 433 | - */ |
|
| 434 | - public function update_status( $status = 'publish' ){ |
|
| 426 | + /** |
|
| 427 | + * Saves (or updates) a discount to the database |
|
| 428 | + * |
|
| 429 | + * @since 1.0.14 |
|
| 430 | + * @access public |
|
| 431 | + * @return bool |
|
| 432 | + * |
|
| 433 | + */ |
|
| 434 | + public function update_status( $status = 'publish' ){ |
|
| 435 | 435 | |
| 436 | 436 | |
| 437 | - if( $this->exists() && $this->old_status != $status ) { |
|
| 437 | + if( $this->exists() && $this->old_status != $status ) { |
|
| 438 | 438 | |
| 439 | - do_action( 'wpinv_pre_update_discount_status', $this->ID, $this->old_status, $status ); |
|
| 440 | - $updated = wp_update_post( array( 'ID' => $this->ID, 'post_status' => $status ) ); |
|
| 441 | - do_action( 'wpinv_post_update_discount_status', $this->ID, $this->old_status, $status ); |
|
| 439 | + do_action( 'wpinv_pre_update_discount_status', $this->ID, $this->old_status, $status ); |
|
| 440 | + $updated = wp_update_post( array( 'ID' => $this->ID, 'post_status' => $status ) ); |
|
| 441 | + do_action( 'wpinv_post_update_discount_status', $this->ID, $this->old_status, $status ); |
|
| 442 | 442 | |
| 443 | - wp_cache_delete( $this->ID, 'WPInv_Discounts' ); |
|
| 444 | - wp_cache_delete( $this->code, 'WPInv_Discount_Codes' ); |
|
| 443 | + wp_cache_delete( $this->ID, 'WPInv_Discounts' ); |
|
| 444 | + wp_cache_delete( $this->code, 'WPInv_Discount_Codes' ); |
|
| 445 | 445 | |
| 446 | - return $updated !== 0; |
|
| 446 | + return $updated !== 0; |
|
| 447 | 447 | |
| 448 | - } |
|
| 448 | + } |
|
| 449 | 449 | |
| 450 | - return false; |
|
| 451 | - } |
|
| 450 | + return false; |
|
| 451 | + } |
|
| 452 | 452 | |
| 453 | 453 | |
| 454 | - /** |
|
| 455 | - * Checks whether a discount exists in the database or not |
|
| 456 | - * |
|
| 457 | - * @since 1.0.14 |
|
| 458 | - */ |
|
| 459 | - public function exists(){ |
|
| 460 | - return ! empty( $this->ID ); |
|
| 461 | - } |
|
| 454 | + /** |
|
| 455 | + * Checks whether a discount exists in the database or not |
|
| 456 | + * |
|
| 457 | + * @since 1.0.14 |
|
| 458 | + */ |
|
| 459 | + public function exists(){ |
|
| 460 | + return ! empty( $this->ID ); |
|
| 461 | + } |
|
| 462 | 462 | |
| 463 | - // Boolean methods |
|
| 463 | + // Boolean methods |
|
| 464 | 464 | |
| 465 | - /** |
|
| 466 | - * Checks the discount type. |
|
| 467 | - * |
|
| 468 | - * |
|
| 469 | - * @param string $type the discount type to check against |
|
| 470 | - * @since 1.0.14 |
|
| 471 | - * @return bool |
|
| 472 | - */ |
|
| 473 | - public function is_type( $type ) { |
|
| 474 | - return $this->type == $type; |
|
| 475 | - } |
|
| 465 | + /** |
|
| 466 | + * Checks the discount type. |
|
| 467 | + * |
|
| 468 | + * |
|
| 469 | + * @param string $type the discount type to check against |
|
| 470 | + * @since 1.0.14 |
|
| 471 | + * @return bool |
|
| 472 | + */ |
|
| 473 | + public function is_type( $type ) { |
|
| 474 | + return $this->type == $type; |
|
| 475 | + } |
|
| 476 | 476 | |
| 477 | - /** |
|
| 478 | - * Checks whether the discount is published or not |
|
| 479 | - * |
|
| 480 | - * @since 1.0.14 |
|
| 481 | - * @return bool |
|
| 482 | - */ |
|
| 483 | - public function is_active() { |
|
| 484 | - return $this->post_status == 'publish'; |
|
| 485 | - } |
|
| 477 | + /** |
|
| 478 | + * Checks whether the discount is published or not |
|
| 479 | + * |
|
| 480 | + * @since 1.0.14 |
|
| 481 | + * @return bool |
|
| 482 | + */ |
|
| 483 | + public function is_active() { |
|
| 484 | + return $this->post_status == 'publish'; |
|
| 485 | + } |
|
| 486 | 486 | |
| 487 | - /** |
|
| 488 | - * Checks whether the discount is has exided the usage limit or not |
|
| 489 | - * |
|
| 490 | - * @since 1.0.14 |
|
| 491 | - * @return bool |
|
| 492 | - */ |
|
| 493 | - public function has_exceeded_limit() { |
|
| 494 | - if( empty( $this->max_uses ) || empty( $this->uses ) ) { |
|
| 495 | - return false ; |
|
| 496 | - } |
|
| 487 | + /** |
|
| 488 | + * Checks whether the discount is has exided the usage limit or not |
|
| 489 | + * |
|
| 490 | + * @since 1.0.14 |
|
| 491 | + * @return bool |
|
| 492 | + */ |
|
| 493 | + public function has_exceeded_limit() { |
|
| 494 | + if( empty( $this->max_uses ) || empty( $this->uses ) ) { |
|
| 495 | + return false ; |
|
| 496 | + } |
|
| 497 | 497 | |
| 498 | - $exceeded = $this->uses >= $this->max_uses; |
|
| 499 | - return apply_filters( 'wpinv_is_discount_maxed_out', $exceeded, $this->ID, $this, $this->code ); |
|
| 500 | - } |
|
| 498 | + $exceeded = $this->uses >= $this->max_uses; |
|
| 499 | + return apply_filters( 'wpinv_is_discount_maxed_out', $exceeded, $this->ID, $this, $this->code ); |
|
| 500 | + } |
|
| 501 | 501 | |
| 502 | - /** |
|
| 503 | - * Checks if the discount is expired |
|
| 504 | - * |
|
| 505 | - * @since 1.0.14 |
|
| 506 | - * @return bool |
|
| 507 | - */ |
|
| 508 | - public function is_expired() { |
|
| 509 | - $expired = empty ( $this->expires ) ? false : current_time( 'timestamp' ) > strtotime( $this->expires ); |
|
| 510 | - return apply_filters( 'wpinv_is_discount_expired', $expired, $this->ID, $this, $this->code ); |
|
| 511 | - } |
|
| 512 | - |
|
| 513 | - /** |
|
| 514 | - * Checks the discount start date. |
|
| 515 | - * |
|
| 516 | - * @since 1.0.14 |
|
| 517 | - * @return bool |
|
| 518 | - */ |
|
| 519 | - public function has_started() { |
|
| 520 | - $started = empty ( $this->start ) ? true : current_time( 'timestamp' ) > strtotime( $this->start ); |
|
| 521 | - return apply_filters( 'wpinv_is_discount_started', $started, $this->ID, $this, $this->code ); |
|
| 522 | - } |
|
| 502 | + /** |
|
| 503 | + * Checks if the discount is expired |
|
| 504 | + * |
|
| 505 | + * @since 1.0.14 |
|
| 506 | + * @return bool |
|
| 507 | + */ |
|
| 508 | + public function is_expired() { |
|
| 509 | + $expired = empty ( $this->expires ) ? false : current_time( 'timestamp' ) > strtotime( $this->expires ); |
|
| 510 | + return apply_filters( 'wpinv_is_discount_expired', $expired, $this->ID, $this, $this->code ); |
|
| 511 | + } |
|
| 512 | + |
|
| 513 | + /** |
|
| 514 | + * Checks the discount start date. |
|
| 515 | + * |
|
| 516 | + * @since 1.0.14 |
|
| 517 | + * @return bool |
|
| 518 | + */ |
|
| 519 | + public function has_started() { |
|
| 520 | + $started = empty ( $this->start ) ? true : current_time( 'timestamp' ) > strtotime( $this->start ); |
|
| 521 | + return apply_filters( 'wpinv_is_discount_started', $started, $this->ID, $this, $this->code ); |
|
| 522 | + } |
|
| 523 | 523 | |
| 524 | - /** |
|
| 525 | - * Check if a discount is valid for a given item id. |
|
| 526 | - * |
|
| 527 | - * @param int|array $item_ids |
|
| 528 | - * @since 1.0.14 |
|
| 529 | - * @return boolean |
|
| 530 | - */ |
|
| 531 | - public function is_valid_for_items( $item_ids ) { |
|
| 524 | + /** |
|
| 525 | + * Check if a discount is valid for a given item id. |
|
| 526 | + * |
|
| 527 | + * @param int|array $item_ids |
|
| 528 | + * @since 1.0.14 |
|
| 529 | + * @return boolean |
|
| 530 | + */ |
|
| 531 | + public function is_valid_for_items( $item_ids ) { |
|
| 532 | 532 | |
| 533 | - $item_ids = wpinv_parse_list( $item_ids ); |
|
| 534 | - $included = array_intersect( $item_ids, $this->items ); |
|
| 535 | - $excluded = array_intersect( $item_ids, $this->excluded_items ); |
|
| 536 | - |
|
| 537 | - if( ! empty( $this->excluded_items ) && ! empty( $excluded ) ) { |
|
| 538 | - return false; |
|
| 539 | - } |
|
| 540 | - |
|
| 541 | - if( ! empty( $this->included_items ) && empty( $included ) ) { |
|
| 542 | - return false; |
|
| 543 | - } |
|
| 544 | - return true; |
|
| 545 | - } |
|
| 533 | + $item_ids = wpinv_parse_list( $item_ids ); |
|
| 534 | + $included = array_intersect( $item_ids, $this->items ); |
|
| 535 | + $excluded = array_intersect( $item_ids, $this->excluded_items ); |
|
| 536 | + |
|
| 537 | + if( ! empty( $this->excluded_items ) && ! empty( $excluded ) ) { |
|
| 538 | + return false; |
|
| 539 | + } |
|
| 540 | + |
|
| 541 | + if( ! empty( $this->included_items ) && empty( $included ) ) { |
|
| 542 | + return false; |
|
| 543 | + } |
|
| 544 | + return true; |
|
| 545 | + } |
|
| 546 | 546 | |
| 547 | - /** |
|
| 548 | - * Check if a discount is valid for the given amount |
|
| 549 | - * |
|
| 550 | - * @param float $amount The amount to check against |
|
| 551 | - * @since 1.0.14 |
|
| 552 | - * @return boolean |
|
| 553 | - */ |
|
| 554 | - public function is_valid_for_amount( $amount ) { |
|
| 547 | + /** |
|
| 548 | + * Check if a discount is valid for the given amount |
|
| 549 | + * |
|
| 550 | + * @param float $amount The amount to check against |
|
| 551 | + * @since 1.0.14 |
|
| 552 | + * @return boolean |
|
| 553 | + */ |
|
| 554 | + public function is_valid_for_amount( $amount ) { |
|
| 555 | 555 | |
| 556 | - // Amount passed is not valid; |
|
| 557 | - if(! is_numeric ( $amount ) ) { |
|
| 558 | - return false; |
|
| 559 | - } |
|
| 560 | - |
|
| 561 | - $amount = floatval( $amount ); |
|
| 562 | - |
|
| 563 | - // check if it meets the minimum amount valid. |
|
| 564 | - if( $this->min_total > 0 && $amount < $this->min_total ) { |
|
| 565 | - return false; |
|
| 566 | - } |
|
| 567 | - |
|
| 568 | - // check if it meets the maximum amount valid. |
|
| 569 | - if( $this->max_total > 0 && $amount > $this->max_total ) { |
|
| 570 | - return false; |
|
| 571 | - } |
|
| 572 | - |
|
| 573 | - return true; |
|
| 574 | - } |
|
| 575 | - |
|
| 576 | - /** |
|
| 577 | - * Checks if the minimum amount is met |
|
| 578 | - * |
|
| 579 | - * @param float $amount The amount to check against |
|
| 580 | - * @since 1.0.14 |
|
| 581 | - * @return boolean |
|
| 582 | - */ |
|
| 583 | - public function is_minimum_amount_met( $amount ) { |
|
| 556 | + // Amount passed is not valid; |
|
| 557 | + if(! is_numeric ( $amount ) ) { |
|
| 558 | + return false; |
|
| 559 | + } |
|
| 560 | + |
|
| 561 | + $amount = floatval( $amount ); |
|
| 562 | + |
|
| 563 | + // check if it meets the minimum amount valid. |
|
| 564 | + if( $this->min_total > 0 && $amount < $this->min_total ) { |
|
| 565 | + return false; |
|
| 566 | + } |
|
| 567 | + |
|
| 568 | + // check if it meets the maximum amount valid. |
|
| 569 | + if( $this->max_total > 0 && $amount > $this->max_total ) { |
|
| 570 | + return false; |
|
| 571 | + } |
|
| 572 | + |
|
| 573 | + return true; |
|
| 574 | + } |
|
| 575 | + |
|
| 576 | + /** |
|
| 577 | + * Checks if the minimum amount is met |
|
| 578 | + * |
|
| 579 | + * @param float $amount The amount to check against |
|
| 580 | + * @since 1.0.14 |
|
| 581 | + * @return boolean |
|
| 582 | + */ |
|
| 583 | + public function is_minimum_amount_met( $amount ) { |
|
| 584 | 584 | |
| 585 | - // Amount passed is not valid; |
|
| 586 | - if(! is_numeric ( $amount ) ) { |
|
| 587 | - return false; |
|
| 588 | - } |
|
| 589 | - |
|
| 590 | - $amount = floatval( $amount ); |
|
| 591 | - $min_met= ! ( $this->min_total > 0 && $amount < $this->min_total ); |
|
| 592 | - return apply_filters( 'wpinv_is_discount_min_met', $min_met, $this->ID, $this, $this->code, $amount ); |
|
| 593 | - } |
|
| 594 | - |
|
| 595 | - /** |
|
| 596 | - * Checks if the maximum amount is met |
|
| 597 | - * |
|
| 598 | - * @param float $amount The amount to check against |
|
| 599 | - * @since 1.0.14 |
|
| 600 | - * @return boolean |
|
| 601 | - */ |
|
| 602 | - public function is_maximum_amount_met( $amount ) { |
|
| 585 | + // Amount passed is not valid; |
|
| 586 | + if(! is_numeric ( $amount ) ) { |
|
| 587 | + return false; |
|
| 588 | + } |
|
| 589 | + |
|
| 590 | + $amount = floatval( $amount ); |
|
| 591 | + $min_met= ! ( $this->min_total > 0 && $amount < $this->min_total ); |
|
| 592 | + return apply_filters( 'wpinv_is_discount_min_met', $min_met, $this->ID, $this, $this->code, $amount ); |
|
| 593 | + } |
|
| 594 | + |
|
| 595 | + /** |
|
| 596 | + * Checks if the maximum amount is met |
|
| 597 | + * |
|
| 598 | + * @param float $amount The amount to check against |
|
| 599 | + * @since 1.0.14 |
|
| 600 | + * @return boolean |
|
| 601 | + */ |
|
| 602 | + public function is_maximum_amount_met( $amount ) { |
|
| 603 | 603 | |
| 604 | - // Amount passed is not valid; |
|
| 605 | - if(! is_numeric ( $amount ) ) { |
|
| 606 | - return false; |
|
| 607 | - } |
|
| 608 | - |
|
| 609 | - $amount = floatval( $amount ); |
|
| 610 | - $max_met= ! ( $this->max_total > 0 && $amount > $this->max_total ); |
|
| 611 | - return apply_filters( 'wpinv_is_discount_max_met', $max_met, $this->ID, $this, $this->code, $amount ); |
|
| 612 | - } |
|
| 613 | - |
|
| 614 | - /** |
|
| 615 | - * Check if a discount is valid for the given user |
|
| 616 | - * |
|
| 617 | - * @param int|string $user |
|
| 618 | - * @since 1.0.14 |
|
| 619 | - * @return boolean |
|
| 620 | - */ |
|
| 621 | - public function is_valid_for_user( $user ) { |
|
| 622 | - global $wpi_checkout_id; |
|
| 623 | - |
|
| 624 | - if( empty( $user ) || empty( $this->is_single_use ) ) { |
|
| 625 | - return true; |
|
| 626 | - } |
|
| 627 | - |
|
| 628 | - $user_id = 0; |
|
| 604 | + // Amount passed is not valid; |
|
| 605 | + if(! is_numeric ( $amount ) ) { |
|
| 606 | + return false; |
|
| 607 | + } |
|
| 608 | + |
|
| 609 | + $amount = floatval( $amount ); |
|
| 610 | + $max_met= ! ( $this->max_total > 0 && $amount > $this->max_total ); |
|
| 611 | + return apply_filters( 'wpinv_is_discount_max_met', $max_met, $this->ID, $this, $this->code, $amount ); |
|
| 612 | + } |
|
| 613 | + |
|
| 614 | + /** |
|
| 615 | + * Check if a discount is valid for the given user |
|
| 616 | + * |
|
| 617 | + * @param int|string $user |
|
| 618 | + * @since 1.0.14 |
|
| 619 | + * @return boolean |
|
| 620 | + */ |
|
| 621 | + public function is_valid_for_user( $user ) { |
|
| 622 | + global $wpi_checkout_id; |
|
| 623 | + |
|
| 624 | + if( empty( $user ) || empty( $this->is_single_use ) ) { |
|
| 625 | + return true; |
|
| 626 | + } |
|
| 627 | + |
|
| 628 | + $user_id = 0; |
|
| 629 | 629 | if ( is_int( $user ) ) { |
| 630 | 630 | $user_id = absint( $user ); |
| 631 | 631 | } else if ( is_email( $user ) && $user_data = get_user_by( 'email', $user ) ) { |
@@ -634,163 +634,163 @@ discard block |
||
| 634 | 634 | $user_id = $user_data->ID; |
| 635 | 635 | } else if ( absint( $user ) > 0 ) { |
| 636 | 636 | $user_id = absint( $user ); |
| 637 | - } |
|
| 637 | + } |
|
| 638 | 638 | |
| 639 | - if( empty( $user_id ) ) { |
|
| 640 | - return true; |
|
| 641 | - } |
|
| 639 | + if( empty( $user_id ) ) { |
|
| 640 | + return true; |
|
| 641 | + } |
|
| 642 | 642 | |
| 643 | - // Get all payments with matching user id |
|
| 643 | + // Get all payments with matching user id |
|
| 644 | 644 | $payments = wpinv_get_invoices( array( 'user' => $user_id, 'limit' => false ) ); |
| 645 | - $code = strtolower( $this->code ); |
|
| 645 | + $code = strtolower( $this->code ); |
|
| 646 | 646 | |
| 647 | - foreach ( $payments as $payment ) { |
|
| 647 | + foreach ( $payments as $payment ) { |
|
| 648 | 648 | |
| 649 | - // Don't count discount used for current invoice checkout. |
|
| 650 | - if ( !empty( $wpi_checkout_id ) && $wpi_checkout_id == $payment->ID ) { |
|
| 651 | - continue; |
|
| 652 | - } |
|
| 649 | + // Don't count discount used for current invoice checkout. |
|
| 650 | + if ( !empty( $wpi_checkout_id ) && $wpi_checkout_id == $payment->ID ) { |
|
| 651 | + continue; |
|
| 652 | + } |
|
| 653 | 653 | |
| 654 | - if ( $payment->has_status( array( 'wpi-cancelled', 'wpi-failed' ) ) ) { |
|
| 655 | - continue; |
|
| 656 | - } |
|
| 657 | - |
|
| 658 | - $discounts = $payment->get_discounts( true ); |
|
| 659 | - if ( empty( $discounts ) ) { |
|
| 660 | - continue; |
|
| 661 | - } |
|
| 662 | - |
|
| 663 | - $discounts = array_map( 'strtolower', wpinv_parse_list( $discounts ) ); |
|
| 664 | - if ( ! empty( $discounts ) && in_array( $code, $discounts ) ) { |
|
| 665 | - return false; |
|
| 666 | - } |
|
| 667 | - } |
|
| 668 | - |
|
| 669 | - return true; |
|
| 670 | - } |
|
| 671 | - |
|
| 672 | - /** |
|
| 673 | - * Deletes the discount from the database |
|
| 674 | - * |
|
| 675 | - * @since 1.0.14 |
|
| 676 | - * @return boolean |
|
| 677 | - */ |
|
| 678 | - public function remove() { |
|
| 679 | - |
|
| 680 | - if( empty( $this->ID ) ) { |
|
| 681 | - return true; |
|
| 682 | - } |
|
| 683 | - |
|
| 684 | - do_action( 'wpinv_pre_delete_discount', $this->ID ); |
|
| 685 | - wp_cache_delete( $this->ID, 'WPInv_Discounts' ); |
|
| 686 | - wp_delete_post( $this->ID, true ); |
|
| 687 | - wp_cache_delete( $this->code, 'WPInv_Discount_Codes' ); |
|
| 688 | - do_action( 'wpinv_post_delete_discount', $this->ID ); |
|
| 689 | - |
|
| 690 | - $this->ID = null; |
|
| 691 | - $this->data['id'] = null; |
|
| 692 | - return true; |
|
| 693 | - } |
|
| 694 | - |
|
| 695 | - /** |
|
| 696 | - * Increases a discount's usage. |
|
| 697 | - * |
|
| 698 | - * @since 1.0.14 |
|
| 699 | - * @param int $by The number of usages to increas by. |
|
| 700 | - * @return bool |
|
| 701 | - */ |
|
| 702 | - public function increase_usage( $by = 1 ) { |
|
| 703 | - |
|
| 704 | - $this->uses = $this->uses + $by; |
|
| 705 | - |
|
| 706 | - if( $this->uses < 0 ) { |
|
| 707 | - $this->uses = 0; |
|
| 708 | - } |
|
| 709 | - |
|
| 710 | - $this->save(); |
|
| 711 | - |
|
| 712 | - if( $by > 0 ) { |
|
| 713 | - do_action( 'wpinv_discount_increase_use_count', $this->uses, $this->ID, $this->code, $by ); |
|
| 714 | - } else { |
|
| 715 | - do_action( 'wpinv_discount_decrease_use_count', $this->uses, $this->ID, $this->code, absint( $by ) ); |
|
| 716 | - } |
|
| 654 | + if ( $payment->has_status( array( 'wpi-cancelled', 'wpi-failed' ) ) ) { |
|
| 655 | + continue; |
|
| 656 | + } |
|
| 657 | + |
|
| 658 | + $discounts = $payment->get_discounts( true ); |
|
| 659 | + if ( empty( $discounts ) ) { |
|
| 660 | + continue; |
|
| 661 | + } |
|
| 662 | + |
|
| 663 | + $discounts = array_map( 'strtolower', wpinv_parse_list( $discounts ) ); |
|
| 664 | + if ( ! empty( $discounts ) && in_array( $code, $discounts ) ) { |
|
| 665 | + return false; |
|
| 666 | + } |
|
| 667 | + } |
|
| 668 | + |
|
| 669 | + return true; |
|
| 670 | + } |
|
| 671 | + |
|
| 672 | + /** |
|
| 673 | + * Deletes the discount from the database |
|
| 674 | + * |
|
| 675 | + * @since 1.0.14 |
|
| 676 | + * @return boolean |
|
| 677 | + */ |
|
| 678 | + public function remove() { |
|
| 679 | + |
|
| 680 | + if( empty( $this->ID ) ) { |
|
| 681 | + return true; |
|
| 682 | + } |
|
| 683 | + |
|
| 684 | + do_action( 'wpinv_pre_delete_discount', $this->ID ); |
|
| 685 | + wp_cache_delete( $this->ID, 'WPInv_Discounts' ); |
|
| 686 | + wp_delete_post( $this->ID, true ); |
|
| 687 | + wp_cache_delete( $this->code, 'WPInv_Discount_Codes' ); |
|
| 688 | + do_action( 'wpinv_post_delete_discount', $this->ID ); |
|
| 689 | + |
|
| 690 | + $this->ID = null; |
|
| 691 | + $this->data['id'] = null; |
|
| 692 | + return true; |
|
| 693 | + } |
|
| 694 | + |
|
| 695 | + /** |
|
| 696 | + * Increases a discount's usage. |
|
| 697 | + * |
|
| 698 | + * @since 1.0.14 |
|
| 699 | + * @param int $by The number of usages to increas by. |
|
| 700 | + * @return bool |
|
| 701 | + */ |
|
| 702 | + public function increase_usage( $by = 1 ) { |
|
| 703 | + |
|
| 704 | + $this->uses = $this->uses + $by; |
|
| 705 | + |
|
| 706 | + if( $this->uses < 0 ) { |
|
| 707 | + $this->uses = 0; |
|
| 708 | + } |
|
| 709 | + |
|
| 710 | + $this->save(); |
|
| 711 | + |
|
| 712 | + if( $by > 0 ) { |
|
| 713 | + do_action( 'wpinv_discount_increase_use_count', $this->uses, $this->ID, $this->code, $by ); |
|
| 714 | + } else { |
|
| 715 | + do_action( 'wpinv_discount_decrease_use_count', $this->uses, $this->ID, $this->code, absint( $by ) ); |
|
| 716 | + } |
|
| 717 | 717 | |
| 718 | - return $this->uses; |
|
| 719 | - } |
|
| 720 | - |
|
| 721 | - /** |
|
| 722 | - * Retrieves discount data |
|
| 723 | - * |
|
| 724 | - * @since 1.0.14 |
|
| 725 | - * @return array |
|
| 726 | - */ |
|
| 727 | - public function get_data() { |
|
| 728 | - $return = array(); |
|
| 729 | - foreach( array_keys( $this->data ) as $key ) { |
|
| 730 | - $return[ $key ] = $this->$key; |
|
| 731 | - } |
|
| 732 | - return $return; |
|
| 733 | - } |
|
| 734 | - |
|
| 735 | - /** |
|
| 736 | - * Retrieves discount data as json |
|
| 737 | - * |
|
| 738 | - * @since 1.0.14 |
|
| 739 | - * @return string |
|
| 740 | - */ |
|
| 741 | - public function get_data_as_json() { |
|
| 742 | - return wp_json_encode( $this->get_data() ); |
|
| 743 | - } |
|
| 744 | - |
|
| 745 | - /** |
|
| 746 | - * Checks if a discount can only be used once per user. |
|
| 747 | - * |
|
| 748 | - * @since 1.0.14 |
|
| 749 | - * @return bool |
|
| 750 | - */ |
|
| 751 | - public function get_is_single_use() { |
|
| 752 | - return (bool) apply_filters( 'wpinv_is_discount_single_use', $this->data['is_single_use'], $this->ID, $this, $this->code ); |
|
| 753 | - } |
|
| 754 | - |
|
| 755 | - /** |
|
| 756 | - * Checks if a discount is recurring. |
|
| 757 | - * |
|
| 758 | - * @since 1.0.14 |
|
| 759 | - * @return bool |
|
| 760 | - */ |
|
| 761 | - public function get_is_recurring() { |
|
| 762 | - return (bool) apply_filters( 'wpinv_is_discount_recurring', $this->data['is_recurring'], $this->ID, $this->code, $this ); |
|
| 763 | - } |
|
| 764 | - |
|
| 765 | - /** |
|
| 766 | - * Returns a discount's included items. |
|
| 767 | - * |
|
| 768 | - * @since 1.0.14 |
|
| 769 | - * @return array |
|
| 770 | - */ |
|
| 771 | - public function get_items() { |
|
| 772 | - return wpinv_parse_list( apply_filters( 'wpinv_get_discount_item_reqs', $this->data['items'], $this->ID, $this, $this->code ) ); |
|
| 773 | - } |
|
| 774 | - |
|
| 775 | - /** |
|
| 776 | - * Returns a discount's discounted amount. |
|
| 777 | - * |
|
| 778 | - * @since 1.0.14 |
|
| 779 | - * @return float |
|
| 780 | - */ |
|
| 781 | - public function get_discounted_amount( $amount ) { |
|
| 782 | - |
|
| 783 | - if ( $this->type == 'flat' ) { |
|
| 718 | + return $this->uses; |
|
| 719 | + } |
|
| 720 | + |
|
| 721 | + /** |
|
| 722 | + * Retrieves discount data |
|
| 723 | + * |
|
| 724 | + * @since 1.0.14 |
|
| 725 | + * @return array |
|
| 726 | + */ |
|
| 727 | + public function get_data() { |
|
| 728 | + $return = array(); |
|
| 729 | + foreach( array_keys( $this->data ) as $key ) { |
|
| 730 | + $return[ $key ] = $this->$key; |
|
| 731 | + } |
|
| 732 | + return $return; |
|
| 733 | + } |
|
| 734 | + |
|
| 735 | + /** |
|
| 736 | + * Retrieves discount data as json |
|
| 737 | + * |
|
| 738 | + * @since 1.0.14 |
|
| 739 | + * @return string |
|
| 740 | + */ |
|
| 741 | + public function get_data_as_json() { |
|
| 742 | + return wp_json_encode( $this->get_data() ); |
|
| 743 | + } |
|
| 744 | + |
|
| 745 | + /** |
|
| 746 | + * Checks if a discount can only be used once per user. |
|
| 747 | + * |
|
| 748 | + * @since 1.0.14 |
|
| 749 | + * @return bool |
|
| 750 | + */ |
|
| 751 | + public function get_is_single_use() { |
|
| 752 | + return (bool) apply_filters( 'wpinv_is_discount_single_use', $this->data['is_single_use'], $this->ID, $this, $this->code ); |
|
| 753 | + } |
|
| 754 | + |
|
| 755 | + /** |
|
| 756 | + * Checks if a discount is recurring. |
|
| 757 | + * |
|
| 758 | + * @since 1.0.14 |
|
| 759 | + * @return bool |
|
| 760 | + */ |
|
| 761 | + public function get_is_recurring() { |
|
| 762 | + return (bool) apply_filters( 'wpinv_is_discount_recurring', $this->data['is_recurring'], $this->ID, $this->code, $this ); |
|
| 763 | + } |
|
| 764 | + |
|
| 765 | + /** |
|
| 766 | + * Returns a discount's included items. |
|
| 767 | + * |
|
| 768 | + * @since 1.0.14 |
|
| 769 | + * @return array |
|
| 770 | + */ |
|
| 771 | + public function get_items() { |
|
| 772 | + return wpinv_parse_list( apply_filters( 'wpinv_get_discount_item_reqs', $this->data['items'], $this->ID, $this, $this->code ) ); |
|
| 773 | + } |
|
| 774 | + |
|
| 775 | + /** |
|
| 776 | + * Returns a discount's discounted amount. |
|
| 777 | + * |
|
| 778 | + * @since 1.0.14 |
|
| 779 | + * @return float |
|
| 780 | + */ |
|
| 781 | + public function get_discounted_amount( $amount ) { |
|
| 782 | + |
|
| 783 | + if ( $this->type == 'flat' ) { |
|
| 784 | 784 | $amount = $amount - $this->amount; |
| 785 | - } else { |
|
| 785 | + } else { |
|
| 786 | 786 | $amount = $amount - ( $amount * ( $this->amount / 100 ) ); |
| 787 | - } |
|
| 787 | + } |
|
| 788 | 788 | |
| 789 | - if ( $amount < 0 ) { |
|
| 790 | - $amount = 0; |
|
| 791 | - } |
|
| 789 | + if ( $amount < 0 ) { |
|
| 790 | + $amount = 0; |
|
| 791 | + } |
|
| 792 | 792 | |
| 793 | - return apply_filters( 'wpinv_discounted_amount', $amount, $this->ID, $this, $this->code, $this->amount ); |
|
| 794 | - } |
|
| 793 | + return apply_filters( 'wpinv_discounted_amount', $amount, $this->ID, $this, $this->code, $this->amount ); |
|
| 794 | + } |
|
| 795 | 795 | |
| 796 | 796 | } |
@@ -5,7 +5,7 @@ discard block |
||
| 5 | 5 | * @since 1.0.14 |
| 6 | 6 | */ |
| 7 | 7 | |
| 8 | -defined( 'ABSPATH' ) || exit; |
|
| 8 | +defined('ABSPATH') || exit; |
|
| 9 | 9 | |
| 10 | 10 | /** |
| 11 | 11 | * Discount class. |
@@ -45,45 +45,45 @@ discard block |
||
| 45 | 45 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
| 46 | 46 | * @since 1.0.14 |
| 47 | 47 | */ |
| 48 | - public function __construct( $discount = array() ) { |
|
| 48 | + public function __construct($discount = array()) { |
|
| 49 | 49 | |
| 50 | 50 | // If the discount is an instance of this class... |
| 51 | - if ( $discount instanceof WPInv_Discount ) { |
|
| 52 | - $this->init( $discount->data ); |
|
| 51 | + if ($discount instanceof WPInv_Discount) { |
|
| 52 | + $this->init($discount->data); |
|
| 53 | 53 | return; |
| 54 | 54 | } |
| 55 | 55 | |
| 56 | 56 | // If the discount is an array of discount details... |
| 57 | - if ( is_array( $discount ) ) { |
|
| 58 | - $this->init( $discount ); |
|
| 57 | + if (is_array($discount)) { |
|
| 58 | + $this->init($discount); |
|
| 59 | 59 | return; |
| 60 | 60 | } |
| 61 | 61 | |
| 62 | 62 | // Try fetching the discount by its post id. |
| 63 | 63 | $data = false; |
| 64 | 64 | |
| 65 | - if ( ! empty( $discount ) && is_numeric( $discount ) ) { |
|
| 66 | - $discount = absint( $discount ); |
|
| 67 | - $data = self::get_data_by( 'id', $discount ); |
|
| 65 | + if (!empty($discount) && is_numeric($discount)) { |
|
| 66 | + $discount = absint($discount); |
|
| 67 | + $data = self::get_data_by('id', $discount); |
|
| 68 | 68 | } |
| 69 | 69 | |
| 70 | - if ( $data ) { |
|
| 71 | - $this->init( $data ); |
|
| 70 | + if ($data) { |
|
| 71 | + $this->init($data); |
|
| 72 | 72 | return; |
| 73 | 73 | } |
| 74 | 74 | |
| 75 | 75 | // Try fetching the discount by its discount code. |
| 76 | - if ( ! empty( $discount ) && is_string( $discount ) ) { |
|
| 77 | - $data = self::get_data_by( 'discount_code', $discount ); |
|
| 76 | + if (!empty($discount) && is_string($discount)) { |
|
| 77 | + $data = self::get_data_by('discount_code', $discount); |
|
| 78 | 78 | } |
| 79 | 79 | |
| 80 | - if ( $data ) { |
|
| 81 | - $this->init( $data ); |
|
| 80 | + if ($data) { |
|
| 81 | + $this->init($data); |
|
| 82 | 82 | return; |
| 83 | 83 | } |
| 84 | 84 | |
| 85 | 85 | // If we are here then the discount does not exist. |
| 86 | - $this->init( array() ); |
|
| 86 | + $this->init(array()); |
|
| 87 | 87 | } |
| 88 | 88 | |
| 89 | 89 | /** |
@@ -92,8 +92,8 @@ discard block |
||
| 92 | 92 | * @since 1.0.14 |
| 93 | 93 | * @param array $data An array containing the discount's data |
| 94 | 94 | */ |
| 95 | - public function init( $data ) { |
|
| 96 | - $data = self::sanitize_discount_data( $data ); |
|
| 95 | + public function init($data) { |
|
| 96 | + $data = self::sanitize_discount_data($data); |
|
| 97 | 97 | $this->data = $data; |
| 98 | 98 | $this->old_status = $data['status']; |
| 99 | 99 | $this->ID = $data['ID']; |
@@ -111,49 +111,49 @@ discard block |
||
| 111 | 111 | * @since 1.0.14 |
| 112 | 112 | * @return array|false array of discount details on success. False otherwise. |
| 113 | 113 | */ |
| 114 | - public static function get_data_by( $field, $value ) { |
|
| 114 | + public static function get_data_by($field, $value) { |
|
| 115 | 115 | |
| 116 | 116 | // 'ID' is an alias of 'id'. |
| 117 | - if ( 'ID' === $field ) { |
|
| 117 | + if ('ID' === $field) { |
|
| 118 | 118 | $field = 'id'; |
| 119 | 119 | } |
| 120 | 120 | |
| 121 | - if ( 'id' == $field ) { |
|
| 121 | + if ('id' == $field) { |
|
| 122 | 122 | // Make sure the value is numeric to avoid casting objects, for example, |
| 123 | 123 | // to int 1. |
| 124 | - if ( ! is_numeric( $value ) ) |
|
| 124 | + if (!is_numeric($value)) |
|
| 125 | 125 | return false; |
| 126 | - $value = intval( $value ); |
|
| 127 | - if ( $value < 1 ) |
|
| 126 | + $value = intval($value); |
|
| 127 | + if ($value < 1) |
|
| 128 | 128 | return false; |
| 129 | 129 | } else { |
| 130 | - $value = trim( $value ); |
|
| 130 | + $value = trim($value); |
|
| 131 | 131 | } |
| 132 | 132 | |
| 133 | - if ( !$value || ! is_string( $field ) ) |
|
| 133 | + if (!$value || !is_string($field)) |
|
| 134 | 134 | return false; |
| 135 | 135 | |
| 136 | 136 | // prepare query args |
| 137 | - switch ( strtolower( $field ) ) { |
|
| 137 | + switch (strtolower($field)) { |
|
| 138 | 138 | case 'id': |
| 139 | 139 | $discount_id = $value; |
| 140 | - $args = array( 'include' => array( $value ) ); |
|
| 140 | + $args = array('include' => array($value)); |
|
| 141 | 141 | break; |
| 142 | 142 | case 'discount_code': |
| 143 | 143 | case 'code': |
| 144 | - $discount_id = wp_cache_get( $value, 'WPInv_Discount_Codes' ); |
|
| 145 | - $args = array( 'meta_key' => '_wpi_discount_code', 'meta_value' => $value ); |
|
| 144 | + $discount_id = wp_cache_get($value, 'WPInv_Discount_Codes'); |
|
| 145 | + $args = array('meta_key' => '_wpi_discount_code', 'meta_value' => $value); |
|
| 146 | 146 | break; |
| 147 | 147 | case 'name': |
| 148 | 148 | $discount_id = 0; |
| 149 | - $args = array( 'name' => $value ); |
|
| 149 | + $args = array('name' => $value); |
|
| 150 | 150 | break; |
| 151 | 151 | default: |
| 152 | 152 | return false; |
| 153 | 153 | } |
| 154 | 154 | |
| 155 | 155 | // Check if there is a cached value. |
| 156 | - if ( false !== $discount_id && $discount = wp_cache_get( $discount_id, 'WPInv_Discounts' ) ) { |
|
| 156 | + if (false !== $discount_id && $discount = wp_cache_get($discount_id, 'WPInv_Discounts')) { |
|
| 157 | 157 | return $discount; |
| 158 | 158 | } |
| 159 | 159 | |
@@ -162,13 +162,13 @@ discard block |
||
| 162 | 162 | array( |
| 163 | 163 | 'post_type' => 'wpi_discount', |
| 164 | 164 | 'posts_per_page' => 1, |
| 165 | - 'post_status' => array( 'publish', 'pending', 'draft', 'expired' ) |
|
| 165 | + 'post_status' => array('publish', 'pending', 'draft', 'expired') |
|
| 166 | 166 | ) |
| 167 | 167 | ); |
| 168 | 168 | |
| 169 | - $discount = get_posts( $args ); |
|
| 169 | + $discount = get_posts($args); |
|
| 170 | 170 | |
| 171 | - if( empty( $discount ) ) { |
|
| 171 | + if (empty($discount)) { |
|
| 172 | 172 | return false; |
| 173 | 173 | } |
| 174 | 174 | |
@@ -177,31 +177,31 @@ discard block |
||
| 177 | 177 | // Prepare the return data. |
| 178 | 178 | $return = array( |
| 179 | 179 | 'ID' => $discount->ID, |
| 180 | - 'code' => get_post_meta( $discount->ID, '_wpi_discount_code', true ), |
|
| 181 | - 'amount' => get_post_meta( $discount->ID, '_wpi_discount_amount', true ), |
|
| 180 | + 'code' => get_post_meta($discount->ID, '_wpi_discount_code', true), |
|
| 181 | + 'amount' => get_post_meta($discount->ID, '_wpi_discount_amount', true), |
|
| 182 | 182 | 'date_created' => $discount->post_date, |
| 183 | 183 | 'date_modified' => $discount->post_modified, |
| 184 | 184 | 'status' => $discount->post_status, |
| 185 | - 'start' => get_post_meta( $discount->ID, '_wpi_discount_start', true ), |
|
| 186 | - 'expiration' => get_post_meta( $discount->ID, '_wpi_discount_expiration', true ), |
|
| 187 | - 'type' => get_post_meta( $discount->ID, '_wpi_discount_type', true ), |
|
| 185 | + 'start' => get_post_meta($discount->ID, '_wpi_discount_start', true), |
|
| 186 | + 'expiration' => get_post_meta($discount->ID, '_wpi_discount_expiration', true), |
|
| 187 | + 'type' => get_post_meta($discount->ID, '_wpi_discount_type', true), |
|
| 188 | 188 | 'description' => $discount->post_excerpt, |
| 189 | - 'uses' => get_post_meta( $discount->ID, '_wpi_discount_uses', true ), |
|
| 190 | - 'is_single_use' => get_post_meta( $discount->ID, '_wpi_discount_is_single_use', true ), |
|
| 191 | - 'items' => get_post_meta( $discount->ID, '_wpi_discount_items', true ), |
|
| 192 | - 'excluded_items' => get_post_meta( $discount->ID, '_wpi_discount_excluded_items', true ), |
|
| 193 | - 'max_uses' => get_post_meta( $discount->ID, '_wpi_discount_max_uses', true ), |
|
| 194 | - 'is_recurring' => get_post_meta( $discount->ID, '_wpi_discount_is_recurring', true ), |
|
| 195 | - 'min_total' => get_post_meta( $discount->ID, '_wpi_discount_min_total', true ), |
|
| 196 | - 'max_total' => get_post_meta( $discount->ID, '_wpi_discount_max_total', true ), |
|
| 189 | + 'uses' => get_post_meta($discount->ID, '_wpi_discount_uses', true), |
|
| 190 | + 'is_single_use' => get_post_meta($discount->ID, '_wpi_discount_is_single_use', true), |
|
| 191 | + 'items' => get_post_meta($discount->ID, '_wpi_discount_items', true), |
|
| 192 | + 'excluded_items' => get_post_meta($discount->ID, '_wpi_discount_excluded_items', true), |
|
| 193 | + 'max_uses' => get_post_meta($discount->ID, '_wpi_discount_max_uses', true), |
|
| 194 | + 'is_recurring' => get_post_meta($discount->ID, '_wpi_discount_is_recurring', true), |
|
| 195 | + 'min_total' => get_post_meta($discount->ID, '_wpi_discount_min_total', true), |
|
| 196 | + 'max_total' => get_post_meta($discount->ID, '_wpi_discount_max_total', true), |
|
| 197 | 197 | ); |
| 198 | 198 | |
| 199 | - $return = self::sanitize_discount_data( $return ); |
|
| 200 | - $return = apply_filters( 'wpinv_discount_properties', $return ); |
|
| 199 | + $return = self::sanitize_discount_data($return); |
|
| 200 | + $return = apply_filters('wpinv_discount_properties', $return); |
|
| 201 | 201 | |
| 202 | 202 | // Update the cache with our data |
| 203 | - wp_cache_add( $discount->ID, $return, 'WPInv_Discounts' ); |
|
| 204 | - wp_cache_add( $return['code'], $discount->ID, 'WPInv_Discount_Codes' ); |
|
| 203 | + wp_cache_add($discount->ID, $return, 'WPInv_Discounts'); |
|
| 204 | + wp_cache_add($return['code'], $discount->ID, 'WPInv_Discount_Codes'); |
|
| 205 | 205 | |
| 206 | 206 | return $return; |
| 207 | 207 | } |
@@ -215,9 +215,9 @@ discard block |
||
| 215 | 215 | * |
| 216 | 216 | * @return array the sanitized data |
| 217 | 217 | */ |
| 218 | - public static function sanitize_discount_data( $data ) { |
|
| 218 | + public static function sanitize_discount_data($data) { |
|
| 219 | 219 | |
| 220 | - $allowed_discount_types = array_keys( wpinv_get_discount_types() ); |
|
| 220 | + $allowed_discount_types = array_keys(wpinv_get_discount_types()); |
|
| 221 | 221 | |
| 222 | 222 | $return = array( |
| 223 | 223 | 'ID' => null, |
@@ -242,60 +242,60 @@ discard block |
||
| 242 | 242 | |
| 243 | 243 | |
| 244 | 244 | // Arrays only please. |
| 245 | - if (! is_array( $data ) ) { |
|
| 245 | + if (!is_array($data)) { |
|
| 246 | 246 | return $return; |
| 247 | 247 | } |
| 248 | 248 | |
| 249 | 249 | // If an id is provided, ensure it is a valid discount. |
| 250 | - if (! empty( $data['ID'] ) && is_numeric( $data['ID'] ) && 'wpi_discount' !== get_post_type( $data['ID'] ) ) { |
|
| 250 | + if (!empty($data['ID']) && is_numeric($data['ID']) && 'wpi_discount' !== get_post_type($data['ID'])) { |
|
| 251 | 251 | return $return; |
| 252 | 252 | } |
| 253 | 253 | |
| 254 | - $return = wp_parse_args( $data, $return ); |
|
| 254 | + $return = wp_parse_args($data, $return); |
|
| 255 | 255 | |
| 256 | 256 | // Sanitize some keys. |
| 257 | - $return['amount'] = wpinv_sanitize_amount( $return['amount'] ); |
|
| 257 | + $return['amount'] = wpinv_sanitize_amount($return['amount']); |
|
| 258 | 258 | $return['is_single_use'] = (bool) $return['is_single_use']; |
| 259 | 259 | $return['is_recurring'] = (bool) $return['is_recurring']; |
| 260 | 260 | $return['uses'] = (int) $return['uses']; |
| 261 | 261 | $return['max_uses'] = (int) $return['max_uses']; |
| 262 | - $return['min_total'] = wpinv_sanitize_amount( $return['min_total'] ); |
|
| 263 | - $return['max_total'] = wpinv_sanitize_amount( $return['max_total'] ); |
|
| 262 | + $return['min_total'] = wpinv_sanitize_amount($return['min_total']); |
|
| 263 | + $return['max_total'] = wpinv_sanitize_amount($return['max_total']); |
|
| 264 | 264 | |
| 265 | 265 | // Trim all values. |
| 266 | - $return = wpinv_clean( $return ); |
|
| 266 | + $return = wpinv_clean($return); |
|
| 267 | 267 | |
| 268 | 268 | // Ensure the discount type is supported. |
| 269 | - if ( ! in_array( $return['type'], $allowed_discount_types, true ) ) { |
|
| 269 | + if (!in_array($return['type'], $allowed_discount_types, true)) { |
|
| 270 | 270 | $return['type'] = 'percent'; |
| 271 | 271 | } |
| 272 | - $return['type_name'] = wpinv_get_discount_type_name( $return['type'] ); |
|
| 272 | + $return['type_name'] = wpinv_get_discount_type_name($return['type']); |
|
| 273 | 273 | |
| 274 | 274 | // Do not offer more than a 100% discount. |
| 275 | - if ( $return['type'] == 'percent' && (float) $return['amount'] > 100 ) { |
|
| 275 | + if ($return['type'] == 'percent' && (float) $return['amount'] > 100) { |
|
| 276 | 276 | $return['amount'] = 100; |
| 277 | 277 | } |
| 278 | 278 | |
| 279 | 279 | // Format dates. |
| 280 | - foreach( wpinv_parse_list( 'date_created date_modified expiration start') as $prop ) { |
|
| 281 | - if( ! empty( $return[$prop] ) ) { |
|
| 282 | - $return[$prop] = date_i18n( 'Y-m-d H:i:s', strtotime( $return[$prop] ) ); |
|
| 280 | + foreach (wpinv_parse_list('date_created date_modified expiration start') as $prop) { |
|
| 281 | + if (!empty($return[$prop])) { |
|
| 282 | + $return[$prop] = date_i18n('Y-m-d H:i:s', strtotime($return[$prop])); |
|
| 283 | 283 | } |
| 284 | 284 | } |
| 285 | 285 | |
| 286 | 286 | // Formart items. |
| 287 | - foreach( wpinv_parse_list( 'excluded_items items') as $prop ) { |
|
| 287 | + foreach (wpinv_parse_list('excluded_items items') as $prop) { |
|
| 288 | 288 | |
| 289 | - if( ! empty( $return[$prop] ) ) { |
|
| 289 | + if (!empty($return[$prop])) { |
|
| 290 | 290 | // Ensure that the property is an array of non-empty integers. |
| 291 | - $return[$prop] = array_filter( array_map( 'intval', wpinv_parse_list( $return[$prop] ) ) ); |
|
| 291 | + $return[$prop] = array_filter(array_map('intval', wpinv_parse_list($return[$prop]))); |
|
| 292 | 292 | } else { |
| 293 | 293 | $return[$prop] = array(); |
| 294 | 294 | } |
| 295 | 295 | |
| 296 | 296 | } |
| 297 | 297 | |
| 298 | - return apply_filters( 'sanitize_discount_data', $return, $data ); |
|
| 298 | + return apply_filters('sanitize_discount_data', $return, $data); |
|
| 299 | 299 | } |
| 300 | 300 | |
| 301 | 301 | /** |
@@ -306,8 +306,8 @@ discard block |
||
| 306 | 306 | * |
| 307 | 307 | * @return bool Whether the given discount field is set. |
| 308 | 308 | */ |
| 309 | - public function __isset( $key ){ |
|
| 310 | - return isset( $this->data[$key] ); |
|
| 309 | + public function __isset($key) { |
|
| 310 | + return isset($this->data[$key]); |
|
| 311 | 311 | } |
| 312 | 312 | |
| 313 | 313 | /** |
@@ -319,21 +319,21 @@ discard block |
||
| 319 | 319 | * @param string $key Discount data to retrieve |
| 320 | 320 | * @return mixed Value of the given discount property (if set). |
| 321 | 321 | */ |
| 322 | - public function __get( $key ) { |
|
| 322 | + public function __get($key) { |
|
| 323 | 323 | |
| 324 | - if ( $key == 'id' ) { |
|
| 324 | + if ($key == 'id') { |
|
| 325 | 325 | $key = 'ID'; |
| 326 | 326 | } |
| 327 | 327 | |
| 328 | - if( method_exists( $this, "get_$key") ) { |
|
| 329 | - $value = call_user_func( array( $this, "get_$key" ) ); |
|
| 330 | - } else if( isset( $this->data[$key] ) ) { |
|
| 328 | + if (method_exists($this, "get_$key")) { |
|
| 329 | + $value = call_user_func(array($this, "get_$key")); |
|
| 330 | + } else if (isset($this->data[$key])) { |
|
| 331 | 331 | $value = $this->data[$key]; |
| 332 | 332 | } else { |
| 333 | 333 | $value = null; |
| 334 | 334 | } |
| 335 | 335 | |
| 336 | - return apply_filters( "wpinv_get_discount_{$key}", $value, $this->ID, $this, $this->data['code'], $this->data ); |
|
| 336 | + return apply_filters("wpinv_get_discount_{$key}", $value, $this->ID, $this, $this->data['code'], $this->data); |
|
| 337 | 337 | |
| 338 | 338 | } |
| 339 | 339 | |
@@ -346,9 +346,9 @@ discard block |
||
| 346 | 346 | * @access public |
| 347 | 347 | * |
| 348 | 348 | */ |
| 349 | - public function __set( $key, $value ) { |
|
| 349 | + public function __set($key, $value) { |
|
| 350 | 350 | |
| 351 | - if ( 'id' == strtolower( $key ) ) { |
|
| 351 | + if ('id' == strtolower($key)) { |
|
| 352 | 352 | |
| 353 | 353 | $this->ID = $value; |
| 354 | 354 | $this->data['ID'] = $value; |
@@ -356,7 +356,7 @@ discard block |
||
| 356 | 356 | |
| 357 | 357 | } |
| 358 | 358 | |
| 359 | - $value = apply_filters( "wpinv_set_discount_{$key}", $value, $this->ID, $this, $this->code, $this->data ); |
|
| 359 | + $value = apply_filters("wpinv_set_discount_{$key}", $value, $this->ID, $this, $this->code, $this->data); |
|
| 360 | 360 | $this->data[$key] = $value; |
| 361 | 361 | |
| 362 | 362 | } |
@@ -369,56 +369,56 @@ discard block |
||
| 369 | 369 | * @return bool |
| 370 | 370 | * |
| 371 | 371 | */ |
| 372 | - public function save(){ |
|
| 372 | + public function save() { |
|
| 373 | 373 | |
| 374 | - $data = self::sanitize_discount_data( $this->data ); |
|
| 374 | + $data = self::sanitize_discount_data($this->data); |
|
| 375 | 375 | |
| 376 | 376 | // Should we create a new post? |
| 377 | - if(! $data[ 'ID' ] ) { |
|
| 377 | + if (!$data['ID']) { |
|
| 378 | 378 | |
| 379 | - $id = wp_insert_post( array( |
|
| 379 | + $id = wp_insert_post(array( |
|
| 380 | 380 | 'post_status' => $data['status'], |
| 381 | 381 | 'post_type' => 'wpi_discount', |
| 382 | 382 | 'post_excerpt' => $data['description'], |
| 383 | - ) ); |
|
| 383 | + )); |
|
| 384 | 384 | |
| 385 | - if( empty( $id ) ) { |
|
| 385 | + if (empty($id)) { |
|
| 386 | 386 | return false; |
| 387 | 387 | } |
| 388 | 388 | |
| 389 | - $data[ 'ID' ] = $id; |
|
| 389 | + $data['ID'] = $id; |
|
| 390 | 390 | $this->ID = $id; |
| 391 | 391 | $this->data['ID'] = $id; |
| 392 | 392 | |
| 393 | 393 | } else { |
| 394 | - $this->update_status( $data['post_status'] ); |
|
| 394 | + $this->update_status($data['post_status']); |
|
| 395 | 395 | } |
| 396 | 396 | |
| 397 | - $meta = apply_filters( 'wpinv_update_discount', $data, $this->ID, $this ); |
|
| 397 | + $meta = apply_filters('wpinv_update_discount', $data, $this->ID, $this); |
|
| 398 | 398 | |
| 399 | - do_action( 'wpinv_pre_update_discount', $meta, $this->ID, $this ); |
|
| 399 | + do_action('wpinv_pre_update_discount', $meta, $this->ID, $this); |
|
| 400 | 400 | |
| 401 | - foreach( wpinv_parse_list( 'ID date_created date_modified status description type_name' ) as $prop ) { |
|
| 402 | - unset( $meta[$prop] ); |
|
| 401 | + foreach (wpinv_parse_list('ID date_created date_modified status description type_name') as $prop) { |
|
| 402 | + unset($meta[$prop]); |
|
| 403 | 403 | } |
| 404 | 404 | |
| 405 | - if( empty( $meta['uses'] ) ) { |
|
| 406 | - unset( $meta['uses'] ); |
|
| 405 | + if (empty($meta['uses'])) { |
|
| 406 | + unset($meta['uses']); |
|
| 407 | 407 | } |
| 408 | 408 | |
| 409 | 409 | // Save the metadata |
| 410 | - foreach( $meta as $key => $value ) { |
|
| 411 | - update_post_meta( $this->ID, "_wpi_discount_$key", $value ); |
|
| 410 | + foreach ($meta as $key => $value) { |
|
| 411 | + update_post_meta($this->ID, "_wpi_discount_$key", $value); |
|
| 412 | 412 | } |
| 413 | 413 | |
| 414 | 414 | // Empty the cache for this discount. |
| 415 | - wp_cache_delete( $this->ID, 'WPInv_Discounts' ); |
|
| 416 | - wp_cache_delete( $data['code'], 'WPInv_Discount_Codes' ); |
|
| 415 | + wp_cache_delete($this->ID, 'WPInv_Discounts'); |
|
| 416 | + wp_cache_delete($data['code'], 'WPInv_Discount_Codes'); |
|
| 417 | 417 | |
| 418 | - do_action( 'wpinv_post_update_discount', $meta, $this->ID, $this ); |
|
| 418 | + do_action('wpinv_post_update_discount', $meta, $this->ID, $this); |
|
| 419 | 419 | |
| 420 | - $data = self::get_data_by( 'id', $this->ID ); |
|
| 421 | - $this->init( $data ); |
|
| 420 | + $data = self::get_data_by('id', $this->ID); |
|
| 421 | + $this->init($data); |
|
| 422 | 422 | |
| 423 | 423 | return true; |
| 424 | 424 | } |
@@ -431,17 +431,17 @@ discard block |
||
| 431 | 431 | * @return bool |
| 432 | 432 | * |
| 433 | 433 | */ |
| 434 | - public function update_status( $status = 'publish' ){ |
|
| 434 | + public function update_status($status = 'publish') { |
|
| 435 | 435 | |
| 436 | 436 | |
| 437 | - if( $this->exists() && $this->old_status != $status ) { |
|
| 437 | + if ($this->exists() && $this->old_status != $status) { |
|
| 438 | 438 | |
| 439 | - do_action( 'wpinv_pre_update_discount_status', $this->ID, $this->old_status, $status ); |
|
| 440 | - $updated = wp_update_post( array( 'ID' => $this->ID, 'post_status' => $status ) ); |
|
| 441 | - do_action( 'wpinv_post_update_discount_status', $this->ID, $this->old_status, $status ); |
|
| 439 | + do_action('wpinv_pre_update_discount_status', $this->ID, $this->old_status, $status); |
|
| 440 | + $updated = wp_update_post(array('ID' => $this->ID, 'post_status' => $status)); |
|
| 441 | + do_action('wpinv_post_update_discount_status', $this->ID, $this->old_status, $status); |
|
| 442 | 442 | |
| 443 | - wp_cache_delete( $this->ID, 'WPInv_Discounts' ); |
|
| 444 | - wp_cache_delete( $this->code, 'WPInv_Discount_Codes' ); |
|
| 443 | + wp_cache_delete($this->ID, 'WPInv_Discounts'); |
|
| 444 | + wp_cache_delete($this->code, 'WPInv_Discount_Codes'); |
|
| 445 | 445 | |
| 446 | 446 | return $updated !== 0; |
| 447 | 447 | |
@@ -456,8 +456,8 @@ discard block |
||
| 456 | 456 | * |
| 457 | 457 | * @since 1.0.14 |
| 458 | 458 | */ |
| 459 | - public function exists(){ |
|
| 460 | - return ! empty( $this->ID ); |
|
| 459 | + public function exists() { |
|
| 460 | + return !empty($this->ID); |
|
| 461 | 461 | } |
| 462 | 462 | |
| 463 | 463 | // Boolean methods |
@@ -470,7 +470,7 @@ discard block |
||
| 470 | 470 | * @since 1.0.14 |
| 471 | 471 | * @return bool |
| 472 | 472 | */ |
| 473 | - public function is_type( $type ) { |
|
| 473 | + public function is_type($type) { |
|
| 474 | 474 | return $this->type == $type; |
| 475 | 475 | } |
| 476 | 476 | |
@@ -491,12 +491,12 @@ discard block |
||
| 491 | 491 | * @return bool |
| 492 | 492 | */ |
| 493 | 493 | public function has_exceeded_limit() { |
| 494 | - if( empty( $this->max_uses ) || empty( $this->uses ) ) { |
|
| 495 | - return false ; |
|
| 494 | + if (empty($this->max_uses) || empty($this->uses)) { |
|
| 495 | + return false; |
|
| 496 | 496 | } |
| 497 | 497 | |
| 498 | - $exceeded = $this->uses >= $this->max_uses; |
|
| 499 | - return apply_filters( 'wpinv_is_discount_maxed_out', $exceeded, $this->ID, $this, $this->code ); |
|
| 498 | + $exceeded = $this->uses >= $this->max_uses; |
|
| 499 | + return apply_filters('wpinv_is_discount_maxed_out', $exceeded, $this->ID, $this, $this->code); |
|
| 500 | 500 | } |
| 501 | 501 | |
| 502 | 502 | /** |
@@ -506,8 +506,8 @@ discard block |
||
| 506 | 506 | * @return bool |
| 507 | 507 | */ |
| 508 | 508 | public function is_expired() { |
| 509 | - $expired = empty ( $this->expires ) ? false : current_time( 'timestamp' ) > strtotime( $this->expires ); |
|
| 510 | - return apply_filters( 'wpinv_is_discount_expired', $expired, $this->ID, $this, $this->code ); |
|
| 509 | + $expired = empty ($this->expires) ? false : current_time('timestamp') > strtotime($this->expires); |
|
| 510 | + return apply_filters('wpinv_is_discount_expired', $expired, $this->ID, $this, $this->code); |
|
| 511 | 511 | } |
| 512 | 512 | |
| 513 | 513 | /** |
@@ -517,8 +517,8 @@ discard block |
||
| 517 | 517 | * @return bool |
| 518 | 518 | */ |
| 519 | 519 | public function has_started() { |
| 520 | - $started = empty ( $this->start ) ? true : current_time( 'timestamp' ) > strtotime( $this->start ); |
|
| 521 | - return apply_filters( 'wpinv_is_discount_started', $started, $this->ID, $this, $this->code ); |
|
| 520 | + $started = empty ($this->start) ? true : current_time('timestamp') > strtotime($this->start); |
|
| 521 | + return apply_filters('wpinv_is_discount_started', $started, $this->ID, $this, $this->code); |
|
| 522 | 522 | } |
| 523 | 523 | |
| 524 | 524 | /** |
@@ -528,17 +528,17 @@ discard block |
||
| 528 | 528 | * @since 1.0.14 |
| 529 | 529 | * @return boolean |
| 530 | 530 | */ |
| 531 | - public function is_valid_for_items( $item_ids ) { |
|
| 531 | + public function is_valid_for_items($item_ids) { |
|
| 532 | 532 | |
| 533 | - $item_ids = wpinv_parse_list( $item_ids ); |
|
| 534 | - $included = array_intersect( $item_ids, $this->items ); |
|
| 535 | - $excluded = array_intersect( $item_ids, $this->excluded_items ); |
|
| 533 | + $item_ids = wpinv_parse_list($item_ids); |
|
| 534 | + $included = array_intersect($item_ids, $this->items); |
|
| 535 | + $excluded = array_intersect($item_ids, $this->excluded_items); |
|
| 536 | 536 | |
| 537 | - if( ! empty( $this->excluded_items ) && ! empty( $excluded ) ) { |
|
| 537 | + if (!empty($this->excluded_items) && !empty($excluded)) { |
|
| 538 | 538 | return false; |
| 539 | 539 | } |
| 540 | 540 | |
| 541 | - if( ! empty( $this->included_items ) && empty( $included ) ) { |
|
| 541 | + if (!empty($this->included_items) && empty($included)) { |
|
| 542 | 542 | return false; |
| 543 | 543 | } |
| 544 | 544 | return true; |
@@ -551,22 +551,22 @@ discard block |
||
| 551 | 551 | * @since 1.0.14 |
| 552 | 552 | * @return boolean |
| 553 | 553 | */ |
| 554 | - public function is_valid_for_amount( $amount ) { |
|
| 554 | + public function is_valid_for_amount($amount) { |
|
| 555 | 555 | |
| 556 | 556 | // Amount passed is not valid; |
| 557 | - if(! is_numeric ( $amount ) ) { |
|
| 557 | + if (!is_numeric($amount)) { |
|
| 558 | 558 | return false; |
| 559 | 559 | } |
| 560 | 560 | |
| 561 | - $amount = floatval( $amount ); |
|
| 561 | + $amount = floatval($amount); |
|
| 562 | 562 | |
| 563 | 563 | // check if it meets the minimum amount valid. |
| 564 | - if( $this->min_total > 0 && $amount < $this->min_total ) { |
|
| 564 | + if ($this->min_total > 0 && $amount < $this->min_total) { |
|
| 565 | 565 | return false; |
| 566 | 566 | } |
| 567 | 567 | |
| 568 | 568 | // check if it meets the maximum amount valid. |
| 569 | - if( $this->max_total > 0 && $amount > $this->max_total ) { |
|
| 569 | + if ($this->max_total > 0 && $amount > $this->max_total) { |
|
| 570 | 570 | return false; |
| 571 | 571 | } |
| 572 | 572 | |
@@ -580,16 +580,16 @@ discard block |
||
| 580 | 580 | * @since 1.0.14 |
| 581 | 581 | * @return boolean |
| 582 | 582 | */ |
| 583 | - public function is_minimum_amount_met( $amount ) { |
|
| 583 | + public function is_minimum_amount_met($amount) { |
|
| 584 | 584 | |
| 585 | 585 | // Amount passed is not valid; |
| 586 | - if(! is_numeric ( $amount ) ) { |
|
| 586 | + if (!is_numeric($amount)) { |
|
| 587 | 587 | return false; |
| 588 | 588 | } |
| 589 | 589 | |
| 590 | - $amount = floatval( $amount ); |
|
| 591 | - $min_met= ! ( $this->min_total > 0 && $amount < $this->min_total ); |
|
| 592 | - return apply_filters( 'wpinv_is_discount_min_met', $min_met, $this->ID, $this, $this->code, $amount ); |
|
| 590 | + $amount = floatval($amount); |
|
| 591 | + $min_met = !($this->min_total > 0 && $amount < $this->min_total); |
|
| 592 | + return apply_filters('wpinv_is_discount_min_met', $min_met, $this->ID, $this, $this->code, $amount); |
|
| 593 | 593 | } |
| 594 | 594 | |
| 595 | 595 | /** |
@@ -599,16 +599,16 @@ discard block |
||
| 599 | 599 | * @since 1.0.14 |
| 600 | 600 | * @return boolean |
| 601 | 601 | */ |
| 602 | - public function is_maximum_amount_met( $amount ) { |
|
| 602 | + public function is_maximum_amount_met($amount) { |
|
| 603 | 603 | |
| 604 | 604 | // Amount passed is not valid; |
| 605 | - if(! is_numeric ( $amount ) ) { |
|
| 605 | + if (!is_numeric($amount)) { |
|
| 606 | 606 | return false; |
| 607 | 607 | } |
| 608 | 608 | |
| 609 | - $amount = floatval( $amount ); |
|
| 610 | - $max_met= ! ( $this->max_total > 0 && $amount > $this->max_total ); |
|
| 611 | - return apply_filters( 'wpinv_is_discount_max_met', $max_met, $this->ID, $this, $this->code, $amount ); |
|
| 609 | + $amount = floatval($amount); |
|
| 610 | + $max_met = !($this->max_total > 0 && $amount > $this->max_total); |
|
| 611 | + return apply_filters('wpinv_is_discount_max_met', $max_met, $this->ID, $this, $this->code, $amount); |
|
| 612 | 612 | } |
| 613 | 613 | |
| 614 | 614 | /** |
@@ -618,50 +618,50 @@ discard block |
||
| 618 | 618 | * @since 1.0.14 |
| 619 | 619 | * @return boolean |
| 620 | 620 | */ |
| 621 | - public function is_valid_for_user( $user ) { |
|
| 621 | + public function is_valid_for_user($user) { |
|
| 622 | 622 | global $wpi_checkout_id; |
| 623 | 623 | |
| 624 | - if( empty( $user ) || empty( $this->is_single_use ) ) { |
|
| 624 | + if (empty($user) || empty($this->is_single_use)) { |
|
| 625 | 625 | return true; |
| 626 | 626 | } |
| 627 | 627 | |
| 628 | 628 | $user_id = 0; |
| 629 | - if ( is_int( $user ) ) { |
|
| 630 | - $user_id = absint( $user ); |
|
| 631 | - } else if ( is_email( $user ) && $user_data = get_user_by( 'email', $user ) ) { |
|
| 629 | + if (is_int($user)) { |
|
| 630 | + $user_id = absint($user); |
|
| 631 | + } else if (is_email($user) && $user_data = get_user_by('email', $user)) { |
|
| 632 | 632 | $user_id = $user_data->ID; |
| 633 | - } else if ( $user_data = get_user_by( 'login', $user ) ) { |
|
| 633 | + } else if ($user_data = get_user_by('login', $user)) { |
|
| 634 | 634 | $user_id = $user_data->ID; |
| 635 | - } else if ( absint( $user ) > 0 ) { |
|
| 636 | - $user_id = absint( $user ); |
|
| 635 | + } else if (absint($user) > 0) { |
|
| 636 | + $user_id = absint($user); |
|
| 637 | 637 | } |
| 638 | 638 | |
| 639 | - if( empty( $user_id ) ) { |
|
| 639 | + if (empty($user_id)) { |
|
| 640 | 640 | return true; |
| 641 | 641 | } |
| 642 | 642 | |
| 643 | 643 | // Get all payments with matching user id |
| 644 | - $payments = wpinv_get_invoices( array( 'user' => $user_id, 'limit' => false ) ); |
|
| 645 | - $code = strtolower( $this->code ); |
|
| 644 | + $payments = wpinv_get_invoices(array('user' => $user_id, 'limit' => false)); |
|
| 645 | + $code = strtolower($this->code); |
|
| 646 | 646 | |
| 647 | - foreach ( $payments as $payment ) { |
|
| 647 | + foreach ($payments as $payment) { |
|
| 648 | 648 | |
| 649 | 649 | // Don't count discount used for current invoice checkout. |
| 650 | - if ( !empty( $wpi_checkout_id ) && $wpi_checkout_id == $payment->ID ) { |
|
| 650 | + if (!empty($wpi_checkout_id) && $wpi_checkout_id == $payment->ID) { |
|
| 651 | 651 | continue; |
| 652 | 652 | } |
| 653 | 653 | |
| 654 | - if ( $payment->has_status( array( 'wpi-cancelled', 'wpi-failed' ) ) ) { |
|
| 654 | + if ($payment->has_status(array('wpi-cancelled', 'wpi-failed'))) { |
|
| 655 | 655 | continue; |
| 656 | 656 | } |
| 657 | 657 | |
| 658 | - $discounts = $payment->get_discounts( true ); |
|
| 659 | - if ( empty( $discounts ) ) { |
|
| 658 | + $discounts = $payment->get_discounts(true); |
|
| 659 | + if (empty($discounts)) { |
|
| 660 | 660 | continue; |
| 661 | 661 | } |
| 662 | 662 | |
| 663 | - $discounts = array_map( 'strtolower', wpinv_parse_list( $discounts ) ); |
|
| 664 | - if ( ! empty( $discounts ) && in_array( $code, $discounts ) ) { |
|
| 663 | + $discounts = array_map('strtolower', wpinv_parse_list($discounts)); |
|
| 664 | + if (!empty($discounts) && in_array($code, $discounts)) { |
|
| 665 | 665 | return false; |
| 666 | 666 | } |
| 667 | 667 | } |
@@ -677,15 +677,15 @@ discard block |
||
| 677 | 677 | */ |
| 678 | 678 | public function remove() { |
| 679 | 679 | |
| 680 | - if( empty( $this->ID ) ) { |
|
| 680 | + if (empty($this->ID)) { |
|
| 681 | 681 | return true; |
| 682 | 682 | } |
| 683 | 683 | |
| 684 | - do_action( 'wpinv_pre_delete_discount', $this->ID ); |
|
| 685 | - wp_cache_delete( $this->ID, 'WPInv_Discounts' ); |
|
| 686 | - wp_delete_post( $this->ID, true ); |
|
| 687 | - wp_cache_delete( $this->code, 'WPInv_Discount_Codes' ); |
|
| 688 | - do_action( 'wpinv_post_delete_discount', $this->ID ); |
|
| 684 | + do_action('wpinv_pre_delete_discount', $this->ID); |
|
| 685 | + wp_cache_delete($this->ID, 'WPInv_Discounts'); |
|
| 686 | + wp_delete_post($this->ID, true); |
|
| 687 | + wp_cache_delete($this->code, 'WPInv_Discount_Codes'); |
|
| 688 | + do_action('wpinv_post_delete_discount', $this->ID); |
|
| 689 | 689 | |
| 690 | 690 | $this->ID = null; |
| 691 | 691 | $this->data['id'] = null; |
@@ -699,20 +699,20 @@ discard block |
||
| 699 | 699 | * @param int $by The number of usages to increas by. |
| 700 | 700 | * @return bool |
| 701 | 701 | */ |
| 702 | - public function increase_usage( $by = 1 ) { |
|
| 702 | + public function increase_usage($by = 1) { |
|
| 703 | 703 | |
| 704 | 704 | $this->uses = $this->uses + $by; |
| 705 | 705 | |
| 706 | - if( $this->uses < 0 ) { |
|
| 706 | + if ($this->uses < 0) { |
|
| 707 | 707 | $this->uses = 0; |
| 708 | 708 | } |
| 709 | 709 | |
| 710 | 710 | $this->save(); |
| 711 | 711 | |
| 712 | - if( $by > 0 ) { |
|
| 713 | - do_action( 'wpinv_discount_increase_use_count', $this->uses, $this->ID, $this->code, $by ); |
|
| 712 | + if ($by > 0) { |
|
| 713 | + do_action('wpinv_discount_increase_use_count', $this->uses, $this->ID, $this->code, $by); |
|
| 714 | 714 | } else { |
| 715 | - do_action( 'wpinv_discount_decrease_use_count', $this->uses, $this->ID, $this->code, absint( $by ) ); |
|
| 715 | + do_action('wpinv_discount_decrease_use_count', $this->uses, $this->ID, $this->code, absint($by)); |
|
| 716 | 716 | } |
| 717 | 717 | |
| 718 | 718 | return $this->uses; |
@@ -726,8 +726,8 @@ discard block |
||
| 726 | 726 | */ |
| 727 | 727 | public function get_data() { |
| 728 | 728 | $return = array(); |
| 729 | - foreach( array_keys( $this->data ) as $key ) { |
|
| 730 | - $return[ $key ] = $this->$key; |
|
| 729 | + foreach (array_keys($this->data) as $key) { |
|
| 730 | + $return[$key] = $this->$key; |
|
| 731 | 731 | } |
| 732 | 732 | return $return; |
| 733 | 733 | } |
@@ -739,7 +739,7 @@ discard block |
||
| 739 | 739 | * @return string |
| 740 | 740 | */ |
| 741 | 741 | public function get_data_as_json() { |
| 742 | - return wp_json_encode( $this->get_data() ); |
|
| 742 | + return wp_json_encode($this->get_data()); |
|
| 743 | 743 | } |
| 744 | 744 | |
| 745 | 745 | /** |
@@ -749,7 +749,7 @@ discard block |
||
| 749 | 749 | * @return bool |
| 750 | 750 | */ |
| 751 | 751 | public function get_is_single_use() { |
| 752 | - return (bool) apply_filters( 'wpinv_is_discount_single_use', $this->data['is_single_use'], $this->ID, $this, $this->code ); |
|
| 752 | + return (bool) apply_filters('wpinv_is_discount_single_use', $this->data['is_single_use'], $this->ID, $this, $this->code); |
|
| 753 | 753 | } |
| 754 | 754 | |
| 755 | 755 | /** |
@@ -759,7 +759,7 @@ discard block |
||
| 759 | 759 | * @return bool |
| 760 | 760 | */ |
| 761 | 761 | public function get_is_recurring() { |
| 762 | - return (bool) apply_filters( 'wpinv_is_discount_recurring', $this->data['is_recurring'], $this->ID, $this->code, $this ); |
|
| 762 | + return (bool) apply_filters('wpinv_is_discount_recurring', $this->data['is_recurring'], $this->ID, $this->code, $this); |
|
| 763 | 763 | } |
| 764 | 764 | |
| 765 | 765 | /** |
@@ -769,7 +769,7 @@ discard block |
||
| 769 | 769 | * @return array |
| 770 | 770 | */ |
| 771 | 771 | public function get_items() { |
| 772 | - return wpinv_parse_list( apply_filters( 'wpinv_get_discount_item_reqs', $this->data['items'], $this->ID, $this, $this->code ) ); |
|
| 772 | + return wpinv_parse_list(apply_filters('wpinv_get_discount_item_reqs', $this->data['items'], $this->ID, $this, $this->code)); |
|
| 773 | 773 | } |
| 774 | 774 | |
| 775 | 775 | /** |
@@ -778,19 +778,19 @@ discard block |
||
| 778 | 778 | * @since 1.0.14 |
| 779 | 779 | * @return float |
| 780 | 780 | */ |
| 781 | - public function get_discounted_amount( $amount ) { |
|
| 781 | + public function get_discounted_amount($amount) { |
|
| 782 | 782 | |
| 783 | - if ( $this->type == 'flat' ) { |
|
| 783 | + if ($this->type == 'flat') { |
|
| 784 | 784 | $amount = $amount - $this->amount; |
| 785 | 785 | } else { |
| 786 | - $amount = $amount - ( $amount * ( $this->amount / 100 ) ); |
|
| 786 | + $amount = $amount - ($amount * ($this->amount / 100)); |
|
| 787 | 787 | } |
| 788 | 788 | |
| 789 | - if ( $amount < 0 ) { |
|
| 789 | + if ($amount < 0) { |
|
| 790 | 790 | $amount = 0; |
| 791 | 791 | } |
| 792 | 792 | |
| 793 | - return apply_filters( 'wpinv_discounted_amount', $amount, $this->ID, $this, $this->code, $this->amount ); |
|
| 793 | + return apply_filters('wpinv_discounted_amount', $amount, $this->ID, $this, $this->code, $this->amount); |
|
| 794 | 794 | } |
| 795 | 795 | |
| 796 | 796 | } |
@@ -700,7 +700,7 @@ discard block |
||
| 700 | 700 | } |
| 701 | 701 | |
| 702 | 702 | function wpinv_get_php_arg_separator_output() { |
| 703 | - return ini_get( 'arg_separator.output' ); |
|
| 703 | + return ini_get( 'arg_separator.output' ); |
|
| 704 | 704 | } |
| 705 | 705 | |
| 706 | 706 | function wpinv_rgb_from_hex( $color ) { |
@@ -1038,11 +1038,11 @@ discard block |
||
| 1038 | 1038 | * @return array Sanitized array of values. |
| 1039 | 1039 | */ |
| 1040 | 1040 | function wpinv_parse_list( $list ) { |
| 1041 | - if ( ! is_array( $list ) ) { |
|
| 1042 | - return preg_split( '/[\s,]+/', $list, -1, PREG_SPLIT_NO_EMPTY ); |
|
| 1043 | - } |
|
| 1041 | + if ( ! is_array( $list ) ) { |
|
| 1042 | + return preg_split( '/[\s,]+/', $list, -1, PREG_SPLIT_NO_EMPTY ); |
|
| 1043 | + } |
|
| 1044 | 1044 | |
| 1045 | - return $list; |
|
| 1045 | + return $list; |
|
| 1046 | 1046 | } |
| 1047 | 1047 | |
| 1048 | 1048 | /** |
@@ -1053,17 +1053,17 @@ discard block |
||
| 1053 | 1053 | */ |
| 1054 | 1054 | function wpinv_clean( $var ) { |
| 1055 | 1055 | |
| 1056 | - if ( is_array( $var ) ) { |
|
| 1057 | - return array_map( 'wpinv_clean', $var ); |
|
| 1056 | + if ( is_array( $var ) ) { |
|
| 1057 | + return array_map( 'wpinv_clean', $var ); |
|
| 1058 | 1058 | } |
| 1059 | 1059 | |
| 1060 | 1060 | if ( is_object( $var ) ) { |
| 1061 | - $object_vars = get_object_vars( $var ); |
|
| 1062 | - foreach ( $object_vars as $property_name => $property_value ) { |
|
| 1063 | - $var->$property_name = wpinv_clean( $property_value ); |
|
| 1061 | + $object_vars = get_object_vars( $var ); |
|
| 1062 | + foreach ( $object_vars as $property_name => $property_value ) { |
|
| 1063 | + $var->$property_name = wpinv_clean( $property_value ); |
|
| 1064 | 1064 | } |
| 1065 | 1065 | return $var; |
| 1066 | - } |
|
| 1066 | + } |
|
| 1067 | 1067 | |
| 1068 | 1068 | return is_string( $var ) ? sanitize_text_field( $var ) : $var; |
| 1069 | 1069 | } |
| 1070 | 1070 | \ No newline at end of file |
@@ -7,132 +7,132 @@ 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_item_quantities_enabled() { |
| 15 | - $ret = wpinv_get_option( 'item_quantities', true ); |
|
| 15 | + $ret = wpinv_get_option('item_quantities', true); |
|
| 16 | 16 | |
| 17 | - return (bool) apply_filters( 'wpinv_item_quantities_enabled', $ret ); |
|
| 17 | + return (bool) apply_filters('wpinv_item_quantities_enabled', $ret); |
|
| 18 | 18 | } |
| 19 | 19 | |
| 20 | 20 | function wpinv_get_ip() { |
| 21 | 21 | $ip = '127.0.0.1'; |
| 22 | 22 | |
| 23 | - if ( !empty( $_SERVER['HTTP_CLIENT_IP'] ) ) { |
|
| 24 | - $ip = sanitize_text_field( $_SERVER['HTTP_CLIENT_IP'] ); |
|
| 25 | - } elseif ( !empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { |
|
| 26 | - $ip = sanitize_text_field( $_SERVER['HTTP_X_FORWARDED_FOR'] ); |
|
| 27 | - } elseif( !empty( $_SERVER['REMOTE_ADDR'] ) ) { |
|
| 28 | - $ip = sanitize_text_field( $_SERVER['REMOTE_ADDR'] ); |
|
| 23 | + if (!empty($_SERVER['HTTP_CLIENT_IP'])) { |
|
| 24 | + $ip = sanitize_text_field($_SERVER['HTTP_CLIENT_IP']); |
|
| 25 | + } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { |
|
| 26 | + $ip = sanitize_text_field($_SERVER['HTTP_X_FORWARDED_FOR']); |
|
| 27 | + } elseif (!empty($_SERVER['REMOTE_ADDR'])) { |
|
| 28 | + $ip = sanitize_text_field($_SERVER['REMOTE_ADDR']); |
|
| 29 | 29 | } |
| 30 | 30 | |
| 31 | - return apply_filters( 'wpinv_get_ip', $ip ); |
|
| 31 | + return apply_filters('wpinv_get_ip', $ip); |
|
| 32 | 32 | } |
| 33 | 33 | |
| 34 | 34 | function wpinv_get_user_agent() { |
| 35 | - if ( ! empty( $_SERVER['HTTP_USER_AGENT'] ) ) { |
|
| 36 | - $user_agent = sanitize_text_field( $_SERVER['HTTP_USER_AGENT'] ); |
|
| 35 | + if (!empty($_SERVER['HTTP_USER_AGENT'])) { |
|
| 36 | + $user_agent = sanitize_text_field($_SERVER['HTTP_USER_AGENT']); |
|
| 37 | 37 | } else { |
| 38 | 38 | $user_agent = ''; |
| 39 | 39 | } |
| 40 | 40 | |
| 41 | - return apply_filters( 'wpinv_get_user_agent', $user_agent ); |
|
| 41 | + return apply_filters('wpinv_get_user_agent', $user_agent); |
|
| 42 | 42 | } |
| 43 | 43 | |
| 44 | -function wpinv_sanitize_amount( $amount, $decimals = NULL ) { |
|
| 44 | +function wpinv_sanitize_amount($amount, $decimals = NULL) { |
|
| 45 | 45 | $is_negative = false; |
| 46 | 46 | $thousands_sep = wpinv_thousands_separator(); |
| 47 | 47 | $decimal_sep = wpinv_decimal_separator(); |
| 48 | - if ( $decimals === NULL ) { |
|
| 48 | + if ($decimals === NULL) { |
|
| 49 | 49 | $decimals = wpinv_decimals(); |
| 50 | 50 | } |
| 51 | 51 | |
| 52 | 52 | // Sanitize the amount |
| 53 | - if ( $decimal_sep == ',' && false !== ( $found = strpos( $amount, $decimal_sep ) ) ) { |
|
| 54 | - if ( ( $thousands_sep == '.' || $thousands_sep == ' ' ) && false !== ( $found = strpos( $amount, $thousands_sep ) ) ) { |
|
| 55 | - $amount = str_replace( $thousands_sep, '', $amount ); |
|
| 56 | - } elseif( empty( $thousands_sep ) && false !== ( $found = strpos( $amount, '.' ) ) ) { |
|
| 57 | - $amount = str_replace( '.', '', $amount ); |
|
| 53 | + if ($decimal_sep == ',' && false !== ($found = strpos($amount, $decimal_sep))) { |
|
| 54 | + if (($thousands_sep == '.' || $thousands_sep == ' ') && false !== ($found = strpos($amount, $thousands_sep))) { |
|
| 55 | + $amount = str_replace($thousands_sep, '', $amount); |
|
| 56 | + } elseif (empty($thousands_sep) && false !== ($found = strpos($amount, '.'))) { |
|
| 57 | + $amount = str_replace('.', '', $amount); |
|
| 58 | 58 | } |
| 59 | 59 | |
| 60 | - $amount = str_replace( $decimal_sep, '.', $amount ); |
|
| 61 | - } elseif( $thousands_sep == ',' && false !== ( $found = strpos( $amount, $thousands_sep ) ) ) { |
|
| 62 | - $amount = str_replace( $thousands_sep, '', $amount ); |
|
| 60 | + $amount = str_replace($decimal_sep, '.', $amount); |
|
| 61 | + } elseif ($thousands_sep == ',' && false !== ($found = strpos($amount, $thousands_sep))) { |
|
| 62 | + $amount = str_replace($thousands_sep, '', $amount); |
|
| 63 | 63 | } |
| 64 | 64 | |
| 65 | - if( $amount < 0 ) { |
|
| 65 | + if ($amount < 0) { |
|
| 66 | 66 | $is_negative = true; |
| 67 | 67 | } |
| 68 | 68 | |
| 69 | - $amount = preg_replace( '/[^0-9\.]/', '', $amount ); |
|
| 69 | + $amount = preg_replace('/[^0-9\.]/', '', $amount); |
|
| 70 | 70 | |
| 71 | - $decimals = apply_filters( 'wpinv_sanitize_amount_decimals', absint( $decimals ), $amount ); |
|
| 72 | - $amount = number_format( (double) $amount, absint( $decimals ), '.', '' ); |
|
| 71 | + $decimals = apply_filters('wpinv_sanitize_amount_decimals', absint($decimals), $amount); |
|
| 72 | + $amount = number_format((double) $amount, absint($decimals), '.', ''); |
|
| 73 | 73 | |
| 74 | - if( $is_negative ) { |
|
| 74 | + if ($is_negative) { |
|
| 75 | 75 | $amount *= -1; |
| 76 | 76 | } |
| 77 | 77 | |
| 78 | - return apply_filters( 'wpinv_sanitize_amount', $amount, $decimals ); |
|
| 78 | + return apply_filters('wpinv_sanitize_amount', $amount, $decimals); |
|
| 79 | 79 | } |
| 80 | -add_filter( 'wpinv_sanitize_amount_decimals', 'wpinv_currency_decimal_filter', 10, 1 ); |
|
| 80 | +add_filter('wpinv_sanitize_amount_decimals', 'wpinv_currency_decimal_filter', 10, 1); |
|
| 81 | 81 | |
| 82 | -function wpinv_round_amount( $amount, $decimals = NULL ) { |
|
| 83 | - if ( $decimals === NULL ) { |
|
| 82 | +function wpinv_round_amount($amount, $decimals = NULL) { |
|
| 83 | + if ($decimals === NULL) { |
|
| 84 | 84 | $decimals = wpinv_decimals(); |
| 85 | 85 | } |
| 86 | 86 | |
| 87 | - $amount = round( (double)$amount, wpinv_currency_decimal_filter( absint( $decimals ) ) ); |
|
| 87 | + $amount = round((double) $amount, wpinv_currency_decimal_filter(absint($decimals))); |
|
| 88 | 88 | |
| 89 | - return apply_filters( 'wpinv_round_amount', $amount, $decimals ); |
|
| 89 | + return apply_filters('wpinv_round_amount', $amount, $decimals); |
|
| 90 | 90 | } |
| 91 | 91 | |
| 92 | -function wpinv_get_invoice_statuses( $draft = false, $trashed = false, $invoice = false ) { |
|
| 92 | +function wpinv_get_invoice_statuses($draft = false, $trashed = false, $invoice = false) { |
|
| 93 | 93 | global $post; |
| 94 | 94 | |
| 95 | 95 | $invoice_statuses = array( |
| 96 | - 'wpi-pending' => __( 'Pending Payment', 'invoicing' ), |
|
| 97 | - 'publish' => __( 'Paid', 'invoicing'), |
|
| 98 | - 'wpi-processing' => __( 'Processing', 'invoicing' ), |
|
| 99 | - 'wpi-onhold' => __( 'On Hold', 'invoicing' ), |
|
| 100 | - 'wpi-refunded' => __( 'Refunded', 'invoicing' ), |
|
| 101 | - 'wpi-cancelled' => __( 'Cancelled', 'invoicing' ), |
|
| 102 | - 'wpi-failed' => __( 'Failed', 'invoicing' ), |
|
| 103 | - 'wpi-renewal' => __( 'Renewal Payment', 'invoicing' ) |
|
| 96 | + 'wpi-pending' => __('Pending Payment', 'invoicing'), |
|
| 97 | + 'publish' => __('Paid', 'invoicing'), |
|
| 98 | + 'wpi-processing' => __('Processing', 'invoicing'), |
|
| 99 | + 'wpi-onhold' => __('On Hold', 'invoicing'), |
|
| 100 | + 'wpi-refunded' => __('Refunded', 'invoicing'), |
|
| 101 | + 'wpi-cancelled' => __('Cancelled', 'invoicing'), |
|
| 102 | + 'wpi-failed' => __('Failed', 'invoicing'), |
|
| 103 | + 'wpi-renewal' => __('Renewal Payment', 'invoicing') |
|
| 104 | 104 | ); |
| 105 | 105 | |
| 106 | - if ( $draft ) { |
|
| 107 | - $invoice_statuses['draft'] = __( 'Draft', 'invoicing' ); |
|
| 106 | + if ($draft) { |
|
| 107 | + $invoice_statuses['draft'] = __('Draft', 'invoicing'); |
|
| 108 | 108 | } |
| 109 | 109 | |
| 110 | - if ( $trashed ) { |
|
| 111 | - $invoice_statuses['trash'] = __( 'Trash', 'invoicing' ); |
|
| 110 | + if ($trashed) { |
|
| 111 | + $invoice_statuses['trash'] = __('Trash', 'invoicing'); |
|
| 112 | 112 | } |
| 113 | 113 | |
| 114 | - return apply_filters( 'wpinv_statuses', $invoice_statuses, $invoice ); |
|
| 114 | + return apply_filters('wpinv_statuses', $invoice_statuses, $invoice); |
|
| 115 | 115 | } |
| 116 | 116 | |
| 117 | -function wpinv_status_nicename( $status ) { |
|
| 118 | - $statuses = wpinv_get_invoice_statuses( true, true ); |
|
| 119 | - $status = isset( $statuses[$status] ) ? $statuses[$status] : __( $status, 'invoicing' ); |
|
| 117 | +function wpinv_status_nicename($status) { |
|
| 118 | + $statuses = wpinv_get_invoice_statuses(true, true); |
|
| 119 | + $status = isset($statuses[$status]) ? $statuses[$status] : __($status, 'invoicing'); |
|
| 120 | 120 | |
| 121 | 121 | return $status; |
| 122 | 122 | } |
| 123 | 123 | |
| 124 | 124 | function wpinv_get_currency() { |
| 125 | - $currency = wpinv_get_option( 'currency', 'USD' ); |
|
| 125 | + $currency = wpinv_get_option('currency', 'USD'); |
|
| 126 | 126 | |
| 127 | - return apply_filters( 'wpinv_currency', $currency ); |
|
| 127 | + return apply_filters('wpinv_currency', $currency); |
|
| 128 | 128 | } |
| 129 | 129 | |
| 130 | -function wpinv_currency_symbol( $currency = '' ) { |
|
| 131 | - if ( empty( $currency ) ) { |
|
| 130 | +function wpinv_currency_symbol($currency = '') { |
|
| 131 | + if (empty($currency)) { |
|
| 132 | 132 | $currency = wpinv_get_currency(); |
| 133 | 133 | } |
| 134 | 134 | |
| 135 | - $symbols = apply_filters( 'wpinv_currency_symbols', array( |
|
| 135 | + $symbols = apply_filters('wpinv_currency_symbols', array( |
|
| 136 | 136 | 'AED' => 'د.إ', |
| 137 | 137 | 'AFN' => '؋', |
| 138 | 138 | 'ALL' => 'L', |
@@ -295,209 +295,209 @@ discard block |
||
| 295 | 295 | 'YER' => '﷼', |
| 296 | 296 | 'ZAR' => 'R', |
| 297 | 297 | 'ZMW' => 'ZK', |
| 298 | - ) ); |
|
| 298 | + )); |
|
| 299 | 299 | |
| 300 | - $currency_symbol = isset( $symbols[$currency] ) ? $symbols[$currency] : $currency; |
|
| 300 | + $currency_symbol = isset($symbols[$currency]) ? $symbols[$currency] : $currency; |
|
| 301 | 301 | |
| 302 | - return apply_filters( 'wpinv_currency_symbol', $currency_symbol, $currency ); |
|
| 302 | + return apply_filters('wpinv_currency_symbol', $currency_symbol, $currency); |
|
| 303 | 303 | } |
| 304 | 304 | |
| 305 | 305 | function wpinv_currency_position() { |
| 306 | - $position = wpinv_get_option( 'currency_position', 'left' ); |
|
| 306 | + $position = wpinv_get_option('currency_position', 'left'); |
|
| 307 | 307 | |
| 308 | - return apply_filters( 'wpinv_currency_position', $position ); |
|
| 308 | + return apply_filters('wpinv_currency_position', $position); |
|
| 309 | 309 | } |
| 310 | 310 | |
| 311 | 311 | function wpinv_thousands_separator() { |
| 312 | - $thousand_sep = wpinv_get_option( 'thousands_separator', ',' ); |
|
| 312 | + $thousand_sep = wpinv_get_option('thousands_separator', ','); |
|
| 313 | 313 | |
| 314 | - return apply_filters( 'wpinv_thousands_separator', $thousand_sep ); |
|
| 314 | + return apply_filters('wpinv_thousands_separator', $thousand_sep); |
|
| 315 | 315 | } |
| 316 | 316 | |
| 317 | 317 | function wpinv_decimal_separator() { |
| 318 | - $decimal_sep = wpinv_get_option( 'decimal_separator', '.' ); |
|
| 318 | + $decimal_sep = wpinv_get_option('decimal_separator', '.'); |
|
| 319 | 319 | |
| 320 | - return apply_filters( 'wpinv_decimal_separator', $decimal_sep ); |
|
| 320 | + return apply_filters('wpinv_decimal_separator', $decimal_sep); |
|
| 321 | 321 | } |
| 322 | 322 | |
| 323 | 323 | function wpinv_decimals() { |
| 324 | - $decimals = apply_filters( 'wpinv_decimals', wpinv_get_option( 'decimals', 2 ) ); |
|
| 324 | + $decimals = apply_filters('wpinv_decimals', wpinv_get_option('decimals', 2)); |
|
| 325 | 325 | |
| 326 | - return absint( $decimals ); |
|
| 326 | + return absint($decimals); |
|
| 327 | 327 | } |
| 328 | 328 | |
| 329 | 329 | function wpinv_get_currencies() { |
| 330 | 330 | $currencies = array( |
| 331 | - 'USD' => __( 'US Dollar', 'invoicing' ), |
|
| 332 | - 'EUR' => __( 'Euro', 'invoicing' ), |
|
| 333 | - 'GBP' => __( 'Pound Sterling', 'invoicing' ), |
|
| 334 | - 'AED' => __( 'United Arab Emirates', 'invoicing' ), |
|
| 335 | - 'AFN' => __( 'Afghan Afghani', 'invoicing' ), |
|
| 336 | - 'ALL' => __( 'Albanian Lek', 'invoicing' ), |
|
| 337 | - 'AMD' => __( 'Armenian Dram', 'invoicing' ), |
|
| 338 | - 'ANG' => __( 'Netherlands Antillean Guilder', 'invoicing' ), |
|
| 339 | - 'AOA' => __( 'Angolan Kwanza', 'invoicing' ), |
|
| 340 | - 'ARS' => __( 'Argentine Peso', 'invoicing' ), |
|
| 341 | - 'AUD' => __( 'Australian Dollar', 'invoicing' ), |
|
| 342 | - 'AWG' => __( 'Aruban Florin', 'invoicing' ), |
|
| 343 | - 'AZN' => __( 'Azerbaijani Manat', 'invoicing' ), |
|
| 344 | - 'BAM' => __( 'Bosnia and Herzegovina Convertible Marka', 'invoicing' ), |
|
| 345 | - 'BBD' => __( 'Barbadian Dollar', 'invoicing' ), |
|
| 346 | - 'BDT' => __( 'Bangladeshi Taka', 'invoicing' ), |
|
| 347 | - 'BGN' => __( 'Bulgarian Lev', 'invoicing' ), |
|
| 348 | - 'BHD' => __( 'Bahraini Dinar', 'invoicing' ), |
|
| 349 | - 'BIF' => __( 'Burundian Franc', 'invoicing' ), |
|
| 350 | - 'BMD' => __( 'Bermudian Dollar', 'invoicing' ), |
|
| 351 | - 'BND' => __( 'Brunei Dollar', 'invoicing' ), |
|
| 352 | - 'BOB' => __( 'Bolivian Boliviano', 'invoicing' ), |
|
| 353 | - 'BRL' => __( 'Brazilian Real', 'invoicing' ), |
|
| 354 | - 'BSD' => __( 'Bahamian Dollar', 'invoicing' ), |
|
| 355 | - 'BTC' => __( 'Bitcoin', 'invoicing' ), |
|
| 356 | - 'BTN' => __( 'Bhutanese Ngultrum', 'invoicing' ), |
|
| 357 | - 'BWP' => __( 'Botswana Pula', 'invoicing' ), |
|
| 358 | - 'BYN' => __( 'Belarusian Ruble', 'invoicing' ), |
|
| 359 | - 'BZD' => __( 'Belize Dollar', 'invoicing' ), |
|
| 360 | - 'CAD' => __( 'Canadian Dollar', 'invoicing' ), |
|
| 361 | - 'CDF' => __( 'Congolese Franc', 'invoicing' ), |
|
| 362 | - 'CHF' => __( 'Swiss Franc', 'invoicing' ), |
|
| 363 | - 'CLP' => __( 'Chilean Peso', 'invoicing' ), |
|
| 364 | - 'CNY' => __( 'Chinese Yuan', 'invoicing' ), |
|
| 365 | - 'COP' => __( 'Colombian Peso', 'invoicing' ), |
|
| 366 | - 'CRC' => __( 'Costa Rican Colon', 'invoicing' ), |
|
| 367 | - 'CUC' => __( 'Cuban Convertible Peso', 'invoicing' ), |
|
| 368 | - 'CUP' => __( 'Cuban Peso', 'invoicing' ), |
|
| 369 | - 'CVE' => __( 'Cape Verdean escudo', 'invoicing' ), |
|
| 370 | - 'CZK' => __( 'Czech Koruna', 'invoicing' ), |
|
| 371 | - 'DJF' => __( 'Djiboutian Franc', 'invoicing' ), |
|
| 372 | - 'DKK' => __( 'Danish Krone', 'invoicing' ), |
|
| 373 | - 'DOP' => __( 'Dominican Peso', 'invoicing' ), |
|
| 374 | - 'DZD' => __( 'Algerian Dinar', 'invoicing' ), |
|
| 375 | - 'EGP' => __( 'Egyptian Pound', 'invoicing' ), |
|
| 376 | - 'ERN' => __( 'Eritrean Nakfa', 'invoicing' ), |
|
| 377 | - 'ETB' => __( 'Ethiopian Irr', 'invoicing' ), |
|
| 378 | - 'FJD' => __( 'Fijian Dollar', 'invoicing' ), |
|
| 379 | - 'FKP' => __( 'Falkland Islands Pound', 'invoicing' ), |
|
| 380 | - 'GEL' => __( 'Georgian Lari', 'invoicing' ), |
|
| 381 | - 'GGP' => __( 'Guernsey Pound', 'invoicing' ), |
|
| 382 | - 'GHS' => __( 'Ghana Cedi', 'invoicing' ), |
|
| 383 | - 'GIP' => __( 'Gibraltar Pound', 'invoicing' ), |
|
| 384 | - 'GMD' => __( 'Gambian Dalasi', 'invoicing' ), |
|
| 385 | - 'GNF' => __( 'Guinean Franc', 'invoicing' ), |
|
| 386 | - 'GTQ' => __( 'Guatemalan Quetzal', 'invoicing' ), |
|
| 387 | - 'GYD' => __( 'Guyanese Dollar', 'invoicing' ), |
|
| 388 | - 'HKD' => __( 'Hong Kong Dollar', 'invoicing' ), |
|
| 389 | - 'HNL' => __( 'Honduran Lempira', 'invoicing' ), |
|
| 390 | - 'HRK' => __( 'Croatian Kuna', 'invoicing' ), |
|
| 391 | - 'HTG' => __( 'Haitian Gourde', 'invoicing' ), |
|
| 392 | - 'HUF' => __( 'Hungarian Forint', 'invoicing' ), |
|
| 393 | - 'IDR' => __( 'Indonesian Rupiah', 'invoicing' ), |
|
| 394 | - 'ILS' => __( 'Israeli New Shekel', 'invoicing' ), |
|
| 395 | - 'IMP' => __( 'Manx Pound', 'invoicing' ), |
|
| 396 | - 'INR' => __( 'Indian Rupee', 'invoicing' ), |
|
| 397 | - 'IQD' => __( 'Iraqi Dinar', 'invoicing' ), |
|
| 398 | - 'IRR' => __( 'Iranian Rial', 'invoicing' ), |
|
| 399 | - 'IRT' => __( 'Iranian Toman', 'invoicing' ), |
|
| 400 | - 'ISK' => __( 'Icelandic Krona', 'invoicing' ), |
|
| 401 | - 'JEP' => __( 'Jersey Pound', 'invoicing' ), |
|
| 402 | - 'JMD' => __( 'Jamaican Dollar', 'invoicing' ), |
|
| 403 | - 'JOD' => __( 'Jordanian Dinar', 'invoicing' ), |
|
| 404 | - 'JPY' => __( 'Japanese Yen', 'invoicing' ), |
|
| 405 | - 'KES' => __( 'Kenyan Shilling', 'invoicing' ), |
|
| 406 | - 'KGS' => __( 'Kyrgyzstani Som', 'invoicing' ), |
|
| 407 | - 'KHR' => __( 'Cambodian Riel', 'invoicing' ), |
|
| 408 | - 'KMF' => __( 'Comorian Franc', 'invoicing' ), |
|
| 409 | - 'KPW' => __( 'North Korean Won', 'invoicing' ), |
|
| 410 | - 'KRW' => __( 'South Korean Won', 'invoicing' ), |
|
| 411 | - 'KWD' => __( 'Kuwaiti Dinar', 'invoicing' ), |
|
| 412 | - 'KYD' => __( 'Cayman Islands Dollar', 'invoicing' ), |
|
| 413 | - 'KZT' => __( 'Kazakhstani Tenge', 'invoicing' ), |
|
| 414 | - 'LAK' => __( 'Lao Kip', 'invoicing' ), |
|
| 415 | - 'LBP' => __( 'Lebanese Pound', 'invoicing' ), |
|
| 416 | - 'LKR' => __( 'Sri Lankan Rupee', 'invoicing' ), |
|
| 417 | - 'LRD' => __( 'Liberian Dollar', 'invoicing' ), |
|
| 418 | - 'LSL' => __( 'Lesotho Loti', 'invoicing' ), |
|
| 419 | - 'LYD' => __( 'Libyan Dinar', 'invoicing' ), |
|
| 420 | - 'MAD' => __( 'Moroccan Dirham', 'invoicing' ), |
|
| 421 | - 'MDL' => __( 'Moldovan Leu', 'invoicing' ), |
|
| 422 | - 'MGA' => __( 'Malagasy Ariary', 'invoicing' ), |
|
| 423 | - 'MKD' => __( 'Macedonian Denar', 'invoicing' ), |
|
| 424 | - 'MMK' => __( 'Burmese Kyat', 'invoicing' ), |
|
| 425 | - 'MNT' => __( 'Mongolian Tughrik', 'invoicing' ), |
|
| 426 | - 'MOP' => __( 'Macanese Pataca', 'invoicing' ), |
|
| 427 | - 'MRO' => __( 'Mauritanian Ouguiya', 'invoicing' ), |
|
| 428 | - 'MUR' => __( 'Mauritian Rupee', 'invoicing' ), |
|
| 429 | - 'MVR' => __( 'Maldivian Rufiyaa', 'invoicing' ), |
|
| 430 | - 'MWK' => __( 'Malawian Kwacha', 'invoicing' ), |
|
| 431 | - 'MXN' => __( 'Mexican Peso', 'invoicing' ), |
|
| 432 | - 'MYR' => __( 'Malaysian Ringgit', 'invoicing' ), |
|
| 433 | - 'MZN' => __( 'Mozambican Metical', 'invoicing' ), |
|
| 434 | - 'NAD' => __( 'Namibian Dollar', 'invoicing' ), |
|
| 435 | - 'NGN' => __( 'Nigerian Naira', 'invoicing' ), |
|
| 436 | - 'NIO' => __( 'Nicaraguan Cordoba', 'invoicing' ), |
|
| 437 | - 'NOK' => __( 'Norwegian Krone', 'invoicing' ), |
|
| 438 | - 'NPR' => __( 'Nepalese Rupee', 'invoicing' ), |
|
| 439 | - 'NZD' => __( 'New Zealand Dollar', 'invoicing' ), |
|
| 440 | - 'OMR' => __( 'Omani Rial', 'invoicing' ), |
|
| 441 | - 'PAB' => __( 'Panamanian Balboa', 'invoicing' ), |
|
| 442 | - 'PEN' => __( 'Peruvian Nuevo Sol', 'invoicing' ), |
|
| 443 | - 'PGK' => __( 'Papua New Guinean Kina', 'invoicing' ), |
|
| 444 | - 'PHP' => __( 'Philippine Peso', 'invoicing' ), |
|
| 445 | - 'PKR' => __( 'Pakistani Rupee', 'invoicing' ), |
|
| 446 | - 'PLN' => __( 'Polish Zloty', 'invoicing' ), |
|
| 447 | - 'PRB' => __( 'Transnistrian Ruble', 'invoicing' ), |
|
| 448 | - 'PYG' => __( 'Paraguayan Guarani', 'invoicing' ), |
|
| 449 | - 'QAR' => __( 'Qatari Riyal', 'invoicing' ), |
|
| 450 | - 'RON' => __( 'Romanian Leu', 'invoicing' ), |
|
| 451 | - 'RSD' => __( 'Serbian Dinar', 'invoicing' ), |
|
| 452 | - 'RUB' => __( 'Russian Ruble', 'invoicing' ), |
|
| 453 | - 'RWF' => __( 'Rwandan Franc', 'invoicing' ), |
|
| 454 | - 'SAR' => __( 'Saudi Riyal', 'invoicing' ), |
|
| 455 | - 'SBD' => __( 'Solomon Islands Dollar', 'invoicing' ), |
|
| 456 | - 'SCR' => __( 'Seychellois Rupee', 'invoicing' ), |
|
| 457 | - 'SDG' => __( 'Sudanese Pound', 'invoicing' ), |
|
| 458 | - 'SEK' => __( 'Swedish Krona', 'invoicing' ), |
|
| 459 | - 'SGD' => __( 'Singapore Dollar', 'invoicing' ), |
|
| 460 | - 'SHP' => __( 'Saint Helena Pound', 'invoicing' ), |
|
| 461 | - 'SLL' => __( 'Sierra Leonean Leone', 'invoicing' ), |
|
| 462 | - 'SOS' => __( 'Somali Shilling', 'invoicing' ), |
|
| 463 | - 'SRD' => __( 'Surinamese Dollar', 'invoicing' ), |
|
| 464 | - 'SSP' => __( 'South Sudanese Pound', 'invoicing' ), |
|
| 465 | - 'STD' => __( 'Sao Tomean Dobra', 'invoicing' ), |
|
| 466 | - 'SYP' => __( 'Syrian Pound', 'invoicing' ), |
|
| 467 | - 'SZL' => __( 'Swazi Lilangeni', 'invoicing' ), |
|
| 468 | - 'THB' => __( 'Thai Baht', 'invoicing' ), |
|
| 469 | - 'TJS' => __( 'Tajikistani Somoni', 'invoicing' ), |
|
| 470 | - 'TMT' => __( 'Turkmenistan Manat', 'invoicing' ), |
|
| 471 | - 'TND' => __( 'Tunisian Dinar', 'invoicing' ), |
|
| 472 | - 'TOP' => __( 'Tongan Paʻanga', 'invoicing' ), |
|
| 473 | - 'TRY' => __( 'Turkish Lira', 'invoicing' ), |
|
| 474 | - 'TTD' => __( 'Trinidad and Tobago Dollar', 'invoicing' ), |
|
| 475 | - 'TWD' => __( 'New Taiwan Dollar', 'invoicing' ), |
|
| 476 | - 'TZS' => __( 'Tanzanian Shilling', 'invoicing' ), |
|
| 477 | - 'UAH' => __( 'Ukrainian Hryvnia', 'invoicing' ), |
|
| 478 | - 'UGX' => __( 'Ugandan Shilling', 'invoicing' ), |
|
| 479 | - 'UYU' => __( 'Uruguayan Peso', 'invoicing' ), |
|
| 480 | - 'UZS' => __( 'Uzbekistani Som', 'invoicing' ), |
|
| 481 | - 'VEF' => __( 'Venezuelan Bolívar', 'invoicing' ), |
|
| 482 | - 'VND' => __( 'Vietnamese Dong', 'invoicing' ), |
|
| 483 | - 'VUV' => __( 'Vanuatu Vatu', 'invoicing' ), |
|
| 484 | - 'WST' => __( 'Samoan Tala', 'invoicing' ), |
|
| 485 | - 'XAF' => __( 'Central African CFA Franc', 'invoicing' ), |
|
| 486 | - 'XCD' => __( 'East Caribbean Dollar', 'invoicing' ), |
|
| 487 | - 'XOF' => __( 'West African CFA Franc', 'invoicing' ), |
|
| 488 | - 'XPF' => __( 'CFP Franc', 'invoicing' ), |
|
| 489 | - 'YER' => __( 'Yemeni Rial', 'invoicing' ), |
|
| 490 | - 'ZAR' => __( 'South African Rand', 'invoicing' ), |
|
| 491 | - 'ZMW' => __( 'Zambian Kwacha', 'invoicing' ), |
|
| 331 | + 'USD' => __('US Dollar', 'invoicing'), |
|
| 332 | + 'EUR' => __('Euro', 'invoicing'), |
|
| 333 | + 'GBP' => __('Pound Sterling', 'invoicing'), |
|
| 334 | + 'AED' => __('United Arab Emirates', 'invoicing'), |
|
| 335 | + 'AFN' => __('Afghan Afghani', 'invoicing'), |
|
| 336 | + 'ALL' => __('Albanian Lek', 'invoicing'), |
|
| 337 | + 'AMD' => __('Armenian Dram', 'invoicing'), |
|
| 338 | + 'ANG' => __('Netherlands Antillean Guilder', 'invoicing'), |
|
| 339 | + 'AOA' => __('Angolan Kwanza', 'invoicing'), |
|
| 340 | + 'ARS' => __('Argentine Peso', 'invoicing'), |
|
| 341 | + 'AUD' => __('Australian Dollar', 'invoicing'), |
|
| 342 | + 'AWG' => __('Aruban Florin', 'invoicing'), |
|
| 343 | + 'AZN' => __('Azerbaijani Manat', 'invoicing'), |
|
| 344 | + 'BAM' => __('Bosnia and Herzegovina Convertible Marka', 'invoicing'), |
|
| 345 | + 'BBD' => __('Barbadian Dollar', 'invoicing'), |
|
| 346 | + 'BDT' => __('Bangladeshi Taka', 'invoicing'), |
|
| 347 | + 'BGN' => __('Bulgarian Lev', 'invoicing'), |
|
| 348 | + 'BHD' => __('Bahraini Dinar', 'invoicing'), |
|
| 349 | + 'BIF' => __('Burundian Franc', 'invoicing'), |
|
| 350 | + 'BMD' => __('Bermudian Dollar', 'invoicing'), |
|
| 351 | + 'BND' => __('Brunei Dollar', 'invoicing'), |
|
| 352 | + 'BOB' => __('Bolivian Boliviano', 'invoicing'), |
|
| 353 | + 'BRL' => __('Brazilian Real', 'invoicing'), |
|
| 354 | + 'BSD' => __('Bahamian Dollar', 'invoicing'), |
|
| 355 | + 'BTC' => __('Bitcoin', 'invoicing'), |
|
| 356 | + 'BTN' => __('Bhutanese Ngultrum', 'invoicing'), |
|
| 357 | + 'BWP' => __('Botswana Pula', 'invoicing'), |
|
| 358 | + 'BYN' => __('Belarusian Ruble', 'invoicing'), |
|
| 359 | + 'BZD' => __('Belize Dollar', 'invoicing'), |
|
| 360 | + 'CAD' => __('Canadian Dollar', 'invoicing'), |
|
| 361 | + 'CDF' => __('Congolese Franc', 'invoicing'), |
|
| 362 | + 'CHF' => __('Swiss Franc', 'invoicing'), |
|
| 363 | + 'CLP' => __('Chilean Peso', 'invoicing'), |
|
| 364 | + 'CNY' => __('Chinese Yuan', 'invoicing'), |
|
| 365 | + 'COP' => __('Colombian Peso', 'invoicing'), |
|
| 366 | + 'CRC' => __('Costa Rican Colon', 'invoicing'), |
|
| 367 | + 'CUC' => __('Cuban Convertible Peso', 'invoicing'), |
|
| 368 | + 'CUP' => __('Cuban Peso', 'invoicing'), |
|
| 369 | + 'CVE' => __('Cape Verdean escudo', 'invoicing'), |
|
| 370 | + 'CZK' => __('Czech Koruna', 'invoicing'), |
|
| 371 | + 'DJF' => __('Djiboutian Franc', 'invoicing'), |
|
| 372 | + 'DKK' => __('Danish Krone', 'invoicing'), |
|
| 373 | + 'DOP' => __('Dominican Peso', 'invoicing'), |
|
| 374 | + 'DZD' => __('Algerian Dinar', 'invoicing'), |
|
| 375 | + 'EGP' => __('Egyptian Pound', 'invoicing'), |
|
| 376 | + 'ERN' => __('Eritrean Nakfa', 'invoicing'), |
|
| 377 | + 'ETB' => __('Ethiopian Irr', 'invoicing'), |
|
| 378 | + 'FJD' => __('Fijian Dollar', 'invoicing'), |
|
| 379 | + 'FKP' => __('Falkland Islands Pound', 'invoicing'), |
|
| 380 | + 'GEL' => __('Georgian Lari', 'invoicing'), |
|
| 381 | + 'GGP' => __('Guernsey Pound', 'invoicing'), |
|
| 382 | + 'GHS' => __('Ghana Cedi', 'invoicing'), |
|
| 383 | + 'GIP' => __('Gibraltar Pound', 'invoicing'), |
|
| 384 | + 'GMD' => __('Gambian Dalasi', 'invoicing'), |
|
| 385 | + 'GNF' => __('Guinean Franc', 'invoicing'), |
|
| 386 | + 'GTQ' => __('Guatemalan Quetzal', 'invoicing'), |
|
| 387 | + 'GYD' => __('Guyanese Dollar', 'invoicing'), |
|
| 388 | + 'HKD' => __('Hong Kong Dollar', 'invoicing'), |
|
| 389 | + 'HNL' => __('Honduran Lempira', 'invoicing'), |
|
| 390 | + 'HRK' => __('Croatian Kuna', 'invoicing'), |
|
| 391 | + 'HTG' => __('Haitian Gourde', 'invoicing'), |
|
| 392 | + 'HUF' => __('Hungarian Forint', 'invoicing'), |
|
| 393 | + 'IDR' => __('Indonesian Rupiah', 'invoicing'), |
|
| 394 | + 'ILS' => __('Israeli New Shekel', 'invoicing'), |
|
| 395 | + 'IMP' => __('Manx Pound', 'invoicing'), |
|
| 396 | + 'INR' => __('Indian Rupee', 'invoicing'), |
|
| 397 | + 'IQD' => __('Iraqi Dinar', 'invoicing'), |
|
| 398 | + 'IRR' => __('Iranian Rial', 'invoicing'), |
|
| 399 | + 'IRT' => __('Iranian Toman', 'invoicing'), |
|
| 400 | + 'ISK' => __('Icelandic Krona', 'invoicing'), |
|
| 401 | + 'JEP' => __('Jersey Pound', 'invoicing'), |
|
| 402 | + 'JMD' => __('Jamaican Dollar', 'invoicing'), |
|
| 403 | + 'JOD' => __('Jordanian Dinar', 'invoicing'), |
|
| 404 | + 'JPY' => __('Japanese Yen', 'invoicing'), |
|
| 405 | + 'KES' => __('Kenyan Shilling', 'invoicing'), |
|
| 406 | + 'KGS' => __('Kyrgyzstani Som', 'invoicing'), |
|
| 407 | + 'KHR' => __('Cambodian Riel', 'invoicing'), |
|
| 408 | + 'KMF' => __('Comorian Franc', 'invoicing'), |
|
| 409 | + 'KPW' => __('North Korean Won', 'invoicing'), |
|
| 410 | + 'KRW' => __('South Korean Won', 'invoicing'), |
|
| 411 | + 'KWD' => __('Kuwaiti Dinar', 'invoicing'), |
|
| 412 | + 'KYD' => __('Cayman Islands Dollar', 'invoicing'), |
|
| 413 | + 'KZT' => __('Kazakhstani Tenge', 'invoicing'), |
|
| 414 | + 'LAK' => __('Lao Kip', 'invoicing'), |
|
| 415 | + 'LBP' => __('Lebanese Pound', 'invoicing'), |
|
| 416 | + 'LKR' => __('Sri Lankan Rupee', 'invoicing'), |
|
| 417 | + 'LRD' => __('Liberian Dollar', 'invoicing'), |
|
| 418 | + 'LSL' => __('Lesotho Loti', 'invoicing'), |
|
| 419 | + 'LYD' => __('Libyan Dinar', 'invoicing'), |
|
| 420 | + 'MAD' => __('Moroccan Dirham', 'invoicing'), |
|
| 421 | + 'MDL' => __('Moldovan Leu', 'invoicing'), |
|
| 422 | + 'MGA' => __('Malagasy Ariary', 'invoicing'), |
|
| 423 | + 'MKD' => __('Macedonian Denar', 'invoicing'), |
|
| 424 | + 'MMK' => __('Burmese Kyat', 'invoicing'), |
|
| 425 | + 'MNT' => __('Mongolian Tughrik', 'invoicing'), |
|
| 426 | + 'MOP' => __('Macanese Pataca', 'invoicing'), |
|
| 427 | + 'MRO' => __('Mauritanian Ouguiya', 'invoicing'), |
|
| 428 | + 'MUR' => __('Mauritian Rupee', 'invoicing'), |
|
| 429 | + 'MVR' => __('Maldivian Rufiyaa', 'invoicing'), |
|
| 430 | + 'MWK' => __('Malawian Kwacha', 'invoicing'), |
|
| 431 | + 'MXN' => __('Mexican Peso', 'invoicing'), |
|
| 432 | + 'MYR' => __('Malaysian Ringgit', 'invoicing'), |
|
| 433 | + 'MZN' => __('Mozambican Metical', 'invoicing'), |
|
| 434 | + 'NAD' => __('Namibian Dollar', 'invoicing'), |
|
| 435 | + 'NGN' => __('Nigerian Naira', 'invoicing'), |
|
| 436 | + 'NIO' => __('Nicaraguan Cordoba', 'invoicing'), |
|
| 437 | + 'NOK' => __('Norwegian Krone', 'invoicing'), |
|
| 438 | + 'NPR' => __('Nepalese Rupee', 'invoicing'), |
|
| 439 | + 'NZD' => __('New Zealand Dollar', 'invoicing'), |
|
| 440 | + 'OMR' => __('Omani Rial', 'invoicing'), |
|
| 441 | + 'PAB' => __('Panamanian Balboa', 'invoicing'), |
|
| 442 | + 'PEN' => __('Peruvian Nuevo Sol', 'invoicing'), |
|
| 443 | + 'PGK' => __('Papua New Guinean Kina', 'invoicing'), |
|
| 444 | + 'PHP' => __('Philippine Peso', 'invoicing'), |
|
| 445 | + 'PKR' => __('Pakistani Rupee', 'invoicing'), |
|
| 446 | + 'PLN' => __('Polish Zloty', 'invoicing'), |
|
| 447 | + 'PRB' => __('Transnistrian Ruble', 'invoicing'), |
|
| 448 | + 'PYG' => __('Paraguayan Guarani', 'invoicing'), |
|
| 449 | + 'QAR' => __('Qatari Riyal', 'invoicing'), |
|
| 450 | + 'RON' => __('Romanian Leu', 'invoicing'), |
|
| 451 | + 'RSD' => __('Serbian Dinar', 'invoicing'), |
|
| 452 | + 'RUB' => __('Russian Ruble', 'invoicing'), |
|
| 453 | + 'RWF' => __('Rwandan Franc', 'invoicing'), |
|
| 454 | + 'SAR' => __('Saudi Riyal', 'invoicing'), |
|
| 455 | + 'SBD' => __('Solomon Islands Dollar', 'invoicing'), |
|
| 456 | + 'SCR' => __('Seychellois Rupee', 'invoicing'), |
|
| 457 | + 'SDG' => __('Sudanese Pound', 'invoicing'), |
|
| 458 | + 'SEK' => __('Swedish Krona', 'invoicing'), |
|
| 459 | + 'SGD' => __('Singapore Dollar', 'invoicing'), |
|
| 460 | + 'SHP' => __('Saint Helena Pound', 'invoicing'), |
|
| 461 | + 'SLL' => __('Sierra Leonean Leone', 'invoicing'), |
|
| 462 | + 'SOS' => __('Somali Shilling', 'invoicing'), |
|
| 463 | + 'SRD' => __('Surinamese Dollar', 'invoicing'), |
|
| 464 | + 'SSP' => __('South Sudanese Pound', 'invoicing'), |
|
| 465 | + 'STD' => __('Sao Tomean Dobra', 'invoicing'), |
|
| 466 | + 'SYP' => __('Syrian Pound', 'invoicing'), |
|
| 467 | + 'SZL' => __('Swazi Lilangeni', 'invoicing'), |
|
| 468 | + 'THB' => __('Thai Baht', 'invoicing'), |
|
| 469 | + 'TJS' => __('Tajikistani Somoni', 'invoicing'), |
|
| 470 | + 'TMT' => __('Turkmenistan Manat', 'invoicing'), |
|
| 471 | + 'TND' => __('Tunisian Dinar', 'invoicing'), |
|
| 472 | + 'TOP' => __('Tongan Paʻanga', 'invoicing'), |
|
| 473 | + 'TRY' => __('Turkish Lira', 'invoicing'), |
|
| 474 | + 'TTD' => __('Trinidad and Tobago Dollar', 'invoicing'), |
|
| 475 | + 'TWD' => __('New Taiwan Dollar', 'invoicing'), |
|
| 476 | + 'TZS' => __('Tanzanian Shilling', 'invoicing'), |
|
| 477 | + 'UAH' => __('Ukrainian Hryvnia', 'invoicing'), |
|
| 478 | + 'UGX' => __('Ugandan Shilling', 'invoicing'), |
|
| 479 | + 'UYU' => __('Uruguayan Peso', 'invoicing'), |
|
| 480 | + 'UZS' => __('Uzbekistani Som', 'invoicing'), |
|
| 481 | + 'VEF' => __('Venezuelan Bolívar', 'invoicing'), |
|
| 482 | + 'VND' => __('Vietnamese Dong', 'invoicing'), |
|
| 483 | + 'VUV' => __('Vanuatu Vatu', 'invoicing'), |
|
| 484 | + 'WST' => __('Samoan Tala', 'invoicing'), |
|
| 485 | + 'XAF' => __('Central African CFA Franc', 'invoicing'), |
|
| 486 | + 'XCD' => __('East Caribbean Dollar', 'invoicing'), |
|
| 487 | + 'XOF' => __('West African CFA Franc', 'invoicing'), |
|
| 488 | + 'XPF' => __('CFP Franc', 'invoicing'), |
|
| 489 | + 'YER' => __('Yemeni Rial', 'invoicing'), |
|
| 490 | + 'ZAR' => __('South African Rand', 'invoicing'), |
|
| 491 | + 'ZMW' => __('Zambian Kwacha', 'invoicing'), |
|
| 492 | 492 | ); |
| 493 | 493 | |
| 494 | 494 | //asort( $currencies ); // this |
| 495 | 495 | |
| 496 | - return apply_filters( 'wpinv_currencies', $currencies ); |
|
| 496 | + return apply_filters('wpinv_currencies', $currencies); |
|
| 497 | 497 | } |
| 498 | 498 | |
| 499 | -function wpinv_price( $amount = '', $currency = '' ) { |
|
| 500 | - if( empty( $currency ) ) { |
|
| 499 | +function wpinv_price($amount = '', $currency = '') { |
|
| 500 | + if (empty($currency)) { |
|
| 501 | 501 | $currency = wpinv_get_currency(); |
| 502 | 502 | } |
| 503 | 503 | |
@@ -505,14 +505,14 @@ discard block |
||
| 505 | 505 | |
| 506 | 506 | $negative = $amount < 0; |
| 507 | 507 | |
| 508 | - if ( $negative ) { |
|
| 509 | - $amount = substr( $amount, 1 ); |
|
| 508 | + if ($negative) { |
|
| 509 | + $amount = substr($amount, 1); |
|
| 510 | 510 | } |
| 511 | 511 | |
| 512 | - $symbol = wpinv_currency_symbol( $currency ); |
|
| 512 | + $symbol = wpinv_currency_symbol($currency); |
|
| 513 | 513 | |
| 514 | - if ( $position == 'left' || $position == 'left_space' ) { |
|
| 515 | - switch ( $currency ) { |
|
| 514 | + if ($position == 'left' || $position == 'left_space') { |
|
| 515 | + switch ($currency) { |
|
| 516 | 516 | case "GBP" : |
| 517 | 517 | case "BRL" : |
| 518 | 518 | case "EUR" : |
@@ -524,15 +524,15 @@ discard block |
||
| 524 | 524 | case "NZD" : |
| 525 | 525 | case "SGD" : |
| 526 | 526 | case "JPY" : |
| 527 | - $price = $position == 'left_space' ? $symbol . ' ' . $amount : $symbol . $amount; |
|
| 527 | + $price = $position == 'left_space' ? $symbol . ' ' . $amount : $symbol . $amount; |
|
| 528 | 528 | break; |
| 529 | 529 | default : |
| 530 | 530 | //$price = $currency . ' ' . $amount; |
| 531 | - $price = $position == 'left_space' ? $symbol . ' ' . $amount : $symbol . $amount; |
|
| 531 | + $price = $position == 'left_space' ? $symbol . ' ' . $amount : $symbol . $amount; |
|
| 532 | 532 | break; |
| 533 | 533 | } |
| 534 | 534 | } else { |
| 535 | - switch ( $currency ) { |
|
| 535 | + switch ($currency) { |
|
| 536 | 536 | case "GBP" : |
| 537 | 537 | case "BRL" : |
| 538 | 538 | case "EUR" : |
@@ -543,83 +543,83 @@ discard block |
||
| 543 | 543 | case "MXN" : |
| 544 | 544 | case "SGD" : |
| 545 | 545 | case "JPY" : |
| 546 | - $price = $position == 'right_space' ? $amount . ' ' . $symbol : $amount . $symbol; |
|
| 546 | + $price = $position == 'right_space' ? $amount . ' ' . $symbol : $amount . $symbol; |
|
| 547 | 547 | break; |
| 548 | 548 | default : |
| 549 | 549 | //$price = $amount . ' ' . $currency; |
| 550 | - $price = $position == 'right_space' ? $amount . ' ' . $symbol : $amount . $symbol; |
|
| 550 | + $price = $position == 'right_space' ? $amount . ' ' . $symbol : $amount . $symbol; |
|
| 551 | 551 | break; |
| 552 | 552 | } |
| 553 | 553 | } |
| 554 | 554 | |
| 555 | - if ( $negative ) { |
|
| 555 | + if ($negative) { |
|
| 556 | 556 | $price = '-' . $price; |
| 557 | 557 | } |
| 558 | 558 | |
| 559 | - $price = apply_filters( 'wpinv_' . strtolower( $currency ) . '_currency_filter_' . $position, $price, $currency, $amount ); |
|
| 559 | + $price = apply_filters('wpinv_' . strtolower($currency) . '_currency_filter_' . $position, $price, $currency, $amount); |
|
| 560 | 560 | |
| 561 | 561 | return $price; |
| 562 | 562 | } |
| 563 | 563 | |
| 564 | -function wpinv_format_amount( $amount, $decimals = NULL, $calculate = false ) { |
|
| 564 | +function wpinv_format_amount($amount, $decimals = NULL, $calculate = false) { |
|
| 565 | 565 | $thousands_sep = wpinv_thousands_separator(); |
| 566 | 566 | $decimal_sep = wpinv_decimal_separator(); |
| 567 | 567 | |
| 568 | - if ( $decimals === NULL ) { |
|
| 568 | + if ($decimals === NULL) { |
|
| 569 | 569 | $decimals = wpinv_decimals(); |
| 570 | 570 | } |
| 571 | 571 | |
| 572 | - if ( $decimal_sep == ',' && false !== ( $sep_found = strpos( $amount, $decimal_sep ) ) ) { |
|
| 573 | - $whole = substr( $amount, 0, $sep_found ); |
|
| 574 | - $part = substr( $amount, $sep_found + 1, ( strlen( $amount ) - 1 ) ); |
|
| 572 | + if ($decimal_sep == ',' && false !== ($sep_found = strpos($amount, $decimal_sep))) { |
|
| 573 | + $whole = substr($amount, 0, $sep_found); |
|
| 574 | + $part = substr($amount, $sep_found + 1, (strlen($amount) - 1)); |
|
| 575 | 575 | $amount = $whole . '.' . $part; |
| 576 | 576 | } |
| 577 | 577 | |
| 578 | - if ( $thousands_sep == ',' && false !== ( $found = strpos( $amount, $thousands_sep ) ) ) { |
|
| 579 | - $amount = str_replace( ',', '', $amount ); |
|
| 578 | + if ($thousands_sep == ',' && false !== ($found = strpos($amount, $thousands_sep))) { |
|
| 579 | + $amount = str_replace(',', '', $amount); |
|
| 580 | 580 | } |
| 581 | 581 | |
| 582 | - if ( $thousands_sep == ' ' && false !== ( $found = strpos( $amount, $thousands_sep ) ) ) { |
|
| 583 | - $amount = str_replace( ' ', '', $amount ); |
|
| 582 | + if ($thousands_sep == ' ' && false !== ($found = strpos($amount, $thousands_sep))) { |
|
| 583 | + $amount = str_replace(' ', '', $amount); |
|
| 584 | 584 | } |
| 585 | 585 | |
| 586 | - if ( empty( $amount ) ) { |
|
| 586 | + if (empty($amount)) { |
|
| 587 | 587 | $amount = 0; |
| 588 | 588 | } |
| 589 | 589 | |
| 590 | - $decimals = apply_filters( 'wpinv_amount_format_decimals', $decimals ? $decimals : 0, $amount, $calculate ); |
|
| 591 | - $formatted = number_format( (float)$amount, $decimals, $decimal_sep, $thousands_sep ); |
|
| 590 | + $decimals = apply_filters('wpinv_amount_format_decimals', $decimals ? $decimals : 0, $amount, $calculate); |
|
| 591 | + $formatted = number_format((float) $amount, $decimals, $decimal_sep, $thousands_sep); |
|
| 592 | 592 | |
| 593 | - if ( $calculate ) { |
|
| 594 | - if ( $thousands_sep === "," ) { |
|
| 595 | - $formatted = str_replace( ",", "", $formatted ); |
|
| 593 | + if ($calculate) { |
|
| 594 | + if ($thousands_sep === ",") { |
|
| 595 | + $formatted = str_replace(",", "", $formatted); |
|
| 596 | 596 | } |
| 597 | 597 | |
| 598 | - if ( $decimal_sep === "," ) { |
|
| 599 | - $formatted = str_replace( ",", ".", $formatted ); |
|
| 598 | + if ($decimal_sep === ",") { |
|
| 599 | + $formatted = str_replace(",", ".", $formatted); |
|
| 600 | 600 | } |
| 601 | 601 | } |
| 602 | 602 | |
| 603 | - return apply_filters( 'wpinv_amount_format', $formatted, $amount, $decimals, $decimal_sep, $thousands_sep, $calculate ); |
|
| 603 | + return apply_filters('wpinv_amount_format', $formatted, $amount, $decimals, $decimal_sep, $thousands_sep, $calculate); |
|
| 604 | 604 | } |
| 605 | -add_filter( 'wpinv_amount_format_decimals', 'wpinv_currency_decimal_filter', 10, 1 ); |
|
| 605 | +add_filter('wpinv_amount_format_decimals', 'wpinv_currency_decimal_filter', 10, 1); |
|
| 606 | 606 | |
| 607 | -function wpinv_sanitize_key( $key ) { |
|
| 607 | +function wpinv_sanitize_key($key) { |
|
| 608 | 608 | $raw_key = $key; |
| 609 | - $key = preg_replace( '/[^a-zA-Z0-9_\-\.\:\/]/', '', $key ); |
|
| 609 | + $key = preg_replace('/[^a-zA-Z0-9_\-\.\:\/]/', '', $key); |
|
| 610 | 610 | |
| 611 | - return apply_filters( 'wpinv_sanitize_key', $key, $raw_key ); |
|
| 611 | + return apply_filters('wpinv_sanitize_key', $key, $raw_key); |
|
| 612 | 612 | } |
| 613 | 613 | |
| 614 | -function wpinv_get_file_extension( $str ) { |
|
| 615 | - $parts = explode( '.', $str ); |
|
| 616 | - return end( $parts ); |
|
| 614 | +function wpinv_get_file_extension($str) { |
|
| 615 | + $parts = explode('.', $str); |
|
| 616 | + return end($parts); |
|
| 617 | 617 | } |
| 618 | 618 | |
| 619 | -function wpinv_string_is_image_url( $str ) { |
|
| 620 | - $ext = wpinv_get_file_extension( $str ); |
|
| 619 | +function wpinv_string_is_image_url($str) { |
|
| 620 | + $ext = wpinv_get_file_extension($str); |
|
| 621 | 621 | |
| 622 | - switch ( strtolower( $ext ) ) { |
|
| 622 | + switch (strtolower($ext)) { |
|
| 623 | 623 | case 'jpeg'; |
| 624 | 624 | case 'jpg'; |
| 625 | 625 | $return = true; |
@@ -635,32 +635,32 @@ discard block |
||
| 635 | 635 | break; |
| 636 | 636 | } |
| 637 | 637 | |
| 638 | - return (bool)apply_filters( 'wpinv_string_is_image', $return, $str ); |
|
| 638 | + return (bool) apply_filters('wpinv_string_is_image', $return, $str); |
|
| 639 | 639 | } |
| 640 | 640 | |
| 641 | -function wpinv_error_log( $log, $title = '', $file = '', $line = '', $exit = false ) { |
|
| 642 | - $should_log = apply_filters( 'wpinv_log_errors', WP_DEBUG ); |
|
| 641 | +function wpinv_error_log($log, $title = '', $file = '', $line = '', $exit = false) { |
|
| 642 | + $should_log = apply_filters('wpinv_log_errors', WP_DEBUG); |
|
| 643 | 643 | |
| 644 | - if ( true === $should_log ) { |
|
| 644 | + if (true === $should_log) { |
|
| 645 | 645 | $label = ''; |
| 646 | - if ( $file && $file !== '' ) { |
|
| 647 | - $label .= basename( $file ) . ( $line ? '(' . $line . ')' : '' ); |
|
| 646 | + if ($file && $file !== '') { |
|
| 647 | + $label .= basename($file) . ($line ? '(' . $line . ')' : ''); |
|
| 648 | 648 | } |
| 649 | 649 | |
| 650 | - if ( $title && $title !== '' ) { |
|
| 650 | + if ($title && $title !== '') { |
|
| 651 | 651 | $label = $label !== '' ? $label . ' ' : ''; |
| 652 | 652 | $label .= $title . ' '; |
| 653 | 653 | } |
| 654 | 654 | |
| 655 | - $label = $label !== '' ? trim( $label ) . ' : ' : ''; |
|
| 655 | + $label = $label !== '' ? trim($label) . ' : ' : ''; |
|
| 656 | 656 | |
| 657 | - if ( is_array( $log ) || is_object( $log ) ) { |
|
| 658 | - error_log( $label . print_r( $log, true ) ); |
|
| 657 | + if (is_array($log) || is_object($log)) { |
|
| 658 | + error_log($label . print_r($log, true)); |
|
| 659 | 659 | } else { |
| 660 | - error_log( $label . $log ); |
|
| 660 | + error_log($label . $log); |
|
| 661 | 661 | } |
| 662 | 662 | |
| 663 | - if ( $exit ) { |
|
| 663 | + if ($exit) { |
|
| 664 | 664 | exit; |
| 665 | 665 | } |
| 666 | 666 | } |
@@ -668,65 +668,65 @@ discard block |
||
| 668 | 668 | |
| 669 | 669 | function wpinv_is_ajax_disabled() { |
| 670 | 670 | $retval = false; |
| 671 | - return apply_filters( 'wpinv_is_ajax_disabled', $retval ); |
|
| 671 | + return apply_filters('wpinv_is_ajax_disabled', $retval); |
|
| 672 | 672 | } |
| 673 | 673 | |
| 674 | -function wpinv_get_current_page_url( $nocache = false ) { |
|
| 674 | +function wpinv_get_current_page_url($nocache = false) { |
|
| 675 | 675 | global $wp; |
| 676 | 676 | |
| 677 | - if ( get_option( 'permalink_structure' ) ) { |
|
| 678 | - $base = trailingslashit( home_url( $wp->request ) ); |
|
| 677 | + if (get_option('permalink_structure')) { |
|
| 678 | + $base = trailingslashit(home_url($wp->request)); |
|
| 679 | 679 | } else { |
| 680 | - $base = add_query_arg( $wp->query_string, '', trailingslashit( home_url( $wp->request ) ) ); |
|
| 681 | - $base = remove_query_arg( array( 'post_type', 'name' ), $base ); |
|
| 680 | + $base = add_query_arg($wp->query_string, '', trailingslashit(home_url($wp->request))); |
|
| 681 | + $base = remove_query_arg(array('post_type', 'name'), $base); |
|
| 682 | 682 | } |
| 683 | 683 | |
| 684 | 684 | $scheme = is_ssl() ? 'https' : 'http'; |
| 685 | - $uri = set_url_scheme( $base, $scheme ); |
|
| 685 | + $uri = set_url_scheme($base, $scheme); |
|
| 686 | 686 | |
| 687 | - if ( is_front_page() ) { |
|
| 688 | - $uri = home_url( '/' ); |
|
| 689 | - } elseif ( wpinv_is_checkout( array(), false ) ) { |
|
| 687 | + if (is_front_page()) { |
|
| 688 | + $uri = home_url('/'); |
|
| 689 | + } elseif (wpinv_is_checkout(array(), false)) { |
|
| 690 | 690 | $uri = wpinv_get_checkout_uri(); |
| 691 | 691 | } |
| 692 | 692 | |
| 693 | - $uri = apply_filters( 'wpinv_get_current_page_url', $uri ); |
|
| 693 | + $uri = apply_filters('wpinv_get_current_page_url', $uri); |
|
| 694 | 694 | |
| 695 | - if ( $nocache ) { |
|
| 696 | - $uri = wpinv_add_cache_busting( $uri ); |
|
| 695 | + if ($nocache) { |
|
| 696 | + $uri = wpinv_add_cache_busting($uri); |
|
| 697 | 697 | } |
| 698 | 698 | |
| 699 | 699 | return $uri; |
| 700 | 700 | } |
| 701 | 701 | |
| 702 | 702 | function wpinv_get_php_arg_separator_output() { |
| 703 | - return ini_get( 'arg_separator.output' ); |
|
| 703 | + return ini_get('arg_separator.output'); |
|
| 704 | 704 | } |
| 705 | 705 | |
| 706 | -function wpinv_rgb_from_hex( $color ) { |
|
| 707 | - $color = str_replace( '#', '', $color ); |
|
| 706 | +function wpinv_rgb_from_hex($color) { |
|
| 707 | + $color = str_replace('#', '', $color); |
|
| 708 | 708 | // Convert shorthand colors to full format, e.g. "FFF" -> "FFFFFF" |
| 709 | - $color = preg_replace( '~^(.)(.)(.)$~', '$1$1$2$2$3$3', $color ); |
|
| 709 | + $color = preg_replace('~^(.)(.)(.)$~', '$1$1$2$2$3$3', $color); |
|
| 710 | 710 | |
| 711 | 711 | $rgb = array(); |
| 712 | - $rgb['R'] = hexdec( $color{0}.$color{1} ); |
|
| 713 | - $rgb['G'] = hexdec( $color{2}.$color{3} ); |
|
| 714 | - $rgb['B'] = hexdec( $color{4}.$color{5} ); |
|
| 712 | + $rgb['R'] = hexdec($color{0} . $color{1} ); |
|
| 713 | + $rgb['G'] = hexdec($color{2} . $color{3} ); |
|
| 714 | + $rgb['B'] = hexdec($color{4} . $color{5} ); |
|
| 715 | 715 | |
| 716 | 716 | return $rgb; |
| 717 | 717 | } |
| 718 | 718 | |
| 719 | -function wpinv_hex_darker( $color, $factor = 30 ) { |
|
| 720 | - $base = wpinv_rgb_from_hex( $color ); |
|
| 719 | +function wpinv_hex_darker($color, $factor = 30) { |
|
| 720 | + $base = wpinv_rgb_from_hex($color); |
|
| 721 | 721 | $color = '#'; |
| 722 | 722 | |
| 723 | - foreach ( $base as $k => $v ) { |
|
| 723 | + foreach ($base as $k => $v) { |
|
| 724 | 724 | $amount = $v / 100; |
| 725 | - $amount = round( $amount * $factor ); |
|
| 725 | + $amount = round($amount * $factor); |
|
| 726 | 726 | $new_decimal = $v - $amount; |
| 727 | 727 | |
| 728 | - $new_hex_component = dechex( $new_decimal ); |
|
| 729 | - if ( strlen( $new_hex_component ) < 2 ) { |
|
| 728 | + $new_hex_component = dechex($new_decimal); |
|
| 729 | + if (strlen($new_hex_component) < 2) { |
|
| 730 | 730 | $new_hex_component = "0" . $new_hex_component; |
| 731 | 731 | } |
| 732 | 732 | $color .= $new_hex_component; |
@@ -735,18 +735,18 @@ discard block |
||
| 735 | 735 | return $color; |
| 736 | 736 | } |
| 737 | 737 | |
| 738 | -function wpinv_hex_lighter( $color, $factor = 30 ) { |
|
| 739 | - $base = wpinv_rgb_from_hex( $color ); |
|
| 738 | +function wpinv_hex_lighter($color, $factor = 30) { |
|
| 739 | + $base = wpinv_rgb_from_hex($color); |
|
| 740 | 740 | $color = '#'; |
| 741 | 741 | |
| 742 | - foreach ( $base as $k => $v ) { |
|
| 742 | + foreach ($base as $k => $v) { |
|
| 743 | 743 | $amount = 255 - $v; |
| 744 | 744 | $amount = $amount / 100; |
| 745 | - $amount = round( $amount * $factor ); |
|
| 745 | + $amount = round($amount * $factor); |
|
| 746 | 746 | $new_decimal = $v + $amount; |
| 747 | 747 | |
| 748 | - $new_hex_component = dechex( $new_decimal ); |
|
| 749 | - if ( strlen( $new_hex_component ) < 2 ) { |
|
| 748 | + $new_hex_component = dechex($new_decimal); |
|
| 749 | + if (strlen($new_hex_component) < 2) { |
|
| 750 | 750 | $new_hex_component = "0" . $new_hex_component; |
| 751 | 751 | } |
| 752 | 752 | $color .= $new_hex_component; |
@@ -755,22 +755,22 @@ discard block |
||
| 755 | 755 | return $color; |
| 756 | 756 | } |
| 757 | 757 | |
| 758 | -function wpinv_light_or_dark( $color, $dark = '#000000', $light = '#FFFFFF' ) { |
|
| 759 | - $hex = str_replace( '#', '', $color ); |
|
| 758 | +function wpinv_light_or_dark($color, $dark = '#000000', $light = '#FFFFFF') { |
|
| 759 | + $hex = str_replace('#', '', $color); |
|
| 760 | 760 | |
| 761 | - $c_r = hexdec( substr( $hex, 0, 2 ) ); |
|
| 762 | - $c_g = hexdec( substr( $hex, 2, 2 ) ); |
|
| 763 | - $c_b = hexdec( substr( $hex, 4, 2 ) ); |
|
| 761 | + $c_r = hexdec(substr($hex, 0, 2)); |
|
| 762 | + $c_g = hexdec(substr($hex, 2, 2)); |
|
| 763 | + $c_b = hexdec(substr($hex, 4, 2)); |
|
| 764 | 764 | |
| 765 | - $brightness = ( ( $c_r * 299 ) + ( $c_g * 587 ) + ( $c_b * 114 ) ) / 1000; |
|
| 765 | + $brightness = (($c_r * 299) + ($c_g * 587) + ($c_b * 114)) / 1000; |
|
| 766 | 766 | |
| 767 | 767 | return $brightness > 155 ? $dark : $light; |
| 768 | 768 | } |
| 769 | 769 | |
| 770 | -function wpinv_format_hex( $hex ) { |
|
| 771 | - $hex = trim( str_replace( '#', '', $hex ) ); |
|
| 770 | +function wpinv_format_hex($hex) { |
|
| 771 | + $hex = trim(str_replace('#', '', $hex)); |
|
| 772 | 772 | |
| 773 | - if ( strlen( $hex ) == 3 ) { |
|
| 773 | + if (strlen($hex) == 3) { |
|
| 774 | 774 | $hex = $hex[0] . $hex[0] . $hex[1] . $hex[1] . $hex[2] . $hex[2]; |
| 775 | 775 | } |
| 776 | 776 | |
@@ -790,12 +790,12 @@ discard block |
||
| 790 | 790 | * @param string $encoding The encoding parameter is the character encoding. Default "UTF-8". |
| 791 | 791 | * @return string |
| 792 | 792 | */ |
| 793 | -function wpinv_utf8_strimwidth( $str, $start, $width, $trimmaker = '', $encoding = 'UTF-8' ) { |
|
| 794 | - if ( function_exists( 'mb_strimwidth' ) ) { |
|
| 795 | - return mb_strimwidth( $str, $start, $width, $trimmaker, $encoding ); |
|
| 793 | +function wpinv_utf8_strimwidth($str, $start, $width, $trimmaker = '', $encoding = 'UTF-8') { |
|
| 794 | + if (function_exists('mb_strimwidth')) { |
|
| 795 | + return mb_strimwidth($str, $start, $width, $trimmaker, $encoding); |
|
| 796 | 796 | } |
| 797 | 797 | |
| 798 | - return wpinv_utf8_substr( $str, $start, $width, $encoding ) . $trimmaker; |
|
| 798 | + return wpinv_utf8_substr($str, $start, $width, $encoding) . $trimmaker; |
|
| 799 | 799 | } |
| 800 | 800 | |
| 801 | 801 | /** |
@@ -807,28 +807,28 @@ discard block |
||
| 807 | 807 | * @param string $encoding The encoding parameter is the character encoding. Default "UTF-8". |
| 808 | 808 | * @return int Returns the number of characters in string. |
| 809 | 809 | */ |
| 810 | -function wpinv_utf8_strlen( $str, $encoding = 'UTF-8' ) { |
|
| 811 | - if ( function_exists( 'mb_strlen' ) ) { |
|
| 812 | - return mb_strlen( $str, $encoding ); |
|
| 810 | +function wpinv_utf8_strlen($str, $encoding = 'UTF-8') { |
|
| 811 | + if (function_exists('mb_strlen')) { |
|
| 812 | + return mb_strlen($str, $encoding); |
|
| 813 | 813 | } |
| 814 | 814 | |
| 815 | - return strlen( $str ); |
|
| 815 | + return strlen($str); |
|
| 816 | 816 | } |
| 817 | 817 | |
| 818 | -function wpinv_utf8_strtolower( $str, $encoding = 'UTF-8' ) { |
|
| 819 | - if ( function_exists( 'mb_strtolower' ) ) { |
|
| 820 | - return mb_strtolower( $str, $encoding ); |
|
| 818 | +function wpinv_utf8_strtolower($str, $encoding = 'UTF-8') { |
|
| 819 | + if (function_exists('mb_strtolower')) { |
|
| 820 | + return mb_strtolower($str, $encoding); |
|
| 821 | 821 | } |
| 822 | 822 | |
| 823 | - return strtolower( $str ); |
|
| 823 | + return strtolower($str); |
|
| 824 | 824 | } |
| 825 | 825 | |
| 826 | -function wpinv_utf8_strtoupper( $str, $encoding = 'UTF-8' ) { |
|
| 827 | - if ( function_exists( 'mb_strtoupper' ) ) { |
|
| 828 | - return mb_strtoupper( $str, $encoding ); |
|
| 826 | +function wpinv_utf8_strtoupper($str, $encoding = 'UTF-8') { |
|
| 827 | + if (function_exists('mb_strtoupper')) { |
|
| 828 | + return mb_strtoupper($str, $encoding); |
|
| 829 | 829 | } |
| 830 | 830 | |
| 831 | - return strtoupper( $str ); |
|
| 831 | + return strtoupper($str); |
|
| 832 | 832 | } |
| 833 | 833 | |
| 834 | 834 | /** |
@@ -842,12 +842,12 @@ discard block |
||
| 842 | 842 | * @param string $encoding The encoding parameter is the character encoding. Default "UTF-8". |
| 843 | 843 | * @return int Returns the position of the first occurrence of search in the string. |
| 844 | 844 | */ |
| 845 | -function wpinv_utf8_strpos( $str, $find, $offset = 0, $encoding = 'UTF-8' ) { |
|
| 846 | - if ( function_exists( 'mb_strpos' ) ) { |
|
| 847 | - return mb_strpos( $str, $find, $offset, $encoding ); |
|
| 845 | +function wpinv_utf8_strpos($str, $find, $offset = 0, $encoding = 'UTF-8') { |
|
| 846 | + if (function_exists('mb_strpos')) { |
|
| 847 | + return mb_strpos($str, $find, $offset, $encoding); |
|
| 848 | 848 | } |
| 849 | 849 | |
| 850 | - return strpos( $str, $find, $offset ); |
|
| 850 | + return strpos($str, $find, $offset); |
|
| 851 | 851 | } |
| 852 | 852 | |
| 853 | 853 | /** |
@@ -861,12 +861,12 @@ discard block |
||
| 861 | 861 | * @param string $encoding The encoding parameter is the character encoding. Default "UTF-8". |
| 862 | 862 | * @return int Returns the position of the last occurrence of search. |
| 863 | 863 | */ |
| 864 | -function wpinv_utf8_strrpos( $str, $find, $offset = 0, $encoding = 'UTF-8' ) { |
|
| 865 | - if ( function_exists( 'mb_strrpos' ) ) { |
|
| 866 | - return mb_strrpos( $str, $find, $offset, $encoding ); |
|
| 864 | +function wpinv_utf8_strrpos($str, $find, $offset = 0, $encoding = 'UTF-8') { |
|
| 865 | + if (function_exists('mb_strrpos')) { |
|
| 866 | + return mb_strrpos($str, $find, $offset, $encoding); |
|
| 867 | 867 | } |
| 868 | 868 | |
| 869 | - return strrpos( $str, $find, $offset ); |
|
| 869 | + return strrpos($str, $find, $offset); |
|
| 870 | 870 | } |
| 871 | 871 | |
| 872 | 872 | /** |
@@ -881,16 +881,16 @@ discard block |
||
| 881 | 881 | * @param string $encoding The encoding parameter is the character encoding. Default "UTF-8". |
| 882 | 882 | * @return string |
| 883 | 883 | */ |
| 884 | -function wpinv_utf8_substr( $str, $start, $length = null, $encoding = 'UTF-8' ) { |
|
| 885 | - if ( function_exists( 'mb_substr' ) ) { |
|
| 886 | - if ( $length === null ) { |
|
| 887 | - return mb_substr( $str, $start, wpinv_utf8_strlen( $str, $encoding ), $encoding ); |
|
| 884 | +function wpinv_utf8_substr($str, $start, $length = null, $encoding = 'UTF-8') { |
|
| 885 | + if (function_exists('mb_substr')) { |
|
| 886 | + if ($length === null) { |
|
| 887 | + return mb_substr($str, $start, wpinv_utf8_strlen($str, $encoding), $encoding); |
|
| 888 | 888 | } else { |
| 889 | - return mb_substr( $str, $start, $length, $encoding ); |
|
| 889 | + return mb_substr($str, $start, $length, $encoding); |
|
| 890 | 890 | } |
| 891 | 891 | } |
| 892 | 892 | |
| 893 | - return substr( $str, $start, $length ); |
|
| 893 | + return substr($str, $start, $length); |
|
| 894 | 894 | } |
| 895 | 895 | |
| 896 | 896 | /** |
@@ -902,48 +902,48 @@ discard block |
||
| 902 | 902 | * @param string $encoding The encoding parameter is the character encoding. Default "UTF-8". |
| 903 | 903 | * @return string The width of string. |
| 904 | 904 | */ |
| 905 | -function wpinv_utf8_strwidth( $str, $encoding = 'UTF-8' ) { |
|
| 906 | - if ( function_exists( 'mb_strwidth' ) ) { |
|
| 907 | - return mb_strwidth( $str, $encoding ); |
|
| 905 | +function wpinv_utf8_strwidth($str, $encoding = 'UTF-8') { |
|
| 906 | + if (function_exists('mb_strwidth')) { |
|
| 907 | + return mb_strwidth($str, $encoding); |
|
| 908 | 908 | } |
| 909 | 909 | |
| 910 | - return wpinv_utf8_strlen( $str, $encoding ); |
|
| 910 | + return wpinv_utf8_strlen($str, $encoding); |
|
| 911 | 911 | } |
| 912 | 912 | |
| 913 | -function wpinv_utf8_ucfirst( $str, $lower_str_end = false, $encoding = 'UTF-8' ) { |
|
| 914 | - if ( function_exists( 'mb_strlen' ) ) { |
|
| 915 | - $first_letter = wpinv_utf8_strtoupper( wpinv_utf8_substr( $str, 0, 1, $encoding ), $encoding ); |
|
| 913 | +function wpinv_utf8_ucfirst($str, $lower_str_end = false, $encoding = 'UTF-8') { |
|
| 914 | + if (function_exists('mb_strlen')) { |
|
| 915 | + $first_letter = wpinv_utf8_strtoupper(wpinv_utf8_substr($str, 0, 1, $encoding), $encoding); |
|
| 916 | 916 | $str_end = ""; |
| 917 | 917 | |
| 918 | - if ( $lower_str_end ) { |
|
| 919 | - $str_end = wpinv_utf8_strtolower( wpinv_utf8_substr( $str, 1, wpinv_utf8_strlen( $str, $encoding ), $encoding ), $encoding ); |
|
| 918 | + if ($lower_str_end) { |
|
| 919 | + $str_end = wpinv_utf8_strtolower(wpinv_utf8_substr($str, 1, wpinv_utf8_strlen($str, $encoding), $encoding), $encoding); |
|
| 920 | 920 | } else { |
| 921 | - $str_end = wpinv_utf8_substr( $str, 1, wpinv_utf8_strlen( $str, $encoding ), $encoding ); |
|
| 921 | + $str_end = wpinv_utf8_substr($str, 1, wpinv_utf8_strlen($str, $encoding), $encoding); |
|
| 922 | 922 | } |
| 923 | 923 | |
| 924 | 924 | return $first_letter . $str_end; |
| 925 | 925 | } |
| 926 | 926 | |
| 927 | - return ucfirst( $str ); |
|
| 927 | + return ucfirst($str); |
|
| 928 | 928 | } |
| 929 | 929 | |
| 930 | -function wpinv_utf8_ucwords( $str, $encoding = 'UTF-8' ) { |
|
| 931 | - if ( function_exists( 'mb_convert_case' ) ) { |
|
| 932 | - return mb_convert_case( $str, MB_CASE_TITLE, $encoding ); |
|
| 930 | +function wpinv_utf8_ucwords($str, $encoding = 'UTF-8') { |
|
| 931 | + if (function_exists('mb_convert_case')) { |
|
| 932 | + return mb_convert_case($str, MB_CASE_TITLE, $encoding); |
|
| 933 | 933 | } |
| 934 | 934 | |
| 935 | - return ucwords( $str ); |
|
| 935 | + return ucwords($str); |
|
| 936 | 936 | } |
| 937 | 937 | |
| 938 | -function wpinv_period_in_days( $period, $unit ) { |
|
| 939 | - $period = absint( $period ); |
|
| 938 | +function wpinv_period_in_days($period, $unit) { |
|
| 939 | + $period = absint($period); |
|
| 940 | 940 | |
| 941 | - if ( $period > 0 ) { |
|
| 942 | - if ( in_array( strtolower( $unit ), array( 'w', 'week', 'weeks' ) ) ) { |
|
| 941 | + if ($period > 0) { |
|
| 942 | + if (in_array(strtolower($unit), array('w', 'week', 'weeks'))) { |
|
| 943 | 943 | $period = $period * 7; |
| 944 | - } else if ( in_array( strtolower( $unit ), array( 'm', 'month', 'months' ) ) ) { |
|
| 944 | + } else if (in_array(strtolower($unit), array('m', 'month', 'months'))) { |
|
| 945 | 945 | $period = $period * 30; |
| 946 | - } else if ( in_array( strtolower( $unit ), array( 'y', 'year', 'years' ) ) ) { |
|
| 946 | + } else if (in_array(strtolower($unit), array('y', 'year', 'years'))) { |
|
| 947 | 947 | $period = $period * 365; |
| 948 | 948 | } |
| 949 | 949 | } |
@@ -951,14 +951,14 @@ discard block |
||
| 951 | 951 | return $period; |
| 952 | 952 | } |
| 953 | 953 | |
| 954 | -function wpinv_cal_days_in_month( $calendar, $month, $year ) { |
|
| 955 | - if ( function_exists( 'cal_days_in_month' ) ) { |
|
| 956 | - return cal_days_in_month( $calendar, $month, $year ); |
|
| 954 | +function wpinv_cal_days_in_month($calendar, $month, $year) { |
|
| 955 | + if (function_exists('cal_days_in_month')) { |
|
| 956 | + return cal_days_in_month($calendar, $month, $year); |
|
| 957 | 957 | } |
| 958 | 958 | |
| 959 | 959 | // Fallback in case the calendar extension is not loaded in PHP |
| 960 | 960 | // Only supports Gregorian calendar |
| 961 | - return date( 't', mktime( 0, 0, 0, $month, 1, $year ) ); |
|
| 961 | + return date('t', mktime(0, 0, 0, $month, 1, $year)); |
|
| 962 | 962 | } |
| 963 | 963 | |
| 964 | 964 | /** |
@@ -969,11 +969,11 @@ discard block |
||
| 969 | 969 | * |
| 970 | 970 | * @return string |
| 971 | 971 | */ |
| 972 | -function wpi_help_tip( $tip, $allow_html = false ) { |
|
| 973 | - if ( $allow_html ) { |
|
| 974 | - $tip = wpi_sanitize_tooltip( $tip ); |
|
| 972 | +function wpi_help_tip($tip, $allow_html = false) { |
|
| 973 | + if ($allow_html) { |
|
| 974 | + $tip = wpi_sanitize_tooltip($tip); |
|
| 975 | 975 | } else { |
| 976 | - $tip = esc_attr( $tip ); |
|
| 976 | + $tip = esc_attr($tip); |
|
| 977 | 977 | } |
| 978 | 978 | |
| 979 | 979 | return '<span class="wpi-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>'; |
@@ -987,8 +987,8 @@ discard block |
||
| 987 | 987 | * @param string $var |
| 988 | 988 | * @return string |
| 989 | 989 | */ |
| 990 | -function wpi_sanitize_tooltip( $var ) { |
|
| 991 | - return htmlspecialchars( wp_kses( html_entity_decode( $var ), array( |
|
| 990 | +function wpi_sanitize_tooltip($var) { |
|
| 991 | + return htmlspecialchars(wp_kses(html_entity_decode($var), array( |
|
| 992 | 992 | 'br' => array(), |
| 993 | 993 | 'em' => array(), |
| 994 | 994 | 'strong' => array(), |
@@ -998,7 +998,7 @@ discard block |
||
| 998 | 998 | 'li' => array(), |
| 999 | 999 | 'ol' => array(), |
| 1000 | 1000 | 'p' => array(), |
| 1001 | - ) ) ); |
|
| 1001 | + ))); |
|
| 1002 | 1002 | } |
| 1003 | 1003 | |
| 1004 | 1004 | /** |
@@ -1008,7 +1008,7 @@ discard block |
||
| 1008 | 1008 | */ |
| 1009 | 1009 | function wpinv_get_screen_ids() { |
| 1010 | 1010 | |
| 1011 | - $screen_id = sanitize_title( __( 'Invoicing', 'invoicing' ) ); |
|
| 1011 | + $screen_id = sanitize_title(__('Invoicing', 'invoicing')); |
|
| 1012 | 1012 | |
| 1013 | 1013 | $screen_ids = array( |
| 1014 | 1014 | 'toplevel_page_' . $screen_id, |
@@ -1026,7 +1026,7 @@ discard block |
||
| 1026 | 1026 | 'invoicing_page_wpi-addons', |
| 1027 | 1027 | ); |
| 1028 | 1028 | |
| 1029 | - return apply_filters( 'wpinv_screen_ids', $screen_ids ); |
|
| 1029 | + return apply_filters('wpinv_screen_ids', $screen_ids); |
|
| 1030 | 1030 | } |
| 1031 | 1031 | |
| 1032 | 1032 | /** |
@@ -1037,9 +1037,9 @@ discard block |
||
| 1037 | 1037 | * @param array|string $list List of values. |
| 1038 | 1038 | * @return array Sanitized array of values. |
| 1039 | 1039 | */ |
| 1040 | -function wpinv_parse_list( $list ) { |
|
| 1041 | - if ( ! is_array( $list ) ) { |
|
| 1042 | - return preg_split( '/[\s,]+/', $list, -1, PREG_SPLIT_NO_EMPTY ); |
|
| 1040 | +function wpinv_parse_list($list) { |
|
| 1041 | + if (!is_array($list)) { |
|
| 1042 | + return preg_split('/[\s,]+/', $list, -1, PREG_SPLIT_NO_EMPTY); |
|
| 1043 | 1043 | } |
| 1044 | 1044 | |
| 1045 | 1045 | return $list; |
@@ -1051,19 +1051,19 @@ discard block |
||
| 1051 | 1051 | * @param string|array $var Data to sanitize. |
| 1052 | 1052 | * @return string|array |
| 1053 | 1053 | */ |
| 1054 | -function wpinv_clean( $var ) { |
|
| 1054 | +function wpinv_clean($var) { |
|
| 1055 | 1055 | |
| 1056 | - if ( is_array( $var ) ) { |
|
| 1057 | - return array_map( 'wpinv_clean', $var ); |
|
| 1056 | + if (is_array($var)) { |
|
| 1057 | + return array_map('wpinv_clean', $var); |
|
| 1058 | 1058 | } |
| 1059 | 1059 | |
| 1060 | - if ( is_object( $var ) ) { |
|
| 1061 | - $object_vars = get_object_vars( $var ); |
|
| 1062 | - foreach ( $object_vars as $property_name => $property_value ) { |
|
| 1063 | - $var->$property_name = wpinv_clean( $property_value ); |
|
| 1060 | + if (is_object($var)) { |
|
| 1061 | + $object_vars = get_object_vars($var); |
|
| 1062 | + foreach ($object_vars as $property_name => $property_value) { |
|
| 1063 | + $var->$property_name = wpinv_clean($property_value); |
|
| 1064 | 1064 | } |
| 1065 | 1065 | return $var; |
| 1066 | 1066 | } |
| 1067 | 1067 | |
| 1068 | - return is_string( $var ) ? sanitize_text_field( $var ) : $var; |
|
| 1068 | + return is_string($var) ? sanitize_text_field($var) : $var; |
|
| 1069 | 1069 | } |
| 1070 | 1070 | \ No newline at end of file |
@@ -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( 'First payment only', 'invoicing' ); ?></option> |
|
| 320 | - <option value="1" <?php selected( true, $recurring ); ?>><?php _e( 'All payments', 'invoicing' ); ?></option> |
|
| 319 | + <option value="0" <?php selected(false, $recurring); ?>><?php _e('First payment only', 'invoicing'); ?></option> |
|
| 320 | + <option value="1" <?php selected(true, $recurring); ?>><?php _e('All payments', '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 |
@@ -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,229 +88,229 @@ 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-discount.php' ); |
|
| 131 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-item.php' ); |
|
| 132 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-notes.php' ); |
|
| 133 | - require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php' ); |
|
| 134 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php' ); |
|
| 135 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php' ); |
|
| 136 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php' ); |
|
| 137 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-reports.php' ); |
|
| 138 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php' ); |
|
| 139 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php' ); |
|
| 140 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' ); |
|
| 141 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php' ); |
|
| 142 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions.php' ); |
|
| 143 | - require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php' ); |
|
| 144 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-subscriptions-list-table.php' ); |
|
| 145 | - require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php' ); |
|
| 146 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php' ); |
|
| 147 | - require_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php' ); |
|
| 148 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php' ); |
|
| 149 | - require_once( WPINV_PLUGIN_DIR . 'widgets/checkout.php' ); |
|
| 150 | - require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-history.php' ); |
|
| 151 | - require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php' ); |
|
| 152 | - require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php' ); |
|
| 153 | - require_once( WPINV_PLUGIN_DIR . 'widgets/subscriptions.php' ); |
|
| 154 | - require_once( WPINV_PLUGIN_DIR . 'widgets/buy-item.php' ); |
|
| 155 | - |
|
| 156 | - if ( !class_exists( 'WPInv_EUVat' ) ) { |
|
| 157 | - 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-discount.php'); |
|
| 131 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-item.php'); |
|
| 132 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-notes.php'); |
|
| 133 | + require_once(WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php'); |
|
| 134 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php'); |
|
| 135 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php'); |
|
| 136 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php'); |
|
| 137 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-reports.php'); |
|
| 138 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php'); |
|
| 139 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php'); |
|
| 140 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php'); |
|
| 141 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php'); |
|
| 142 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions.php'); |
|
| 143 | + require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php'); |
|
| 144 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-subscriptions-list-table.php'); |
|
| 145 | + require_once(WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php'); |
|
| 146 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php'); |
|
| 147 | + require_once(WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php'); |
|
| 148 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php'); |
|
| 149 | + require_once(WPINV_PLUGIN_DIR . 'widgets/checkout.php'); |
|
| 150 | + require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-history.php'); |
|
| 151 | + require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php'); |
|
| 152 | + require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php'); |
|
| 153 | + require_once(WPINV_PLUGIN_DIR . 'widgets/subscriptions.php'); |
|
| 154 | + require_once(WPINV_PLUGIN_DIR . 'widgets/buy-item.php'); |
|
| 155 | + |
|
| 156 | + if (!class_exists('WPInv_EUVat')) { |
|
| 157 | + require_once(WPINV_PLUGIN_DIR . 'includes/libraries/wpinv-euvat/class-wpinv-euvat.php'); |
|
| 158 | 158 | } |
| 159 | 159 | |
| 160 | - $gateways = array_keys( wpinv_get_enabled_payment_gateways() ); |
|
| 161 | - if ( !empty( $gateways ) ) { |
|
| 162 | - foreach ( $gateways as $gateway ) { |
|
| 163 | - if ( $gateway == 'manual' ) { |
|
| 160 | + $gateways = array_keys(wpinv_get_enabled_payment_gateways()); |
|
| 161 | + if (!empty($gateways)) { |
|
| 162 | + foreach ($gateways as $gateway) { |
|
| 163 | + if ($gateway == 'manual') { |
|
| 164 | 164 | continue; |
| 165 | 165 | } |
| 166 | 166 | |
| 167 | 167 | $gateway_file = WPINV_PLUGIN_DIR . 'includes/gateways/' . $gateway . '.php'; |
| 168 | 168 | |
| 169 | - if ( file_exists( $gateway_file ) ) { |
|
| 170 | - require_once( $gateway_file ); |
|
| 169 | + if (file_exists($gateway_file)) { |
|
| 170 | + require_once($gateway_file); |
|
| 171 | 171 | } |
| 172 | 172 | } |
| 173 | 173 | } |
| 174 | - require_once( WPINV_PLUGIN_DIR . 'includes/gateways/manual.php' ); |
|
| 174 | + require_once(WPINV_PLUGIN_DIR . 'includes/gateways/manual.php'); |
|
| 175 | 175 | |
| 176 | - if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) { |
|
| 177 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-upgrade-functions.php' ); |
|
| 178 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php' ); |
|
| 179 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-meta-boxes.php' ); |
|
| 176 | + if (is_admin() || (defined('WP_CLI') && WP_CLI)) { |
|
| 177 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/wpinv-upgrade-functions.php'); |
|
| 178 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php'); |
|
| 179 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/admin-meta-boxes.php'); |
|
| 180 | 180 | //require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-recurring-admin.php' ); |
| 181 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-details.php' ); |
|
| 182 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-items.php' ); |
|
| 183 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php' ); |
|
| 184 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-address.php' ); |
|
| 185 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php' ); |
|
| 186 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php' ); |
|
| 187 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php' ); |
|
| 181 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-details.php'); |
|
| 182 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-items.php'); |
|
| 183 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php'); |
|
| 184 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-address.php'); |
|
| 185 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php'); |
|
| 186 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php'); |
|
| 187 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php'); |
|
| 188 | 188 | //require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' ); |
| 189 | 189 | // load the user class only on the users.php page |
| 190 | 190 | global $pagenow; |
| 191 | - if($pagenow=='users.php'){ |
|
| 191 | + if ($pagenow == 'users.php') { |
|
| 192 | 192 | new WPInv_Admin_Users(); |
| 193 | 193 | } |
| 194 | 194 | } |
| 195 | 195 | |
| 196 | 196 | // Register cli commands |
| 197 | - if ( defined( 'WP_CLI' ) && WP_CLI ) { |
|
| 198 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php' ); |
|
| 199 | - WP_CLI::add_command( 'invoicing', 'WPInv_CLI' ); |
|
| 197 | + if (defined('WP_CLI') && WP_CLI) { |
|
| 198 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php'); |
|
| 199 | + WP_CLI::add_command('invoicing', 'WPInv_CLI'); |
|
| 200 | 200 | } |
| 201 | 201 | |
| 202 | 202 | // include css inliner |
| 203 | - if ( ! class_exists( 'Emogrifier' ) && class_exists( 'DOMDocument' ) ) { |
|
| 204 | - include_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-emogrifier.php' ); |
|
| 203 | + if (!class_exists('Emogrifier') && class_exists('DOMDocument')) { |
|
| 204 | + include_once(WPINV_PLUGIN_DIR . 'includes/libraries/class-emogrifier.php'); |
|
| 205 | 205 | } |
| 206 | 206 | |
| 207 | - require_once( WPINV_PLUGIN_DIR . 'includes/admin/install.php' ); |
|
| 207 | + require_once(WPINV_PLUGIN_DIR . 'includes/admin/install.php'); |
|
| 208 | 208 | } |
| 209 | 209 | |
| 210 | 210 | public function init() { |
| 211 | 211 | } |
| 212 | 212 | |
| 213 | 213 | public function admin_init() { |
| 214 | - add_action( 'admin_print_scripts-edit.php', array( &$this, 'admin_print_scripts_edit_php' ) ); |
|
| 214 | + add_action('admin_print_scripts-edit.php', array(&$this, 'admin_print_scripts_edit_php')); |
|
| 215 | 215 | } |
| 216 | 216 | |
| 217 | 217 | public function activation_redirect() { |
| 218 | 218 | // Bail if no activation redirect |
| 219 | - if ( !get_transient( '_wpinv_activation_redirect' ) ) { |
|
| 219 | + if (!get_transient('_wpinv_activation_redirect')) { |
|
| 220 | 220 | return; |
| 221 | 221 | } |
| 222 | 222 | |
| 223 | 223 | // Delete the redirect transient |
| 224 | - delete_transient( '_wpinv_activation_redirect' ); |
|
| 224 | + delete_transient('_wpinv_activation_redirect'); |
|
| 225 | 225 | |
| 226 | 226 | // Bail if activating from network, or bulk |
| 227 | - if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) { |
|
| 227 | + if (is_network_admin() || isset($_GET['activate-multi'])) { |
|
| 228 | 228 | return; |
| 229 | 229 | } |
| 230 | 230 | |
| 231 | - wp_safe_redirect( admin_url( 'admin.php?page=wpinv-settings&tab=general' ) ); |
|
| 231 | + wp_safe_redirect(admin_url('admin.php?page=wpinv-settings&tab=general')); |
|
| 232 | 232 | exit; |
| 233 | 233 | } |
| 234 | 234 | |
| 235 | 235 | public function enqueue_scripts() { |
| 236 | - $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; |
|
| 236 | + $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; |
|
| 237 | 237 | |
| 238 | - wp_register_style( 'wpinv_front_style', WPINV_PLUGIN_URL . 'assets/css/invoice-front.css', array(), WPINV_VERSION ); |
|
| 239 | - wp_enqueue_style( 'wpinv_front_style' ); |
|
| 238 | + wp_register_style('wpinv_front_style', WPINV_PLUGIN_URL . 'assets/css/invoice-front.css', array(), WPINV_VERSION); |
|
| 239 | + wp_enqueue_style('wpinv_front_style'); |
|
| 240 | 240 | |
| 241 | 241 | // Register scripts |
| 242 | - wp_register_script( 'jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array( 'jquery' ), '2.70', true ); |
|
| 243 | - wp_register_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/invoice-front.js', array( 'jquery' ), WPINV_VERSION ); |
|
| 242 | + wp_register_script('jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array('jquery'), '2.70', true); |
|
| 243 | + wp_register_script('wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/invoice-front.js', array('jquery'), WPINV_VERSION); |
|
| 244 | 244 | |
| 245 | 245 | $localize = array(); |
| 246 | - $localize['ajax_url'] = admin_url( 'admin-ajax.php' ); |
|
| 247 | - $localize['nonce'] = wp_create_nonce( 'wpinv-nonce' ); |
|
| 246 | + $localize['ajax_url'] = admin_url('admin-ajax.php'); |
|
| 247 | + $localize['nonce'] = wp_create_nonce('wpinv-nonce'); |
|
| 248 | 248 | $localize['currency_symbol'] = wpinv_currency_symbol(); |
| 249 | 249 | $localize['currency_pos'] = wpinv_currency_position(); |
| 250 | 250 | $localize['thousand_sep'] = wpinv_thousands_separator(); |
| 251 | 251 | $localize['decimal_sep'] = wpinv_decimal_separator(); |
| 252 | 252 | $localize['decimals'] = wpinv_decimals(); |
| 253 | - $localize['txtComplete'] = __( 'Complete', 'invoicing' ); |
|
| 253 | + $localize['txtComplete'] = __('Complete', 'invoicing'); |
|
| 254 | 254 | $localize['UseTaxes'] = wpinv_use_taxes(); |
| 255 | - $localize['checkoutNonce'] = wp_create_nonce( 'wpinv_checkout_nonce' ); |
|
| 255 | + $localize['checkoutNonce'] = wp_create_nonce('wpinv_checkout_nonce'); |
|
| 256 | 256 | |
| 257 | - $localize = apply_filters( 'wpinv_front_js_localize', $localize ); |
|
| 257 | + $localize = apply_filters('wpinv_front_js_localize', $localize); |
|
| 258 | 258 | |
| 259 | - wp_enqueue_script( 'jquery-blockui' ); |
|
| 259 | + wp_enqueue_script('jquery-blockui'); |
|
| 260 | 260 | $autofill_api = wpinv_get_option('address_autofill_api'); |
| 261 | 261 | $autofill_active = wpinv_get_option('address_autofill_active'); |
| 262 | - if ( isset( $autofill_active ) && 1 == $autofill_active && !empty( $autofill_api ) && wpinv_is_checkout() ) { |
|
| 263 | - if ( wp_script_is( 'google-maps-api', 'enqueued' ) ) { |
|
| 264 | - wp_dequeue_script( 'google-maps-api' ); |
|
| 262 | + if (isset($autofill_active) && 1 == $autofill_active && !empty($autofill_api) && wpinv_is_checkout()) { |
|
| 263 | + if (wp_script_is('google-maps-api', 'enqueued')) { |
|
| 264 | + wp_dequeue_script('google-maps-api'); |
|
| 265 | 265 | } |
| 266 | - wp_enqueue_script( 'google-maps-api', 'https://maps.googleapis.com/maps/api/js?key=' . $autofill_api . '&libraries=places', array( 'jquery' ), '', false ); |
|
| 267 | - wp_enqueue_script( 'google-maps-init', WPINV_PLUGIN_URL . 'assets/js/gaaf.js', array( 'jquery', 'google-maps-api' ), '', true ); |
|
| 266 | + wp_enqueue_script('google-maps-api', 'https://maps.googleapis.com/maps/api/js?key=' . $autofill_api . '&libraries=places', array('jquery'), '', false); |
|
| 267 | + wp_enqueue_script('google-maps-init', WPINV_PLUGIN_URL . 'assets/js/gaaf.js', array('jquery', 'google-maps-api'), '', true); |
|
| 268 | 268 | } |
| 269 | 269 | |
| 270 | - wp_enqueue_style( "select2", WPINV_PLUGIN_URL . 'assets/css/select2/select2.css', array(), WPINV_VERSION, 'all' ); |
|
| 271 | - wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full' . $suffix . '.js', array( 'jquery' ), WPINV_VERSION ); |
|
| 270 | + wp_enqueue_style("select2", WPINV_PLUGIN_URL . 'assets/css/select2/select2.css', array(), WPINV_VERSION, 'all'); |
|
| 271 | + wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full' . $suffix . '.js', array('jquery'), WPINV_VERSION); |
|
| 272 | 272 | |
| 273 | - wp_enqueue_script( 'wpinv-front-script' ); |
|
| 274 | - wp_localize_script( 'wpinv-front-script', 'WPInv', $localize ); |
|
| 273 | + wp_enqueue_script('wpinv-front-script'); |
|
| 274 | + wp_localize_script('wpinv-front-script', 'WPInv', $localize); |
|
| 275 | 275 | } |
| 276 | 276 | |
| 277 | 277 | public function admin_enqueue_scripts() { |
| 278 | 278 | global $post, $pagenow; |
| 279 | 279 | |
| 280 | 280 | $post_type = wpinv_admin_post_type(); |
| 281 | - $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; |
|
| 282 | - $page = isset( $_GET['page'] ) ? strtolower( $_GET['page'] ) : ''; |
|
| 281 | + $suffix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min'; |
|
| 282 | + $page = isset($_GET['page']) ? strtolower($_GET['page']) : ''; |
|
| 283 | 283 | |
| 284 | 284 | $jquery_ui_css = false; |
| 285 | - if ( ( $post_type == 'wpi_invoice' || $post_type == 'wpi_quote' || $post_type == 'wpi_discount' ) && ( $pagenow == 'post-new.php' || $pagenow == 'post.php' ) ) { |
|
| 285 | + if (($post_type == 'wpi_invoice' || $post_type == 'wpi_quote' || $post_type == 'wpi_discount') && ($pagenow == 'post-new.php' || $pagenow == 'post.php')) { |
|
| 286 | 286 | $jquery_ui_css = true; |
| 287 | - } else if ( $page == 'wpinv-settings' || $page == 'wpinv-reports' ) { |
|
| 287 | + } else if ($page == 'wpinv-settings' || $page == 'wpinv-reports') { |
|
| 288 | 288 | $jquery_ui_css = true; |
| 289 | 289 | } |
| 290 | - if ( $jquery_ui_css ) { |
|
| 291 | - wp_register_style( 'jquery-ui-css', WPINV_PLUGIN_URL . 'assets/css/jquery-ui' . $suffix . '.css', array(), '1.8.16' ); |
|
| 292 | - wp_enqueue_style( 'jquery-ui-css' ); |
|
| 290 | + if ($jquery_ui_css) { |
|
| 291 | + wp_register_style('jquery-ui-css', WPINV_PLUGIN_URL . 'assets/css/jquery-ui' . $suffix . '.css', array(), '1.8.16'); |
|
| 292 | + wp_enqueue_style('jquery-ui-css'); |
|
| 293 | 293 | } |
| 294 | 294 | |
| 295 | - wp_register_style( 'wpinv_meta_box_style', WPINV_PLUGIN_URL . 'assets/css/meta-box.css', array(), WPINV_VERSION ); |
|
| 296 | - wp_enqueue_style( 'wpinv_meta_box_style' ); |
|
| 295 | + wp_register_style('wpinv_meta_box_style', WPINV_PLUGIN_URL . 'assets/css/meta-box.css', array(), WPINV_VERSION); |
|
| 296 | + wp_enqueue_style('wpinv_meta_box_style'); |
|
| 297 | 297 | |
| 298 | - wp_register_style( 'wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array(), WPINV_VERSION ); |
|
| 299 | - wp_enqueue_style( 'wpinv_admin_style' ); |
|
| 298 | + wp_register_style('wpinv_admin_style', WPINV_PLUGIN_URL . 'assets/css/admin.css', array(), WPINV_VERSION); |
|
| 299 | + wp_enqueue_style('wpinv_admin_style'); |
|
| 300 | 300 | |
| 301 | - $enqueue = ( $post_type == 'wpi_discount' || $post_type == 'wpi_invoice' && ( $pagenow == 'post-new.php' || $pagenow == 'post.php' ) ); |
|
| 302 | - if ( $page == 'wpinv-subscriptions' ) { |
|
| 303 | - wp_enqueue_script( 'jquery-ui-datepicker' ); |
|
| 301 | + $enqueue = ($post_type == 'wpi_discount' || $post_type == 'wpi_invoice' && ($pagenow == 'post-new.php' || $pagenow == 'post.php')); |
|
| 302 | + if ($page == 'wpinv-subscriptions') { |
|
| 303 | + wp_enqueue_script('jquery-ui-datepicker'); |
|
| 304 | 304 | } |
| 305 | 305 | |
| 306 | - if ( $enqueue_datepicker = apply_filters( 'wpinv_admin_enqueue_jquery_ui_datepicker', $enqueue ) ) { |
|
| 307 | - wp_enqueue_script( 'jquery-ui-datepicker' ); |
|
| 306 | + if ($enqueue_datepicker = apply_filters('wpinv_admin_enqueue_jquery_ui_datepicker', $enqueue)) { |
|
| 307 | + wp_enqueue_script('jquery-ui-datepicker'); |
|
| 308 | 308 | } |
| 309 | 309 | |
| 310 | - wp_enqueue_style( 'wp-color-picker' ); |
|
| 311 | - wp_enqueue_script( 'wp-color-picker' ); |
|
| 310 | + wp_enqueue_style('wp-color-picker'); |
|
| 311 | + wp_enqueue_script('wp-color-picker'); |
|
| 312 | 312 | |
| 313 | - wp_register_script( 'jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array( 'jquery' ), '2.70', true ); |
|
| 313 | + wp_register_script('jquery-blockui', WPINV_PLUGIN_URL . 'assets/js/jquery.blockUI.min.js', array('jquery'), '2.70', true); |
|
| 314 | 314 | |
| 315 | 315 | if (($post_type == 'wpi_invoice' || $post_type == 'wpi_quote') && ($pagenow == 'post-new.php' || $pagenow == 'post.php')) { |
| 316 | 316 | $autofill_api = wpinv_get_option('address_autofill_api'); |
@@ -321,20 +321,20 @@ discard block |
||
| 321 | 321 | } |
| 322 | 322 | } |
| 323 | 323 | |
| 324 | - wp_enqueue_style( "select2", WPINV_PLUGIN_URL . 'assets/css/select2/select2.css', array(), WPINV_VERSION, 'all' ); |
|
| 325 | - wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full' . $suffix . '.js', array( 'jquery' ), WPINV_VERSION ); |
|
| 324 | + wp_enqueue_style("select2", WPINV_PLUGIN_URL . 'assets/css/select2/select2.css', array(), WPINV_VERSION, 'all'); |
|
| 325 | + wp_enqueue_script('select2', WPINV_PLUGIN_URL . 'assets/js/select2/select2.full' . $suffix . '.js', array('jquery'), WPINV_VERSION); |
|
| 326 | 326 | |
| 327 | - wp_register_script( 'wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin.js', array( 'jquery', 'jquery-blockui','jquery-ui-tooltip' ), WPINV_VERSION ); |
|
| 328 | - wp_enqueue_script( 'wpinv-admin-script' ); |
|
| 327 | + wp_register_script('wpinv-admin-script', WPINV_PLUGIN_URL . 'assets/js/admin.js', array('jquery', 'jquery-blockui', 'jquery-ui-tooltip'), WPINV_VERSION); |
|
| 328 | + wp_enqueue_script('wpinv-admin-script'); |
|
| 329 | 329 | |
| 330 | 330 | $localize = array(); |
| 331 | - $localize['ajax_url'] = admin_url( 'admin-ajax.php' ); |
|
| 332 | - $localize['post_ID'] = isset( $post->ID ) ? $post->ID : ''; |
|
| 333 | - $localize['wpinv_nonce'] = wp_create_nonce( 'wpinv-nonce' ); |
|
| 334 | - $localize['add_invoice_note_nonce'] = wp_create_nonce( 'add-invoice-note' ); |
|
| 335 | - $localize['delete_invoice_note_nonce'] = wp_create_nonce( 'delete-invoice-note' ); |
|
| 336 | - $localize['invoice_item_nonce'] = wp_create_nonce( 'invoice-item' ); |
|
| 337 | - $localize['billing_details_nonce'] = wp_create_nonce( 'get-billing-details' ); |
|
| 331 | + $localize['ajax_url'] = admin_url('admin-ajax.php'); |
|
| 332 | + $localize['post_ID'] = isset($post->ID) ? $post->ID : ''; |
|
| 333 | + $localize['wpinv_nonce'] = wp_create_nonce('wpinv-nonce'); |
|
| 334 | + $localize['add_invoice_note_nonce'] = wp_create_nonce('add-invoice-note'); |
|
| 335 | + $localize['delete_invoice_note_nonce'] = wp_create_nonce('delete-invoice-note'); |
|
| 336 | + $localize['invoice_item_nonce'] = wp_create_nonce('invoice-item'); |
|
| 337 | + $localize['billing_details_nonce'] = wp_create_nonce('get-billing-details'); |
|
| 338 | 338 | $localize['tax'] = wpinv_tax_amount(); |
| 339 | 339 | $localize['discount'] = wpinv_discount_amount(); |
| 340 | 340 | $localize['currency_symbol'] = wpinv_currency_symbol(); |
@@ -342,69 +342,69 @@ discard block |
||
| 342 | 342 | $localize['thousand_sep'] = wpinv_thousands_separator(); |
| 343 | 343 | $localize['decimal_sep'] = wpinv_decimal_separator(); |
| 344 | 344 | $localize['decimals'] = wpinv_decimals(); |
| 345 | - $localize['save_invoice'] = __( 'Save Invoice', 'invoicing' ); |
|
| 346 | - $localize['status_publish'] = wpinv_status_nicename( 'publish' ); |
|
| 347 | - $localize['status_pending'] = wpinv_status_nicename( 'wpi-pending' ); |
|
| 348 | - $localize['delete_tax_rate'] = __( 'Are you sure you wish to delete this tax rate?', 'invoicing' ); |
|
| 349 | - $localize['OneItemMin'] = __( 'Invoice must contain at least one item', 'invoicing' ); |
|
| 350 | - $localize['DeleteInvoiceItem'] = __( 'Are you sure you wish to delete this item?', 'invoicing' ); |
|
| 351 | - $localize['FillBillingDetails'] = __( 'Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing' ); |
|
| 352 | - $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' ); |
|
| 353 | - $localize['AreYouSure'] = __( 'Are you sure?', 'invoicing' ); |
|
| 354 | - $localize['emptyInvoice'] = __( 'Add at least one item to save invoice!', 'invoicing' ); |
|
| 355 | - $localize['errDeleteItem'] = __( 'This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing' ); |
|
| 356 | - $localize['delete_subscription'] = __( 'Are you sure you want to delete this subscription?', 'invoicing' ); |
|
| 357 | - $localize['action_edit'] = __( 'Edit', 'invoicing' ); |
|
| 358 | - $localize['action_cancel'] = __( 'Cancel', 'invoicing' ); |
|
| 359 | - |
|
| 360 | - $localize = apply_filters( 'wpinv_admin_js_localize', $localize ); |
|
| 361 | - |
|
| 362 | - wp_localize_script( 'wpinv-admin-script', 'WPInv_Admin', $localize ); |
|
| 363 | - |
|
| 364 | - if ( $page == 'wpinv-subscriptions' ) { |
|
| 365 | - wp_register_script( 'wpinv-sub-admin-script', WPINV_PLUGIN_URL . 'assets/js/subscriptions.js', array( 'wpinv-admin-script' ), WPINV_VERSION ); |
|
| 366 | - wp_enqueue_script( 'wpinv-sub-admin-script' ); |
|
| 345 | + $localize['save_invoice'] = __('Save Invoice', 'invoicing'); |
|
| 346 | + $localize['status_publish'] = wpinv_status_nicename('publish'); |
|
| 347 | + $localize['status_pending'] = wpinv_status_nicename('wpi-pending'); |
|
| 348 | + $localize['delete_tax_rate'] = __('Are you sure you wish to delete this tax rate?', 'invoicing'); |
|
| 349 | + $localize['OneItemMin'] = __('Invoice must contain at least one item', 'invoicing'); |
|
| 350 | + $localize['DeleteInvoiceItem'] = __('Are you sure you wish to delete this item?', 'invoicing'); |
|
| 351 | + $localize['FillBillingDetails'] = __('Fill the user\'s billing information? This will remove any currently entered billing information', 'invoicing'); |
|
| 352 | + $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'); |
|
| 353 | + $localize['AreYouSure'] = __('Are you sure?', 'invoicing'); |
|
| 354 | + $localize['emptyInvoice'] = __('Add at least one item to save invoice!', 'invoicing'); |
|
| 355 | + $localize['errDeleteItem'] = __('This item is in use! Before delete this item, you need to delete all the invoice(s) using this item.', 'invoicing'); |
|
| 356 | + $localize['delete_subscription'] = __('Are you sure you want to delete this subscription?', 'invoicing'); |
|
| 357 | + $localize['action_edit'] = __('Edit', 'invoicing'); |
|
| 358 | + $localize['action_cancel'] = __('Cancel', 'invoicing'); |
|
| 359 | + |
|
| 360 | + $localize = apply_filters('wpinv_admin_js_localize', $localize); |
|
| 361 | + |
|
| 362 | + wp_localize_script('wpinv-admin-script', 'WPInv_Admin', $localize); |
|
| 363 | + |
|
| 364 | + if ($page == 'wpinv-subscriptions') { |
|
| 365 | + wp_register_script('wpinv-sub-admin-script', WPINV_PLUGIN_URL . 'assets/js/subscriptions.js', array('wpinv-admin-script'), WPINV_VERSION); |
|
| 366 | + wp_enqueue_script('wpinv-sub-admin-script'); |
|
| 367 | 367 | } |
| 368 | 368 | } |
| 369 | 369 | |
| 370 | - public function admin_body_class( $classes ) { |
|
| 370 | + public function admin_body_class($classes) { |
|
| 371 | 371 | global $pagenow, $post, $current_screen; |
| 372 | 372 | |
| 373 | - if ( !empty( $current_screen->post_type ) && ( $current_screen->post_type == 'wpi_invoice' || $current_screen->post_type == 'wpi_quote' ) ) { |
|
| 373 | + if (!empty($current_screen->post_type) && ($current_screen->post_type == 'wpi_invoice' || $current_screen->post_type == 'wpi_quote')) { |
|
| 374 | 374 | $classes .= ' wpinv-cpt'; |
| 375 | 375 | } |
| 376 | 376 | |
| 377 | - $page = isset( $_GET['page'] ) ? strtolower( $_GET['page'] ) : false; |
|
| 377 | + $page = isset($_GET['page']) ? strtolower($_GET['page']) : false; |
|
| 378 | 378 | |
| 379 | - $add_class = $page && $pagenow == 'admin.php' && strpos( $page, 'wpinv-' ) === 0 ? true : false; |
|
| 380 | - if ( $add_class ) { |
|
| 381 | - $classes .= ' wpi-' . wpinv_sanitize_key( $page ); |
|
| 379 | + $add_class = $page && $pagenow == 'admin.php' && strpos($page, 'wpinv-') === 0 ? true : false; |
|
| 380 | + if ($add_class) { |
|
| 381 | + $classes .= ' wpi-' . wpinv_sanitize_key($page); |
|
| 382 | 382 | } |
| 383 | 383 | |
| 384 | 384 | $settings_class = array(); |
| 385 | - if ( $page == 'wpinv-settings' ) { |
|
| 386 | - if ( !empty( $_REQUEST['tab'] ) ) { |
|
| 387 | - $settings_class[] = sanitize_text_field( $_REQUEST['tab'] ); |
|
| 385 | + if ($page == 'wpinv-settings') { |
|
| 386 | + if (!empty($_REQUEST['tab'])) { |
|
| 387 | + $settings_class[] = sanitize_text_field($_REQUEST['tab']); |
|
| 388 | 388 | } |
| 389 | 389 | |
| 390 | - if ( !empty( $_REQUEST['section'] ) ) { |
|
| 391 | - $settings_class[] = sanitize_text_field( $_REQUEST['section'] ); |
|
| 390 | + if (!empty($_REQUEST['section'])) { |
|
| 391 | + $settings_class[] = sanitize_text_field($_REQUEST['section']); |
|
| 392 | 392 | } |
| 393 | 393 | |
| 394 | - $settings_class[] = isset( $_REQUEST['wpi_sub'] ) && $_REQUEST['wpi_sub'] !== '' ? sanitize_text_field( $_REQUEST['wpi_sub'] ) : 'main'; |
|
| 394 | + $settings_class[] = isset($_REQUEST['wpi_sub']) && $_REQUEST['wpi_sub'] !== '' ? sanitize_text_field($_REQUEST['wpi_sub']) : 'main'; |
|
| 395 | 395 | } |
| 396 | 396 | |
| 397 | - if ( !empty( $settings_class ) ) { |
|
| 398 | - $classes .= ' wpi-' . wpinv_sanitize_key( implode( $settings_class, '-' ) ); |
|
| 397 | + if (!empty($settings_class)) { |
|
| 398 | + $classes .= ' wpi-' . wpinv_sanitize_key(implode($settings_class, '-')); |
|
| 399 | 399 | } |
| 400 | 400 | |
| 401 | 401 | $post_type = wpinv_admin_post_type(); |
| 402 | 402 | |
| 403 | - if ( $post_type == 'wpi_invoice' || $post_type == 'wpi_quote' || $add_class !== false ) { |
|
| 403 | + if ($post_type == 'wpi_invoice' || $post_type == 'wpi_quote' || $add_class !== false) { |
|
| 404 | 404 | return $classes .= ' wpinv'; |
| 405 | 405 | } |
| 406 | 406 | |
| 407 | - if ( $pagenow == 'post.php' && $post_type == 'wpi_item' && !empty( $post ) && !wpinv_item_is_editable( $post ) ) { |
|
| 407 | + if ($pagenow == 'post.php' && $post_type == 'wpi_item' && !empty($post) && !wpinv_item_is_editable($post)) { |
|
| 408 | 408 | $classes .= ' wpi-editable-n'; |
| 409 | 409 | } |
| 410 | 410 | |
@@ -416,21 +416,21 @@ discard block |
||
| 416 | 416 | } |
| 417 | 417 | |
| 418 | 418 | public function wpinv_actions() { |
| 419 | - if ( isset( $_REQUEST['wpi_action'] ) ) { |
|
| 420 | - do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST ); |
|
| 419 | + if (isset($_REQUEST['wpi_action'])) { |
|
| 420 | + do_action('wpinv_' . wpinv_sanitize_key($_REQUEST['wpi_action']), $_REQUEST); |
|
| 421 | 421 | } |
| 422 | 422 | } |
| 423 | 423 | |
| 424 | - public function pre_get_posts( $wp_query ) { |
|
| 425 | - 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() ) { |
|
| 426 | - $wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses() ); |
|
| 424 | + public function pre_get_posts($wp_query) { |
|
| 425 | + 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()) { |
|
| 426 | + $wp_query->query_vars['post_status'] = array_keys(wpinv_get_invoice_statuses()); |
|
| 427 | 427 | } |
| 428 | 428 | |
| 429 | 429 | return $wp_query; |
| 430 | 430 | } |
| 431 | 431 | |
| 432 | 432 | public function bp_invoicing_init() { |
| 433 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-bp-core.php' ); |
|
| 433 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-bp-core.php'); |
|
| 434 | 434 | } |
| 435 | 435 | |
| 436 | 436 | /** |
@@ -438,11 +438,11 @@ discard block |
||
| 438 | 438 | * |
| 439 | 439 | */ |
| 440 | 440 | public function register_widgets() { |
| 441 | - register_widget( "WPInv_Checkout_Widget" ); |
|
| 442 | - register_widget( "WPInv_History_Widget" ); |
|
| 443 | - register_widget( "WPInv_Receipt_Widget" ); |
|
| 444 | - register_widget( "WPInv_Subscriptions_Widget" ); |
|
| 445 | - register_widget( "WPInv_Buy_Item_Widget" ); |
|
| 446 | - register_widget( "WPInv_Messages_Widget" ); |
|
| 441 | + register_widget("WPInv_Checkout_Widget"); |
|
| 442 | + register_widget("WPInv_History_Widget"); |
|
| 443 | + register_widget("WPInv_Receipt_Widget"); |
|
| 444 | + register_widget("WPInv_Subscriptions_Widget"); |
|
| 445 | + register_widget("WPInv_Buy_Item_Widget"); |
|
| 446 | + register_widget("WPInv_Messages_Widget"); |
|
| 447 | 447 | } |
| 448 | 448 | } |
| 449 | 449 | \ No newline at end of file |
@@ -7,110 +7,110 @@ 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 | |
| 97 | 97 | return false; |
| 98 | 98 | } |
| 99 | 99 | |
| 100 | -function wpinv_get_all_discounts( $args = array() ) { |
|
| 100 | +function wpinv_get_all_discounts($args = array()) { |
|
| 101 | 101 | |
| 102 | - $args = wp_parse_args( $args, array( |
|
| 103 | - 'status' => array( 'publish' ), |
|
| 104 | - 'limit' => get_option( 'posts_per_page' ), |
|
| 102 | + $args = wp_parse_args($args, array( |
|
| 103 | + 'status' => array('publish'), |
|
| 104 | + 'limit' => get_option('posts_per_page'), |
|
| 105 | 105 | 'page' => 1, |
| 106 | 106 | 'exclude' => array(), |
| 107 | 107 | 'orderby' => 'date', |
| 108 | 108 | 'order' => 'DESC', |
| 109 | - 'type' => array_keys( wpinv_get_discount_types() ), |
|
| 109 | + 'type' => array_keys(wpinv_get_discount_types()), |
|
| 110 | 110 | 'meta_query' => array(), |
| 111 | 111 | 'return' => 'objects', |
| 112 | 112 | 'paginate' => false, |
| 113 | - ) ); |
|
| 113 | + )); |
|
| 114 | 114 | |
| 115 | 115 | $wp_query_args = array( |
| 116 | 116 | 'post_type' => 'wpi_discount', |
@@ -120,18 +120,18 @@ discard block |
||
| 120 | 120 | 'fields' => 'ids', |
| 121 | 121 | 'orderby' => $args['orderby'], |
| 122 | 122 | 'order' => $args['order'], |
| 123 | - 'paged' => absint( $args['page'] ), |
|
| 123 | + 'paged' => absint($args['page']), |
|
| 124 | 124 | ); |
| 125 | 125 | |
| 126 | - if ( ! empty( $args['exclude'] ) ) { |
|
| 127 | - $wp_query_args['post__not_in'] = array_map( 'absint', $args['exclude'] ); |
|
| 126 | + if (!empty($args['exclude'])) { |
|
| 127 | + $wp_query_args['post__not_in'] = array_map('absint', $args['exclude']); |
|
| 128 | 128 | } |
| 129 | 129 | |
| 130 | - if ( ! $args['paginate' ] ) { |
|
| 130 | + if (!$args['paginate']) { |
|
| 131 | 131 | $wp_query_args['no_found_rows'] = true; |
| 132 | 132 | } |
| 133 | 133 | |
| 134 | - if ( ! empty( $args['search'] ) ) { |
|
| 134 | + if (!empty($args['search'])) { |
|
| 135 | 135 | |
| 136 | 136 | $wp_query_args['meta_query'][] = array( |
| 137 | 137 | 'key' => '_wpi_discount_code', |
@@ -141,11 +141,11 @@ discard block |
||
| 141 | 141 | |
| 142 | 142 | } |
| 143 | 143 | |
| 144 | - if ( ! empty( $args['type'] ) ) { |
|
| 145 | - $types = wpinv_parse_list( $args['type'] ); |
|
| 144 | + if (!empty($args['type'])) { |
|
| 145 | + $types = wpinv_parse_list($args['type']); |
|
| 146 | 146 | $wp_query_args['meta_query'][] = array( |
| 147 | 147 | 'key' => '_wpi_discount_type', |
| 148 | - 'value' => implode( ',', $types ), |
|
| 148 | + 'value' => implode(',', $types), |
|
| 149 | 149 | 'compare' => 'IN', |
| 150 | 150 | ); |
| 151 | 151 | } |
@@ -153,17 +153,17 @@ discard block |
||
| 153 | 153 | $wp_query_args = apply_filters('wpinv_get_discount_args', $wp_query_args, $args); |
| 154 | 154 | |
| 155 | 155 | // Get results. |
| 156 | - $discounts = new WP_Query( $wp_query_args ); |
|
| 156 | + $discounts = new WP_Query($wp_query_args); |
|
| 157 | 157 | |
| 158 | - if ( 'objects' === $args['return'] ) { |
|
| 159 | - $return = array_map( 'get_post', $discounts->posts ); |
|
| 160 | - } elseif ( 'self' === $args['return'] ) { |
|
| 158 | + if ('objects' === $args['return']) { |
|
| 159 | + $return = array_map('get_post', $discounts->posts); |
|
| 160 | + } elseif ('self' === $args['return']) { |
|
| 161 | 161 | return $discounts; |
| 162 | 162 | } else { |
| 163 | 163 | $return = $discounts->posts; |
| 164 | 164 | } |
| 165 | 165 | |
| 166 | - if ( $args['paginate' ] ) { |
|
| 166 | + if ($args['paginate']) { |
|
| 167 | 167 | return (object) array( |
| 168 | 168 | 'discounts' => $return, |
| 169 | 169 | 'total' => $discounts->found_posts, |
@@ -180,9 +180,9 @@ discard block |
||
| 180 | 180 | |
| 181 | 181 | $discounts = wpinv_get_discounts(); |
| 182 | 182 | |
| 183 | - if ( $discounts) { |
|
| 184 | - foreach ( $discounts as $discount ) { |
|
| 185 | - if ( wpinv_is_discount_active( $discount->ID ) ) { |
|
| 183 | + if ($discounts) { |
|
| 184 | + foreach ($discounts as $discount) { |
|
| 185 | + if (wpinv_is_discount_active($discount->ID)) { |
|
| 186 | 186 | $has_active = true; |
| 187 | 187 | break; |
| 188 | 188 | } |
@@ -191,16 +191,16 @@ discard block |
||
| 191 | 191 | return $has_active; |
| 192 | 192 | } |
| 193 | 193 | |
| 194 | -function wpinv_get_discount( $discount_id = 0 ) { |
|
| 195 | - if( empty( $discount_id ) ) { |
|
| 194 | +function wpinv_get_discount($discount_id = 0) { |
|
| 195 | + if (empty($discount_id)) { |
|
| 196 | 196 | return false; |
| 197 | 197 | } |
| 198 | 198 | |
| 199 | - if ( get_post_type( $discount_id ) != 'wpi_discount' ) { |
|
| 199 | + if (get_post_type($discount_id) != 'wpi_discount') { |
|
| 200 | 200 | return false; |
| 201 | 201 | } |
| 202 | 202 | |
| 203 | - $discount = get_post( $discount_id ); |
|
| 203 | + $discount = get_post($discount_id); |
|
| 204 | 204 | |
| 205 | 205 | return $discount; |
| 206 | 206 | } |
@@ -212,8 +212,8 @@ discard block |
||
| 212 | 212 | * @since 1.0.14 |
| 213 | 213 | * @return WPInv_Discount |
| 214 | 214 | */ |
| 215 | -function wpinv_get_discount_obj( $discount = 0 ) { |
|
| 216 | - return new WPInv_Discount( $discount ); |
|
| 215 | +function wpinv_get_discount_obj($discount = 0) { |
|
| 216 | + return new WPInv_Discount($discount); |
|
| 217 | 217 | } |
| 218 | 218 | |
| 219 | 219 | /** |
@@ -222,8 +222,8 @@ discard block |
||
| 222 | 222 | * @param string $code The discount code. |
| 223 | 223 | * @return bool|WP_Post |
| 224 | 224 | */ |
| 225 | -function wpinv_get_discount_by_code( $code = '' ) { |
|
| 226 | - return wpinv_get_discount_by( 'code', $code ); |
|
| 225 | +function wpinv_get_discount_by_code($code = '') { |
|
| 226 | + return wpinv_get_discount_by('code', $code); |
|
| 227 | 227 | } |
| 228 | 228 | |
| 229 | 229 | /** |
@@ -233,13 +233,13 @@ discard block |
||
| 233 | 233 | * @param string|int $value The field value |
| 234 | 234 | * @return bool|WP_Post |
| 235 | 235 | */ |
| 236 | -function wpinv_get_discount_by( $field = '', $value = '' ) { |
|
| 237 | - $data = WPInv_Discount::get_data_by( $field, $value ); |
|
| 238 | - if( empty( $data ) ) { |
|
| 236 | +function wpinv_get_discount_by($field = '', $value = '') { |
|
| 237 | + $data = WPInv_Discount::get_data_by($field, $value); |
|
| 238 | + if (empty($data)) { |
|
| 239 | 239 | return false; |
| 240 | 240 | } |
| 241 | 241 | |
| 242 | - return get_post( $data['ID'] ); |
|
| 242 | + return get_post($data['ID']); |
|
| 243 | 243 | } |
| 244 | 244 | |
| 245 | 245 | /** |
@@ -249,30 +249,30 @@ discard block |
||
| 249 | 249 | * @param array $data The discount's properties. |
| 250 | 250 | * @return bool |
| 251 | 251 | */ |
| 252 | -function wpinv_store_discount( $post_id, $data ) { |
|
| 252 | +function wpinv_store_discount($post_id, $data) { |
|
| 253 | 253 | |
| 254 | 254 | // Sanitize data. |
| 255 | - if( isset( $data['single_use'] ) ) { |
|
| 255 | + if (isset($data['single_use'])) { |
|
| 256 | 256 | $data['is_single_use'] = (bool) $data['single_use']; |
| 257 | - unset( $data['single_use'] ); |
|
| 257 | + unset($data['single_use']); |
|
| 258 | 258 | } else { |
| 259 | 259 | $data['is_single_use'] = false; |
| 260 | 260 | } |
| 261 | 261 | |
| 262 | - if( isset( $data['recurring'] ) ) { |
|
| 262 | + if (isset($data['recurring'])) { |
|
| 263 | 263 | $data['is_recurring'] = (bool) $data['recurring']; |
| 264 | - unset( $data['recurring'] ); |
|
| 264 | + unset($data['recurring']); |
|
| 265 | 265 | } |
| 266 | 266 | |
| 267 | 267 | // Fetch existing data. |
| 268 | - $existing_data = WPInv_Discount::get_data_by( 'id', $post_id ); |
|
| 269 | - if( empty( $existing_data ) ) { |
|
| 268 | + $existing_data = WPInv_Discount::get_data_by('id', $post_id); |
|
| 269 | + if (empty($existing_data)) { |
|
| 270 | 270 | return false; |
| 271 | 271 | } |
| 272 | 272 | |
| 273 | 273 | // Merge it into the new data and save. |
| 274 | - $data = wp_parse_args( $data, $existing_data ); |
|
| 275 | - $discount = wpinv_get_discount_obj( $data ); |
|
| 274 | + $data = wp_parse_args($data, $existing_data); |
|
| 275 | + $discount = wpinv_get_discount_obj($data); |
|
| 276 | 276 | return $discount->save(); |
| 277 | 277 | } |
| 278 | 278 | |
@@ -282,10 +282,10 @@ discard block |
||
| 282 | 282 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
| 283 | 283 | * @return bool |
| 284 | 284 | */ |
| 285 | -function wpinv_remove_discount( $discount = 0 ) { |
|
| 285 | +function wpinv_remove_discount($discount = 0) { |
|
| 286 | 286 | |
| 287 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 288 | - if( ! $discount->exists() ) { |
|
| 287 | + $discount = wpinv_get_discount_obj($discount); |
|
| 288 | + if (!$discount->exists()) { |
|
| 289 | 289 | return false; |
| 290 | 290 | } |
| 291 | 291 | |
@@ -300,9 +300,9 @@ discard block |
||
| 300 | 300 | * @param string $new_status |
| 301 | 301 | * @return bool |
| 302 | 302 | */ |
| 303 | -function wpinv_update_discount_status( $discount = 0, $new_status = 'publish' ) { |
|
| 304 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 305 | - return $discount->update_status( $new_status ); |
|
| 303 | +function wpinv_update_discount_status($discount = 0, $new_status = 'publish') { |
|
| 304 | + $discount = wpinv_get_discount_obj($discount); |
|
| 305 | + return $discount->update_status($new_status); |
|
| 306 | 306 | } |
| 307 | 307 | |
| 308 | 308 | /** |
@@ -311,48 +311,48 @@ discard block |
||
| 311 | 311 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
| 312 | 312 | * @return bool |
| 313 | 313 | */ |
| 314 | -function wpinv_discount_exists( $discount ) { |
|
| 315 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 314 | +function wpinv_discount_exists($discount) { |
|
| 315 | + $discount = wpinv_get_discount_obj($discount); |
|
| 316 | 316 | return $discount->exists(); |
| 317 | 317 | } |
| 318 | 318 | |
| 319 | -function wpinv_is_discount_active( $code_id = null ) { |
|
| 320 | - $discount = wpinv_get_discount( $code_id ); |
|
| 319 | +function wpinv_is_discount_active($code_id = null) { |
|
| 320 | + $discount = wpinv_get_discount($code_id); |
|
| 321 | 321 | $return = false; |
| 322 | 322 | |
| 323 | - if ( $discount ) { |
|
| 324 | - if ( wpinv_is_discount_expired( $code_id ) ) { |
|
| 325 | - if( defined( 'DOING_AJAX' ) ) { |
|
| 326 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount is expired.', 'invoicing' ) ); |
|
| 323 | + if ($discount) { |
|
| 324 | + if (wpinv_is_discount_expired($code_id)) { |
|
| 325 | + if (defined('DOING_AJAX')) { |
|
| 326 | + wpinv_set_error('wpinv-discount-error', __('This discount is expired.', 'invoicing')); |
|
| 327 | 327 | } |
| 328 | - } elseif ( $discount->post_status == 'publish' ) { |
|
| 328 | + } elseif ($discount->post_status == 'publish') { |
|
| 329 | 329 | $return = true; |
| 330 | 330 | } else { |
| 331 | - if( defined( 'DOING_AJAX' ) ) { |
|
| 332 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount is not active.', 'invoicing' ) ); |
|
| 331 | + if (defined('DOING_AJAX')) { |
|
| 332 | + wpinv_set_error('wpinv-discount-error', __('This discount is not active.', 'invoicing')); |
|
| 333 | 333 | } |
| 334 | 334 | } |
| 335 | 335 | } |
| 336 | 336 | |
| 337 | - return apply_filters( 'wpinv_is_discount_active', $return, $code_id ); |
|
| 337 | + return apply_filters('wpinv_is_discount_active', $return, $code_id); |
|
| 338 | 338 | } |
| 339 | 339 | |
| 340 | -function wpinv_get_discount_code( $code_id = null ) { |
|
| 341 | - $code = get_post_meta( $code_id, '_wpi_discount_code', true ); |
|
| 340 | +function wpinv_get_discount_code($code_id = null) { |
|
| 341 | + $code = get_post_meta($code_id, '_wpi_discount_code', true); |
|
| 342 | 342 | |
| 343 | - return apply_filters( 'wpinv_get_discount_code', $code, $code_id ); |
|
| 343 | + return apply_filters('wpinv_get_discount_code', $code, $code_id); |
|
| 344 | 344 | } |
| 345 | 345 | |
| 346 | -function wpinv_get_discount_start_date( $code_id = null ) { |
|
| 347 | - $start_date = get_post_meta( $code_id, '_wpi_discount_start', true ); |
|
| 346 | +function wpinv_get_discount_start_date($code_id = null) { |
|
| 347 | + $start_date = get_post_meta($code_id, '_wpi_discount_start', true); |
|
| 348 | 348 | |
| 349 | - return apply_filters( 'wpinv_get_discount_start_date', $start_date, $code_id ); |
|
| 349 | + return apply_filters('wpinv_get_discount_start_date', $start_date, $code_id); |
|
| 350 | 350 | } |
| 351 | 351 | |
| 352 | -function wpinv_get_discount_expiration( $code_id = null ) { |
|
| 353 | - $expiration = get_post_meta( $code_id, '_wpi_discount_expiration', true ); |
|
| 352 | +function wpinv_get_discount_expiration($code_id = null) { |
|
| 353 | + $expiration = get_post_meta($code_id, '_wpi_discount_expiration', true); |
|
| 354 | 354 | |
| 355 | - return apply_filters( 'wpinv_get_discount_expiration', $expiration, $code_id ); |
|
| 355 | + return apply_filters('wpinv_get_discount_expiration', $expiration, $code_id); |
|
| 356 | 356 | } |
| 357 | 357 | |
| 358 | 358 | /** |
@@ -361,8 +361,8 @@ discard block |
||
| 361 | 361 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
| 362 | 362 | * @return int |
| 363 | 363 | */ |
| 364 | -function wpinv_get_discount_max_uses( $discount = array() ) { |
|
| 365 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 364 | +function wpinv_get_discount_max_uses($discount = array()) { |
|
| 365 | + $discount = wpinv_get_discount_obj($discount); |
|
| 366 | 366 | return (int) $discount->max_uses; |
| 367 | 367 | } |
| 368 | 368 | |
@@ -372,8 +372,8 @@ discard block |
||
| 372 | 372 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
| 373 | 373 | * @return int |
| 374 | 374 | */ |
| 375 | -function wpinv_get_discount_uses( $discount = array() ) { |
|
| 376 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 375 | +function wpinv_get_discount_uses($discount = array()) { |
|
| 376 | + $discount = wpinv_get_discount_obj($discount); |
|
| 377 | 377 | return (int) $discount->uses; |
| 378 | 378 | } |
| 379 | 379 | |
@@ -383,8 +383,8 @@ discard block |
||
| 383 | 383 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
| 384 | 384 | * @return float |
| 385 | 385 | */ |
| 386 | -function wpinv_get_discount_min_total( $discount = array() ) { |
|
| 387 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 386 | +function wpinv_get_discount_min_total($discount = array()) { |
|
| 387 | + $discount = wpinv_get_discount_obj($discount); |
|
| 388 | 388 | return (float) $discount->min_total; |
| 389 | 389 | } |
| 390 | 390 | |
@@ -394,8 +394,8 @@ discard block |
||
| 394 | 394 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
| 395 | 395 | * @return float |
| 396 | 396 | */ |
| 397 | -function wpinv_get_discount_max_total( $discount = array() ) { |
|
| 398 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 397 | +function wpinv_get_discount_max_total($discount = array()) { |
|
| 398 | + $discount = wpinv_get_discount_obj($discount); |
|
| 399 | 399 | return (float) $discount->max_total; |
| 400 | 400 | } |
| 401 | 401 | |
@@ -405,8 +405,8 @@ discard block |
||
| 405 | 405 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
| 406 | 406 | * @return float |
| 407 | 407 | */ |
| 408 | -function wpinv_get_discount_amount( $discount = array() ) { |
|
| 409 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 408 | +function wpinv_get_discount_amount($discount = array()) { |
|
| 409 | + $discount = wpinv_get_discount_obj($discount); |
|
| 410 | 410 | return (float) $discount->amount; |
| 411 | 411 | } |
| 412 | 412 | |
@@ -417,28 +417,28 @@ discard block |
||
| 417 | 417 | * @param bool $name |
| 418 | 418 | * @return string |
| 419 | 419 | */ |
| 420 | -function wpinv_get_discount_type( $discount = array(), $name = false ) { |
|
| 421 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 420 | +function wpinv_get_discount_type($discount = array(), $name = false) { |
|
| 421 | + $discount = wpinv_get_discount_obj($discount); |
|
| 422 | 422 | |
| 423 | 423 | // Are we returning the name or just the type. |
| 424 | - if( $name ) { |
|
| 424 | + if ($name) { |
|
| 425 | 425 | return $discount->discount_type_name; |
| 426 | 426 | } |
| 427 | 427 | |
| 428 | 428 | return $discount->discount_type; |
| 429 | 429 | } |
| 430 | 430 | |
| 431 | -function wpinv_discount_status( $status ) { |
|
| 432 | - switch( $status ){ |
|
| 431 | +function wpinv_discount_status($status) { |
|
| 432 | + switch ($status) { |
|
| 433 | 433 | case 'expired' : |
| 434 | - $name = __( 'Expired', 'invoicing' ); |
|
| 434 | + $name = __('Expired', 'invoicing'); |
|
| 435 | 435 | break; |
| 436 | 436 | case 'publish' : |
| 437 | 437 | case 'active' : |
| 438 | - $name = __( 'Active', 'invoicing' ); |
|
| 438 | + $name = __('Active', 'invoicing'); |
|
| 439 | 439 | break; |
| 440 | 440 | default : |
| 441 | - $name = __( 'Inactive', 'invoicing' ); |
|
| 441 | + $name = __('Inactive', 'invoicing'); |
|
| 442 | 442 | break; |
| 443 | 443 | } |
| 444 | 444 | return $name; |
@@ -450,8 +450,8 @@ discard block |
||
| 450 | 450 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
| 451 | 451 | * @return array |
| 452 | 452 | */ |
| 453 | -function wpinv_get_discount_excluded_items( $discount = array() ) { |
|
| 454 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 453 | +function wpinv_get_discount_excluded_items($discount = array()) { |
|
| 454 | + $discount = wpinv_get_discount_obj($discount); |
|
| 455 | 455 | return $discount->excluded_items; |
| 456 | 456 | } |
| 457 | 457 | |
@@ -461,17 +461,17 @@ discard block |
||
| 461 | 461 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
| 462 | 462 | * @return array |
| 463 | 463 | */ |
| 464 | -function wpinv_get_discount_item_reqs( $discount = array() ) { |
|
| 465 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 464 | +function wpinv_get_discount_item_reqs($discount = array()) { |
|
| 465 | + $discount = wpinv_get_discount_obj($discount); |
|
| 466 | 466 | return $discount->items; |
| 467 | 467 | } |
| 468 | 468 | |
| 469 | -function wpinv_get_discount_item_condition( $code_id = 0 ) { |
|
| 470 | - return get_post_meta( $code_id, '_wpi_discount_item_condition', true ); |
|
| 469 | +function wpinv_get_discount_item_condition($code_id = 0) { |
|
| 470 | + return get_post_meta($code_id, '_wpi_discount_item_condition', true); |
|
| 471 | 471 | } |
| 472 | 472 | |
| 473 | -function wpinv_is_discount_not_global( $code_id = 0 ) { |
|
| 474 | - return (bool) get_post_meta( $code_id, '_wpi_discount_is_not_global', true ); |
|
| 473 | +function wpinv_is_discount_not_global($code_id = 0) { |
|
| 474 | + return (bool) get_post_meta($code_id, '_wpi_discount_is_not_global', true); |
|
| 475 | 475 | } |
| 476 | 476 | |
| 477 | 477 | /** |
@@ -480,11 +480,11 @@ discard block |
||
| 480 | 480 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
| 481 | 481 | * @return bool |
| 482 | 482 | */ |
| 483 | -function wpinv_is_discount_expired( $discount = array() ) { |
|
| 484 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 483 | +function wpinv_is_discount_expired($discount = array()) { |
|
| 484 | + $discount = wpinv_get_discount_obj($discount); |
|
| 485 | 485 | |
| 486 | - if ( $discount->is_expired() ) { |
|
| 487 | - $discount->update_status( 'pending' ); |
|
| 486 | + if ($discount->is_expired()) { |
|
| 487 | + $discount->update_status('pending'); |
|
| 488 | 488 | return true; |
| 489 | 489 | } |
| 490 | 490 | |
@@ -497,12 +497,12 @@ discard block |
||
| 497 | 497 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
| 498 | 498 | * @return bool |
| 499 | 499 | */ |
| 500 | -function wpinv_is_discount_started( $discount = array() ) { |
|
| 501 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 500 | +function wpinv_is_discount_started($discount = array()) { |
|
| 501 | + $discount = wpinv_get_discount_obj($discount); |
|
| 502 | 502 | $started = $discount->has_started(); |
| 503 | 503 | |
| 504 | - if( empty( $started ) ) { |
|
| 505 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount is not active yet.', 'invoicing' ) ); |
|
| 504 | + if (empty($started)) { |
|
| 505 | + wpinv_set_error('wpinv-discount-error', __('This discount is not active yet.', 'invoicing')); |
|
| 506 | 506 | } |
| 507 | 507 | |
| 508 | 508 | return $started; |
@@ -514,10 +514,10 @@ discard block |
||
| 514 | 514 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
| 515 | 515 | * @return bool |
| 516 | 516 | */ |
| 517 | -function wpinv_check_discount_dates( $discount ) { |
|
| 518 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 519 | - $return = wpinv_is_discount_started( $discount ) && wpinv_is_discount_expired( $discount ); |
|
| 520 | - return apply_filters( 'wpinv_check_discount_dates', $return, $discount->ID, $discount, $discount->code ); |
|
| 517 | +function wpinv_check_discount_dates($discount) { |
|
| 518 | + $discount = wpinv_get_discount_obj($discount); |
|
| 519 | + $return = wpinv_is_discount_started($discount) && wpinv_is_discount_expired($discount); |
|
| 520 | + return apply_filters('wpinv_check_discount_dates', $return, $discount->ID, $discount, $discount->code); |
|
| 521 | 521 | } |
| 522 | 522 | |
| 523 | 523 | /** |
@@ -526,12 +526,12 @@ discard block |
||
| 526 | 526 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
| 527 | 527 | * @return bool |
| 528 | 528 | */ |
| 529 | -function wpinv_is_discount_maxed_out( $discount ) { |
|
| 530 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 529 | +function wpinv_is_discount_maxed_out($discount) { |
|
| 530 | + $discount = wpinv_get_discount_obj($discount); |
|
| 531 | 531 | $maxed_out = $discount->has_exceeded_limit(); |
| 532 | 532 | |
| 533 | - if ( $maxed_out ) { |
|
| 534 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount has reached its maximum usage.', 'invoicing' ) ); |
|
| 533 | + if ($maxed_out) { |
|
| 534 | + wpinv_set_error('wpinv-discount-error', __('This discount has reached its maximum usage.', 'invoicing')); |
|
| 535 | 535 | } |
| 536 | 536 | |
| 537 | 537 | return $maxed_out; |
@@ -543,13 +543,13 @@ discard block |
||
| 543 | 543 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
| 544 | 544 | * @return bool |
| 545 | 545 | */ |
| 546 | -function wpinv_discount_is_min_met( $discount ) { |
|
| 547 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 548 | - $cart_amount = (float)wpinv_get_cart_discountable_subtotal( $discount->ID ); |
|
| 549 | - $min_met = $discount->is_minimum_amount_met( $cart_amount ); |
|
| 546 | +function wpinv_discount_is_min_met($discount) { |
|
| 547 | + $discount = wpinv_get_discount_obj($discount); |
|
| 548 | + $cart_amount = (float) wpinv_get_cart_discountable_subtotal($discount->ID); |
|
| 549 | + $min_met = $discount->is_minimum_amount_met($cart_amount); |
|
| 550 | 550 | |
| 551 | - if ( ! $min_met ) { |
|
| 552 | - wpinv_set_error( 'wpinv-discount-error', sprintf( __( 'Minimum invoice amount should be %s', 'invoicing' ), wpinv_price( wpinv_format_amount( $discount->min_total ) ) ) ); |
|
| 551 | + if (!$min_met) { |
|
| 552 | + wpinv_set_error('wpinv-discount-error', sprintf(__('Minimum invoice amount should be %s', 'invoicing'), wpinv_price(wpinv_format_amount($discount->min_total)))); |
|
| 553 | 553 | } |
| 554 | 554 | |
| 555 | 555 | return $min_met; |
@@ -561,13 +561,13 @@ discard block |
||
| 561 | 561 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
| 562 | 562 | * @return bool |
| 563 | 563 | */ |
| 564 | -function wpinv_discount_is_max_met( $discount ) { |
|
| 565 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 566 | - $cart_amount = (float)wpinv_get_cart_discountable_subtotal( $discount->ID ); |
|
| 567 | - $max_met = $discount->is_maximum_amount_met( $cart_amount ); |
|
| 564 | +function wpinv_discount_is_max_met($discount) { |
|
| 565 | + $discount = wpinv_get_discount_obj($discount); |
|
| 566 | + $cart_amount = (float) wpinv_get_cart_discountable_subtotal($discount->ID); |
|
| 567 | + $max_met = $discount->is_maximum_amount_met($cart_amount); |
|
| 568 | 568 | |
| 569 | - if ( ! $max_met ) { |
|
| 570 | - wpinv_set_error( 'wpinv-discount-error', sprintf( __( 'Maximum invoice amount should be %s', 'invoicing' ), wpinv_price( wpinv_format_amount( $discount->max_total ) ) ) ); |
|
| 569 | + if (!$max_met) { |
|
| 570 | + wpinv_set_error('wpinv-discount-error', sprintf(__('Maximum invoice amount should be %s', 'invoicing'), wpinv_price(wpinv_format_amount($discount->max_total)))); |
|
| 571 | 571 | } |
| 572 | 572 | |
| 573 | 573 | return $max_met; |
@@ -579,8 +579,8 @@ discard block |
||
| 579 | 579 | * @param int|array|string|WPInv_Discount $discount discount data, object, ID or code. |
| 580 | 580 | * @return bool |
| 581 | 581 | */ |
| 582 | -function wpinv_discount_is_single_use( $discount ) { |
|
| 583 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 582 | +function wpinv_discount_is_single_use($discount) { |
|
| 583 | + $discount = wpinv_get_discount_obj($discount); |
|
| 584 | 584 | return $discount->is_single_use; |
| 585 | 585 | } |
| 586 | 586 | |
@@ -591,53 +591,53 @@ discard block |
||
| 591 | 591 | * @param int|array|string|WPInv_Discount $code discount data, object, ID or code. |
| 592 | 592 | * @return bool |
| 593 | 593 | */ |
| 594 | -function wpinv_discount_is_recurring( $discount = 0, $code = 0 ) { |
|
| 594 | +function wpinv_discount_is_recurring($discount = 0, $code = 0) { |
|
| 595 | 595 | |
| 596 | - if( ! empty( $discount ) ) { |
|
| 597 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 596 | + if (!empty($discount)) { |
|
| 597 | + $discount = wpinv_get_discount_obj($discount); |
|
| 598 | 598 | } else { |
| 599 | - $discount = wpinv_get_discount_obj( $code ); |
|
| 599 | + $discount = wpinv_get_discount_obj($code); |
|
| 600 | 600 | } |
| 601 | 601 | |
| 602 | 602 | return $discount->is_recurring; |
| 603 | 603 | } |
| 604 | 604 | |
| 605 | -function wpinv_discount_item_reqs_met( $code_id = null ) { |
|
| 606 | - $item_reqs = wpinv_get_discount_item_reqs( $code_id ); |
|
| 607 | - $condition = wpinv_get_discount_item_condition( $code_id ); |
|
| 608 | - $excluded_ps = wpinv_get_discount_excluded_items( $code_id ); |
|
| 605 | +function wpinv_discount_item_reqs_met($code_id = null) { |
|
| 606 | + $item_reqs = wpinv_get_discount_item_reqs($code_id); |
|
| 607 | + $condition = wpinv_get_discount_item_condition($code_id); |
|
| 608 | + $excluded_ps = wpinv_get_discount_excluded_items($code_id); |
|
| 609 | 609 | $cart_items = wpinv_get_cart_contents(); |
| 610 | - $cart_ids = $cart_items ? wp_list_pluck( $cart_items, 'id' ) : null; |
|
| 610 | + $cart_ids = $cart_items ? wp_list_pluck($cart_items, 'id') : null; |
|
| 611 | 611 | $ret = false; |
| 612 | 612 | |
| 613 | - if ( empty( $item_reqs ) && empty( $excluded_ps ) ) { |
|
| 613 | + if (empty($item_reqs) && empty($excluded_ps)) { |
|
| 614 | 614 | $ret = true; |
| 615 | 615 | } |
| 616 | 616 | |
| 617 | 617 | // Normalize our data for item requirements, exclusions and cart data |
| 618 | 618 | // First absint the items, then sort, and reset the array keys |
| 619 | - $item_reqs = array_map( 'absint', $item_reqs ); |
|
| 620 | - asort( $item_reqs ); |
|
| 621 | - $item_reqs = array_values( $item_reqs ); |
|
| 619 | + $item_reqs = array_map('absint', $item_reqs); |
|
| 620 | + asort($item_reqs); |
|
| 621 | + $item_reqs = array_values($item_reqs); |
|
| 622 | 622 | |
| 623 | - $excluded_ps = array_map( 'absint', $excluded_ps ); |
|
| 624 | - asort( $excluded_ps ); |
|
| 625 | - $excluded_ps = array_values( $excluded_ps ); |
|
| 623 | + $excluded_ps = array_map('absint', $excluded_ps); |
|
| 624 | + asort($excluded_ps); |
|
| 625 | + $excluded_ps = array_values($excluded_ps); |
|
| 626 | 626 | |
| 627 | - $cart_ids = array_map( 'absint', $cart_ids ); |
|
| 628 | - asort( $cart_ids ); |
|
| 629 | - $cart_ids = array_values( $cart_ids ); |
|
| 627 | + $cart_ids = array_map('absint', $cart_ids); |
|
| 628 | + asort($cart_ids); |
|
| 629 | + $cart_ids = array_values($cart_ids); |
|
| 630 | 630 | |
| 631 | 631 | // Ensure we have requirements before proceeding |
| 632 | - if ( !$ret && ! empty( $item_reqs ) ) { |
|
| 633 | - switch( $condition ) { |
|
| 632 | + if (!$ret && !empty($item_reqs)) { |
|
| 633 | + switch ($condition) { |
|
| 634 | 634 | case 'all' : |
| 635 | 635 | // Default back to true |
| 636 | 636 | $ret = true; |
| 637 | 637 | |
| 638 | - foreach ( $item_reqs as $item_id ) { |
|
| 639 | - if ( !wpinv_item_in_cart( $item_id ) ) { |
|
| 640 | - wpinv_set_error( 'wpinv-discount-error', __( 'The item requirements for this discount are not met.', 'invoicing' ) ); |
|
| 638 | + foreach ($item_reqs as $item_id) { |
|
| 639 | + if (!wpinv_item_in_cart($item_id)) { |
|
| 640 | + wpinv_set_error('wpinv-discount-error', __('The item requirements for this discount are not met.', 'invoicing')); |
|
| 641 | 641 | $ret = false; |
| 642 | 642 | break; |
| 643 | 643 | } |
@@ -646,15 +646,15 @@ discard block |
||
| 646 | 646 | break; |
| 647 | 647 | |
| 648 | 648 | default : // Any |
| 649 | - foreach ( $item_reqs as $item_id ) { |
|
| 650 | - if ( wpinv_item_in_cart( $item_id ) ) { |
|
| 649 | + foreach ($item_reqs as $item_id) { |
|
| 650 | + if (wpinv_item_in_cart($item_id)) { |
|
| 651 | 651 | $ret = true; |
| 652 | 652 | break; |
| 653 | 653 | } |
| 654 | 654 | } |
| 655 | 655 | |
| 656 | - if( ! $ret ) { |
|
| 657 | - wpinv_set_error( 'wpinv-discount-error', __( 'The item requirements for this discount are not met.', 'invoicing' ) ); |
|
| 656 | + if (!$ret) { |
|
| 657 | + wpinv_set_error('wpinv-discount-error', __('The item requirements for this discount are not met.', 'invoicing')); |
|
| 658 | 658 | } |
| 659 | 659 | |
| 660 | 660 | break; |
@@ -663,15 +663,15 @@ discard block |
||
| 663 | 663 | $ret = true; |
| 664 | 664 | } |
| 665 | 665 | |
| 666 | - if( ! empty( $excluded_ps ) ) { |
|
| 666 | + if (!empty($excluded_ps)) { |
|
| 667 | 667 | // Check that there are items other than excluded ones in the cart |
| 668 | - if( $cart_ids == $excluded_ps ) { |
|
| 669 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount is not valid for the cart contents.', 'invoicing' ) ); |
|
| 668 | + if ($cart_ids == $excluded_ps) { |
|
| 669 | + wpinv_set_error('wpinv-discount-error', __('This discount is not valid for the cart contents.', 'invoicing')); |
|
| 670 | 670 | $ret = false; |
| 671 | 671 | } |
| 672 | 672 | } |
| 673 | 673 | |
| 674 | - return (bool) apply_filters( 'wpinv_is_discount_item_req_met', $ret, $code_id, $condition ); |
|
| 674 | + return (bool) apply_filters('wpinv_is_discount_item_req_met', $ret, $code_id, $condition); |
|
| 675 | 675 | } |
| 676 | 676 | |
| 677 | 677 | /** |
@@ -682,53 +682,53 @@ discard block |
||
| 682 | 682 | * @param int|array|string|WPInv_Discount $code_id discount data, object, ID or code. |
| 683 | 683 | * @return boll |
| 684 | 684 | */ |
| 685 | -function wpinv_is_discount_used( $discount = array(), $user = '', $code_id = array() ) { |
|
| 685 | +function wpinv_is_discount_used($discount = array(), $user = '', $code_id = array()) { |
|
| 686 | 686 | |
| 687 | - if( ! empty( $discount ) ) { |
|
| 688 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 687 | + if (!empty($discount)) { |
|
| 688 | + $discount = wpinv_get_discount_obj($discount); |
|
| 689 | 689 | } else { |
| 690 | - $discount = wpinv_get_discount_obj( $code_id ); |
|
| 690 | + $discount = wpinv_get_discount_obj($code_id); |
|
| 691 | 691 | } |
| 692 | 692 | |
| 693 | - $is_used = ! $discount->is_valid_for_user( $user ); |
|
| 694 | - $is_used = apply_filters( 'wpinv_is_discount_used', $is_used, $discount->code, $user, $discount->id, $discount ); |
|
| 693 | + $is_used = !$discount->is_valid_for_user($user); |
|
| 694 | + $is_used = apply_filters('wpinv_is_discount_used', $is_used, $discount->code, $user, $discount->id, $discount); |
|
| 695 | 695 | |
| 696 | - if( $is_used ) { |
|
| 697 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount has already been redeemed.', 'invoicing' ) ); |
|
| 696 | + if ($is_used) { |
|
| 697 | + wpinv_set_error('wpinv-discount-error', __('This discount has already been redeemed.', 'invoicing')); |
|
| 698 | 698 | } |
| 699 | 699 | |
| 700 | 700 | return $is_used(); |
| 701 | 701 | } |
| 702 | 702 | |
| 703 | -function wpinv_is_discount_valid( $code = '', $user = '', $set_error = true ) { |
|
| 703 | +function wpinv_is_discount_valid($code = '', $user = '', $set_error = true) { |
|
| 704 | 704 | $return = false; |
| 705 | - $discount_id = wpinv_get_discount_id_by_code( $code ); |
|
| 706 | - $user = trim( $user ); |
|
| 705 | + $discount_id = wpinv_get_discount_id_by_code($code); |
|
| 706 | + $user = trim($user); |
|
| 707 | 707 | |
| 708 | - if ( wpinv_get_cart_contents() ) { |
|
| 709 | - if ( $discount_id ) { |
|
| 708 | + if (wpinv_get_cart_contents()) { |
|
| 709 | + if ($discount_id) { |
|
| 710 | 710 | if ( |
| 711 | - wpinv_is_discount_active( $discount_id ) && |
|
| 712 | - wpinv_check_discount_dates( $discount_id ) && |
|
| 713 | - !wpinv_is_discount_maxed_out( $discount_id ) && |
|
| 714 | - !wpinv_is_discount_used( $code, $user, $discount_id ) && |
|
| 715 | - wpinv_discount_is_min_met( $discount_id ) && |
|
| 716 | - wpinv_discount_is_max_met( $discount_id ) && |
|
| 717 | - wpinv_discount_item_reqs_met( $discount_id ) |
|
| 711 | + wpinv_is_discount_active($discount_id) && |
|
| 712 | + wpinv_check_discount_dates($discount_id) && |
|
| 713 | + !wpinv_is_discount_maxed_out($discount_id) && |
|
| 714 | + !wpinv_is_discount_used($code, $user, $discount_id) && |
|
| 715 | + wpinv_discount_is_min_met($discount_id) && |
|
| 716 | + wpinv_discount_is_max_met($discount_id) && |
|
| 717 | + wpinv_discount_item_reqs_met($discount_id) |
|
| 718 | 718 | ) { |
| 719 | 719 | $return = true; |
| 720 | 720 | } |
| 721 | - } elseif( $set_error ) { |
|
| 722 | - wpinv_set_error( 'wpinv-discount-error', __( 'This discount is invalid.', 'invoicing' ) ); |
|
| 721 | + } elseif ($set_error) { |
|
| 722 | + wpinv_set_error('wpinv-discount-error', __('This discount is invalid.', 'invoicing')); |
|
| 723 | 723 | } |
| 724 | 724 | } |
| 725 | 725 | |
| 726 | - return apply_filters( 'wpinv_is_discount_valid', $return, $discount_id, $code, $user ); |
|
| 726 | + return apply_filters('wpinv_is_discount_valid', $return, $discount_id, $code, $user); |
|
| 727 | 727 | } |
| 728 | 728 | |
| 729 | -function wpinv_get_discount_id_by_code( $code ) { |
|
| 730 | - $discount = wpinv_get_discount_by_code( $code ); |
|
| 731 | - if( $discount ) { |
|
| 729 | +function wpinv_get_discount_id_by_code($code) { |
|
| 730 | + $discount = wpinv_get_discount_by_code($code); |
|
| 731 | + if ($discount) { |
|
| 732 | 732 | return $discount->ID; |
| 733 | 733 | } |
| 734 | 734 | return false; |
@@ -741,9 +741,9 @@ discard block |
||
| 741 | 741 | * @param float $base_price The number of usages to increase by |
| 742 | 742 | * @return float |
| 743 | 743 | */ |
| 744 | -function wpinv_get_discounted_amount( $discount, $base_price ) { |
|
| 745 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 746 | - return $discount->get_discounted_amount( $base_price ); |
|
| 744 | +function wpinv_get_discounted_amount($discount, $base_price) { |
|
| 745 | + $discount = wpinv_get_discount_obj($discount); |
|
| 746 | + return $discount->get_discounted_amount($base_price); |
|
| 747 | 747 | } |
| 748 | 748 | |
| 749 | 749 | /** |
@@ -753,9 +753,9 @@ discard block |
||
| 753 | 753 | * @param int $by The number of usages to increase by. |
| 754 | 754 | * @return int the new number of uses. |
| 755 | 755 | */ |
| 756 | -function wpinv_increase_discount_usage( $discount, $by = 1 ) { |
|
| 757 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 758 | - return $discount->increase_usage( $by ); |
|
| 756 | +function wpinv_increase_discount_usage($discount, $by = 1) { |
|
| 757 | + $discount = wpinv_get_discount_obj($discount); |
|
| 758 | + return $discount->increase_usage($by); |
|
| 759 | 759 | } |
| 760 | 760 | |
| 761 | 761 | /** |
@@ -765,70 +765,70 @@ discard block |
||
| 765 | 765 | * @param int $by The number of usages to decrease by. |
| 766 | 766 | * @return int the new number of uses. |
| 767 | 767 | */ |
| 768 | -function wpinv_decrease_discount_usage( $discount, $by = 1 ) { |
|
| 769 | - $discount = wpinv_get_discount_obj( $discount ); |
|
| 770 | - return $discount->increase_usage( 0 - $by ); |
|
| 768 | +function wpinv_decrease_discount_usage($discount, $by = 1) { |
|
| 769 | + $discount = wpinv_get_discount_obj($discount); |
|
| 770 | + return $discount->increase_usage(0 - $by); |
|
| 771 | 771 | } |
| 772 | 772 | |
| 773 | -function wpinv_format_discount_rate( $type, $amount ) { |
|
| 774 | - if ( $type == 'flat' ) { |
|
| 775 | - return wpinv_price( wpinv_format_amount( $amount ) ); |
|
| 773 | +function wpinv_format_discount_rate($type, $amount) { |
|
| 774 | + if ($type == 'flat') { |
|
| 775 | + return wpinv_price(wpinv_format_amount($amount)); |
|
| 776 | 776 | } else { |
| 777 | 777 | return $amount . '%'; |
| 778 | 778 | } |
| 779 | 779 | } |
| 780 | 780 | |
| 781 | -function wpinv_set_cart_discount( $code = '' ) { |
|
| 782 | - if ( wpinv_multiple_discounts_allowed() ) { |
|
| 781 | +function wpinv_set_cart_discount($code = '') { |
|
| 782 | + if (wpinv_multiple_discounts_allowed()) { |
|
| 783 | 783 | // Get all active cart discounts |
| 784 | 784 | $discounts = wpinv_get_cart_discounts(); |
| 785 | 785 | } else { |
| 786 | 786 | $discounts = false; // Only one discount allowed per purchase, so override any existing |
| 787 | 787 | } |
| 788 | 788 | |
| 789 | - if ( $discounts ) { |
|
| 790 | - $key = array_search( strtolower( $code ), array_map( 'strtolower', $discounts ) ); |
|
| 791 | - if( false !== $key ) { |
|
| 792 | - unset( $discounts[ $key ] ); // Can't set the same discount more than once |
|
| 789 | + if ($discounts) { |
|
| 790 | + $key = array_search(strtolower($code), array_map('strtolower', $discounts)); |
|
| 791 | + if (false !== $key) { |
|
| 792 | + unset($discounts[$key]); // Can't set the same discount more than once |
|
| 793 | 793 | } |
| 794 | 794 | $discounts[] = $code; |
| 795 | 795 | } else { |
| 796 | 796 | $discounts = array(); |
| 797 | 797 | $discounts[] = $code; |
| 798 | 798 | } |
| 799 | - $discounts = array_values( $discounts ); |
|
| 799 | + $discounts = array_values($discounts); |
|
| 800 | 800 | |
| 801 | 801 | $data = wpinv_get_checkout_session(); |
| 802 | - if ( empty( $data ) ) { |
|
| 802 | + if (empty($data)) { |
|
| 803 | 803 | $data = array(); |
| 804 | 804 | } else { |
| 805 | - if ( !empty( $data['invoice_id'] ) && $payment_meta = wpinv_get_invoice_meta( $data['invoice_id'] ) ) { |
|
| 806 | - $payment_meta['user_info']['discount'] = implode( ',', $discounts ); |
|
| 807 | - update_post_meta( $data['invoice_id'], '_wpinv_payment_meta', $payment_meta ); |
|
| 805 | + if (!empty($data['invoice_id']) && $payment_meta = wpinv_get_invoice_meta($data['invoice_id'])) { |
|
| 806 | + $payment_meta['user_info']['discount'] = implode(',', $discounts); |
|
| 807 | + update_post_meta($data['invoice_id'], '_wpinv_payment_meta', $payment_meta); |
|
| 808 | 808 | } |
| 809 | 809 | } |
| 810 | 810 | $data['cart_discounts'] = $discounts; |
| 811 | 811 | |
| 812 | - wpinv_set_checkout_session( $data ); |
|
| 812 | + wpinv_set_checkout_session($data); |
|
| 813 | 813 | |
| 814 | 814 | return $discounts; |
| 815 | 815 | } |
| 816 | 816 | |
| 817 | -function wpinv_unset_cart_discount( $code = '' ) { |
|
| 817 | +function wpinv_unset_cart_discount($code = '') { |
|
| 818 | 818 | $discounts = wpinv_get_cart_discounts(); |
| 819 | 819 | |
| 820 | - if ( $code && !empty( $discounts ) && in_array( $code, $discounts ) ) { |
|
| 821 | - $key = array_search( $code, $discounts ); |
|
| 822 | - unset( $discounts[ $key ] ); |
|
| 820 | + if ($code && !empty($discounts) && in_array($code, $discounts)) { |
|
| 821 | + $key = array_search($code, $discounts); |
|
| 822 | + unset($discounts[$key]); |
|
| 823 | 823 | |
| 824 | 824 | $data = wpinv_get_checkout_session(); |
| 825 | 825 | $data['cart_discounts'] = $discounts; |
| 826 | - if ( !empty( $data['invoice_id'] ) && $payment_meta = wpinv_get_invoice_meta( $data['invoice_id'] ) ) { |
|
| 827 | - $payment_meta['user_info']['discount'] = !empty( $discounts ) ? implode( ',', $discounts ) : ''; |
|
| 828 | - update_post_meta( $data['invoice_id'], '_wpinv_payment_meta', $payment_meta ); |
|
| 826 | + if (!empty($data['invoice_id']) && $payment_meta = wpinv_get_invoice_meta($data['invoice_id'])) { |
|
| 827 | + $payment_meta['user_info']['discount'] = !empty($discounts) ? implode(',', $discounts) : ''; |
|
| 828 | + update_post_meta($data['invoice_id'], '_wpinv_payment_meta', $payment_meta); |
|
| 829 | 829 | } |
| 830 | 830 | |
| 831 | - wpinv_set_checkout_session( $data ); |
|
| 831 | + wpinv_set_checkout_session($data); |
|
| 832 | 832 | } |
| 833 | 833 | |
| 834 | 834 | return $discounts; |
@@ -837,27 +837,27 @@ discard block |
||
| 837 | 837 | function wpinv_unset_all_cart_discounts() { |
| 838 | 838 | $data = wpinv_get_checkout_session(); |
| 839 | 839 | |
| 840 | - if ( !empty( $data ) && isset( $data['cart_discounts'] ) ) { |
|
| 841 | - unset( $data['cart_discounts'] ); |
|
| 840 | + if (!empty($data) && isset($data['cart_discounts'])) { |
|
| 841 | + unset($data['cart_discounts']); |
|
| 842 | 842 | |
| 843 | - wpinv_set_checkout_session( $data ); |
|
| 843 | + wpinv_set_checkout_session($data); |
|
| 844 | 844 | return true; |
| 845 | 845 | } |
| 846 | 846 | |
| 847 | 847 | return false; |
| 848 | 848 | } |
| 849 | 849 | |
| 850 | -function wpinv_get_cart_discounts( $items = array() ) { |
|
| 850 | +function wpinv_get_cart_discounts($items = array()) { |
|
| 851 | 851 | $session = wpinv_get_checkout_session(); |
| 852 | 852 | |
| 853 | - $discounts = !empty( $session['cart_discounts'] ) ? $session['cart_discounts'] : false; |
|
| 853 | + $discounts = !empty($session['cart_discounts']) ? $session['cart_discounts'] : false; |
|
| 854 | 854 | return $discounts; |
| 855 | 855 | } |
| 856 | 856 | |
| 857 | -function wpinv_cart_has_discounts( $items = array() ) { |
|
| 857 | +function wpinv_cart_has_discounts($items = array()) { |
|
| 858 | 858 | $ret = false; |
| 859 | 859 | |
| 860 | - if ( wpinv_get_cart_discounts( $items ) ) { |
|
| 860 | + if (wpinv_get_cart_discounts($items)) { |
|
| 861 | 861 | $ret = true; |
| 862 | 862 | } |
| 863 | 863 | |
@@ -868,131 +868,131 @@ discard block |
||
| 868 | 868 | } |
| 869 | 869 | */ |
| 870 | 870 | |
| 871 | - return apply_filters( 'wpinv_cart_has_discounts', $ret ); |
|
| 871 | + return apply_filters('wpinv_cart_has_discounts', $ret); |
|
| 872 | 872 | } |
| 873 | 873 | |
| 874 | -function wpinv_get_cart_discounted_amount( $items = array(), $discounts = false ) { |
|
| 874 | +function wpinv_get_cart_discounted_amount($items = array(), $discounts = false) { |
|
| 875 | 875 | $amount = 0.00; |
| 876 | - $items = !empty( $items ) ? $items : wpinv_get_cart_content_details(); |
|
| 876 | + $items = !empty($items) ? $items : wpinv_get_cart_content_details(); |
|
| 877 | 877 | |
| 878 | - if ( $items ) { |
|
| 879 | - $discounts = wp_list_pluck( $items, 'discount' ); |
|
| 878 | + if ($items) { |
|
| 879 | + $discounts = wp_list_pluck($items, 'discount'); |
|
| 880 | 880 | |
| 881 | - if ( is_array( $discounts ) ) { |
|
| 882 | - $discounts = array_map( 'floatval', $discounts ); |
|
| 883 | - $amount = array_sum( $discounts ); |
|
| 881 | + if (is_array($discounts)) { |
|
| 882 | + $discounts = array_map('floatval', $discounts); |
|
| 883 | + $amount = array_sum($discounts); |
|
| 884 | 884 | } |
| 885 | 885 | } |
| 886 | 886 | |
| 887 | - return apply_filters( 'wpinv_get_cart_discounted_amount', $amount ); |
|
| 887 | + return apply_filters('wpinv_get_cart_discounted_amount', $amount); |
|
| 888 | 888 | } |
| 889 | 889 | |
| 890 | -function wpinv_get_cart_items_discount_amount( $items = array(), $discount = false ) { |
|
| 891 | - $items = !empty( $items ) ? $items : wpinv_get_cart_content_details(); |
|
| 890 | +function wpinv_get_cart_items_discount_amount($items = array(), $discount = false) { |
|
| 891 | + $items = !empty($items) ? $items : wpinv_get_cart_content_details(); |
|
| 892 | 892 | |
| 893 | - if ( empty( $discount ) || empty( $items ) ) { |
|
| 893 | + if (empty($discount) || empty($items)) { |
|
| 894 | 894 | return 0; |
| 895 | 895 | } |
| 896 | 896 | |
| 897 | 897 | $amount = 0; |
| 898 | 898 | |
| 899 | - foreach ( $items as $item ) { |
|
| 900 | - $amount += wpinv_get_cart_item_discount_amount( $item, $discount ); |
|
| 899 | + foreach ($items as $item) { |
|
| 900 | + $amount += wpinv_get_cart_item_discount_amount($item, $discount); |
|
| 901 | 901 | } |
| 902 | 902 | |
| 903 | - $amount = wpinv_round_amount( $amount ); |
|
| 903 | + $amount = wpinv_round_amount($amount); |
|
| 904 | 904 | |
| 905 | 905 | return $amount; |
| 906 | 906 | } |
| 907 | 907 | |
| 908 | -function wpinv_get_cart_item_discount_amount( $item = array(), $discount = false ) { |
|
| 908 | +function wpinv_get_cart_item_discount_amount($item = array(), $discount = false) { |
|
| 909 | 909 | global $wpinv_is_last_cart_item, $wpinv_flat_discount_total; |
| 910 | 910 | |
| 911 | 911 | $amount = 0; |
| 912 | 912 | |
| 913 | - if ( empty( $item ) || empty( $item['id'] ) ) { |
|
| 913 | + if (empty($item) || empty($item['id'])) { |
|
| 914 | 914 | return $amount; |
| 915 | 915 | } |
| 916 | 916 | |
| 917 | - if ( empty( $item['quantity'] ) ) { |
|
| 917 | + if (empty($item['quantity'])) { |
|
| 918 | 918 | return $amount; |
| 919 | 919 | } |
| 920 | 920 | |
| 921 | - if ( empty( $item['options'] ) ) { |
|
| 921 | + if (empty($item['options'])) { |
|
| 922 | 922 | $item['options'] = array(); |
| 923 | 923 | } |
| 924 | 924 | |
| 925 | - $price = wpinv_get_cart_item_price( $item['id'], $item, $item['options'] ); |
|
| 925 | + $price = wpinv_get_cart_item_price($item['id'], $item, $item['options']); |
|
| 926 | 926 | $discounted_price = $price; |
| 927 | 927 | |
| 928 | 928 | $discounts = false === $discount ? wpinv_get_cart_discounts() : $discount; |
| 929 | - if ( empty( $discounts ) ) { |
|
| 929 | + if (empty($discounts)) { |
|
| 930 | 930 | return $amount; |
| 931 | 931 | } |
| 932 | 932 | |
| 933 | - if ( $discounts ) { |
|
| 934 | - if ( is_array( $discounts ) ) { |
|
| 935 | - $discounts = array_values( $discounts ); |
|
| 933 | + if ($discounts) { |
|
| 934 | + if (is_array($discounts)) { |
|
| 935 | + $discounts = array_values($discounts); |
|
| 936 | 936 | } else { |
| 937 | - $discounts = explode( ',', $discounts ); |
|
| 937 | + $discounts = explode(',', $discounts); |
|
| 938 | 938 | } |
| 939 | 939 | } |
| 940 | 940 | |
| 941 | - if( $discounts ) { |
|
| 942 | - foreach ( $discounts as $discount ) { |
|
| 943 | - $code_id = wpinv_get_discount_id_by_code( $discount ); |
|
| 941 | + if ($discounts) { |
|
| 942 | + foreach ($discounts as $discount) { |
|
| 943 | + $code_id = wpinv_get_discount_id_by_code($discount); |
|
| 944 | 944 | |
| 945 | 945 | // Check discount exists |
| 946 | - if( ! $code_id ) { |
|
| 946 | + if (!$code_id) { |
|
| 947 | 947 | continue; |
| 948 | 948 | } |
| 949 | 949 | |
| 950 | - $reqs = wpinv_get_discount_item_reqs( $code_id ); |
|
| 951 | - $excluded_items = wpinv_get_discount_excluded_items( $code_id ); |
|
| 950 | + $reqs = wpinv_get_discount_item_reqs($code_id); |
|
| 951 | + $excluded_items = wpinv_get_discount_excluded_items($code_id); |
|
| 952 | 952 | |
| 953 | 953 | // Make sure requirements are set and that this discount shouldn't apply to the whole cart |
| 954 | - if ( !empty( $reqs ) && wpinv_is_discount_not_global( $code_id ) ) { |
|
| 955 | - foreach ( $reqs as $item_id ) { |
|
| 956 | - if ( $item_id == $item['id'] && ! in_array( $item['id'], $excluded_items ) ) { |
|
| 957 | - $discounted_price -= $price - wpinv_get_discounted_amount( $discount, $price ); |
|
| 954 | + if (!empty($reqs) && wpinv_is_discount_not_global($code_id)) { |
|
| 955 | + foreach ($reqs as $item_id) { |
|
| 956 | + if ($item_id == $item['id'] && !in_array($item['id'], $excluded_items)) { |
|
| 957 | + $discounted_price -= $price - wpinv_get_discounted_amount($discount, $price); |
|
| 958 | 958 | } |
| 959 | 959 | } |
| 960 | 960 | } else { |
| 961 | 961 | // This is a global cart discount |
| 962 | - if ( !in_array( $item['id'], $excluded_items ) ) { |
|
| 963 | - if ( 'flat' === wpinv_get_discount_type( $code_id ) ) { |
|
| 962 | + if (!in_array($item['id'], $excluded_items)) { |
|
| 963 | + if ('flat' === wpinv_get_discount_type($code_id)) { |
|
| 964 | 964 | $items_subtotal = 0.00; |
| 965 | 965 | $cart_items = wpinv_get_cart_contents(); |
| 966 | 966 | |
| 967 | - foreach ( $cart_items as $cart_item ) { |
|
| 968 | - if ( ! in_array( $cart_item['id'], $excluded_items ) ) { |
|
| 969 | - $options = !empty( $cart_item['options'] ) ? $cart_item['options'] : array(); |
|
| 970 | - $item_price = wpinv_get_cart_item_price( $cart_item['id'], $cart_item, $options ); |
|
| 967 | + foreach ($cart_items as $cart_item) { |
|
| 968 | + if (!in_array($cart_item['id'], $excluded_items)) { |
|
| 969 | + $options = !empty($cart_item['options']) ? $cart_item['options'] : array(); |
|
| 970 | + $item_price = wpinv_get_cart_item_price($cart_item['id'], $cart_item, $options); |
|
| 971 | 971 | $items_subtotal += $item_price * $cart_item['quantity']; |
| 972 | 972 | } |
| 973 | 973 | } |
| 974 | 974 | |
| 975 | - $subtotal_percent = ( ( $price * $item['quantity'] ) / $items_subtotal ); |
|
| 976 | - $code_amount = wpinv_get_discount_amount( $code_id ); |
|
| 975 | + $subtotal_percent = (($price * $item['quantity']) / $items_subtotal); |
|
| 976 | + $code_amount = wpinv_get_discount_amount($code_id); |
|
| 977 | 977 | $discounted_amount = $code_amount * $subtotal_percent; |
| 978 | 978 | $discounted_price -= $discounted_amount; |
| 979 | 979 | |
| 980 | - $wpinv_flat_discount_total += round( $discounted_amount, wpinv_currency_decimal_filter() ); |
|
| 980 | + $wpinv_flat_discount_total += round($discounted_amount, wpinv_currency_decimal_filter()); |
|
| 981 | 981 | |
| 982 | - if ( $wpinv_is_last_cart_item && $wpinv_flat_discount_total < $code_amount ) { |
|
| 982 | + if ($wpinv_is_last_cart_item && $wpinv_flat_discount_total < $code_amount) { |
|
| 983 | 983 | $adjustment = $code_amount - $wpinv_flat_discount_total; |
| 984 | 984 | $discounted_price -= $adjustment; |
| 985 | 985 | } |
| 986 | 986 | } else { |
| 987 | - $discounted_price -= $price - wpinv_get_discounted_amount( $discount, $price ); |
|
| 987 | + $discounted_price -= $price - wpinv_get_discounted_amount($discount, $price); |
|
| 988 | 988 | } |
| 989 | 989 | } |
| 990 | 990 | } |
| 991 | 991 | } |
| 992 | 992 | |
| 993 | - $amount = ( $price - apply_filters( 'wpinv_get_cart_item_discounted_amount', $discounted_price, $discounts, $item, $price ) ); |
|
| 993 | + $amount = ($price - apply_filters('wpinv_get_cart_item_discounted_amount', $discounted_price, $discounts, $item, $price)); |
|
| 994 | 994 | |
| 995 | - if ( 'flat' !== wpinv_get_discount_type( $code_id ) ) { |
|
| 995 | + if ('flat' !== wpinv_get_discount_type($code_id)) { |
|
| 996 | 996 | $amount = $amount * $item['quantity']; |
| 997 | 997 | } |
| 998 | 998 | } |
@@ -1000,59 +1000,59 @@ discard block |
||
| 1000 | 1000 | return $amount; |
| 1001 | 1001 | } |
| 1002 | 1002 | |
| 1003 | -function wpinv_cart_discounts_html( $items = array() ) { |
|
| 1004 | - echo wpinv_get_cart_discounts_html( $items ); |
|
| 1003 | +function wpinv_cart_discounts_html($items = array()) { |
|
| 1004 | + echo wpinv_get_cart_discounts_html($items); |
|
| 1005 | 1005 | } |
| 1006 | 1006 | |
| 1007 | -function wpinv_get_cart_discounts_html( $items = array(), $discounts = false ) { |
|
| 1007 | +function wpinv_get_cart_discounts_html($items = array(), $discounts = false) { |
|
| 1008 | 1008 | global $wpi_cart_columns; |
| 1009 | 1009 | |
| 1010 | - $items = !empty( $items ) ? $items : wpinv_get_cart_content_details(); |
|
| 1010 | + $items = !empty($items) ? $items : wpinv_get_cart_content_details(); |
|
| 1011 | 1011 | |
| 1012 | - if ( !$discounts ) { |
|
| 1013 | - $discounts = wpinv_get_cart_discounts( $items ); |
|
| 1012 | + if (!$discounts) { |
|
| 1013 | + $discounts = wpinv_get_cart_discounts($items); |
|
| 1014 | 1014 | } |
| 1015 | 1015 | |
| 1016 | - if ( !$discounts ) { |
|
| 1016 | + if (!$discounts) { |
|
| 1017 | 1017 | return; |
| 1018 | 1018 | } |
| 1019 | 1019 | |
| 1020 | - $discounts = is_array( $discounts ) ? $discounts : array( $discounts ); |
|
| 1020 | + $discounts = is_array($discounts) ? $discounts : array($discounts); |
|
| 1021 | 1021 | |
| 1022 | 1022 | $html = ''; |
| 1023 | 1023 | |
| 1024 | - foreach ( $discounts as $discount ) { |
|
| 1025 | - $discount_id = wpinv_get_discount_id_by_code( $discount ); |
|
| 1026 | - $discount_value = wpinv_get_discount_amount( $discount_id ); |
|
| 1027 | - $rate = wpinv_format_discount_rate( wpinv_get_discount_type( $discount_id ), $discount_value ); |
|
| 1028 | - $amount = wpinv_get_cart_items_discount_amount( $items, $discount ); |
|
| 1029 | - $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> '; |
|
| 1024 | + foreach ($discounts as $discount) { |
|
| 1025 | + $discount_id = wpinv_get_discount_id_by_code($discount); |
|
| 1026 | + $discount_value = wpinv_get_discount_amount($discount_id); |
|
| 1027 | + $rate = wpinv_format_discount_rate(wpinv_get_discount_type($discount_id), $discount_value); |
|
| 1028 | + $amount = wpinv_get_cart_items_discount_amount($items, $discount); |
|
| 1029 | + $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> '; |
|
| 1030 | 1030 | |
| 1031 | 1031 | $html .= '<tr class="wpinv_cart_footer_row wpinv_cart_discount_row">'; |
| 1032 | 1032 | ob_start(); |
| 1033 | - do_action( 'wpinv_checkout_table_discount_first', $items ); |
|
| 1033 | + do_action('wpinv_checkout_table_discount_first', $items); |
|
| 1034 | 1034 | $html .= ob_get_clean(); |
| 1035 | - $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>'; |
|
| 1035 | + $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>'; |
|
| 1036 | 1036 | ob_start(); |
| 1037 | - do_action( 'wpinv_checkout_table_discount_last', $items ); |
|
| 1037 | + do_action('wpinv_checkout_table_discount_last', $items); |
|
| 1038 | 1038 | $html .= ob_get_clean(); |
| 1039 | 1039 | $html .= '</tr>'; |
| 1040 | 1040 | } |
| 1041 | 1041 | |
| 1042 | - return apply_filters( 'wpinv_get_cart_discounts_html', $html, $discounts, $rate ); |
|
| 1042 | + return apply_filters('wpinv_get_cart_discounts_html', $html, $discounts, $rate); |
|
| 1043 | 1043 | } |
| 1044 | 1044 | |
| 1045 | -function wpinv_display_cart_discount( $formatted = false, $echo = false ) { |
|
| 1045 | +function wpinv_display_cart_discount($formatted = false, $echo = false) { |
|
| 1046 | 1046 | $discounts = wpinv_get_cart_discounts(); |
| 1047 | 1047 | |
| 1048 | - if ( empty( $discounts ) ) { |
|
| 1048 | + if (empty($discounts)) { |
|
| 1049 | 1049 | return false; |
| 1050 | 1050 | } |
| 1051 | 1051 | |
| 1052 | - $discount_id = wpinv_get_discount_id_by_code( $discounts[0] ); |
|
| 1053 | - $amount = wpinv_format_discount_rate( wpinv_get_discount_type( $discount_id ), wpinv_get_discount_amount( $discount_id ) ); |
|
| 1052 | + $discount_id = wpinv_get_discount_id_by_code($discounts[0]); |
|
| 1053 | + $amount = wpinv_format_discount_rate(wpinv_get_discount_type($discount_id), wpinv_get_discount_amount($discount_id)); |
|
| 1054 | 1054 | |
| 1055 | - if ( $echo ) { |
|
| 1055 | + if ($echo) { |
|
| 1056 | 1056 | echo $amount; |
| 1057 | 1057 | } |
| 1058 | 1058 | |
@@ -1060,101 +1060,101 @@ discard block |
||
| 1060 | 1060 | } |
| 1061 | 1061 | |
| 1062 | 1062 | function wpinv_remove_cart_discount() { |
| 1063 | - if ( !isset( $_GET['discount_id'] ) || ! isset( $_GET['discount_code'] ) ) { |
|
| 1063 | + if (!isset($_GET['discount_id']) || !isset($_GET['discount_code'])) { |
|
| 1064 | 1064 | return; |
| 1065 | 1065 | } |
| 1066 | 1066 | |
| 1067 | - do_action( 'wpinv_pre_remove_cart_discount', absint( $_GET['discount_id'] ) ); |
|
| 1067 | + do_action('wpinv_pre_remove_cart_discount', absint($_GET['discount_id'])); |
|
| 1068 | 1068 | |
| 1069 | - wpinv_unset_cart_discount( urldecode( $_GET['discount_code'] ) ); |
|
| 1069 | + wpinv_unset_cart_discount(urldecode($_GET['discount_code'])); |
|
| 1070 | 1070 | |
| 1071 | - do_action( 'wpinv_post_remove_cart_discount', absint( $_GET['discount_id'] ) ); |
|
| 1071 | + do_action('wpinv_post_remove_cart_discount', absint($_GET['discount_id'])); |
|
| 1072 | 1072 | |
| 1073 | - wp_redirect( wpinv_get_checkout_uri() ); wpinv_die(); |
|
| 1073 | + wp_redirect(wpinv_get_checkout_uri()); wpinv_die(); |
|
| 1074 | 1074 | } |
| 1075 | -add_action( 'wpinv_remove_cart_discount', 'wpinv_remove_cart_discount' ); |
|
| 1075 | +add_action('wpinv_remove_cart_discount', 'wpinv_remove_cart_discount'); |
|
| 1076 | 1076 | |
| 1077 | -function wpinv_maybe_remove_cart_discount( $cart_key = 0 ) { |
|
| 1077 | +function wpinv_maybe_remove_cart_discount($cart_key = 0) { |
|
| 1078 | 1078 | $discounts = wpinv_get_cart_discounts(); |
| 1079 | 1079 | |
| 1080 | - if ( !$discounts ) { |
|
| 1080 | + if (!$discounts) { |
|
| 1081 | 1081 | return; |
| 1082 | 1082 | } |
| 1083 | 1083 | |
| 1084 | - foreach ( $discounts as $discount ) { |
|
| 1085 | - if ( !wpinv_is_discount_valid( $discount ) ) { |
|
| 1086 | - wpinv_unset_cart_discount( $discount ); |
|
| 1084 | + foreach ($discounts as $discount) { |
|
| 1085 | + if (!wpinv_is_discount_valid($discount)) { |
|
| 1086 | + wpinv_unset_cart_discount($discount); |
|
| 1087 | 1087 | } |
| 1088 | 1088 | } |
| 1089 | 1089 | } |
| 1090 | -add_action( 'wpinv_post_remove_from_cart', 'wpinv_maybe_remove_cart_discount' ); |
|
| 1090 | +add_action('wpinv_post_remove_from_cart', 'wpinv_maybe_remove_cart_discount'); |
|
| 1091 | 1091 | |
| 1092 | 1092 | function wpinv_multiple_discounts_allowed() { |
| 1093 | - $ret = wpinv_get_option( 'allow_multiple_discounts', false ); |
|
| 1094 | - return (bool) apply_filters( 'wpinv_multiple_discounts_allowed', $ret ); |
|
| 1093 | + $ret = wpinv_get_option('allow_multiple_discounts', false); |
|
| 1094 | + return (bool) apply_filters('wpinv_multiple_discounts_allowed', $ret); |
|
| 1095 | 1095 | } |
| 1096 | 1096 | |
| 1097 | -function wpinv_get_discount_label( $code, $echo = true ) { |
|
| 1098 | - $label = wp_sprintf( __( 'Discount%1$s', 'invoicing' ), ( $code != '' && $code != 'none' ? ' (<code>' . $code . '</code>)': '' ) ); |
|
| 1099 | - $label = apply_filters( 'wpinv_get_discount_label', $label, $code ); |
|
| 1097 | +function wpinv_get_discount_label($code, $echo = true) { |
|
| 1098 | + $label = wp_sprintf(__('Discount%1$s', 'invoicing'), ($code != '' && $code != 'none' ? ' (<code>' . $code . '</code>)' : '')); |
|
| 1099 | + $label = apply_filters('wpinv_get_discount_label', $label, $code); |
|
| 1100 | 1100 | |
| 1101 | - if ( $echo ) { |
|
| 1101 | + if ($echo) { |
|
| 1102 | 1102 | echo $label; |
| 1103 | 1103 | } else { |
| 1104 | 1104 | return $label; |
| 1105 | 1105 | } |
| 1106 | 1106 | } |
| 1107 | 1107 | |
| 1108 | -function wpinv_cart_discount_label( $code, $rate, $echo = true ) { |
|
| 1109 | - $label = wp_sprintf( __( 'Discount: %s', 'invoicing' ), $code ); |
|
| 1110 | - $label = apply_filters( 'wpinv_cart_discount_label', $label, $code, $rate ); |
|
| 1108 | +function wpinv_cart_discount_label($code, $rate, $echo = true) { |
|
| 1109 | + $label = wp_sprintf(__('Discount: %s', 'invoicing'), $code); |
|
| 1110 | + $label = apply_filters('wpinv_cart_discount_label', $label, $code, $rate); |
|
| 1111 | 1111 | |
| 1112 | - if ( $echo ) { |
|
| 1112 | + if ($echo) { |
|
| 1113 | 1113 | echo $label; |
| 1114 | 1114 | } else { |
| 1115 | 1115 | return $label; |
| 1116 | 1116 | } |
| 1117 | 1117 | } |
| 1118 | 1118 | |
| 1119 | -function wpinv_check_delete_discount( $check, $post ) { |
|
| 1120 | - if ( $post->post_type == 'wpi_discount' && wpinv_get_discount_uses( $post->ID ) > 0 ) { |
|
| 1119 | +function wpinv_check_delete_discount($check, $post) { |
|
| 1120 | + if ($post->post_type == 'wpi_discount' && wpinv_get_discount_uses($post->ID) > 0) { |
|
| 1121 | 1121 | return true; |
| 1122 | 1122 | } |
| 1123 | 1123 | |
| 1124 | 1124 | return $check; |
| 1125 | 1125 | } |
| 1126 | -add_filter( 'pre_delete_post', 'wpinv_check_delete_discount', 10, 2 ); |
|
| 1126 | +add_filter('pre_delete_post', 'wpinv_check_delete_discount', 10, 2); |
|
| 1127 | 1127 | |
| 1128 | 1128 | function wpinv_checkout_form_validate_discounts() { |
| 1129 | 1129 | global $wpi_checkout_id; |
| 1130 | 1130 | |
| 1131 | 1131 | $discounts = wpinv_get_cart_discounts(); |
| 1132 | 1132 | |
| 1133 | - if ( !empty( $discounts ) ) { |
|
| 1133 | + if (!empty($discounts)) { |
|
| 1134 | 1134 | $invalid = false; |
| 1135 | 1135 | |
| 1136 | - foreach ( $discounts as $key => $code ) { |
|
| 1137 | - if ( !wpinv_is_discount_valid( $code, (int)wpinv_get_user_id( $wpi_checkout_id ) ) ) { |
|
| 1136 | + foreach ($discounts as $key => $code) { |
|
| 1137 | + if (!wpinv_is_discount_valid($code, (int) wpinv_get_user_id($wpi_checkout_id))) { |
|
| 1138 | 1138 | $invalid = true; |
| 1139 | 1139 | |
| 1140 | - wpinv_unset_cart_discount( $code ); |
|
| 1140 | + wpinv_unset_cart_discount($code); |
|
| 1141 | 1141 | } |
| 1142 | 1142 | } |
| 1143 | 1143 | |
| 1144 | - if ( $invalid ) { |
|
| 1144 | + if ($invalid) { |
|
| 1145 | 1145 | $errors = wpinv_get_errors(); |
| 1146 | - $error = !empty( $errors['wpinv-discount-error'] ) ? $errors['wpinv-discount-error'] . ' ' : ''; |
|
| 1147 | - $error .= __( 'The discount has been removed from cart.', 'invoicing' ); |
|
| 1148 | - wpinv_set_error( 'wpinv-discount-error', $error ); |
|
| 1146 | + $error = !empty($errors['wpinv-discount-error']) ? $errors['wpinv-discount-error'] . ' ' : ''; |
|
| 1147 | + $error .= __('The discount has been removed from cart.', 'invoicing'); |
|
| 1148 | + wpinv_set_error('wpinv-discount-error', $error); |
|
| 1149 | 1149 | |
| 1150 | - wpinv_recalculate_tax( true ); |
|
| 1150 | + wpinv_recalculate_tax(true); |
|
| 1151 | 1151 | } |
| 1152 | 1152 | } |
| 1153 | 1153 | } |
| 1154 | -add_action( 'wpinv_before_checkout_form', 'wpinv_checkout_form_validate_discounts', -10 ); |
|
| 1154 | +add_action('wpinv_before_checkout_form', 'wpinv_checkout_form_validate_discounts', -10); |
|
| 1155 | 1155 | |
| 1156 | 1156 | function wpinv_discount_amount() { |
| 1157 | 1157 | $output = 0.00; |
| 1158 | 1158 | |
| 1159 | - return apply_filters( 'wpinv_discount_amount', $output ); |
|
| 1159 | + return apply_filters('wpinv_discount_amount', $output); |
|
| 1160 | 1160 | } |
| 1161 | 1161 | \ No newline at end of file |