@@ -8,7 +8,7 @@ discard block |
||
| 8 | 8 | */ |
| 9 | 9 | |
| 10 | 10 | if ( ! defined( 'ABSPATH' ) ) { |
| 11 | - exit; // Exit if accessed directly |
|
| 11 | + exit; // Exit if accessed directly |
|
| 12 | 12 | } |
| 13 | 13 | |
| 14 | 14 | /** |
@@ -319,10 +319,10 @@ discard block |
||
| 319 | 319 | } |
| 320 | 320 | |
| 321 | 321 | /** |
| 322 | - * Output the metabox. |
|
| 323 | - * |
|
| 324 | - * @param WP_Post $post |
|
| 325 | - */ |
|
| 322 | + * Output the metabox. |
|
| 323 | + * |
|
| 324 | + * @param WP_Post $post |
|
| 325 | + */ |
|
| 326 | 326 | public static function output2( $post ) { |
| 327 | 327 | |
| 328 | 328 | // Prepare the invoice. |
@@ -7,7 +7,7 @@ discard block |
||
| 7 | 7 | * |
| 8 | 8 | */ |
| 9 | 9 | |
| 10 | -if ( ! defined( 'ABSPATH' ) ) { |
|
| 10 | +if (!defined('ABSPATH')) { |
|
| 11 | 11 | exit; // Exit if accessed directly |
| 12 | 12 | } |
| 13 | 13 | |
@@ -16,82 +16,82 @@ discard block |
||
| 16 | 16 | */ |
| 17 | 17 | class GetPaid_Meta_Box_Invoice_Items { |
| 18 | 18 | |
| 19 | - public static function get_columns( $invoice ) { |
|
| 19 | + public static function get_columns($invoice) { |
|
| 20 | 20 | $use_taxes = $invoice->is_taxable() && wpinv_use_taxes(); |
| 21 | 21 | $columns = array( |
| 22 | - 'id' => __( 'ID', 'invoicing' ), |
|
| 23 | - 'title' => __( 'Item', 'invoicing' ), |
|
| 22 | + 'id' => __('ID', 'invoicing'), |
|
| 23 | + 'title' => __('Item', 'invoicing'), |
|
| 24 | 24 | 'price' => sprintf( |
| 25 | 25 | '<span class="getpaid-hide-if-hours getpaid-hide-if-quantity">%s</span> |
| 26 | 26 | <span class="getpaid-hide-if-hours hide-if-amount">%s</span> |
| 27 | 27 | <span class="getpaid-hide-if-quantity hide-if-amount">%s</span>', |
| 28 | - __( 'Amount', 'invoicing' ), |
|
| 29 | - __( 'Price', 'invoicing' ), |
|
| 30 | - __( 'Rate', 'invoicing' ) |
|
| 28 | + __('Amount', 'invoicing'), |
|
| 29 | + __('Price', 'invoicing'), |
|
| 30 | + __('Rate', 'invoicing') |
|
| 31 | 31 | ), |
| 32 | 32 | 'qty' => sprintf( |
| 33 | 33 | '<span class="getpaid-hide-if-hours">%s</span><span class="getpaid-hide-if-quantity">%s</span>', |
| 34 | - __( 'Quantity', 'invoicing' ), |
|
| 35 | - __( 'Hours', 'invoicing' ) |
|
| 34 | + __('Quantity', 'invoicing'), |
|
| 35 | + __('Hours', 'invoicing') |
|
| 36 | 36 | ), |
| 37 | - 'total' => __( 'Total', 'invoicing' ), |
|
| 38 | - 'tax' => __( 'Tax (%)', 'invoicing' ), |
|
| 37 | + 'total' => __('Total', 'invoicing'), |
|
| 38 | + 'tax' => __('Tax (%)', 'invoicing'), |
|
| 39 | 39 | 'action' => '', |
| 40 | 40 | ); |
| 41 | 41 | |
| 42 | - if ( ! $use_taxes ) { |
|
| 43 | - unset( $columns['tax'] ); |
|
| 42 | + if (!$use_taxes) { |
|
| 43 | + unset($columns['tax']); |
|
| 44 | 44 | } |
| 45 | 45 | |
| 46 | 46 | return $columns; |
| 47 | 47 | } |
| 48 | 48 | |
| 49 | - public static function output( $post, $invoice = false ) { |
|
| 49 | + public static function output($post, $invoice = false) { |
|
| 50 | 50 | |
| 51 | - if ( apply_filters( 'getpaid_use_new_invoice_items_metabox', false ) ) { |
|
| 52 | - return self::output2( $post ); |
|
| 51 | + if (apply_filters('getpaid_use_new_invoice_items_metabox', false)) { |
|
| 52 | + return self::output2($post); |
|
| 53 | 53 | } |
| 54 | 54 | |
| 55 | - $post_id = !empty( $post->ID ) ? $post->ID : 0; |
|
| 56 | - $invoice = $invoice instanceof WPInv_Invoice ? $invoice : new WPInv_Invoice( $post_id ); |
|
| 55 | + $post_id = !empty($post->ID) ? $post->ID : 0; |
|
| 56 | + $invoice = $invoice instanceof WPInv_Invoice ? $invoice : new WPInv_Invoice($post_id); |
|
| 57 | 57 | $use_taxes = $invoice->is_taxable() && wpinv_use_taxes(); |
| 58 | - $item_types = apply_filters( 'wpinv_item_types_for_quick_add_item', wpinv_get_item_types(), $post ); |
|
| 59 | - $columns = self::get_columns( $invoice ); |
|
| 60 | - $cols = count( $columns ); |
|
| 58 | + $item_types = apply_filters('wpinv_item_types_for_quick_add_item', wpinv_get_item_types(), $post); |
|
| 59 | + $columns = self::get_columns($invoice); |
|
| 60 | + $cols = count($columns); |
|
| 61 | 61 | $class = ''; |
| 62 | 62 | |
| 63 | - unset( $item_types['adv'] ); |
|
| 64 | - unset( $item_types['package'] ); |
|
| 63 | + unset($item_types['adv']); |
|
| 64 | + unset($item_types['package']); |
|
| 65 | 65 | |
| 66 | - if ( $invoice->is_paid() ) { |
|
| 66 | + if ($invoice->is_paid()) { |
|
| 67 | 67 | $class .= ' wpinv-paid'; |
| 68 | 68 | } |
| 69 | 69 | |
| 70 | - if ( $invoice->is_refunded() ) { |
|
| 70 | + if ($invoice->is_refunded()) { |
|
| 71 | 71 | $class .= ' wpinv-refunded'; |
| 72 | 72 | } |
| 73 | 73 | |
| 74 | - if ( $invoice->is_recurring() ) { |
|
| 74 | + if ($invoice->is_recurring()) { |
|
| 75 | 75 | $class .= ' wpi-recurring'; |
| 76 | 76 | } |
| 77 | 77 | |
| 78 | 78 | ?> |
| 79 | 79 | |
| 80 | - <div class="wpinv-items-wrap<?php echo $class; ?>" id="wpinv_items_wrap" data-status="<?php echo esc_attr( $invoice->get_status() ); ?>"> |
|
| 80 | + <div class="wpinv-items-wrap<?php echo $class; ?>" id="wpinv_items_wrap" data-status="<?php echo esc_attr($invoice->get_status()); ?>"> |
|
| 81 | 81 | <table id="wpinv_items" class="wpinv-items" cellspacing="0" cellpadding="0"> |
| 82 | 82 | |
| 83 | 83 | <thead> |
| 84 | 84 | <tr> |
| 85 | - <?php foreach ( $columns as $key => $label ) : ?> |
|
| 86 | - <th class="<?php echo esc_attr( $key ); echo 'total' == $key || 'qty' == $key ? ' hide-if-amount' : '' ?>"><?php echo wp_kses_post( $label ); ?></th> |
|
| 85 | + <?php foreach ($columns as $key => $label) : ?> |
|
| 86 | + <th class="<?php echo esc_attr($key); echo 'total' == $key || 'qty' == $key ? ' hide-if-amount' : '' ?>"><?php echo wp_kses_post($label); ?></th> |
|
| 87 | 87 | <?php endforeach; ?> |
| 88 | 88 | </tr> |
| 89 | 89 | </thead> |
| 90 | 90 | |
| 91 | 91 | <tbody class="wpinv-line-items"> |
| 92 | 92 | <?php |
| 93 | - foreach ( $invoice->get_items() as $int => $item ) { |
|
| 94 | - self::output_row( $columns, $item, $invoice, $int % 2 == 0 ? 'even' : 'odd' ); |
|
| 93 | + foreach ($invoice->get_items() as $int => $item) { |
|
| 94 | + self::output_row($columns, $item, $invoice, $int % 2 == 0 ? 'even' : 'odd'); |
|
| 95 | 95 | } |
| 96 | 96 | ?> |
| 97 | 97 | </tbody> |
@@ -108,7 +108,7 @@ discard block |
||
| 108 | 108 | <div class="wp-clearfix"> |
| 109 | 109 | <label class="wpi-item-name"> |
| 110 | 110 | <span class="input-text-wrap"> |
| 111 | - <input type="text" style="width: 100%" placeholder="<?php esc_attr_e( 'Item Name', 'invoicing' );?>" class="wpinv-quick-item-name" name="_wpinv_quick[name]"> |
|
| 111 | + <input type="text" style="width: 100%" placeholder="<?php esc_attr_e('Item Name', 'invoicing'); ?>" class="wpinv-quick-item-name" name="_wpinv_quick[name]"> |
|
| 112 | 112 | </span> |
| 113 | 113 | </label> |
| 114 | 114 | </div> |
@@ -116,8 +116,8 @@ discard block |
||
| 116 | 116 | <div class="wp-clearfix"> |
| 117 | 117 | <label class="wpi-item-price"> |
| 118 | 118 | <span class="input-text-wrap"> |
| 119 | - <input type="text" style="width: 200px" placeholder="<?php esc_attr_e( 'Item Price', 'invoicing' );?>" class="wpinv-quick-item-price" name="_wpinv_quick[price]"> |
|
| 120 | - × <input type="text" style="width: 140px" placeholder="<?php esc_attr_e( 'Item Quantity', 'invoicing' );?>" class="wpinv-quick-item-qty" name="_wpinv_quick[qty]"> |
|
| 119 | + <input type="text" style="width: 200px" placeholder="<?php esc_attr_e('Item Price', 'invoicing'); ?>" class="wpinv-quick-item-price" name="_wpinv_quick[price]"> |
|
| 120 | + × <input type="text" style="width: 140px" placeholder="<?php esc_attr_e('Item Quantity', 'invoicing'); ?>" class="wpinv-quick-item-qty" name="_wpinv_quick[qty]"> |
|
| 121 | 121 | </span> |
| 122 | 122 | </label> |
| 123 | 123 | </div> |
@@ -125,7 +125,7 @@ discard block |
||
| 125 | 125 | <div class="wp-clearfix"> |
| 126 | 126 | <label class="wpi-item-name"> |
| 127 | 127 | <span class="input-text-wrap"> |
| 128 | - <textarea rows="4" style="width: 100%" placeholder="<?php esc_attr_e( 'Item Description', 'invoicing' );?>" class="wpinv-quick-item-description" name="_wpinv_quick[description]"></textarea> |
|
| 128 | + <textarea rows="4" style="width: 100%" placeholder="<?php esc_attr_e('Item Description', 'invoicing'); ?>" class="wpinv-quick-item-description" name="_wpinv_quick[description]"></textarea> |
|
| 129 | 129 | </span> |
| 130 | 130 | </label> |
| 131 | 131 | </div> |
@@ -133,7 +133,7 @@ discard block |
||
| 133 | 133 | <div class="wp-clearfix"> |
| 134 | 134 | <label class="wpi-item-type"> |
| 135 | 135 | <span class="input-text-wrap"> |
| 136 | - <?php echo wpinv_html_select( array( |
|
| 136 | + <?php echo wpinv_html_select(array( |
|
| 137 | 137 | 'options' => $item_types, |
| 138 | 138 | 'name' => '_wpinv_quick[type]', |
| 139 | 139 | 'id' => '_wpinv_quick_type', |
@@ -141,19 +141,19 @@ discard block |
||
| 141 | 141 | 'show_option_all' => false, |
| 142 | 142 | 'show_option_none' => false, |
| 143 | 143 | 'class' => 'gdmbx2-text-medium wpinv-quick-type', |
| 144 | - ) ); ?> |
|
| 144 | + )); ?> |
|
| 145 | 145 | </span> |
| 146 | 146 | </label> |
| 147 | 147 | </div> |
| 148 | 148 | |
| 149 | - <?php if ( $use_taxes ) : ?> |
|
| 149 | + <?php if ($use_taxes) : ?> |
|
| 150 | 150 | <div class="wp-clearfix"> |
| 151 | 151 | <label class="wpi-vat-rule"> |
| 152 | 152 | <span class="input-text-wrap"> |
| 153 | 153 | <?php |
| 154 | - echo wpinv_html_select( array( |
|
| 154 | + echo wpinv_html_select(array( |
|
| 155 | 155 | 'options' => array_merge( |
| 156 | - array( '' => __( 'Select VAT Rule', 'invoicing' ) ), |
|
| 156 | + array('' => __('Select VAT Rule', 'invoicing')), |
|
| 157 | 157 | getpaid_get_tax_rules() |
| 158 | 158 | ), |
| 159 | 159 | 'name' => '_wpinv_quick[vat_rule]', |
@@ -161,7 +161,7 @@ discard block |
||
| 161 | 161 | 'show_option_all' => false, |
| 162 | 162 | 'show_option_none' => false, |
| 163 | 163 | 'class' => 'gdmbx2-text-medium wpinv-quick-vat-rule', |
| 164 | - ) ); |
|
| 164 | + )); |
|
| 165 | 165 | ?> |
| 166 | 166 | </span> |
| 167 | 167 | </label> |
@@ -170,9 +170,9 @@ discard block |
||
| 170 | 170 | <label class="wpi-vat-class"> |
| 171 | 171 | <span class="input-text-wrap"> |
| 172 | 172 | <?php |
| 173 | - echo wpinv_html_select( array( |
|
| 173 | + echo wpinv_html_select(array( |
|
| 174 | 174 | 'options' => array_merge( |
| 175 | - array( '' => __( 'Select VAT Class', 'invoicing' ) ), |
|
| 175 | + array('' => __('Select VAT Class', 'invoicing')), |
|
| 176 | 176 | getpaid_get_tax_classes() |
| 177 | 177 | ), |
| 178 | 178 | 'name' => '_wpinv_quick[vat_class]', |
@@ -180,7 +180,7 @@ discard block |
||
| 180 | 180 | 'show_option_all' => false, |
| 181 | 181 | 'show_option_none' => false, |
| 182 | 182 | 'class' => 'gdmbx2-text-medium wpinv-quick-vat-class', |
| 183 | - ) ); |
|
| 183 | + )); |
|
| 184 | 184 | ?> |
| 185 | 185 | </span> |
| 186 | 186 | </label> |
@@ -201,29 +201,29 @@ discard block |
||
| 201 | 201 | </td> |
| 202 | 202 | </tr> |
| 203 | 203 | <tr class="totals"> |
| 204 | - <td colspan="<?php echo ( $cols - 4 ); ?>"></td> |
|
| 204 | + <td colspan="<?php echo ($cols - 4); ?>"></td> |
|
| 205 | 205 | <td colspan="4"> |
| 206 | 206 | <table cellspacing="0" cellpadding="0"> |
| 207 | 207 | <tr class="subtotal"> |
| 208 | - <td class="name"><?php _e( 'Sub Total:', 'invoicing' );?></td> |
|
| 209 | - <td class="total"><?php echo wpinv_price( $invoice->get_subtotal(), $invoice->get_currency() );?></td> |
|
| 208 | + <td class="name"><?php _e('Sub Total:', 'invoicing'); ?></td> |
|
| 209 | + <td class="total"><?php echo wpinv_price($invoice->get_subtotal(), $invoice->get_currency()); ?></td> |
|
| 210 | 210 | <td class="action"></td> |
| 211 | 211 | </tr> |
| 212 | 212 | <tr class="discount"> |
| 213 | - <td class="name"><?php _e( 'Discount:', 'invoicing' ) ; ?></td> |
|
| 214 | - <td class="total"><?php echo wpinv_price( $invoice->get_total_discount(), $invoice->get_currency() );?></td> |
|
| 213 | + <td class="name"><?php _e('Discount:', 'invoicing'); ?></td> |
|
| 214 | + <td class="total"><?php echo wpinv_price($invoice->get_total_discount(), $invoice->get_currency()); ?></td> |
|
| 215 | 215 | <td class="action"></td> |
| 216 | 216 | </tr> |
| 217 | - <?php if ( $use_taxes ) : ?> |
|
| 217 | + <?php if ($use_taxes) : ?> |
|
| 218 | 218 | <tr class="tax"> |
| 219 | - <td class="name"><?php _e( 'Tax:', 'invoicing' );?></td> |
|
| 220 | - <td class="total"><?php echo wpinv_price( $invoice->get_total_tax(), $invoice->get_currency() );?></td> |
|
| 219 | + <td class="name"><?php _e('Tax:', 'invoicing'); ?></td> |
|
| 220 | + <td class="total"><?php echo wpinv_price($invoice->get_total_tax(), $invoice->get_currency()); ?></td> |
|
| 221 | 221 | <td class="action"></td> |
| 222 | 222 | </tr> |
| 223 | 223 | <?php endif; ?> |
| 224 | 224 | <tr class="total"> |
| 225 | - <td class="name"><?php _e( 'Total:', 'invoicing' );?></td> |
|
| 226 | - <td class="total"><?php echo wpinv_price( $invoice->get_total(), $invoice->get_currency() );?></td> |
|
| 225 | + <td class="name"><?php _e('Total:', 'invoicing'); ?></td> |
|
| 226 | + <td class="total"><?php echo wpinv_price($invoice->get_total(), $invoice->get_currency()); ?></td> |
|
| 227 | 227 | <td class="action"></td> |
| 228 | 228 | </tr> |
| 229 | 229 | </table> |
@@ -234,7 +234,7 @@ discard block |
||
| 234 | 234 | </table> |
| 235 | 235 | <div class="wpinv-actions"> |
| 236 | 236 | <?php |
| 237 | - if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) { |
|
| 237 | + if (!$invoice->is_paid() && !$invoice->is_refunded()) { |
|
| 238 | 238 | echo wpinv_item_dropdown( |
| 239 | 239 | array( |
| 240 | 240 | 'name' => 'wpinv_invoice_item', |
@@ -244,61 +244,61 @@ discard block |
||
| 244 | 244 | ) |
| 245 | 245 | ); |
| 246 | 246 | |
| 247 | - echo " " . '<button class="button button-primary" id="wpinv-add-item">' . sprintf( esc_html__( 'Add item to %s', 'invoicing' ), $invoice->get_label() ) . '</button>'; |
|
| 248 | - echo " " . '<button class="button button-primary" id="wpinv-new-item">' . esc_html__( 'Create new item', 'invoicing' ) . '</button>'; |
|
| 249 | - echo " " . '<button class="button button-primary wpinv-flr" id="wpinv-recalc-totals">' . esc_html__( 'Recalculate Totals', 'invoicing' ) . '</button>'; |
|
| 247 | + echo " " . '<button class="button button-primary" id="wpinv-add-item">' . sprintf(esc_html__('Add item to %s', 'invoicing'), $invoice->get_label()) . '</button>'; |
|
| 248 | + echo " " . '<button class="button button-primary" id="wpinv-new-item">' . esc_html__('Create new item', 'invoicing') . '</button>'; |
|
| 249 | + echo " " . '<button class="button button-primary wpinv-flr" id="wpinv-recalc-totals">' . esc_html__('Recalculate Totals', 'invoicing') . '</button>'; |
|
| 250 | 250 | |
| 251 | 251 | } |
| 252 | 252 | ?> |
| 253 | - <?php do_action( 'wpinv_invoice_items_actions', $invoice ); ?> |
|
| 253 | + <?php do_action('wpinv_invoice_items_actions', $invoice); ?> |
|
| 254 | 254 | </div> |
| 255 | 255 | </div> |
| 256 | 256 | <?php |
| 257 | 257 | } |
| 258 | 258 | |
| 259 | - public static function output_row( $columns, $item, $invoice, $class='even' ) { |
|
| 259 | + public static function output_row($columns, $item, $invoice, $class = 'even') { |
|
| 260 | 260 | |
| 261 | 261 | ?> |
| 262 | - <tr class="item item-<?php echo esc_attr( $class ); ?>" data-item-id="<?php echo esc_attr( $item->get_id() ); ?>"> |
|
| 263 | - <?php foreach ( array_keys( $columns ) as $column ) : ?> |
|
| 264 | - <td class="<?php echo esc_attr( $column ); echo 'total' == $column || 'qty' == $column ? ' hide-if-amount' : '' ?>"> |
|
| 262 | + <tr class="item item-<?php echo esc_attr($class); ?>" data-item-id="<?php echo esc_attr($item->get_id()); ?>"> |
|
| 263 | + <?php foreach (array_keys($columns) as $column) : ?> |
|
| 264 | + <td class="<?php echo esc_attr($column); echo 'total' == $column || 'qty' == $column ? ' hide-if-amount' : '' ?>"> |
|
| 265 | 265 | <?php |
| 266 | - switch ( $column ) { |
|
| 266 | + switch ($column) { |
|
| 267 | 267 | case 'id': |
| 268 | 268 | echo (int) $item->get_id(); |
| 269 | 269 | break; |
| 270 | 270 | case 'title': |
| 271 | 271 | printf( |
| 272 | 272 | '<a href="%s" target="_blank">%s</a>', |
| 273 | - get_edit_post_link( $item->get_id() ), |
|
| 274 | - esc_html( $item->get_raw_name() ) |
|
| 273 | + get_edit_post_link($item->get_id()), |
|
| 274 | + esc_html($item->get_raw_name()) |
|
| 275 | 275 | ); |
| 276 | 276 | |
| 277 | - $summary = apply_filters( 'getpaid_admin_invoice_line_item_summary', $item->get_description(), $item, $invoice ); |
|
| 278 | - if ( $summary !== '' ) { |
|
| 277 | + $summary = apply_filters('getpaid_admin_invoice_line_item_summary', $item->get_description(), $item, $invoice); |
|
| 278 | + if ($summary !== '') { |
|
| 279 | 279 | printf( |
| 280 | 280 | '<span class="meta">%s</span>', |
| 281 | - wpautop( wp_kses_post( $summary ) ) |
|
| 281 | + wpautop(wp_kses_post($summary)) |
|
| 282 | 282 | ); |
| 283 | 283 | } |
| 284 | 284 | |
| 285 | 285 | printf( |
| 286 | 286 | '<input type="hidden" value="%s" name="getpaid_items[%s][name]" class="getpaid-recalculate-prices-on-change" />', |
| 287 | - esc_attr( $item->get_raw_name() ), |
|
| 287 | + esc_attr($item->get_raw_name()), |
|
| 288 | 288 | (int) $item->get_id() |
| 289 | 289 | ); |
| 290 | 290 | |
| 291 | 291 | printf( |
| 292 | 292 | '<textarea style="display: none;" name="getpaid_items[%s][description]" class="getpaid-recalculate-prices-on-change">%s</textarea>', |
| 293 | 293 | (int) $item->get_id(), |
| 294 | - esc_attr( $item->get_description() ) |
|
| 294 | + esc_attr($item->get_description()) |
|
| 295 | 295 | ); |
| 296 | 296 | |
| 297 | 297 | break; |
| 298 | 298 | case 'price': |
| 299 | 299 | printf( |
| 300 | 300 | '<input type="text" value="%s" name="getpaid_items[%s][price]" style="width: 100px;" class="getpaid-admin-invoice-item-price getpaid-recalculate-prices-on-change" />', |
| 301 | - esc_attr( getpaid_unstandardize_amount( $item->get_price() ) ), |
|
| 301 | + esc_attr(getpaid_unstandardize_amount($item->get_price())), |
|
| 302 | 302 | (int) $item->get_id() |
| 303 | 303 | ); |
| 304 | 304 | |
@@ -306,26 +306,26 @@ discard block |
||
| 306 | 306 | case 'qty': |
| 307 | 307 | printf( |
| 308 | 308 | '<input type="text" style="width: 100px;" value="%s" name="getpaid_items[%s][quantity]" class="getpaid-admin-invoice-item-quantity getpaid-recalculate-prices-on-change" />', |
| 309 | - floatval( $item->get_quantity() ), |
|
| 309 | + floatval($item->get_quantity()), |
|
| 310 | 310 | (int) $item->get_id() |
| 311 | 311 | ); |
| 312 | 312 | |
| 313 | 313 | break; |
| 314 | 314 | case 'total': |
| 315 | - echo wpinv_price( $item->get_sub_total(), $invoice->get_currency() ); |
|
| 315 | + echo wpinv_price($item->get_sub_total(), $invoice->get_currency()); |
|
| 316 | 316 | |
| 317 | 317 | break; |
| 318 | 318 | case 'tax': |
| 319 | - echo wpinv_round_amount( getpaid_get_invoice_tax_rate( $invoice, $item ), 2 ) . '%'; |
|
| 319 | + echo wpinv_round_amount(getpaid_get_invoice_tax_rate($invoice, $item), 2) . '%'; |
|
| 320 | 320 | |
| 321 | 321 | break; |
| 322 | 322 | case 'action': |
| 323 | - if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) { |
|
| 323 | + if (!$invoice->is_paid() && !$invoice->is_refunded()) { |
|
| 324 | 324 | echo '<i class="fa fa-trash wpinv-item-remove"></i>'; |
| 325 | 325 | } |
| 326 | 326 | break; |
| 327 | 327 | } |
| 328 | - do_action( 'getpaid_admin_edit_invoice_item_' . $column, $item, $invoice ); |
|
| 328 | + do_action('getpaid_admin_edit_invoice_item_' . $column, $item, $invoice); |
|
| 329 | 329 | ?> |
| 330 | 330 | </td> |
| 331 | 331 | <?php endforeach; ?> |
@@ -338,10 +338,10 @@ discard block |
||
| 338 | 338 | * |
| 339 | 339 | * @param WP_Post $post |
| 340 | 340 | */ |
| 341 | - public static function output2( $post ) { |
|
| 341 | + public static function output2($post) { |
|
| 342 | 342 | |
| 343 | 343 | // Prepare the invoice. |
| 344 | - $invoice = new WPInv_Invoice( $post ); |
|
| 344 | + $invoice = new WPInv_Invoice($post); |
|
| 345 | 345 | |
| 346 | 346 | // Invoice items. |
| 347 | 347 | $items = $invoice->get_items(); |
@@ -349,28 +349,28 @@ discard block |
||
| 349 | 349 | $totals = array( |
| 350 | 350 | |
| 351 | 351 | 'subtotal' => array( |
| 352 | - 'label' => __( 'Items Subtotal', 'invoicing' ), |
|
| 353 | - 'value' => wpinv_price( $invoice->get_subtotal(), $invoice->get_currency() ), |
|
| 352 | + 'label' => __('Items Subtotal', 'invoicing'), |
|
| 353 | + 'value' => wpinv_price($invoice->get_subtotal(), $invoice->get_currency()), |
|
| 354 | 354 | ), |
| 355 | 355 | |
| 356 | 356 | 'discount' => array( |
| 357 | - 'label' => __( 'Total Discount', 'invoicing' ), |
|
| 358 | - 'value' => wpinv_price( $invoice->get_total_discount(), $invoice->get_currency() ), |
|
| 357 | + 'label' => __('Total Discount', 'invoicing'), |
|
| 358 | + 'value' => wpinv_price($invoice->get_total_discount(), $invoice->get_currency()), |
|
| 359 | 359 | ), |
| 360 | 360 | |
| 361 | 361 | 'tax' => array( |
| 362 | - 'label' => __( 'Total Tax', 'invoicing' ), |
|
| 363 | - 'value' => wpinv_price( $invoice->get_total_tax(), $invoice->get_currency() ), |
|
| 362 | + 'label' => __('Total Tax', 'invoicing'), |
|
| 363 | + 'value' => wpinv_price($invoice->get_total_tax(), $invoice->get_currency()), |
|
| 364 | 364 | ), |
| 365 | 365 | |
| 366 | 366 | 'total' => array( |
| 367 | - 'label' => __( 'Invoice Total', 'invoicing' ), |
|
| 368 | - 'value' => wpinv_price( $invoice->get_total(), $invoice->get_currency() ), |
|
| 367 | + 'label' => __('Invoice Total', 'invoicing'), |
|
| 368 | + 'value' => wpinv_price($invoice->get_total(), $invoice->get_currency()), |
|
| 369 | 369 | ) |
| 370 | 370 | ); |
| 371 | 371 | |
| 372 | - if ( ! wpinv_use_taxes() ) { |
|
| 373 | - unset( $totals['tax'] ); |
|
| 372 | + if (!wpinv_use_taxes()) { |
|
| 373 | + unset($totals['tax']); |
|
| 374 | 374 | } |
| 375 | 375 | |
| 376 | 376 | $item_args = array( |
@@ -378,7 +378,7 @@ discard block |
||
| 378 | 378 | 'orderby' => 'title', |
| 379 | 379 | 'order' => 'ASC', |
| 380 | 380 | 'posts_per_page' => -1, |
| 381 | - 'post_status' => array( 'publish' ), |
|
| 381 | + 'post_status' => array('publish'), |
|
| 382 | 382 | 'meta_query' => array( |
| 383 | 383 | array( |
| 384 | 384 | 'key' => '_wpinv_type', |
@@ -402,10 +402,10 @@ discard block |
||
| 402 | 402 | } |
| 403 | 403 | </style> |
| 404 | 404 | |
| 405 | - <div class="bsui getpaid-invoice-items-inner <?php echo empty( $items ) ? 'no-items' : 'has-items'; ?> <?php echo $invoice->is_paid() || $invoice->is_refunded() ? 'not-editable' : 'editable'; ?>" style="margin-top: 1.5rem; padding: 0 12px 12px;"> |
|
| 405 | + <div class="bsui getpaid-invoice-items-inner <?php echo empty($items) ? 'no-items' : 'has-items'; ?> <?php echo $invoice->is_paid() || $invoice->is_refunded() ? 'not-editable' : 'editable'; ?>" style="margin-top: 1.5rem; padding: 0 12px 12px;"> |
|
| 406 | 406 | |
| 407 | - <?php if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) : ?> |
|
| 408 | - <?php do_action( 'wpinv_meta_box_before_invoice_template_row', $invoice->get_id() ); ?> |
|
| 407 | + <?php if (!$invoice->is_paid() && !$invoice->is_refunded()) : ?> |
|
| 408 | + <?php do_action('wpinv_meta_box_before_invoice_template_row', $invoice->get_id()); ?> |
|
| 409 | 409 | |
| 410 | 410 | <div class="row"> |
| 411 | 411 | <div class="col-12 col-sm-6"> |
@@ -414,15 +414,15 @@ discard block |
||
| 414 | 414 | array( |
| 415 | 415 | 'id' => 'wpinv_template', |
| 416 | 416 | 'name' => 'wpinv_template', |
| 417 | - 'label' => __( 'Template', 'invoicing' ), |
|
| 417 | + 'label' => __('Template', 'invoicing'), |
|
| 418 | 418 | 'label_type' => 'vertical', |
| 419 | - 'placeholder' => __( 'Choose a template', 'invoicing' ), |
|
| 419 | + 'placeholder' => __('Choose a template', 'invoicing'), |
|
| 420 | 420 | 'class' => 'form-control-sm', |
| 421 | - 'value' => $invoice->get_template( 'edit' ), |
|
| 421 | + 'value' => $invoice->get_template('edit'), |
|
| 422 | 422 | 'options' => array( |
| 423 | - 'quantity' => __( 'Quantity', 'invoicing' ), |
|
| 424 | - 'hours' => __( 'Hours', 'invoicing' ), |
|
| 425 | - 'amount' => __( 'Amount Only', 'invoicing' ), |
|
| 423 | + 'quantity' => __('Quantity', 'invoicing'), |
|
| 424 | + 'hours' => __('Hours', 'invoicing'), |
|
| 425 | + 'amount' => __('Amount Only', 'invoicing'), |
|
| 426 | 426 | ), |
| 427 | 427 | 'data-allow-clear' => 'false', |
| 428 | 428 | 'select2' => true, |
@@ -438,11 +438,11 @@ discard block |
||
| 438 | 438 | array( |
| 439 | 439 | 'id' => 'wpinv_currency', |
| 440 | 440 | 'name' => 'wpinv_currency', |
| 441 | - 'label' => __( 'Currency', 'invoicing' ), |
|
| 441 | + 'label' => __('Currency', 'invoicing'), |
|
| 442 | 442 | 'label_type' => 'vertical', |
| 443 | - 'placeholder' => __( 'Select Invoice Currency', 'invoicing' ), |
|
| 443 | + 'placeholder' => __('Select Invoice Currency', 'invoicing'), |
|
| 444 | 444 | 'class' => 'form-control-sm', |
| 445 | - 'value' => $invoice->get_currency( 'edit' ), |
|
| 445 | + 'value' => $invoice->get_currency('edit'), |
|
| 446 | 446 | 'required' => false, |
| 447 | 447 | 'data-allow-clear' => 'false', |
| 448 | 448 | 'select2' => true, |
@@ -454,24 +454,24 @@ discard block |
||
| 454 | 454 | </div> |
| 455 | 455 | </div> |
| 456 | 456 | |
| 457 | - <?php do_action( 'wpinv_meta_box_invoice_template_row', $invoice->get_id() ); ?> |
|
| 457 | + <?php do_action('wpinv_meta_box_invoice_template_row', $invoice->get_id()); ?> |
|
| 458 | 458 | <?php endif; ?> |
| 459 | 459 | |
| 460 | 460 | <table cellpadding="0" cellspacing="0" class="getpaid_invoice_items"> |
| 461 | 461 | <thead> |
| 462 | 462 | <tr> |
| 463 | - <th class="getpaid-item" colspan="2"><?php _e( 'Item', 'invoicing' ) ?></th> |
|
| 463 | + <th class="getpaid-item" colspan="2"><?php _e('Item', 'invoicing') ?></th> |
|
| 464 | 464 | <th class="getpaid-quantity hide-if-amount text-right"> |
| 465 | - <span class="getpaid-hide-if-hours"><?php _e( 'Quantity', 'invoicing' ) ?></span> |
|
| 466 | - <span class="getpaid-hide-if-quantity"><?php _e( 'Hours', 'invoicing' ) ?></span> |
|
| 465 | + <span class="getpaid-hide-if-hours"><?php _e('Quantity', 'invoicing') ?></span> |
|
| 466 | + <span class="getpaid-hide-if-quantity"><?php _e('Hours', 'invoicing') ?></span> |
|
| 467 | 467 | </th> |
| 468 | 468 | <th class="getpaid-price hide-if-amount text-right"> |
| 469 | - <span class="getpaid-hide-if-hours"><?php _e( 'Price', 'invoicing' ) ?></span> |
|
| 470 | - <span class="getpaid-hide-if-quantity"><?php _e( 'Rate', 'invoicing' ) ?></span> |
|
| 469 | + <span class="getpaid-hide-if-hours"><?php _e('Price', 'invoicing') ?></span> |
|
| 470 | + <span class="getpaid-hide-if-quantity"><?php _e('Rate', 'invoicing') ?></span> |
|
| 471 | 471 | </th> |
| 472 | 472 | <th class="getpaid-item-subtotal text-right"> |
| 473 | - <span class="getpaid-hide-if-hours getpaid-hide-if-quantity"><?php _e( 'Amount', 'invoicing' ) ?></span> |
|
| 474 | - <span class="hide-if-amount"><?php _e( 'Total', 'invoicing' ) ?></span> |
|
| 473 | + <span class="getpaid-hide-if-hours getpaid-hide-if-quantity"><?php _e('Amount', 'invoicing') ?></span> |
|
| 474 | + <span class="hide-if-amount"><?php _e('Total', 'invoicing') ?></span> |
|
| 475 | 475 | </th> |
| 476 | 476 | <th class="getpaid-item-actions hide-if-not-editable" width="70px"> </th> |
| 477 | 477 | </tr> |
@@ -479,8 +479,8 @@ discard block |
||
| 479 | 479 | <tbody class="getpaid_invoice_line_items"> |
| 480 | 480 | <tr class="hide-if-has-items hide-if-not-editable"> |
| 481 | 481 | <td colspan="2" class="pt-4 pb-4"> |
| 482 | - <button type="button" class="button button-primary add-invoice-item" data-toggle="modal" data-target="#getpaid-add-items-to-invoice"><?php _e( 'Add Existing Items', 'invoicing' ) ?></button> |
|
| 483 | - <button type="button" class="button button-secondary create-invoice-item" data-toggle="modal" data-target="#getpaid-create-invoice-item"><?php _e( 'Create New Item', 'invoicing' ) ?></button> |
|
| 482 | + <button type="button" class="button button-primary add-invoice-item" data-toggle="modal" data-target="#getpaid-add-items-to-invoice"><?php _e('Add Existing Items', 'invoicing') ?></button> |
|
| 483 | + <button type="button" class="button button-secondary create-invoice-item" data-toggle="modal" data-target="#getpaid-create-invoice-item"><?php _e('Create New Item', 'invoicing') ?></button> |
|
| 484 | 484 | </td> |
| 485 | 485 | <td class="hide-if-amount"> </th> |
| 486 | 486 | <td class="hide-if-amount"> </th> |
@@ -512,11 +512,11 @@ discard block |
||
| 512 | 512 | <div class="col-12 col-sm-6 offset-sm-6"> |
| 513 | 513 | <table class="getpaid-invoice-totals text-right w-100"> |
| 514 | 514 | <tbody> |
| 515 | - <?php foreach ( apply_filters( 'getpaid_invoice_subtotal_rows', $totals, $invoice ) as $key => $data ) : ?> |
|
| 516 | - <tr class="getpaid-totals-<?php echo sanitize_html_class( $key ); ?>"> |
|
| 517 | - <td class="label"><?php echo esc_html( $data['label'] ) ?>:</td> |
|
| 515 | + <?php foreach (apply_filters('getpaid_invoice_subtotal_rows', $totals, $invoice) as $key => $data) : ?> |
|
| 516 | + <tr class="getpaid-totals-<?php echo sanitize_html_class($key); ?>"> |
|
| 517 | + <td class="label"><?php echo esc_html($data['label']) ?>:</td> |
|
| 518 | 518 | <td width="1%"></td> |
| 519 | - <td class="value"><?php echo wp_kses_post( $data['value'] ) ?></td> |
|
| 519 | + <td class="value"><?php echo wp_kses_post($data['value']) ?></td> |
|
| 520 | 520 | </tr> |
| 521 | 521 | <?php endforeach; ?> |
| 522 | 522 | </tbody> |
@@ -529,18 +529,18 @@ discard block |
||
| 529 | 529 | <div class="getpaid-invoice-item-actions hide-if-no-items hide-if-not-editable"> |
| 530 | 530 | <div class="row"> |
| 531 | 531 | <div class="text-left col-12 col-sm-8"> |
| 532 | - <button type="button" class="button button-primary add-invoice-item" data-toggle="modal" data-target="#getpaid-add-items-to-invoice"><?php _e( 'Add Existing Item', 'invoicing' ) ?></button> |
|
| 533 | - <button type="button" class="button button-secondary create-invoice-item" data-toggle="modal" data-target="#getpaid-create-invoice-item"><?php _e( 'Create New Item', 'invoicing' ) ?></button> |
|
| 534 | - <?php do_action( 'getpaid-invoice-items-actions', $invoice ); ?> |
|
| 532 | + <button type="button" class="button button-primary add-invoice-item" data-toggle="modal" data-target="#getpaid-add-items-to-invoice"><?php _e('Add Existing Item', 'invoicing') ?></button> |
|
| 533 | + <button type="button" class="button button-secondary create-invoice-item" data-toggle="modal" data-target="#getpaid-create-invoice-item"><?php _e('Create New Item', 'invoicing') ?></button> |
|
| 534 | + <?php do_action('getpaid-invoice-items-actions', $invoice); ?> |
|
| 535 | 535 | </div> |
| 536 | 536 | <div class="text-right col-12 col-sm-4"> |
| 537 | - <button type="button" class="button button-primary recalculate-totals-button"><?php _e( 'Recalculate Totals', 'invoicing' ) ?></button> |
|
| 537 | + <button type="button" class="button button-primary recalculate-totals-button"><?php _e('Recalculate Totals', 'invoicing') ?></button> |
|
| 538 | 538 | </div> |
| 539 | 539 | </div> |
| 540 | 540 | </div> |
| 541 | 541 | |
| 542 | 542 | <div class="getpaid-invoice-item-actions hide-if-editable"> |
| 543 | - <p class="description m-2 text-right text-muted"><?php _e( 'This invoice is no longer editable', 'invoicing' ); ?></p> |
|
| 543 | + <p class="description m-2 text-right text-muted"><?php _e('This invoice is no longer editable', 'invoicing'); ?></p> |
|
| 544 | 544 | </div> |
| 545 | 545 | |
| 546 | 546 | <!-- Add items to an invoice --> |
@@ -548,8 +548,8 @@ discard block |
||
| 548 | 548 | <div class="modal-dialog modal-dialog-centered" role="document"> |
| 549 | 549 | <div class="modal-content"> |
| 550 | 550 | <div class="modal-header"> |
| 551 | - <h5 class="modal-title" id="getpaid-add-item-to-invoice-label"><?php _e( "Add Item(s)", 'invoicing' ); ?></h5> |
|
| 552 | - <button type="button" class="close" data-dismiss="modal" aria-label="<?php _e( "Close", 'invoicing' ); ?>"> |
|
| 551 | + <h5 class="modal-title" id="getpaid-add-item-to-invoice-label"><?php _e("Add Item(s)", 'invoicing'); ?></h5> |
|
| 552 | + <button type="button" class="close" data-dismiss="modal" aria-label="<?php _e("Close", 'invoicing'); ?>"> |
|
| 553 | 553 | <span aria-hidden="true">×</span> |
| 554 | 554 | </button> |
| 555 | 555 | </div> |
@@ -557,10 +557,10 @@ discard block |
||
| 557 | 557 | <table class="widefat"> |
| 558 | 558 | <thead> |
| 559 | 559 | <tr> |
| 560 | - <th class="pl-0 text-left"><?php _e( 'Item', 'invoicing' ) ?></th> |
|
| 560 | + <th class="pl-0 text-left"><?php _e('Item', 'invoicing') ?></th> |
|
| 561 | 561 | <th class="pr-0 text-right hide-if-amount"> |
| 562 | - <span class="getpaid-hide-if-hours"><?php _e( 'Quantity', 'invoicing' ) ?></span> |
|
| 563 | - <span class="getpaid-hide-if-quantity"><?php _e( 'Hours', 'invoicing' ) ?></span> |
|
| 562 | + <span class="getpaid-hide-if-hours"><?php _e('Quantity', 'invoicing') ?></span> |
|
| 563 | + <span class="getpaid-hide-if-quantity"><?php _e('Hours', 'invoicing') ?></span> |
|
| 564 | 564 | </th> |
| 565 | 565 | </tr> |
| 566 | 566 | </thead> |
@@ -568,9 +568,9 @@ discard block |
||
| 568 | 568 | <tr> |
| 569 | 569 | <td class="pl-0 text-left"> |
| 570 | 570 | <select class="regular-text getpaid-add-invoice-item-select"> |
| 571 | - <option value="" selected="selected" disabled><?php esc_html_e( 'Select an item…', 'invoicing' ); ?></option> |
|
| 572 | - <?php foreach ( get_posts( $item_args ) as $item ) : ?> |
|
| 573 | - <option value="<?php echo (int) $item->ID; ?>"><?php echo strip_tags( $item->post_title ); ?></option> |
|
| 571 | + <option value="" selected="selected" disabled><?php esc_html_e('Select an item…', 'invoicing'); ?></option> |
|
| 572 | + <?php foreach (get_posts($item_args) as $item) : ?> |
|
| 573 | + <option value="<?php echo (int) $item->ID; ?>"><?php echo strip_tags($item->post_title); ?></option> |
|
| 574 | 574 | <?php endforeach; ?> |
| 575 | 575 | </select> |
| 576 | 576 | </td> |
@@ -582,8 +582,8 @@ discard block |
||
| 582 | 582 | </table> |
| 583 | 583 | </div> |
| 584 | 584 | <div class="modal-footer"> |
| 585 | - <button type="button" class="btn btn-secondary getpaid-cancel" data-dismiss="modal"><?php _e( 'Cancel', 'invoicing' ); ?></button> |
|
| 586 | - <button type="button" class="btn btn-primary getpaid-add" data-dismiss="modal"><?php _e( 'Add', 'invoicing' ); ?></button> |
|
| 585 | + <button type="button" class="btn btn-secondary getpaid-cancel" data-dismiss="modal"><?php _e('Cancel', 'invoicing'); ?></button> |
|
| 586 | + <button type="button" class="btn btn-primary getpaid-add" data-dismiss="modal"><?php _e('Add', 'invoicing'); ?></button> |
|
| 587 | 587 | </div> |
| 588 | 588 | </div> |
| 589 | 589 | </div> |
@@ -594,8 +594,8 @@ discard block |
||
| 594 | 594 | <div class="modal-dialog modal-dialog-centered" role="document"> |
| 595 | 595 | <div class="modal-content"> |
| 596 | 596 | <div class="modal-header"> |
| 597 | - <h5 class="modal-title" id="getpaid-create-invoice-item-label"><?php _e( "Create Item", 'invoicing' ); ?></h5> |
|
| 598 | - <button type="button" class="close" data-dismiss="modal" aria-label="<?php _e( "Close", 'invoicing' ); ?>"> |
|
| 597 | + <h5 class="modal-title" id="getpaid-create-invoice-item-label"><?php _e("Create Item", 'invoicing'); ?></h5> |
|
| 598 | + <button type="button" class="close" data-dismiss="modal" aria-label="<?php _e("Close", 'invoicing'); ?>"> |
|
| 599 | 599 | <span aria-hidden="true">×</span> |
| 600 | 600 | </button> |
| 601 | 601 | </div> |
@@ -603,27 +603,27 @@ discard block |
||
| 603 | 603 | <div class="getpaid-create-item-div"> |
| 604 | 604 | <input type="hidden" name="id" value="new" class="form-control form-control-sm item-id"> |
| 605 | 605 | <label class="form-group w-100"> |
| 606 | - <span><?php _e( 'Name', 'invoicing' ); ?></span> |
|
| 607 | - <input type="text" name="name" placeholder="<?php esc_attr_e( 'Item Name', 'invoicing' ); ?>" class="form-control form-control-sm item-name"> |
|
| 606 | + <span><?php _e('Name', 'invoicing'); ?></span> |
|
| 607 | + <input type="text" name="name" placeholder="<?php esc_attr_e('Item Name', 'invoicing'); ?>" class="form-control form-control-sm item-name"> |
|
| 608 | 608 | </label> |
| 609 | 609 | <label class="form-group w-100"> |
| 610 | - <span class="getpaid-hide-if-hours getpaid-hide-if-quantity item-price"><?php _e( 'Amount', 'invoicing' ); ?></span> |
|
| 611 | - <span class="hide-if-amount"><?php _e( 'Price', 'invoicing' ); ?></span> |
|
| 612 | - <input type="text" name="price" placeholder="<?php echo wpinv_sanitize_amount( 0 ); ?>" class="form-control form-control-sm item-price"> |
|
| 610 | + <span class="getpaid-hide-if-hours getpaid-hide-if-quantity item-price"><?php _e('Amount', 'invoicing'); ?></span> |
|
| 611 | + <span class="hide-if-amount"><?php _e('Price', 'invoicing'); ?></span> |
|
| 612 | + <input type="text" name="price" placeholder="<?php echo wpinv_sanitize_amount(0); ?>" class="form-control form-control-sm item-price"> |
|
| 613 | 613 | </label> |
| 614 | 614 | <label class="form-group w-100 hide-if-amount"> |
| 615 | - <span><?php _e( 'Quantity', 'invoicing' ); ?></span> |
|
| 615 | + <span><?php _e('Quantity', 'invoicing'); ?></span> |
|
| 616 | 616 | <input type="text" name="quantity" placeholder="1" class="form-control form-control-sm item-quantity"> |
| 617 | 617 | </label> |
| 618 | 618 | <label class="form-group w-100"> |
| 619 | - <span><?php _e( 'Item Description', 'invoicing' ); ?></span> |
|
| 620 | - <textarea name="description" placeholder="<?php esc_attr_e( 'Enter a description for this item', 'invoicing' ); ?>" class="form-control item-description"></textarea> |
|
| 619 | + <span><?php _e('Item Description', 'invoicing'); ?></span> |
|
| 620 | + <textarea name="description" placeholder="<?php esc_attr_e('Enter a description for this item', 'invoicing'); ?>" class="form-control item-description"></textarea> |
|
| 621 | 621 | </label> |
| 622 | 622 | </div> |
| 623 | 623 | </div> |
| 624 | 624 | <div class="modal-footer"> |
| 625 | - <button type="button" class="btn btn-secondary getpaid-cancel" data-dismiss="modal"><?php _e( 'Cancel', 'invoicing' ); ?></button> |
|
| 626 | - <button type="button" class="btn btn-primary getpaid-save" data-dismiss="modal"><?php _e( 'Create', 'invoicing' ); ?></button> |
|
| 625 | + <button type="button" class="btn btn-secondary getpaid-cancel" data-dismiss="modal"><?php _e('Cancel', 'invoicing'); ?></button> |
|
| 626 | + <button type="button" class="btn btn-primary getpaid-save" data-dismiss="modal"><?php _e('Create', 'invoicing'); ?></button> |
|
| 627 | 627 | </div> |
| 628 | 628 | </div> |
| 629 | 629 | </div> |
@@ -634,8 +634,8 @@ discard block |
||
| 634 | 634 | <div class="modal-dialog modal-dialog-centered" role="document"> |
| 635 | 635 | <div class="modal-content"> |
| 636 | 636 | <div class="modal-header"> |
| 637 | - <h5 class="modal-title" id="getpaid-edit-invoice-item-label"><?php _e( "Edit Item", 'invoicing' ); ?></h5> |
|
| 638 | - <button type="button" class="close" data-dismiss="modal" aria-label="<?php _e( "Close", 'invoicing' ); ?>"> |
|
| 637 | + <h5 class="modal-title" id="getpaid-edit-invoice-item-label"><?php _e("Edit Item", 'invoicing'); ?></h5> |
|
| 638 | + <button type="button" class="close" data-dismiss="modal" aria-label="<?php _e("Close", 'invoicing'); ?>"> |
|
| 639 | 639 | <span aria-hidden="true">×</span> |
| 640 | 640 | </button> |
| 641 | 641 | </div> |
@@ -643,27 +643,27 @@ discard block |
||
| 643 | 643 | <div class="getpaid-edit-item-div"> |
| 644 | 644 | <input type="hidden" name="id" class="form-control form-control-sm item-id"> |
| 645 | 645 | <label class="form-group w-100"> |
| 646 | - <span><?php _e( 'Name', 'invoicing' ); ?></span> |
|
| 647 | - <input type="text" name="name" placeholder="<?php esc_attr_e( 'Item Name', 'invoicing' ); ?>" class="form-control form-control-sm item-name"> |
|
| 646 | + <span><?php _e('Name', 'invoicing'); ?></span> |
|
| 647 | + <input type="text" name="name" placeholder="<?php esc_attr_e('Item Name', 'invoicing'); ?>" class="form-control form-control-sm item-name"> |
|
| 648 | 648 | </label> |
| 649 | 649 | <label class="form-group w-100"> |
| 650 | - <span class="getpaid-hide-if-hours getpaid-hide-if-quantity item-price"><?php _e( 'Amount', 'invoicing' ); ?></span> |
|
| 651 | - <span class="hide-if-amount"><?php _e( 'Price', 'invoicing' ); ?></span> |
|
| 652 | - <input type="text" name="price" placeholder="<?php wpinv_sanitize_amount( 0 ); ?>" class="form-control form-control-sm item-price"> |
|
| 650 | + <span class="getpaid-hide-if-hours getpaid-hide-if-quantity item-price"><?php _e('Amount', 'invoicing'); ?></span> |
|
| 651 | + <span class="hide-if-amount"><?php _e('Price', 'invoicing'); ?></span> |
|
| 652 | + <input type="text" name="price" placeholder="<?php wpinv_sanitize_amount(0); ?>" class="form-control form-control-sm item-price"> |
|
| 653 | 653 | </label> |
| 654 | 654 | <label class="form-group w-100 hide-if-amount"> |
| 655 | - <span><?php _e( 'Quantity', 'invoicing' ); ?></span> |
|
| 655 | + <span><?php _e('Quantity', 'invoicing'); ?></span> |
|
| 656 | 656 | <input type="text" name="quantity" placeholder="1" class="form-control form-control-sm item-quantity"> |
| 657 | 657 | </label> |
| 658 | 658 | <label class="form-group w-100"> |
| 659 | - <span><?php _e( 'Item Description', 'invoicing' ); ?></span> |
|
| 660 | - <textarea name="description" placeholder="<?php esc_attr_e( 'Enter a description for this item', 'invoicing' ); ?>" class="form-control item-description"></textarea> |
|
| 659 | + <span><?php _e('Item Description', 'invoicing'); ?></span> |
|
| 660 | + <textarea name="description" placeholder="<?php esc_attr_e('Enter a description for this item', 'invoicing'); ?>" class="form-control item-description"></textarea> |
|
| 661 | 661 | </label> |
| 662 | 662 | </div> |
| 663 | 663 | </div> |
| 664 | 664 | <div class="modal-footer"> |
| 665 | - <button type="button" class="btn btn-secondary getpaid-cancel" data-dismiss="modal"><?php _e( 'Cancel', 'invoicing' ); ?></button> |
|
| 666 | - <button type="button" class="btn btn-primary getpaid-save" data-dismiss="modal"><?php _e( 'Save', 'invoicing' ); ?></button> |
|
| 665 | + <button type="button" class="btn btn-secondary getpaid-cancel" data-dismiss="modal"><?php _e('Cancel', 'invoicing'); ?></button> |
|
| 666 | + <button type="button" class="btn btn-primary getpaid-save" data-dismiss="modal"><?php _e('Save', 'invoicing'); ?></button> |
|
| 667 | 667 | </div> |
| 668 | 668 | </div> |
| 669 | 669 | </div> |
@@ -4,68 +4,68 @@ |
||
| 4 | 4 | * |
| 5 | 5 | */ |
| 6 | 6 | |
| 7 | -defined( 'ABSPATH' ) || exit; |
|
| 7 | +defined('ABSPATH') || exit; |
|
| 8 | 8 | |
| 9 | 9 | ?> |
| 10 | 10 | |
| 11 | 11 | <div class="card shadow-sm my-5"> |
| 12 | 12 | <div class="text-center card-body"> |
| 13 | - <h1 class="h3"><?php esc_html_e( 'Awesome, you are ready to Get Paid', 'invoicing' ); ?></h1> |
|
| 13 | + <h1 class="h3"><?php esc_html_e('Awesome, you are ready to Get Paid', 'invoicing'); ?></h1> |
|
| 14 | 14 | |
| 15 | 15 | <div class="geodirectory-message geodirectory-tracker"> |
| 16 | - <p><?php _e( 'Thank you for choosing GetPaid!', 'invoicing' ); ?> <i class="far fa-smile-beam"></i></p> |
|
| 16 | + <p><?php _e('Thank you for choosing GetPaid!', 'invoicing'); ?> <i class="far fa-smile-beam"></i></p> |
|
| 17 | 17 | </div> |
| 18 | 18 | |
| 19 | 19 | <div class="gp-setup-next-steps"> |
| 20 | 20 | <div class="gp-setup-next-steps-first mb-4"> |
| 21 | 21 | <div> |
| 22 | - <h2 class="h3"><i class="fas fa-arrow-down"></i> <?php esc_html_e( 'Watch This', 'invoicing' ); ?> <i class="fas fa-arrow-down"></i></h2> |
|
| 22 | + <h2 class="h3"><i class="fas fa-arrow-down"></i> <?php esc_html_e('Watch This', 'invoicing'); ?> <i class="fas fa-arrow-down"></i></h2> |
|
| 23 | 23 | <div class="embed-responsive embed-responsive-16by9 mb-4"> |
| 24 | 24 | <iframe class="embed-responsive-item" src="https://www.youtube.com/embed/TXZuPXHjt9E?rel=0" allowfullscreen></iframe> |
| 25 | 25 | </div> |
| 26 | 26 | </div> |
| 27 | - <h2 class="h3"><?php esc_html_e( 'Next steps', 'invoicing' ); ?></h2> |
|
| 27 | + <h2 class="h3"><?php esc_html_e('Next steps', 'invoicing'); ?></h2> |
|
| 28 | 28 | |
| 29 | 29 | <div class="d-flex justify-content-between"> |
| 30 | 30 | <a |
| 31 | 31 | class="btn btn-outline-primary btn-sm" |
| 32 | - href="<?php echo esc_url( admin_url( 'post-new.php?post_type=wpi_item' ) ); ?>"> |
|
| 32 | + href="<?php echo esc_url(admin_url('post-new.php?post_type=wpi_item')); ?>"> |
|
| 33 | 33 | <span class="h1 d-block"><i class="fas fa-box-open"></i></span> |
| 34 | - <?php esc_html_e( 'Create Item', 'invoicing' ); ?> |
|
| 34 | + <?php esc_html_e('Create Item', 'invoicing'); ?> |
|
| 35 | 35 | </a> |
| 36 | 36 | <a |
| 37 | 37 | class="btn btn-outline-primary btn-sm" |
| 38 | - href="<?php echo esc_url( admin_url( 'post-new.php?post_type=wpi_payment_form' ) ); ?>"> |
|
| 38 | + href="<?php echo esc_url(admin_url('post-new.php?post_type=wpi_payment_form')); ?>"> |
|
| 39 | 39 | <span class="h1 d-block"><i class="fas fa-align-justify"></i></span> |
| 40 | - <?php esc_html_e( 'Create Payment Form', 'invoicing' ); ?> |
|
| 40 | + <?php esc_html_e('Create Payment Form', 'invoicing'); ?> |
|
| 41 | 41 | </a> |
| 42 | 42 | <a |
| 43 | 43 | class="btn btn-outline-primary btn-sm" |
| 44 | - href="<?php echo esc_url( admin_url( 'post-new.php?post_type=wpi_invoice' ) ); ?>"> |
|
| 44 | + href="<?php echo esc_url(admin_url('post-new.php?post_type=wpi_invoice')); ?>"> |
|
| 45 | 45 | <span class="h1 d-block"><i class="fas fa-file-alt"></i></span> |
| 46 | - <?php esc_html_e( 'Create Invoice', 'invoicing' ); ?> |
|
| 46 | + <?php esc_html_e('Create Invoice', 'invoicing'); ?> |
|
| 47 | 47 | </a> |
| 48 | 48 | </div> |
| 49 | 49 | |
| 50 | 50 | |
| 51 | 51 | |
| 52 | - <h2 class="h3 mt-4"><?php _e( 'Learn more', 'invoicing' ); ?></h2> |
|
| 52 | + <h2 class="h3 mt-4"><?php _e('Learn more', 'invoicing'); ?></h2> |
|
| 53 | 53 | <div class="gp-setup-next-steps-last mt-2 d-flex justify-content-between"> |
| 54 | 54 | <a |
| 55 | 55 | class="btn btn-outline-primary btn-sm" href="https://docs.wpgetpaid.com/collection/114-getting-started?utm_source=setupwizard&utm_medium=product&utm_content=getting-started&utm_campaign=invoicingplugin" |
| 56 | - target="_blank"><?php esc_html_e( 'Getting Started', 'invoicing' ); ?></a> |
|
| 56 | + target="_blank"><?php esc_html_e('Getting Started', 'invoicing'); ?></a> |
|
| 57 | 57 | <a |
| 58 | 58 | class="btn btn-outline-primary btn-sm" |
| 59 | 59 | href="https://docs.wpgetpaid.com/?utm_source=setupwizard&utm_medium=product&utm_content=docs&utm_campaign=invoicingplugin" |
| 60 | - target="_blank"><?php esc_html_e( 'Documentation', 'invoicing' ); ?></a> |
|
| 60 | + target="_blank"><?php esc_html_e('Documentation', 'invoicing'); ?></a> |
|
| 61 | 61 | <a |
| 62 | 62 | class="btn btn-outline-primary btn-sm" |
| 63 | 63 | href="https://wpgetpaid.com/support/?utm_source=setupwizard&utm_medium=product&utm_content=docs&utm_campaign=invoicingyplugin" |
| 64 | - target="_blank"><?php esc_html_e( 'Support', 'invoicing' ); ?></a> |
|
| 64 | + target="_blank"><?php esc_html_e('Support', 'invoicing'); ?></a> |
|
| 65 | 65 | <a |
| 66 | 66 | class="btn btn-outline-primary btn-sm" |
| 67 | 67 | href="https://demos.ayecode.io/getpaid/?utm_source=setupwizard&utm_medium=product&utm_content=demos&utm_campaign=invoicingyplugin" |
| 68 | - target="_blank"><?php esc_html_e( 'Demos', 'invoicing' ); ?></a> |
|
| 68 | + target="_blank"><?php esc_html_e('Demos', 'invoicing'); ?></a> |
|
| 69 | 69 | </div> |
| 70 | 70 | </div> |
| 71 | 71 | </div> |
@@ -15,12 +15,12 @@ discard block |
||
| 15 | 15 | */ |
| 16 | 16 | |
| 17 | 17 | if ( ! defined( 'ABSPATH' ) ) { |
| 18 | - exit; |
|
| 18 | + exit; |
|
| 19 | 19 | } |
| 20 | 20 | |
| 21 | 21 | if ( ! class_exists( 'AyeCode_Deactivation_Survey' ) ) { |
| 22 | - // include the class if needed |
|
| 23 | - include_once( dirname( __FILE__ ) . "/wp-deactivation-survey.php" ); |
|
| 22 | + // include the class if needed |
|
| 23 | + include_once( dirname( __FILE__ ) . "/wp-deactivation-survey.php" ); |
|
| 24 | 24 | } |
| 25 | 25 | |
| 26 | 26 | |
@@ -36,6 +36,6 @@ discard block |
||
| 36 | 36 | //}); |
| 37 | 37 | |
| 38 | 38 | AyeCode_Deactivation_Survey::instance(array( |
| 39 | - 'slug' => 'ayecode-deactivation-survey-testing', |
|
| 40 | - 'version' => '1.0.0' |
|
| 39 | + 'slug' => 'ayecode-deactivation-survey-testing', |
|
| 40 | + 'version' => '1.0.0' |
|
| 41 | 41 | )); |
| 42 | 42 | \ No newline at end of file |
@@ -14,13 +14,13 @@ |
||
| 14 | 14 | * Tested up to: 5.8 |
| 15 | 15 | */ |
| 16 | 16 | |
| 17 | -if ( ! defined( 'ABSPATH' ) ) { |
|
| 17 | +if (!defined('ABSPATH')) { |
|
| 18 | 18 | exit; |
| 19 | 19 | } |
| 20 | 20 | |
| 21 | -if ( ! class_exists( 'AyeCode_Deactivation_Survey' ) ) { |
|
| 21 | +if (!class_exists('AyeCode_Deactivation_Survey')) { |
|
| 22 | 22 | // include the class if needed |
| 23 | - include_once( dirname( __FILE__ ) . "/wp-deactivation-survey.php" ); |
|
| 23 | + include_once(dirname(__FILE__) . "/wp-deactivation-survey.php"); |
|
| 24 | 24 | } |
| 25 | 25 | |
| 26 | 26 | |
@@ -20,228 +20,228 @@ discard block |
||
| 20 | 20 | */ |
| 21 | 21 | class GetPaid_Installer { |
| 22 | 22 | |
| 23 | - /** |
|
| 24 | - * Upgrades the install. |
|
| 25 | - * |
|
| 26 | - * @param string $upgrade_from The current invoicing version. |
|
| 27 | - */ |
|
| 28 | - public function upgrade_db( $upgrade_from ) { |
|
| 29 | - |
|
| 30 | - // Save the current invoicing version. |
|
| 31 | - update_option( 'wpinv_version', WPINV_VERSION ); |
|
| 32 | - |
|
| 33 | - // Setup the invoice Custom Post Type. |
|
| 34 | - GetPaid_Post_Types::register_post_types(); |
|
| 35 | - |
|
| 36 | - // Clear the permalinks |
|
| 37 | - flush_rewrite_rules(); |
|
| 38 | - |
|
| 39 | - // Maybe create new/missing pages. |
|
| 40 | - $this->create_pages(); |
|
| 41 | - |
|
| 42 | - // Maybe re(add) admin capabilities. |
|
| 43 | - $this->add_capabilities(); |
|
| 44 | - |
|
| 45 | - // Maybe create the default payment form. |
|
| 46 | - wpinv_get_default_payment_form(); |
|
| 47 | - |
|
| 48 | - // Create any missing database tables. |
|
| 49 | - $method = "upgrade_from_$upgrade_from"; |
|
| 50 | - |
|
| 51 | - $installed = get_option( 'gepaid_installed_on' ); |
|
| 52 | - |
|
| 53 | - if ( empty( $installed ) ) { |
|
| 54 | - update_option( 'gepaid_installed_on', time() ); |
|
| 55 | - } |
|
| 56 | - |
|
| 57 | - if ( method_exists( $this, $method ) ) { |
|
| 58 | - $this->$method(); |
|
| 59 | - } |
|
| 60 | - |
|
| 61 | - } |
|
| 62 | - |
|
| 63 | - /** |
|
| 64 | - * Do a fresh install. |
|
| 65 | - * |
|
| 66 | - */ |
|
| 67 | - public function upgrade_from_0() { |
|
| 68 | - $this->create_subscriptions_table(); |
|
| 69 | - $this->create_invoices_table(); |
|
| 70 | - $this->create_invoice_items_table(); |
|
| 71 | - |
|
| 72 | - // Save default tax rates. |
|
| 73 | - update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) ); |
|
| 74 | - } |
|
| 75 | - |
|
| 76 | - /** |
|
| 77 | - * Upgrade to 0.0.5 |
|
| 78 | - * |
|
| 79 | - */ |
|
| 80 | - public function upgrade_from_004() { |
|
| 81 | - global $wpdb; |
|
| 82 | - |
|
| 83 | - // Invoices. |
|
| 84 | - $results = $wpdb->get_results( "SELECT ID FROM {$wpdb->posts} WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" ); |
|
| 85 | - if ( ! empty( $results ) ) { |
|
| 86 | - $wpdb->query( "UPDATE {$wpdb->posts} SET post_status = CONCAT( 'wpi-', post_status ) WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" ); |
|
| 87 | - |
|
| 88 | - // Clean post cache |
|
| 89 | - foreach ( $results as $row ) { |
|
| 90 | - clean_post_cache( $row->ID ); |
|
| 91 | - } |
|
| 92 | - |
|
| 93 | - } |
|
| 94 | - |
|
| 95 | - // Item meta key changes |
|
| 96 | - $query = "SELECT DISTINCT post_id FROM " . $wpdb->postmeta . " WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id', '_wpinv_cpt_name', '_wpinv_cpt_singular_name' )"; |
|
| 97 | - $results = $wpdb->get_results( $query ); |
|
| 98 | - |
|
| 99 | - if ( ! empty( $results ) ) { |
|
| 100 | - $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_id' WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id' )" ); |
|
| 101 | - $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_name' WHERE meta_key = '_wpinv_cpt_name'" ); |
|
| 102 | - $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_singular_name' WHERE meta_key = '_wpinv_cpt_singular_name'" ); |
|
| 103 | - |
|
| 104 | - foreach ( $results as $row ) { |
|
| 105 | - clean_post_cache( $row->post_id ); |
|
| 106 | - } |
|
| 107 | - |
|
| 108 | - } |
|
| 109 | - |
|
| 110 | - $this->upgrade_from_102(); |
|
| 111 | - } |
|
| 112 | - |
|
| 113 | - /** |
|
| 114 | - * Upgrade to 1.0.3 |
|
| 115 | - * |
|
| 116 | - */ |
|
| 117 | - public function upgrade_from_102() { |
|
| 118 | - $this->create_subscriptions_table(); |
|
| 119 | - $this->upgrade_from_118(); |
|
| 120 | - } |
|
| 121 | - |
|
| 122 | - /** |
|
| 123 | - * Upgrade to version 2.0.0. |
|
| 124 | - * |
|
| 125 | - */ |
|
| 126 | - public function upgrade_from_118() { |
|
| 127 | - $this->create_invoices_table(); |
|
| 128 | - $this->create_invoice_items_table(); |
|
| 129 | - $this->migrate_old_invoices(); |
|
| 130 | - } |
|
| 131 | - |
|
| 132 | - /** |
|
| 133 | - * Upgrade to version 2.0.8. |
|
| 134 | - * |
|
| 135 | - */ |
|
| 136 | - public function upgrade_from_207() { |
|
| 137 | - global $wpdb; |
|
| 138 | - $wpdb->query( "ALTER TABLE {$wpdb->prefix}getpaid_invoice_items MODIFY COLUMN quantity FLOAT(20);" ); |
|
| 139 | - } |
|
| 140 | - |
|
| 141 | - /** |
|
| 142 | - * Give administrators the capability to manage GetPaid. |
|
| 143 | - * |
|
| 144 | - */ |
|
| 145 | - public function add_capabilities() { |
|
| 146 | - $GLOBALS['wp_roles']->add_cap( 'administrator', 'manage_invoicing' ); |
|
| 147 | - } |
|
| 148 | - |
|
| 149 | - /** |
|
| 150 | - * Retreives GetPaid pages. |
|
| 151 | - * |
|
| 152 | - */ |
|
| 153 | - public static function get_pages() { |
|
| 154 | - |
|
| 155 | - return apply_filters( |
|
| 156 | - 'wpinv_create_pages', |
|
| 157 | - array( |
|
| 158 | - |
|
| 159 | - // Checkout page. |
|
| 160 | - 'checkout_page' => array( |
|
| 161 | - 'name' => _x( 'gp-checkout', 'Page slug', 'invoicing' ), |
|
| 162 | - 'title' => _x( 'Checkout', 'Page title', 'invoicing' ), |
|
| 163 | - 'content' => ' |
|
| 23 | + /** |
|
| 24 | + * Upgrades the install. |
|
| 25 | + * |
|
| 26 | + * @param string $upgrade_from The current invoicing version. |
|
| 27 | + */ |
|
| 28 | + public function upgrade_db( $upgrade_from ) { |
|
| 29 | + |
|
| 30 | + // Save the current invoicing version. |
|
| 31 | + update_option( 'wpinv_version', WPINV_VERSION ); |
|
| 32 | + |
|
| 33 | + // Setup the invoice Custom Post Type. |
|
| 34 | + GetPaid_Post_Types::register_post_types(); |
|
| 35 | + |
|
| 36 | + // Clear the permalinks |
|
| 37 | + flush_rewrite_rules(); |
|
| 38 | + |
|
| 39 | + // Maybe create new/missing pages. |
|
| 40 | + $this->create_pages(); |
|
| 41 | + |
|
| 42 | + // Maybe re(add) admin capabilities. |
|
| 43 | + $this->add_capabilities(); |
|
| 44 | + |
|
| 45 | + // Maybe create the default payment form. |
|
| 46 | + wpinv_get_default_payment_form(); |
|
| 47 | + |
|
| 48 | + // Create any missing database tables. |
|
| 49 | + $method = "upgrade_from_$upgrade_from"; |
|
| 50 | + |
|
| 51 | + $installed = get_option( 'gepaid_installed_on' ); |
|
| 52 | + |
|
| 53 | + if ( empty( $installed ) ) { |
|
| 54 | + update_option( 'gepaid_installed_on', time() ); |
|
| 55 | + } |
|
| 56 | + |
|
| 57 | + if ( method_exists( $this, $method ) ) { |
|
| 58 | + $this->$method(); |
|
| 59 | + } |
|
| 60 | + |
|
| 61 | + } |
|
| 62 | + |
|
| 63 | + /** |
|
| 64 | + * Do a fresh install. |
|
| 65 | + * |
|
| 66 | + */ |
|
| 67 | + public function upgrade_from_0() { |
|
| 68 | + $this->create_subscriptions_table(); |
|
| 69 | + $this->create_invoices_table(); |
|
| 70 | + $this->create_invoice_items_table(); |
|
| 71 | + |
|
| 72 | + // Save default tax rates. |
|
| 73 | + update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) ); |
|
| 74 | + } |
|
| 75 | + |
|
| 76 | + /** |
|
| 77 | + * Upgrade to 0.0.5 |
|
| 78 | + * |
|
| 79 | + */ |
|
| 80 | + public function upgrade_from_004() { |
|
| 81 | + global $wpdb; |
|
| 82 | + |
|
| 83 | + // Invoices. |
|
| 84 | + $results = $wpdb->get_results( "SELECT ID FROM {$wpdb->posts} WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" ); |
|
| 85 | + if ( ! empty( $results ) ) { |
|
| 86 | + $wpdb->query( "UPDATE {$wpdb->posts} SET post_status = CONCAT( 'wpi-', post_status ) WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" ); |
|
| 87 | + |
|
| 88 | + // Clean post cache |
|
| 89 | + foreach ( $results as $row ) { |
|
| 90 | + clean_post_cache( $row->ID ); |
|
| 91 | + } |
|
| 92 | + |
|
| 93 | + } |
|
| 94 | + |
|
| 95 | + // Item meta key changes |
|
| 96 | + $query = "SELECT DISTINCT post_id FROM " . $wpdb->postmeta . " WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id', '_wpinv_cpt_name', '_wpinv_cpt_singular_name' )"; |
|
| 97 | + $results = $wpdb->get_results( $query ); |
|
| 98 | + |
|
| 99 | + if ( ! empty( $results ) ) { |
|
| 100 | + $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_id' WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id' )" ); |
|
| 101 | + $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_name' WHERE meta_key = '_wpinv_cpt_name'" ); |
|
| 102 | + $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_singular_name' WHERE meta_key = '_wpinv_cpt_singular_name'" ); |
|
| 103 | + |
|
| 104 | + foreach ( $results as $row ) { |
|
| 105 | + clean_post_cache( $row->post_id ); |
|
| 106 | + } |
|
| 107 | + |
|
| 108 | + } |
|
| 109 | + |
|
| 110 | + $this->upgrade_from_102(); |
|
| 111 | + } |
|
| 112 | + |
|
| 113 | + /** |
|
| 114 | + * Upgrade to 1.0.3 |
|
| 115 | + * |
|
| 116 | + */ |
|
| 117 | + public function upgrade_from_102() { |
|
| 118 | + $this->create_subscriptions_table(); |
|
| 119 | + $this->upgrade_from_118(); |
|
| 120 | + } |
|
| 121 | + |
|
| 122 | + /** |
|
| 123 | + * Upgrade to version 2.0.0. |
|
| 124 | + * |
|
| 125 | + */ |
|
| 126 | + public function upgrade_from_118() { |
|
| 127 | + $this->create_invoices_table(); |
|
| 128 | + $this->create_invoice_items_table(); |
|
| 129 | + $this->migrate_old_invoices(); |
|
| 130 | + } |
|
| 131 | + |
|
| 132 | + /** |
|
| 133 | + * Upgrade to version 2.0.8. |
|
| 134 | + * |
|
| 135 | + */ |
|
| 136 | + public function upgrade_from_207() { |
|
| 137 | + global $wpdb; |
|
| 138 | + $wpdb->query( "ALTER TABLE {$wpdb->prefix}getpaid_invoice_items MODIFY COLUMN quantity FLOAT(20);" ); |
|
| 139 | + } |
|
| 140 | + |
|
| 141 | + /** |
|
| 142 | + * Give administrators the capability to manage GetPaid. |
|
| 143 | + * |
|
| 144 | + */ |
|
| 145 | + public function add_capabilities() { |
|
| 146 | + $GLOBALS['wp_roles']->add_cap( 'administrator', 'manage_invoicing' ); |
|
| 147 | + } |
|
| 148 | + |
|
| 149 | + /** |
|
| 150 | + * Retreives GetPaid pages. |
|
| 151 | + * |
|
| 152 | + */ |
|
| 153 | + public static function get_pages() { |
|
| 154 | + |
|
| 155 | + return apply_filters( |
|
| 156 | + 'wpinv_create_pages', |
|
| 157 | + array( |
|
| 158 | + |
|
| 159 | + // Checkout page. |
|
| 160 | + 'checkout_page' => array( |
|
| 161 | + 'name' => _x( 'gp-checkout', 'Page slug', 'invoicing' ), |
|
| 162 | + 'title' => _x( 'Checkout', 'Page title', 'invoicing' ), |
|
| 163 | + 'content' => ' |
|
| 164 | 164 | <!-- wp:shortcode --> |
| 165 | 165 | [wpinv_checkout] |
| 166 | 166 | <!-- /wp:shortcode --> |
| 167 | 167 | ', |
| 168 | - 'parent' => '', |
|
| 169 | - ), |
|
| 170 | - |
|
| 171 | - // Invoice history page. |
|
| 172 | - 'invoice_history_page' => array( |
|
| 173 | - 'name' => _x( 'gp-invoices', 'Page slug', 'invoicing' ), |
|
| 174 | - 'title' => _x( 'My Invoices', 'Page title', 'invoicing' ), |
|
| 175 | - 'content' => ' |
|
| 168 | + 'parent' => '', |
|
| 169 | + ), |
|
| 170 | + |
|
| 171 | + // Invoice history page. |
|
| 172 | + 'invoice_history_page' => array( |
|
| 173 | + 'name' => _x( 'gp-invoices', 'Page slug', 'invoicing' ), |
|
| 174 | + 'title' => _x( 'My Invoices', 'Page title', 'invoicing' ), |
|
| 175 | + 'content' => ' |
|
| 176 | 176 | <!-- wp:shortcode --> |
| 177 | 177 | [wpinv_history] |
| 178 | 178 | <!-- /wp:shortcode --> |
| 179 | 179 | ', |
| 180 | - 'parent' => '', |
|
| 181 | - ), |
|
| 182 | - |
|
| 183 | - // Success page content. |
|
| 184 | - 'success_page' => array( |
|
| 185 | - 'name' => _x( 'gp-receipt', 'Page slug', 'invoicing' ), |
|
| 186 | - 'title' => _x( 'Payment Confirmation', 'Page title', 'invoicing' ), |
|
| 187 | - 'content' => ' |
|
| 180 | + 'parent' => '', |
|
| 181 | + ), |
|
| 182 | + |
|
| 183 | + // Success page content. |
|
| 184 | + 'success_page' => array( |
|
| 185 | + 'name' => _x( 'gp-receipt', 'Page slug', 'invoicing' ), |
|
| 186 | + 'title' => _x( 'Payment Confirmation', 'Page title', 'invoicing' ), |
|
| 187 | + 'content' => ' |
|
| 188 | 188 | <!-- wp:shortcode --> |
| 189 | 189 | [wpinv_receipt] |
| 190 | 190 | <!-- /wp:shortcode --> |
| 191 | 191 | ', |
| 192 | - 'parent' => 'gp-checkout', |
|
| 193 | - ), |
|
| 194 | - |
|
| 195 | - // Failure page content. |
|
| 196 | - 'failure_page' => array( |
|
| 197 | - 'name' => _x( 'gp-transaction-failed', 'Page slug', 'invoicing' ), |
|
| 198 | - 'title' => _x( 'Transaction Failed', 'Page title', 'invoicing' ), |
|
| 199 | - 'content' => __( 'Your transaction failed, please try again or contact site support.', 'invoicing' ), |
|
| 200 | - 'parent' => 'gp-checkout', |
|
| 201 | - ), |
|
| 202 | - |
|
| 203 | - // Subscriptions history page. |
|
| 204 | - 'invoice_subscription_page' => array( |
|
| 205 | - 'name' => _x( 'gp-subscriptions', 'Page slug', 'invoicing' ), |
|
| 206 | - 'title' => _x( 'My Subscriptions', 'Page title', 'invoicing' ), |
|
| 207 | - 'content' => ' |
|
| 192 | + 'parent' => 'gp-checkout', |
|
| 193 | + ), |
|
| 194 | + |
|
| 195 | + // Failure page content. |
|
| 196 | + 'failure_page' => array( |
|
| 197 | + 'name' => _x( 'gp-transaction-failed', 'Page slug', 'invoicing' ), |
|
| 198 | + 'title' => _x( 'Transaction Failed', 'Page title', 'invoicing' ), |
|
| 199 | + 'content' => __( 'Your transaction failed, please try again or contact site support.', 'invoicing' ), |
|
| 200 | + 'parent' => 'gp-checkout', |
|
| 201 | + ), |
|
| 202 | + |
|
| 203 | + // Subscriptions history page. |
|
| 204 | + 'invoice_subscription_page' => array( |
|
| 205 | + 'name' => _x( 'gp-subscriptions', 'Page slug', 'invoicing' ), |
|
| 206 | + 'title' => _x( 'My Subscriptions', 'Page title', 'invoicing' ), |
|
| 207 | + 'content' => ' |
|
| 208 | 208 | <!-- wp:shortcode --> |
| 209 | 209 | [wpinv_subscriptions] |
| 210 | 210 | <!-- /wp:shortcode --> |
| 211 | 211 | ', |
| 212 | - 'parent' => '', |
|
| 213 | - ), |
|
| 212 | + 'parent' => '', |
|
| 213 | + ), |
|
| 214 | 214 | |
| 215 | - ) |
|
| 216 | - ); |
|
| 215 | + ) |
|
| 216 | + ); |
|
| 217 | 217 | |
| 218 | - } |
|
| 218 | + } |
|
| 219 | 219 | |
| 220 | - /** |
|
| 221 | - * Re-create GetPaid pages. |
|
| 222 | - * |
|
| 223 | - */ |
|
| 224 | - public function create_pages() { |
|
| 220 | + /** |
|
| 221 | + * Re-create GetPaid pages. |
|
| 222 | + * |
|
| 223 | + */ |
|
| 224 | + public function create_pages() { |
|
| 225 | 225 | |
| 226 | - foreach ( self::get_pages() as $key => $page ) { |
|
| 227 | - wpinv_create_page( esc_sql( $page['name'] ), $key, $page['title'], $page['content'], $page['parent'] ); |
|
| 228 | - } |
|
| 226 | + foreach ( self::get_pages() as $key => $page ) { |
|
| 227 | + wpinv_create_page( esc_sql( $page['name'] ), $key, $page['title'], $page['content'], $page['parent'] ); |
|
| 228 | + } |
|
| 229 | 229 | |
| 230 | - } |
|
| 230 | + } |
|
| 231 | 231 | |
| 232 | - /** |
|
| 233 | - * Create subscriptions table. |
|
| 234 | - * |
|
| 235 | - */ |
|
| 236 | - public function create_subscriptions_table() { |
|
| 232 | + /** |
|
| 233 | + * Create subscriptions table. |
|
| 234 | + * |
|
| 235 | + */ |
|
| 236 | + public function create_subscriptions_table() { |
|
| 237 | 237 | |
| 238 | - global $wpdb; |
|
| 238 | + global $wpdb; |
|
| 239 | 239 | |
| 240 | - require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); |
|
| 240 | + require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); |
|
| 241 | 241 | |
| 242 | - // Create tables. |
|
| 243 | - $charset_collate = $wpdb->get_charset_collate(); |
|
| 244 | - $sql = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}wpinv_subscriptions ( |
|
| 242 | + // Create tables. |
|
| 243 | + $charset_collate = $wpdb->get_charset_collate(); |
|
| 244 | + $sql = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}wpinv_subscriptions ( |
|
| 245 | 245 | id bigint(20) unsigned NOT NULL auto_increment, |
| 246 | 246 | customer_id bigint(20) NOT NULL, |
| 247 | 247 | frequency int(11) NOT NULL DEFAULT '1', |
@@ -264,22 +264,22 @@ discard block |
||
| 264 | 264 | KEY customer_and_status (customer_id, status) |
| 265 | 265 | ) $charset_collate;"; |
| 266 | 266 | |
| 267 | - dbDelta( $sql ); |
|
| 267 | + dbDelta( $sql ); |
|
| 268 | 268 | |
| 269 | - } |
|
| 269 | + } |
|
| 270 | 270 | |
| 271 | - /** |
|
| 272 | - * Create invoices table. |
|
| 273 | - * |
|
| 274 | - */ |
|
| 275 | - public function create_invoices_table() { |
|
| 276 | - global $wpdb; |
|
| 271 | + /** |
|
| 272 | + * Create invoices table. |
|
| 273 | + * |
|
| 274 | + */ |
|
| 275 | + public function create_invoices_table() { |
|
| 276 | + global $wpdb; |
|
| 277 | 277 | |
| 278 | - require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); |
|
| 278 | + require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); |
|
| 279 | 279 | |
| 280 | - // Create tables. |
|
| 281 | - $charset_collate = $wpdb->get_charset_collate(); |
|
| 282 | - $sql = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}getpaid_invoices ( |
|
| 280 | + // Create tables. |
|
| 281 | + $charset_collate = $wpdb->get_charset_collate(); |
|
| 282 | + $sql = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}getpaid_invoices ( |
|
| 283 | 283 | post_id BIGINT(20) NOT NULL, |
| 284 | 284 | `number` VARCHAR(100), |
| 285 | 285 | `key` VARCHAR(100), |
@@ -315,22 +315,22 @@ discard block |
||
| 315 | 315 | KEY `key` (`key`) |
| 316 | 316 | ) $charset_collate;"; |
| 317 | 317 | |
| 318 | - dbDelta( $sql ); |
|
| 318 | + dbDelta( $sql ); |
|
| 319 | 319 | |
| 320 | - } |
|
| 320 | + } |
|
| 321 | 321 | |
| 322 | - /** |
|
| 323 | - * Create invoice items table. |
|
| 324 | - * |
|
| 325 | - */ |
|
| 326 | - public function create_invoice_items_table() { |
|
| 327 | - global $wpdb; |
|
| 322 | + /** |
|
| 323 | + * Create invoice items table. |
|
| 324 | + * |
|
| 325 | + */ |
|
| 326 | + public function create_invoice_items_table() { |
|
| 327 | + global $wpdb; |
|
| 328 | 328 | |
| 329 | - require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); |
|
| 329 | + require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); |
|
| 330 | 330 | |
| 331 | - // Create tables. |
|
| 332 | - $charset_collate = $wpdb->get_charset_collate(); |
|
| 333 | - $sql = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}getpaid_invoice_items ( |
|
| 331 | + // Create tables. |
|
| 332 | + $charset_collate = $wpdb->get_charset_collate(); |
|
| 333 | + $sql = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}getpaid_invoice_items ( |
|
| 334 | 334 | ID BIGINT(20) NOT NULL AUTO_INCREMENT, |
| 335 | 335 | post_id BIGINT(20) NOT NULL, |
| 336 | 336 | item_id BIGINT(20) NOT NULL, |
@@ -352,159 +352,159 @@ discard block |
||
| 352 | 352 | KEY post_id (post_id) |
| 353 | 353 | ) $charset_collate;"; |
| 354 | 354 | |
| 355 | - dbDelta( $sql ); |
|
| 356 | - |
|
| 357 | - } |
|
| 358 | - |
|
| 359 | - /** |
|
| 360 | - * Migrates old invoices to new invoices. |
|
| 361 | - * |
|
| 362 | - */ |
|
| 363 | - public function migrate_old_invoices() { |
|
| 364 | - global $wpdb; |
|
| 365 | - |
|
| 366 | - $invoices_table = $wpdb->prefix . 'getpaid_invoices'; |
|
| 367 | - $invoice_items_table = $wpdb->prefix . 'getpaid_invoice_items'; |
|
| 368 | - $migrated = $wpdb->get_col( "SELECT post_id FROM $invoices_table" ); |
|
| 369 | - $invoices = array_unique( |
|
| 370 | - get_posts( |
|
| 371 | - array( |
|
| 372 | - 'post_type' => array( 'wpi_invoice', 'wpi_quote' ), |
|
| 373 | - 'posts_per_page' => -1, |
|
| 374 | - 'fields' => 'ids', |
|
| 375 | - 'post_status' => array_keys( get_post_stati() ), |
|
| 376 | - 'exclude' => (array) $migrated, |
|
| 377 | - ) |
|
| 378 | - ) |
|
| 379 | - ); |
|
| 380 | - |
|
| 381 | - // Abort if we do not have any invoices. |
|
| 382 | - if ( empty( $invoices ) ) { |
|
| 383 | - return; |
|
| 384 | - } |
|
| 385 | - |
|
| 386 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-legacy-invoice.php' ); |
|
| 387 | - |
|
| 388 | - $invoice_rows = array(); |
|
| 389 | - foreach ( $invoices as $invoice ) { |
|
| 390 | - |
|
| 391 | - $invoice = new WPInv_Legacy_Invoice( $invoice ); |
|
| 392 | - |
|
| 393 | - if ( empty( $invoice->ID ) ) { |
|
| 394 | - return; |
|
| 395 | - } |
|
| 396 | - |
|
| 397 | - $fields = array ( |
|
| 398 | - 'post_id' => $invoice->ID, |
|
| 399 | - 'number' => $invoice->get_number(), |
|
| 400 | - 'key' => $invoice->get_key(), |
|
| 401 | - 'type' => str_replace( 'wpi_', '', $invoice->post_type ), |
|
| 402 | - 'mode' => $invoice->mode, |
|
| 403 | - 'user_ip' => $invoice->get_ip(), |
|
| 404 | - 'first_name' => $invoice->get_first_name(), |
|
| 405 | - 'last_name' => $invoice->get_last_name(), |
|
| 406 | - 'address' => $invoice->get_address(), |
|
| 407 | - 'city' => $invoice->city, |
|
| 408 | - 'state' => $invoice->state, |
|
| 409 | - 'country' => $invoice->country, |
|
| 410 | - 'zip' => $invoice->zip, |
|
| 411 | - 'adddress_confirmed' => (int) $invoice->adddress_confirmed, |
|
| 412 | - 'gateway' => $invoice->get_gateway(), |
|
| 413 | - 'transaction_id' => $invoice->get_transaction_id(), |
|
| 414 | - 'currency' => $invoice->get_currency(), |
|
| 415 | - 'subtotal' => $invoice->get_subtotal(), |
|
| 416 | - 'tax' => $invoice->get_tax(), |
|
| 417 | - 'fees_total' => $invoice->get_fees_total(), |
|
| 418 | - 'total' => $invoice->get_total(), |
|
| 419 | - 'discount' => $invoice->get_discount(), |
|
| 420 | - 'discount_code' => $invoice->get_discount_code(), |
|
| 421 | - 'disable_taxes' => $invoice->disable_taxes, |
|
| 422 | - 'due_date' => $invoice->get_due_date(), |
|
| 423 | - 'completed_date' => $invoice->get_completed_date(), |
|
| 424 | - 'company' => $invoice->company, |
|
| 425 | - 'vat_number' => $invoice->vat_number, |
|
| 426 | - 'vat_rate' => $invoice->vat_rate, |
|
| 427 | - 'custom_meta' => $invoice->payment_meta |
|
| 428 | - ); |
|
| 429 | - |
|
| 430 | - foreach ( $fields as $key => $val ) { |
|
| 431 | - if ( is_null( $val ) ) { |
|
| 432 | - $val = ''; |
|
| 433 | - } |
|
| 434 | - $val = maybe_serialize( $val ); |
|
| 435 | - $fields[ $key ] = $wpdb->prepare( '%s', $val ); |
|
| 436 | - } |
|
| 437 | - |
|
| 438 | - $fields = implode( ', ', $fields ); |
|
| 439 | - $invoice_rows[] = "($fields)"; |
|
| 440 | - |
|
| 441 | - $item_rows = array(); |
|
| 442 | - $item_columns = array(); |
|
| 443 | - foreach ( $invoice->get_cart_details() as $details ) { |
|
| 444 | - $fields = array( |
|
| 445 | - 'post_id' => $invoice->ID, |
|
| 446 | - 'item_id' => $details['id'], |
|
| 447 | - 'item_name' => $details['name'], |
|
| 448 | - 'item_description' => empty( $details['meta']['description'] ) ? '' : $details['meta']['description'], |
|
| 449 | - 'vat_rate' => $details['vat_rate'], |
|
| 450 | - 'vat_class' => empty( $details['vat_class'] ) ? '_standard' : $details['vat_class'], |
|
| 451 | - 'tax' => $details['tax'], |
|
| 452 | - 'item_price' => $details['item_price'], |
|
| 453 | - 'custom_price' => $details['custom_price'], |
|
| 454 | - 'quantity' => $details['quantity'], |
|
| 455 | - 'discount' => $details['discount'], |
|
| 456 | - 'subtotal' => $details['subtotal'], |
|
| 457 | - 'price' => $details['price'], |
|
| 458 | - 'meta' => $details['meta'], |
|
| 459 | - 'fees' => $details['fees'], |
|
| 460 | - ); |
|
| 461 | - |
|
| 462 | - $item_columns = array_keys ( $fields ); |
|
| 463 | - |
|
| 464 | - foreach ( $fields as $key => $val ) { |
|
| 465 | - if ( is_null( $val ) ) { |
|
| 466 | - $val = ''; |
|
| 467 | - } |
|
| 468 | - $val = maybe_serialize( $val ); |
|
| 469 | - $fields[ $key ] = $wpdb->prepare( '%s', $val ); |
|
| 470 | - } |
|
| 471 | - |
|
| 472 | - $fields = implode( ', ', $fields ); |
|
| 473 | - $item_rows[] = "($fields)"; |
|
| 474 | - } |
|
| 475 | - |
|
| 476 | - $item_rows = implode( ', ', $item_rows ); |
|
| 477 | - $item_columns = implode( ', ', $item_columns ); |
|
| 478 | - $wpdb->query( "INSERT INTO $invoice_items_table ($item_columns) VALUES $item_rows" ); |
|
| 479 | - } |
|
| 480 | - |
|
| 481 | - if ( empty( $invoice_rows ) ) { |
|
| 482 | - return; |
|
| 483 | - } |
|
| 484 | - |
|
| 485 | - $invoice_rows = implode( ', ', $invoice_rows ); |
|
| 486 | - $wpdb->query( "INSERT INTO $invoices_table VALUES $invoice_rows" ); |
|
| 487 | - |
|
| 488 | - } |
|
| 489 | - |
|
| 490 | - /** |
|
| 491 | - * Migrates old invoices to new invoices. |
|
| 492 | - * |
|
| 493 | - */ |
|
| 494 | - public static function rename_gateways_label() { |
|
| 495 | - global $wpdb; |
|
| 496 | - |
|
| 497 | - foreach ( array_keys( wpinv_get_payment_gateways() ) as $gateway ) { |
|
| 498 | - |
|
| 499 | - $wpdb->update( |
|
| 500 | - $wpdb->prefix . 'getpaid_invoices', |
|
| 501 | - array( 'gateway' => $gateway ), |
|
| 502 | - array( 'gateway' => wpinv_get_gateway_admin_label( $gateway ) ), |
|
| 503 | - '%s', |
|
| 504 | - '%s' |
|
| 505 | - ); |
|
| 506 | - |
|
| 507 | - } |
|
| 508 | - } |
|
| 355 | + dbDelta( $sql ); |
|
| 356 | + |
|
| 357 | + } |
|
| 358 | + |
|
| 359 | + /** |
|
| 360 | + * Migrates old invoices to new invoices. |
|
| 361 | + * |
|
| 362 | + */ |
|
| 363 | + public function migrate_old_invoices() { |
|
| 364 | + global $wpdb; |
|
| 365 | + |
|
| 366 | + $invoices_table = $wpdb->prefix . 'getpaid_invoices'; |
|
| 367 | + $invoice_items_table = $wpdb->prefix . 'getpaid_invoice_items'; |
|
| 368 | + $migrated = $wpdb->get_col( "SELECT post_id FROM $invoices_table" ); |
|
| 369 | + $invoices = array_unique( |
|
| 370 | + get_posts( |
|
| 371 | + array( |
|
| 372 | + 'post_type' => array( 'wpi_invoice', 'wpi_quote' ), |
|
| 373 | + 'posts_per_page' => -1, |
|
| 374 | + 'fields' => 'ids', |
|
| 375 | + 'post_status' => array_keys( get_post_stati() ), |
|
| 376 | + 'exclude' => (array) $migrated, |
|
| 377 | + ) |
|
| 378 | + ) |
|
| 379 | + ); |
|
| 380 | + |
|
| 381 | + // Abort if we do not have any invoices. |
|
| 382 | + if ( empty( $invoices ) ) { |
|
| 383 | + return; |
|
| 384 | + } |
|
| 385 | + |
|
| 386 | + require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-legacy-invoice.php' ); |
|
| 387 | + |
|
| 388 | + $invoice_rows = array(); |
|
| 389 | + foreach ( $invoices as $invoice ) { |
|
| 390 | + |
|
| 391 | + $invoice = new WPInv_Legacy_Invoice( $invoice ); |
|
| 392 | + |
|
| 393 | + if ( empty( $invoice->ID ) ) { |
|
| 394 | + return; |
|
| 395 | + } |
|
| 396 | + |
|
| 397 | + $fields = array ( |
|
| 398 | + 'post_id' => $invoice->ID, |
|
| 399 | + 'number' => $invoice->get_number(), |
|
| 400 | + 'key' => $invoice->get_key(), |
|
| 401 | + 'type' => str_replace( 'wpi_', '', $invoice->post_type ), |
|
| 402 | + 'mode' => $invoice->mode, |
|
| 403 | + 'user_ip' => $invoice->get_ip(), |
|
| 404 | + 'first_name' => $invoice->get_first_name(), |
|
| 405 | + 'last_name' => $invoice->get_last_name(), |
|
| 406 | + 'address' => $invoice->get_address(), |
|
| 407 | + 'city' => $invoice->city, |
|
| 408 | + 'state' => $invoice->state, |
|
| 409 | + 'country' => $invoice->country, |
|
| 410 | + 'zip' => $invoice->zip, |
|
| 411 | + 'adddress_confirmed' => (int) $invoice->adddress_confirmed, |
|
| 412 | + 'gateway' => $invoice->get_gateway(), |
|
| 413 | + 'transaction_id' => $invoice->get_transaction_id(), |
|
| 414 | + 'currency' => $invoice->get_currency(), |
|
| 415 | + 'subtotal' => $invoice->get_subtotal(), |
|
| 416 | + 'tax' => $invoice->get_tax(), |
|
| 417 | + 'fees_total' => $invoice->get_fees_total(), |
|
| 418 | + 'total' => $invoice->get_total(), |
|
| 419 | + 'discount' => $invoice->get_discount(), |
|
| 420 | + 'discount_code' => $invoice->get_discount_code(), |
|
| 421 | + 'disable_taxes' => $invoice->disable_taxes, |
|
| 422 | + 'due_date' => $invoice->get_due_date(), |
|
| 423 | + 'completed_date' => $invoice->get_completed_date(), |
|
| 424 | + 'company' => $invoice->company, |
|
| 425 | + 'vat_number' => $invoice->vat_number, |
|
| 426 | + 'vat_rate' => $invoice->vat_rate, |
|
| 427 | + 'custom_meta' => $invoice->payment_meta |
|
| 428 | + ); |
|
| 429 | + |
|
| 430 | + foreach ( $fields as $key => $val ) { |
|
| 431 | + if ( is_null( $val ) ) { |
|
| 432 | + $val = ''; |
|
| 433 | + } |
|
| 434 | + $val = maybe_serialize( $val ); |
|
| 435 | + $fields[ $key ] = $wpdb->prepare( '%s', $val ); |
|
| 436 | + } |
|
| 437 | + |
|
| 438 | + $fields = implode( ', ', $fields ); |
|
| 439 | + $invoice_rows[] = "($fields)"; |
|
| 440 | + |
|
| 441 | + $item_rows = array(); |
|
| 442 | + $item_columns = array(); |
|
| 443 | + foreach ( $invoice->get_cart_details() as $details ) { |
|
| 444 | + $fields = array( |
|
| 445 | + 'post_id' => $invoice->ID, |
|
| 446 | + 'item_id' => $details['id'], |
|
| 447 | + 'item_name' => $details['name'], |
|
| 448 | + 'item_description' => empty( $details['meta']['description'] ) ? '' : $details['meta']['description'], |
|
| 449 | + 'vat_rate' => $details['vat_rate'], |
|
| 450 | + 'vat_class' => empty( $details['vat_class'] ) ? '_standard' : $details['vat_class'], |
|
| 451 | + 'tax' => $details['tax'], |
|
| 452 | + 'item_price' => $details['item_price'], |
|
| 453 | + 'custom_price' => $details['custom_price'], |
|
| 454 | + 'quantity' => $details['quantity'], |
|
| 455 | + 'discount' => $details['discount'], |
|
| 456 | + 'subtotal' => $details['subtotal'], |
|
| 457 | + 'price' => $details['price'], |
|
| 458 | + 'meta' => $details['meta'], |
|
| 459 | + 'fees' => $details['fees'], |
|
| 460 | + ); |
|
| 461 | + |
|
| 462 | + $item_columns = array_keys ( $fields ); |
|
| 463 | + |
|
| 464 | + foreach ( $fields as $key => $val ) { |
|
| 465 | + if ( is_null( $val ) ) { |
|
| 466 | + $val = ''; |
|
| 467 | + } |
|
| 468 | + $val = maybe_serialize( $val ); |
|
| 469 | + $fields[ $key ] = $wpdb->prepare( '%s', $val ); |
|
| 470 | + } |
|
| 471 | + |
|
| 472 | + $fields = implode( ', ', $fields ); |
|
| 473 | + $item_rows[] = "($fields)"; |
|
| 474 | + } |
|
| 475 | + |
|
| 476 | + $item_rows = implode( ', ', $item_rows ); |
|
| 477 | + $item_columns = implode( ', ', $item_columns ); |
|
| 478 | + $wpdb->query( "INSERT INTO $invoice_items_table ($item_columns) VALUES $item_rows" ); |
|
| 479 | + } |
|
| 480 | + |
|
| 481 | + if ( empty( $invoice_rows ) ) { |
|
| 482 | + return; |
|
| 483 | + } |
|
| 484 | + |
|
| 485 | + $invoice_rows = implode( ', ', $invoice_rows ); |
|
| 486 | + $wpdb->query( "INSERT INTO $invoices_table VALUES $invoice_rows" ); |
|
| 487 | + |
|
| 488 | + } |
|
| 489 | + |
|
| 490 | + /** |
|
| 491 | + * Migrates old invoices to new invoices. |
|
| 492 | + * |
|
| 493 | + */ |
|
| 494 | + public static function rename_gateways_label() { |
|
| 495 | + global $wpdb; |
|
| 496 | + |
|
| 497 | + foreach ( array_keys( wpinv_get_payment_gateways() ) as $gateway ) { |
|
| 498 | + |
|
| 499 | + $wpdb->update( |
|
| 500 | + $wpdb->prefix . 'getpaid_invoices', |
|
| 501 | + array( 'gateway' => $gateway ), |
|
| 502 | + array( 'gateway' => wpinv_get_gateway_admin_label( $gateway ) ), |
|
| 503 | + '%s', |
|
| 504 | + '%s' |
|
| 505 | + ); |
|
| 506 | + |
|
| 507 | + } |
|
| 508 | + } |
|
| 509 | 509 | |
| 510 | 510 | } |
@@ -8,7 +8,7 @@ discard block |
||
| 8 | 8 | * @since 2.0.2 |
| 9 | 9 | */ |
| 10 | 10 | |
| 11 | -defined( 'ABSPATH' ) || exit; |
|
| 11 | +defined('ABSPATH') || exit; |
|
| 12 | 12 | |
| 13 | 13 | /** |
| 14 | 14 | * The main installer/updater class. |
@@ -25,10 +25,10 @@ discard block |
||
| 25 | 25 | * |
| 26 | 26 | * @param string $upgrade_from The current invoicing version. |
| 27 | 27 | */ |
| 28 | - public function upgrade_db( $upgrade_from ) { |
|
| 28 | + public function upgrade_db($upgrade_from) { |
|
| 29 | 29 | |
| 30 | 30 | // Save the current invoicing version. |
| 31 | - update_option( 'wpinv_version', WPINV_VERSION ); |
|
| 31 | + update_option('wpinv_version', WPINV_VERSION); |
|
| 32 | 32 | |
| 33 | 33 | // Setup the invoice Custom Post Type. |
| 34 | 34 | GetPaid_Post_Types::register_post_types(); |
@@ -48,13 +48,13 @@ discard block |
||
| 48 | 48 | // Create any missing database tables. |
| 49 | 49 | $method = "upgrade_from_$upgrade_from"; |
| 50 | 50 | |
| 51 | - $installed = get_option( 'gepaid_installed_on' ); |
|
| 51 | + $installed = get_option('gepaid_installed_on'); |
|
| 52 | 52 | |
| 53 | - if ( empty( $installed ) ) { |
|
| 54 | - update_option( 'gepaid_installed_on', time() ); |
|
| 53 | + if (empty($installed)) { |
|
| 54 | + update_option('gepaid_installed_on', time()); |
|
| 55 | 55 | } |
| 56 | 56 | |
| 57 | - if ( method_exists( $this, $method ) ) { |
|
| 57 | + if (method_exists($this, $method)) { |
|
| 58 | 58 | $this->$method(); |
| 59 | 59 | } |
| 60 | 60 | |
@@ -70,7 +70,7 @@ discard block |
||
| 70 | 70 | $this->create_invoice_items_table(); |
| 71 | 71 | |
| 72 | 72 | // Save default tax rates. |
| 73 | - update_option( 'wpinv_tax_rates', wpinv_get_data( 'tax-rates' ) ); |
|
| 73 | + update_option('wpinv_tax_rates', wpinv_get_data('tax-rates')); |
|
| 74 | 74 | } |
| 75 | 75 | |
| 76 | 76 | /** |
@@ -81,28 +81,28 @@ discard block |
||
| 81 | 81 | global $wpdb; |
| 82 | 82 | |
| 83 | 83 | // Invoices. |
| 84 | - $results = $wpdb->get_results( "SELECT ID FROM {$wpdb->posts} WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" ); |
|
| 85 | - if ( ! empty( $results ) ) { |
|
| 86 | - $wpdb->query( "UPDATE {$wpdb->posts} SET post_status = CONCAT( 'wpi-', post_status ) WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )" ); |
|
| 84 | + $results = $wpdb->get_results("SELECT ID FROM {$wpdb->posts} WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )"); |
|
| 85 | + if (!empty($results)) { |
|
| 86 | + $wpdb->query("UPDATE {$wpdb->posts} SET post_status = CONCAT( 'wpi-', post_status ) WHERE post_type = 'wpi_invoice' AND post_status IN( 'pending', 'processing', 'onhold', 'refunded', 'cancelled', 'failed', 'renewal' )"); |
|
| 87 | 87 | |
| 88 | 88 | // Clean post cache |
| 89 | - foreach ( $results as $row ) { |
|
| 90 | - clean_post_cache( $row->ID ); |
|
| 89 | + foreach ($results as $row) { |
|
| 90 | + clean_post_cache($row->ID); |
|
| 91 | 91 | } |
| 92 | 92 | |
| 93 | 93 | } |
| 94 | 94 | |
| 95 | 95 | // Item meta key changes |
| 96 | 96 | $query = "SELECT DISTINCT post_id FROM " . $wpdb->postmeta . " WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id', '_wpinv_cpt_name', '_wpinv_cpt_singular_name' )"; |
| 97 | - $results = $wpdb->get_results( $query ); |
|
| 97 | + $results = $wpdb->get_results($query); |
|
| 98 | 98 | |
| 99 | - if ( ! empty( $results ) ) { |
|
| 100 | - $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_id' WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id' )" ); |
|
| 101 | - $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_name' WHERE meta_key = '_wpinv_cpt_name'" ); |
|
| 102 | - $wpdb->query( "UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_singular_name' WHERE meta_key = '_wpinv_cpt_singular_name'" ); |
|
| 99 | + if (!empty($results)) { |
|
| 100 | + $wpdb->query("UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_id' WHERE meta_key IN( '_wpinv_item_id', '_wpinv_package_id', '_wpinv_post_id' )"); |
|
| 101 | + $wpdb->query("UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_name' WHERE meta_key = '_wpinv_cpt_name'"); |
|
| 102 | + $wpdb->query("UPDATE " . $wpdb->postmeta . " SET meta_key = '_wpinv_custom_singular_name' WHERE meta_key = '_wpinv_cpt_singular_name'"); |
|
| 103 | 103 | |
| 104 | - foreach ( $results as $row ) { |
|
| 105 | - clean_post_cache( $row->post_id ); |
|
| 104 | + foreach ($results as $row) { |
|
| 105 | + clean_post_cache($row->post_id); |
|
| 106 | 106 | } |
| 107 | 107 | |
| 108 | 108 | } |
@@ -135,7 +135,7 @@ discard block |
||
| 135 | 135 | */ |
| 136 | 136 | public function upgrade_from_207() { |
| 137 | 137 | global $wpdb; |
| 138 | - $wpdb->query( "ALTER TABLE {$wpdb->prefix}getpaid_invoice_items MODIFY COLUMN quantity FLOAT(20);" ); |
|
| 138 | + $wpdb->query("ALTER TABLE {$wpdb->prefix}getpaid_invoice_items MODIFY COLUMN quantity FLOAT(20);"); |
|
| 139 | 139 | } |
| 140 | 140 | |
| 141 | 141 | /** |
@@ -143,7 +143,7 @@ discard block |
||
| 143 | 143 | * |
| 144 | 144 | */ |
| 145 | 145 | public function add_capabilities() { |
| 146 | - $GLOBALS['wp_roles']->add_cap( 'administrator', 'manage_invoicing' ); |
|
| 146 | + $GLOBALS['wp_roles']->add_cap('administrator', 'manage_invoicing'); |
|
| 147 | 147 | } |
| 148 | 148 | |
| 149 | 149 | /** |
@@ -158,8 +158,8 @@ discard block |
||
| 158 | 158 | |
| 159 | 159 | // Checkout page. |
| 160 | 160 | 'checkout_page' => array( |
| 161 | - 'name' => _x( 'gp-checkout', 'Page slug', 'invoicing' ), |
|
| 162 | - 'title' => _x( 'Checkout', 'Page title', 'invoicing' ), |
|
| 161 | + 'name' => _x('gp-checkout', 'Page slug', 'invoicing'), |
|
| 162 | + 'title' => _x('Checkout', 'Page title', 'invoicing'), |
|
| 163 | 163 | 'content' => ' |
| 164 | 164 | <!-- wp:shortcode --> |
| 165 | 165 | [wpinv_checkout] |
@@ -170,8 +170,8 @@ discard block |
||
| 170 | 170 | |
| 171 | 171 | // Invoice history page. |
| 172 | 172 | 'invoice_history_page' => array( |
| 173 | - 'name' => _x( 'gp-invoices', 'Page slug', 'invoicing' ), |
|
| 174 | - 'title' => _x( 'My Invoices', 'Page title', 'invoicing' ), |
|
| 173 | + 'name' => _x('gp-invoices', 'Page slug', 'invoicing'), |
|
| 174 | + 'title' => _x('My Invoices', 'Page title', 'invoicing'), |
|
| 175 | 175 | 'content' => ' |
| 176 | 176 | <!-- wp:shortcode --> |
| 177 | 177 | [wpinv_history] |
@@ -182,8 +182,8 @@ discard block |
||
| 182 | 182 | |
| 183 | 183 | // Success page content. |
| 184 | 184 | 'success_page' => array( |
| 185 | - 'name' => _x( 'gp-receipt', 'Page slug', 'invoicing' ), |
|
| 186 | - 'title' => _x( 'Payment Confirmation', 'Page title', 'invoicing' ), |
|
| 185 | + 'name' => _x('gp-receipt', 'Page slug', 'invoicing'), |
|
| 186 | + 'title' => _x('Payment Confirmation', 'Page title', 'invoicing'), |
|
| 187 | 187 | 'content' => ' |
| 188 | 188 | <!-- wp:shortcode --> |
| 189 | 189 | [wpinv_receipt] |
@@ -194,16 +194,16 @@ discard block |
||
| 194 | 194 | |
| 195 | 195 | // Failure page content. |
| 196 | 196 | 'failure_page' => array( |
| 197 | - 'name' => _x( 'gp-transaction-failed', 'Page slug', 'invoicing' ), |
|
| 198 | - 'title' => _x( 'Transaction Failed', 'Page title', 'invoicing' ), |
|
| 199 | - 'content' => __( 'Your transaction failed, please try again or contact site support.', 'invoicing' ), |
|
| 197 | + 'name' => _x('gp-transaction-failed', 'Page slug', 'invoicing'), |
|
| 198 | + 'title' => _x('Transaction Failed', 'Page title', 'invoicing'), |
|
| 199 | + 'content' => __('Your transaction failed, please try again or contact site support.', 'invoicing'), |
|
| 200 | 200 | 'parent' => 'gp-checkout', |
| 201 | 201 | ), |
| 202 | 202 | |
| 203 | 203 | // Subscriptions history page. |
| 204 | 204 | 'invoice_subscription_page' => array( |
| 205 | - 'name' => _x( 'gp-subscriptions', 'Page slug', 'invoicing' ), |
|
| 206 | - 'title' => _x( 'My Subscriptions', 'Page title', 'invoicing' ), |
|
| 205 | + 'name' => _x('gp-subscriptions', 'Page slug', 'invoicing'), |
|
| 206 | + 'title' => _x('My Subscriptions', 'Page title', 'invoicing'), |
|
| 207 | 207 | 'content' => ' |
| 208 | 208 | <!-- wp:shortcode --> |
| 209 | 209 | [wpinv_subscriptions] |
@@ -223,8 +223,8 @@ discard block |
||
| 223 | 223 | */ |
| 224 | 224 | public function create_pages() { |
| 225 | 225 | |
| 226 | - foreach ( self::get_pages() as $key => $page ) { |
|
| 227 | - wpinv_create_page( esc_sql( $page['name'] ), $key, $page['title'], $page['content'], $page['parent'] ); |
|
| 226 | + foreach (self::get_pages() as $key => $page) { |
|
| 227 | + wpinv_create_page(esc_sql($page['name']), $key, $page['title'], $page['content'], $page['parent']); |
|
| 228 | 228 | } |
| 229 | 229 | |
| 230 | 230 | } |
@@ -237,7 +237,7 @@ discard block |
||
| 237 | 237 | |
| 238 | 238 | global $wpdb; |
| 239 | 239 | |
| 240 | - require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); |
|
| 240 | + require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); |
|
| 241 | 241 | |
| 242 | 242 | // Create tables. |
| 243 | 243 | $charset_collate = $wpdb->get_charset_collate(); |
@@ -264,7 +264,7 @@ discard block |
||
| 264 | 264 | KEY customer_and_status (customer_id, status) |
| 265 | 265 | ) $charset_collate;"; |
| 266 | 266 | |
| 267 | - dbDelta( $sql ); |
|
| 267 | + dbDelta($sql); |
|
| 268 | 268 | |
| 269 | 269 | } |
| 270 | 270 | |
@@ -275,7 +275,7 @@ discard block |
||
| 275 | 275 | public function create_invoices_table() { |
| 276 | 276 | global $wpdb; |
| 277 | 277 | |
| 278 | - require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); |
|
| 278 | + require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); |
|
| 279 | 279 | |
| 280 | 280 | // Create tables. |
| 281 | 281 | $charset_collate = $wpdb->get_charset_collate(); |
@@ -315,7 +315,7 @@ discard block |
||
| 315 | 315 | KEY `key` (`key`) |
| 316 | 316 | ) $charset_collate;"; |
| 317 | 317 | |
| 318 | - dbDelta( $sql ); |
|
| 318 | + dbDelta($sql); |
|
| 319 | 319 | |
| 320 | 320 | } |
| 321 | 321 | |
@@ -326,7 +326,7 @@ discard block |
||
| 326 | 326 | public function create_invoice_items_table() { |
| 327 | 327 | global $wpdb; |
| 328 | 328 | |
| 329 | - require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); |
|
| 329 | + require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); |
|
| 330 | 330 | |
| 331 | 331 | // Create tables. |
| 332 | 332 | $charset_collate = $wpdb->get_charset_collate(); |
@@ -352,7 +352,7 @@ discard block |
||
| 352 | 352 | KEY post_id (post_id) |
| 353 | 353 | ) $charset_collate;"; |
| 354 | 354 | |
| 355 | - dbDelta( $sql ); |
|
| 355 | + dbDelta($sql); |
|
| 356 | 356 | |
| 357 | 357 | } |
| 358 | 358 | |
@@ -365,40 +365,40 @@ discard block |
||
| 365 | 365 | |
| 366 | 366 | $invoices_table = $wpdb->prefix . 'getpaid_invoices'; |
| 367 | 367 | $invoice_items_table = $wpdb->prefix . 'getpaid_invoice_items'; |
| 368 | - $migrated = $wpdb->get_col( "SELECT post_id FROM $invoices_table" ); |
|
| 368 | + $migrated = $wpdb->get_col("SELECT post_id FROM $invoices_table"); |
|
| 369 | 369 | $invoices = array_unique( |
| 370 | 370 | get_posts( |
| 371 | 371 | array( |
| 372 | - 'post_type' => array( 'wpi_invoice', 'wpi_quote' ), |
|
| 372 | + 'post_type' => array('wpi_invoice', 'wpi_quote'), |
|
| 373 | 373 | 'posts_per_page' => -1, |
| 374 | 374 | 'fields' => 'ids', |
| 375 | - 'post_status' => array_keys( get_post_stati() ), |
|
| 375 | + 'post_status' => array_keys(get_post_stati()), |
|
| 376 | 376 | 'exclude' => (array) $migrated, |
| 377 | 377 | ) |
| 378 | 378 | ) |
| 379 | 379 | ); |
| 380 | 380 | |
| 381 | 381 | // Abort if we do not have any invoices. |
| 382 | - if ( empty( $invoices ) ) { |
|
| 382 | + if (empty($invoices)) { |
|
| 383 | 383 | return; |
| 384 | 384 | } |
| 385 | 385 | |
| 386 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-legacy-invoice.php' ); |
|
| 386 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-legacy-invoice.php'); |
|
| 387 | 387 | |
| 388 | 388 | $invoice_rows = array(); |
| 389 | - foreach ( $invoices as $invoice ) { |
|
| 389 | + foreach ($invoices as $invoice) { |
|
| 390 | 390 | |
| 391 | - $invoice = new WPInv_Legacy_Invoice( $invoice ); |
|
| 391 | + $invoice = new WPInv_Legacy_Invoice($invoice); |
|
| 392 | 392 | |
| 393 | - if ( empty( $invoice->ID ) ) { |
|
| 393 | + if (empty($invoice->ID)) { |
|
| 394 | 394 | return; |
| 395 | 395 | } |
| 396 | 396 | |
| 397 | - $fields = array ( |
|
| 397 | + $fields = array( |
|
| 398 | 398 | 'post_id' => $invoice->ID, |
| 399 | 399 | 'number' => $invoice->get_number(), |
| 400 | 400 | 'key' => $invoice->get_key(), |
| 401 | - 'type' => str_replace( 'wpi_', '', $invoice->post_type ), |
|
| 401 | + 'type' => str_replace('wpi_', '', $invoice->post_type), |
|
| 402 | 402 | 'mode' => $invoice->mode, |
| 403 | 403 | 'user_ip' => $invoice->get_ip(), |
| 404 | 404 | 'first_name' => $invoice->get_first_name(), |
@@ -427,27 +427,27 @@ discard block |
||
| 427 | 427 | 'custom_meta' => $invoice->payment_meta |
| 428 | 428 | ); |
| 429 | 429 | |
| 430 | - foreach ( $fields as $key => $val ) { |
|
| 431 | - if ( is_null( $val ) ) { |
|
| 430 | + foreach ($fields as $key => $val) { |
|
| 431 | + if (is_null($val)) { |
|
| 432 | 432 | $val = ''; |
| 433 | 433 | } |
| 434 | - $val = maybe_serialize( $val ); |
|
| 435 | - $fields[ $key ] = $wpdb->prepare( '%s', $val ); |
|
| 434 | + $val = maybe_serialize($val); |
|
| 435 | + $fields[$key] = $wpdb->prepare('%s', $val); |
|
| 436 | 436 | } |
| 437 | 437 | |
| 438 | - $fields = implode( ', ', $fields ); |
|
| 438 | + $fields = implode(', ', $fields); |
|
| 439 | 439 | $invoice_rows[] = "($fields)"; |
| 440 | 440 | |
| 441 | 441 | $item_rows = array(); |
| 442 | 442 | $item_columns = array(); |
| 443 | - foreach ( $invoice->get_cart_details() as $details ) { |
|
| 443 | + foreach ($invoice->get_cart_details() as $details) { |
|
| 444 | 444 | $fields = array( |
| 445 | 445 | 'post_id' => $invoice->ID, |
| 446 | 446 | 'item_id' => $details['id'], |
| 447 | 447 | 'item_name' => $details['name'], |
| 448 | - 'item_description' => empty( $details['meta']['description'] ) ? '' : $details['meta']['description'], |
|
| 448 | + 'item_description' => empty($details['meta']['description']) ? '' : $details['meta']['description'], |
|
| 449 | 449 | 'vat_rate' => $details['vat_rate'], |
| 450 | - 'vat_class' => empty( $details['vat_class'] ) ? '_standard' : $details['vat_class'], |
|
| 450 | + 'vat_class' => empty($details['vat_class']) ? '_standard' : $details['vat_class'], |
|
| 451 | 451 | 'tax' => $details['tax'], |
| 452 | 452 | 'item_price' => $details['item_price'], |
| 453 | 453 | 'custom_price' => $details['custom_price'], |
@@ -459,31 +459,31 @@ discard block |
||
| 459 | 459 | 'fees' => $details['fees'], |
| 460 | 460 | ); |
| 461 | 461 | |
| 462 | - $item_columns = array_keys ( $fields ); |
|
| 462 | + $item_columns = array_keys($fields); |
|
| 463 | 463 | |
| 464 | - foreach ( $fields as $key => $val ) { |
|
| 465 | - if ( is_null( $val ) ) { |
|
| 464 | + foreach ($fields as $key => $val) { |
|
| 465 | + if (is_null($val)) { |
|
| 466 | 466 | $val = ''; |
| 467 | 467 | } |
| 468 | - $val = maybe_serialize( $val ); |
|
| 469 | - $fields[ $key ] = $wpdb->prepare( '%s', $val ); |
|
| 468 | + $val = maybe_serialize($val); |
|
| 469 | + $fields[$key] = $wpdb->prepare('%s', $val); |
|
| 470 | 470 | } |
| 471 | 471 | |
| 472 | - $fields = implode( ', ', $fields ); |
|
| 472 | + $fields = implode(', ', $fields); |
|
| 473 | 473 | $item_rows[] = "($fields)"; |
| 474 | 474 | } |
| 475 | 475 | |
| 476 | - $item_rows = implode( ', ', $item_rows ); |
|
| 477 | - $item_columns = implode( ', ', $item_columns ); |
|
| 478 | - $wpdb->query( "INSERT INTO $invoice_items_table ($item_columns) VALUES $item_rows" ); |
|
| 476 | + $item_rows = implode(', ', $item_rows); |
|
| 477 | + $item_columns = implode(', ', $item_columns); |
|
| 478 | + $wpdb->query("INSERT INTO $invoice_items_table ($item_columns) VALUES $item_rows"); |
|
| 479 | 479 | } |
| 480 | 480 | |
| 481 | - if ( empty( $invoice_rows ) ) { |
|
| 481 | + if (empty($invoice_rows)) { |
|
| 482 | 482 | return; |
| 483 | 483 | } |
| 484 | 484 | |
| 485 | - $invoice_rows = implode( ', ', $invoice_rows ); |
|
| 486 | - $wpdb->query( "INSERT INTO $invoices_table VALUES $invoice_rows" ); |
|
| 485 | + $invoice_rows = implode(', ', $invoice_rows); |
|
| 486 | + $wpdb->query("INSERT INTO $invoices_table VALUES $invoice_rows"); |
|
| 487 | 487 | |
| 488 | 488 | } |
| 489 | 489 | |
@@ -494,12 +494,12 @@ discard block |
||
| 494 | 494 | public static function rename_gateways_label() { |
| 495 | 495 | global $wpdb; |
| 496 | 496 | |
| 497 | - foreach ( array_keys( wpinv_get_payment_gateways() ) as $gateway ) { |
|
| 497 | + foreach (array_keys(wpinv_get_payment_gateways()) as $gateway) { |
|
| 498 | 498 | |
| 499 | 499 | $wpdb->update( |
| 500 | 500 | $wpdb->prefix . 'getpaid_invoices', |
| 501 | - array( 'gateway' => $gateway ), |
|
| 502 | - array( 'gateway' => wpinv_get_gateway_admin_label( $gateway ) ), |
|
| 501 | + array('gateway' => $gateway), |
|
| 502 | + array('gateway' => wpinv_get_gateway_admin_label($gateway)), |
|
| 503 | 503 | '%s', |
| 504 | 504 | '%s' |
| 505 | 505 | ); |
@@ -7,24 +7,24 @@ |
||
| 7 | 7 | * @version 1.0.19 |
| 8 | 8 | */ |
| 9 | 9 | |
| 10 | -defined( 'ABSPATH' ) || exit; |
|
| 10 | +defined('ABSPATH') || exit; |
|
| 11 | 11 | |
| 12 | -$label = empty( $label ) ? '' : wp_kses_post( $label ); |
|
| 13 | -$label_class = sanitize_key( preg_replace( '/[^A-Za-z0-9_-]/', '-', $label ) ); |
|
| 12 | +$label = empty($label) ? '' : wp_kses_post($label); |
|
| 13 | +$label_class = sanitize_key(preg_replace('/[^A-Za-z0-9_-]/', '-', $label)); |
|
| 14 | 14 | |
| 15 | -if ( ! empty( $required ) ) { |
|
| 15 | +if (!empty($required)) { |
|
| 16 | 16 | $label .= "<span class='text-danger'> *</span>"; |
| 17 | 17 | } |
| 18 | 18 | |
| 19 | 19 | echo aui()->input( |
| 20 | 20 | array( |
| 21 | - 'name' => esc_attr( $id ), |
|
| 22 | - 'id' => esc_attr( $id ) . uniqid( '_' ), |
|
| 23 | - 'placeholder'=> empty( $placeholder ) ? '' : esc_attr( $placeholder ), |
|
| 24 | - 'required' => ! empty( $required ), |
|
| 21 | + 'name' => esc_attr($id), |
|
| 22 | + 'id' => esc_attr($id) . uniqid('_'), |
|
| 23 | + 'placeholder'=> empty($placeholder) ? '' : esc_attr($placeholder), |
|
| 24 | + 'required' => !empty($required), |
|
| 25 | 25 | 'label' => $label, |
| 26 | 26 | 'label_type' => 'vertical', |
| 27 | - 'help_text' => empty( $description ) ? '' : wp_kses_post( $description ), |
|
| 27 | + 'help_text' => empty($description) ? '' : wp_kses_post($description), |
|
| 28 | 28 | 'type' => 'email', |
| 29 | 29 | 'class' => $label_class, |
| 30 | 30 | ) |
@@ -7,23 +7,23 @@ |
||
| 7 | 7 | * @version 1.0.19 |
| 8 | 8 | */ |
| 9 | 9 | |
| 10 | -defined( 'ABSPATH' ) || exit; |
|
| 10 | +defined('ABSPATH') || exit; |
|
| 11 | 11 | |
| 12 | -$label = empty( $label ) ? '' : wp_kses_post( $label ); |
|
| 13 | -$label_class = sanitize_key( preg_replace( '/[^A-Za-z0-9_-]/', '-', $label ) ); |
|
| 14 | -if ( ! empty( $required ) ) { |
|
| 12 | +$label = empty($label) ? '' : wp_kses_post($label); |
|
| 13 | +$label_class = sanitize_key(preg_replace('/[^A-Za-z0-9_-]/', '-', $label)); |
|
| 14 | +if (!empty($required)) { |
|
| 15 | 15 | $label .= "<span class='text-danger'> *</span>"; |
| 16 | 16 | } |
| 17 | 17 | |
| 18 | 18 | echo aui()->input( |
| 19 | 19 | array( |
| 20 | - 'name' => esc_attr( $id ), |
|
| 21 | - 'id' => esc_attr( $id ) . uniqid( '_' ), |
|
| 22 | - 'placeholder'=> empty( $placeholder ) ? '' : esc_attr( $placeholder ), |
|
| 23 | - 'required' => ! empty( $required ), |
|
| 20 | + 'name' => esc_attr($id), |
|
| 21 | + 'id' => esc_attr($id) . uniqid('_'), |
|
| 22 | + 'placeholder'=> empty($placeholder) ? '' : esc_attr($placeholder), |
|
| 23 | + 'required' => !empty($required), |
|
| 24 | 24 | 'label' => $label, |
| 25 | 25 | 'label_type' => 'vertical', |
| 26 | - 'help_text' => empty( $description ) ? '' : wp_kses_post( $description ), |
|
| 26 | + 'help_text' => empty($description) ? '' : wp_kses_post($description), |
|
| 27 | 27 | 'type' => 'datepicker', |
| 28 | 28 | 'class' => $label_class, |
| 29 | 29 | ) |
@@ -7,27 +7,27 @@ |
||
| 7 | 7 | * @version 1.0.19 |
| 8 | 8 | */ |
| 9 | 9 | |
| 10 | -defined( 'ABSPATH' ) || exit; |
|
| 10 | +defined('ABSPATH') || exit; |
|
| 11 | 11 | |
| 12 | -$label = empty( $label ) ? '' : wp_kses_post( $label ); |
|
| 13 | -$label_class = sanitize_key( preg_replace( '/[^A-Za-z0-9_-]/', '-', $label ) ); |
|
| 12 | +$label = empty($label) ? '' : wp_kses_post($label); |
|
| 13 | +$label_class = sanitize_key(preg_replace('/[^A-Za-z0-9_-]/', '-', $label)); |
|
| 14 | 14 | |
| 15 | -if ( ! empty( $required ) ) { |
|
| 15 | +if (!empty($required)) { |
|
| 16 | 16 | $label .= "<span class='text-danger'> *</span>"; |
| 17 | 17 | } |
| 18 | 18 | |
| 19 | -$current_url = ! empty( $_GET['current_url'] ) ? esc_url_raw( urldecode( $_GET['current_url'] ) ) : get_permalink(); |
|
| 19 | +$current_url = !empty($_GET['current_url']) ? esc_url_raw(urldecode($_GET['current_url'])) : get_permalink(); |
|
| 20 | 20 | echo aui()->input( |
| 21 | 21 | array( |
| 22 | - 'name' => esc_attr( $id ), |
|
| 23 | - 'id' => esc_attr( $id ) . uniqid( '_' ), |
|
| 24 | - 'placeholder'=> empty( $placeholder ) ? '' : esc_attr( $placeholder ), |
|
| 25 | - 'required' => ! empty( $required ), |
|
| 22 | + 'name' => esc_attr($id), |
|
| 23 | + 'id' => esc_attr($id) . uniqid('_'), |
|
| 24 | + 'placeholder'=> empty($placeholder) ? '' : esc_attr($placeholder), |
|
| 25 | + 'required' => !empty($required), |
|
| 26 | 26 | 'label' => $label, |
| 27 | 27 | 'label_type' => 'vertical', |
| 28 | - 'help_text' => empty( $description ) ? '' : wp_kses_post( $description ), |
|
| 28 | + 'help_text' => empty($description) ? '' : wp_kses_post($description), |
|
| 29 | 29 | 'type' => 'url', |
| 30 | - 'value' => ! empty( $default_current_post ) ? $current_url : '', |
|
| 30 | + 'value' => !empty($default_current_post) ? $current_url : '', |
|
| 31 | 31 | 'class' => $label_class, |
| 32 | 32 | ) |
| 33 | 33 | ); |
@@ -7,26 +7,26 @@ |
||
| 7 | 7 | * @version 1.0.19 |
| 8 | 8 | */ |
| 9 | 9 | |
| 10 | -defined( 'ABSPATH' ) || exit; |
|
| 10 | +defined('ABSPATH') || exit; |
|
| 11 | 11 | |
| 12 | -$label = empty( $label ) ? '' : wp_kses_post( $label ); |
|
| 13 | -$label_class = sanitize_key( preg_replace( '/[^A-Za-z0-9_-]/', '-', $label ) ); |
|
| 12 | +$label = empty($label) ? '' : wp_kses_post($label); |
|
| 13 | +$label_class = sanitize_key(preg_replace('/[^A-Za-z0-9_-]/', '-', $label)); |
|
| 14 | 14 | |
| 15 | -if ( ! empty( $required ) ) { |
|
| 15 | +if (!empty($required)) { |
|
| 16 | 16 | $label .= "<span class='text-danger'> *</span>"; |
| 17 | 17 | } |
| 18 | 18 | |
| 19 | 19 | echo aui()->radio( |
| 20 | 20 | array( |
| 21 | - 'name' => esc_attr( $id ), |
|
| 22 | - 'id' => esc_attr( $id ) . uniqid( '_' ), |
|
| 23 | - 'required' => ! empty( $required ), |
|
| 21 | + 'name' => esc_attr($id), |
|
| 22 | + 'id' => esc_attr($id) . uniqid('_'), |
|
| 23 | + 'required' => !empty($required), |
|
| 24 | 24 | 'label' => $label, |
| 25 | 25 | 'label_type' => 'vertical', |
| 26 | 26 | 'class' => 'w-auto', |
| 27 | 27 | 'inline' => false, |
| 28 | - 'options' => empty( $options ) ? array() : array_combine( $options, $options ), |
|
| 29 | - 'help_text' => empty( $description ) ? '' : wp_kses_post( $description ), |
|
| 28 | + 'options' => empty($options) ? array() : array_combine($options, $options), |
|
| 29 | + 'help_text' => empty($description) ? '' : wp_kses_post($description), |
|
| 30 | 30 | 'class' => $label_class, |
| 31 | 31 | ) |
| 32 | 32 | ); |
@@ -7,24 +7,24 @@ |
||
| 7 | 7 | * @version 1.0.19 |
| 8 | 8 | */ |
| 9 | 9 | |
| 10 | -defined( 'ABSPATH' ) || exit; |
|
| 10 | +defined('ABSPATH') || exit; |
|
| 11 | 11 | |
| 12 | -$label = empty( $label ) ? '' : wp_kses_post( $label ); |
|
| 13 | -$label_class = sanitize_key( preg_replace( '/[^A-Za-z0-9_-]/', '-', $label ) ); |
|
| 12 | +$label = empty($label) ? '' : wp_kses_post($label); |
|
| 13 | +$label_class = sanitize_key(preg_replace('/[^A-Za-z0-9_-]/', '-', $label)); |
|
| 14 | 14 | |
| 15 | -if ( ! empty( $required ) ) { |
|
| 15 | +if (!empty($required)) { |
|
| 16 | 16 | $label .= "<span class='text-danger'> *</span>"; |
| 17 | 17 | } |
| 18 | 18 | |
| 19 | 19 | echo aui()->input( |
| 20 | 20 | array( |
| 21 | - 'name' => esc_attr( $id ), |
|
| 22 | - 'id' => esc_attr( $id ) . uniqid( '_' ), |
|
| 23 | - 'placeholder'=> empty( $placeholder ) ? '' : esc_attr( $placeholder ), |
|
| 24 | - 'required' => ! empty( $required ), |
|
| 21 | + 'name' => esc_attr($id), |
|
| 22 | + 'id' => esc_attr($id) . uniqid('_'), |
|
| 23 | + 'placeholder'=> empty($placeholder) ? '' : esc_attr($placeholder), |
|
| 24 | + 'required' => !empty($required), |
|
| 25 | 25 | 'label' => $label, |
| 26 | 26 | 'label_type' => 'vertical', |
| 27 | - 'help_text' => empty( $description ) ? '' : wp_kses_post( $description ), |
|
| 27 | + 'help_text' => empty($description) ? '' : wp_kses_post($description), |
|
| 28 | 28 | 'type' => 'time', |
| 29 | 29 | 'class' => $label_class, |
| 30 | 30 | ) |