@@ -36,36 +36,36 @@ discard block |
||
36 | 36 | 'desc_tip' => true, |
37 | 37 | 'default' => '', |
38 | 38 | 'advanced' => false |
39 | - ), |
|
39 | + ), |
|
40 | 40 | |
41 | 41 | 'form' => array( |
42 | - 'title' => __( 'Form', 'invoicing' ), |
|
43 | - 'desc' => __( 'Enter a form id in case you want to display a specific payment form', 'invoicing' ), |
|
44 | - 'type' => 'text', |
|
45 | - 'desc_tip' => true, |
|
46 | - 'default' => '', |
|
47 | - 'placeholder' => __('1','invoicing'), |
|
48 | - 'advanced' => false |
|
49 | - ), |
|
50 | - |
|
51 | - 'item' => array( |
|
52 | - 'title' => __( 'Items', 'invoicing' ), |
|
53 | - 'desc' => __( 'Enter comma separated list of invoicing item id and quantity (item_id|quantity). Ex. 101|2. This will be ignored in case you specify a form above. Enter 0 as the quantity to let users select their own quantities', 'invoicing' ), |
|
54 | - 'type' => 'text', |
|
55 | - 'desc_tip' => true, |
|
56 | - 'default' => '', |
|
57 | - 'placeholder' => __('1','invoicing'), |
|
58 | - 'advanced' => false |
|
59 | - ), |
|
42 | + 'title' => __( 'Form', 'invoicing' ), |
|
43 | + 'desc' => __( 'Enter a form id in case you want to display a specific payment form', 'invoicing' ), |
|
44 | + 'type' => 'text', |
|
45 | + 'desc_tip' => true, |
|
46 | + 'default' => '', |
|
47 | + 'placeholder' => __('1','invoicing'), |
|
48 | + 'advanced' => false |
|
49 | + ), |
|
50 | + |
|
51 | + 'item' => array( |
|
52 | + 'title' => __( 'Items', 'invoicing' ), |
|
53 | + 'desc' => __( 'Enter comma separated list of invoicing item id and quantity (item_id|quantity). Ex. 101|2. This will be ignored in case you specify a form above. Enter 0 as the quantity to let users select their own quantities', 'invoicing' ), |
|
54 | + 'type' => 'text', |
|
55 | + 'desc_tip' => true, |
|
56 | + 'default' => '', |
|
57 | + 'placeholder' => __('1','invoicing'), |
|
58 | + 'advanced' => false |
|
59 | + ), |
|
60 | 60 | |
61 | 61 | 'button' => array( |
62 | - 'title' => __( 'Button', 'invoicing' ), |
|
63 | - 'desc' => __( 'Enter button label in case you would like to display the forms in a popup.', 'invoicing' ), |
|
64 | - 'type' => 'text', |
|
65 | - 'desc_tip' => true, |
|
66 | - 'default' => '', |
|
67 | - 'advanced' => false |
|
68 | - ) |
|
62 | + 'title' => __( 'Button', 'invoicing' ), |
|
63 | + 'desc' => __( 'Enter button label in case you would like to display the forms in a popup.', 'invoicing' ), |
|
64 | + 'type' => 'text', |
|
65 | + 'desc_tip' => true, |
|
66 | + 'default' => '', |
|
67 | + 'advanced' => false |
|
68 | + ) |
|
69 | 69 | |
70 | 70 | ) |
71 | 71 | |
@@ -75,96 +75,96 @@ discard block |
||
75 | 75 | parent::__construct( $options ); |
76 | 76 | } |
77 | 77 | |
78 | - /** |
|
79 | - * The Super block output function. |
|
80 | - * |
|
81 | - * @param array $args |
|
82 | - * @param array $widget_args |
|
83 | - * @param string $content |
|
84 | - * |
|
85 | - * @return string |
|
86 | - */ |
|
78 | + /** |
|
79 | + * The Super block output function. |
|
80 | + * |
|
81 | + * @param array $args |
|
82 | + * @param array $widget_args |
|
83 | + * @param string $content |
|
84 | + * |
|
85 | + * @return string |
|
86 | + */ |
|
87 | 87 | public function output( $args = array(), $widget_args = array(), $content = '' ) { |
88 | 88 | |
89 | - // Is the shortcode set up correctly? |
|
90 | - if ( empty( $args['form'] ) && empty( $args['item'] ) ) { |
|
91 | - return aui()->alert( |
|
92 | - array( |
|
93 | - 'type' => 'warning', |
|
94 | - 'content' => __( 'No payment form or item selected', 'invoicing' ), |
|
95 | - ) |
|
96 | - ); |
|
97 | - } |
|
98 | - |
|
99 | - // Payment form or button? |
|
100 | - if ( ! empty( $args['form'] ) ) { |
|
101 | - return $this->handle_payment_form( $args ); |
|
102 | - } else { |
|
103 | - return $this->handle_buy_item( $args ); |
|
104 | - } |
|
105 | - |
|
106 | - } |
|
107 | - |
|
108 | - /** |
|
109 | - * Displaying a payment form |
|
110 | - * |
|
111 | - * @return string |
|
112 | - */ |
|
89 | + // Is the shortcode set up correctly? |
|
90 | + if ( empty( $args['form'] ) && empty( $args['item'] ) ) { |
|
91 | + return aui()->alert( |
|
92 | + array( |
|
93 | + 'type' => 'warning', |
|
94 | + 'content' => __( 'No payment form or item selected', 'invoicing' ), |
|
95 | + ) |
|
96 | + ); |
|
97 | + } |
|
98 | + |
|
99 | + // Payment form or button? |
|
100 | + if ( ! empty( $args['form'] ) ) { |
|
101 | + return $this->handle_payment_form( $args ); |
|
102 | + } else { |
|
103 | + return $this->handle_buy_item( $args ); |
|
104 | + } |
|
105 | + |
|
106 | + } |
|
107 | + |
|
108 | + /** |
|
109 | + * Displaying a payment form |
|
110 | + * |
|
111 | + * @return string |
|
112 | + */ |
|
113 | 113 | protected function handle_payment_form( $args = array() ) { |
114 | 114 | |
115 | - if ( empty( $args['button'] ) ) { |
|
116 | - ob_start(); |
|
117 | - getpaid_display_payment_form( $args['form'] ); |
|
118 | - return ob_get_clean(); |
|
119 | - } |
|
115 | + if ( empty( $args['button'] ) ) { |
|
116 | + ob_start(); |
|
117 | + getpaid_display_payment_form( $args['form'] ); |
|
118 | + return ob_get_clean(); |
|
119 | + } |
|
120 | 120 | |
121 | - return $this->payment_form_button( $args['form'], $args['button'] ); |
|
122 | - } |
|
121 | + return $this->payment_form_button( $args['form'], $args['button'] ); |
|
122 | + } |
|
123 | 123 | |
124 | - /** |
|
125 | - * Displays a payment form button. |
|
126 | - * |
|
127 | - * @return string |
|
128 | - */ |
|
124 | + /** |
|
125 | + * Displays a payment form button. |
|
126 | + * |
|
127 | + * @return string |
|
128 | + */ |
|
129 | 129 | protected function payment_form_button( $form, $button ) { |
130 | - return getpaid_get_payment_button( $button, $form ); |
|
131 | - } |
|
132 | - |
|
133 | - /** |
|
134 | - * Selling an item |
|
135 | - * |
|
136 | - * @return string |
|
137 | - */ |
|
130 | + return getpaid_get_payment_button( $button, $form ); |
|
131 | + } |
|
132 | + |
|
133 | + /** |
|
134 | + * Selling an item |
|
135 | + * |
|
136 | + * @return string |
|
137 | + */ |
|
138 | 138 | protected function handle_buy_item( $args = array() ) { |
139 | 139 | |
140 | - if ( empty( $args['button'] ) ) { |
|
141 | - return $this->buy_item_form( $args['item'] ); |
|
142 | - } |
|
140 | + if ( empty( $args['button'] ) ) { |
|
141 | + return $this->buy_item_form( $args['item'] ); |
|
142 | + } |
|
143 | 143 | |
144 | - return $this->buy_item_button( $args['item'], $args['button'] ); |
|
144 | + return $this->buy_item_button( $args['item'], $args['button'] ); |
|
145 | 145 | |
146 | - } |
|
146 | + } |
|
147 | 147 | |
148 | - /** |
|
149 | - * Displays a buy item form. |
|
150 | - * |
|
151 | - * @return string |
|
152 | - */ |
|
148 | + /** |
|
149 | + * Displays a buy item form. |
|
150 | + * |
|
151 | + * @return string |
|
152 | + */ |
|
153 | 153 | protected function buy_item_form( $item ) { |
154 | - $items = getpaid_convert_items_to_array( $item ); |
|
155 | - ob_start(); |
|
156 | - getpaid_display_item_payment_form( $items ); |
|
157 | - return ob_get_clean(); |
|
158 | - } |
|
159 | - |
|
160 | - /** |
|
161 | - * Displays a buy item button. |
|
162 | - * |
|
163 | - * @return string |
|
164 | - */ |
|
154 | + $items = getpaid_convert_items_to_array( $item ); |
|
155 | + ob_start(); |
|
156 | + getpaid_display_item_payment_form( $items ); |
|
157 | + return ob_get_clean(); |
|
158 | + } |
|
159 | + |
|
160 | + /** |
|
161 | + * Displays a buy item button. |
|
162 | + * |
|
163 | + * @return string |
|
164 | + */ |
|
165 | 165 | protected function buy_item_button( $item, $button ) { |
166 | - $button = getpaid_get_payment_button( $button, null, $item ); |
|
167 | - return apply_filters( 'getpaid_buy_item_button_widget', $button, $item ); |
|
166 | + $button = getpaid_get_payment_button( $button, null, $item ); |
|
167 | + return apply_filters( 'getpaid_buy_item_button_widget', $button, $item ); |
|
168 | 168 | } |
169 | 169 | |
170 | 170 | } |
@@ -1,5 +1,5 @@ discard block |
||
1 | 1 | <?php |
2 | -if ( ! defined( 'ABSPATH' ) ) { |
|
2 | +if (!defined('ABSPATH')) { |
|
3 | 3 | exit; |
4 | 4 | } |
5 | 5 | |
@@ -22,16 +22,16 @@ discard block |
||
22 | 22 | 'block-keywords'=> "['invoicing','buy', 'buy item', 'form']", |
23 | 23 | 'class_name' => __CLASS__, |
24 | 24 | 'base_id' => 'getpaid', |
25 | - 'name' => __('GetPaid','invoicing'), |
|
25 | + 'name' => __('GetPaid', 'invoicing'), |
|
26 | 26 | 'widget_ops' => array( |
27 | 27 | 'classname' => 'getpaid bsui', |
28 | - 'description' => esc_html__('Show payment forms or buttons.','invoicing'), |
|
28 | + 'description' => esc_html__('Show payment forms or buttons.', 'invoicing'), |
|
29 | 29 | ), |
30 | 30 | 'arguments' => array( |
31 | 31 | |
32 | 32 | 'title' => array( |
33 | - 'title' => __( 'Widget title', 'invoicing' ), |
|
34 | - 'desc' => __( 'Enter widget title.', 'invoicing' ), |
|
33 | + 'title' => __('Widget title', 'invoicing'), |
|
34 | + 'desc' => __('Enter widget title.', 'invoicing'), |
|
35 | 35 | 'type' => 'text', |
36 | 36 | 'desc_tip' => true, |
37 | 37 | 'default' => '', |
@@ -39,28 +39,28 @@ discard block |
||
39 | 39 | ), |
40 | 40 | |
41 | 41 | 'form' => array( |
42 | - 'title' => __( 'Form', 'invoicing' ), |
|
43 | - 'desc' => __( 'Enter a form id in case you want to display a specific payment form', 'invoicing' ), |
|
42 | + 'title' => __('Form', 'invoicing'), |
|
43 | + 'desc' => __('Enter a form id in case you want to display a specific payment form', 'invoicing'), |
|
44 | 44 | 'type' => 'text', |
45 | 45 | 'desc_tip' => true, |
46 | 46 | 'default' => '', |
47 | - 'placeholder' => __('1','invoicing'), |
|
47 | + 'placeholder' => __('1', 'invoicing'), |
|
48 | 48 | 'advanced' => false |
49 | 49 | ), |
50 | 50 | |
51 | 51 | 'item' => array( |
52 | - 'title' => __( 'Items', 'invoicing' ), |
|
53 | - 'desc' => __( 'Enter comma separated list of invoicing item id and quantity (item_id|quantity). Ex. 101|2. This will be ignored in case you specify a form above. Enter 0 as the quantity to let users select their own quantities', 'invoicing' ), |
|
52 | + 'title' => __('Items', 'invoicing'), |
|
53 | + 'desc' => __('Enter comma separated list of invoicing item id and quantity (item_id|quantity). Ex. 101|2. This will be ignored in case you specify a form above. Enter 0 as the quantity to let users select their own quantities', 'invoicing'), |
|
54 | 54 | 'type' => 'text', |
55 | 55 | 'desc_tip' => true, |
56 | 56 | 'default' => '', |
57 | - 'placeholder' => __('1','invoicing'), |
|
57 | + 'placeholder' => __('1', 'invoicing'), |
|
58 | 58 | 'advanced' => false |
59 | 59 | ), |
60 | 60 | |
61 | 61 | 'button' => array( |
62 | - 'title' => __( 'Button', 'invoicing' ), |
|
63 | - 'desc' => __( 'Enter button label in case you would like to display the forms in a popup.', 'invoicing' ), |
|
62 | + 'title' => __('Button', 'invoicing'), |
|
63 | + 'desc' => __('Enter button label in case you would like to display the forms in a popup.', 'invoicing'), |
|
64 | 64 | 'type' => 'text', |
65 | 65 | 'desc_tip' => true, |
66 | 66 | 'default' => '', |
@@ -72,7 +72,7 @@ discard block |
||
72 | 72 | ); |
73 | 73 | |
74 | 74 | |
75 | - parent::__construct( $options ); |
|
75 | + parent::__construct($options); |
|
76 | 76 | } |
77 | 77 | |
78 | 78 | /** |
@@ -84,23 +84,23 @@ discard block |
||
84 | 84 | * |
85 | 85 | * @return string |
86 | 86 | */ |
87 | - public function output( $args = array(), $widget_args = array(), $content = '' ) { |
|
87 | + public function output($args = array(), $widget_args = array(), $content = '') { |
|
88 | 88 | |
89 | 89 | // Is the shortcode set up correctly? |
90 | - if ( empty( $args['form'] ) && empty( $args['item'] ) ) { |
|
90 | + if (empty($args['form']) && empty($args['item'])) { |
|
91 | 91 | return aui()->alert( |
92 | 92 | array( |
93 | 93 | 'type' => 'warning', |
94 | - 'content' => __( 'No payment form or item selected', 'invoicing' ), |
|
94 | + 'content' => __('No payment form or item selected', 'invoicing'), |
|
95 | 95 | ) |
96 | 96 | ); |
97 | 97 | } |
98 | 98 | |
99 | 99 | // Payment form or button? |
100 | - if ( ! empty( $args['form'] ) ) { |
|
101 | - return $this->handle_payment_form( $args ); |
|
100 | + if (!empty($args['form'])) { |
|
101 | + return $this->handle_payment_form($args); |
|
102 | 102 | } else { |
103 | - return $this->handle_buy_item( $args ); |
|
103 | + return $this->handle_buy_item($args); |
|
104 | 104 | } |
105 | 105 | |
106 | 106 | } |
@@ -110,15 +110,15 @@ discard block |
||
110 | 110 | * |
111 | 111 | * @return string |
112 | 112 | */ |
113 | - protected function handle_payment_form( $args = array() ) { |
|
113 | + protected function handle_payment_form($args = array()) { |
|
114 | 114 | |
115 | - if ( empty( $args['button'] ) ) { |
|
115 | + if (empty($args['button'])) { |
|
116 | 116 | ob_start(); |
117 | - getpaid_display_payment_form( $args['form'] ); |
|
117 | + getpaid_display_payment_form($args['form']); |
|
118 | 118 | return ob_get_clean(); |
119 | 119 | } |
120 | 120 | |
121 | - return $this->payment_form_button( $args['form'], $args['button'] ); |
|
121 | + return $this->payment_form_button($args['form'], $args['button']); |
|
122 | 122 | } |
123 | 123 | |
124 | 124 | /** |
@@ -126,8 +126,8 @@ discard block |
||
126 | 126 | * |
127 | 127 | * @return string |
128 | 128 | */ |
129 | - protected function payment_form_button( $form, $button ) { |
|
130 | - return getpaid_get_payment_button( $button, $form ); |
|
129 | + protected function payment_form_button($form, $button) { |
|
130 | + return getpaid_get_payment_button($button, $form); |
|
131 | 131 | } |
132 | 132 | |
133 | 133 | /** |
@@ -135,13 +135,13 @@ discard block |
||
135 | 135 | * |
136 | 136 | * @return string |
137 | 137 | */ |
138 | - protected function handle_buy_item( $args = array() ) { |
|
138 | + protected function handle_buy_item($args = array()) { |
|
139 | 139 | |
140 | - if ( empty( $args['button'] ) ) { |
|
141 | - return $this->buy_item_form( $args['item'] ); |
|
140 | + if (empty($args['button'])) { |
|
141 | + return $this->buy_item_form($args['item']); |
|
142 | 142 | } |
143 | 143 | |
144 | - return $this->buy_item_button( $args['item'], $args['button'] ); |
|
144 | + return $this->buy_item_button($args['item'], $args['button']); |
|
145 | 145 | |
146 | 146 | } |
147 | 147 | |
@@ -150,10 +150,10 @@ discard block |
||
150 | 150 | * |
151 | 151 | * @return string |
152 | 152 | */ |
153 | - protected function buy_item_form( $item ) { |
|
154 | - $items = getpaid_convert_items_to_array( $item ); |
|
153 | + protected function buy_item_form($item) { |
|
154 | + $items = getpaid_convert_items_to_array($item); |
|
155 | 155 | ob_start(); |
156 | - getpaid_display_item_payment_form( $items ); |
|
156 | + getpaid_display_item_payment_form($items); |
|
157 | 157 | return ob_get_clean(); |
158 | 158 | } |
159 | 159 | |
@@ -162,9 +162,9 @@ discard block |
||
162 | 162 | * |
163 | 163 | * @return string |
164 | 164 | */ |
165 | - protected function buy_item_button( $item, $button ) { |
|
166 | - $button = getpaid_get_payment_button( $button, null, $item ); |
|
167 | - return apply_filters( 'getpaid_buy_item_button_widget', $button, $item ); |
|
165 | + protected function buy_item_button($item, $button) { |
|
166 | + $button = getpaid_get_payment_button($button, null, $item); |
|
167 | + return apply_filters('getpaid_buy_item_button_widget', $button, $item); |
|
168 | 168 | } |
169 | 169 | |
170 | 170 | } |
@@ -13,58 +13,58 @@ discard block |
||
13 | 13 | class GetPaid_Authorize_Net_Gateway extends GetPaid_Authorize_Net_Legacy_Gateway { |
14 | 14 | |
15 | 15 | /** |
16 | - * Payment method id. |
|
17 | - * |
|
18 | - * @var string |
|
19 | - */ |
|
16 | + * Payment method id. |
|
17 | + * |
|
18 | + * @var string |
|
19 | + */ |
|
20 | 20 | public $id = 'authorizenet'; |
21 | 21 | |
22 | 22 | /** |
23 | - * An array of features that this gateway supports. |
|
24 | - * |
|
25 | - * @var array |
|
26 | - */ |
|
23 | + * An array of features that this gateway supports. |
|
24 | + * |
|
25 | + * @var array |
|
26 | + */ |
|
27 | 27 | protected $supports = array( 'subscription', 'sandbox', 'tokens', 'addons' ); |
28 | 28 | |
29 | 29 | /** |
30 | - * Payment method order. |
|
31 | - * |
|
32 | - * @var int |
|
33 | - */ |
|
30 | + * Payment method order. |
|
31 | + * |
|
32 | + * @var int |
|
33 | + */ |
|
34 | 34 | public $order = 4; |
35 | 35 | |
36 | 36 | /** |
37 | - * Endpoint for requests from Authorize.net. |
|
38 | - * |
|
39 | - * @var string |
|
40 | - */ |
|
41 | - protected $notify_url; |
|
42 | - |
|
43 | - /** |
|
44 | - * Endpoint for requests to Authorize.net. |
|
45 | - * |
|
46 | - * @var string |
|
47 | - */ |
|
37 | + * Endpoint for requests from Authorize.net. |
|
38 | + * |
|
39 | + * @var string |
|
40 | + */ |
|
41 | + protected $notify_url; |
|
42 | + |
|
43 | + /** |
|
44 | + * Endpoint for requests to Authorize.net. |
|
45 | + * |
|
46 | + * @var string |
|
47 | + */ |
|
48 | 48 | protected $endpoint; |
49 | 49 | |
50 | 50 | /** |
51 | - * Currencies this gateway is allowed for. |
|
52 | - * |
|
53 | - * @var array |
|
54 | - */ |
|
55 | - public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' ); |
|
51 | + * Currencies this gateway is allowed for. |
|
52 | + * |
|
53 | + * @var array |
|
54 | + */ |
|
55 | + public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' ); |
|
56 | 56 | |
57 | 57 | /** |
58 | - * URL to view a transaction. |
|
59 | - * |
|
60 | - * @var string |
|
61 | - */ |
|
58 | + * URL to view a transaction. |
|
59 | + * |
|
60 | + * @var string |
|
61 | + */ |
|
62 | 62 | public $view_transaction_url = 'https://{sandbox}authorize.net/ui/themes/sandbox/Transaction/TransactionReceipt.aspx?transid=%s'; |
63 | 63 | |
64 | 64 | /** |
65 | - * Class constructor. |
|
66 | - */ |
|
67 | - public function __construct() { |
|
65 | + * Class constructor. |
|
66 | + */ |
|
67 | + public function __construct() { |
|
68 | 68 | |
69 | 69 | $this->title = __( 'Credit Card / Debit Card', 'invoicing' ); |
70 | 70 | $this->method_title = __( 'Authorize.Net', 'invoicing' ); |
@@ -76,11 +76,11 @@ discard block |
||
76 | 76 | } |
77 | 77 | |
78 | 78 | /** |
79 | - * Displays the payment method select field. |
|
80 | - * |
|
81 | - * @param int $invoice_id 0 or invoice id. |
|
82 | - * @param GetPaid_Payment_Form $form Current payment form. |
|
83 | - */ |
|
79 | + * Displays the payment method select field. |
|
80 | + * |
|
81 | + * @param int $invoice_id 0 or invoice id. |
|
82 | + * @param GetPaid_Payment_Form $form Current payment form. |
|
83 | + */ |
|
84 | 84 | public function payment_fields( $invoice_id, $form ) { |
85 | 85 | |
86 | 86 | // Let the user select a payment method. |
@@ -91,16 +91,16 @@ discard block |
||
91 | 91 | } |
92 | 92 | |
93 | 93 | /** |
94 | - * Creates a customer profile. |
|
95 | - * |
|
96 | - * |
|
97 | - * @param WPInv_Invoice $invoice Invoice. |
|
94 | + * Creates a customer profile. |
|
95 | + * |
|
96 | + * |
|
97 | + * @param WPInv_Invoice $invoice Invoice. |
|
98 | 98 | * @param array $submission_data Posted checkout fields. |
99 | 99 | * @param bool $save Whether or not to save the payment as a token. |
100 | 100 | * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile |
101 | - * @return string|WP_Error Payment profile id. |
|
102 | - */ |
|
103 | - public function create_customer_profile( $invoice, $submission_data, $save = true ) { |
|
101 | + * @return string|WP_Error Payment profile id. |
|
102 | + */ |
|
103 | + public function create_customer_profile( $invoice, $submission_data, $save = true ) { |
|
104 | 104 | |
105 | 105 | // Remove non-digits from the number |
106 | 106 | $submission_data['authorizenet']['cc_number'] = preg_replace('/\D/', '', $submission_data['authorizenet']['cc_number'] ); |
@@ -167,14 +167,14 @@ discard block |
||
167 | 167 | } |
168 | 168 | |
169 | 169 | /** |
170 | - * Retrieves a customer profile. |
|
171 | - * |
|
172 | - * |
|
173 | - * @param string $profile_id profile id. |
|
174 | - * @return string|WP_Error Profile id. |
|
170 | + * Retrieves a customer profile. |
|
171 | + * |
|
172 | + * |
|
173 | + * @param string $profile_id profile id. |
|
174 | + * @return string|WP_Error Profile id. |
|
175 | 175 | * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-profile |
176 | - */ |
|
177 | - public function get_customer_profile( $profile_id ) { |
|
176 | + */ |
|
177 | + public function get_customer_profile( $profile_id ) { |
|
178 | 178 | |
179 | 179 | // Generate args. |
180 | 180 | $args = array( |
@@ -189,17 +189,17 @@ discard block |
||
189 | 189 | } |
190 | 190 | |
191 | 191 | /** |
192 | - * Creates a customer profile. |
|
193 | - * |
|
194 | - * |
|
192 | + * Creates a customer profile. |
|
193 | + * |
|
194 | + * |
|
195 | 195 | * @param string $profile_id profile id. |
196 | - * @param WPInv_Invoice $invoice Invoice. |
|
196 | + * @param WPInv_Invoice $invoice Invoice. |
|
197 | 197 | * @param array $submission_data Posted checkout fields. |
198 | 198 | * @param bool $save Whether or not to save the payment as a token. |
199 | 199 | * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile |
200 | - * @return string|WP_Error Profile id. |
|
201 | - */ |
|
202 | - public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) { |
|
200 | + * @return string|WP_Error Profile id. |
|
201 | + */ |
|
202 | + public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) { |
|
203 | 203 | |
204 | 204 | // Remove non-digits from the number |
205 | 205 | $submission_data['authorizenet']['cc_number'] = preg_replace('/\D/', '', $submission_data['authorizenet']['cc_number'] ); |
@@ -259,15 +259,15 @@ discard block |
||
259 | 259 | } |
260 | 260 | |
261 | 261 | /** |
262 | - * Retrieves a customer payment profile. |
|
263 | - * |
|
264 | - * |
|
265 | - * @param string $customer_profile_id customer profile id. |
|
262 | + * Retrieves a customer payment profile. |
|
263 | + * |
|
264 | + * |
|
265 | + * @param string $customer_profile_id customer profile id. |
|
266 | 266 | * @param string $payment_profile_id payment profile id. |
267 | - * @return string|WP_Error Profile id. |
|
267 | + * @return string|WP_Error Profile id. |
|
268 | 268 | * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-payment-profile |
269 | - */ |
|
270 | - public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) { |
|
269 | + */ |
|
270 | + public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) { |
|
271 | 271 | |
272 | 272 | // Generate args. |
273 | 273 | $args = array( |
@@ -283,15 +283,15 @@ discard block |
||
283 | 283 | } |
284 | 284 | |
285 | 285 | /** |
286 | - * Charges a customer payment profile. |
|
287 | - * |
|
286 | + * Charges a customer payment profile. |
|
287 | + * |
|
288 | 288 | * @param string $customer_profile_id customer profile id. |
289 | 289 | * @param string $payment_profile_id payment profile id. |
290 | - * @param WPInv_Invoice $invoice Invoice. |
|
290 | + * @param WPInv_Invoice $invoice Invoice. |
|
291 | 291 | * @link https://developer.authorize.net/api/reference/index.html#payment-transactions-charge-a-customer-profile |
292 | - * @return WP_Error|object |
|
293 | - */ |
|
294 | - public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) { |
|
292 | + * @return WP_Error|object |
|
293 | + */ |
|
294 | + public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) { |
|
295 | 295 | |
296 | 296 | // Generate args. |
297 | 297 | $args = array( |
@@ -337,41 +337,41 @@ discard block |
||
337 | 337 | } |
338 | 338 | |
339 | 339 | /** |
340 | - * Processes a customer charge. |
|
341 | - * |
|
340 | + * Processes a customer charge. |
|
341 | + * |
|
342 | 342 | * @param stdClass $result Api response. |
343 | - * @param WPInv_Invoice $invoice Invoice. |
|
344 | - */ |
|
345 | - public function process_charge_response( $result, $invoice ) { |
|
343 | + * @param WPInv_Invoice $invoice Invoice. |
|
344 | + */ |
|
345 | + public function process_charge_response( $result, $invoice ) { |
|
346 | 346 | |
347 | 347 | wpinv_clear_errors(); |
348 | - $response_code = (int) $result->transactionResponse->responseCode; |
|
348 | + $response_code = (int) $result->transactionResponse->responseCode; |
|
349 | 349 | |
350 | - // Succeeded. |
|
351 | - if ( 1 == $response_code || 4 == $response_code ) { |
|
350 | + // Succeeded. |
|
351 | + if ( 1 == $response_code || 4 == $response_code ) { |
|
352 | 352 | |
353 | - // Maybe set a transaction id. |
|
354 | - if ( ! empty( $result->transactionResponse->transId ) ) { |
|
355 | - $invoice->set_transaction_id( $result->transactionResponse->transId ); |
|
356 | - } |
|
353 | + // Maybe set a transaction id. |
|
354 | + if ( ! empty( $result->transactionResponse->transId ) ) { |
|
355 | + $invoice->set_transaction_id( $result->transactionResponse->transId ); |
|
356 | + } |
|
357 | 357 | |
358 | - $invoice->add_note( sprintf( __( 'Authentication code: %s (%s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true ); |
|
358 | + $invoice->add_note( sprintf( __( 'Authentication code: %s (%s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true ); |
|
359 | 359 | |
360 | - if ( 1 == $response_code ) { |
|
361 | - return $invoice->mark_paid(); |
|
362 | - } |
|
360 | + if ( 1 == $response_code ) { |
|
361 | + return $invoice->mark_paid(); |
|
362 | + } |
|
363 | 363 | |
364 | - $invoice->set_status( 'wpi-onhold' ); |
|
365 | - $invoice->add_note( |
|
364 | + $invoice->set_status( 'wpi-onhold' ); |
|
365 | + $invoice->add_note( |
|
366 | 366 | sprintf( |
367 | 367 | __( 'Held for review: %s', 'invoicing' ), |
368 | 368 | $result->transactionResponse->messages->message[0]->description |
369 | 369 | ) |
370 | - ); |
|
370 | + ); |
|
371 | 371 | |
372 | - return $invoice->save(); |
|
372 | + return $invoice->save(); |
|
373 | 373 | |
374 | - } |
|
374 | + } |
|
375 | 375 | |
376 | 376 | wpinv_set_error( 'card_declined', __( 'Credit card declined.', 'invoicing' ) ); |
377 | 377 | |
@@ -383,13 +383,13 @@ discard block |
||
383 | 383 | } |
384 | 384 | |
385 | 385 | /** |
386 | - * Returns payment information. |
|
387 | - * |
|
388 | - * |
|
389 | - * @param array $card Card details. |
|
390 | - * @return array |
|
391 | - */ |
|
392 | - public function get_payment_information( $card ) { |
|
386 | + * Returns payment information. |
|
387 | + * |
|
388 | + * |
|
389 | + * @param array $card Card details. |
|
390 | + * @return array |
|
391 | + */ |
|
392 | + public function get_payment_information( $card ) { |
|
393 | 393 | return array( |
394 | 394 | |
395 | 395 | 'creditCard' => array ( |
@@ -402,25 +402,25 @@ discard block |
||
402 | 402 | } |
403 | 403 | |
404 | 404 | /** |
405 | - * Returns the customer profile meta name. |
|
406 | - * |
|
407 | - * |
|
408 | - * @param WPInv_Invoice $invoice Invoice. |
|
409 | - * @return string |
|
410 | - */ |
|
411 | - public function get_customer_profile_meta_name( $invoice ) { |
|
405 | + * Returns the customer profile meta name. |
|
406 | + * |
|
407 | + * |
|
408 | + * @param WPInv_Invoice $invoice Invoice. |
|
409 | + * @return string |
|
410 | + */ |
|
411 | + public function get_customer_profile_meta_name( $invoice ) { |
|
412 | 412 | return $this->is_sandbox( $invoice ) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id'; |
413 | 413 | } |
414 | 414 | |
415 | 415 | /** |
416 | - * Validates the submitted data. |
|
417 | - * |
|
418 | - * |
|
419 | - * @param array $submission_data Posted checkout fields. |
|
416 | + * Validates the submitted data. |
|
417 | + * |
|
418 | + * |
|
419 | + * @param array $submission_data Posted checkout fields. |
|
420 | 420 | * @param WPInv_Invoice $invoice |
421 | - * @return WP_Error|string The payment profile id |
|
422 | - */ |
|
423 | - public function validate_submission_data( $submission_data, $invoice ) { |
|
421 | + * @return WP_Error|string The payment profile id |
|
422 | + */ |
|
423 | + public function validate_submission_data( $submission_data, $invoice ) { |
|
424 | 424 | |
425 | 425 | // Validate authentication details. |
426 | 426 | $auth = $this->get_auth_params(); |
@@ -452,13 +452,13 @@ discard block |
||
452 | 452 | } |
453 | 453 | |
454 | 454 | /** |
455 | - * Returns invoice line items. |
|
456 | - * |
|
457 | - * |
|
458 | - * @param WPInv_Invoice $invoice Invoice. |
|
459 | - * @return array |
|
460 | - */ |
|
461 | - public function get_line_items( $invoice ) { |
|
455 | + * Returns invoice line items. |
|
456 | + * |
|
457 | + * |
|
458 | + * @param WPInv_Invoice $invoice Invoice. |
|
459 | + * @return array |
|
460 | + */ |
|
461 | + public function get_line_items( $invoice ) { |
|
462 | 462 | $items = array(); |
463 | 463 | |
464 | 464 | foreach ( $invoice->get_items() as $item ) { |
@@ -496,15 +496,15 @@ discard block |
||
496 | 496 | } |
497 | 497 | |
498 | 498 | /** |
499 | - * Process Payment. |
|
500 | - * |
|
501 | - * |
|
502 | - * @param WPInv_Invoice $invoice Invoice. |
|
503 | - * @param array $submission_data Posted checkout fields. |
|
504 | - * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
|
505 | - * @return array |
|
506 | - */ |
|
507 | - public function process_payment( $invoice, $submission_data, $submission ) { |
|
499 | + * Process Payment. |
|
500 | + * |
|
501 | + * |
|
502 | + * @param WPInv_Invoice $invoice Invoice. |
|
503 | + * @param array $submission_data Posted checkout fields. |
|
504 | + * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
|
505 | + * @return array |
|
506 | + */ |
|
507 | + public function process_payment( $invoice, $submission_data, $submission ) { |
|
508 | 508 | |
509 | 509 | // Validate the submitted data. |
510 | 510 | $payment_profile_id = $this->validate_submission_data( $submission_data, $invoice ); |
@@ -537,69 +537,69 @@ discard block |
||
537 | 537 | |
538 | 538 | exit; |
539 | 539 | |
540 | - } |
|
540 | + } |
|
541 | 541 | |
542 | - /** |
|
543 | - * Processes the initial payment. |
|
544 | - * |
|
542 | + /** |
|
543 | + * Processes the initial payment. |
|
544 | + * |
|
545 | 545 | * @param WPInv_Invoice $invoice Invoice. |
546 | - */ |
|
547 | - protected function process_initial_payment( $invoice ) { |
|
546 | + */ |
|
547 | + protected function process_initial_payment( $invoice ) { |
|
548 | 548 | |
549 | - $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true ); |
|
549 | + $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true ); |
|
550 | 550 | $customer_profile = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true ); |
551 | - $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice ); |
|
551 | + $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice ); |
|
552 | 552 | |
553 | - // Do we have an error? |
|
554 | - if ( is_wp_error( $result ) ) { |
|
555 | - wpinv_set_error( $result->get_error_code(), $result->get_error_message() ); |
|
556 | - wpinv_send_back_to_checkout( $invoice ); |
|
557 | - } |
|
553 | + // Do we have an error? |
|
554 | + if ( is_wp_error( $result ) ) { |
|
555 | + wpinv_set_error( $result->get_error_code(), $result->get_error_message() ); |
|
556 | + wpinv_send_back_to_checkout( $invoice ); |
|
557 | + } |
|
558 | 558 | |
559 | - // Process the response. |
|
560 | - $this->process_charge_response( $result, $invoice ); |
|
559 | + // Process the response. |
|
560 | + $this->process_charge_response( $result, $invoice ); |
|
561 | 561 | |
562 | - if ( wpinv_get_errors() ) { |
|
563 | - wpinv_send_back_to_checkout( $invoice ); |
|
564 | - } |
|
562 | + if ( wpinv_get_errors() ) { |
|
563 | + wpinv_send_back_to_checkout( $invoice ); |
|
564 | + } |
|
565 | 565 | |
566 | - } |
|
566 | + } |
|
567 | 567 | |
568 | 568 | /** |
569 | - * Processes recurring payments. |
|
570 | - * |
|
569 | + * Processes recurring payments. |
|
570 | + * |
|
571 | 571 | * @param WPInv_Invoice $invoice Invoice. |
572 | 572 | * @param WPInv_Subscription $subscription Subscription. |
573 | - */ |
|
574 | - public function process_subscription( $invoice, $subscription ) { |
|
573 | + */ |
|
574 | + public function process_subscription( $invoice, $subscription ) { |
|
575 | 575 | |
576 | 576 | // Check if there is an initial amount to charge. |
577 | 577 | if ( (float) $invoice->get_total() > 0 ) { |
578 | - $this->process_initial_payment( $invoice ); |
|
578 | + $this->process_initial_payment( $invoice ); |
|
579 | 579 | } |
580 | 580 | |
581 | 581 | // Activate the subscription. |
582 | 582 | $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() ); |
583 | 583 | $expiry = date( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) ); |
584 | 584 | |
585 | - $subscription->set_next_renewal_date( $expiry ); |
|
586 | - $subscription->set_date_created( current_time( 'mysql' ) ); |
|
587 | - $subscription->set_profile_id( $invoice->generate_key() ); |
|
588 | - $subscription->activate(); |
|
585 | + $subscription->set_next_renewal_date( $expiry ); |
|
586 | + $subscription->set_date_created( current_time( 'mysql' ) ); |
|
587 | + $subscription->set_profile_id( $invoice->generate_key() ); |
|
588 | + $subscription->activate(); |
|
589 | 589 | |
590 | - // Redirect to the success page. |
|
590 | + // Redirect to the success page. |
|
591 | 591 | wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) ); |
592 | 592 | |
593 | 593 | } |
594 | 594 | |
595 | - /** |
|
596 | - * (Maybe) renews an authorize.net subscription profile. |
|
597 | - * |
|
598 | - * |
|
599 | - * @param bool $should_expire |
|
595 | + /** |
|
596 | + * (Maybe) renews an authorize.net subscription profile. |
|
597 | + * |
|
598 | + * |
|
599 | + * @param bool $should_expire |
|
600 | 600 | * @param WPInv_Subscription $subscription |
601 | - */ |
|
602 | - public function maybe_renew_subscription( $should_expire, $subscription ) { |
|
601 | + */ |
|
602 | + public function maybe_renew_subscription( $should_expire, $subscription ) { |
|
603 | 603 | |
604 | 604 | // Ensure its our subscription && it's active. |
605 | 605 | if ( $this->id != $subscription->get_gateway() || ! $subscription->has_status( 'active trialling' ) ) { |
@@ -616,18 +616,18 @@ discard block |
||
616 | 616 | |
617 | 617 | return false; |
618 | 618 | |
619 | - } |
|
619 | + } |
|
620 | 620 | |
621 | 621 | /** |
622 | - * Renews a subscription. |
|
623 | - * |
|
622 | + * Renews a subscription. |
|
623 | + * |
|
624 | 624 | * @param WPInv_Subscription $subscription |
625 | - */ |
|
626 | - public function renew_subscription( $subscription ) { |
|
625 | + */ |
|
626 | + public function renew_subscription( $subscription ) { |
|
627 | 627 | |
628 | - // Generate the renewal invoice. |
|
629 | - $new_invoice = $subscription->create_payment(); |
|
630 | - $old_invoice = $subscription->get_parent_payment(); |
|
628 | + // Generate the renewal invoice. |
|
629 | + $new_invoice = $subscription->create_payment(); |
|
630 | + $old_invoice = $subscription->get_parent_payment(); |
|
631 | 631 | |
632 | 632 | if ( empty( $new_invoice ) ) { |
633 | 633 | $old_invoice->add_note( __( 'Error generating a renewal invoice.', 'invoicing' ), false, false, false ); |
@@ -636,37 +636,37 @@ discard block |
||
636 | 636 | } |
637 | 637 | |
638 | 638 | // Charge the payment method. |
639 | - $payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true ); |
|
640 | - $customer_profile = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true ); |
|
641 | - $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice ); |
|
642 | - |
|
643 | - // Do we have an error? |
|
644 | - if ( is_wp_error( $result ) ) { |
|
645 | - |
|
646 | - $old_invoice->add_note( |
|
647 | - sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ), |
|
648 | - true, |
|
649 | - false, |
|
650 | - true |
|
651 | - ); |
|
652 | - $subscription->failing(); |
|
653 | - return; |
|
654 | - |
|
655 | - } |
|
656 | - |
|
657 | - // Process the response. |
|
658 | - $this->process_charge_response( $result, $new_invoice ); |
|
659 | - |
|
660 | - if ( wpinv_get_errors() ) { |
|
661 | - |
|
662 | - $old_invoice->add_note( |
|
663 | - sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ), |
|
664 | - true, |
|
665 | - false, |
|
666 | - true |
|
667 | - ); |
|
668 | - $subscription->failing(); |
|
669 | - return; |
|
639 | + $payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true ); |
|
640 | + $customer_profile = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true ); |
|
641 | + $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice ); |
|
642 | + |
|
643 | + // Do we have an error? |
|
644 | + if ( is_wp_error( $result ) ) { |
|
645 | + |
|
646 | + $old_invoice->add_note( |
|
647 | + sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ), |
|
648 | + true, |
|
649 | + false, |
|
650 | + true |
|
651 | + ); |
|
652 | + $subscription->failing(); |
|
653 | + return; |
|
654 | + |
|
655 | + } |
|
656 | + |
|
657 | + // Process the response. |
|
658 | + $this->process_charge_response( $result, $new_invoice ); |
|
659 | + |
|
660 | + if ( wpinv_get_errors() ) { |
|
661 | + |
|
662 | + $old_invoice->add_note( |
|
663 | + sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ), |
|
664 | + true, |
|
665 | + false, |
|
666 | + true |
|
667 | + ); |
|
668 | + $subscription->failing(); |
|
669 | + return; |
|
670 | 670 | |
671 | 671 | } |
672 | 672 | |
@@ -675,13 +675,13 @@ discard block |
||
675 | 675 | } |
676 | 676 | |
677 | 677 | /** |
678 | - * Processes invoice addons. |
|
679 | - * |
|
680 | - * @param WPInv_Invoice $invoice |
|
681 | - * @param GetPaid_Form_Item[] $items |
|
682 | - * @return WPInv_Invoice |
|
683 | - */ |
|
684 | - public function process_addons( $invoice, $items ) { |
|
678 | + * Processes invoice addons. |
|
679 | + * |
|
680 | + * @param WPInv_Invoice $invoice |
|
681 | + * @param GetPaid_Form_Item[] $items |
|
682 | + * @return WPInv_Invoice |
|
683 | + */ |
|
684 | + public function process_addons( $invoice, $items ) { |
|
685 | 685 | |
686 | 686 | global $getpaid_authorize_addons; |
687 | 687 | |
@@ -701,7 +701,7 @@ discard block |
||
701 | 701 | $invoice->recalculate_total(); |
702 | 702 | |
703 | 703 | $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true ); |
704 | - $customer_profile = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true ); |
|
704 | + $customer_profile = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true ); |
|
705 | 705 | |
706 | 706 | add_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ), 10, 2 ); |
707 | 707 | $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice ); |
@@ -716,11 +716,11 @@ discard block |
||
716 | 716 | } |
717 | 717 | |
718 | 718 | /** |
719 | - * Processes invoice addons. |
|
720 | - * |
|
719 | + * Processes invoice addons. |
|
720 | + * |
|
721 | 721 | * @param array $args |
722 | - * @return array |
|
723 | - */ |
|
722 | + * @return array |
|
723 | + */ |
|
724 | 724 | public function filter_addons_request( $args ) { |
725 | 725 | |
726 | 726 | global $getpaid_authorize_addons; |
@@ -754,11 +754,11 @@ discard block |
||
754 | 754 | } |
755 | 755 | |
756 | 756 | /** |
757 | - * Filters the gateway settings. |
|
758 | - * |
|
759 | - * @param array $admin_settings |
|
760 | - */ |
|
761 | - public function admin_settings( $admin_settings ) { |
|
757 | + * Filters the gateway settings. |
|
758 | + * |
|
759 | + * @param array $admin_settings |
|
760 | + */ |
|
761 | + public function admin_settings( $admin_settings ) { |
|
762 | 762 | |
763 | 763 | $currencies = sprintf( |
764 | 764 | __( 'Supported Currencies: %s', 'invoicing' ), |
@@ -798,7 +798,7 @@ discard block |
||
798 | 798 | 'readonly' => true, |
799 | 799 | ); |
800 | 800 | |
801 | - return $admin_settings; |
|
802 | - } |
|
801 | + return $admin_settings; |
|
802 | + } |
|
803 | 803 | |
804 | 804 | } |
@@ -4,7 +4,7 @@ discard block |
||
4 | 4 | * |
5 | 5 | */ |
6 | 6 | |
7 | -defined( 'ABSPATH' ) || exit; |
|
7 | +defined('ABSPATH') || exit; |
|
8 | 8 | |
9 | 9 | /** |
10 | 10 | * Authorize.net Payment Gateway class. |
@@ -24,7 +24,7 @@ discard block |
||
24 | 24 | * |
25 | 25 | * @var array |
26 | 26 | */ |
27 | - protected $supports = array( 'subscription', 'sandbox', 'tokens', 'addons' ); |
|
27 | + protected $supports = array('subscription', 'sandbox', 'tokens', 'addons'); |
|
28 | 28 | |
29 | 29 | /** |
30 | 30 | * Payment method order. |
@@ -52,7 +52,7 @@ discard block |
||
52 | 52 | * |
53 | 53 | * @var array |
54 | 54 | */ |
55 | - public $currencies = array( 'USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD' ); |
|
55 | + public $currencies = array('USD', 'CAD', 'GBP', 'DKK', 'NOK', 'PLN', 'SEK', 'AUD', 'EUR', 'NZD'); |
|
56 | 56 | |
57 | 57 | /** |
58 | 58 | * URL to view a transaction. |
@@ -66,12 +66,12 @@ discard block |
||
66 | 66 | */ |
67 | 67 | public function __construct() { |
68 | 68 | |
69 | - $this->title = __( 'Credit Card / Debit Card', 'invoicing' ); |
|
70 | - $this->method_title = __( 'Authorize.Net', 'invoicing' ); |
|
71 | - $this->notify_url = wpinv_get_ipn_url( $this->id ); |
|
69 | + $this->title = __('Credit Card / Debit Card', 'invoicing'); |
|
70 | + $this->method_title = __('Authorize.Net', 'invoicing'); |
|
71 | + $this->notify_url = wpinv_get_ipn_url($this->id); |
|
72 | 72 | |
73 | - add_filter( 'getpaid_daily_maintenance_should_expire_subscription', array( $this, 'maybe_renew_subscription' ), 10, 2 ); |
|
74 | - add_filter( 'getpaid_authorizenet_sandbox_notice', array( $this, 'sandbox_notice' ) ); |
|
73 | + add_filter('getpaid_daily_maintenance_should_expire_subscription', array($this, 'maybe_renew_subscription'), 10, 2); |
|
74 | + add_filter('getpaid_authorizenet_sandbox_notice', array($this, 'sandbox_notice')); |
|
75 | 75 | parent::__construct(); |
76 | 76 | } |
77 | 77 | |
@@ -81,13 +81,13 @@ discard block |
||
81 | 81 | * @param int $invoice_id 0 or invoice id. |
82 | 82 | * @param GetPaid_Payment_Form $form Current payment form. |
83 | 83 | */ |
84 | - public function payment_fields( $invoice_id, $form ) { |
|
84 | + public function payment_fields($invoice_id, $form) { |
|
85 | 85 | |
86 | 86 | // Let the user select a payment method. |
87 | 87 | echo $this->saved_payment_methods(); |
88 | 88 | |
89 | 89 | // Show the credit card entry form. |
90 | - echo $this->new_payment_method_entry( $this->get_cc_form( true ) ); |
|
90 | + echo $this->new_payment_method_entry($this->get_cc_form(true)); |
|
91 | 91 | } |
92 | 92 | |
93 | 93 | /** |
@@ -100,64 +100,64 @@ discard block |
||
100 | 100 | * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile |
101 | 101 | * @return string|WP_Error Payment profile id. |
102 | 102 | */ |
103 | - public function create_customer_profile( $invoice, $submission_data, $save = true ) { |
|
103 | + public function create_customer_profile($invoice, $submission_data, $save = true) { |
|
104 | 104 | |
105 | 105 | // Remove non-digits from the number |
106 | - $submission_data['authorizenet']['cc_number'] = preg_replace('/\D/', '', $submission_data['authorizenet']['cc_number'] ); |
|
106 | + $submission_data['authorizenet']['cc_number'] = preg_replace('/\D/', '', $submission_data['authorizenet']['cc_number']); |
|
107 | 107 | |
108 | 108 | // Generate args. |
109 | 109 | $args = array( |
110 | 110 | 'createCustomerProfileRequest' => array( |
111 | 111 | 'merchantAuthentication' => $this->get_auth_params(), |
112 | 112 | 'profile' => array( |
113 | - 'merchantCustomerId' => getpaid_limit_length( $invoice->get_user_id(), 20 ), |
|
114 | - 'description' => getpaid_limit_length( $invoice->get_full_name(), 255 ), |
|
115 | - 'email' => getpaid_limit_length( $invoice->get_email(), 255 ), |
|
113 | + 'merchantCustomerId' => getpaid_limit_length($invoice->get_user_id(), 20), |
|
114 | + 'description' => getpaid_limit_length($invoice->get_full_name(), 255), |
|
115 | + 'email' => getpaid_limit_length($invoice->get_email(), 255), |
|
116 | 116 | 'paymentProfiles' => array( |
117 | 117 | 'customerType' => 'individual', |
118 | 118 | |
119 | 119 | // Billing information. |
120 | 120 | 'billTo' => array( |
121 | - 'firstName' => getpaid_limit_length( $invoice->get_first_name(), 50 ), |
|
122 | - 'lastName' => getpaid_limit_length( $invoice->get_last_name(), 50 ), |
|
123 | - 'address' => getpaid_limit_length( $invoice->get_address(), 60 ), |
|
124 | - 'city' => getpaid_limit_length( $invoice->get_city(), 40 ), |
|
125 | - 'state' => getpaid_limit_length( $invoice->get_state(), 40 ), |
|
126 | - 'zip' => getpaid_limit_length( $invoice->get_zip(), 20 ), |
|
127 | - 'country' => getpaid_limit_length( $invoice->get_country(), 60 ), |
|
121 | + 'firstName' => getpaid_limit_length($invoice->get_first_name(), 50), |
|
122 | + 'lastName' => getpaid_limit_length($invoice->get_last_name(), 50), |
|
123 | + 'address' => getpaid_limit_length($invoice->get_address(), 60), |
|
124 | + 'city' => getpaid_limit_length($invoice->get_city(), 40), |
|
125 | + 'state' => getpaid_limit_length($invoice->get_state(), 40), |
|
126 | + 'zip' => getpaid_limit_length($invoice->get_zip(), 20), |
|
127 | + 'country' => getpaid_limit_length($invoice->get_country(), 60), |
|
128 | 128 | ), |
129 | 129 | |
130 | 130 | // Payment information. |
131 | - 'payment' => $this->get_payment_information( $submission_data['authorizenet'] ), |
|
131 | + 'payment' => $this->get_payment_information($submission_data['authorizenet']), |
|
132 | 132 | ) |
133 | 133 | ), |
134 | - 'validationMode' => $this->is_sandbox( $invoice ) ? 'testMode' : 'liveMode', |
|
134 | + 'validationMode' => $this->is_sandbox($invoice) ? 'testMode' : 'liveMode', |
|
135 | 135 | ) |
136 | 136 | ); |
137 | 137 | |
138 | - $response = $this->post( apply_filters( 'getpaid_authorizenet_customer_profile_args', $args, $invoice ), $invoice ); |
|
138 | + $response = $this->post(apply_filters('getpaid_authorizenet_customer_profile_args', $args, $invoice), $invoice); |
|
139 | 139 | |
140 | - if ( is_wp_error( $response ) ) { |
|
140 | + if (is_wp_error($response)) { |
|
141 | 141 | return $response; |
142 | 142 | } |
143 | 143 | |
144 | - update_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), $response->customerProfileId ); |
|
144 | + update_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), $response->customerProfileId); |
|
145 | 145 | |
146 | 146 | // Save the payment token. |
147 | - if ( $save ) { |
|
147 | + if ($save) { |
|
148 | 148 | $this->save_token( |
149 | 149 | array( |
150 | 150 | 'id' => $response->customerPaymentProfileIdList[0], |
151 | - 'name' => getpaid_get_card_name( $submission_data['authorizenet']['cc_number'] ) . '····' . substr( $submission_data['authorizenet']['cc_number'], -4 ), |
|
151 | + 'name' => getpaid_get_card_name($submission_data['authorizenet']['cc_number']) . '····' . substr($submission_data['authorizenet']['cc_number'], -4), |
|
152 | 152 | 'default' => true, |
153 | - 'type' => $this->is_sandbox( $invoice ) ? 'sandbox' : 'live', |
|
153 | + 'type' => $this->is_sandbox($invoice) ? 'sandbox' : 'live', |
|
154 | 154 | ) |
155 | 155 | ); |
156 | 156 | } |
157 | 157 | |
158 | 158 | // Add a note about the validation response. |
159 | 159 | $invoice->add_note( |
160 | - sprintf( __( 'Created Authorize.NET customer profile: %s', 'invoicing' ), $response->validationDirectResponseList[0] ), |
|
160 | + sprintf(__('Created Authorize.NET customer profile: %s', 'invoicing'), $response->validationDirectResponseList[0]), |
|
161 | 161 | false, |
162 | 162 | false, |
163 | 163 | true |
@@ -174,7 +174,7 @@ discard block |
||
174 | 174 | * @return string|WP_Error Profile id. |
175 | 175 | * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-profile |
176 | 176 | */ |
177 | - public function get_customer_profile( $profile_id ) { |
|
177 | + public function get_customer_profile($profile_id) { |
|
178 | 178 | |
179 | 179 | // Generate args. |
180 | 180 | $args = array( |
@@ -184,7 +184,7 @@ discard block |
||
184 | 184 | ) |
185 | 185 | ); |
186 | 186 | |
187 | - return $this->post( $args, false ); |
|
187 | + return $this->post($args, false); |
|
188 | 188 | |
189 | 189 | } |
190 | 190 | |
@@ -199,10 +199,10 @@ discard block |
||
199 | 199 | * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-create-customer-profile |
200 | 200 | * @return string|WP_Error Profile id. |
201 | 201 | */ |
202 | - public function create_customer_payment_profile( $customer_profile, $invoice, $submission_data, $save ) { |
|
202 | + public function create_customer_payment_profile($customer_profile, $invoice, $submission_data, $save) { |
|
203 | 203 | |
204 | 204 | // Remove non-digits from the number |
205 | - $submission_data['authorizenet']['cc_number'] = preg_replace('/\D/', '', $submission_data['authorizenet']['cc_number'] ); |
|
205 | + $submission_data['authorizenet']['cc_number'] = preg_replace('/\D/', '', $submission_data['authorizenet']['cc_number']); |
|
206 | 206 | |
207 | 207 | // Generate args. |
208 | 208 | $args = array( |
@@ -213,34 +213,34 @@ discard block |
||
213 | 213 | |
214 | 214 | // Billing information. |
215 | 215 | 'billTo' => array( |
216 | - 'firstName' => getpaid_limit_length( $invoice->get_first_name(), 50 ), |
|
217 | - 'lastName' => getpaid_limit_length( $invoice->get_last_name(), 50 ), |
|
218 | - 'address' => getpaid_limit_length( $invoice->get_last_name(), 60 ), |
|
219 | - 'city' => getpaid_limit_length( $invoice->get_city(), 40 ), |
|
220 | - 'state' => getpaid_limit_length( $invoice->get_state(), 40 ), |
|
221 | - 'zip' => getpaid_limit_length( $invoice->get_zip(), 20 ), |
|
222 | - 'country' => getpaid_limit_length( $invoice->get_country(), 60 ), |
|
216 | + 'firstName' => getpaid_limit_length($invoice->get_first_name(), 50), |
|
217 | + 'lastName' => getpaid_limit_length($invoice->get_last_name(), 50), |
|
218 | + 'address' => getpaid_limit_length($invoice->get_last_name(), 60), |
|
219 | + 'city' => getpaid_limit_length($invoice->get_city(), 40), |
|
220 | + 'state' => getpaid_limit_length($invoice->get_state(), 40), |
|
221 | + 'zip' => getpaid_limit_length($invoice->get_zip(), 20), |
|
222 | + 'country' => getpaid_limit_length($invoice->get_country(), 60), |
|
223 | 223 | ), |
224 | 224 | |
225 | 225 | // Payment information. |
226 | - 'payment' => $this->get_payment_information( $submission_data['authorizenet'] ) |
|
226 | + 'payment' => $this->get_payment_information($submission_data['authorizenet']) |
|
227 | 227 | ), |
228 | - 'validationMode' => $this->is_sandbox( $invoice ) ? 'testMode' : 'liveMode', |
|
228 | + 'validationMode' => $this->is_sandbox($invoice) ? 'testMode' : 'liveMode', |
|
229 | 229 | ) |
230 | 230 | ); |
231 | 231 | |
232 | - $response = $this->post( apply_filters( 'getpaid_authorizenet_create_customer_payment_profile_args', $args, $invoice ), $invoice ); |
|
232 | + $response = $this->post(apply_filters('getpaid_authorizenet_create_customer_payment_profile_args', $args, $invoice), $invoice); |
|
233 | 233 | |
234 | - if ( is_wp_error( $response ) ) { |
|
234 | + if (is_wp_error($response)) { |
|
235 | 235 | return $response; |
236 | 236 | } |
237 | 237 | |
238 | 238 | // Save the payment token. |
239 | - if ( $save ) { |
|
239 | + if ($save) { |
|
240 | 240 | $this->save_token( |
241 | 241 | array( |
242 | 242 | 'id' => $response->customerPaymentProfileId, |
243 | - 'name' => getpaid_get_card_name( $submission_data['authorizenet']['cc_number'] ) . ' ···· ' . substr( $submission_data['authorizenet']['cc_number'], -4 ), |
|
243 | + 'name' => getpaid_get_card_name($submission_data['authorizenet']['cc_number']) . ' ···· ' . substr($submission_data['authorizenet']['cc_number'], -4), |
|
244 | 244 | 'default' => true |
245 | 245 | ) |
246 | 246 | ); |
@@ -248,7 +248,7 @@ discard block |
||
248 | 248 | |
249 | 249 | // Add a note about the validation response. |
250 | 250 | $invoice->add_note( |
251 | - sprintf( __( 'Saved Authorize.NET payment profile: %s', 'invoicing' ), $response->validationDirectResponse ), |
|
251 | + sprintf(__('Saved Authorize.NET payment profile: %s', 'invoicing'), $response->validationDirectResponse), |
|
252 | 252 | false, |
253 | 253 | false, |
254 | 254 | true |
@@ -267,7 +267,7 @@ discard block |
||
267 | 267 | * @return string|WP_Error Profile id. |
268 | 268 | * @link https://developer.authorize.net/api/reference/index.html#customer-profiles-get-customer-payment-profile |
269 | 269 | */ |
270 | - public function get_customer_payment_profile( $customer_profile_id, $payment_profile_id ) { |
|
270 | + public function get_customer_payment_profile($customer_profile_id, $payment_profile_id) { |
|
271 | 271 | |
272 | 272 | // Generate args. |
273 | 273 | $args = array( |
@@ -278,7 +278,7 @@ discard block |
||
278 | 278 | ) |
279 | 279 | ); |
280 | 280 | |
281 | - return $this->post( $args, false ); |
|
281 | + return $this->post($args, false); |
|
282 | 282 | |
283 | 283 | } |
284 | 284 | |
@@ -291,7 +291,7 @@ discard block |
||
291 | 291 | * @link https://developer.authorize.net/api/reference/index.html#payment-transactions-charge-a-customer-profile |
292 | 292 | * @return WP_Error|object |
293 | 293 | */ |
294 | - public function charge_customer_payment_profile( $customer_profile_id, $payment_profile_id, $invoice ) { |
|
294 | + public function charge_customer_payment_profile($customer_profile_id, $payment_profile_id, $invoice) { |
|
295 | 295 | |
296 | 296 | // Generate args. |
297 | 297 | $args = array( |
@@ -311,28 +311,28 @@ discard block |
||
311 | 311 | ) |
312 | 312 | ), |
313 | 313 | 'order' => array( |
314 | - 'invoiceNumber' => getpaid_limit_length( $invoice->get_number(), 20 ), |
|
314 | + 'invoiceNumber' => getpaid_limit_length($invoice->get_number(), 20), |
|
315 | 315 | ), |
316 | - 'lineItems' => array( 'lineItem' => $this->get_line_items( $invoice ) ), |
|
316 | + 'lineItems' => array('lineItem' => $this->get_line_items($invoice)), |
|
317 | 317 | 'tax' => array( |
318 | 318 | 'amount' => $invoice->get_total_tax(), |
319 | - 'name' => __( 'TAX', 'invoicing' ), |
|
319 | + 'name' => __('TAX', 'invoicing'), |
|
320 | 320 | ), |
321 | - 'poNumber' => getpaid_limit_length( $invoice->get_number(), 25 ), |
|
321 | + 'poNumber' => getpaid_limit_length($invoice->get_number(), 25), |
|
322 | 322 | 'customer' => array( |
323 | - 'id' => getpaid_limit_length( $invoice->get_user_id(), 25 ), |
|
324 | - 'email' => getpaid_limit_length( $invoice->get_email(), 25 ), |
|
323 | + 'id' => getpaid_limit_length($invoice->get_user_id(), 25), |
|
324 | + 'email' => getpaid_limit_length($invoice->get_email(), 25), |
|
325 | 325 | ), |
326 | 326 | 'customerIP' => $invoice->get_ip(), |
327 | 327 | ) |
328 | 328 | ) |
329 | 329 | ); |
330 | 330 | |
331 | - if ( 0 == $invoice->get_total_tax() ) { |
|
332 | - unset( $args['createTransactionRequest']['transactionRequest']['tax'] ); |
|
331 | + if (0 == $invoice->get_total_tax()) { |
|
332 | + unset($args['createTransactionRequest']['transactionRequest']['tax']); |
|
333 | 333 | } |
334 | 334 | |
335 | - return $this->post( apply_filters( 'getpaid_authorizenet_charge_customer_payment_profile_args', $args, $invoice ), $invoice ); |
|
335 | + return $this->post(apply_filters('getpaid_authorizenet_charge_customer_payment_profile_args', $args, $invoice), $invoice); |
|
336 | 336 | |
337 | 337 | } |
338 | 338 | |
@@ -342,29 +342,29 @@ discard block |
||
342 | 342 | * @param stdClass $result Api response. |
343 | 343 | * @param WPInv_Invoice $invoice Invoice. |
344 | 344 | */ |
345 | - public function process_charge_response( $result, $invoice ) { |
|
345 | + public function process_charge_response($result, $invoice) { |
|
346 | 346 | |
347 | 347 | wpinv_clear_errors(); |
348 | 348 | $response_code = (int) $result->transactionResponse->responseCode; |
349 | 349 | |
350 | 350 | // Succeeded. |
351 | - if ( 1 == $response_code || 4 == $response_code ) { |
|
351 | + if (1 == $response_code || 4 == $response_code) { |
|
352 | 352 | |
353 | 353 | // Maybe set a transaction id. |
354 | - if ( ! empty( $result->transactionResponse->transId ) ) { |
|
355 | - $invoice->set_transaction_id( $result->transactionResponse->transId ); |
|
354 | + if (!empty($result->transactionResponse->transId)) { |
|
355 | + $invoice->set_transaction_id($result->transactionResponse->transId); |
|
356 | 356 | } |
357 | 357 | |
358 | - $invoice->add_note( sprintf( __( 'Authentication code: %s (%s).', 'invoicing' ), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber ), false, false, true ); |
|
358 | + $invoice->add_note(sprintf(__('Authentication code: %s (%s).', 'invoicing'), $result->transactionResponse->authCode, $result->transactionResponse->accountNumber), false, false, true); |
|
359 | 359 | |
360 | - if ( 1 == $response_code ) { |
|
360 | + if (1 == $response_code) { |
|
361 | 361 | return $invoice->mark_paid(); |
362 | 362 | } |
363 | 363 | |
364 | - $invoice->set_status( 'wpi-onhold' ); |
|
364 | + $invoice->set_status('wpi-onhold'); |
|
365 | 365 | $invoice->add_note( |
366 | 366 | sprintf( |
367 | - __( 'Held for review: %s', 'invoicing' ), |
|
367 | + __('Held for review: %s', 'invoicing'), |
|
368 | 368 | $result->transactionResponse->messages->message[0]->description |
369 | 369 | ) |
370 | 370 | ); |
@@ -373,11 +373,11 @@ discard block |
||
373 | 373 | |
374 | 374 | } |
375 | 375 | |
376 | - wpinv_set_error( 'card_declined', __( 'Credit card declined.', 'invoicing' ) ); |
|
376 | + wpinv_set_error('card_declined', __('Credit card declined.', 'invoicing')); |
|
377 | 377 | |
378 | - if ( ! empty( $result->transactionResponse->errors ) ) { |
|
378 | + if (!empty($result->transactionResponse->errors)) { |
|
379 | 379 | $errors = (object) $result->transactionResponse->errors; |
380 | - wpinv_set_error( $errors->error[0]->errorCode, esc_html( $errors->error[0]->errorText ) ); |
|
380 | + wpinv_set_error($errors->error[0]->errorCode, esc_html($errors->error[0]->errorText)); |
|
381 | 381 | } |
382 | 382 | |
383 | 383 | } |
@@ -389,10 +389,10 @@ discard block |
||
389 | 389 | * @param array $card Card details. |
390 | 390 | * @return array |
391 | 391 | */ |
392 | - public function get_payment_information( $card ) { |
|
392 | + public function get_payment_information($card) { |
|
393 | 393 | return array( |
394 | 394 | |
395 | - 'creditCard' => array ( |
|
395 | + 'creditCard' => array( |
|
396 | 396 | 'cardNumber' => $card['cc_number'], |
397 | 397 | 'expirationDate' => $card['cc_expire_year'] . '-' . $card['cc_expire_month'], |
398 | 398 | 'cardCode' => $card['cc_cvv2'], |
@@ -408,8 +408,8 @@ discard block |
||
408 | 408 | * @param WPInv_Invoice $invoice Invoice. |
409 | 409 | * @return string |
410 | 410 | */ |
411 | - public function get_customer_profile_meta_name( $invoice ) { |
|
412 | - return $this->is_sandbox( $invoice ) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id'; |
|
411 | + public function get_customer_profile_meta_name($invoice) { |
|
412 | + return $this->is_sandbox($invoice) ? 'getpaid_authorizenet_sandbox_customer_profile_id' : 'getpaid_authorizenet_customer_profile_id'; |
|
413 | 413 | } |
414 | 414 | |
415 | 415 | /** |
@@ -420,34 +420,34 @@ discard block |
||
420 | 420 | * @param WPInv_Invoice $invoice |
421 | 421 | * @return WP_Error|string The payment profile id |
422 | 422 | */ |
423 | - public function validate_submission_data( $submission_data, $invoice ) { |
|
423 | + public function validate_submission_data($submission_data, $invoice) { |
|
424 | 424 | |
425 | 425 | // Validate authentication details. |
426 | 426 | $auth = $this->get_auth_params(); |
427 | 427 | |
428 | - if ( empty( $auth['name'] ) || empty( $auth['transactionKey'] ) ) { |
|
429 | - return new WP_Error( 'invalid_settings', __( 'Please set-up your login id and transaction key before using this gateway.', 'invoicing') ); |
|
428 | + if (empty($auth['name']) || empty($auth['transactionKey'])) { |
|
429 | + return new WP_Error('invalid_settings', __('Please set-up your login id and transaction key before using this gateway.', 'invoicing')); |
|
430 | 430 | } |
431 | 431 | |
432 | 432 | // Validate the payment method. |
433 | - if ( empty( $submission_data['getpaid-authorizenet-payment-method'] ) ) { |
|
434 | - return new WP_Error( 'invalid_payment_method', __( 'Please select a different payment method or add a new card.', 'invoicing') ); |
|
433 | + if (empty($submission_data['getpaid-authorizenet-payment-method'])) { |
|
434 | + return new WP_Error('invalid_payment_method', __('Please select a different payment method or add a new card.', 'invoicing')); |
|
435 | 435 | } |
436 | 436 | |
437 | 437 | // Are we adding a new payment method? |
438 | - if ( 'new' != $submission_data['getpaid-authorizenet-payment-method'] ) { |
|
438 | + if ('new' != $submission_data['getpaid-authorizenet-payment-method']) { |
|
439 | 439 | return $submission_data['getpaid-authorizenet-payment-method']; |
440 | 440 | } |
441 | 441 | |
442 | 442 | // Retrieve the customer profile id. |
443 | - $profile_id = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true ); |
|
443 | + $profile_id = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true); |
|
444 | 444 | |
445 | 445 | // Create payment method. |
446 | - if ( empty( $profile_id ) ) { |
|
447 | - return $this->create_customer_profile( $invoice, $submission_data, ! empty( $submission_data['getpaid-authorizenet-new-payment-method'] ) ); |
|
446 | + if (empty($profile_id)) { |
|
447 | + return $this->create_customer_profile($invoice, $submission_data, !empty($submission_data['getpaid-authorizenet-new-payment-method'])); |
|
448 | 448 | } |
449 | 449 | |
450 | - return $this->create_customer_payment_profile( $profile_id, $invoice, $submission_data, ! empty( $submission_data['getpaid-authorizenet-new-payment-method'] ) ); |
|
450 | + return $this->create_customer_payment_profile($profile_id, $invoice, $submission_data, !empty($submission_data['getpaid-authorizenet-new-payment-method'])); |
|
451 | 451 | |
452 | 452 | } |
453 | 453 | |
@@ -458,16 +458,16 @@ discard block |
||
458 | 458 | * @param WPInv_Invoice $invoice Invoice. |
459 | 459 | * @return array |
460 | 460 | */ |
461 | - public function get_line_items( $invoice ) { |
|
461 | + public function get_line_items($invoice) { |
|
462 | 462 | $items = array(); |
463 | 463 | |
464 | - foreach ( $invoice->get_items() as $item ) { |
|
464 | + foreach ($invoice->get_items() as $item) { |
|
465 | 465 | |
466 | 466 | $amount = $invoice->is_renewal() ? $item->get_price() : $item->get_initial_price(); |
467 | 467 | $items[] = array( |
468 | - 'itemId' => getpaid_limit_length( $item->get_id(), 31 ), |
|
469 | - 'name' => getpaid_limit_length( $item->get_raw_name(), 31 ), |
|
470 | - 'description' => getpaid_limit_length( $item->get_description(), 255 ), |
|
468 | + 'itemId' => getpaid_limit_length($item->get_id(), 31), |
|
469 | + 'name' => getpaid_limit_length($item->get_raw_name(), 31), |
|
470 | + 'description' => getpaid_limit_length($item->get_description(), 255), |
|
471 | 471 | 'quantity' => (string) $invoice->get_template() == 'amount' ? 1 : $item->get_quantity(), |
472 | 472 | 'unitPrice' => (float) $amount, |
473 | 473 | 'taxable' => wpinv_use_taxes() && $invoice->is_taxable() && 'tax-exempt' != $item->get_vat_rule(), |
@@ -475,15 +475,15 @@ discard block |
||
475 | 475 | |
476 | 476 | } |
477 | 477 | |
478 | - foreach ( $invoice->get_fees() as $fee_name => $fee ) { |
|
478 | + foreach ($invoice->get_fees() as $fee_name => $fee) { |
|
479 | 479 | |
480 | - $amount = $invoice->is_renewal() ? $fee['recurring_fee'] : $fee['initial_fee']; |
|
480 | + $amount = $invoice->is_renewal() ? $fee['recurring_fee'] : $fee['initial_fee']; |
|
481 | 481 | |
482 | - if ( $amount > 0 ) { |
|
482 | + if ($amount > 0) { |
|
483 | 483 | $items[] = array( |
484 | - 'itemId' => getpaid_limit_length( $fee_name, 31 ), |
|
485 | - 'name' => getpaid_limit_length( $fee_name, 31 ), |
|
486 | - 'description' => getpaid_limit_length( $fee_name, 255 ), |
|
484 | + 'itemId' => getpaid_limit_length($fee_name, 31), |
|
485 | + 'name' => getpaid_limit_length($fee_name, 31), |
|
486 | + 'description' => getpaid_limit_length($fee_name, 255), |
|
487 | 487 | 'quantity' => '1', |
488 | 488 | 'unitPrice' => (float) $amount, |
489 | 489 | 'taxable' => false, |
@@ -504,36 +504,36 @@ discard block |
||
504 | 504 | * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
505 | 505 | * @return array |
506 | 506 | */ |
507 | - public function process_payment( $invoice, $submission_data, $submission ) { |
|
507 | + public function process_payment($invoice, $submission_data, $submission) { |
|
508 | 508 | |
509 | 509 | // Validate the submitted data. |
510 | - $payment_profile_id = $this->validate_submission_data( $submission_data, $invoice ); |
|
510 | + $payment_profile_id = $this->validate_submission_data($submission_data, $invoice); |
|
511 | 511 | |
512 | 512 | // Do we have an error? |
513 | - if ( is_wp_error( $payment_profile_id ) ) { |
|
514 | - wpinv_set_error( $payment_profile_id->get_error_code(), $payment_profile_id->get_error_message() ); |
|
515 | - wpinv_send_back_to_checkout( $invoice ); |
|
513 | + if (is_wp_error($payment_profile_id)) { |
|
514 | + wpinv_set_error($payment_profile_id->get_error_code(), $payment_profile_id->get_error_message()); |
|
515 | + wpinv_send_back_to_checkout($invoice); |
|
516 | 516 | } |
517 | 517 | |
518 | 518 | // Save the payment method to the order. |
519 | - update_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', $payment_profile_id ); |
|
519 | + update_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', $payment_profile_id); |
|
520 | 520 | |
521 | 521 | // Check if this is a subscription or not. |
522 | - $subscription = getpaid_get_invoice_subscription( $invoice ); |
|
523 | - if ( ! empty( $subscription ) ) { |
|
524 | - $this->process_subscription( $invoice, $subscription ); |
|
522 | + $subscription = getpaid_get_invoice_subscription($invoice); |
|
523 | + if (!empty($subscription)) { |
|
524 | + $this->process_subscription($invoice, $subscription); |
|
525 | 525 | } |
526 | 526 | |
527 | 527 | // If it is free, send to the success page. |
528 | - if ( ! $invoice->needs_payment() ) { |
|
528 | + if (!$invoice->needs_payment()) { |
|
529 | 529 | $invoice->mark_paid(); |
530 | - wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) ); |
|
530 | + wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key())); |
|
531 | 531 | } |
532 | 532 | |
533 | 533 | // Charge the payment profile. |
534 | - $this->process_initial_payment( $invoice ); |
|
534 | + $this->process_initial_payment($invoice); |
|
535 | 535 | |
536 | - wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) ); |
|
536 | + wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key())); |
|
537 | 537 | |
538 | 538 | exit; |
539 | 539 | |
@@ -544,23 +544,23 @@ discard block |
||
544 | 544 | * |
545 | 545 | * @param WPInv_Invoice $invoice Invoice. |
546 | 546 | */ |
547 | - protected function process_initial_payment( $invoice ) { |
|
547 | + protected function process_initial_payment($invoice) { |
|
548 | 548 | |
549 | - $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true ); |
|
550 | - $customer_profile = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true ); |
|
551 | - $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice ); |
|
549 | + $payment_profile_id = get_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', true); |
|
550 | + $customer_profile = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true); |
|
551 | + $result = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $invoice); |
|
552 | 552 | |
553 | 553 | // Do we have an error? |
554 | - if ( is_wp_error( $result ) ) { |
|
555 | - wpinv_set_error( $result->get_error_code(), $result->get_error_message() ); |
|
556 | - wpinv_send_back_to_checkout( $invoice ); |
|
554 | + if (is_wp_error($result)) { |
|
555 | + wpinv_set_error($result->get_error_code(), $result->get_error_message()); |
|
556 | + wpinv_send_back_to_checkout($invoice); |
|
557 | 557 | } |
558 | 558 | |
559 | 559 | // Process the response. |
560 | - $this->process_charge_response( $result, $invoice ); |
|
560 | + $this->process_charge_response($result, $invoice); |
|
561 | 561 | |
562 | - if ( wpinv_get_errors() ) { |
|
563 | - wpinv_send_back_to_checkout( $invoice ); |
|
562 | + if (wpinv_get_errors()) { |
|
563 | + wpinv_send_back_to_checkout($invoice); |
|
564 | 564 | } |
565 | 565 | |
566 | 566 | } |
@@ -571,24 +571,24 @@ discard block |
||
571 | 571 | * @param WPInv_Invoice $invoice Invoice. |
572 | 572 | * @param WPInv_Subscription $subscription Subscription. |
573 | 573 | */ |
574 | - public function process_subscription( $invoice, $subscription ) { |
|
574 | + public function process_subscription($invoice, $subscription) { |
|
575 | 575 | |
576 | 576 | // Check if there is an initial amount to charge. |
577 | - if ( (float) $invoice->get_total() > 0 ) { |
|
578 | - $this->process_initial_payment( $invoice ); |
|
577 | + if ((float) $invoice->get_total() > 0) { |
|
578 | + $this->process_initial_payment($invoice); |
|
579 | 579 | } |
580 | 580 | |
581 | 581 | // Activate the subscription. |
582 | - $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() ); |
|
583 | - $expiry = date( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) ); |
|
582 | + $duration = strtotime($subscription->get_expiration()) - strtotime($subscription->get_date_created()); |
|
583 | + $expiry = date('Y-m-d H:i:s', (current_time('timestamp') + $duration)); |
|
584 | 584 | |
585 | - $subscription->set_next_renewal_date( $expiry ); |
|
586 | - $subscription->set_date_created( current_time( 'mysql' ) ); |
|
587 | - $subscription->set_profile_id( $invoice->generate_key() ); |
|
585 | + $subscription->set_next_renewal_date($expiry); |
|
586 | + $subscription->set_date_created(current_time('mysql')); |
|
587 | + $subscription->set_profile_id($invoice->generate_key()); |
|
588 | 588 | $subscription->activate(); |
589 | 589 | |
590 | 590 | // Redirect to the success page. |
591 | - wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) ); |
|
591 | + wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key())); |
|
592 | 592 | |
593 | 593 | } |
594 | 594 | |
@@ -599,20 +599,20 @@ discard block |
||
599 | 599 | * @param bool $should_expire |
600 | 600 | * @param WPInv_Subscription $subscription |
601 | 601 | */ |
602 | - public function maybe_renew_subscription( $should_expire, $subscription ) { |
|
602 | + public function maybe_renew_subscription($should_expire, $subscription) { |
|
603 | 603 | |
604 | 604 | // Ensure its our subscription && it's active. |
605 | - if ( $this->id != $subscription->get_gateway() || ! $subscription->has_status( 'active trialling' ) ) { |
|
605 | + if ($this->id != $subscription->get_gateway() || !$subscription->has_status('active trialling')) { |
|
606 | 606 | return $should_expire; |
607 | 607 | } |
608 | 608 | |
609 | 609 | // If this is the last renewal, complete the subscription. |
610 | - if ( $subscription->is_last_renewal() ) { |
|
610 | + if ($subscription->is_last_renewal()) { |
|
611 | 611 | $subscription->complete(); |
612 | 612 | return false; |
613 | 613 | } |
614 | 614 | |
615 | - $this->renew_subscription( $subscription ); |
|
615 | + $this->renew_subscription($subscription); |
|
616 | 616 | |
617 | 617 | return false; |
618 | 618 | |
@@ -623,28 +623,28 @@ discard block |
||
623 | 623 | * |
624 | 624 | * @param WPInv_Subscription $subscription |
625 | 625 | */ |
626 | - public function renew_subscription( $subscription ) { |
|
626 | + public function renew_subscription($subscription) { |
|
627 | 627 | |
628 | 628 | // Generate the renewal invoice. |
629 | 629 | $new_invoice = $subscription->create_payment(); |
630 | 630 | $old_invoice = $subscription->get_parent_payment(); |
631 | 631 | |
632 | - if ( empty( $new_invoice ) ) { |
|
633 | - $old_invoice->add_note( __( 'Error generating a renewal invoice.', 'invoicing' ), false, false, false ); |
|
632 | + if (empty($new_invoice)) { |
|
633 | + $old_invoice->add_note(__('Error generating a renewal invoice.', 'invoicing'), false, false, false); |
|
634 | 634 | $subscription->failing(); |
635 | 635 | return; |
636 | 636 | } |
637 | 637 | |
638 | 638 | // Charge the payment method. |
639 | - $payment_profile_id = get_post_meta( $old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true ); |
|
640 | - $customer_profile = get_user_meta( $old_invoice->get_user_id(), $this->get_customer_profile_meta_name( $old_invoice ), true ); |
|
641 | - $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $new_invoice ); |
|
639 | + $payment_profile_id = get_post_meta($old_invoice->get_id(), 'getpaid_authorizenet_profile_id', true); |
|
640 | + $customer_profile = get_user_meta($old_invoice->get_user_id(), $this->get_customer_profile_meta_name($old_invoice), true); |
|
641 | + $result = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $new_invoice); |
|
642 | 642 | |
643 | 643 | // Do we have an error? |
644 | - if ( is_wp_error( $result ) ) { |
|
644 | + if (is_wp_error($result)) { |
|
645 | 645 | |
646 | 646 | $old_invoice->add_note( |
647 | - sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), $result->get_error_message() ), |
|
647 | + sprintf(__('Error renewing subscription : ( %s ).', 'invoicing'), $result->get_error_message()), |
|
648 | 648 | true, |
649 | 649 | false, |
650 | 650 | true |
@@ -655,12 +655,12 @@ discard block |
||
655 | 655 | } |
656 | 656 | |
657 | 657 | // Process the response. |
658 | - $this->process_charge_response( $result, $new_invoice ); |
|
658 | + $this->process_charge_response($result, $new_invoice); |
|
659 | 659 | |
660 | - if ( wpinv_get_errors() ) { |
|
660 | + if (wpinv_get_errors()) { |
|
661 | 661 | |
662 | 662 | $old_invoice->add_note( |
663 | - sprintf( __( 'Error renewing subscription : ( %s ).', 'invoicing' ), getpaid_get_errors_html() ), |
|
663 | + sprintf(__('Error renewing subscription : ( %s ).', 'invoicing'), getpaid_get_errors_html()), |
|
664 | 664 | true, |
665 | 665 | false, |
666 | 666 | true |
@@ -670,7 +670,7 @@ discard block |
||
670 | 670 | |
671 | 671 | } |
672 | 672 | |
673 | - $subscription->add_payment( array(), $new_invoice ); |
|
673 | + $subscription->add_payment(array(), $new_invoice); |
|
674 | 674 | $subscription->renew(); |
675 | 675 | } |
676 | 676 | |
@@ -681,34 +681,34 @@ discard block |
||
681 | 681 | * @param GetPaid_Form_Item[] $items |
682 | 682 | * @return WPInv_Invoice |
683 | 683 | */ |
684 | - public function process_addons( $invoice, $items ) { |
|
684 | + public function process_addons($invoice, $items) { |
|
685 | 685 | |
686 | 686 | global $getpaid_authorize_addons; |
687 | 687 | |
688 | 688 | $getpaid_authorize_addons = array(); |
689 | - foreach ( $items as $item ) { |
|
689 | + foreach ($items as $item) { |
|
690 | 690 | |
691 | - if ( is_null( $invoice->get_item( $item->get_id() ) ) && ! is_wp_error( $invoice->add_item( $item ) ) ) { |
|
691 | + if (is_null($invoice->get_item($item->get_id())) && !is_wp_error($invoice->add_item($item))) { |
|
692 | 692 | $getpaid_authorize_addons[] = $item; |
693 | 693 | } |
694 | 694 | |
695 | 695 | } |
696 | 696 | |
697 | - if ( empty( $getpaid_authorize_addons ) ) { |
|
697 | + if (empty($getpaid_authorize_addons)) { |
|
698 | 698 | return; |
699 | 699 | } |
700 | 700 | |
701 | 701 | $invoice->recalculate_total(); |
702 | 702 | |
703 | - $payment_profile_id = get_post_meta( $invoice->get_id(), 'getpaid_authorizenet_profile_id', true ); |
|
704 | - $customer_profile = get_user_meta( $invoice->get_user_id(), $this->get_customer_profile_meta_name( $invoice ), true ); |
|
703 | + $payment_profile_id = get_post_meta($invoice->get_id(), 'getpaid_authorizenet_profile_id', true); |
|
704 | + $customer_profile = get_user_meta($invoice->get_user_id(), $this->get_customer_profile_meta_name($invoice), true); |
|
705 | 705 | |
706 | - add_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ), 10, 2 ); |
|
707 | - $result = $this->charge_customer_payment_profile( $customer_profile, $payment_profile_id, $invoice ); |
|
708 | - remove_filter( 'getpaid_authorizenet_charge_customer_payment_profile_args', array( $this, 'filter_addons_request' ) ); |
|
706 | + add_filter('getpaid_authorizenet_charge_customer_payment_profile_args', array($this, 'filter_addons_request'), 10, 2); |
|
707 | + $result = $this->charge_customer_payment_profile($customer_profile, $payment_profile_id, $invoice); |
|
708 | + remove_filter('getpaid_authorizenet_charge_customer_payment_profile_args', array($this, 'filter_addons_request')); |
|
709 | 709 | |
710 | - if ( is_wp_error( $result ) ) { |
|
711 | - wpinv_set_error( $result->get_error_code(), $result->get_error_message() ); |
|
710 | + if (is_wp_error($result)) { |
|
711 | + wpinv_set_error($result->get_error_code(), $result->get_error_message()); |
|
712 | 712 | return; |
713 | 713 | } |
714 | 714 | |
@@ -721,19 +721,19 @@ discard block |
||
721 | 721 | * @param array $args |
722 | 722 | * @return array |
723 | 723 | */ |
724 | - public function filter_addons_request( $args ) { |
|
724 | + public function filter_addons_request($args) { |
|
725 | 725 | |
726 | 726 | global $getpaid_authorize_addons; |
727 | 727 | $total = 0; |
728 | 728 | |
729 | - foreach ( $getpaid_authorize_addons as $addon ) { |
|
729 | + foreach ($getpaid_authorize_addons as $addon) { |
|
730 | 730 | $total += $addon->get_sub_total(); |
731 | 731 | } |
732 | 732 | |
733 | 733 | $args['createTransactionRequest']['transactionRequest']['amount'] = $total; |
734 | 734 | |
735 | - if ( isset( $args['createTransactionRequest']['transactionRequest']['tax'] ) ) { |
|
736 | - unset( $args['createTransactionRequest']['transactionRequest']['tax'] ); |
|
735 | + if (isset($args['createTransactionRequest']['transactionRequest']['tax'])) { |
|
736 | + unset($args['createTransactionRequest']['transactionRequest']['tax']); |
|
737 | 737 | } |
738 | 738 | |
739 | 739 | return $args; |
@@ -746,7 +746,7 @@ discard block |
||
746 | 746 | public function sandbox_notice() { |
747 | 747 | |
748 | 748 | return sprintf( |
749 | - __( 'SANDBOX ENABLED. You can use sandbox testing details only. See the %sAuthorize.NET Sandbox Testing Guide%s for more details.', 'invoicing' ), |
|
749 | + __('SANDBOX ENABLED. You can use sandbox testing details only. See the %sAuthorize.NET Sandbox Testing Guide%s for more details.', 'invoicing'), |
|
750 | 750 | '<a href="https://developer.authorize.net/hello_world/testing_guide.html">', |
751 | 751 | '</a>' |
752 | 752 | ); |
@@ -758,42 +758,42 @@ discard block |
||
758 | 758 | * |
759 | 759 | * @param array $admin_settings |
760 | 760 | */ |
761 | - public function admin_settings( $admin_settings ) { |
|
761 | + public function admin_settings($admin_settings) { |
|
762 | 762 | |
763 | 763 | $currencies = sprintf( |
764 | - __( 'Supported Currencies: %s', 'invoicing' ), |
|
765 | - implode( ', ', $this->currencies ) |
|
764 | + __('Supported Currencies: %s', 'invoicing'), |
|
765 | + implode(', ', $this->currencies) |
|
766 | 766 | ); |
767 | 767 | |
768 | 768 | $admin_settings['authorizenet_active']['desc'] .= " ($currencies)"; |
769 | - $admin_settings['authorizenet_desc']['std'] = __( 'Pay securely using your credit or debit card.', 'invoicing' ); |
|
769 | + $admin_settings['authorizenet_desc']['std'] = __('Pay securely using your credit or debit card.', 'invoicing'); |
|
770 | 770 | |
771 | 771 | $admin_settings['authorizenet_login_id'] = array( |
772 | 772 | 'type' => 'text', |
773 | 773 | 'id' => 'authorizenet_login_id', |
774 | - 'name' => __( 'API Login ID', 'invoicing' ), |
|
775 | - 'desc' => '<a href="https://support.authorize.net/s/article/How-do-I-obtain-my-API-Login-ID-and-Transaction-Key"><em>' . __( 'How do I obtain my API Login ID and Transaction Key?', 'invoicing' ) . '</em></a>', |
|
774 | + 'name' => __('API Login ID', 'invoicing'), |
|
775 | + 'desc' => '<a href="https://support.authorize.net/s/article/How-do-I-obtain-my-API-Login-ID-and-Transaction-Key"><em>' . __('How do I obtain my API Login ID and Transaction Key?', 'invoicing') . '</em></a>', |
|
776 | 776 | ); |
777 | 777 | |
778 | 778 | $admin_settings['authorizenet_transaction_key'] = array( |
779 | 779 | 'type' => 'text', |
780 | 780 | 'id' => 'authorizenet_transaction_key', |
781 | - 'name' => __( 'Transaction Key', 'invoicing' ), |
|
781 | + 'name' => __('Transaction Key', 'invoicing'), |
|
782 | 782 | ); |
783 | 783 | |
784 | 784 | $admin_settings['authorizenet_signature_key'] = array( |
785 | 785 | 'type' => 'text', |
786 | 786 | 'id' => 'authorizenet_signature_key', |
787 | - 'name' => __( 'Signature Key', 'invoicing' ), |
|
788 | - 'desc' => '<a href="https://support.authorize.net/s/article/What-is-a-Signature-Key"><em>' . __( 'Learn more.', 'invoicing' ) . '</em></a>', |
|
787 | + 'name' => __('Signature Key', 'invoicing'), |
|
788 | + 'desc' => '<a href="https://support.authorize.net/s/article/What-is-a-Signature-Key"><em>' . __('Learn more.', 'invoicing') . '</em></a>', |
|
789 | 789 | ); |
790 | 790 | |
791 | 791 | $admin_settings['authorizenet_ipn_url'] = array( |
792 | 792 | 'type' => 'ipn_url', |
793 | 793 | 'id' => 'authorizenet_ipn_url', |
794 | - 'name' => __( 'Webhook URL', 'invoicing' ), |
|
794 | + 'name' => __('Webhook URL', 'invoicing'), |
|
795 | 795 | 'std' => $this->notify_url, |
796 | - 'desc' => __( 'Create a new webhook using this URL as the endpoint URL and set it to receive all payment events.', 'invoicing' ) . ' <a href="https://support.authorize.net/s/article/How-do-I-add-edit-Webhook-notification-end-points"><em>' . __( 'Learn more.', 'invoicing' ) . '</em></a>', |
|
796 | + 'desc' => __('Create a new webhook using this URL as the endpoint URL and set it to receive all payment events.', 'invoicing') . ' <a href="https://support.authorize.net/s/article/How-do-I-add-edit-Webhook-notification-end-points"><em>' . __('Learn more.', 'invoicing') . '</em></a>', |
|
797 | 797 | 'custom' => 'authorizenet', |
798 | 798 | 'readonly' => true, |
799 | 799 | ); |
@@ -235,7 +235,7 @@ |
||
235 | 235 | do_action( 'getpaid_checkout_invoice_exception', $invoice ); |
236 | 236 | } |
237 | 237 | |
238 | - // Do we have any errors? |
|
238 | + // Do we have any errors? |
|
239 | 239 | if ( wpinv_get_errors() ) { |
240 | 240 | wp_send_json_error( getpaid_get_errors_html( true, false ) ); |
241 | 241 | } |
@@ -1,155 +1,155 @@ discard block |
||
1 | 1 | <?php |
2 | -function wpinv_is_subscription_payment( $invoice = '' ) { |
|
3 | - if ( empty( $invoice ) ) { |
|
2 | +function wpinv_is_subscription_payment($invoice = '') { |
|
3 | + if (empty($invoice)) { |
|
4 | 4 | return false; |
5 | 5 | } |
6 | 6 | |
7 | - if ( !is_object( $invoice ) && is_scalar( $invoice ) ) { |
|
8 | - $invoice = wpinv_get_invoice( $invoice ); |
|
7 | + if (!is_object($invoice) && is_scalar($invoice)) { |
|
8 | + $invoice = wpinv_get_invoice($invoice); |
|
9 | 9 | } |
10 | 10 | |
11 | - if ( empty( $invoice ) ) { |
|
11 | + if (empty($invoice)) { |
|
12 | 12 | return false; |
13 | 13 | } |
14 | 14 | |
15 | - if ( $invoice->is_renewal() ) { |
|
15 | + if ($invoice->is_renewal()) { |
|
16 | 16 | return true; |
17 | 17 | } |
18 | 18 | |
19 | 19 | return false; |
20 | 20 | } |
21 | 21 | |
22 | -function wpinv_payment_link_transaction_id( $invoice = '' ) { |
|
23 | - if ( empty( $invoice ) ) { |
|
22 | +function wpinv_payment_link_transaction_id($invoice = '') { |
|
23 | + if (empty($invoice)) { |
|
24 | 24 | return false; |
25 | 25 | } |
26 | 26 | |
27 | - if ( !is_object( $invoice ) && is_scalar( $invoice ) ) { |
|
28 | - $invoice = wpinv_get_invoice( $invoice ); |
|
27 | + if (!is_object($invoice) && is_scalar($invoice)) { |
|
28 | + $invoice = wpinv_get_invoice($invoice); |
|
29 | 29 | } |
30 | 30 | |
31 | - if ( empty( $invoice ) ) { |
|
31 | + if (empty($invoice)) { |
|
32 | 32 | return false; |
33 | 33 | } |
34 | 34 | |
35 | - return apply_filters( 'wpinv_payment_details_transaction_id-' . $invoice->gateway, $invoice->get_transaction_id(), $invoice->ID, $invoice ); |
|
35 | + return apply_filters('wpinv_payment_details_transaction_id-' . $invoice->gateway, $invoice->get_transaction_id(), $invoice->ID, $invoice); |
|
36 | 36 | } |
37 | 37 | |
38 | -function wpinv_subscription_initial_payment_desc( $amount, $period, $interval, $trial_period = '', $trial_interval = 0 ) { |
|
39 | - $interval = (int)$interval > 0 ? (int)$interval : 1; |
|
38 | +function wpinv_subscription_initial_payment_desc($amount, $period, $interval, $trial_period = '', $trial_interval = 0) { |
|
39 | + $interval = (int) $interval > 0 ? (int) $interval : 1; |
|
40 | 40 | |
41 | - if ( $trial_interval > 0 && !empty( $trial_period ) ) { |
|
42 | - $amount = __( 'Free', 'invoicing' ); |
|
41 | + if ($trial_interval > 0 && !empty($trial_period)) { |
|
42 | + $amount = __('Free', 'invoicing'); |
|
43 | 43 | $interval = $trial_interval; |
44 | 44 | $period = $trial_period; |
45 | 45 | } |
46 | 46 | |
47 | 47 | $description = ''; |
48 | - switch ( $period ) { |
|
48 | + switch ($period) { |
|
49 | 49 | case 'D' : |
50 | 50 | case 'day' : |
51 | - $description = wp_sprintf( _n( '%s for the first day.', '%s for the first %d days.', $interval, 'invoicing' ), $amount, $interval ); |
|
51 | + $description = wp_sprintf(_n('%s for the first day.', '%s for the first %d days.', $interval, 'invoicing'), $amount, $interval); |
|
52 | 52 | break; |
53 | 53 | case 'W' : |
54 | 54 | case 'week' : |
55 | - $description = wp_sprintf( _n( '%s for the first week.', '%s for the first %d weeks.', $interval, 'invoicing' ), $amount, $interval ); |
|
55 | + $description = wp_sprintf(_n('%s for the first week.', '%s for the first %d weeks.', $interval, 'invoicing'), $amount, $interval); |
|
56 | 56 | break; |
57 | 57 | case 'M' : |
58 | 58 | case 'month' : |
59 | - $description = wp_sprintf( _n( '%s for the first month.', '%s for the first %d months.', $interval, 'invoicing' ), $amount, $interval ); |
|
59 | + $description = wp_sprintf(_n('%s for the first month.', '%s for the first %d months.', $interval, 'invoicing'), $amount, $interval); |
|
60 | 60 | break; |
61 | 61 | case 'Y' : |
62 | 62 | case 'year' : |
63 | - $description = wp_sprintf( _n( '%s for the first year.', '%s for the first %d years.', $interval, 'invoicing' ), $amount, $interval ); |
|
63 | + $description = wp_sprintf(_n('%s for the first year.', '%s for the first %d years.', $interval, 'invoicing'), $amount, $interval); |
|
64 | 64 | break; |
65 | 65 | } |
66 | 66 | |
67 | - return apply_filters( 'wpinv_subscription_initial_payment_desc', $description, $amount, $period, $interval, $trial_period, $trial_interval ); |
|
67 | + return apply_filters('wpinv_subscription_initial_payment_desc', $description, $amount, $period, $interval, $trial_period, $trial_interval); |
|
68 | 68 | } |
69 | 69 | |
70 | -function wpinv_subscription_recurring_payment_desc( $amount, $period, $interval, $bill_times = 0, $trial_period = '', $trial_interval = 0 ) { |
|
71 | - $interval = (int)$interval > 0 ? (int)$interval : 1; |
|
72 | - $bill_times = (int)$bill_times > 0 ? (int)$bill_times : 0; |
|
70 | +function wpinv_subscription_recurring_payment_desc($amount, $period, $interval, $bill_times = 0, $trial_period = '', $trial_interval = 0) { |
|
71 | + $interval = (int) $interval > 0 ? (int) $interval : 1; |
|
72 | + $bill_times = (int) $bill_times > 0 ? (int) $bill_times : 0; |
|
73 | 73 | |
74 | 74 | $description = ''; |
75 | - switch ( $period ) { |
|
75 | + switch ($period) { |
|
76 | 76 | case 'D' : |
77 | 77 | case 'day' : |
78 | - if ( (int)$bill_times > 0 ) { |
|
79 | - if ( $interval > 1 ) { |
|
80 | - if ( $bill_times > 1 ) { |
|
81 | - $description = wp_sprintf( __( '%s for each %d days, for %d installments.', 'invoicing' ), $amount, $interval, $bill_times ); |
|
78 | + if ((int) $bill_times > 0) { |
|
79 | + if ($interval > 1) { |
|
80 | + if ($bill_times > 1) { |
|
81 | + $description = wp_sprintf(__('%s for each %d days, for %d installments.', 'invoicing'), $amount, $interval, $bill_times); |
|
82 | 82 | } else { |
83 | - $description = wp_sprintf( __( '%s for %d days.', 'invoicing' ), $amount, $interval ); |
|
83 | + $description = wp_sprintf(__('%s for %d days.', 'invoicing'), $amount, $interval); |
|
84 | 84 | } |
85 | 85 | } else { |
86 | - $description = wp_sprintf( _n( '%s for one day.', '%s for each day, for %d installments.', $bill_times, 'invoicing' ), $amount, $bill_times ); |
|
86 | + $description = wp_sprintf(_n('%s for one day.', '%s for each day, for %d installments.', $bill_times, 'invoicing'), $amount, $bill_times); |
|
87 | 87 | } |
88 | 88 | } else { |
89 | - $description = wp_sprintf( _n( '%s for each day.', '%s for each %d days.', $interval, 'invoicing'), $amount, $interval ); |
|
89 | + $description = wp_sprintf(_n('%s for each day.', '%s for each %d days.', $interval, 'invoicing'), $amount, $interval); |
|
90 | 90 | } |
91 | 91 | break; |
92 | 92 | case 'W' : |
93 | 93 | case 'week' : |
94 | - if ( (int)$bill_times > 0 ) { |
|
95 | - if ( $interval > 1 ) { |
|
96 | - if ( $bill_times > 1 ) { |
|
97 | - $description = wp_sprintf( __( '%s for each %d weeks, for %d installments.', 'invoicing' ), $amount, $interval, $bill_times ); |
|
94 | + if ((int) $bill_times > 0) { |
|
95 | + if ($interval > 1) { |
|
96 | + if ($bill_times > 1) { |
|
97 | + $description = wp_sprintf(__('%s for each %d weeks, for %d installments.', 'invoicing'), $amount, $interval, $bill_times); |
|
98 | 98 | } else { |
99 | - $description = wp_sprintf( __( '%s for %d weeks.', 'invoicing' ), $amount, $interval ); |
|
99 | + $description = wp_sprintf(__('%s for %d weeks.', 'invoicing'), $amount, $interval); |
|
100 | 100 | } |
101 | 101 | } else { |
102 | - $description = wp_sprintf( _n( '%s for one week.', '%s for each week, for %d installments.', $bill_times, 'invoicing' ), $amount, $bill_times ); |
|
102 | + $description = wp_sprintf(_n('%s for one week.', '%s for each week, for %d installments.', $bill_times, 'invoicing'), $amount, $bill_times); |
|
103 | 103 | } |
104 | 104 | } else { |
105 | - $description = wp_sprintf( _n( '%s for each week.', '%s for each %d weeks.', $interval, 'invoicing' ), $amount, $interval ); |
|
105 | + $description = wp_sprintf(_n('%s for each week.', '%s for each %d weeks.', $interval, 'invoicing'), $amount, $interval); |
|
106 | 106 | } |
107 | 107 | break; |
108 | 108 | case 'M' : |
109 | 109 | case 'month' : |
110 | - if ( (int)$bill_times > 0 ) { |
|
111 | - if ( $interval > 1 ) { |
|
112 | - if ( $bill_times > 1 ) { |
|
113 | - $description = wp_sprintf( __( '%s for each %d months, for %d installments.', 'invoicing' ), $amount, $interval, $bill_times ); |
|
110 | + if ((int) $bill_times > 0) { |
|
111 | + if ($interval > 1) { |
|
112 | + if ($bill_times > 1) { |
|
113 | + $description = wp_sprintf(__('%s for each %d months, for %d installments.', 'invoicing'), $amount, $interval, $bill_times); |
|
114 | 114 | } else { |
115 | - $description = wp_sprintf( __( '%s for %d months.', 'invoicing' ), $amount, $interval ); |
|
115 | + $description = wp_sprintf(__('%s for %d months.', 'invoicing'), $amount, $interval); |
|
116 | 116 | } |
117 | 117 | } else { |
118 | - $description = wp_sprintf( _n( '%s for one month.', '%s for each month, for %d installments.', $bill_times, 'invoicing' ), $amount, $bill_times ); |
|
118 | + $description = wp_sprintf(_n('%s for one month.', '%s for each month, for %d installments.', $bill_times, 'invoicing'), $amount, $bill_times); |
|
119 | 119 | } |
120 | 120 | } else { |
121 | - $description = wp_sprintf( _n( '%s for each month.', '%s for each %d months.', $interval, 'invoicing' ), $amount, $interval ); |
|
121 | + $description = wp_sprintf(_n('%s for each month.', '%s for each %d months.', $interval, 'invoicing'), $amount, $interval); |
|
122 | 122 | } |
123 | 123 | break; |
124 | 124 | case 'Y' : |
125 | 125 | case 'year' : |
126 | - if ( (int)$bill_times > 0 ) { |
|
127 | - if ( $interval > 1 ) { |
|
128 | - if ( $bill_times > 1 ) { |
|
129 | - $description = wp_sprintf( __( '%s for each %d years, for %d installments.', 'invoicing' ), $amount, $interval, $bill_times ); |
|
126 | + if ((int) $bill_times > 0) { |
|
127 | + if ($interval > 1) { |
|
128 | + if ($bill_times > 1) { |
|
129 | + $description = wp_sprintf(__('%s for each %d years, for %d installments.', 'invoicing'), $amount, $interval, $bill_times); |
|
130 | 130 | } else { |
131 | - $description = wp_sprintf( __( '%s for %d years.', 'invoicing'), $amount, $interval ); |
|
131 | + $description = wp_sprintf(__('%s for %d years.', 'invoicing'), $amount, $interval); |
|
132 | 132 | } |
133 | 133 | } else { |
134 | - $description = wp_sprintf( _n( '%s for one year.', '%s for each year, for %d installments.', $bill_times, 'invoicing' ), $amount, $bill_times ); |
|
134 | + $description = wp_sprintf(_n('%s for one year.', '%s for each year, for %d installments.', $bill_times, 'invoicing'), $amount, $bill_times); |
|
135 | 135 | } |
136 | 136 | } else { |
137 | - $description = wp_sprintf( _n( '%s for each year.', '%s for each %d years.', $interval, 'invoicing' ), $amount, $interval ); |
|
137 | + $description = wp_sprintf(_n('%s for each year.', '%s for each %d years.', $interval, 'invoicing'), $amount, $interval); |
|
138 | 138 | } |
139 | 139 | break; |
140 | 140 | } |
141 | 141 | |
142 | - return apply_filters( 'wpinv_subscription_recurring_payment_desc', $description, $amount, $period, $interval, $bill_times, $trial_period, $trial_interval ); |
|
142 | + return apply_filters('wpinv_subscription_recurring_payment_desc', $description, $amount, $period, $interval, $bill_times, $trial_period, $trial_interval); |
|
143 | 143 | } |
144 | 144 | |
145 | -function wpinv_subscription_payment_desc( $invoice ) { |
|
146 | - if ( empty( $invoice ) ) { |
|
145 | +function wpinv_subscription_payment_desc($invoice) { |
|
146 | + if (empty($invoice)) { |
|
147 | 147 | return NULL; |
148 | 148 | } |
149 | 149 | |
150 | 150 | $description = ''; |
151 | - if ( $invoice->is_parent() && $item = $invoice->get_recurring( true ) ) { |
|
152 | - if ( $item->has_free_trial() ) { |
|
151 | + if ($invoice->is_parent() && $item = $invoice->get_recurring(true)) { |
|
152 | + if ($item->has_free_trial()) { |
|
153 | 153 | $trial_period = $item->get_trial_period(); |
154 | 154 | $trial_interval = $item->get_trial_interval(); |
155 | 155 | } else { |
@@ -157,40 +157,40 @@ discard block |
||
157 | 157 | $trial_interval = 0; |
158 | 158 | } |
159 | 159 | |
160 | - $description = wpinv_get_billing_cycle( $invoice->get_total(), $invoice->get_recurring_details( 'total' ), $item->get_recurring_period(), $item->get_recurring_interval(), $item->get_recurring_limit(), $trial_period, $trial_interval, $invoice->get_currency() ); |
|
160 | + $description = wpinv_get_billing_cycle($invoice->get_total(), $invoice->get_recurring_details('total'), $item->get_recurring_period(), $item->get_recurring_interval(), $item->get_recurring_limit(), $trial_period, $trial_interval, $invoice->get_currency()); |
|
161 | 161 | } |
162 | 162 | |
163 | - return apply_filters( 'wpinv_subscription_payment_desc', $description, $invoice ); |
|
163 | + return apply_filters('wpinv_subscription_payment_desc', $description, $invoice); |
|
164 | 164 | } |
165 | 165 | |
166 | -function wpinv_get_billing_cycle( $initial, $recurring, $period, $interval, $bill_times, $trial_period = '', $trial_interval = 0, $currency = '' ) { |
|
167 | - $initial_total = wpinv_round_amount( $initial ); |
|
168 | - $recurring_total = wpinv_round_amount( $recurring ); |
|
166 | +function wpinv_get_billing_cycle($initial, $recurring, $period, $interval, $bill_times, $trial_period = '', $trial_interval = 0, $currency = '') { |
|
167 | + $initial_total = wpinv_round_amount($initial); |
|
168 | + $recurring_total = wpinv_round_amount($recurring); |
|
169 | 169 | |
170 | - if ( $trial_interval > 0 && !empty( $trial_period ) ) { |
|
170 | + if ($trial_interval > 0 && !empty($trial_period)) { |
|
171 | 171 | // Free trial |
172 | 172 | } else { |
173 | - if ( $bill_times == 1 ) { |
|
173 | + if ($bill_times == 1) { |
|
174 | 174 | $recurring_total = $initial_total; |
175 | - } else if ( $bill_times > 1 && $initial_total != $recurring_total ) { |
|
175 | + } else if ($bill_times > 1 && $initial_total != $recurring_total) { |
|
176 | 176 | $bill_times--; |
177 | 177 | } |
178 | 178 | } |
179 | 179 | |
180 | - $initial_amount = wpinv_price( $initial_total, $currency ); |
|
181 | - $recurring_amount = wpinv_price( $recurring_total, $currency ); |
|
180 | + $initial_amount = wpinv_price($initial_total, $currency); |
|
181 | + $recurring_amount = wpinv_price($recurring_total, $currency); |
|
182 | 182 | |
183 | - $recurring = wpinv_subscription_recurring_payment_desc( $recurring_amount, $period, $interval, $bill_times, $trial_period, $trial_interval ); |
|
183 | + $recurring = wpinv_subscription_recurring_payment_desc($recurring_amount, $period, $interval, $bill_times, $trial_period, $trial_interval); |
|
184 | 184 | |
185 | - if ( $initial_total != $recurring_total ) { |
|
186 | - $initial = wpinv_subscription_initial_payment_desc( $initial_amount, $period, $interval, $trial_period, $trial_interval ); |
|
185 | + if ($initial_total != $recurring_total) { |
|
186 | + $initial = wpinv_subscription_initial_payment_desc($initial_amount, $period, $interval, $trial_period, $trial_interval); |
|
187 | 187 | |
188 | - $description = wp_sprintf( __( '%s Then %s', 'invoicing' ), $initial, $recurring ); |
|
188 | + $description = wp_sprintf(__('%s Then %s', 'invoicing'), $initial, $recurring); |
|
189 | 189 | } else { |
190 | 190 | $description = $recurring; |
191 | 191 | } |
192 | 192 | |
193 | - return apply_filters( 'wpinv_get_billing_cycle', $description, $initial, $recurring, $period, $interval, $bill_times, $trial_period, $trial_interval, $currency ); |
|
193 | + return apply_filters('wpinv_get_billing_cycle', $description, $initial, $recurring, $period, $interval, $bill_times, $trial_period, $trial_interval, $currency); |
|
194 | 194 | } |
195 | 195 | |
196 | 196 | /** |
@@ -200,27 +200,27 @@ discard block |
||
200 | 200 | * @param string $card_number Card number. |
201 | 201 | * @return string |
202 | 202 | */ |
203 | -function getpaid_get_card_name( $card_number ) { |
|
203 | +function getpaid_get_card_name($card_number) { |
|
204 | 204 | |
205 | 205 | // Known regexes. |
206 | 206 | $regexes = array( |
207 | - '/^4/' => __( 'Visa', 'invoicing' ), |
|
208 | - '/^5[1-5]/' => __( 'Mastercard', 'invoicing' ), |
|
209 | - '/^3[47]/' => __( 'Amex', 'invoicing' ), |
|
210 | - '/^3(?:0[0-5]|[68])/' => __( 'Diners Club', 'invoicing' ), |
|
211 | - '/^6(?:011|5)/' => __( 'Discover', 'invoicing' ), |
|
212 | - '/^(?:2131|1800|35\d{3})/' => __( 'JCB', 'invoicing' ), |
|
207 | + '/^4/' => __('Visa', 'invoicing'), |
|
208 | + '/^5[1-5]/' => __('Mastercard', 'invoicing'), |
|
209 | + '/^3[47]/' => __('Amex', 'invoicing'), |
|
210 | + '/^3(?:0[0-5]|[68])/' => __('Diners Club', 'invoicing'), |
|
211 | + '/^6(?:011|5)/' => __('Discover', 'invoicing'), |
|
212 | + '/^(?:2131|1800|35\d{3})/' => __('JCB', 'invoicing'), |
|
213 | 213 | ); |
214 | 214 | |
215 | 215 | // Confirm if one matches. |
216 | - foreach ( $regexes as $regex => $card ) { |
|
217 | - if ( preg_match ( $regex, $card_number ) >= 1 ) { |
|
216 | + foreach ($regexes as $regex => $card) { |
|
217 | + if (preg_match($regex, $card_number) >= 1) { |
|
218 | 218 | return $card; |
219 | 219 | } |
220 | 220 | } |
221 | 221 | |
222 | 222 | // None matched. |
223 | - return __( 'Card', 'invoicing' ); |
|
223 | + return __('Card', 'invoicing'); |
|
224 | 224 | |
225 | 225 | } |
226 | 226 | |
@@ -229,16 +229,16 @@ discard block |
||
229 | 229 | * |
230 | 230 | * @param WPInv_Invoice|int|null $invoice |
231 | 231 | */ |
232 | -function wpinv_send_back_to_checkout( $invoice = null ) { |
|
232 | +function wpinv_send_back_to_checkout($invoice = null) { |
|
233 | 233 | |
234 | - if ( ! empty( $invoice ) ) { |
|
235 | - do_action( 'getpaid_checkout_invoice_exception', $invoice ); |
|
234 | + if (!empty($invoice)) { |
|
235 | + do_action('getpaid_checkout_invoice_exception', $invoice); |
|
236 | 236 | } |
237 | 237 | |
238 | 238 | // Do we have any errors? |
239 | - if ( wpinv_get_errors() ) { |
|
240 | - wp_send_json_error( getpaid_get_errors_html( true, false ) ); |
|
239 | + if (wpinv_get_errors()) { |
|
240 | + wp_send_json_error(getpaid_get_errors_html(true, false)); |
|
241 | 241 | } |
242 | 242 | |
243 | - wp_send_json_error( __( 'An error occured while processing your payment. Please try again.', 'invoicing' ) ); |
|
243 | + wp_send_json_error(__('An error occured while processing your payment. Please try again.', 'invoicing')); |
|
244 | 244 | } |
@@ -14,70 +14,70 @@ discard block |
||
14 | 14 | class WPInv_Ajax { |
15 | 15 | |
16 | 16 | /** |
17 | - * Hook in ajax handlers. |
|
18 | - */ |
|
19 | - public static function init() { |
|
20 | - add_action( 'init', array( __CLASS__, 'define_ajax' ), 0 ); |
|
21 | - add_action( 'template_redirect', array( __CLASS__, 'do_wpinv_ajax' ), 0 ); |
|
22 | - self::add_ajax_events(); |
|
17 | + * Hook in ajax handlers. |
|
18 | + */ |
|
19 | + public static function init() { |
|
20 | + add_action( 'init', array( __CLASS__, 'define_ajax' ), 0 ); |
|
21 | + add_action( 'template_redirect', array( __CLASS__, 'do_wpinv_ajax' ), 0 ); |
|
22 | + self::add_ajax_events(); |
|
23 | 23 | } |
24 | 24 | |
25 | 25 | /** |
26 | - * Set GetPaid AJAX constant and headers. |
|
27 | - */ |
|
28 | - public static function define_ajax() { |
|
29 | - |
|
30 | - if ( ! empty( $_GET['wpinv-ajax'] ) ) { |
|
31 | - getpaid_maybe_define_constant( 'DOING_AJAX', true ); |
|
32 | - getpaid_maybe_define_constant( 'WPInv_DOING_AJAX', true ); |
|
33 | - if ( ! WP_DEBUG || ( WP_DEBUG && ! WP_DEBUG_DISPLAY ) ) { |
|
34 | - /** @scrutinizer ignore-unhandled */ @ini_set( 'display_errors', 0 ); |
|
35 | - } |
|
36 | - $GLOBALS['wpdb']->hide_errors(); |
|
37 | - } |
|
26 | + * Set GetPaid AJAX constant and headers. |
|
27 | + */ |
|
28 | + public static function define_ajax() { |
|
29 | + |
|
30 | + if ( ! empty( $_GET['wpinv-ajax'] ) ) { |
|
31 | + getpaid_maybe_define_constant( 'DOING_AJAX', true ); |
|
32 | + getpaid_maybe_define_constant( 'WPInv_DOING_AJAX', true ); |
|
33 | + if ( ! WP_DEBUG || ( WP_DEBUG && ! WP_DEBUG_DISPLAY ) ) { |
|
34 | + /** @scrutinizer ignore-unhandled */ @ini_set( 'display_errors', 0 ); |
|
35 | + } |
|
36 | + $GLOBALS['wpdb']->hide_errors(); |
|
37 | + } |
|
38 | 38 | |
39 | 39 | } |
40 | 40 | |
41 | 41 | /** |
42 | - * Send headers for GetPaid Ajax Requests. |
|
43 | - * |
|
44 | - * @since 1.0.18 |
|
45 | - */ |
|
46 | - private static function wpinv_ajax_headers() { |
|
47 | - if ( ! headers_sent() ) { |
|
48 | - send_origin_headers(); |
|
49 | - send_nosniff_header(); |
|
50 | - nocache_headers(); |
|
51 | - header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) ); |
|
52 | - header( 'X-Robots-Tag: noindex' ); |
|
53 | - status_header( 200 ); |
|
54 | - } |
|
42 | + * Send headers for GetPaid Ajax Requests. |
|
43 | + * |
|
44 | + * @since 1.0.18 |
|
45 | + */ |
|
46 | + private static function wpinv_ajax_headers() { |
|
47 | + if ( ! headers_sent() ) { |
|
48 | + send_origin_headers(); |
|
49 | + send_nosniff_header(); |
|
50 | + nocache_headers(); |
|
51 | + header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) ); |
|
52 | + header( 'X-Robots-Tag: noindex' ); |
|
53 | + status_header( 200 ); |
|
54 | + } |
|
55 | 55 | } |
56 | 56 | |
57 | 57 | /** |
58 | - * Check for GetPaid Ajax request and fire action. |
|
59 | - */ |
|
60 | - public static function do_wpinv_ajax() { |
|
61 | - global $wp_query; |
|
58 | + * Check for GetPaid Ajax request and fire action. |
|
59 | + */ |
|
60 | + public static function do_wpinv_ajax() { |
|
61 | + global $wp_query; |
|
62 | 62 | |
63 | - if ( ! empty( $_GET['wpinv-ajax'] ) ) { |
|
64 | - $wp_query->set( 'wpinv-ajax', sanitize_text_field( wp_unslash( $_GET['wpinv-ajax'] ) ) ); |
|
65 | - } |
|
63 | + if ( ! empty( $_GET['wpinv-ajax'] ) ) { |
|
64 | + $wp_query->set( 'wpinv-ajax', sanitize_text_field( wp_unslash( $_GET['wpinv-ajax'] ) ) ); |
|
65 | + } |
|
66 | 66 | |
67 | - $action = $wp_query->get( 'wpinv-ajax' ); |
|
67 | + $action = $wp_query->get( 'wpinv-ajax' ); |
|
68 | 68 | |
69 | - if ( $action ) { |
|
70 | - self::wpinv_ajax_headers(); |
|
71 | - $action = sanitize_text_field( $action ); |
|
72 | - do_action( 'wpinv_ajax_' . $action ); |
|
73 | - wp_die(); |
|
74 | - } |
|
69 | + if ( $action ) { |
|
70 | + self::wpinv_ajax_headers(); |
|
71 | + $action = sanitize_text_field( $action ); |
|
72 | + do_action( 'wpinv_ajax_' . $action ); |
|
73 | + wp_die(); |
|
74 | + } |
|
75 | 75 | |
76 | 76 | } |
77 | 77 | |
78 | 78 | /** |
79 | - * Hook in ajax methods. |
|
80 | - */ |
|
79 | + * Hook in ajax methods. |
|
80 | + */ |
|
81 | 81 | public static function add_ajax_events() { |
82 | 82 | |
83 | 83 | // array( 'event' => is_frontend ) |
@@ -255,24 +255,24 @@ discard block |
||
255 | 255 | check_ajax_referer( 'getpaid_form_nonce' ); |
256 | 256 | |
257 | 257 | // Is the request set up correctly? |
258 | - if ( empty( $_GET['form'] ) && empty( $_GET['item'] ) ) { |
|
259 | - echo aui()->alert( |
|
260 | - array( |
|
261 | - 'type' => 'warning', |
|
262 | - 'content' => __( 'No payment form or item provided', 'invoicing' ), |
|
263 | - ) |
|
258 | + if ( empty( $_GET['form'] ) && empty( $_GET['item'] ) ) { |
|
259 | + echo aui()->alert( |
|
260 | + array( |
|
261 | + 'type' => 'warning', |
|
262 | + 'content' => __( 'No payment form or item provided', 'invoicing' ), |
|
263 | + ) |
|
264 | 264 | ); |
265 | 265 | exit; |
266 | 266 | } |
267 | 267 | |
268 | 268 | // Payment form or button? |
269 | - if ( ! empty( $_GET['form'] ) ) { |
|
269 | + if ( ! empty( $_GET['form'] ) ) { |
|
270 | 270 | getpaid_display_payment_form( urldecode( $_GET['form'] ) ); |
271 | - } else if( ! empty( $_GET['invoice'] ) ) { |
|
272 | - getpaid_display_invoice_payment_form( urldecode( $_GET['invoice'] ) ); |
|
271 | + } else if( ! empty( $_GET['invoice'] ) ) { |
|
272 | + getpaid_display_invoice_payment_form( urldecode( $_GET['invoice'] ) ); |
|
273 | 273 | } else { |
274 | - $items = getpaid_convert_items_to_array( urldecode( $_GET['item'] ) ); |
|
275 | - getpaid_display_item_payment_form( $items ); |
|
274 | + $items = getpaid_convert_items_to_array( urldecode( $_GET['item'] ) ); |
|
275 | + getpaid_display_item_payment_form( $items ); |
|
276 | 276 | } |
277 | 277 | |
278 | 278 | exit; |
@@ -6,7 +6,7 @@ discard block |
||
6 | 6 | * @package Invoicing |
7 | 7 | */ |
8 | 8 | |
9 | -defined( 'ABSPATH' ) || exit; |
|
9 | +defined('ABSPATH') || exit; |
|
10 | 10 | |
11 | 11 | /** |
12 | 12 | * WPInv_Ajax class. |
@@ -17,8 +17,8 @@ discard block |
||
17 | 17 | * Hook in ajax handlers. |
18 | 18 | */ |
19 | 19 | public static function init() { |
20 | - add_action( 'init', array( __CLASS__, 'define_ajax' ), 0 ); |
|
21 | - add_action( 'template_redirect', array( __CLASS__, 'do_wpinv_ajax' ), 0 ); |
|
20 | + add_action('init', array(__CLASS__, 'define_ajax'), 0); |
|
21 | + add_action('template_redirect', array(__CLASS__, 'do_wpinv_ajax'), 0); |
|
22 | 22 | self::add_ajax_events(); |
23 | 23 | } |
24 | 24 | |
@@ -27,11 +27,11 @@ discard block |
||
27 | 27 | */ |
28 | 28 | public static function define_ajax() { |
29 | 29 | |
30 | - if ( ! empty( $_GET['wpinv-ajax'] ) ) { |
|
31 | - getpaid_maybe_define_constant( 'DOING_AJAX', true ); |
|
32 | - getpaid_maybe_define_constant( 'WPInv_DOING_AJAX', true ); |
|
33 | - if ( ! WP_DEBUG || ( WP_DEBUG && ! WP_DEBUG_DISPLAY ) ) { |
|
34 | - /** @scrutinizer ignore-unhandled */ @ini_set( 'display_errors', 0 ); |
|
30 | + if (!empty($_GET['wpinv-ajax'])) { |
|
31 | + getpaid_maybe_define_constant('DOING_AJAX', true); |
|
32 | + getpaid_maybe_define_constant('WPInv_DOING_AJAX', true); |
|
33 | + if (!WP_DEBUG || (WP_DEBUG && !WP_DEBUG_DISPLAY)) { |
|
34 | + /** @scrutinizer ignore-unhandled */ @ini_set('display_errors', 0); |
|
35 | 35 | } |
36 | 36 | $GLOBALS['wpdb']->hide_errors(); |
37 | 37 | } |
@@ -44,13 +44,13 @@ discard block |
||
44 | 44 | * @since 1.0.18 |
45 | 45 | */ |
46 | 46 | private static function wpinv_ajax_headers() { |
47 | - if ( ! headers_sent() ) { |
|
47 | + if (!headers_sent()) { |
|
48 | 48 | send_origin_headers(); |
49 | 49 | send_nosniff_header(); |
50 | 50 | nocache_headers(); |
51 | - header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) ); |
|
52 | - header( 'X-Robots-Tag: noindex' ); |
|
53 | - status_header( 200 ); |
|
51 | + header('Content-Type: text/html; charset=' . get_option('blog_charset')); |
|
52 | + header('X-Robots-Tag: noindex'); |
|
53 | + status_header(200); |
|
54 | 54 | } |
55 | 55 | } |
56 | 56 | |
@@ -60,16 +60,16 @@ discard block |
||
60 | 60 | public static function do_wpinv_ajax() { |
61 | 61 | global $wp_query; |
62 | 62 | |
63 | - if ( ! empty( $_GET['wpinv-ajax'] ) ) { |
|
64 | - $wp_query->set( 'wpinv-ajax', sanitize_text_field( wp_unslash( $_GET['wpinv-ajax'] ) ) ); |
|
63 | + if (!empty($_GET['wpinv-ajax'])) { |
|
64 | + $wp_query->set('wpinv-ajax', sanitize_text_field(wp_unslash($_GET['wpinv-ajax']))); |
|
65 | 65 | } |
66 | 66 | |
67 | - $action = $wp_query->get( 'wpinv-ajax' ); |
|
67 | + $action = $wp_query->get('wpinv-ajax'); |
|
68 | 68 | |
69 | - if ( $action ) { |
|
69 | + if ($action) { |
|
70 | 70 | self::wpinv_ajax_headers(); |
71 | - $action = sanitize_text_field( $action ); |
|
72 | - do_action( 'wpinv_ajax_' . $action ); |
|
71 | + $action = sanitize_text_field($action); |
|
72 | + do_action('wpinv_ajax_' . $action); |
|
73 | 73 | wp_die(); |
74 | 74 | } |
75 | 75 | |
@@ -101,36 +101,36 @@ discard block |
||
101 | 101 | 'payment_form_refresh_prices' => true, |
102 | 102 | ); |
103 | 103 | |
104 | - foreach ( $ajax_events as $ajax_event => $nopriv ) { |
|
105 | - add_action( 'wp_ajax_wpinv_' . $ajax_event, array( __CLASS__, $ajax_event ) ); |
|
106 | - add_action( 'wp_ajax_getpaid_' . $ajax_event, array( __CLASS__, $ajax_event ) ); |
|
104 | + foreach ($ajax_events as $ajax_event => $nopriv) { |
|
105 | + add_action('wp_ajax_wpinv_' . $ajax_event, array(__CLASS__, $ajax_event)); |
|
106 | + add_action('wp_ajax_getpaid_' . $ajax_event, array(__CLASS__, $ajax_event)); |
|
107 | 107 | |
108 | - if ( $nopriv ) { |
|
109 | - add_action( 'wp_ajax_nopriv_wpinv_' . $ajax_event, array( __CLASS__, $ajax_event ) ); |
|
110 | - add_action( 'wp_ajax_nopriv_getpaid_' . $ajax_event, array( __CLASS__, $ajax_event ) ); |
|
111 | - add_action( 'wpinv_ajax_' . $ajax_event, array( __CLASS__, $ajax_event ) ); |
|
108 | + if ($nopriv) { |
|
109 | + add_action('wp_ajax_nopriv_wpinv_' . $ajax_event, array(__CLASS__, $ajax_event)); |
|
110 | + add_action('wp_ajax_nopriv_getpaid_' . $ajax_event, array(__CLASS__, $ajax_event)); |
|
111 | + add_action('wpinv_ajax_' . $ajax_event, array(__CLASS__, $ajax_event)); |
|
112 | 112 | } |
113 | 113 | } |
114 | 114 | } |
115 | 115 | |
116 | 116 | public static function add_note() { |
117 | - check_ajax_referer( 'add-invoice-note', '_nonce' ); |
|
117 | + check_ajax_referer('add-invoice-note', '_nonce'); |
|
118 | 118 | |
119 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
119 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
120 | 120 | die(-1); |
121 | 121 | } |
122 | 122 | |
123 | - $post_id = absint( $_POST['post_id'] ); |
|
124 | - $note = wp_kses_post( trim( stripslashes( $_POST['note'] ) ) ); |
|
125 | - $note_type = sanitize_text_field( $_POST['note_type'] ); |
|
123 | + $post_id = absint($_POST['post_id']); |
|
124 | + $note = wp_kses_post(trim(stripslashes($_POST['note']))); |
|
125 | + $note_type = sanitize_text_field($_POST['note_type']); |
|
126 | 126 | |
127 | 127 | $is_customer_note = $note_type == 'customer' ? 1 : 0; |
128 | 128 | |
129 | - if ( $post_id > 0 ) { |
|
130 | - $note_id = wpinv_insert_payment_note( $post_id, $note, $is_customer_note ); |
|
129 | + if ($post_id > 0) { |
|
130 | + $note_id = wpinv_insert_payment_note($post_id, $note, $is_customer_note); |
|
131 | 131 | |
132 | - if ( $note_id > 0 && !is_wp_error( $note_id ) ) { |
|
133 | - wpinv_get_invoice_note_line_item( $note_id ); |
|
132 | + if ($note_id > 0 && !is_wp_error($note_id)) { |
|
133 | + wpinv_get_invoice_note_line_item($note_id); |
|
134 | 134 | } |
135 | 135 | } |
136 | 136 | |
@@ -138,16 +138,16 @@ discard block |
||
138 | 138 | } |
139 | 139 | |
140 | 140 | public static function delete_note() { |
141 | - check_ajax_referer( 'delete-invoice-note', '_nonce' ); |
|
141 | + check_ajax_referer('delete-invoice-note', '_nonce'); |
|
142 | 142 | |
143 | - if ( !wpinv_current_user_can_manage_invoicing() ) { |
|
143 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
144 | 144 | die(-1); |
145 | 145 | } |
146 | 146 | |
147 | - $note_id = (int)$_POST['note_id']; |
|
147 | + $note_id = (int) $_POST['note_id']; |
|
148 | 148 | |
149 | - if ( $note_id > 0 ) { |
|
150 | - wp_delete_comment( $note_id, true ); |
|
149 | + if ($note_id > 0) { |
|
150 | + wp_delete_comment($note_id, true); |
|
151 | 151 | } |
152 | 152 | |
153 | 153 | die(); |
@@ -165,34 +165,34 @@ discard block |
||
165 | 165 | public static function get_billing_details() { |
166 | 166 | |
167 | 167 | // Verify nonce. |
168 | - check_ajax_referer( 'wpinv-nonce' ); |
|
168 | + check_ajax_referer('wpinv-nonce'); |
|
169 | 169 | |
170 | 170 | // Can the user manage the plugin? |
171 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
171 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
172 | 172 | die(-1); |
173 | 173 | } |
174 | 174 | |
175 | 175 | // Do we have a user id? |
176 | 176 | $user_id = $_GET['user_id']; |
177 | 177 | |
178 | - if ( empty( $user_id ) || ! is_numeric( $user_id ) ) { |
|
178 | + if (empty($user_id) || !is_numeric($user_id)) { |
|
179 | 179 | die(-1); |
180 | 180 | } |
181 | 181 | |
182 | 182 | // Fetch the billing details. |
183 | - $billing_details = wpinv_get_user_address( $user_id ); |
|
184 | - $billing_details = apply_filters( 'wpinv_ajax_billing_details', $billing_details, $user_id ); |
|
183 | + $billing_details = wpinv_get_user_address($user_id); |
|
184 | + $billing_details = apply_filters('wpinv_ajax_billing_details', $billing_details, $user_id); |
|
185 | 185 | |
186 | 186 | // unset the user id and email. |
187 | - $to_ignore = array( 'user_id', 'email' ); |
|
187 | + $to_ignore = array('user_id', 'email'); |
|
188 | 188 | |
189 | - foreach ( $to_ignore as $key ) { |
|
190 | - if ( isset( $billing_details[ $key ] ) ) { |
|
191 | - unset( $billing_details[ $key ] ); |
|
189 | + foreach ($to_ignore as $key) { |
|
190 | + if (isset($billing_details[$key])) { |
|
191 | + unset($billing_details[$key]); |
|
192 | 192 | } |
193 | 193 | } |
194 | 194 | |
195 | - wp_send_json_success( $billing_details ); |
|
195 | + wp_send_json_success($billing_details); |
|
196 | 196 | |
197 | 197 | } |
198 | 198 | |
@@ -202,47 +202,47 @@ discard block |
||
202 | 202 | public static function check_new_user_email() { |
203 | 203 | |
204 | 204 | // Verify nonce. |
205 | - check_ajax_referer( 'wpinv-nonce' ); |
|
205 | + check_ajax_referer('wpinv-nonce'); |
|
206 | 206 | |
207 | 207 | // Can the user manage the plugin? |
208 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
208 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
209 | 209 | die(-1); |
210 | 210 | } |
211 | 211 | |
212 | 212 | // We need an email address. |
213 | - if ( empty( $_GET['email'] ) ) { |
|
214 | - _e( "Provide the new user's email address", 'invoicing' ); |
|
213 | + if (empty($_GET['email'])) { |
|
214 | + _e("Provide the new user's email address", 'invoicing'); |
|
215 | 215 | exit; |
216 | 216 | } |
217 | 217 | |
218 | 218 | // Ensure the email is valid. |
219 | - $email = sanitize_text_field( $_GET['email'] ); |
|
220 | - if ( ! is_email( $email ) ) { |
|
221 | - _e( 'Invalid email address', 'invoicing' ); |
|
219 | + $email = sanitize_text_field($_GET['email']); |
|
220 | + if (!is_email($email)) { |
|
221 | + _e('Invalid email address', 'invoicing'); |
|
222 | 222 | exit; |
223 | 223 | } |
224 | 224 | |
225 | 225 | // And it does not exist. |
226 | - if ( email_exists( $email ) ) { |
|
227 | - _e( 'A user with this email address already exists', 'invoicing' ); |
|
226 | + if (email_exists($email)) { |
|
227 | + _e('A user with this email address already exists', 'invoicing'); |
|
228 | 228 | exit; |
229 | 229 | } |
230 | 230 | |
231 | - wp_send_json_success( true ); |
|
231 | + wp_send_json_success(true); |
|
232 | 232 | } |
233 | 233 | |
234 | 234 | public static function run_tool() { |
235 | - check_ajax_referer( 'wpinv-nonce', '_nonce' ); |
|
236 | - if ( !wpinv_current_user_can_manage_invoicing() ) { |
|
235 | + check_ajax_referer('wpinv-nonce', '_nonce'); |
|
236 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
237 | 237 | die(-1); |
238 | 238 | } |
239 | 239 | |
240 | - $tool = sanitize_text_field( $_POST['tool'] ); |
|
240 | + $tool = sanitize_text_field($_POST['tool']); |
|
241 | 241 | |
242 | - do_action( 'wpinv_run_tool' ); |
|
242 | + do_action('wpinv_run_tool'); |
|
243 | 243 | |
244 | - if ( !empty( $tool ) ) { |
|
245 | - do_action( 'wpinv_tool_' . $tool ); |
|
244 | + if (!empty($tool)) { |
|
245 | + do_action('wpinv_tool_' . $tool); |
|
246 | 246 | } |
247 | 247 | } |
248 | 248 | |
@@ -252,27 +252,27 @@ discard block |
||
252 | 252 | public static function get_payment_form() { |
253 | 253 | |
254 | 254 | // Check nonce. |
255 | - check_ajax_referer( 'getpaid_form_nonce' ); |
|
255 | + check_ajax_referer('getpaid_form_nonce'); |
|
256 | 256 | |
257 | 257 | // Is the request set up correctly? |
258 | - if ( empty( $_GET['form'] ) && empty( $_GET['item'] ) ) { |
|
258 | + if (empty($_GET['form']) && empty($_GET['item'])) { |
|
259 | 259 | echo aui()->alert( |
260 | 260 | array( |
261 | 261 | 'type' => 'warning', |
262 | - 'content' => __( 'No payment form or item provided', 'invoicing' ), |
|
262 | + 'content' => __('No payment form or item provided', 'invoicing'), |
|
263 | 263 | ) |
264 | 264 | ); |
265 | 265 | exit; |
266 | 266 | } |
267 | 267 | |
268 | 268 | // Payment form or button? |
269 | - if ( ! empty( $_GET['form'] ) ) { |
|
270 | - getpaid_display_payment_form( urldecode( $_GET['form'] ) ); |
|
271 | - } else if( ! empty( $_GET['invoice'] ) ) { |
|
272 | - getpaid_display_invoice_payment_form( urldecode( $_GET['invoice'] ) ); |
|
269 | + if (!empty($_GET['form'])) { |
|
270 | + getpaid_display_payment_form(urldecode($_GET['form'])); |
|
271 | + } else if (!empty($_GET['invoice'])) { |
|
272 | + getpaid_display_invoice_payment_form(urldecode($_GET['invoice'])); |
|
273 | 273 | } else { |
274 | - $items = getpaid_convert_items_to_array( urldecode( $_GET['item'] ) ); |
|
275 | - getpaid_display_item_payment_form( $items ); |
|
274 | + $items = getpaid_convert_items_to_array(urldecode($_GET['item'])); |
|
275 | + getpaid_display_item_payment_form($items); |
|
276 | 276 | } |
277 | 277 | |
278 | 278 | exit; |
@@ -287,17 +287,17 @@ discard block |
||
287 | 287 | public static function payment_form() { |
288 | 288 | |
289 | 289 | // Check nonce. |
290 | - check_ajax_referer( 'getpaid_form_nonce' ); |
|
290 | + check_ajax_referer('getpaid_form_nonce'); |
|
291 | 291 | |
292 | 292 | // ... form fields... |
293 | - if ( empty( $_POST['getpaid_payment_form_submission'] ) ) { |
|
294 | - _e( 'Error: Reload the page and try again.', 'invoicing' ); |
|
293 | + if (empty($_POST['getpaid_payment_form_submission'])) { |
|
294 | + _e('Error: Reload the page and try again.', 'invoicing'); |
|
295 | 295 | exit; |
296 | 296 | } |
297 | 297 | |
298 | 298 | // Process the payment form. |
299 | - $checkout_class = apply_filters( 'getpaid_checkout_class', 'GetPaid_Checkout' ); |
|
300 | - $checkout = new $checkout_class( new GetPaid_Payment_Form_Submission() ); |
|
299 | + $checkout_class = apply_filters('getpaid_checkout_class', 'GetPaid_Checkout'); |
|
300 | + $checkout = new $checkout_class(new GetPaid_Payment_Form_Submission()); |
|
301 | 301 | $checkout->process_checkout(); |
302 | 302 | |
303 | 303 | exit; |
@@ -310,55 +310,55 @@ discard block |
||
310 | 310 | */ |
311 | 311 | public static function get_payment_form_states_field() { |
312 | 312 | |
313 | - if ( empty( $_GET['country'] ) || empty( $_GET['form'] ) ) { |
|
313 | + if (empty($_GET['country']) || empty($_GET['form'])) { |
|
314 | 314 | exit; |
315 | 315 | } |
316 | 316 | |
317 | - $elements = getpaid_get_payment_form_elements( $_GET['form'] ); |
|
317 | + $elements = getpaid_get_payment_form_elements($_GET['form']); |
|
318 | 318 | |
319 | - if ( empty( $elements ) ) { |
|
319 | + if (empty($elements)) { |
|
320 | 320 | exit; |
321 | 321 | } |
322 | 322 | |
323 | 323 | $address_fields = array(); |
324 | - foreach ( $elements as $element ) { |
|
325 | - if ( 'address' === $element['type'] ) { |
|
324 | + foreach ($elements as $element) { |
|
325 | + if ('address' === $element['type']) { |
|
326 | 326 | $address_fields = $element; |
327 | 327 | break; |
328 | 328 | } |
329 | 329 | } |
330 | 330 | |
331 | - if ( empty( $address_fields ) ) { |
|
331 | + if (empty($address_fields)) { |
|
332 | 332 | exit; |
333 | 333 | } |
334 | 334 | |
335 | - foreach ( $address_fields['fields'] as $address_field ) { |
|
335 | + foreach ($address_fields['fields'] as $address_field) { |
|
336 | 336 | |
337 | - if ( 'wpinv_state' == $address_field['name'] ) { |
|
337 | + if ('wpinv_state' == $address_field['name']) { |
|
338 | 338 | |
339 | - $wrap_class = getpaid_get_form_element_grid_class( $address_field ); |
|
340 | - $wrap_class = esc_attr( "$wrap_class getpaid-address-field-wrapper" ); |
|
341 | - $placeholder = empty( $address_field['placeholder'] ) ? '' : esc_attr( $address_field['placeholder'] ); |
|
342 | - $description = empty( $address_field['description'] ) ? '' : wp_kses_post( $address_field['description'] ); |
|
343 | - $value = is_user_logged_in() ? get_user_meta( get_current_user_id(), '_wpinv_state', true ) : ''; |
|
344 | - $label = empty( $address_field['label'] ) ? '' : wp_kses_post( $address_field['label'] ); |
|
339 | + $wrap_class = getpaid_get_form_element_grid_class($address_field); |
|
340 | + $wrap_class = esc_attr("$wrap_class getpaid-address-field-wrapper"); |
|
341 | + $placeholder = empty($address_field['placeholder']) ? '' : esc_attr($address_field['placeholder']); |
|
342 | + $description = empty($address_field['description']) ? '' : wp_kses_post($address_field['description']); |
|
343 | + $value = is_user_logged_in() ? get_user_meta(get_current_user_id(), '_wpinv_state', true) : ''; |
|
344 | + $label = empty($address_field['label']) ? '' : wp_kses_post($address_field['label']); |
|
345 | 345 | |
346 | - if ( ! empty( $address_field['required'] ) ) { |
|
346 | + if (!empty($address_field['required'])) { |
|
347 | 347 | $label .= "<span class='text-danger'> *</span>"; |
348 | 348 | } |
349 | 349 | |
350 | - $html = getpaid_get_states_select_markup ( |
|
351 | - sanitize_text_field( $_GET['country'] ), |
|
350 | + $html = getpaid_get_states_select_markup( |
|
351 | + sanitize_text_field($_GET['country']), |
|
352 | 352 | $value, |
353 | 353 | $placeholder, |
354 | 354 | $label, |
355 | 355 | $description, |
356 | - ! empty( $address_field['required'] ), |
|
356 | + !empty($address_field['required']), |
|
357 | 357 | $wrap_class, |
358 | - wpinv_clean( $_GET['name'] ) |
|
358 | + wpinv_clean($_GET['name']) |
|
359 | 359 | ); |
360 | 360 | |
361 | - wp_send_json_success( $html ); |
|
361 | + wp_send_json_success($html); |
|
362 | 362 | exit; |
363 | 363 | |
364 | 364 | } |
@@ -374,56 +374,56 @@ discard block |
||
374 | 374 | public static function recalculate_invoice_totals() { |
375 | 375 | |
376 | 376 | // Verify nonce. |
377 | - check_ajax_referer( 'wpinv-nonce' ); |
|
377 | + check_ajax_referer('wpinv-nonce'); |
|
378 | 378 | |
379 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
379 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
380 | 380 | exit; |
381 | 381 | } |
382 | 382 | |
383 | 383 | // We need an invoice. |
384 | - if ( empty( $_POST['post_id'] ) ) { |
|
384 | + if (empty($_POST['post_id'])) { |
|
385 | 385 | exit; |
386 | 386 | } |
387 | 387 | |
388 | 388 | // Fetch the invoice. |
389 | - $invoice = new WPInv_Invoice( trim( $_POST['post_id'] ) ); |
|
389 | + $invoice = new WPInv_Invoice(trim($_POST['post_id'])); |
|
390 | 390 | |
391 | 391 | // Ensure it exists. |
392 | - if ( ! $invoice->get_id() ) { |
|
392 | + if (!$invoice->get_id()) { |
|
393 | 393 | exit; |
394 | 394 | } |
395 | 395 | |
396 | 396 | // Maybe set the country, state, currency. |
397 | - foreach ( array( 'country', 'state', 'currency' ) as $key ) { |
|
398 | - if ( isset( $_POST[ $key ] ) ) { |
|
397 | + foreach (array('country', 'state', 'currency') as $key) { |
|
398 | + if (isset($_POST[$key])) { |
|
399 | 399 | $method = "set_$key"; |
400 | - $invoice->$method( sanitize_text_field( $_POST[ $key ] ) ); |
|
400 | + $invoice->$method(sanitize_text_field($_POST[$key])); |
|
401 | 401 | } |
402 | 402 | } |
403 | 403 | |
404 | 404 | // Maybe disable taxes. |
405 | - $invoice->set_disable_taxes( ! empty( $_POST['taxes'] ) ); |
|
405 | + $invoice->set_disable_taxes(!empty($_POST['taxes'])); |
|
406 | 406 | |
407 | 407 | // Recalculate totals. |
408 | 408 | $invoice->recalculate_total(); |
409 | 409 | |
410 | - $total = wpinv_price( $invoice->get_total(), $invoice->get_currency() ); |
|
410 | + $total = wpinv_price($invoice->get_total(), $invoice->get_currency()); |
|
411 | 411 | |
412 | - if ( $invoice->is_recurring() && $invoice->is_parent() && $invoice->get_total() != $invoice->get_recurring_total() ) { |
|
413 | - $recurring_total = wpinv_price( $invoice->get_recurring_total(), $invoice->get_currency() ); |
|
414 | - $total .= '<small class="form-text text-muted">' . sprintf( __( 'Recurring Price: %s', 'invoicing' ), $recurring_total ) . '</small>'; |
|
412 | + if ($invoice->is_recurring() && $invoice->is_parent() && $invoice->get_total() != $invoice->get_recurring_total()) { |
|
413 | + $recurring_total = wpinv_price($invoice->get_recurring_total(), $invoice->get_currency()); |
|
414 | + $total .= '<small class="form-text text-muted">' . sprintf(__('Recurring Price: %s', 'invoicing'), $recurring_total) . '</small>'; |
|
415 | 415 | } |
416 | 416 | |
417 | 417 | $totals = array( |
418 | - 'subtotal' => wpinv_price( $invoice->get_subtotal(), $invoice->get_currency() ), |
|
419 | - 'discount' => wpinv_price( $invoice->get_total_discount(), $invoice->get_currency() ), |
|
420 | - 'tax' => wpinv_price( $invoice->get_total_tax(), $invoice->get_currency() ), |
|
418 | + 'subtotal' => wpinv_price($invoice->get_subtotal(), $invoice->get_currency()), |
|
419 | + 'discount' => wpinv_price($invoice->get_total_discount(), $invoice->get_currency()), |
|
420 | + 'tax' => wpinv_price($invoice->get_total_tax(), $invoice->get_currency()), |
|
421 | 421 | 'total' => $total, |
422 | 422 | ); |
423 | 423 | |
424 | - $totals = apply_filters( 'getpaid_invoice_totals', $totals, $invoice ); |
|
424 | + $totals = apply_filters('getpaid_invoice_totals', $totals, $invoice); |
|
425 | 425 | |
426 | - wp_send_json_success( compact( 'totals' ) ); |
|
426 | + wp_send_json_success(compact('totals')); |
|
427 | 427 | } |
428 | 428 | |
429 | 429 | /** |
@@ -432,33 +432,33 @@ discard block |
||
432 | 432 | public static function get_invoice_items() { |
433 | 433 | |
434 | 434 | // Verify nonce. |
435 | - check_ajax_referer( 'wpinv-nonce' ); |
|
435 | + check_ajax_referer('wpinv-nonce'); |
|
436 | 436 | |
437 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
437 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
438 | 438 | exit; |
439 | 439 | } |
440 | 440 | |
441 | 441 | // We need an invoice and items. |
442 | - if ( empty( $_POST['post_id'] ) ) { |
|
442 | + if (empty($_POST['post_id'])) { |
|
443 | 443 | exit; |
444 | 444 | } |
445 | 445 | |
446 | 446 | // Fetch the invoice. |
447 | - $invoice = new WPInv_Invoice( trim( $_POST['post_id'] ) ); |
|
447 | + $invoice = new WPInv_Invoice(trim($_POST['post_id'])); |
|
448 | 448 | |
449 | 449 | // Ensure it exists. |
450 | - if ( ! $invoice->get_id() ) { |
|
450 | + if (!$invoice->get_id()) { |
|
451 | 451 | exit; |
452 | 452 | } |
453 | 453 | |
454 | 454 | // Return an array of invoice items. |
455 | 455 | $items = array(); |
456 | 456 | |
457 | - foreach ( $invoice->get_items() as $item_id => $item ) { |
|
458 | - $items[ $item_id ] = $item->prepare_data_for_invoice_edit_ajax( $invoice->get_currency(), $invoice->is_renewal() ); |
|
457 | + foreach ($invoice->get_items() as $item_id => $item) { |
|
458 | + $items[$item_id] = $item->prepare_data_for_invoice_edit_ajax($invoice->get_currency(), $invoice->is_renewal()); |
|
459 | 459 | } |
460 | 460 | |
461 | - wp_send_json_success( compact( 'items' ) ); |
|
461 | + wp_send_json_success(compact('items')); |
|
462 | 462 | } |
463 | 463 | |
464 | 464 | /** |
@@ -467,50 +467,50 @@ discard block |
||
467 | 467 | public static function edit_invoice_item() { |
468 | 468 | |
469 | 469 | // Verify nonce. |
470 | - check_ajax_referer( 'wpinv-nonce' ); |
|
470 | + check_ajax_referer('wpinv-nonce'); |
|
471 | 471 | |
472 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
472 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
473 | 473 | exit; |
474 | 474 | } |
475 | 475 | |
476 | 476 | // We need an invoice and item details. |
477 | - if ( empty( $_POST['post_id'] ) || empty( $_POST['data'] ) ) { |
|
477 | + if (empty($_POST['post_id']) || empty($_POST['data'])) { |
|
478 | 478 | exit; |
479 | 479 | } |
480 | 480 | |
481 | 481 | // Fetch the invoice. |
482 | - $invoice = new WPInv_Invoice( trim( $_POST['post_id'] ) ); |
|
482 | + $invoice = new WPInv_Invoice(trim($_POST['post_id'])); |
|
483 | 483 | |
484 | 484 | // Ensure it exists and its not been paid for. |
485 | - if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) { |
|
485 | + if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) { |
|
486 | 486 | exit; |
487 | 487 | } |
488 | 488 | |
489 | 489 | // Format the data. |
490 | - $data = wp_list_pluck( $_POST['data'], 'value', 'field' ); |
|
490 | + $data = wp_list_pluck($_POST['data'], 'value', 'field'); |
|
491 | 491 | |
492 | 492 | // Ensure that we have an item id. |
493 | - if ( empty( $data['id'] ) ) { |
|
493 | + if (empty($data['id'])) { |
|
494 | 494 | exit; |
495 | 495 | } |
496 | 496 | |
497 | 497 | // Abort if the invoice does not have the specified item. |
498 | - $item = $invoice->get_item( (int) $data['id'] ); |
|
498 | + $item = $invoice->get_item((int) $data['id']); |
|
499 | 499 | |
500 | - if ( empty( $item ) ) { |
|
500 | + if (empty($item)) { |
|
501 | 501 | exit; |
502 | 502 | } |
503 | 503 | |
504 | 504 | // Update the item. |
505 | - $item->set_price( $data['price'] ); |
|
506 | - $item->set_name( $data['name'] ); |
|
507 | - $item->set_description( $data['description'] ); |
|
508 | - $item->set_quantity( $data['quantity'] ); |
|
505 | + $item->set_price($data['price']); |
|
506 | + $item->set_name($data['name']); |
|
507 | + $item->set_description($data['description']); |
|
508 | + $item->set_quantity($data['quantity']); |
|
509 | 509 | |
510 | 510 | // Add it to the invoice. |
511 | - $error = $invoice->add_item( $item ); |
|
511 | + $error = $invoice->add_item($item); |
|
512 | 512 | $alert = false; |
513 | - if ( is_wp_error( $error ) ) { |
|
513 | + if (is_wp_error($error)) { |
|
514 | 514 | $alert = $error->get_error_message(); |
515 | 515 | } |
516 | 516 | |
@@ -523,11 +523,11 @@ discard block |
||
523 | 523 | // Return an array of invoice items. |
524 | 524 | $items = array(); |
525 | 525 | |
526 | - foreach ( $invoice->get_items() as $item_id => $item ) { |
|
527 | - $items[ $item_id ] = $item->prepare_data_for_invoice_edit_ajax( $invoice->get_currency() ); |
|
526 | + foreach ($invoice->get_items() as $item_id => $item) { |
|
527 | + $items[$item_id] = $item->prepare_data_for_invoice_edit_ajax($invoice->get_currency()); |
|
528 | 528 | } |
529 | 529 | |
530 | - wp_send_json_success( compact( 'items', 'alert' ) ); |
|
530 | + wp_send_json_success(compact('items', 'alert')); |
|
531 | 531 | } |
532 | 532 | |
533 | 533 | /** |
@@ -536,33 +536,33 @@ discard block |
||
536 | 536 | public static function remove_invoice_item() { |
537 | 537 | |
538 | 538 | // Verify nonce. |
539 | - check_ajax_referer( 'wpinv-nonce' ); |
|
539 | + check_ajax_referer('wpinv-nonce'); |
|
540 | 540 | |
541 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
541 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
542 | 542 | exit; |
543 | 543 | } |
544 | 544 | |
545 | 545 | // We need an invoice and an item. |
546 | - if ( empty( $_POST['post_id'] ) || empty( $_POST['item_id'] ) ) { |
|
546 | + if (empty($_POST['post_id']) || empty($_POST['item_id'])) { |
|
547 | 547 | exit; |
548 | 548 | } |
549 | 549 | |
550 | 550 | // Fetch the invoice. |
551 | - $invoice = new WPInv_Invoice( trim( $_POST['post_id'] ) ); |
|
551 | + $invoice = new WPInv_Invoice(trim($_POST['post_id'])); |
|
552 | 552 | |
553 | 553 | // Ensure it exists and its not been paid for. |
554 | - if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) { |
|
554 | + if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) { |
|
555 | 555 | exit; |
556 | 556 | } |
557 | 557 | |
558 | 558 | // Abort if the invoice does not have the specified item. |
559 | - $item = $invoice->get_item( (int) $_POST['item_id'] ); |
|
559 | + $item = $invoice->get_item((int) $_POST['item_id']); |
|
560 | 560 | |
561 | - if ( empty( $item ) ) { |
|
561 | + if (empty($item)) { |
|
562 | 562 | exit; |
563 | 563 | } |
564 | 564 | |
565 | - $invoice->remove_item( (int) $_POST['item_id'] ); |
|
565 | + $invoice->remove_item((int) $_POST['item_id']); |
|
566 | 566 | |
567 | 567 | // Update totals. |
568 | 568 | $invoice->recalculate_total(); |
@@ -573,11 +573,11 @@ discard block |
||
573 | 573 | // Return an array of invoice items. |
574 | 574 | $items = array(); |
575 | 575 | |
576 | - foreach ( $invoice->get_items() as $item_id => $item ) { |
|
577 | - $items[ $item_id ] = $item->prepare_data_for_invoice_edit_ajax( $invoice->get_currency() ); |
|
576 | + foreach ($invoice->get_items() as $item_id => $item) { |
|
577 | + $items[$item_id] = $item->prepare_data_for_invoice_edit_ajax($invoice->get_currency()); |
|
578 | 578 | } |
579 | 579 | |
580 | - wp_send_json_success( compact( 'items' ) ); |
|
580 | + wp_send_json_success(compact('items')); |
|
581 | 581 | } |
582 | 582 | |
583 | 583 | /** |
@@ -586,39 +586,39 @@ discard block |
||
586 | 586 | public static function add_invoice_items() { |
587 | 587 | |
588 | 588 | // Verify nonce. |
589 | - check_ajax_referer( 'wpinv-nonce' ); |
|
589 | + check_ajax_referer('wpinv-nonce'); |
|
590 | 590 | |
591 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
591 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
592 | 592 | exit; |
593 | 593 | } |
594 | 594 | |
595 | 595 | // We need an invoice and items. |
596 | - if ( empty( $_POST['post_id'] ) || empty( $_POST['items'] ) ) { |
|
596 | + if (empty($_POST['post_id']) || empty($_POST['items'])) { |
|
597 | 597 | exit; |
598 | 598 | } |
599 | 599 | |
600 | 600 | // Fetch the invoice. |
601 | - $invoice = new WPInv_Invoice( trim( $_POST['post_id'] ) ); |
|
601 | + $invoice = new WPInv_Invoice(trim($_POST['post_id'])); |
|
602 | 602 | $alert = false; |
603 | 603 | |
604 | 604 | // Ensure it exists and its not been paid for. |
605 | - if ( ! $invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded() ) { |
|
605 | + if (!$invoice->get_id() || $invoice->is_paid() || $invoice->is_refunded()) { |
|
606 | 606 | exit; |
607 | 607 | } |
608 | 608 | |
609 | 609 | // Add the items. |
610 | - foreach ( $_POST['items'] as $data ) { |
|
610 | + foreach ($_POST['items'] as $data) { |
|
611 | 611 | |
612 | - $item = new GetPaid_Form_Item( $data[ 'id' ] ); |
|
612 | + $item = new GetPaid_Form_Item($data['id']); |
|
613 | 613 | |
614 | - if ( is_numeric( $data[ 'qty' ] ) && (float) $data[ 'qty' ] > 0 ) { |
|
615 | - $item->set_quantity( $data[ 'qty' ] ); |
|
614 | + if (is_numeric($data['qty']) && (float) $data['qty'] > 0) { |
|
615 | + $item->set_quantity($data['qty']); |
|
616 | 616 | } |
617 | 617 | |
618 | - if ( $item->get_id() > 0 ) { |
|
619 | - $error = $invoice->add_item( $item ); |
|
618 | + if ($item->get_id() > 0) { |
|
619 | + $error = $invoice->add_item($item); |
|
620 | 620 | |
621 | - if ( is_wp_error( $error ) ) { |
|
621 | + if (is_wp_error($error)) { |
|
622 | 622 | $alert = $error->get_error_message(); |
623 | 623 | } |
624 | 624 | |
@@ -633,11 +633,11 @@ discard block |
||
633 | 633 | // Return an array of invoice items. |
634 | 634 | $items = array(); |
635 | 635 | |
636 | - foreach ( $invoice->get_items() as $item_id => $item ) { |
|
637 | - $items[ $item_id ] = $item->prepare_data_for_invoice_edit_ajax( $invoice->get_currency() ); |
|
636 | + foreach ($invoice->get_items() as $item_id => $item) { |
|
637 | + $items[$item_id] = $item->prepare_data_for_invoice_edit_ajax($invoice->get_currency()); |
|
638 | 638 | } |
639 | 639 | |
640 | - wp_send_json_success( compact( 'items', 'alert' ) ); |
|
640 | + wp_send_json_success(compact('items', 'alert')); |
|
641 | 641 | } |
642 | 642 | |
643 | 643 | /** |
@@ -646,15 +646,15 @@ discard block |
||
646 | 646 | public static function get_invoicing_items() { |
647 | 647 | |
648 | 648 | // Verify nonce. |
649 | - check_ajax_referer( 'wpinv-nonce' ); |
|
649 | + check_ajax_referer('wpinv-nonce'); |
|
650 | 650 | |
651 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
651 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
652 | 652 | exit; |
653 | 653 | } |
654 | 654 | |
655 | 655 | // We need a search term. |
656 | - if ( empty( $_GET['search'] ) ) { |
|
657 | - wp_send_json_success( array() ); |
|
656 | + if (empty($_GET['search'])) { |
|
657 | + wp_send_json_success(array()); |
|
658 | 658 | } |
659 | 659 | |
660 | 660 | // Retrieve items. |
@@ -663,8 +663,8 @@ discard block |
||
663 | 663 | 'orderby' => 'title', |
664 | 664 | 'order' => 'ASC', |
665 | 665 | 'posts_per_page' => -1, |
666 | - 'post_status' => array( 'publish' ), |
|
667 | - 's' => trim( $_GET['search'] ), |
|
666 | + 'post_status' => array('publish'), |
|
667 | + 's' => trim($_GET['search']), |
|
668 | 668 | 'meta_query' => array( |
669 | 669 | array( |
670 | 670 | 'key' => '_wpinv_type', |
@@ -674,22 +674,22 @@ discard block |
||
674 | 674 | ) |
675 | 675 | ); |
676 | 676 | |
677 | - $items = get_posts( apply_filters( 'getpaid_ajax_invoice_items_query_args', $item_args ) ); |
|
677 | + $items = get_posts(apply_filters('getpaid_ajax_invoice_items_query_args', $item_args)); |
|
678 | 678 | $data = array(); |
679 | 679 | |
680 | 680 | |
681 | - $is_payment_form = ( ! empty( $_GET['post_id'] ) && 'wpi_payment_form' == get_post_type( $_GET['post_id'] ) ); |
|
681 | + $is_payment_form = (!empty($_GET['post_id']) && 'wpi_payment_form' == get_post_type($_GET['post_id'])); |
|
682 | 682 | |
683 | - foreach ( $items as $item ) { |
|
684 | - $item = new GetPaid_Form_Item( $item ); |
|
683 | + foreach ($items as $item) { |
|
684 | + $item = new GetPaid_Form_Item($item); |
|
685 | 685 | $data[] = array( |
686 | 686 | 'id' => (int) $item->get_id(), |
687 | - 'text' => strip_tags( $item->get_name() ), |
|
688 | - 'form_data' => $is_payment_form ? $item->prepare_data_for_use( false ) : '', |
|
687 | + 'text' => strip_tags($item->get_name()), |
|
688 | + 'form_data' => $is_payment_form ? $item->prepare_data_for_use(false) : '', |
|
689 | 689 | ); |
690 | 690 | } |
691 | 691 | |
692 | - wp_send_json_success( $data ); |
|
692 | + wp_send_json_success($data); |
|
693 | 693 | |
694 | 694 | } |
695 | 695 | |
@@ -699,28 +699,28 @@ discard block |
||
699 | 699 | public static function get_aui_states_field() { |
700 | 700 | |
701 | 701 | // Verify nonce. |
702 | - check_ajax_referer( 'wpinv-nonce' ); |
|
702 | + check_ajax_referer('wpinv-nonce'); |
|
703 | 703 | |
704 | 704 | // We need a country. |
705 | - if ( empty( $_GET['country'] ) ) { |
|
705 | + if (empty($_GET['country'])) { |
|
706 | 706 | exit; |
707 | 707 | } |
708 | 708 | |
709 | - $states = wpinv_get_country_states( sanitize_text_field( $_GET['country'] ) ); |
|
710 | - $state = isset( $_GET['state'] ) ? sanitize_text_field( $_GET['state'] ) : wpinv_get_default_state(); |
|
711 | - $name = isset( $_GET['name'] ) ? sanitize_text_field( $_GET['name'] ) : 'wpinv_state'; |
|
712 | - $class = isset( $_GET['class'] ) ? sanitize_text_field( $_GET['class'] ) : 'form-control-sm'; |
|
709 | + $states = wpinv_get_country_states(sanitize_text_field($_GET['country'])); |
|
710 | + $state = isset($_GET['state']) ? sanitize_text_field($_GET['state']) : wpinv_get_default_state(); |
|
711 | + $name = isset($_GET['name']) ? sanitize_text_field($_GET['name']) : 'wpinv_state'; |
|
712 | + $class = isset($_GET['class']) ? sanitize_text_field($_GET['class']) : 'form-control-sm'; |
|
713 | 713 | |
714 | - if ( empty( $states ) ) { |
|
714 | + if (empty($states)) { |
|
715 | 715 | |
716 | 716 | $html = aui()->input( |
717 | 717 | array( |
718 | 718 | 'type' => 'text', |
719 | 719 | 'id' => 'wpinv_state', |
720 | 720 | 'name' => $name, |
721 | - 'label' => __( 'State', 'invoicing' ), |
|
721 | + 'label' => __('State', 'invoicing'), |
|
722 | 722 | 'label_type' => 'vertical', |
723 | - 'placeholder' => __( 'State', 'invoicing' ), |
|
723 | + 'placeholder' => __('State', 'invoicing'), |
|
724 | 724 | 'class' => $class, |
725 | 725 | 'value' => $state, |
726 | 726 | ) |
@@ -732,9 +732,9 @@ discard block |
||
732 | 732 | array( |
733 | 733 | 'id' => 'wpinv_state', |
734 | 734 | 'name' => $name, |
735 | - 'label' => __( 'State', 'invoicing' ), |
|
735 | + 'label' => __('State', 'invoicing'), |
|
736 | 736 | 'label_type' => 'vertical', |
737 | - 'placeholder' => __( 'Select a state', 'invoicing' ), |
|
737 | + 'placeholder' => __('Select a state', 'invoicing'), |
|
738 | 738 | 'class' => $class, |
739 | 739 | 'value' => $state, |
740 | 740 | 'options' => $states, |
@@ -748,7 +748,7 @@ discard block |
||
748 | 748 | wp_send_json_success( |
749 | 749 | array( |
750 | 750 | 'html' => $html, |
751 | - 'select' => ! empty ( $states ) |
|
751 | + 'select' => !empty ($states) |
|
752 | 752 | ) |
753 | 753 | ); |
754 | 754 | |
@@ -762,11 +762,11 @@ discard block |
||
762 | 762 | public static function payment_form_refresh_prices() { |
763 | 763 | |
764 | 764 | // Check nonce. |
765 | - check_ajax_referer( 'getpaid_form_nonce' ); |
|
765 | + check_ajax_referer('getpaid_form_nonce'); |
|
766 | 766 | |
767 | 767 | // ... form fields... |
768 | - if ( empty( $_POST['getpaid_payment_form_submission'] ) ) { |
|
769 | - _e( 'Error: Reload the page and try again.', 'invoicing' ); |
|
768 | + if (empty($_POST['getpaid_payment_form_submission'])) { |
|
769 | + _e('Error: Reload the page and try again.', 'invoicing'); |
|
770 | 770 | exit; |
771 | 771 | } |
772 | 772 | |
@@ -774,18 +774,18 @@ discard block |
||
774 | 774 | $submission = new GetPaid_Payment_Form_Submission(); |
775 | 775 | |
776 | 776 | // Do we have an error? |
777 | - if ( ! empty( $submission->last_error ) ) { |
|
777 | + if (!empty($submission->last_error)) { |
|
778 | 778 | echo $submission->last_error; |
779 | 779 | exit; |
780 | 780 | } |
781 | 781 | |
782 | 782 | // Prepare the response. |
783 | - $response = new GetPaid_Payment_Form_Submission_Refresh_Prices( $submission ); |
|
783 | + $response = new GetPaid_Payment_Form_Submission_Refresh_Prices($submission); |
|
784 | 784 | |
785 | 785 | // Filter the response. |
786 | - $response = apply_filters( 'getpaid_payment_form_ajax_refresh_prices', $response->response, $submission ); |
|
786 | + $response = apply_filters('getpaid_payment_form_ajax_refresh_prices', $response->response, $submission); |
|
787 | 787 | |
788 | - wp_send_json_success( $response ); |
|
788 | + wp_send_json_success($response); |
|
789 | 789 | } |
790 | 790 | |
791 | 791 | } |
@@ -14,144 +14,144 @@ discard block |
||
14 | 14 | */ |
15 | 15 | class WPInv_Subscriptions_Widget extends WP_Super_Duper { |
16 | 16 | |
17 | - /** |
|
18 | - * Register the widget with WordPress. |
|
19 | - * |
|
20 | - */ |
|
21 | - public function __construct() { |
|
22 | - |
|
23 | - $options = array( |
|
24 | - 'textdomain' => 'invoicing', |
|
25 | - 'block-icon' => 'controls-repeat', |
|
26 | - 'block-category'=> 'widgets', |
|
27 | - 'block-keywords'=> "['invoicing','subscriptions', 'getpaid']", |
|
28 | - 'class_name' => __CLASS__, |
|
29 | - 'base_id' => 'wpinv_subscriptions', |
|
30 | - 'name' => __( 'GetPaid > Subscriptions', 'invoicing' ), |
|
31 | - 'widget_ops' => array( |
|
32 | - 'classname' => 'getpaid-subscriptions bsui', |
|
33 | - 'description' => esc_html__( "Displays the current user's subscriptions.", 'invoicing' ), |
|
34 | - ), |
|
35 | - 'arguments' => array( |
|
36 | - 'title' => array( |
|
37 | - 'title' => __( 'Widget title', 'invoicing' ), |
|
38 | - 'desc' => __( 'Enter widget title.', 'invoicing' ), |
|
39 | - 'type' => 'text', |
|
40 | - 'desc_tip' => true, |
|
41 | - 'default' => '', |
|
42 | - 'advanced' => false |
|
43 | - ), |
|
44 | - ) |
|
45 | - |
|
46 | - ); |
|
47 | - |
|
48 | - |
|
49 | - parent::__construct( $options ); |
|
50 | - } |
|
51 | - |
|
52 | - /** |
|
53 | - * Retrieves current user's subscriptions. |
|
54 | - * |
|
55 | - * @return GetPaid_Subscriptions_Query |
|
56 | - */ |
|
57 | - public function get_subscriptions() { |
|
58 | - |
|
59 | - // Prepare license args. |
|
60 | - $args = array( |
|
61 | - 'customer_in' => get_current_user_id(), |
|
62 | - 'paged' => ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1, |
|
63 | - ); |
|
64 | - |
|
65 | - return new GetPaid_Subscriptions_Query( $args ); |
|
66 | - |
|
67 | - } |
|
68 | - |
|
69 | - /** |
|
70 | - * The Super block output function. |
|
71 | - * |
|
72 | - * @param array $args |
|
73 | - * @param array $widget_args |
|
74 | - * @param string $content |
|
75 | - * |
|
76 | - * @return mixed|string|bool |
|
77 | - */ |
|
78 | - public function output( $args = array(), $widget_args = array(), $content = '' ) { |
|
79 | - |
|
80 | - // Ensure that the user is logged in. |
|
81 | - if ( ! is_user_logged_in() ) { |
|
82 | - |
|
83 | - return aui()->alert( |
|
84 | - array( |
|
85 | - 'content' => wp_kses_post( __( 'You need to log-in or create an account to view this section.', 'invoicing' ) ), |
|
86 | - 'type' => 'error', |
|
87 | - ) |
|
88 | - ); |
|
89 | - |
|
90 | - } |
|
91 | - |
|
92 | - // Are we displaying a single subscription? |
|
93 | - if ( isset( $_GET['subscription'] ) ) { |
|
94 | - return $this->display_single_subscription( trim( $_GET['subscription'] ) ); |
|
95 | - } |
|
96 | - |
|
97 | - // Retrieve the user's subscriptions. |
|
98 | - $subscriptions = $this->get_subscriptions(); |
|
99 | - |
|
100 | - // Start the output buffer. |
|
101 | - ob_start(); |
|
102 | - |
|
103 | - // Backwards compatibility. |
|
104 | - do_action( 'wpinv_before_user_subscriptions' ); |
|
105 | - |
|
106 | - // Display errors and notices. |
|
107 | - wpinv_print_errors(); |
|
108 | - |
|
109 | - do_action( 'getpaid_license_manager_before_subscriptions', $subscriptions ); |
|
110 | - |
|
111 | - // Print the table header. |
|
112 | - $this->print_table_header(); |
|
113 | - |
|
114 | - // Print table body. |
|
115 | - $this->print_table_body( $subscriptions->get_results() ); |
|
116 | - |
|
117 | - // Print table footer. |
|
118 | - $this->print_table_footer(); |
|
119 | - |
|
120 | - // Print the navigation. |
|
121 | - $this->print_navigation( $subscriptions->get_total() ); |
|
122 | - |
|
123 | - // Backwards compatibility. |
|
124 | - do_action( 'wpinv_after_user_subscriptions' ); |
|
125 | - |
|
126 | - // Return the output. |
|
127 | - return ob_get_clean(); |
|
128 | - |
|
129 | - } |
|
130 | - |
|
131 | - /** |
|
132 | - * Retrieves the subscription columns. |
|
133 | - * |
|
134 | - * @return array |
|
135 | - */ |
|
136 | - public function get_subscriptions_table_columns() { |
|
17 | + /** |
|
18 | + * Register the widget with WordPress. |
|
19 | + * |
|
20 | + */ |
|
21 | + public function __construct() { |
|
22 | + |
|
23 | + $options = array( |
|
24 | + 'textdomain' => 'invoicing', |
|
25 | + 'block-icon' => 'controls-repeat', |
|
26 | + 'block-category'=> 'widgets', |
|
27 | + 'block-keywords'=> "['invoicing','subscriptions', 'getpaid']", |
|
28 | + 'class_name' => __CLASS__, |
|
29 | + 'base_id' => 'wpinv_subscriptions', |
|
30 | + 'name' => __( 'GetPaid > Subscriptions', 'invoicing' ), |
|
31 | + 'widget_ops' => array( |
|
32 | + 'classname' => 'getpaid-subscriptions bsui', |
|
33 | + 'description' => esc_html__( "Displays the current user's subscriptions.", 'invoicing' ), |
|
34 | + ), |
|
35 | + 'arguments' => array( |
|
36 | + 'title' => array( |
|
37 | + 'title' => __( 'Widget title', 'invoicing' ), |
|
38 | + 'desc' => __( 'Enter widget title.', 'invoicing' ), |
|
39 | + 'type' => 'text', |
|
40 | + 'desc_tip' => true, |
|
41 | + 'default' => '', |
|
42 | + 'advanced' => false |
|
43 | + ), |
|
44 | + ) |
|
45 | + |
|
46 | + ); |
|
47 | + |
|
48 | + |
|
49 | + parent::__construct( $options ); |
|
50 | + } |
|
51 | + |
|
52 | + /** |
|
53 | + * Retrieves current user's subscriptions. |
|
54 | + * |
|
55 | + * @return GetPaid_Subscriptions_Query |
|
56 | + */ |
|
57 | + public function get_subscriptions() { |
|
58 | + |
|
59 | + // Prepare license args. |
|
60 | + $args = array( |
|
61 | + 'customer_in' => get_current_user_id(), |
|
62 | + 'paged' => ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1, |
|
63 | + ); |
|
64 | + |
|
65 | + return new GetPaid_Subscriptions_Query( $args ); |
|
66 | + |
|
67 | + } |
|
68 | + |
|
69 | + /** |
|
70 | + * The Super block output function. |
|
71 | + * |
|
72 | + * @param array $args |
|
73 | + * @param array $widget_args |
|
74 | + * @param string $content |
|
75 | + * |
|
76 | + * @return mixed|string|bool |
|
77 | + */ |
|
78 | + public function output( $args = array(), $widget_args = array(), $content = '' ) { |
|
79 | + |
|
80 | + // Ensure that the user is logged in. |
|
81 | + if ( ! is_user_logged_in() ) { |
|
82 | + |
|
83 | + return aui()->alert( |
|
84 | + array( |
|
85 | + 'content' => wp_kses_post( __( 'You need to log-in or create an account to view this section.', 'invoicing' ) ), |
|
86 | + 'type' => 'error', |
|
87 | + ) |
|
88 | + ); |
|
89 | + |
|
90 | + } |
|
91 | + |
|
92 | + // Are we displaying a single subscription? |
|
93 | + if ( isset( $_GET['subscription'] ) ) { |
|
94 | + return $this->display_single_subscription( trim( $_GET['subscription'] ) ); |
|
95 | + } |
|
96 | + |
|
97 | + // Retrieve the user's subscriptions. |
|
98 | + $subscriptions = $this->get_subscriptions(); |
|
99 | + |
|
100 | + // Start the output buffer. |
|
101 | + ob_start(); |
|
102 | + |
|
103 | + // Backwards compatibility. |
|
104 | + do_action( 'wpinv_before_user_subscriptions' ); |
|
105 | + |
|
106 | + // Display errors and notices. |
|
107 | + wpinv_print_errors(); |
|
108 | + |
|
109 | + do_action( 'getpaid_license_manager_before_subscriptions', $subscriptions ); |
|
110 | + |
|
111 | + // Print the table header. |
|
112 | + $this->print_table_header(); |
|
113 | + |
|
114 | + // Print table body. |
|
115 | + $this->print_table_body( $subscriptions->get_results() ); |
|
116 | + |
|
117 | + // Print table footer. |
|
118 | + $this->print_table_footer(); |
|
119 | + |
|
120 | + // Print the navigation. |
|
121 | + $this->print_navigation( $subscriptions->get_total() ); |
|
122 | + |
|
123 | + // Backwards compatibility. |
|
124 | + do_action( 'wpinv_after_user_subscriptions' ); |
|
125 | + |
|
126 | + // Return the output. |
|
127 | + return ob_get_clean(); |
|
128 | + |
|
129 | + } |
|
130 | + |
|
131 | + /** |
|
132 | + * Retrieves the subscription columns. |
|
133 | + * |
|
134 | + * @return array |
|
135 | + */ |
|
136 | + public function get_subscriptions_table_columns() { |
|
137 | 137 | |
138 | - $columns = array( |
|
139 | - 'subscription' => __( 'Subscription', 'invoicing' ), |
|
140 | - 'amount' => __( 'Amount', 'invoicing' ), |
|
141 | - 'renewal-date' => __( 'Next payment', 'invoicing' ), |
|
142 | - 'status' => __( 'Status', 'invoicing' ), |
|
143 | - ); |
|
138 | + $columns = array( |
|
139 | + 'subscription' => __( 'Subscription', 'invoicing' ), |
|
140 | + 'amount' => __( 'Amount', 'invoicing' ), |
|
141 | + 'renewal-date' => __( 'Next payment', 'invoicing' ), |
|
142 | + 'status' => __( 'Status', 'invoicing' ), |
|
143 | + ); |
|
144 | 144 | |
145 | - return apply_filters( 'getpaid_frontend_subscriptions_table_columns', $columns ); |
|
146 | - } |
|
145 | + return apply_filters( 'getpaid_frontend_subscriptions_table_columns', $columns ); |
|
146 | + } |
|
147 | 147 | |
148 | - /** |
|
149 | - * Displays the table header. |
|
150 | - * |
|
151 | - */ |
|
152 | - public function print_table_header() { |
|
148 | + /** |
|
149 | + * Displays the table header. |
|
150 | + * |
|
151 | + */ |
|
152 | + public function print_table_header() { |
|
153 | 153 | |
154 | - ?> |
|
154 | + ?> |
|
155 | 155 | |
156 | 156 | <table class="table table-bordered table-striped"> |
157 | 157 | |
@@ -167,121 +167,121 @@ discard block |
||
167 | 167 | |
168 | 168 | <?php |
169 | 169 | |
170 | - } |
|
170 | + } |
|
171 | 171 | |
172 | - /** |
|
173 | - * Displays the table body. |
|
174 | - * |
|
175 | - * @param WPInv_Subscription[] $subscriptions |
|
176 | - */ |
|
177 | - public function print_table_body( $subscriptions ) { |
|
172 | + /** |
|
173 | + * Displays the table body. |
|
174 | + * |
|
175 | + * @param WPInv_Subscription[] $subscriptions |
|
176 | + */ |
|
177 | + public function print_table_body( $subscriptions ) { |
|
178 | 178 | |
179 | - if ( empty( $subscriptions ) ) { |
|
180 | - $this->print_table_body_no_subscriptions(); |
|
181 | - } else { |
|
182 | - $this->print_table_body_subscriptions( $subscriptions ); |
|
183 | - } |
|
179 | + if ( empty( $subscriptions ) ) { |
|
180 | + $this->print_table_body_no_subscriptions(); |
|
181 | + } else { |
|
182 | + $this->print_table_body_subscriptions( $subscriptions ); |
|
183 | + } |
|
184 | 184 | |
185 | - } |
|
185 | + } |
|
186 | 186 | |
187 | - /** |
|
188 | - * Displays the table body if no subscriptions were found. |
|
189 | - * |
|
190 | - */ |
|
191 | - public function print_table_body_no_subscriptions() { |
|
187 | + /** |
|
188 | + * Displays the table body if no subscriptions were found. |
|
189 | + * |
|
190 | + */ |
|
191 | + public function print_table_body_no_subscriptions() { |
|
192 | 192 | |
193 | - ?> |
|
193 | + ?> |
|
194 | 194 | <tbody> |
195 | 195 | |
196 | 196 | <tr> |
197 | 197 | <td colspan="<?php echo count( $this->get_subscriptions_table_columns() ); ?>"> |
198 | 198 | |
199 | 199 | <?php |
200 | - echo aui()->alert( |
|
201 | - array( |
|
202 | - 'content' => wp_kses_post( __( 'No subscriptions found.', 'invoicing' ) ), |
|
203 | - 'type' => 'warning', |
|
204 | - ) |
|
205 | - ); |
|
206 | - ?> |
|
200 | + echo aui()->alert( |
|
201 | + array( |
|
202 | + 'content' => wp_kses_post( __( 'No subscriptions found.', 'invoicing' ) ), |
|
203 | + 'type' => 'warning', |
|
204 | + ) |
|
205 | + ); |
|
206 | + ?> |
|
207 | 207 | |
208 | 208 | </td> |
209 | 209 | </tr> |
210 | 210 | |
211 | 211 | </tbody> |
212 | 212 | <?php |
213 | - } |
|
213 | + } |
|
214 | 214 | |
215 | - /** |
|
216 | - * Displays the table body if subscriptions were found. |
|
217 | - * |
|
218 | - * @param WPInv_Subscription[] $subscriptions |
|
219 | - */ |
|
220 | - public function print_table_body_subscriptions( $subscriptions ) { |
|
215 | + /** |
|
216 | + * Displays the table body if subscriptions were found. |
|
217 | + * |
|
218 | + * @param WPInv_Subscription[] $subscriptions |
|
219 | + */ |
|
220 | + public function print_table_body_subscriptions( $subscriptions ) { |
|
221 | 221 | |
222 | - ?> |
|
222 | + ?> |
|
223 | 223 | <tbody> |
224 | 224 | |
225 | 225 | <?php foreach ( $subscriptions as $subscription ) : ?> |
226 | 226 | <tr class="getpaid-subscriptions-table-row subscription-<?php echo (int) $subscription->get_id(); ?>"> |
227 | 227 | <?php |
228 | - wpinv_get_template( |
|
229 | - 'subscriptions/subscriptions-table-row.php', |
|
230 | - array( |
|
231 | - 'subscription' => $subscription, |
|
232 | - 'widget' => $this |
|
233 | - ) |
|
234 | - ); |
|
235 | - ?> |
|
228 | + wpinv_get_template( |
|
229 | + 'subscriptions/subscriptions-table-row.php', |
|
230 | + array( |
|
231 | + 'subscription' => $subscription, |
|
232 | + 'widget' => $this |
|
233 | + ) |
|
234 | + ); |
|
235 | + ?> |
|
236 | 236 | </tr> |
237 | 237 | <?php endforeach; ?> |
238 | 238 | |
239 | 239 | </tbody> |
240 | 240 | <?php |
241 | - } |
|
242 | - |
|
243 | - /** |
|
244 | - * Adds row actions to a column |
|
245 | - * |
|
246 | - * @param string $content column content |
|
247 | - * @param WPInv_Subscription $subscription |
|
248 | - * @since 1.0.0 |
|
249 | - * @return string |
|
250 | - */ |
|
251 | - public function add_row_actions( $content, $subscription ) { |
|
252 | - |
|
253 | - // Prepare row actions. |
|
254 | - $actions = array(); |
|
255 | - |
|
256 | - // View subscription action. |
|
257 | - $view_url = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) ); |
|
258 | - $view_url = esc_url( add_query_arg( 'subscription', (int) $subscription->get_id(), $view_url ) ); |
|
259 | - $actions['view'] = "<a href='$view_url' class='text-decoration-none'>" . __( 'Manage Subscription', 'invoicing' ) . '</a>'; |
|
260 | - |
|
261 | - // Filter the actions. |
|
262 | - $actions = apply_filters( 'getpaid_subscriptions_table_subscription_actions', $actions, $subscription ); |
|
263 | - |
|
264 | - $sanitized = array(); |
|
265 | - foreach ( $actions as $key => $action ) { |
|
266 | - $key = sanitize_html_class( $key ); |
|
267 | - $action = wp_kses_post( $action ); |
|
268 | - $sanitized[] = "<span class='$key'>$action</span>"; |
|
269 | - } |
|
270 | - |
|
271 | - $row_actions = "<small class='form-text getpaid-subscription-item-actions'>"; |
|
272 | - $row_actions .= implode( ' | ', $sanitized ); |
|
273 | - $row_actions .= '</small>'; |
|
274 | - |
|
275 | - return $content . $row_actions; |
|
276 | - } |
|
277 | - |
|
278 | - /** |
|
279 | - * Displays the table footer. |
|
280 | - * |
|
281 | - */ |
|
282 | - public function print_table_footer() { |
|
283 | - |
|
284 | - ?> |
|
241 | + } |
|
242 | + |
|
243 | + /** |
|
244 | + * Adds row actions to a column |
|
245 | + * |
|
246 | + * @param string $content column content |
|
247 | + * @param WPInv_Subscription $subscription |
|
248 | + * @since 1.0.0 |
|
249 | + * @return string |
|
250 | + */ |
|
251 | + public function add_row_actions( $content, $subscription ) { |
|
252 | + |
|
253 | + // Prepare row actions. |
|
254 | + $actions = array(); |
|
255 | + |
|
256 | + // View subscription action. |
|
257 | + $view_url = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) ); |
|
258 | + $view_url = esc_url( add_query_arg( 'subscription', (int) $subscription->get_id(), $view_url ) ); |
|
259 | + $actions['view'] = "<a href='$view_url' class='text-decoration-none'>" . __( 'Manage Subscription', 'invoicing' ) . '</a>'; |
|
260 | + |
|
261 | + // Filter the actions. |
|
262 | + $actions = apply_filters( 'getpaid_subscriptions_table_subscription_actions', $actions, $subscription ); |
|
263 | + |
|
264 | + $sanitized = array(); |
|
265 | + foreach ( $actions as $key => $action ) { |
|
266 | + $key = sanitize_html_class( $key ); |
|
267 | + $action = wp_kses_post( $action ); |
|
268 | + $sanitized[] = "<span class='$key'>$action</span>"; |
|
269 | + } |
|
270 | + |
|
271 | + $row_actions = "<small class='form-text getpaid-subscription-item-actions'>"; |
|
272 | + $row_actions .= implode( ' | ', $sanitized ); |
|
273 | + $row_actions .= '</small>'; |
|
274 | + |
|
275 | + return $content . $row_actions; |
|
276 | + } |
|
277 | + |
|
278 | + /** |
|
279 | + * Displays the table footer. |
|
280 | + * |
|
281 | + */ |
|
282 | + public function print_table_footer() { |
|
283 | + |
|
284 | + ?> |
|
285 | 285 | |
286 | 286 | <tfoot> |
287 | 287 | <tr> |
@@ -296,129 +296,129 @@ discard block |
||
296 | 296 | </table> |
297 | 297 | <?php |
298 | 298 | |
299 | - } |
|
299 | + } |
|
300 | 300 | |
301 | - /** |
|
302 | - * Displays the navigation. |
|
303 | - * |
|
304 | - * @param int $total |
|
305 | - */ |
|
306 | - public function print_navigation( $total ) { |
|
301 | + /** |
|
302 | + * Displays the navigation. |
|
303 | + * |
|
304 | + * @param int $total |
|
305 | + */ |
|
306 | + public function print_navigation( $total ) { |
|
307 | 307 | |
308 | - if ( $total < 1 ) { |
|
308 | + if ( $total < 1 ) { |
|
309 | 309 | |
310 | - // Out-of-bounds, run the query again without LIMIT for total count. |
|
311 | - $args = array( |
|
312 | - 'customer_in' => get_current_user_id(), |
|
313 | - 'fields' => 'id', |
|
314 | - ); |
|
310 | + // Out-of-bounds, run the query again without LIMIT for total count. |
|
311 | + $args = array( |
|
312 | + 'customer_in' => get_current_user_id(), |
|
313 | + 'fields' => 'id', |
|
314 | + ); |
|
315 | 315 | |
316 | - $count_query = new GetPaid_Subscriptions_Query( $args ); |
|
317 | - $total = $count_query->get_total(); |
|
318 | - } |
|
316 | + $count_query = new GetPaid_Subscriptions_Query( $args ); |
|
317 | + $total = $count_query->get_total(); |
|
318 | + } |
|
319 | 319 | |
320 | - // Abort if we do not have pages. |
|
321 | - if ( 2 > $total ) { |
|
322 | - return; |
|
323 | - } |
|
320 | + // Abort if we do not have pages. |
|
321 | + if ( 2 > $total ) { |
|
322 | + return; |
|
323 | + } |
|
324 | 324 | |
325 | - ?> |
|
325 | + ?> |
|
326 | 326 | |
327 | 327 | <div class="getpaid-subscriptions-pagination"> |
328 | 328 | <?php |
329 | - $big = 999999; |
|
330 | - |
|
331 | - echo getpaid_paginate_links( |
|
332 | - array( |
|
333 | - 'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), |
|
334 | - 'format' => '?paged=%#%', |
|
335 | - 'total' => (int) ceil( $total / 10 ), |
|
336 | - ) |
|
337 | - ); |
|
338 | - ?> |
|
329 | + $big = 999999; |
|
330 | + |
|
331 | + echo getpaid_paginate_links( |
|
332 | + array( |
|
333 | + 'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), |
|
334 | + 'format' => '?paged=%#%', |
|
335 | + 'total' => (int) ceil( $total / 10 ), |
|
336 | + ) |
|
337 | + ); |
|
338 | + ?> |
|
339 | 339 | </div> |
340 | 340 | |
341 | 341 | <?php |
342 | - } |
|
343 | - |
|
344 | - /** |
|
345 | - * Returns a single subscription's columns. |
|
346 | - * |
|
347 | - * @param WPInv_Subscription $subscription |
|
348 | - * |
|
349 | - * @return array |
|
350 | - */ |
|
351 | - public function get_single_subscription_columns( $subscription ) { |
|
352 | - |
|
353 | - // Prepare subscription detail columns. |
|
354 | - $fields = apply_filters( |
|
355 | - 'getpaid_single_subscription_details_fields', |
|
356 | - array( |
|
357 | - 'status' => __( 'Status', 'invoicing' ), |
|
358 | - 'initial_amount' => __( 'Initial amount', 'invoicing' ), |
|
359 | - 'recurring_amount' => __( 'Recurring amount', 'invoicing' ), |
|
360 | - 'start_date' => __( 'Start date', 'invoicing' ), |
|
361 | - 'expiry_date' => __( 'Next payment', 'invoicing' ), |
|
362 | - 'payments' => __( 'Payments', 'invoicing' ), |
|
363 | - 'item' => __( 'Item', 'invoicing' ), |
|
364 | - ), |
|
365 | - $subscription |
|
366 | - ); |
|
367 | - |
|
368 | - if ( ! $subscription->is_active() || $subscription->is_last_renewal() ) { |
|
369 | - $fields['expiry_date'] = __( 'End date', 'invoicing' ); |
|
370 | - } |
|
371 | - |
|
372 | - if ( $subscription->get_initial_amount() == $subscription->get_recurring_amount() ) { |
|
373 | - unset( $fields['initial_amount'] ); |
|
374 | - } |
|
375 | - |
|
376 | - return $fields; |
|
377 | - } |
|
378 | - |
|
379 | - /** |
|
380 | - * Displays a single subscription. |
|
381 | - * |
|
382 | - * @param string $subscription |
|
383 | - * |
|
384 | - * @return string |
|
385 | - */ |
|
386 | - public function display_single_subscription( $subscription ) { |
|
387 | - |
|
388 | - // Fetch the subscription. |
|
389 | - $subscription = new WPInv_Subscription( (int) $subscription ); |
|
390 | - |
|
391 | - if ( ! $subscription->get_id() ) { |
|
392 | - |
|
393 | - return aui()->alert( |
|
394 | - array( |
|
395 | - 'content' => wp_kses_post( __( 'Subscription not found.', 'invoicing' ) ), |
|
396 | - 'type' => 'error', |
|
397 | - ) |
|
398 | - ); |
|
399 | - |
|
400 | - } |
|
401 | - |
|
402 | - // Ensure that the user owns this subscription key. |
|
403 | - if ( get_current_user_id() != $subscription->get_customer_id() ) { |
|
404 | - |
|
405 | - return aui()->alert( |
|
406 | - array( |
|
407 | - 'content' => wp_kses_post( __( 'You do not have permission to view this subscription. Ensure that you are logged in to the account that owns the subscription.', 'invoicing' ) ), |
|
408 | - 'type' => 'error', |
|
409 | - ) |
|
410 | - ); |
|
411 | - |
|
412 | - } |
|
413 | - |
|
414 | - return wpinv_get_template_html( |
|
415 | - 'subscriptions/subscription-details.php', |
|
416 | - array( |
|
417 | - 'subscription' => $subscription, |
|
418 | - 'widget' => $this |
|
419 | - ) |
|
420 | - ); |
|
421 | - |
|
422 | - } |
|
342 | + } |
|
343 | + |
|
344 | + /** |
|
345 | + * Returns a single subscription's columns. |
|
346 | + * |
|
347 | + * @param WPInv_Subscription $subscription |
|
348 | + * |
|
349 | + * @return array |
|
350 | + */ |
|
351 | + public function get_single_subscription_columns( $subscription ) { |
|
352 | + |
|
353 | + // Prepare subscription detail columns. |
|
354 | + $fields = apply_filters( |
|
355 | + 'getpaid_single_subscription_details_fields', |
|
356 | + array( |
|
357 | + 'status' => __( 'Status', 'invoicing' ), |
|
358 | + 'initial_amount' => __( 'Initial amount', 'invoicing' ), |
|
359 | + 'recurring_amount' => __( 'Recurring amount', 'invoicing' ), |
|
360 | + 'start_date' => __( 'Start date', 'invoicing' ), |
|
361 | + 'expiry_date' => __( 'Next payment', 'invoicing' ), |
|
362 | + 'payments' => __( 'Payments', 'invoicing' ), |
|
363 | + 'item' => __( 'Item', 'invoicing' ), |
|
364 | + ), |
|
365 | + $subscription |
|
366 | + ); |
|
367 | + |
|
368 | + if ( ! $subscription->is_active() || $subscription->is_last_renewal() ) { |
|
369 | + $fields['expiry_date'] = __( 'End date', 'invoicing' ); |
|
370 | + } |
|
371 | + |
|
372 | + if ( $subscription->get_initial_amount() == $subscription->get_recurring_amount() ) { |
|
373 | + unset( $fields['initial_amount'] ); |
|
374 | + } |
|
375 | + |
|
376 | + return $fields; |
|
377 | + } |
|
378 | + |
|
379 | + /** |
|
380 | + * Displays a single subscription. |
|
381 | + * |
|
382 | + * @param string $subscription |
|
383 | + * |
|
384 | + * @return string |
|
385 | + */ |
|
386 | + public function display_single_subscription( $subscription ) { |
|
387 | + |
|
388 | + // Fetch the subscription. |
|
389 | + $subscription = new WPInv_Subscription( (int) $subscription ); |
|
390 | + |
|
391 | + if ( ! $subscription->get_id() ) { |
|
392 | + |
|
393 | + return aui()->alert( |
|
394 | + array( |
|
395 | + 'content' => wp_kses_post( __( 'Subscription not found.', 'invoicing' ) ), |
|
396 | + 'type' => 'error', |
|
397 | + ) |
|
398 | + ); |
|
399 | + |
|
400 | + } |
|
401 | + |
|
402 | + // Ensure that the user owns this subscription key. |
|
403 | + if ( get_current_user_id() != $subscription->get_customer_id() ) { |
|
404 | + |
|
405 | + return aui()->alert( |
|
406 | + array( |
|
407 | + 'content' => wp_kses_post( __( 'You do not have permission to view this subscription. Ensure that you are logged in to the account that owns the subscription.', 'invoicing' ) ), |
|
408 | + 'type' => 'error', |
|
409 | + ) |
|
410 | + ); |
|
411 | + |
|
412 | + } |
|
413 | + |
|
414 | + return wpinv_get_template_html( |
|
415 | + 'subscriptions/subscription-details.php', |
|
416 | + array( |
|
417 | + 'subscription' => $subscription, |
|
418 | + 'widget' => $this |
|
419 | + ) |
|
420 | + ); |
|
421 | + |
|
422 | + } |
|
423 | 423 | |
424 | 424 | } |
@@ -5,7 +5,7 @@ discard block |
||
5 | 5 | * @version 1.0.0 |
6 | 6 | */ |
7 | 7 | |
8 | -defined( 'ABSPATH' ) || exit; |
|
8 | +defined('ABSPATH') || exit; |
|
9 | 9 | |
10 | 10 | /** |
11 | 11 | * Contains the subscriptions widget. |
@@ -27,15 +27,15 @@ discard block |
||
27 | 27 | 'block-keywords'=> "['invoicing','subscriptions', 'getpaid']", |
28 | 28 | 'class_name' => __CLASS__, |
29 | 29 | 'base_id' => 'wpinv_subscriptions', |
30 | - 'name' => __( 'GetPaid > Subscriptions', 'invoicing' ), |
|
30 | + 'name' => __('GetPaid > Subscriptions', 'invoicing'), |
|
31 | 31 | 'widget_ops' => array( |
32 | 32 | 'classname' => 'getpaid-subscriptions bsui', |
33 | - 'description' => esc_html__( "Displays the current user's subscriptions.", 'invoicing' ), |
|
33 | + 'description' => esc_html__("Displays the current user's subscriptions.", 'invoicing'), |
|
34 | 34 | ), |
35 | 35 | 'arguments' => array( |
36 | 36 | 'title' => array( |
37 | - 'title' => __( 'Widget title', 'invoicing' ), |
|
38 | - 'desc' => __( 'Enter widget title.', 'invoicing' ), |
|
37 | + 'title' => __('Widget title', 'invoicing'), |
|
38 | + 'desc' => __('Enter widget title.', 'invoicing'), |
|
39 | 39 | 'type' => 'text', |
40 | 40 | 'desc_tip' => true, |
41 | 41 | 'default' => '', |
@@ -46,7 +46,7 @@ discard block |
||
46 | 46 | ); |
47 | 47 | |
48 | 48 | |
49 | - parent::__construct( $options ); |
|
49 | + parent::__construct($options); |
|
50 | 50 | } |
51 | 51 | |
52 | 52 | /** |
@@ -57,12 +57,12 @@ discard block |
||
57 | 57 | public function get_subscriptions() { |
58 | 58 | |
59 | 59 | // Prepare license args. |
60 | - $args = array( |
|
60 | + $args = array( |
|
61 | 61 | 'customer_in' => get_current_user_id(), |
62 | - 'paged' => ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1, |
|
62 | + 'paged' => (get_query_var('paged')) ? absint(get_query_var('paged')) : 1, |
|
63 | 63 | ); |
64 | 64 | |
65 | - return new GetPaid_Subscriptions_Query( $args ); |
|
65 | + return new GetPaid_Subscriptions_Query($args); |
|
66 | 66 | |
67 | 67 | } |
68 | 68 | |
@@ -75,14 +75,14 @@ discard block |
||
75 | 75 | * |
76 | 76 | * @return mixed|string|bool |
77 | 77 | */ |
78 | - public function output( $args = array(), $widget_args = array(), $content = '' ) { |
|
78 | + public function output($args = array(), $widget_args = array(), $content = '') { |
|
79 | 79 | |
80 | 80 | // Ensure that the user is logged in. |
81 | - if ( ! is_user_logged_in() ) { |
|
81 | + if (!is_user_logged_in()) { |
|
82 | 82 | |
83 | 83 | return aui()->alert( |
84 | 84 | array( |
85 | - 'content' => wp_kses_post( __( 'You need to log-in or create an account to view this section.', 'invoicing' ) ), |
|
85 | + 'content' => wp_kses_post(__('You need to log-in or create an account to view this section.', 'invoicing')), |
|
86 | 86 | 'type' => 'error', |
87 | 87 | ) |
88 | 88 | ); |
@@ -90,8 +90,8 @@ discard block |
||
90 | 90 | } |
91 | 91 | |
92 | 92 | // Are we displaying a single subscription? |
93 | - if ( isset( $_GET['subscription'] ) ) { |
|
94 | - return $this->display_single_subscription( trim( $_GET['subscription'] ) ); |
|
93 | + if (isset($_GET['subscription'])) { |
|
94 | + return $this->display_single_subscription(trim($_GET['subscription'])); |
|
95 | 95 | } |
96 | 96 | |
97 | 97 | // Retrieve the user's subscriptions. |
@@ -101,27 +101,27 @@ discard block |
||
101 | 101 | ob_start(); |
102 | 102 | |
103 | 103 | // Backwards compatibility. |
104 | - do_action( 'wpinv_before_user_subscriptions' ); |
|
104 | + do_action('wpinv_before_user_subscriptions'); |
|
105 | 105 | |
106 | 106 | // Display errors and notices. |
107 | 107 | wpinv_print_errors(); |
108 | 108 | |
109 | - do_action( 'getpaid_license_manager_before_subscriptions', $subscriptions ); |
|
109 | + do_action('getpaid_license_manager_before_subscriptions', $subscriptions); |
|
110 | 110 | |
111 | 111 | // Print the table header. |
112 | 112 | $this->print_table_header(); |
113 | 113 | |
114 | 114 | // Print table body. |
115 | - $this->print_table_body( $subscriptions->get_results() ); |
|
115 | + $this->print_table_body($subscriptions->get_results()); |
|
116 | 116 | |
117 | 117 | // Print table footer. |
118 | 118 | $this->print_table_footer(); |
119 | 119 | |
120 | 120 | // Print the navigation. |
121 | - $this->print_navigation( $subscriptions->get_total() ); |
|
121 | + $this->print_navigation($subscriptions->get_total()); |
|
122 | 122 | |
123 | 123 | // Backwards compatibility. |
124 | - do_action( 'wpinv_after_user_subscriptions' ); |
|
124 | + do_action('wpinv_after_user_subscriptions'); |
|
125 | 125 | |
126 | 126 | // Return the output. |
127 | 127 | return ob_get_clean(); |
@@ -136,13 +136,13 @@ discard block |
||
136 | 136 | public function get_subscriptions_table_columns() { |
137 | 137 | |
138 | 138 | $columns = array( |
139 | - 'subscription' => __( 'Subscription', 'invoicing' ), |
|
140 | - 'amount' => __( 'Amount', 'invoicing' ), |
|
141 | - 'renewal-date' => __( 'Next payment', 'invoicing' ), |
|
142 | - 'status' => __( 'Status', 'invoicing' ), |
|
139 | + 'subscription' => __('Subscription', 'invoicing'), |
|
140 | + 'amount' => __('Amount', 'invoicing'), |
|
141 | + 'renewal-date' => __('Next payment', 'invoicing'), |
|
142 | + 'status' => __('Status', 'invoicing'), |
|
143 | 143 | ); |
144 | 144 | |
145 | - return apply_filters( 'getpaid_frontend_subscriptions_table_columns', $columns ); |
|
145 | + return apply_filters('getpaid_frontend_subscriptions_table_columns', $columns); |
|
146 | 146 | } |
147 | 147 | |
148 | 148 | /** |
@@ -157,9 +157,9 @@ discard block |
||
157 | 157 | |
158 | 158 | <thead> |
159 | 159 | <tr> |
160 | - <?php foreach ( $this->get_subscriptions_table_columns() as $key => $label ) : ?> |
|
161 | - <th scope="col" class="font-weight-bold getpaid-subscriptions-table-<?php echo sanitize_html_class( $key ); ?>"> |
|
162 | - <?php echo sanitize_text_field( $label ); ?> |
|
160 | + <?php foreach ($this->get_subscriptions_table_columns() as $key => $label) : ?> |
|
161 | + <th scope="col" class="font-weight-bold getpaid-subscriptions-table-<?php echo sanitize_html_class($key); ?>"> |
|
162 | + <?php echo sanitize_text_field($label); ?> |
|
163 | 163 | </th> |
164 | 164 | <?php endforeach; ?> |
165 | 165 | </tr> |
@@ -174,12 +174,12 @@ discard block |
||
174 | 174 | * |
175 | 175 | * @param WPInv_Subscription[] $subscriptions |
176 | 176 | */ |
177 | - public function print_table_body( $subscriptions ) { |
|
177 | + public function print_table_body($subscriptions) { |
|
178 | 178 | |
179 | - if ( empty( $subscriptions ) ) { |
|
179 | + if (empty($subscriptions)) { |
|
180 | 180 | $this->print_table_body_no_subscriptions(); |
181 | 181 | } else { |
182 | - $this->print_table_body_subscriptions( $subscriptions ); |
|
182 | + $this->print_table_body_subscriptions($subscriptions); |
|
183 | 183 | } |
184 | 184 | |
185 | 185 | } |
@@ -194,12 +194,12 @@ discard block |
||
194 | 194 | <tbody> |
195 | 195 | |
196 | 196 | <tr> |
197 | - <td colspan="<?php echo count( $this->get_subscriptions_table_columns() ); ?>"> |
|
197 | + <td colspan="<?php echo count($this->get_subscriptions_table_columns()); ?>"> |
|
198 | 198 | |
199 | 199 | <?php |
200 | 200 | echo aui()->alert( |
201 | 201 | array( |
202 | - 'content' => wp_kses_post( __( 'No subscriptions found.', 'invoicing' ) ), |
|
202 | + 'content' => wp_kses_post(__('No subscriptions found.', 'invoicing')), |
|
203 | 203 | 'type' => 'warning', |
204 | 204 | ) |
205 | 205 | ); |
@@ -217,12 +217,12 @@ discard block |
||
217 | 217 | * |
218 | 218 | * @param WPInv_Subscription[] $subscriptions |
219 | 219 | */ |
220 | - public function print_table_body_subscriptions( $subscriptions ) { |
|
220 | + public function print_table_body_subscriptions($subscriptions) { |
|
221 | 221 | |
222 | 222 | ?> |
223 | 223 | <tbody> |
224 | 224 | |
225 | - <?php foreach ( $subscriptions as $subscription ) : ?> |
|
225 | + <?php foreach ($subscriptions as $subscription) : ?> |
|
226 | 226 | <tr class="getpaid-subscriptions-table-row subscription-<?php echo (int) $subscription->get_id(); ?>"> |
227 | 227 | <?php |
228 | 228 | wpinv_get_template( |
@@ -248,28 +248,28 @@ discard block |
||
248 | 248 | * @since 1.0.0 |
249 | 249 | * @return string |
250 | 250 | */ |
251 | - public function add_row_actions( $content, $subscription ) { |
|
251 | + public function add_row_actions($content, $subscription) { |
|
252 | 252 | |
253 | 253 | // Prepare row actions. |
254 | 254 | $actions = array(); |
255 | 255 | |
256 | 256 | // View subscription action. |
257 | - $view_url = getpaid_get_tab_url( 'gp-subscriptions', get_permalink( (int) wpinv_get_option( 'invoice_subscription_page' ) ) ); |
|
258 | - $view_url = esc_url( add_query_arg( 'subscription', (int) $subscription->get_id(), $view_url ) ); |
|
259 | - $actions['view'] = "<a href='$view_url' class='text-decoration-none'>" . __( 'Manage Subscription', 'invoicing' ) . '</a>'; |
|
257 | + $view_url = getpaid_get_tab_url('gp-subscriptions', get_permalink((int) wpinv_get_option('invoice_subscription_page'))); |
|
258 | + $view_url = esc_url(add_query_arg('subscription', (int) $subscription->get_id(), $view_url)); |
|
259 | + $actions['view'] = "<a href='$view_url' class='text-decoration-none'>" . __('Manage Subscription', 'invoicing') . '</a>'; |
|
260 | 260 | |
261 | 261 | // Filter the actions. |
262 | - $actions = apply_filters( 'getpaid_subscriptions_table_subscription_actions', $actions, $subscription ); |
|
262 | + $actions = apply_filters('getpaid_subscriptions_table_subscription_actions', $actions, $subscription); |
|
263 | 263 | |
264 | - $sanitized = array(); |
|
265 | - foreach ( $actions as $key => $action ) { |
|
266 | - $key = sanitize_html_class( $key ); |
|
267 | - $action = wp_kses_post( $action ); |
|
264 | + $sanitized = array(); |
|
265 | + foreach ($actions as $key => $action) { |
|
266 | + $key = sanitize_html_class($key); |
|
267 | + $action = wp_kses_post($action); |
|
268 | 268 | $sanitized[] = "<span class='$key'>$action</span>"; |
269 | 269 | } |
270 | 270 | |
271 | 271 | $row_actions = "<small class='form-text getpaid-subscription-item-actions'>"; |
272 | - $row_actions .= implode( ' | ', $sanitized ); |
|
272 | + $row_actions .= implode(' | ', $sanitized); |
|
273 | 273 | $row_actions .= '</small>'; |
274 | 274 | |
275 | 275 | return $content . $row_actions; |
@@ -285,9 +285,9 @@ discard block |
||
285 | 285 | |
286 | 286 | <tfoot> |
287 | 287 | <tr> |
288 | - <?php foreach ( $this->get_subscriptions_table_columns() as $key => $label ) : ?> |
|
289 | - <th class="font-weight-bold getpaid-subscriptions-<?php echo sanitize_html_class( $key ); ?>"> |
|
290 | - <?php echo sanitize_text_field( $label ); ?> |
|
288 | + <?php foreach ($this->get_subscriptions_table_columns() as $key => $label) : ?> |
|
289 | + <th class="font-weight-bold getpaid-subscriptions-<?php echo sanitize_html_class($key); ?>"> |
|
290 | + <?php echo sanitize_text_field($label); ?> |
|
291 | 291 | </th> |
292 | 292 | <?php endforeach; ?> |
293 | 293 | </tr> |
@@ -303,22 +303,22 @@ discard block |
||
303 | 303 | * |
304 | 304 | * @param int $total |
305 | 305 | */ |
306 | - public function print_navigation( $total ) { |
|
306 | + public function print_navigation($total) { |
|
307 | 307 | |
308 | - if ( $total < 1 ) { |
|
308 | + if ($total < 1) { |
|
309 | 309 | |
310 | 310 | // Out-of-bounds, run the query again without LIMIT for total count. |
311 | - $args = array( |
|
311 | + $args = array( |
|
312 | 312 | 'customer_in' => get_current_user_id(), |
313 | 313 | 'fields' => 'id', |
314 | 314 | ); |
315 | 315 | |
316 | - $count_query = new GetPaid_Subscriptions_Query( $args ); |
|
316 | + $count_query = new GetPaid_Subscriptions_Query($args); |
|
317 | 317 | $total = $count_query->get_total(); |
318 | 318 | } |
319 | 319 | |
320 | 320 | // Abort if we do not have pages. |
321 | - if ( 2 > $total ) { |
|
321 | + if (2 > $total) { |
|
322 | 322 | return; |
323 | 323 | } |
324 | 324 | |
@@ -330,9 +330,9 @@ discard block |
||
330 | 330 | |
331 | 331 | echo getpaid_paginate_links( |
332 | 332 | array( |
333 | - 'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), |
|
333 | + 'base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big))), |
|
334 | 334 | 'format' => '?paged=%#%', |
335 | - 'total' => (int) ceil( $total / 10 ), |
|
335 | + 'total' => (int) ceil($total / 10), |
|
336 | 336 | ) |
337 | 337 | ); |
338 | 338 | ?> |
@@ -348,29 +348,29 @@ discard block |
||
348 | 348 | * |
349 | 349 | * @return array |
350 | 350 | */ |
351 | - public function get_single_subscription_columns( $subscription ) { |
|
351 | + public function get_single_subscription_columns($subscription) { |
|
352 | 352 | |
353 | 353 | // Prepare subscription detail columns. |
354 | 354 | $fields = apply_filters( |
355 | 355 | 'getpaid_single_subscription_details_fields', |
356 | 356 | array( |
357 | - 'status' => __( 'Status', 'invoicing' ), |
|
358 | - 'initial_amount' => __( 'Initial amount', 'invoicing' ), |
|
359 | - 'recurring_amount' => __( 'Recurring amount', 'invoicing' ), |
|
360 | - 'start_date' => __( 'Start date', 'invoicing' ), |
|
361 | - 'expiry_date' => __( 'Next payment', 'invoicing' ), |
|
362 | - 'payments' => __( 'Payments', 'invoicing' ), |
|
363 | - 'item' => __( 'Item', 'invoicing' ), |
|
357 | + 'status' => __('Status', 'invoicing'), |
|
358 | + 'initial_amount' => __('Initial amount', 'invoicing'), |
|
359 | + 'recurring_amount' => __('Recurring amount', 'invoicing'), |
|
360 | + 'start_date' => __('Start date', 'invoicing'), |
|
361 | + 'expiry_date' => __('Next payment', 'invoicing'), |
|
362 | + 'payments' => __('Payments', 'invoicing'), |
|
363 | + 'item' => __('Item', 'invoicing'), |
|
364 | 364 | ), |
365 | 365 | $subscription |
366 | 366 | ); |
367 | 367 | |
368 | - if ( ! $subscription->is_active() || $subscription->is_last_renewal() ) { |
|
369 | - $fields['expiry_date'] = __( 'End date', 'invoicing' ); |
|
368 | + if (!$subscription->is_active() || $subscription->is_last_renewal()) { |
|
369 | + $fields['expiry_date'] = __('End date', 'invoicing'); |
|
370 | 370 | } |
371 | 371 | |
372 | - if ( $subscription->get_initial_amount() == $subscription->get_recurring_amount() ) { |
|
373 | - unset( $fields['initial_amount'] ); |
|
372 | + if ($subscription->get_initial_amount() == $subscription->get_recurring_amount()) { |
|
373 | + unset($fields['initial_amount']); |
|
374 | 374 | } |
375 | 375 | |
376 | 376 | return $fields; |
@@ -383,16 +383,16 @@ discard block |
||
383 | 383 | * |
384 | 384 | * @return string |
385 | 385 | */ |
386 | - public function display_single_subscription( $subscription ) { |
|
386 | + public function display_single_subscription($subscription) { |
|
387 | 387 | |
388 | 388 | // Fetch the subscription. |
389 | - $subscription = new WPInv_Subscription( (int) $subscription ); |
|
389 | + $subscription = new WPInv_Subscription((int) $subscription); |
|
390 | 390 | |
391 | - if ( ! $subscription->get_id() ) { |
|
391 | + if (!$subscription->get_id()) { |
|
392 | 392 | |
393 | 393 | return aui()->alert( |
394 | 394 | array( |
395 | - 'content' => wp_kses_post( __( 'Subscription not found.', 'invoicing' ) ), |
|
395 | + 'content' => wp_kses_post(__('Subscription not found.', 'invoicing')), |
|
396 | 396 | 'type' => 'error', |
397 | 397 | ) |
398 | 398 | ); |
@@ -400,11 +400,11 @@ discard block |
||
400 | 400 | } |
401 | 401 | |
402 | 402 | // Ensure that the user owns this subscription key. |
403 | - if ( get_current_user_id() != $subscription->get_customer_id() ) { |
|
403 | + if (get_current_user_id() != $subscription->get_customer_id()) { |
|
404 | 404 | |
405 | 405 | return aui()->alert( |
406 | 406 | array( |
407 | - 'content' => wp_kses_post( __( 'You do not have permission to view this subscription. Ensure that you are logged in to the account that owns the subscription.', 'invoicing' ) ), |
|
407 | + 'content' => wp_kses_post(__('You do not have permission to view this subscription. Ensure that you are logged in to the account that owns the subscription.', 'invoicing')), |
|
408 | 408 | 'type' => 'error', |
409 | 409 | ) |
410 | 410 | ); |
@@ -67,7 +67,7 @@ discard block |
||
67 | 67 | * Checks if the current user cna view an invoice receipt. |
68 | 68 | */ |
69 | 69 | function wpinv_can_view_receipt( $invoice ) { |
70 | - return (bool) apply_filters( 'wpinv_can_view_receipt', wpinv_user_can_view_invoice( $invoice ), $invoice ); |
|
70 | + return (bool) apply_filters( 'wpinv_can_view_receipt', wpinv_user_can_view_invoice( $invoice ), $invoice ); |
|
71 | 71 | } |
72 | 72 | |
73 | 73 | /** |
@@ -1256,21 +1256,21 @@ discard block |
||
1256 | 1256 | */ |
1257 | 1257 | function getpaid_get_invoice_status_classes() { |
1258 | 1258 | |
1259 | - return apply_filters( |
|
1260 | - 'getpaid_get_invoice_status_classes', |
|
1261 | - array( |
|
1259 | + return apply_filters( |
|
1260 | + 'getpaid_get_invoice_status_classes', |
|
1261 | + array( |
|
1262 | 1262 | 'wpi-quote-declined' => 'badge-danger', |
1263 | 1263 | 'wpi-failed' => 'badge-danger', |
1264 | - 'wpi-processing' => 'badge-info', |
|
1265 | - 'wpi-onhold' => 'badge-warning', |
|
1266 | - 'wpi-quote-accepted' => 'badge-success', |
|
1267 | - 'publish' => 'badge-success', |
|
1268 | - 'wpi-renewal' => 'badge-primary', |
|
1264 | + 'wpi-processing' => 'badge-info', |
|
1265 | + 'wpi-onhold' => 'badge-warning', |
|
1266 | + 'wpi-quote-accepted' => 'badge-success', |
|
1267 | + 'publish' => 'badge-success', |
|
1268 | + 'wpi-renewal' => 'badge-primary', |
|
1269 | 1269 | 'wpi-cancelled' => 'badge-secondary', |
1270 | 1270 | 'wpi-pending' => 'badge-dark', |
1271 | 1271 | 'wpi-quote-pending' => 'badge-dark', |
1272 | 1272 | 'wpi-refunded' => 'badge-secondary', |
1273 | - ) |
|
1274 | - ); |
|
1273 | + ) |
|
1274 | + ); |
|
1275 | 1275 | |
1276 | 1276 | } |
@@ -6,7 +6,7 @@ discard block |
||
6 | 6 | * @package Invoicing |
7 | 7 | */ |
8 | 8 | |
9 | -defined( 'ABSPATH' ) || exit; |
|
9 | +defined('ABSPATH') || exit; |
|
10 | 10 | |
11 | 11 | /** |
12 | 12 | * Retrieves the current invoice. |
@@ -14,15 +14,15 @@ discard block |
||
14 | 14 | function getpaid_get_current_invoice_id() { |
15 | 15 | |
16 | 16 | // Ensure that we have an invoice key. |
17 | - if ( empty( $_GET['invoice_key'] ) ) { |
|
17 | + if (empty($_GET['invoice_key'])) { |
|
18 | 18 | return 0; |
19 | 19 | } |
20 | 20 | |
21 | 21 | // Retrieve an invoice using the key. |
22 | - $invoice = new WPInv_Invoice( $_GET['invoice_key'] ); |
|
22 | + $invoice = new WPInv_Invoice($_GET['invoice_key']); |
|
23 | 23 | |
24 | 24 | // Compare the invoice key and the parsed key. |
25 | - if ( $invoice->get_id() != 0 && $invoice->get_key() == $_GET['invoice_key'] ) { |
|
25 | + if ($invoice->get_id() != 0 && $invoice->get_key() == $_GET['invoice_key']) { |
|
26 | 26 | return $invoice->get_id(); |
27 | 27 | } |
28 | 28 | |
@@ -32,42 +32,42 @@ discard block |
||
32 | 32 | /** |
33 | 33 | * Checks if the current user cna view an invoice. |
34 | 34 | */ |
35 | -function wpinv_user_can_view_invoice( $invoice ) { |
|
36 | - $invoice = new WPInv_Invoice( $invoice ); |
|
35 | +function wpinv_user_can_view_invoice($invoice) { |
|
36 | + $invoice = new WPInv_Invoice($invoice); |
|
37 | 37 | |
38 | 38 | // Abort if the invoice does not exist. |
39 | - if ( 0 == $invoice->get_id() ) { |
|
39 | + if (0 == $invoice->get_id()) { |
|
40 | 40 | return false; |
41 | 41 | } |
42 | 42 | |
43 | 43 | // Don't allow trash, draft status |
44 | - if ( $invoice->is_draft() ) { |
|
44 | + if ($invoice->is_draft()) { |
|
45 | 45 | return false; |
46 | 46 | } |
47 | 47 | |
48 | 48 | // If users are not required to login to check out, compare the invoice keys. |
49 | - if ( ! wpinv_require_login_to_checkout() && isset( $_GET['invoice_key'] ) && trim( $_GET['invoice_key'] ) == $invoice->get_key() ) { |
|
49 | + if (!wpinv_require_login_to_checkout() && isset($_GET['invoice_key']) && trim($_GET['invoice_key']) == $invoice->get_key()) { |
|
50 | 50 | return true; |
51 | 51 | } |
52 | 52 | |
53 | 53 | // Always enable for admins.. |
54 | - if ( wpinv_current_user_can_manage_invoicing() || current_user_can( 'view_invoices', $invoice->get_id() ) ) { // Admin user |
|
54 | + if (wpinv_current_user_can_manage_invoicing() || current_user_can('view_invoices', $invoice->get_id())) { // Admin user |
|
55 | 55 | return true; |
56 | 56 | } |
57 | 57 | |
58 | 58 | // Else, ensure that this is their invoice. |
59 | - if ( is_user_logged_in() && $invoice->get_user_id() == get_current_user_id() ) { |
|
59 | + if (is_user_logged_in() && $invoice->get_user_id() == get_current_user_id()) { |
|
60 | 60 | return true; |
61 | 61 | } |
62 | 62 | |
63 | - return apply_filters( 'wpinv_current_user_can_view_invoice', false, $invoice ); |
|
63 | + return apply_filters('wpinv_current_user_can_view_invoice', false, $invoice); |
|
64 | 64 | } |
65 | 65 | |
66 | 66 | /** |
67 | 67 | * Checks if the current user cna view an invoice receipt. |
68 | 68 | */ |
69 | -function wpinv_can_view_receipt( $invoice ) { |
|
70 | - return (bool) apply_filters( 'wpinv_can_view_receipt', wpinv_user_can_view_invoice( $invoice ), $invoice ); |
|
69 | +function wpinv_can_view_receipt($invoice) { |
|
70 | + return (bool) apply_filters('wpinv_can_view_receipt', wpinv_user_can_view_invoice($invoice), $invoice); |
|
71 | 71 | } |
72 | 72 | |
73 | 73 | /** |
@@ -77,16 +77,16 @@ discard block |
||
77 | 77 | */ |
78 | 78 | function getpaid_get_invoice_post_types() { |
79 | 79 | $post_types = array( |
80 | - 'wpi_quote' => __( 'Quote', 'invoicing' ), |
|
81 | - 'wpi_invoice' => __( 'Invoice', 'invoicing' ), |
|
80 | + 'wpi_quote' => __('Quote', 'invoicing'), |
|
81 | + 'wpi_invoice' => __('Invoice', 'invoicing'), |
|
82 | 82 | ); |
83 | 83 | |
84 | 84 | // Ensure the quotes addon is installed. |
85 | - if ( ! defined( 'WPINV_QUOTES_VERSION' ) ) { |
|
86 | - unset( $post_types['wpi_quote'] ); |
|
85 | + if (!defined('WPINV_QUOTES_VERSION')) { |
|
86 | + unset($post_types['wpi_quote']); |
|
87 | 87 | } |
88 | 88 | |
89 | - return apply_filters( 'getpaid_invoice_post_types', $post_types ); |
|
89 | + return apply_filters('getpaid_invoice_post_types', $post_types); |
|
90 | 90 | } |
91 | 91 | |
92 | 92 | /** |
@@ -95,8 +95,8 @@ discard block |
||
95 | 95 | * |
96 | 96 | * @param string $post_type The post type to check for. |
97 | 97 | */ |
98 | -function getpaid_is_invoice_post_type( $post_type ) { |
|
99 | - return is_scalar( $post_type ) && ! empty( $post_type ) && array_key_exists( $post_type, getpaid_get_invoice_post_types() ); |
|
98 | +function getpaid_is_invoice_post_type($post_type) { |
|
99 | + return is_scalar($post_type) && !empty($post_type) && array_key_exists($post_type, getpaid_get_invoice_post_types()); |
|
100 | 100 | } |
101 | 101 | |
102 | 102 | /** |
@@ -106,9 +106,9 @@ discard block |
||
106 | 106 | * @param bool $wp_error Whether to return false or WP_Error on failure. |
107 | 107 | * @return int|WP_Error|WPInv_Invoice The value 0 or WP_Error on failure. The WPInv_Invoice object on success. |
108 | 108 | */ |
109 | -function wpinv_create_invoice( $data = array(), $deprecated = null, $wp_error = false ) { |
|
110 | - $data[ 'invoice_id' ] = 0; |
|
111 | - return wpinv_insert_invoice( $data, $wp_error ); |
|
109 | +function wpinv_create_invoice($data = array(), $deprecated = null, $wp_error = false) { |
|
110 | + $data['invoice_id'] = 0; |
|
111 | + return wpinv_insert_invoice($data, $wp_error); |
|
112 | 112 | } |
113 | 113 | |
114 | 114 | /** |
@@ -118,36 +118,36 @@ discard block |
||
118 | 118 | * @param bool $wp_error Whether to return false or WP_Error on failure. |
119 | 119 | * @return int|WP_Error|WPInv_Invoice The value 0 or WP_Error on failure. The WPInv_Invoice object on success. |
120 | 120 | */ |
121 | -function wpinv_update_invoice( $data = array(), $wp_error = false ) { |
|
121 | +function wpinv_update_invoice($data = array(), $wp_error = false) { |
|
122 | 122 | |
123 | 123 | // Backwards compatibility. |
124 | - if ( ! empty( $data['ID'] ) ) { |
|
124 | + if (!empty($data['ID'])) { |
|
125 | 125 | $data['invoice_id'] = $data['ID']; |
126 | 126 | } |
127 | 127 | |
128 | 128 | // Do we have an invoice id? |
129 | - if ( empty( $data['invoice_id'] ) ) { |
|
130 | - return $wp_error ? new WP_Error( 'invalid_invoice_id', __( 'Invalid invoice ID.', 'invoicing' ) ) : 0; |
|
129 | + if (empty($data['invoice_id'])) { |
|
130 | + return $wp_error ? new WP_Error('invalid_invoice_id', __('Invalid invoice ID.', 'invoicing')) : 0; |
|
131 | 131 | } |
132 | 132 | |
133 | 133 | // Retrieve the invoice. |
134 | - $invoice = wpinv_get_invoice( $data['invoice_id'] ); |
|
134 | + $invoice = wpinv_get_invoice($data['invoice_id']); |
|
135 | 135 | |
136 | 136 | // And abort if it does not exist. |
137 | - if ( empty( $invoice ) ) { |
|
138 | - return $wp_error ? new WP_Error( 'missing_invoice', __( 'Invoice not found.', 'invoicing' ) ) : 0; |
|
137 | + if (empty($invoice)) { |
|
138 | + return $wp_error ? new WP_Error('missing_invoice', __('Invoice not found.', 'invoicing')) : 0; |
|
139 | 139 | } |
140 | 140 | |
141 | 141 | // Do not update totals for paid / refunded invoices. |
142 | - if ( $invoice->is_paid() || $invoice->is_refunded() ) { |
|
142 | + if ($invoice->is_paid() || $invoice->is_refunded()) { |
|
143 | 143 | |
144 | - if ( ! empty( $data['items'] ) || ! empty( $data['cart_details'] ) ) { |
|
145 | - return $wp_error ? new WP_Error( 'paid_invoice', __( 'You can not update cart items for invoices that have already been paid for.', 'invoicing' ) ) : 0; |
|
144 | + if (!empty($data['items']) || !empty($data['cart_details'])) { |
|
145 | + return $wp_error ? new WP_Error('paid_invoice', __('You can not update cart items for invoices that have already been paid for.', 'invoicing')) : 0; |
|
146 | 146 | } |
147 | 147 | |
148 | 148 | } |
149 | 149 | |
150 | - return wpinv_insert_invoice( $data, $wp_error ); |
|
150 | + return wpinv_insert_invoice($data, $wp_error); |
|
151 | 151 | |
152 | 152 | } |
153 | 153 | |
@@ -158,34 +158,34 @@ discard block |
||
158 | 158 | * @param bool $wp_error Whether to return false or WP_Error on failure. |
159 | 159 | * @return int|WP_Error|WPInv_Invoice The value 0 or WP_Error on failure. The WPInv_Invoice object on success. |
160 | 160 | */ |
161 | -function wpinv_insert_invoice( $data = array(), $wp_error = false ) { |
|
161 | +function wpinv_insert_invoice($data = array(), $wp_error = false) { |
|
162 | 162 | |
163 | 163 | // Ensure that we have invoice data. |
164 | - if ( empty( $data ) ) { |
|
164 | + if (empty($data)) { |
|
165 | 165 | return false; |
166 | 166 | } |
167 | 167 | |
168 | 168 | // The invoice id will be provided when updating an invoice. |
169 | - $data['invoice_id'] = ! empty( $data['invoice_id'] ) ? (int) $data['invoice_id'] : false; |
|
169 | + $data['invoice_id'] = !empty($data['invoice_id']) ? (int) $data['invoice_id'] : false; |
|
170 | 170 | |
171 | 171 | // Retrieve the invoice. |
172 | - $invoice = new WPInv_Invoice( $data['invoice_id'] ); |
|
172 | + $invoice = new WPInv_Invoice($data['invoice_id']); |
|
173 | 173 | |
174 | 174 | // Do we have an error? |
175 | - if ( ! empty( $invoice->last_error ) ) { |
|
176 | - return $wp_error ? new WP_Error( 'invalid_invoice_id', $invoice->last_error ) : 0; |
|
175 | + if (!empty($invoice->last_error)) { |
|
176 | + return $wp_error ? new WP_Error('invalid_invoice_id', $invoice->last_error) : 0; |
|
177 | 177 | } |
178 | 178 | |
179 | 179 | // Backwards compatibility (billing address). |
180 | - if ( ! empty( $data['user_info'] ) ) { |
|
180 | + if (!empty($data['user_info'])) { |
|
181 | 181 | |
182 | - foreach ( $data['user_info'] as $key => $value ) { |
|
182 | + foreach ($data['user_info'] as $key => $value) { |
|
183 | 183 | |
184 | - if ( $key == 'discounts' ) { |
|
184 | + if ($key == 'discounts') { |
|
185 | 185 | $value = (array) $value; |
186 | - $data[ 'discount_code' ] = empty( $value ) ? null : $value[0]; |
|
186 | + $data['discount_code'] = empty($value) ? null : $value[0]; |
|
187 | 187 | } else { |
188 | - $data[ $key ] = $value; |
|
188 | + $data[$key] = $value; |
|
189 | 189 | } |
190 | 190 | |
191 | 191 | } |
@@ -193,30 +193,30 @@ discard block |
||
193 | 193 | } |
194 | 194 | |
195 | 195 | // Backwards compatibility. |
196 | - if ( ! empty( $data['payment_details'] ) ) { |
|
196 | + if (!empty($data['payment_details'])) { |
|
197 | 197 | |
198 | - foreach ( $data['payment_details'] as $key => $value ) { |
|
199 | - $data[ $key ] = $value; |
|
198 | + foreach ($data['payment_details'] as $key => $value) { |
|
199 | + $data[$key] = $value; |
|
200 | 200 | } |
201 | 201 | |
202 | 202 | } |
203 | 203 | |
204 | 204 | // Set up the owner of the invoice. |
205 | - $user_id = ! empty( $data['user_id'] ) ? wpinv_clean( $data['user_id'] ) : get_current_user_id(); |
|
205 | + $user_id = !empty($data['user_id']) ? wpinv_clean($data['user_id']) : get_current_user_id(); |
|
206 | 206 | |
207 | 207 | // Make sure the user exists. |
208 | - if ( ! get_userdata( $user_id ) ) { |
|
209 | - return $wp_error ? new WP_Error( 'wpinv_invalid_user', __( 'There is no user with that ID.', 'invoicing' ) ) : 0; |
|
208 | + if (!get_userdata($user_id)) { |
|
209 | + return $wp_error ? new WP_Error('wpinv_invalid_user', __('There is no user with that ID.', 'invoicing')) : 0; |
|
210 | 210 | } |
211 | 211 | |
212 | - $address = wpinv_get_user_address( $user_id ); |
|
212 | + $address = wpinv_get_user_address($user_id); |
|
213 | 213 | |
214 | - foreach ( $address as $key => $value ) { |
|
214 | + foreach ($address as $key => $value) { |
|
215 | 215 | |
216 | - if ( $value == '' ) { |
|
217 | - $address[ $key ] = null; |
|
216 | + if ($value == '') { |
|
217 | + $address[$key] = null; |
|
218 | 218 | } else { |
219 | - $address[ $key ] = wpinv_clean( $value ); |
|
219 | + $address[$key] = wpinv_clean($value); |
|
220 | 220 | } |
221 | 221 | |
222 | 222 | } |
@@ -227,103 +227,103 @@ discard block |
||
227 | 227 | array( |
228 | 228 | |
229 | 229 | // Basic info. |
230 | - 'template' => isset( $data['template'] ) ? wpinv_clean( $data['template'] ) : null, |
|
231 | - 'email_cc' => isset( $data['email_cc'] ) ? wpinv_clean( $data['email_cc'] ) : null, |
|
232 | - 'date_created' => isset( $data['created_date'] ) ? wpinv_clean( $data['created_date'] ) : null, |
|
233 | - 'due_date' => isset( $data['due_date'] ) ? wpinv_clean( $data['due_date'] ) : null, |
|
234 | - 'date_completed' => isset( $data['date_completed'] ) ? wpinv_clean( $data['date_completed'] ) : null, |
|
235 | - 'number' => isset( $data['number'] ) ? wpinv_clean( $data['number'] ) : null, |
|
236 | - 'key' => isset( $data['key'] ) ? wpinv_clean( $data['key'] ) : null, |
|
237 | - 'status' => isset( $data['status'] ) ? wpinv_clean( $data['status'] ) : null, |
|
238 | - 'post_type' => isset( $data['post_type'] ) ? wpinv_clean( $data['post_type'] ) : null, |
|
239 | - 'user_ip' => isset( $data['ip'] ) ? wpinv_clean( $data['ip'] ) : wpinv_get_ip(), |
|
240 | - 'parent_id' => isset( $data['parent'] ) ? intval( $data['parent'] ) : null, |
|
241 | - 'mode' => isset( $data['mode'] ) ? wpinv_clean( $data['mode'] ) : null, |
|
242 | - 'description' => isset( $data['description'] ) ? wp_kses_post( $data['description'] ) : null, |
|
230 | + 'template' => isset($data['template']) ? wpinv_clean($data['template']) : null, |
|
231 | + 'email_cc' => isset($data['email_cc']) ? wpinv_clean($data['email_cc']) : null, |
|
232 | + 'date_created' => isset($data['created_date']) ? wpinv_clean($data['created_date']) : null, |
|
233 | + 'due_date' => isset($data['due_date']) ? wpinv_clean($data['due_date']) : null, |
|
234 | + 'date_completed' => isset($data['date_completed']) ? wpinv_clean($data['date_completed']) : null, |
|
235 | + 'number' => isset($data['number']) ? wpinv_clean($data['number']) : null, |
|
236 | + 'key' => isset($data['key']) ? wpinv_clean($data['key']) : null, |
|
237 | + 'status' => isset($data['status']) ? wpinv_clean($data['status']) : null, |
|
238 | + 'post_type' => isset($data['post_type']) ? wpinv_clean($data['post_type']) : null, |
|
239 | + 'user_ip' => isset($data['ip']) ? wpinv_clean($data['ip']) : wpinv_get_ip(), |
|
240 | + 'parent_id' => isset($data['parent']) ? intval($data['parent']) : null, |
|
241 | + 'mode' => isset($data['mode']) ? wpinv_clean($data['mode']) : null, |
|
242 | + 'description' => isset($data['description']) ? wp_kses_post($data['description']) : null, |
|
243 | 243 | |
244 | 244 | // Payment info. |
245 | - 'disable_taxes' => ! empty( $data['disable_taxes'] ), |
|
246 | - 'currency' => isset( $data['currency'] ) ? wpinv_clean( $data['currency'] ) : wpinv_get_currency(), |
|
247 | - 'gateway' => isset( $data['gateway'] ) ? wpinv_clean( $data['gateway'] ) : null, |
|
248 | - 'transaction_id' => isset( $data['transaction_id'] ) ? wpinv_clean( $data['transaction_id'] ) : null, |
|
249 | - 'discount_code' => isset( $data['discount_code'] ) ? wpinv_clean( $data['discount_code'] ) : null, |
|
250 | - 'payment_form' => isset( $data['payment_form'] ) ? intval( $data['payment_form'] ) : null, |
|
251 | - 'submission_id' => isset( $data['submission_id'] ) ? wpinv_clean( $data['submission_id'] ) : null, |
|
252 | - 'subscription_id' => isset( $data['subscription_id'] ) ? wpinv_clean( $data['subscription_id'] ) : null, |
|
253 | - 'is_viewed' => isset( $data['is_viewed'] ) ? wpinv_clean( $data['is_viewed'] ) : null, |
|
254 | - 'fees' => isset( $data['fees'] ) ? wpinv_clean( $data['fees'] ) : null, |
|
255 | - 'discounts' => isset( $data['discounts'] ) ? wpinv_clean( $data['discounts'] ) : null, |
|
256 | - 'taxes' => isset( $data['taxes'] ) ? wpinv_clean( $data['taxes'] ) : null, |
|
245 | + 'disable_taxes' => !empty($data['disable_taxes']), |
|
246 | + 'currency' => isset($data['currency']) ? wpinv_clean($data['currency']) : wpinv_get_currency(), |
|
247 | + 'gateway' => isset($data['gateway']) ? wpinv_clean($data['gateway']) : null, |
|
248 | + 'transaction_id' => isset($data['transaction_id']) ? wpinv_clean($data['transaction_id']) : null, |
|
249 | + 'discount_code' => isset($data['discount_code']) ? wpinv_clean($data['discount_code']) : null, |
|
250 | + 'payment_form' => isset($data['payment_form']) ? intval($data['payment_form']) : null, |
|
251 | + 'submission_id' => isset($data['submission_id']) ? wpinv_clean($data['submission_id']) : null, |
|
252 | + 'subscription_id' => isset($data['subscription_id']) ? wpinv_clean($data['subscription_id']) : null, |
|
253 | + 'is_viewed' => isset($data['is_viewed']) ? wpinv_clean($data['is_viewed']) : null, |
|
254 | + 'fees' => isset($data['fees']) ? wpinv_clean($data['fees']) : null, |
|
255 | + 'discounts' => isset($data['discounts']) ? wpinv_clean($data['discounts']) : null, |
|
256 | + 'taxes' => isset($data['taxes']) ? wpinv_clean($data['taxes']) : null, |
|
257 | 257 | |
258 | 258 | |
259 | 259 | // Billing details. |
260 | 260 | 'user_id' => $data['user_id'], |
261 | - 'first_name' => isset( $data['first_name'] ) ? wpinv_clean( $data['first_name'] ) : $address['first_name'], |
|
262 | - 'last_name' => isset( $data['last_name'] ) ? wpinv_clean( $data['last_name'] ) : $address['last_name'], |
|
263 | - 'address' => isset( $data['address'] ) ? wpinv_clean( $data['address'] ) : $address['address'] , |
|
264 | - 'vat_number' => isset( $data['vat_number'] ) ? wpinv_clean( $data['vat_number'] ) : $address['vat_number'], |
|
265 | - 'company' => isset( $data['company'] ) ? wpinv_clean( $data['company'] ) : $address['company'], |
|
266 | - 'zip' => isset( $data['zip'] ) ? wpinv_clean( $data['zip'] ) : $address['zip'], |
|
267 | - 'state' => isset( $data['state'] ) ? wpinv_clean( $data['state'] ) : $address['state'], |
|
268 | - 'city' => isset( $data['city'] ) ? wpinv_clean( $data['city'] ) : $address['city'], |
|
269 | - 'country' => isset( $data['country'] ) ? wpinv_clean( $data['country'] ) : $address['country'], |
|
270 | - 'phone' => isset( $data['phone'] ) ? wpinv_clean( $data['phone'] ) : $address['phone'], |
|
271 | - 'address_confirmed' => ! empty( $data['address_confirmed'] ), |
|
261 | + 'first_name' => isset($data['first_name']) ? wpinv_clean($data['first_name']) : $address['first_name'], |
|
262 | + 'last_name' => isset($data['last_name']) ? wpinv_clean($data['last_name']) : $address['last_name'], |
|
263 | + 'address' => isset($data['address']) ? wpinv_clean($data['address']) : $address['address'], |
|
264 | + 'vat_number' => isset($data['vat_number']) ? wpinv_clean($data['vat_number']) : $address['vat_number'], |
|
265 | + 'company' => isset($data['company']) ? wpinv_clean($data['company']) : $address['company'], |
|
266 | + 'zip' => isset($data['zip']) ? wpinv_clean($data['zip']) : $address['zip'], |
|
267 | + 'state' => isset($data['state']) ? wpinv_clean($data['state']) : $address['state'], |
|
268 | + 'city' => isset($data['city']) ? wpinv_clean($data['city']) : $address['city'], |
|
269 | + 'country' => isset($data['country']) ? wpinv_clean($data['country']) : $address['country'], |
|
270 | + 'phone' => isset($data['phone']) ? wpinv_clean($data['phone']) : $address['phone'], |
|
271 | + 'address_confirmed' => !empty($data['address_confirmed']), |
|
272 | 272 | |
273 | 273 | ) |
274 | 274 | |
275 | 275 | ); |
276 | 276 | |
277 | 277 | // Backwards compatibililty. |
278 | - if ( ! empty( $data['cart_details'] ) && is_array( $data['cart_details'] ) ) { |
|
278 | + if (!empty($data['cart_details']) && is_array($data['cart_details'])) { |
|
279 | 279 | $data['items'] = array(); |
280 | 280 | |
281 | - foreach( $data['cart_details'] as $_item ) { |
|
281 | + foreach ($data['cart_details'] as $_item) { |
|
282 | 282 | |
283 | 283 | // Ensure that we have an item id. |
284 | - if ( empty( $_item['id'] ) ) { |
|
284 | + if (empty($_item['id'])) { |
|
285 | 285 | continue; |
286 | 286 | } |
287 | 287 | |
288 | 288 | // Retrieve the item. |
289 | - $item = new GetPaid_Form_Item( $_item['id'] ); |
|
289 | + $item = new GetPaid_Form_Item($_item['id']); |
|
290 | 290 | |
291 | 291 | // Ensure that it is purchasable. |
292 | - if ( ! $item->can_purchase() ) { |
|
292 | + if (!$item->can_purchase()) { |
|
293 | 293 | continue; |
294 | 294 | } |
295 | 295 | |
296 | 296 | // Set quantity. |
297 | - if ( ! empty( $_item['quantity'] ) && is_numeric( $_item['quantity'] ) ) { |
|
298 | - $item->set_quantity( $_item['quantity'] ); |
|
297 | + if (!empty($_item['quantity']) && is_numeric($_item['quantity'])) { |
|
298 | + $item->set_quantity($_item['quantity']); |
|
299 | 299 | } |
300 | 300 | |
301 | 301 | // Set price. |
302 | - if ( isset( $_item['item_price'] ) ) { |
|
303 | - $item->set_price( $_item['item_price'] ); |
|
302 | + if (isset($_item['item_price'])) { |
|
303 | + $item->set_price($_item['item_price']); |
|
304 | 304 | } |
305 | 305 | |
306 | - if ( isset( $_item['custom_price'] ) ) { |
|
307 | - $item->set_price( $_item['custom_price'] ); |
|
306 | + if (isset($_item['custom_price'])) { |
|
307 | + $item->set_price($_item['custom_price']); |
|
308 | 308 | } |
309 | 309 | |
310 | 310 | // Set name. |
311 | - if ( ! empty( $_item['name'] ) ) { |
|
312 | - $item->set_name( $_item['name'] ); |
|
311 | + if (!empty($_item['name'])) { |
|
312 | + $item->set_name($_item['name']); |
|
313 | 313 | } |
314 | 314 | |
315 | 315 | // Set description. |
316 | - if ( isset( $_item['description'] ) ) { |
|
317 | - $item->set_custom_description( $_item['description'] ); |
|
316 | + if (isset($_item['description'])) { |
|
317 | + $item->set_custom_description($_item['description']); |
|
318 | 318 | } |
319 | 319 | |
320 | 320 | // Set meta. |
321 | - if ( isset( $_item['meta'] ) && is_array( $_item['meta'] ) ) { |
|
321 | + if (isset($_item['meta']) && is_array($_item['meta'])) { |
|
322 | 322 | |
323 | - $item->set_item_meta( $_item['meta'] ); |
|
323 | + $item->set_item_meta($_item['meta']); |
|
324 | 324 | |
325 | - if ( isset( $_item['meta']['description'] ) ) { |
|
326 | - $item->set_custom_description( $_item['meta']['description'] ); |
|
325 | + if (isset($_item['meta']['description'])) { |
|
326 | + $item->set_custom_description($_item['meta']['description']); |
|
327 | 327 | } |
328 | 328 | |
329 | 329 | } |
@@ -334,14 +334,14 @@ discard block |
||
334 | 334 | } |
335 | 335 | |
336 | 336 | // Add invoice items. |
337 | - if ( ! empty( $data['items'] ) && is_array( $data['items'] ) ) { |
|
337 | + if (!empty($data['items']) && is_array($data['items'])) { |
|
338 | 338 | |
339 | - $invoice->set_items( array() ); |
|
339 | + $invoice->set_items(array()); |
|
340 | 340 | |
341 | - foreach ( $data['items'] as $item ) { |
|
341 | + foreach ($data['items'] as $item) { |
|
342 | 342 | |
343 | - if ( is_object( $item ) && is_a( $item, 'GetPaid_Form_Item' ) && $item->can_purchase() ) { |
|
344 | - $invoice->add_item( $item ); |
|
343 | + if (is_object($item) && is_a($item, 'GetPaid_Form_Item') && $item->can_purchase()) { |
|
344 | + $invoice->add_item($item); |
|
345 | 345 | } |
346 | 346 | |
347 | 347 | } |
@@ -352,30 +352,30 @@ discard block |
||
352 | 352 | $invoice->recalculate_total(); |
353 | 353 | $invoice->save(); |
354 | 354 | |
355 | - if ( ! $invoice->get_id() ) { |
|
356 | - return $wp_error ? new WP_Error( 'wpinv_insert_invoice_error', __( 'An error occured when saving your invoice.', 'invoicing' ) ) : 0; |
|
355 | + if (!$invoice->get_id()) { |
|
356 | + return $wp_error ? new WP_Error('wpinv_insert_invoice_error', __('An error occured when saving your invoice.', 'invoicing')) : 0; |
|
357 | 357 | } |
358 | 358 | |
359 | 359 | // Add private note. |
360 | - if ( ! empty( $data['private_note'] ) ) { |
|
361 | - $invoice->add_note( $data['private_note'] ); |
|
360 | + if (!empty($data['private_note'])) { |
|
361 | + $invoice->add_note($data['private_note']); |
|
362 | 362 | } |
363 | 363 | |
364 | 364 | // User notes. |
365 | - if ( !empty( $data['user_note'] ) ) { |
|
366 | - $invoice->add_note( $data['user_note'], true ); |
|
365 | + if (!empty($data['user_note'])) { |
|
366 | + $invoice->add_note($data['user_note'], true); |
|
367 | 367 | } |
368 | 368 | |
369 | 369 | // Created via. |
370 | - if ( isset( $data['created_via'] ) ) { |
|
371 | - update_post_meta( $invoice->get_id(), 'wpinv_created_via', $data['created_via'] ); |
|
370 | + if (isset($data['created_via'])) { |
|
371 | + update_post_meta($invoice->get_id(), 'wpinv_created_via', $data['created_via']); |
|
372 | 372 | } |
373 | 373 | |
374 | 374 | // Backwards compatiblity. |
375 | - if ( $invoice->is_quote() ) { |
|
375 | + if ($invoice->is_quote()) { |
|
376 | 376 | |
377 | - if ( isset( $data['valid_until'] ) ) { |
|
378 | - update_post_meta( $invoice->get_id(), 'wpinv_quote_valid_until', $data['valid_until'] ); |
|
377 | + if (isset($data['valid_until'])) { |
|
378 | + update_post_meta($invoice->get_id(), 'wpinv_quote_valid_until', $data['valid_until']); |
|
379 | 379 | } |
380 | 380 | |
381 | 381 | } |
@@ -390,18 +390,18 @@ discard block |
||
390 | 390 | * @param $bool $deprecated |
391 | 391 | * @return WPInv_Invoice|null |
392 | 392 | */ |
393 | -function wpinv_get_invoice( $invoice = 0, $deprecated = false ) { |
|
393 | +function wpinv_get_invoice($invoice = 0, $deprecated = false) { |
|
394 | 394 | |
395 | 395 | // If we are retrieving the invoice from the cart... |
396 | - if ( $deprecated && empty( $invoice ) ) { |
|
396 | + if ($deprecated && empty($invoice)) { |
|
397 | 397 | $invoice = (int) getpaid_get_current_invoice_id(); |
398 | 398 | } |
399 | 399 | |
400 | 400 | // Retrieve the invoice. |
401 | - $invoice = new WPInv_Invoice( $invoice ); |
|
401 | + $invoice = new WPInv_Invoice($invoice); |
|
402 | 402 | |
403 | 403 | // Check if it exists. |
404 | - if ( $invoice->get_id() != 0 ) { |
|
404 | + if ($invoice->get_id() != 0) { |
|
405 | 405 | return $invoice; |
406 | 406 | } |
407 | 407 | |
@@ -414,15 +414,15 @@ discard block |
||
414 | 414 | * @param array $args Args to search for. |
415 | 415 | * @return WPInv_Invoice[]|int[]|object |
416 | 416 | */ |
417 | -function wpinv_get_invoices( $args ) { |
|
417 | +function wpinv_get_invoices($args) { |
|
418 | 418 | |
419 | 419 | // Prepare args. |
420 | 420 | $args = wp_parse_args( |
421 | 421 | $args, |
422 | 422 | array( |
423 | - 'status' => array_keys( wpinv_get_invoice_statuses() ), |
|
423 | + 'status' => array_keys(wpinv_get_invoice_statuses()), |
|
424 | 424 | 'type' => 'wpi_invoice', |
425 | - 'limit' => get_option( 'posts_per_page' ), |
|
425 | + 'limit' => get_option('posts_per_page'), |
|
426 | 426 | 'return' => 'objects', |
427 | 427 | ) |
428 | 428 | ); |
@@ -440,24 +440,24 @@ discard block |
||
440 | 440 | 'post__in' => 'include', |
441 | 441 | ); |
442 | 442 | |
443 | - foreach ( $map_legacy as $to => $from ) { |
|
444 | - if ( isset( $args[ $from ] ) ) { |
|
445 | - $args[ $to ] = $args[ $from ]; |
|
446 | - unset( $args[ $from ] ); |
|
443 | + foreach ($map_legacy as $to => $from) { |
|
444 | + if (isset($args[$from])) { |
|
445 | + $args[$to] = $args[$from]; |
|
446 | + unset($args[$from]); |
|
447 | 447 | } |
448 | 448 | } |
449 | 449 | |
450 | 450 | // Backwards compatibility. |
451 | - if ( ! empty( $args['email'] ) && empty( $args['user'] ) ) { |
|
451 | + if (!empty($args['email']) && empty($args['user'])) { |
|
452 | 452 | $args['user'] = $args['email']; |
453 | - unset( $args['email'] ); |
|
453 | + unset($args['email']); |
|
454 | 454 | } |
455 | 455 | |
456 | 456 | // Handle cases where the user is set as an email. |
457 | - if ( ! empty( $args['author'] ) && is_email( $args['author'] ) ) { |
|
458 | - $user = get_user_by( 'email', $args['user'] ); |
|
457 | + if (!empty($args['author']) && is_email($args['author'])) { |
|
458 | + $user = get_user_by('email', $args['user']); |
|
459 | 459 | |
460 | - if ( $user ) { |
|
460 | + if ($user) { |
|
461 | 461 | $args['author'] = $user->user_email; |
462 | 462 | } |
463 | 463 | |
@@ -468,31 +468,31 @@ discard block |
||
468 | 468 | |
469 | 469 | // Show all posts. |
470 | 470 | $paginate = true; |
471 | - if ( isset( $args['paginate'] ) ) { |
|
471 | + if (isset($args['paginate'])) { |
|
472 | 472 | |
473 | 473 | $paginate = $args['paginate']; |
474 | - $args['no_found_rows'] = empty( $args['paginate'] ); |
|
475 | - unset( $args['paginate'] ); |
|
474 | + $args['no_found_rows'] = empty($args['paginate']); |
|
475 | + unset($args['paginate']); |
|
476 | 476 | |
477 | 477 | } |
478 | 478 | |
479 | 479 | // Whether to return objects or fields. |
480 | 480 | $return = $args['return']; |
481 | - unset( $args['return'] ); |
|
481 | + unset($args['return']); |
|
482 | 482 | |
483 | 483 | // Get invoices. |
484 | - $invoices = new WP_Query( apply_filters( 'wpinv_get_invoices_args', $args ) ); |
|
484 | + $invoices = new WP_Query(apply_filters('wpinv_get_invoices_args', $args)); |
|
485 | 485 | |
486 | 486 | // Prepare the results. |
487 | - if ( 'objects' === $return ) { |
|
488 | - $results = array_map( 'wpinv_get_invoice', $invoices->posts ); |
|
489 | - } elseif ( 'self' === $return ) { |
|
487 | + if ('objects' === $return) { |
|
488 | + $results = array_map('wpinv_get_invoice', $invoices->posts); |
|
489 | + } elseif ('self' === $return) { |
|
490 | 490 | return $invoices; |
491 | 491 | } else { |
492 | 492 | $results = $invoices->posts; |
493 | 493 | } |
494 | 494 | |
495 | - if ( $paginate ) { |
|
495 | + if ($paginate) { |
|
496 | 496 | return (object) array( |
497 | 497 | 'invoices' => $results, |
498 | 498 | 'total' => $invoices->found_posts, |
@@ -510,8 +510,8 @@ discard block |
||
510 | 510 | * @param string $transaction_id The transaction id to check. |
511 | 511 | * @return int Invoice id on success or 0 on failure |
512 | 512 | */ |
513 | -function wpinv_get_id_by_transaction_id( $transaction_id ) { |
|
514 | - return WPInv_Invoice::get_invoice_id_by_field( $transaction_id, 'transaction_id' ); |
|
513 | +function wpinv_get_id_by_transaction_id($transaction_id) { |
|
514 | + return WPInv_Invoice::get_invoice_id_by_field($transaction_id, 'transaction_id'); |
|
515 | 515 | } |
516 | 516 | |
517 | 517 | /** |
@@ -520,8 +520,8 @@ discard block |
||
520 | 520 | * @param string $invoice_number The invoice number to check. |
521 | 521 | * @return int Invoice id on success or 0 on failure |
522 | 522 | */ |
523 | -function wpinv_get_id_by_invoice_number( $invoice_number ) { |
|
524 | - return WPInv_Invoice::get_invoice_id_by_field( $invoice_number, 'number' ); |
|
523 | +function wpinv_get_id_by_invoice_number($invoice_number) { |
|
524 | + return WPInv_Invoice::get_invoice_id_by_field($invoice_number, 'number'); |
|
525 | 525 | } |
526 | 526 | |
527 | 527 | /** |
@@ -530,8 +530,8 @@ discard block |
||
530 | 530 | * @param string $invoice_key The invoice key to check. |
531 | 531 | * @return int Invoice id on success or 0 on failure |
532 | 532 | */ |
533 | -function wpinv_get_invoice_id_by_key( $invoice_key ) { |
|
534 | - return WPInv_Invoice::get_invoice_id_by_field( $invoice_key, 'key' ); |
|
533 | +function wpinv_get_invoice_id_by_key($invoice_key) { |
|
534 | + return WPInv_Invoice::get_invoice_id_by_field($invoice_key, 'key'); |
|
535 | 535 | } |
536 | 536 | |
537 | 537 | /** |
@@ -541,19 +541,19 @@ discard block |
||
541 | 541 | * @param string $type Optionally filter by type i.e customer|system |
542 | 542 | * @return array|null |
543 | 543 | */ |
544 | -function wpinv_get_invoice_notes( $invoice = 0, $type = '' ) { |
|
544 | +function wpinv_get_invoice_notes($invoice = 0, $type = '') { |
|
545 | 545 | |
546 | 546 | // Prepare the invoice. |
547 | - $invoice = wpinv_get_invoice( $invoice ); |
|
548 | - if ( empty( $invoice ) ) { |
|
547 | + $invoice = wpinv_get_invoice($invoice); |
|
548 | + if (empty($invoice)) { |
|
549 | 549 | return NULL; |
550 | 550 | } |
551 | 551 | |
552 | 552 | // Fetch notes. |
553 | - $notes = getpaid_notes()->get_invoice_notes( $invoice->get_id(), $type ); |
|
553 | + $notes = getpaid_notes()->get_invoice_notes($invoice->get_id(), $type); |
|
554 | 554 | |
555 | 555 | // Filter the notes. |
556 | - return apply_filters( 'wpinv_invoice_notes', $notes, $invoice->get_id(), $type ); |
|
556 | + return apply_filters('wpinv_invoice_notes', $notes, $invoice->get_id(), $type); |
|
557 | 557 | } |
558 | 558 | |
559 | 559 | /** |
@@ -561,10 +561,10 @@ discard block |
||
561 | 561 | * |
562 | 562 | * @param string $post_type |
563 | 563 | */ |
564 | -function wpinv_get_user_invoices_columns( $post_type = 'wpi_invoice' ) { |
|
564 | +function wpinv_get_user_invoices_columns($post_type = 'wpi_invoice') { |
|
565 | 565 | |
566 | - $label = getpaid_get_post_type_label( $post_type, false ); |
|
567 | - $label = empty( $label ) ? __( 'Invoice', 'invoicing' ) : sanitize_text_field( $label ); |
|
566 | + $label = getpaid_get_post_type_label($post_type, false); |
|
567 | + $label = empty($label) ? __('Invoice', 'invoicing') : sanitize_text_field($label); |
|
568 | 568 | $columns = array( |
569 | 569 | |
570 | 570 | 'invoice-number' => array( |
@@ -573,22 +573,22 @@ discard block |
||
573 | 573 | ), |
574 | 574 | |
575 | 575 | 'created-date' => array( |
576 | - 'title' => __( 'Created Date', 'invoicing' ), |
|
576 | + 'title' => __('Created Date', 'invoicing'), |
|
577 | 577 | 'class' => 'text-left' |
578 | 578 | ), |
579 | 579 | |
580 | 580 | 'payment-date' => array( |
581 | - 'title' => __( 'Payment Date', 'invoicing' ), |
|
581 | + 'title' => __('Payment Date', 'invoicing'), |
|
582 | 582 | 'class' => 'text-left' |
583 | 583 | ), |
584 | 584 | |
585 | 585 | 'invoice-status' => array( |
586 | - 'title' => __( 'Status', 'invoicing' ), |
|
586 | + 'title' => __('Status', 'invoicing'), |
|
587 | 587 | 'class' => 'text-center' |
588 | 588 | ), |
589 | 589 | |
590 | 590 | 'invoice-total' => array( |
591 | - 'title' => __( 'Total', 'invoicing' ), |
|
591 | + 'title' => __('Total', 'invoicing'), |
|
592 | 592 | 'class' => 'text-right' |
593 | 593 | ), |
594 | 594 | |
@@ -599,7 +599,7 @@ discard block |
||
599 | 599 | |
600 | 600 | ); |
601 | 601 | |
602 | - return apply_filters( 'wpinv_user_invoices_columns', $columns, $post_type ); |
|
602 | + return apply_filters('wpinv_user_invoices_columns', $columns, $post_type); |
|
603 | 603 | } |
604 | 604 | |
605 | 605 | /** |
@@ -609,59 +609,59 @@ discard block |
||
609 | 609 | |
610 | 610 | // Find the invoice. |
611 | 611 | $invoice_id = getpaid_get_current_invoice_id(); |
612 | - $invoice = new WPInv_Invoice( $invoice_id ); |
|
612 | + $invoice = new WPInv_Invoice($invoice_id); |
|
613 | 613 | |
614 | 614 | // Abort if non was found. |
615 | - if ( empty( $invoice_id ) || $invoice->is_draft() ) { |
|
615 | + if (empty($invoice_id) || $invoice->is_draft()) { |
|
616 | 616 | |
617 | 617 | return aui()->alert( |
618 | 618 | array( |
619 | 619 | 'type' => 'warning', |
620 | - 'content' => __( 'We could not find your invoice', 'invoicing' ), |
|
620 | + 'content' => __('We could not find your invoice', 'invoicing'), |
|
621 | 621 | ) |
622 | 622 | ); |
623 | 623 | |
624 | 624 | } |
625 | 625 | |
626 | 626 | // Can the user view this invoice? |
627 | - if ( ! wpinv_can_view_receipt( $invoice_id ) ) { |
|
627 | + if (!wpinv_can_view_receipt($invoice_id)) { |
|
628 | 628 | |
629 | 629 | return aui()->alert( |
630 | 630 | array( |
631 | 631 | 'type' => 'warning', |
632 | - 'content' => __( 'You are not allowed to view this receipt', 'invoicing' ), |
|
632 | + 'content' => __('You are not allowed to view this receipt', 'invoicing'), |
|
633 | 633 | ) |
634 | 634 | ); |
635 | 635 | |
636 | 636 | } |
637 | 637 | |
638 | 638 | // Load the template. |
639 | - return wpinv_get_template_html( 'invoice-receipt.php', compact( 'invoice' ) ); |
|
639 | + return wpinv_get_template_html('invoice-receipt.php', compact('invoice')); |
|
640 | 640 | |
641 | 641 | } |
642 | 642 | |
643 | 643 | /** |
644 | 644 | * Displays the invoice history. |
645 | 645 | */ |
646 | -function getpaid_invoice_history( $user_id = 0, $post_type = 'wpi_invoice' ) { |
|
646 | +function getpaid_invoice_history($user_id = 0, $post_type = 'wpi_invoice') { |
|
647 | 647 | |
648 | 648 | // Ensure that we have a user id. |
649 | - if ( empty( $user_id ) || ! is_numeric( $user_id ) ) { |
|
649 | + if (empty($user_id) || !is_numeric($user_id)) { |
|
650 | 650 | $user_id = get_current_user_id(); |
651 | 651 | } |
652 | 652 | |
653 | - $label = getpaid_get_post_type_label( $post_type ); |
|
654 | - $label = empty( $label ) ? __( 'Invoices', 'invoicing' ) : sanitize_text_field( $label ); |
|
653 | + $label = getpaid_get_post_type_label($post_type); |
|
654 | + $label = empty($label) ? __('Invoices', 'invoicing') : sanitize_text_field($label); |
|
655 | 655 | |
656 | 656 | // View user id. |
657 | - if ( empty( $user_id ) ) { |
|
657 | + if (empty($user_id)) { |
|
658 | 658 | |
659 | 659 | return aui()->alert( |
660 | 660 | array( |
661 | 661 | 'type' => 'warning', |
662 | 662 | 'content' => sprintf( |
663 | - __( 'You must be logged in to view your %s.', 'invoicing' ), |
|
664 | - strtolower( $label ) |
|
663 | + __('You must be logged in to view your %s.', 'invoicing'), |
|
664 | + strtolower($label) |
|
665 | 665 | ) |
666 | 666 | ) |
667 | 667 | ); |
@@ -672,23 +672,23 @@ discard block |
||
672 | 672 | $invoices = wpinv_get_invoices( |
673 | 673 | |
674 | 674 | array( |
675 | - 'page' => ( get_query_var( 'paged' ) ) ? absint( get_query_var( 'paged' ) ) : 1, |
|
675 | + 'page' => (get_query_var('paged')) ? absint(get_query_var('paged')) : 1, |
|
676 | 676 | 'user' => $user_id, |
677 | 677 | 'paginate' => true, |
678 | 678 | 'type' => $post_type, |
679 | - 'status' => array_keys( wpinv_get_invoice_statuses( false, false, $post_type ) ), |
|
679 | + 'status' => array_keys(wpinv_get_invoice_statuses(false, false, $post_type)), |
|
680 | 680 | ) |
681 | 681 | |
682 | 682 | ); |
683 | 683 | |
684 | - if ( empty( $invoices->total ) ) { |
|
684 | + if (empty($invoices->total)) { |
|
685 | 685 | |
686 | 686 | return aui()->alert( |
687 | 687 | array( |
688 | 688 | 'type' => 'info', |
689 | 689 | 'content' => sprintf( |
690 | - __( 'No %s found.', 'invoicing' ), |
|
691 | - strtolower( $label ) |
|
690 | + __('No %s found.', 'invoicing'), |
|
691 | + strtolower($label) |
|
692 | 692 | ) |
693 | 693 | ) |
694 | 694 | ); |
@@ -696,38 +696,38 @@ discard block |
||
696 | 696 | } |
697 | 697 | |
698 | 698 | // Load the template. |
699 | - return wpinv_get_template_html( 'invoice-history.php', compact( 'invoices', 'post_type' ) ); |
|
699 | + return wpinv_get_template_html('invoice-history.php', compact('invoices', 'post_type')); |
|
700 | 700 | |
701 | 701 | } |
702 | 702 | |
703 | 703 | /** |
704 | 704 | * Formats an invoice number given an invoice type. |
705 | 705 | */ |
706 | -function wpinv_format_invoice_number( $number, $type = '' ) { |
|
706 | +function wpinv_format_invoice_number($number, $type = '') { |
|
707 | 707 | |
708 | 708 | // Allow other plugins to overide this. |
709 | - $check = apply_filters( 'wpinv_pre_format_invoice_number', null, $number, $type ); |
|
710 | - if ( null !== $check ) { |
|
709 | + $check = apply_filters('wpinv_pre_format_invoice_number', null, $number, $type); |
|
710 | + if (null !== $check) { |
|
711 | 711 | return $check; |
712 | 712 | } |
713 | 713 | |
714 | 714 | // Ensure that we have a numeric number. |
715 | - if ( ! is_numeric( $number ) ) { |
|
715 | + if (!is_numeric($number)) { |
|
716 | 716 | return $number; |
717 | 717 | } |
718 | 718 | |
719 | 719 | // Format the number. |
720 | - $padd = absint( (int) wpinv_get_option( 'invoice_number_padd', 5 ) ); |
|
721 | - $prefix = sanitize_text_field( (string) wpinv_get_option( 'invoice_number_prefix', 'INV-' ) ); |
|
722 | - $prefix = sanitize_text_field( apply_filters( 'getpaid_invoice_type_prefix', $prefix, $type ) ); |
|
723 | - $postfix = sanitize_text_field( (string) wpinv_get_option( 'invoice_number_postfix' ) ); |
|
724 | - $postfix = sanitize_text_field( apply_filters( 'getpaid_invoice_type_postfix', $postfix, $type ) ); |
|
725 | - $formatted_number = zeroise( absint( $number ), $padd ); |
|
720 | + $padd = absint((int) wpinv_get_option('invoice_number_padd', 5)); |
|
721 | + $prefix = sanitize_text_field((string) wpinv_get_option('invoice_number_prefix', 'INV-')); |
|
722 | + $prefix = sanitize_text_field(apply_filters('getpaid_invoice_type_prefix', $prefix, $type)); |
|
723 | + $postfix = sanitize_text_field((string) wpinv_get_option('invoice_number_postfix')); |
|
724 | + $postfix = sanitize_text_field(apply_filters('getpaid_invoice_type_postfix', $postfix, $type)); |
|
725 | + $formatted_number = zeroise(absint($number), $padd); |
|
726 | 726 | |
727 | 727 | // Add the prefix and post fix. |
728 | 728 | $formatted_number = $prefix . $formatted_number . $postfix; |
729 | 729 | |
730 | - return apply_filters( 'wpinv_format_invoice_number', $formatted_number, $number, $prefix, $postfix, $padd ); |
|
730 | + return apply_filters('wpinv_format_invoice_number', $formatted_number, $number, $prefix, $postfix, $padd); |
|
731 | 731 | } |
732 | 732 | |
733 | 733 | /** |
@@ -736,58 +736,58 @@ discard block |
||
736 | 736 | * @param string $type. |
737 | 737 | * @return int|null|bool |
738 | 738 | */ |
739 | -function wpinv_get_next_invoice_number( $type = '' ) { |
|
739 | +function wpinv_get_next_invoice_number($type = '') { |
|
740 | 740 | |
741 | 741 | // Allow plugins to overide this. |
742 | - $check = apply_filters( 'wpinv_get_pre_next_invoice_number', null, $type ); |
|
743 | - if ( null !== $check ) { |
|
742 | + $check = apply_filters('wpinv_get_pre_next_invoice_number', null, $type); |
|
743 | + if (null !== $check) { |
|
744 | 744 | return $check; |
745 | 745 | } |
746 | 746 | |
747 | 747 | // Ensure sequential invoice numbers is active. |
748 | - if ( ! wpinv_sequential_number_active() ) { |
|
748 | + if (!wpinv_sequential_number_active()) { |
|
749 | 749 | return false; |
750 | 750 | } |
751 | 751 | |
752 | 752 | // Retrieve the current number and the start number. |
753 | - $number = (int) get_option( 'wpinv_last_invoice_number', 0 ); |
|
754 | - $start = absint( (int) wpinv_get_option( 'invoice_sequence_start', 1 ) ); |
|
753 | + $number = (int) get_option('wpinv_last_invoice_number', 0); |
|
754 | + $start = absint((int) wpinv_get_option('invoice_sequence_start', 1)); |
|
755 | 755 | |
756 | 756 | // Ensure that we are starting at a positive integer. |
757 | - $start = max( $start, 1 ); |
|
757 | + $start = max($start, 1); |
|
758 | 758 | |
759 | 759 | // If this is the first invoice, use the start number. |
760 | - $number = max( $start, $number ); |
|
760 | + $number = max($start, $number); |
|
761 | 761 | |
762 | 762 | // Format the invoice number. |
763 | - $formatted_number = wpinv_format_invoice_number( $number, $type ); |
|
763 | + $formatted_number = wpinv_format_invoice_number($number, $type); |
|
764 | 764 | |
765 | 765 | // Ensure that this number is unique. |
766 | - $invoice_id = WPInv_Invoice::get_invoice_id_by_field( $formatted_number, 'number' ); |
|
766 | + $invoice_id = WPInv_Invoice::get_invoice_id_by_field($formatted_number, 'number'); |
|
767 | 767 | |
768 | 768 | // We found a match. Nice. |
769 | - if ( empty( $invoice_id ) ) { |
|
770 | - update_option( 'wpinv_last_invoice_number', $number ); |
|
771 | - return apply_filters( 'wpinv_get_next_invoice_number', $number ); |
|
769 | + if (empty($invoice_id)) { |
|
770 | + update_option('wpinv_last_invoice_number', $number); |
|
771 | + return apply_filters('wpinv_get_next_invoice_number', $number); |
|
772 | 772 | } |
773 | 773 | |
774 | - update_option( 'wpinv_last_invoice_number', $number + 1 ); |
|
775 | - return wpinv_get_next_invoice_number( $type ); |
|
774 | + update_option('wpinv_last_invoice_number', $number + 1); |
|
775 | + return wpinv_get_next_invoice_number($type); |
|
776 | 776 | |
777 | 777 | } |
778 | 778 | |
779 | 779 | /** |
780 | 780 | * The prefix used for invoice paths. |
781 | 781 | */ |
782 | -function wpinv_post_name_prefix( $post_type = 'wpi_invoice' ) { |
|
783 | - return apply_filters( 'wpinv_post_name_prefix', 'inv-', $post_type ); |
|
782 | +function wpinv_post_name_prefix($post_type = 'wpi_invoice') { |
|
783 | + return apply_filters('wpinv_post_name_prefix', 'inv-', $post_type); |
|
784 | 784 | } |
785 | 785 | |
786 | -function wpinv_generate_post_name( $post_ID ) { |
|
787 | - $prefix = wpinv_post_name_prefix( get_post_type( $post_ID ) ); |
|
788 | - $post_name = sanitize_title( $prefix . $post_ID ); |
|
786 | +function wpinv_generate_post_name($post_ID) { |
|
787 | + $prefix = wpinv_post_name_prefix(get_post_type($post_ID)); |
|
788 | + $post_name = sanitize_title($prefix . $post_ID); |
|
789 | 789 | |
790 | - return apply_filters( 'wpinv_generate_post_name', $post_name, $post_ID, $prefix ); |
|
790 | + return apply_filters('wpinv_generate_post_name', $post_name, $post_ID, $prefix); |
|
791 | 791 | } |
792 | 792 | |
793 | 793 | /** |
@@ -795,8 +795,8 @@ discard block |
||
795 | 795 | * |
796 | 796 | * @param int|string|object|WPInv_Invoice|WPInv_Legacy_Invoice|WP_Post $invoice Invoice id, key, transaction id, number or object. |
797 | 797 | */ |
798 | -function wpinv_is_invoice_viewed( $invoice ) { |
|
799 | - $invoice = new WPInv_Invoice( $invoice ); |
|
798 | +function wpinv_is_invoice_viewed($invoice) { |
|
799 | + $invoice = new WPInv_Invoice($invoice); |
|
800 | 800 | return (bool) $invoice->get_is_viewed(); |
801 | 801 | } |
802 | 802 | |
@@ -805,17 +805,17 @@ discard block |
||
805 | 805 | * |
806 | 806 | * @param int|string|object|WPInv_Invoice|WPInv_Legacy_Invoice|WP_Post $invoice Invoice id, key, transaction id, number or object. |
807 | 807 | */ |
808 | -function getpaid_maybe_mark_invoice_as_viewed( $invoice ) { |
|
809 | - $invoice = new WPInv_Invoice( $invoice ); |
|
808 | +function getpaid_maybe_mark_invoice_as_viewed($invoice) { |
|
809 | + $invoice = new WPInv_Invoice($invoice); |
|
810 | 810 | |
811 | - if ( get_current_user_id() == $invoice->get_user_id() && ! $invoice->get_is_viewed() ) { |
|
812 | - $invoice->set_is_viewed( true ); |
|
811 | + if (get_current_user_id() == $invoice->get_user_id() && !$invoice->get_is_viewed()) { |
|
812 | + $invoice->set_is_viewed(true); |
|
813 | 813 | $invoice->save(); |
814 | 814 | } |
815 | 815 | |
816 | 816 | } |
817 | -add_action( 'wpinv_invoice_print_before_display', 'getpaid_maybe_mark_invoice_as_viewed' ); |
|
818 | -add_action( 'wpinv_before_receipt', 'getpaid_maybe_mark_invoice_as_viewed' ); |
|
817 | +add_action('wpinv_invoice_print_before_display', 'getpaid_maybe_mark_invoice_as_viewed'); |
|
818 | +add_action('wpinv_before_receipt', 'getpaid_maybe_mark_invoice_as_viewed'); |
|
819 | 819 | |
820 | 820 | /** |
821 | 821 | * Processes an invoice refund. |
@@ -824,27 +824,27 @@ discard block |
||
824 | 824 | * @param array $status_transition |
825 | 825 | * @todo: descrease customer/store earnings |
826 | 826 | */ |
827 | -function getpaid_maybe_process_refund( $invoice, $status_transition ) { |
|
827 | +function getpaid_maybe_process_refund($invoice, $status_transition) { |
|
828 | 828 | |
829 | - if ( empty( $status_transition['from'] ) || ! in_array( $status_transition['from'], array( 'publish', 'wpi-processing', 'wpi-renewal' ) ) ) { |
|
829 | + if (empty($status_transition['from']) || !in_array($status_transition['from'], array('publish', 'wpi-processing', 'wpi-renewal'))) { |
|
830 | 830 | return; |
831 | 831 | } |
832 | 832 | |
833 | 833 | $discount_code = $invoice->get_discount_code(); |
834 | - if ( ! empty( $discount_code ) ) { |
|
835 | - $discount = wpinv_get_discount_obj( $discount_code ); |
|
834 | + if (!empty($discount_code)) { |
|
835 | + $discount = wpinv_get_discount_obj($discount_code); |
|
836 | 836 | |
837 | - if ( $discount->exists() ) { |
|
837 | + if ($discount->exists()) { |
|
838 | 838 | $discount->increase_usage( -1 ); |
839 | 839 | } |
840 | 840 | |
841 | 841 | } |
842 | 842 | |
843 | - do_action( 'wpinv_pre_refund_invoice', $invoice, $invoice->get_id() ); |
|
844 | - do_action( 'wpinv_refund_invoice', $invoice, $invoice->get_id() ); |
|
845 | - do_action( 'wpinv_post_refund_invoice', $invoice, $invoice->get_id() ); |
|
843 | + do_action('wpinv_pre_refund_invoice', $invoice, $invoice->get_id()); |
|
844 | + do_action('wpinv_refund_invoice', $invoice, $invoice->get_id()); |
|
845 | + do_action('wpinv_post_refund_invoice', $invoice, $invoice->get_id()); |
|
846 | 846 | } |
847 | -add_action( 'getpaid_invoice_status_wpi-refunded', 'getpaid_maybe_process_refund', 10, 2 ); |
|
847 | +add_action('getpaid_invoice_status_wpi-refunded', 'getpaid_maybe_process_refund', 10, 2); |
|
848 | 848 | |
849 | 849 | |
850 | 850 | /** |
@@ -852,49 +852,49 @@ discard block |
||
852 | 852 | * |
853 | 853 | * @param int $invoice_id |
854 | 854 | */ |
855 | -function getpaid_process_invoice_payment( $invoice_id ) { |
|
855 | +function getpaid_process_invoice_payment($invoice_id) { |
|
856 | 856 | |
857 | 857 | // Fetch the invoice. |
858 | - $invoice = new WPInv_Invoice( $invoice_id ); |
|
858 | + $invoice = new WPInv_Invoice($invoice_id); |
|
859 | 859 | |
860 | 860 | // We only want to do this once. |
861 | - if ( 1 == get_post_meta( $invoice->get_id(), 'wpinv_processed_payment', true ) ) { |
|
861 | + if (1 == get_post_meta($invoice->get_id(), 'wpinv_processed_payment', true)) { |
|
862 | 862 | return; |
863 | 863 | } |
864 | 864 | |
865 | - update_post_meta( $invoice->get_id(), 'wpinv_processed_payment', 1 ); |
|
865 | + update_post_meta($invoice->get_id(), 'wpinv_processed_payment', 1); |
|
866 | 866 | |
867 | 867 | // Fires when processing a payment. |
868 | - do_action( 'getpaid_process_payment', $invoice ); |
|
868 | + do_action('getpaid_process_payment', $invoice); |
|
869 | 869 | |
870 | 870 | // Fire an action for each invoice item. |
871 | - foreach( $invoice->get_items() as $item ) { |
|
872 | - do_action( 'getpaid_process_item_payment', $item, $invoice ); |
|
871 | + foreach ($invoice->get_items() as $item) { |
|
872 | + do_action('getpaid_process_item_payment', $item, $invoice); |
|
873 | 873 | } |
874 | 874 | |
875 | 875 | // Increase discount usage. |
876 | 876 | $discount_code = $invoice->get_discount_code(); |
877 | - if ( ! empty( $discount_code ) && ! $invoice->is_renewal() ) { |
|
878 | - $discount = wpinv_get_discount_obj( $discount_code ); |
|
877 | + if (!empty($discount_code) && !$invoice->is_renewal()) { |
|
878 | + $discount = wpinv_get_discount_obj($discount_code); |
|
879 | 879 | |
880 | - if ( $discount->exists() ) { |
|
880 | + if ($discount->exists()) { |
|
881 | 881 | $discount->increase_usage(); |
882 | 882 | } |
883 | 883 | |
884 | 884 | } |
885 | 885 | |
886 | 886 | // Record reverse vat. |
887 | - if ( 'invoice' == $invoice->get_type() && wpinv_use_taxes() && ! $invoice->get_disable_taxes() ) { |
|
887 | + if ('invoice' == $invoice->get_type() && wpinv_use_taxes() && !$invoice->get_disable_taxes()) { |
|
888 | 888 | |
889 | 889 | $taxes = $invoice->get_total_tax(); |
890 | - if ( empty( $taxes ) && GetPaid_Payment_Form_Submission_Taxes::is_eu_transaction( $invoice->get_country() ) ) { |
|
891 | - $invoice->add_note( __( 'VAT was reverse charged', 'invoicing' ), false, false, true ); |
|
890 | + if (empty($taxes) && GetPaid_Payment_Form_Submission_Taxes::is_eu_transaction($invoice->get_country())) { |
|
891 | + $invoice->add_note(__('VAT was reverse charged', 'invoicing'), false, false, true); |
|
892 | 892 | } |
893 | 893 | |
894 | 894 | } |
895 | 895 | |
896 | 896 | } |
897 | -add_action( 'getpaid_invoice_payment_status_changed', 'getpaid_process_invoice_payment' ); |
|
897 | +add_action('getpaid_invoice_payment_status_changed', 'getpaid_process_invoice_payment'); |
|
898 | 898 | |
899 | 899 | /** |
900 | 900 | * Returns an array of invoice item columns |
@@ -902,13 +902,13 @@ discard block |
||
902 | 902 | * @param int|WPInv_Invoice $invoice |
903 | 903 | * @return array |
904 | 904 | */ |
905 | -function getpaid_invoice_item_columns( $invoice ) { |
|
905 | +function getpaid_invoice_item_columns($invoice) { |
|
906 | 906 | |
907 | 907 | // Prepare the invoice. |
908 | - $invoice = new WPInv_Invoice( $invoice ); |
|
908 | + $invoice = new WPInv_Invoice($invoice); |
|
909 | 909 | |
910 | 910 | // Abort if there is no invoice. |
911 | - if ( 0 == $invoice->get_id() ) { |
|
911 | + if (0 == $invoice->get_id()) { |
|
912 | 912 | return array(); |
913 | 913 | } |
914 | 914 | |
@@ -916,47 +916,47 @@ discard block |
||
916 | 916 | $columns = apply_filters( |
917 | 917 | 'getpaid_invoice_item_columns', |
918 | 918 | array( |
919 | - 'name' => __( 'Item', 'invoicing' ), |
|
920 | - 'price' => __( 'Price', 'invoicing' ), |
|
921 | - 'quantity' => __( 'Quantity', 'invoicing' ), |
|
922 | - 'subtotal' => __( 'Item Subtotal', 'invoicing' ), |
|
919 | + 'name' => __('Item', 'invoicing'), |
|
920 | + 'price' => __('Price', 'invoicing'), |
|
921 | + 'quantity' => __('Quantity', 'invoicing'), |
|
922 | + 'subtotal' => __('Item Subtotal', 'invoicing'), |
|
923 | 923 | ), |
924 | 924 | $invoice |
925 | 925 | ); |
926 | 926 | |
927 | 927 | // Quantities. |
928 | - if ( isset( $columns[ 'quantity' ] ) ) { |
|
928 | + if (isset($columns['quantity'])) { |
|
929 | 929 | |
930 | - if ( 'hours' == $invoice->get_template() ) { |
|
931 | - $columns[ 'quantity' ] = __( 'Hours', 'invoicing' ); |
|
930 | + if ('hours' == $invoice->get_template()) { |
|
931 | + $columns['quantity'] = __('Hours', 'invoicing'); |
|
932 | 932 | } |
933 | 933 | |
934 | - if ( ! wpinv_item_quantities_enabled() || 'amount' == $invoice->get_template() ) { |
|
935 | - unset( $columns[ 'quantity' ] ); |
|
934 | + if (!wpinv_item_quantities_enabled() || 'amount' == $invoice->get_template()) { |
|
935 | + unset($columns['quantity']); |
|
936 | 936 | } |
937 | 937 | |
938 | 938 | } |
939 | 939 | |
940 | 940 | |
941 | 941 | // Price. |
942 | - if ( isset( $columns[ 'price' ] ) ) { |
|
942 | + if (isset($columns['price'])) { |
|
943 | 943 | |
944 | - if ( 'amount' == $invoice->get_template() ) { |
|
945 | - $columns[ 'price' ] = __( 'Amount', 'invoicing' ); |
|
944 | + if ('amount' == $invoice->get_template()) { |
|
945 | + $columns['price'] = __('Amount', 'invoicing'); |
|
946 | 946 | } |
947 | 947 | |
948 | - if ( 'hours' == $invoice->get_template() ) { |
|
949 | - $columns[ 'price' ] = __( 'Rate', 'invoicing' ); |
|
948 | + if ('hours' == $invoice->get_template()) { |
|
949 | + $columns['price'] = __('Rate', 'invoicing'); |
|
950 | 950 | } |
951 | 951 | |
952 | 952 | } |
953 | 953 | |
954 | 954 | |
955 | 955 | // Sub total. |
956 | - if ( isset( $columns[ 'subtotal' ] ) ) { |
|
956 | + if (isset($columns['subtotal'])) { |
|
957 | 957 | |
958 | - if ( 'amount' == $invoice->get_template() ) { |
|
959 | - unset( $columns[ 'subtotal' ] ); |
|
958 | + if ('amount' == $invoice->get_template()) { |
|
959 | + unset($columns['subtotal']); |
|
960 | 960 | } |
961 | 961 | |
962 | 962 | } |
@@ -970,38 +970,38 @@ discard block |
||
970 | 970 | * @param int|WPInv_Invoice $invoice |
971 | 971 | * @return array |
972 | 972 | */ |
973 | -function getpaid_invoice_totals_rows( $invoice ) { |
|
973 | +function getpaid_invoice_totals_rows($invoice) { |
|
974 | 974 | |
975 | 975 | // Prepare the invoice. |
976 | - $invoice = new WPInv_Invoice( $invoice ); |
|
976 | + $invoice = new WPInv_Invoice($invoice); |
|
977 | 977 | |
978 | 978 | // Abort if there is no invoice. |
979 | - if ( 0 == $invoice->get_id() ) { |
|
979 | + if (0 == $invoice->get_id()) { |
|
980 | 980 | return array(); |
981 | 981 | } |
982 | 982 | |
983 | 983 | $totals = apply_filters( |
984 | 984 | 'getpaid_invoice_totals_rows', |
985 | 985 | array( |
986 | - 'subtotal' => __( 'Subtotal', 'invoicing' ), |
|
987 | - 'tax' => __( 'Tax', 'invoicing' ), |
|
988 | - 'fee' => __( 'Fee', 'invoicing' ), |
|
989 | - 'discount' => __( 'Discount', 'invoicing' ), |
|
990 | - 'total' => __( 'Total', 'invoicing' ), |
|
986 | + 'subtotal' => __('Subtotal', 'invoicing'), |
|
987 | + 'tax' => __('Tax', 'invoicing'), |
|
988 | + 'fee' => __('Fee', 'invoicing'), |
|
989 | + 'discount' => __('Discount', 'invoicing'), |
|
990 | + 'total' => __('Total', 'invoicing'), |
|
991 | 991 | ), |
992 | 992 | $invoice |
993 | 993 | ); |
994 | 994 | |
995 | - if ( ( $invoice->get_disable_taxes() || ! wpinv_use_taxes() ) && isset( $totals['tax'] ) ) { |
|
996 | - unset( $totals['tax'] ); |
|
995 | + if (($invoice->get_disable_taxes() || !wpinv_use_taxes()) && isset($totals['tax'])) { |
|
996 | + unset($totals['tax']); |
|
997 | 997 | } |
998 | 998 | |
999 | - if ( 0 == $invoice->get_total_fees() && isset( $totals['fee'] ) ) { |
|
1000 | - unset( $totals['fee'] ); |
|
999 | + if (0 == $invoice->get_total_fees() && isset($totals['fee'])) { |
|
1000 | + unset($totals['fee']); |
|
1001 | 1001 | } |
1002 | 1002 | |
1003 | - if ( 0 == $invoice->get_total_discount() && isset( $totals['discount'] ) ) { |
|
1004 | - unset( $totals['discount'] ); |
|
1003 | + if (0 == $invoice->get_total_discount() && isset($totals['discount'])) { |
|
1004 | + unset($totals['discount']); |
|
1005 | 1005 | } |
1006 | 1006 | |
1007 | 1007 | return $totals; |
@@ -1012,47 +1012,47 @@ discard block |
||
1012 | 1012 | * |
1013 | 1013 | * @param WPInv_Invoice $invoice |
1014 | 1014 | */ |
1015 | -function getpaid_new_invoice( $invoice ) { |
|
1015 | +function getpaid_new_invoice($invoice) { |
|
1016 | 1016 | |
1017 | - if ( ! $invoice->get_status() ) { |
|
1017 | + if (!$invoice->get_status()) { |
|
1018 | 1018 | return; |
1019 | 1019 | } |
1020 | 1020 | |
1021 | 1021 | // Add an invoice created note. |
1022 | 1022 | $invoice->add_note( |
1023 | 1023 | sprintf( |
1024 | - __( '%s created with the status "%s".', 'invoicing' ), |
|
1025 | - ucfirst( $invoice->get_invoice_quote_type() ), |
|
1026 | - wpinv_status_nicename( $invoice->get_status(), $invoice ) |
|
1024 | + __('%s created with the status "%s".', 'invoicing'), |
|
1025 | + ucfirst($invoice->get_invoice_quote_type()), |
|
1026 | + wpinv_status_nicename($invoice->get_status(), $invoice) |
|
1027 | 1027 | ) |
1028 | 1028 | ); |
1029 | 1029 | |
1030 | 1030 | } |
1031 | -add_action( 'getpaid_new_invoice', 'getpaid_new_invoice' ); |
|
1031 | +add_action('getpaid_new_invoice', 'getpaid_new_invoice'); |
|
1032 | 1032 | |
1033 | 1033 | /** |
1034 | 1034 | * This function updates invoice caches. |
1035 | 1035 | * |
1036 | 1036 | * @param WPInv_Invoice $invoice |
1037 | 1037 | */ |
1038 | -function getpaid_update_invoice_caches( $invoice ) { |
|
1038 | +function getpaid_update_invoice_caches($invoice) { |
|
1039 | 1039 | |
1040 | 1040 | // Cache invoice number. |
1041 | - wp_cache_set( $invoice->get_number(), $invoice->get_id(), "getpaid_invoice_numbers_to_invoice_ids" ); |
|
1041 | + wp_cache_set($invoice->get_number(), $invoice->get_id(), "getpaid_invoice_numbers_to_invoice_ids"); |
|
1042 | 1042 | |
1043 | 1043 | // Cache invoice key. |
1044 | - wp_cache_set( $invoice->get_key(), $invoice->get_id(), "getpaid_invoice_keys_to_invoice_ids" ); |
|
1044 | + wp_cache_set($invoice->get_key(), $invoice->get_id(), "getpaid_invoice_keys_to_invoice_ids"); |
|
1045 | 1045 | |
1046 | 1046 | // (Maybe) cache transaction id. |
1047 | 1047 | $transaction_id = $invoice->get_transaction_id(); |
1048 | 1048 | |
1049 | - if ( ! empty( $transaction_id ) ) { |
|
1050 | - wp_cache_set( $transaction_id, $invoice->get_id(), "getpaid_invoice_transaction_ids_to_invoice_ids" ); |
|
1049 | + if (!empty($transaction_id)) { |
|
1050 | + wp_cache_set($transaction_id, $invoice->get_id(), "getpaid_invoice_transaction_ids_to_invoice_ids"); |
|
1051 | 1051 | } |
1052 | 1052 | |
1053 | 1053 | } |
1054 | -add_action( 'getpaid_new_invoice', 'getpaid_update_invoice_caches', 5 ); |
|
1055 | -add_action( 'getpaid_update_invoice', 'getpaid_update_invoice_caches', 5 ); |
|
1054 | +add_action('getpaid_new_invoice', 'getpaid_update_invoice_caches', 5); |
|
1055 | +add_action('getpaid_update_invoice', 'getpaid_update_invoice_caches', 5); |
|
1056 | 1056 | |
1057 | 1057 | /** |
1058 | 1058 | * Duplicates an invoice. |
@@ -1062,7 +1062,7 @@ discard block |
||
1062 | 1062 | * @param WPInv_Invoice $old_invoice The invoice to duplicate |
1063 | 1063 | * @return WPInv_Invoice The new invoice. |
1064 | 1064 | */ |
1065 | -function getpaid_duplicate_invoice( $old_invoice ) { |
|
1065 | +function getpaid_duplicate_invoice($old_invoice) { |
|
1066 | 1066 | |
1067 | 1067 | // Create the new invoice. |
1068 | 1068 | $invoice = new WPInv_Invoice(); |
@@ -1123,123 +1123,123 @@ discard block |
||
1123 | 1123 | * @param WPInv_Invoice $invoice |
1124 | 1124 | * @return array |
1125 | 1125 | */ |
1126 | -function getpaid_get_invoice_meta( $invoice ) { |
|
1126 | +function getpaid_get_invoice_meta($invoice) { |
|
1127 | 1127 | |
1128 | 1128 | // Load the invoice meta. |
1129 | 1129 | $meta = array( |
1130 | 1130 | |
1131 | 1131 | 'number' => array( |
1132 | 1132 | 'label' => sprintf( |
1133 | - __( '%s Number', 'invoicing' ), |
|
1134 | - ucfirst( $invoice->get_invoice_quote_type() ) |
|
1133 | + __('%s Number', 'invoicing'), |
|
1134 | + ucfirst($invoice->get_invoice_quote_type()) |
|
1135 | 1135 | ), |
1136 | - 'value' => sanitize_text_field( $invoice->get_number() ), |
|
1136 | + 'value' => sanitize_text_field($invoice->get_number()), |
|
1137 | 1137 | ), |
1138 | 1138 | |
1139 | 1139 | 'status' => array( |
1140 | 1140 | 'label' => sprintf( |
1141 | - __( '%s Status', 'invoicing' ), |
|
1142 | - ucfirst( $invoice->get_invoice_quote_type() ) |
|
1141 | + __('%s Status', 'invoicing'), |
|
1142 | + ucfirst($invoice->get_invoice_quote_type()) |
|
1143 | 1143 | ), |
1144 | 1144 | 'value' => $invoice->get_status_label_html(), |
1145 | 1145 | ), |
1146 | 1146 | |
1147 | 1147 | 'date' => array( |
1148 | 1148 | 'label' => sprintf( |
1149 | - __( '%s Date', 'invoicing' ), |
|
1150 | - ucfirst( $invoice->get_invoice_quote_type() ) |
|
1149 | + __('%s Date', 'invoicing'), |
|
1150 | + ucfirst($invoice->get_invoice_quote_type()) |
|
1151 | 1151 | ), |
1152 | - 'value' => getpaid_format_date( $invoice->get_created_date() ), |
|
1152 | + 'value' => getpaid_format_date($invoice->get_created_date()), |
|
1153 | 1153 | ), |
1154 | 1154 | |
1155 | 1155 | 'date_paid' => array( |
1156 | - 'label' => __( 'Paid On', 'invoicing' ), |
|
1157 | - 'value' => getpaid_format_date( $invoice->get_completed_date() ), |
|
1156 | + 'label' => __('Paid On', 'invoicing'), |
|
1157 | + 'value' => getpaid_format_date($invoice->get_completed_date()), |
|
1158 | 1158 | ), |
1159 | 1159 | |
1160 | 1160 | 'gateway' => array( |
1161 | - 'label' => __( 'Payment Method', 'invoicing' ), |
|
1162 | - 'value' => sanitize_text_field( $invoice->get_gateway_title() ), |
|
1161 | + 'label' => __('Payment Method', 'invoicing'), |
|
1162 | + 'value' => sanitize_text_field($invoice->get_gateway_title()), |
|
1163 | 1163 | ), |
1164 | 1164 | |
1165 | 1165 | 'transaction_id' => array( |
1166 | - 'label' => __( 'Transaction ID', 'invoicing' ), |
|
1167 | - 'value' => sanitize_text_field( $invoice->get_transaction_id() ), |
|
1166 | + 'label' => __('Transaction ID', 'invoicing'), |
|
1167 | + 'value' => sanitize_text_field($invoice->get_transaction_id()), |
|
1168 | 1168 | ), |
1169 | 1169 | |
1170 | 1170 | 'due_date' => array( |
1171 | - 'label' => __( 'Due Date', 'invoicing' ), |
|
1172 | - 'value' => getpaid_format_date( $invoice->get_due_date() ), |
|
1171 | + 'label' => __('Due Date', 'invoicing'), |
|
1172 | + 'value' => getpaid_format_date($invoice->get_due_date()), |
|
1173 | 1173 | ), |
1174 | 1174 | |
1175 | 1175 | 'vat_number' => array( |
1176 | - 'label' => __( 'VAT Number', 'invoicing' ), |
|
1177 | - 'value' => sanitize_text_field( $invoice->get_vat_number() ), |
|
1176 | + 'label' => __('VAT Number', 'invoicing'), |
|
1177 | + 'value' => sanitize_text_field($invoice->get_vat_number()), |
|
1178 | 1178 | ), |
1179 | 1179 | |
1180 | 1180 | ); |
1181 | 1181 | |
1182 | 1182 | // If it is not paid, remove the date of payment. |
1183 | - if ( ! $invoice->is_paid() ) { |
|
1184 | - unset( $meta[ 'date_paid' ] ); |
|
1185 | - unset( $meta[ 'transaction_id' ] ); |
|
1183 | + if (!$invoice->is_paid()) { |
|
1184 | + unset($meta['date_paid']); |
|
1185 | + unset($meta['transaction_id']); |
|
1186 | 1186 | } |
1187 | 1187 | |
1188 | - if ( ! $invoice->is_paid() || 'none' == $invoice->get_gateway() ) { |
|
1189 | - unset( $meta[ 'gateway' ] ); |
|
1188 | + if (!$invoice->is_paid() || 'none' == $invoice->get_gateway()) { |
|
1189 | + unset($meta['gateway']); |
|
1190 | 1190 | } |
1191 | 1191 | |
1192 | 1192 | // Only display the due date if due dates are enabled. |
1193 | - if ( ! $invoice->needs_payment() || ! wpinv_get_option( 'overdue_active' ) ) { |
|
1194 | - unset( $meta[ 'due_date' ] ); |
|
1193 | + if (!$invoice->needs_payment() || !wpinv_get_option('overdue_active')) { |
|
1194 | + unset($meta['due_date']); |
|
1195 | 1195 | } |
1196 | 1196 | |
1197 | 1197 | // Only display the vat number if taxes are enabled. |
1198 | - if ( ! wpinv_use_taxes() ) { |
|
1199 | - unset( $meta[ 'vat_number' ] ); |
|
1198 | + if (!wpinv_use_taxes()) { |
|
1199 | + unset($meta['vat_number']); |
|
1200 | 1200 | } |
1201 | 1201 | |
1202 | - if ( $invoice->is_recurring() ) { |
|
1202 | + if ($invoice->is_recurring()) { |
|
1203 | 1203 | |
1204 | 1204 | // Link to the parent invoice. |
1205 | - if ( $invoice->is_renewal() ) { |
|
1205 | + if ($invoice->is_renewal()) { |
|
1206 | 1206 | |
1207 | - $meta[ 'parent' ] = array( |
|
1207 | + $meta['parent'] = array( |
|
1208 | 1208 | |
1209 | 1209 | 'label' => sprintf( |
1210 | - __( 'Parent %s', 'invoicing' ), |
|
1211 | - ucfirst( $invoice->get_invoice_quote_type() ) |
|
1210 | + __('Parent %s', 'invoicing'), |
|
1211 | + ucfirst($invoice->get_invoice_quote_type()) |
|
1212 | 1212 | ), |
1213 | 1213 | |
1214 | - 'value' => wpinv_invoice_link( $invoice->get_parent_id() ), |
|
1214 | + 'value' => wpinv_invoice_link($invoice->get_parent_id()), |
|
1215 | 1215 | |
1216 | 1216 | ); |
1217 | 1217 | |
1218 | 1218 | } |
1219 | 1219 | |
1220 | - $subscription = wpinv_get_subscription( $invoice ); |
|
1220 | + $subscription = wpinv_get_subscription($invoice); |
|
1221 | 1221 | |
1222 | - if ( ! empty ( $subscription ) ) { |
|
1222 | + if (!empty ($subscription)) { |
|
1223 | 1223 | |
1224 | 1224 | // Display the renewal date. |
1225 | - if ( $subscription->is_active() && 'cancelled' != $subscription->get_status() ) { |
|
1225 | + if ($subscription->is_active() && 'cancelled' != $subscription->get_status()) { |
|
1226 | 1226 | |
1227 | - $meta[ 'renewal_date' ] = array( |
|
1227 | + $meta['renewal_date'] = array( |
|
1228 | 1228 | |
1229 | - 'label' => __( 'Renews On', 'invoicing' ), |
|
1230 | - 'value' => getpaid_format_date( $subscription->get_expiration() ), |
|
1229 | + 'label' => __('Renews On', 'invoicing'), |
|
1230 | + 'value' => getpaid_format_date($subscription->get_expiration()), |
|
1231 | 1231 | |
1232 | 1232 | ); |
1233 | 1233 | |
1234 | 1234 | } |
1235 | 1235 | |
1236 | - if ( $invoice->is_parent() ) { |
|
1236 | + if ($invoice->is_parent()) { |
|
1237 | 1237 | |
1238 | 1238 | // Display the recurring amount. |
1239 | - $meta[ 'recurring_total' ] = array( |
|
1239 | + $meta['recurring_total'] = array( |
|
1240 | 1240 | |
1241 | - 'label' => __( 'Recurring Amount', 'invoicing' ), |
|
1242 | - 'value' => wpinv_price( $subscription->get_recurring_amount(), $invoice->get_currency() ), |
|
1241 | + 'label' => __('Recurring Amount', 'invoicing'), |
|
1242 | + 'value' => wpinv_price($subscription->get_recurring_amount(), $invoice->get_currency()), |
|
1243 | 1243 | |
1244 | 1244 | ); |
1245 | 1245 | |
@@ -1249,15 +1249,15 @@ discard block |
||
1249 | 1249 | } |
1250 | 1250 | |
1251 | 1251 | // Add the invoice total to the meta. |
1252 | - $meta[ 'invoice_total' ] = array( |
|
1252 | + $meta['invoice_total'] = array( |
|
1253 | 1253 | |
1254 | - 'label' => __( 'Total Amount', 'invoicing' ), |
|
1255 | - 'value' => wpinv_price( $invoice->get_total(), $invoice->get_currency() ), |
|
1254 | + 'label' => __('Total Amount', 'invoicing'), |
|
1255 | + 'value' => wpinv_price($invoice->get_total(), $invoice->get_currency()), |
|
1256 | 1256 | |
1257 | 1257 | ); |
1258 | 1258 | |
1259 | 1259 | // Provide a way for third party plugins to filter the meta. |
1260 | - $meta = apply_filters( 'getpaid_invoice_meta_data', $meta, $invoice ); |
|
1260 | + $meta = apply_filters('getpaid_invoice_meta_data', $meta, $invoice); |
|
1261 | 1261 | |
1262 | 1262 | return $meta; |
1263 | 1263 |
@@ -7,50 +7,50 @@ |
||
7 | 7 | * @version 1.0.19 |
8 | 8 | */ |
9 | 9 | |
10 | -defined( 'ABSPATH' ) || exit; |
|
10 | +defined('ABSPATH') || exit; |
|
11 | 11 | |
12 | -$class = ! is_singular( 'page' ) ? 'px-1' : ''; |
|
12 | +$class = !is_singular('page') ? 'px-1' : ''; |
|
13 | 13 | ?> |
14 | 14 | |
15 | - <?php do_action( 'getpaid_before_invoice_meta', $invoice ); ?> |
|
15 | + <?php do_action('getpaid_before_invoice_meta', $invoice); ?> |
|
16 | 16 | <div class="getpaid-invoice-meta-data"> |
17 | 17 | |
18 | - <?php do_action( 'getpaid_before_invoice_meta_table', $invoice ); ?> |
|
18 | + <?php do_action('getpaid_before_invoice_meta_table', $invoice); ?> |
|
19 | 19 | <table class="table table-bordered"> |
20 | 20 | <tbody> |
21 | 21 | |
22 | - <?php do_action( "getpaid_before_invoice_meta_rows", $invoice ); ?> |
|
23 | - <?php foreach ( $meta as $key => $data ) : ?> |
|
22 | + <?php do_action("getpaid_before_invoice_meta_rows", $invoice); ?> |
|
23 | + <?php foreach ($meta as $key => $data) : ?> |
|
24 | 24 | |
25 | - <?php if ( ! empty( $data['value'] ) ) : ?> |
|
25 | + <?php if (!empty($data['value'])) : ?> |
|
26 | 26 | |
27 | - <?php do_action( "getpaid_before_invoice_meta_$key", $invoice, $data ); ?> |
|
27 | + <?php do_action("getpaid_before_invoice_meta_$key", $invoice, $data); ?> |
|
28 | 28 | |
29 | - <tr class="getpaid-invoice-meta-<?php echo sanitize_html_class( $key ); ?>"> |
|
29 | + <tr class="getpaid-invoice-meta-<?php echo sanitize_html_class($key); ?>"> |
|
30 | 30 | |
31 | 31 | <th class="<?php echo $class; ?> w-50 font-weight-bold"> |
32 | - <?php echo sanitize_text_field( $data['label'] ); ?> |
|
32 | + <?php echo sanitize_text_field($data['label']); ?> |
|
33 | 33 | </th> |
34 | 34 | |
35 | 35 | <td class="<?php echo $class; ?> text-break w-50 font-weight-normal"> |
36 | - <span class="getpaid-invoice-meta-<?php echo sanitize_html_class( $key ); ?>-value"><?php echo wp_kses_post( $data['value'] ); ?></span> |
|
36 | + <span class="getpaid-invoice-meta-<?php echo sanitize_html_class($key); ?>-value"><?php echo wp_kses_post($data['value']); ?></span> |
|
37 | 37 | </td> |
38 | 38 | |
39 | 39 | </tr> |
40 | 40 | |
41 | - <?php do_action( "getpaid_after_invoice_meta_$key", $invoice, $data ); ?> |
|
41 | + <?php do_action("getpaid_after_invoice_meta_$key", $invoice, $data); ?> |
|
42 | 42 | |
43 | 43 | <?php endif; ?> |
44 | 44 | |
45 | 45 | <?php endforeach; ?> |
46 | - <?php do_action( "getpaid_after_invoice_meta_rows", $invoice ); ?> |
|
46 | + <?php do_action("getpaid_after_invoice_meta_rows", $invoice); ?> |
|
47 | 47 | |
48 | 48 | </tbody> |
49 | 49 | </table> |
50 | - <?php do_action( 'getpaid_after_invoice_meta_table', $invoice ); ?> |
|
50 | + <?php do_action('getpaid_after_invoice_meta_table', $invoice); ?> |
|
51 | 51 | |
52 | 52 | |
53 | 53 | </div> |
54 | - <?php do_action( 'getpaid_after_invoice_meta', $invoice ); ?> |
|
54 | + <?php do_action('getpaid_after_invoice_meta', $invoice); ?> |
|
55 | 55 | |
56 | 56 | <?php |
@@ -13,30 +13,30 @@ discard block |
||
13 | 13 | class GetPaid_Bank_Transfer_Gateway extends GetPaid_Payment_Gateway { |
14 | 14 | |
15 | 15 | /** |
16 | - * Payment method id. |
|
17 | - * |
|
18 | - * @var string |
|
19 | - */ |
|
16 | + * Payment method id. |
|
17 | + * |
|
18 | + * @var string |
|
19 | + */ |
|
20 | 20 | public $id = 'bank_transfer'; |
21 | 21 | |
22 | - /** |
|
23 | - * An array of features that this gateway supports. |
|
24 | - * |
|
25 | - * @var array |
|
26 | - */ |
|
27 | - protected $supports = array( 'addons' ); |
|
22 | + /** |
|
23 | + * An array of features that this gateway supports. |
|
24 | + * |
|
25 | + * @var array |
|
26 | + */ |
|
27 | + protected $supports = array( 'addons' ); |
|
28 | 28 | |
29 | 29 | /** |
30 | - * Payment method order. |
|
31 | - * |
|
32 | - * @var int |
|
33 | - */ |
|
34 | - public $order = 8; |
|
30 | + * Payment method order. |
|
31 | + * |
|
32 | + * @var int |
|
33 | + */ |
|
34 | + public $order = 8; |
|
35 | 35 | |
36 | 36 | /** |
37 | - * Class constructor. |
|
38 | - */ |
|
39 | - public function __construct() { |
|
37 | + * Class constructor. |
|
38 | + */ |
|
39 | + public function __construct() { |
|
40 | 40 | parent::__construct(); |
41 | 41 | |
42 | 42 | $this->title = __( 'Direct bank transfer', 'invoicing' ); |
@@ -44,23 +44,23 @@ discard block |
||
44 | 44 | $this->checkout_button_text = __( 'Proceed', 'invoicing' ); |
45 | 45 | $this->instructions = apply_filters( 'wpinv_bank_instructions', $this->get_option( 'info' ) ); |
46 | 46 | |
47 | - add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) ); |
|
48 | - add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 ); |
|
49 | - add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 ); |
|
50 | - add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 ); |
|
47 | + add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) ); |
|
48 | + add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 ); |
|
49 | + add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 ); |
|
50 | + add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 ); |
|
51 | 51 | |
52 | 52 | } |
53 | 53 | |
54 | 54 | /** |
55 | - * Process Payment. |
|
56 | - * |
|
57 | - * |
|
58 | - * @param WPInv_Invoice $invoice Invoice. |
|
59 | - * @param array $submission_data Posted checkout fields. |
|
60 | - * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
|
61 | - * @return array |
|
62 | - */ |
|
63 | - public function process_payment( $invoice, $submission_data, $submission ) { |
|
55 | + * Process Payment. |
|
56 | + * |
|
57 | + * |
|
58 | + * @param WPInv_Invoice $invoice Invoice. |
|
59 | + * @param array $submission_data Posted checkout fields. |
|
60 | + * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
|
61 | + * @return array |
|
62 | + */ |
|
63 | + public function process_payment( $invoice, $submission_data, $submission ) { |
|
64 | 64 | |
65 | 65 | // Add a transaction id. |
66 | 66 | $invoice->set_transaction_id( $invoice->generate_key('trans_') ); |
@@ -81,66 +81,66 @@ discard block |
||
81 | 81 | } |
82 | 82 | |
83 | 83 | /** |
84 | - * Output for the order received page. |
|
85 | - * |
|
86 | - * @param WPInv_Invoice $invoice Invoice. |
|
87 | - */ |
|
88 | - public function thankyou_page( $invoice ) { |
|
84 | + * Output for the order received page. |
|
85 | + * |
|
86 | + * @param WPInv_Invoice $invoice Invoice. |
|
87 | + */ |
|
88 | + public function thankyou_page( $invoice ) { |
|
89 | 89 | |
90 | 90 | if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
91 | 91 | |
92 | - echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL; |
|
92 | + echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL; |
|
93 | 93 | |
94 | 94 | if ( ! empty( $this->instructions ) ) { |
95 | 95 | echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) ); |
96 | - } |
|
96 | + } |
|
97 | 97 | |
98 | - $this->bank_details( $invoice ); |
|
98 | + $this->bank_details( $invoice ); |
|
99 | 99 | |
100 | - echo '</div>'; |
|
100 | + echo '</div>'; |
|
101 | 101 | |
102 | 102 | } |
103 | 103 | |
104 | - } |
|
104 | + } |
|
105 | 105 | |
106 | 106 | /** |
107 | - * Add content to the WPI emails. |
|
108 | - * |
|
109 | - * @param WPInv_Invoice $invoice Invoice. |
|
110 | - * @param string $email_type Email format: plain text or HTML. |
|
111 | - * @param bool $sent_to_admin Sent to admin. |
|
112 | - */ |
|
113 | - public function email_instructions( $invoice, $email_type, $sent_to_admin ) { |
|
107 | + * Add content to the WPI emails. |
|
108 | + * |
|
109 | + * @param WPInv_Invoice $invoice Invoice. |
|
110 | + * @param string $email_type Email format: plain text or HTML. |
|
111 | + * @param bool $sent_to_admin Sent to admin. |
|
112 | + */ |
|
113 | + public function email_instructions( $invoice, $email_type, $sent_to_admin ) { |
|
114 | 114 | |
115 | - if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
|
115 | + if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
|
116 | 116 | |
117 | - echo '<div class="wpi-email-row getpaid-bank-transfer-details">'; |
|
117 | + echo '<div class="wpi-email-row getpaid-bank-transfer-details">'; |
|
118 | 118 | |
119 | - if ( $this->instructions ) { |
|
120 | - echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL ); |
|
119 | + if ( $this->instructions ) { |
|
120 | + echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL ); |
|
121 | 121 | } |
122 | 122 | |
123 | - $this->bank_details( $invoice ); |
|
123 | + $this->bank_details( $invoice ); |
|
124 | 124 | |
125 | - echo '</div>'; |
|
125 | + echo '</div>'; |
|
126 | 126 | |
127 | - } |
|
127 | + } |
|
128 | 128 | |
129 | 129 | } |
130 | 130 | |
131 | 131 | /** |
132 | - * Get bank details and place into a list format. |
|
133 | - * |
|
134 | - * @param WPInv_Invoice $invoice Invoice. |
|
135 | - */ |
|
136 | - protected function bank_details( $invoice ) { |
|
132 | + * Get bank details and place into a list format. |
|
133 | + * |
|
134 | + * @param WPInv_Invoice $invoice Invoice. |
|
135 | + */ |
|
136 | + protected function bank_details( $invoice ) { |
|
137 | 137 | |
138 | - // Get the invoice country and country $locale. |
|
139 | - $country = $invoice->get_country(); |
|
140 | - $locale = $this->get_country_locale(); |
|
138 | + // Get the invoice country and country $locale. |
|
139 | + $country = $invoice->get_country(); |
|
140 | + $locale = $this->get_country_locale(); |
|
141 | 141 | |
142 | - // Get sortcode label in the $locale array and use appropriate one. |
|
143 | - $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
142 | + // Get sortcode label in the $locale array and use appropriate one. |
|
143 | + $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
144 | 144 | |
145 | 145 | $bank_fields = array( |
146 | 146 | 'ac_name' => __( 'Account Name', 'invoicing' ), |
@@ -169,144 +169,144 @@ discard block |
||
169 | 169 | return; |
170 | 170 | } |
171 | 171 | |
172 | - echo '<h3 class="getpaid-bank-transfer-title"> ' . apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ) ) . '</h3>' . PHP_EOL; |
|
172 | + echo '<h3 class="getpaid-bank-transfer-title"> ' . apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ) ) . '</h3>' . PHP_EOL; |
|
173 | 173 | |
174 | - echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL; |
|
174 | + echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL; |
|
175 | 175 | |
176 | - foreach ( $bank_info as $key => $data ) { |
|
176 | + foreach ( $bank_info as $key => $data ) { |
|
177 | 177 | |
178 | - $key = sanitize_html_class( $key ); |
|
179 | - $label = wp_kses_post( $data['label'] ); |
|
180 | - $value = wp_kses_post( wptexturize( $data['value'] ) ); |
|
178 | + $key = sanitize_html_class( $key ); |
|
179 | + $label = wp_kses_post( $data['label'] ); |
|
180 | + $value = wp_kses_post( wptexturize( $data['value'] ) ); |
|
181 | 181 | |
182 | - echo "<tr class='getpaid-bank-transfer-$key'><th>$label</th><td>$value</td></tr>" . PHP_EOL; |
|
183 | - } |
|
182 | + echo "<tr class='getpaid-bank-transfer-$key'><th>$label</th><td>$value</td></tr>" . PHP_EOL; |
|
183 | + } |
|
184 | 184 | |
185 | - echo '</table>'; |
|
185 | + echo '</table>'; |
|
186 | 186 | |
187 | 187 | } |
188 | 188 | |
189 | 189 | /** |
190 | - * Get country locale if localized. |
|
191 | - * |
|
192 | - * @return array |
|
193 | - */ |
|
194 | - public function get_country_locale() { |
|
195 | - |
|
196 | - if ( empty( $this->locale ) ) { |
|
197 | - |
|
198 | - // Locale information to be used - only those that are not 'Sort Code'. |
|
199 | - $this->locale = apply_filters( |
|
200 | - 'getpaid_get_bank_transfer_locale', |
|
201 | - array( |
|
202 | - 'AU' => array( |
|
203 | - 'sortcode' => array( |
|
204 | - 'label' => __( 'BSB', 'invoicing' ), |
|
205 | - ), |
|
206 | - ), |
|
207 | - 'CA' => array( |
|
208 | - 'sortcode' => array( |
|
209 | - 'label' => __( 'Bank transit number', 'invoicing' ), |
|
210 | - ), |
|
211 | - ), |
|
212 | - 'IN' => array( |
|
213 | - 'sortcode' => array( |
|
214 | - 'label' => __( 'IFSC', 'invoicing' ), |
|
215 | - ), |
|
216 | - ), |
|
217 | - 'IT' => array( |
|
218 | - 'sortcode' => array( |
|
219 | - 'label' => __( 'Branch sort', 'invoicing' ), |
|
220 | - ), |
|
221 | - ), |
|
222 | - 'NZ' => array( |
|
223 | - 'sortcode' => array( |
|
224 | - 'label' => __( 'Bank code', 'invoicing' ), |
|
225 | - ), |
|
226 | - ), |
|
227 | - 'SE' => array( |
|
228 | - 'sortcode' => array( |
|
229 | - 'label' => __( 'Bank code', 'invoicing' ), |
|
230 | - ), |
|
231 | - ), |
|
232 | - 'US' => array( |
|
233 | - 'sortcode' => array( |
|
234 | - 'label' => __( 'Routing number', 'invoicing' ), |
|
235 | - ), |
|
236 | - ), |
|
237 | - 'ZA' => array( |
|
238 | - 'sortcode' => array( |
|
239 | - 'label' => __( 'Branch code', 'invoicing' ), |
|
240 | - ), |
|
241 | - ), |
|
242 | - ) |
|
243 | - ); |
|
244 | - |
|
245 | - } |
|
246 | - |
|
247 | - return $this->locale; |
|
248 | - |
|
249 | - } |
|
250 | - |
|
251 | - /** |
|
252 | - * Filters the gateway settings. |
|
253 | - * |
|
254 | - * @param array $admin_settings |
|
255 | - */ |
|
256 | - public function admin_settings( $admin_settings ) { |
|
190 | + * Get country locale if localized. |
|
191 | + * |
|
192 | + * @return array |
|
193 | + */ |
|
194 | + public function get_country_locale() { |
|
195 | + |
|
196 | + if ( empty( $this->locale ) ) { |
|
197 | + |
|
198 | + // Locale information to be used - only those that are not 'Sort Code'. |
|
199 | + $this->locale = apply_filters( |
|
200 | + 'getpaid_get_bank_transfer_locale', |
|
201 | + array( |
|
202 | + 'AU' => array( |
|
203 | + 'sortcode' => array( |
|
204 | + 'label' => __( 'BSB', 'invoicing' ), |
|
205 | + ), |
|
206 | + ), |
|
207 | + 'CA' => array( |
|
208 | + 'sortcode' => array( |
|
209 | + 'label' => __( 'Bank transit number', 'invoicing' ), |
|
210 | + ), |
|
211 | + ), |
|
212 | + 'IN' => array( |
|
213 | + 'sortcode' => array( |
|
214 | + 'label' => __( 'IFSC', 'invoicing' ), |
|
215 | + ), |
|
216 | + ), |
|
217 | + 'IT' => array( |
|
218 | + 'sortcode' => array( |
|
219 | + 'label' => __( 'Branch sort', 'invoicing' ), |
|
220 | + ), |
|
221 | + ), |
|
222 | + 'NZ' => array( |
|
223 | + 'sortcode' => array( |
|
224 | + 'label' => __( 'Bank code', 'invoicing' ), |
|
225 | + ), |
|
226 | + ), |
|
227 | + 'SE' => array( |
|
228 | + 'sortcode' => array( |
|
229 | + 'label' => __( 'Bank code', 'invoicing' ), |
|
230 | + ), |
|
231 | + ), |
|
232 | + 'US' => array( |
|
233 | + 'sortcode' => array( |
|
234 | + 'label' => __( 'Routing number', 'invoicing' ), |
|
235 | + ), |
|
236 | + ), |
|
237 | + 'ZA' => array( |
|
238 | + 'sortcode' => array( |
|
239 | + 'label' => __( 'Branch code', 'invoicing' ), |
|
240 | + ), |
|
241 | + ), |
|
242 | + ) |
|
243 | + ); |
|
244 | + |
|
245 | + } |
|
246 | + |
|
247 | + return $this->locale; |
|
248 | + |
|
249 | + } |
|
250 | + |
|
251 | + /** |
|
252 | + * Filters the gateway settings. |
|
253 | + * |
|
254 | + * @param array $admin_settings |
|
255 | + */ |
|
256 | + public function admin_settings( $admin_settings ) { |
|
257 | 257 | |
258 | 258 | $admin_settings['bank_transfer_desc']['std'] = __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' ); |
259 | - $admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' ); |
|
259 | + $admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' ); |
|
260 | 260 | |
261 | - $locale = $this->get_country_locale(); |
|
261 | + $locale = $this->get_country_locale(); |
|
262 | 262 | |
263 | - // Get sortcode label in the $locale array and use appropriate one. |
|
264 | - $country = wpinv_default_billing_country(); |
|
265 | - $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
263 | + // Get sortcode label in the $locale array and use appropriate one. |
|
264 | + $country = wpinv_default_billing_country(); |
|
265 | + $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
266 | 266 | |
267 | - $admin_settings['bank_transfer_ac_name'] = array( |
|
267 | + $admin_settings['bank_transfer_ac_name'] = array( |
|
268 | 268 | 'type' => 'text', |
269 | 269 | 'id' => 'bank_transfer_ac_name', |
270 | 270 | 'name' => __( 'Account Name', 'invoicing' ), |
271 | - ); |
|
271 | + ); |
|
272 | 272 | |
273 | - $admin_settings['bank_transfer_ac_no'] = array( |
|
273 | + $admin_settings['bank_transfer_ac_no'] = array( |
|
274 | 274 | 'type' => 'text', |
275 | 275 | 'id' => 'bank_transfer_ac_no', |
276 | 276 | 'name' => __( 'Account Number', 'invoicing' ), |
277 | - ); |
|
277 | + ); |
|
278 | 278 | |
279 | - $admin_settings['bank_transfer_bank_name'] = array( |
|
279 | + $admin_settings['bank_transfer_bank_name'] = array( |
|
280 | 280 | 'type' => 'text', |
281 | 281 | 'id' => 'bank_transfer_bank_name', |
282 | 282 | 'name' => __( 'Bank Name', 'invoicing' ), |
283 | - ); |
|
283 | + ); |
|
284 | 284 | |
285 | - $admin_settings['bank_transfer_ifsc'] = array( |
|
285 | + $admin_settings['bank_transfer_ifsc'] = array( |
|
286 | 286 | 'type' => 'text', |
287 | 287 | 'id' => 'bank_transfer_ifsc', |
288 | 288 | 'name' => __( 'IFSC Code', 'invoicing' ), |
289 | - ); |
|
289 | + ); |
|
290 | 290 | |
291 | - $admin_settings['bank_transfer_iban'] = array( |
|
291 | + $admin_settings['bank_transfer_iban'] = array( |
|
292 | 292 | 'type' => 'text', |
293 | 293 | 'id' => 'bank_transfer_iban', |
294 | 294 | 'name' => __( 'IBAN', 'invoicing' ), |
295 | - ); |
|
295 | + ); |
|
296 | 296 | |
297 | - $admin_settings['bank_transfer_bic'] = array( |
|
297 | + $admin_settings['bank_transfer_bic'] = array( |
|
298 | 298 | 'type' => 'text', |
299 | 299 | 'id' => 'bank_transfer_bic', |
300 | 300 | 'name' => __( 'BIC/Swift Code', 'invoicing' ), |
301 | - ); |
|
301 | + ); |
|
302 | 302 | |
303 | - $admin_settings['bank_transfer_sort_code'] = array( |
|
304 | - 'type' => 'text', |
|
305 | - 'id' => 'bank_transfer_sort_code', |
|
306 | - 'name' => $sortcode, |
|
307 | - ); |
|
303 | + $admin_settings['bank_transfer_sort_code'] = array( |
|
304 | + 'type' => 'text', |
|
305 | + 'id' => 'bank_transfer_sort_code', |
|
306 | + 'name' => $sortcode, |
|
307 | + ); |
|
308 | 308 | |
309 | - $admin_settings['bank_transfer_info'] = array( |
|
309 | + $admin_settings['bank_transfer_info'] = array( |
|
310 | 310 | 'id' => 'bank_transfer_info', |
311 | 311 | 'name' => __( 'Instructions', 'invoicing' ), |
312 | 312 | 'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ), |
@@ -316,17 +316,17 @@ discard block |
||
316 | 316 | 'rows' => 5 |
317 | 317 | ); |
318 | 318 | |
319 | - return $admin_settings; |
|
320 | - } |
|
319 | + return $admin_settings; |
|
320 | + } |
|
321 | 321 | |
322 | - /** |
|
323 | - * Processes invoice addons. |
|
324 | - * |
|
325 | - * @param WPInv_Invoice $invoice |
|
326 | - * @param GetPaid_Form_Item[] $items |
|
327 | - * @return WPInv_Invoice |
|
328 | - */ |
|
329 | - public function process_addons( $invoice, $items ) { |
|
322 | + /** |
|
323 | + * Processes invoice addons. |
|
324 | + * |
|
325 | + * @param WPInv_Invoice $invoice |
|
326 | + * @param GetPaid_Form_Item[] $items |
|
327 | + * @return WPInv_Invoice |
|
328 | + */ |
|
329 | + public function process_addons( $invoice, $items ) { |
|
330 | 330 | |
331 | 331 | foreach ( $items as $item ) { |
332 | 332 | $invoice->add_item( $item ); |
@@ -334,6 +334,6 @@ discard block |
||
334 | 334 | |
335 | 335 | $invoice->recalculate_total(); |
336 | 336 | $invoice->save(); |
337 | - } |
|
337 | + } |
|
338 | 338 | |
339 | 339 | } |
@@ -4,7 +4,7 @@ discard block |
||
4 | 4 | * |
5 | 5 | */ |
6 | 6 | |
7 | -defined( 'ABSPATH' ) || exit; |
|
7 | +defined('ABSPATH') || exit; |
|
8 | 8 | |
9 | 9 | /** |
10 | 10 | * Bank transfer Payment Gateway class. |
@@ -24,7 +24,7 @@ discard block |
||
24 | 24 | * |
25 | 25 | * @var array |
26 | 26 | */ |
27 | - protected $supports = array( 'addons' ); |
|
27 | + protected $supports = array('addons'); |
|
28 | 28 | |
29 | 29 | /** |
30 | 30 | * Payment method order. |
@@ -39,15 +39,15 @@ discard block |
||
39 | 39 | public function __construct() { |
40 | 40 | parent::__construct(); |
41 | 41 | |
42 | - $this->title = __( 'Direct bank transfer', 'invoicing' ); |
|
43 | - $this->method_title = __( 'Bank transfer', 'invoicing' ); |
|
44 | - $this->checkout_button_text = __( 'Proceed', 'invoicing' ); |
|
45 | - $this->instructions = apply_filters( 'wpinv_bank_instructions', $this->get_option( 'info' ) ); |
|
42 | + $this->title = __('Direct bank transfer', 'invoicing'); |
|
43 | + $this->method_title = __('Bank transfer', 'invoicing'); |
|
44 | + $this->checkout_button_text = __('Proceed', 'invoicing'); |
|
45 | + $this->instructions = apply_filters('wpinv_bank_instructions', $this->get_option('info')); |
|
46 | 46 | |
47 | - add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) ); |
|
48 | - add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 ); |
|
49 | - add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 ); |
|
50 | - add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 ); |
|
47 | + add_action('wpinv_receipt_end', array($this, 'thankyou_page')); |
|
48 | + add_action('getpaid_invoice_line_items', array($this, 'thankyou_page'), 40); |
|
49 | + add_action('wpinv_pdf_content_billing', array($this, 'thankyou_page'), 11); |
|
50 | + add_action('wpinv_email_invoice_details', array($this, 'email_instructions'), 10, 3); |
|
51 | 51 | |
52 | 52 | } |
53 | 53 | |
@@ -60,23 +60,23 @@ discard block |
||
60 | 60 | * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
61 | 61 | * @return array |
62 | 62 | */ |
63 | - public function process_payment( $invoice, $submission_data, $submission ) { |
|
63 | + public function process_payment($invoice, $submission_data, $submission) { |
|
64 | 64 | |
65 | 65 | // Add a transaction id. |
66 | - $invoice->set_transaction_id( $invoice->generate_key('trans_') ); |
|
66 | + $invoice->set_transaction_id($invoice->generate_key('trans_')); |
|
67 | 67 | |
68 | 68 | // Set it as pending payment. |
69 | - if ( ! $invoice->needs_payment() ) { |
|
69 | + if (!$invoice->needs_payment()) { |
|
70 | 70 | $invoice->mark_paid(); |
71 | - } else if ( ! $invoice->is_paid() ) { |
|
72 | - $invoice->set_status( 'wpi-onhold' ); |
|
71 | + } else if (!$invoice->is_paid()) { |
|
72 | + $invoice->set_status('wpi-onhold'); |
|
73 | 73 | } |
74 | 74 | |
75 | 75 | // Save it. |
76 | 76 | $invoice->save(); |
77 | 77 | |
78 | 78 | // Send to the success page. |
79 | - wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) ); |
|
79 | + wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key())); |
|
80 | 80 | |
81 | 81 | } |
82 | 82 | |
@@ -85,17 +85,17 @@ discard block |
||
85 | 85 | * |
86 | 86 | * @param WPInv_Invoice $invoice Invoice. |
87 | 87 | */ |
88 | - public function thankyou_page( $invoice ) { |
|
88 | + public function thankyou_page($invoice) { |
|
89 | 89 | |
90 | - if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
|
90 | + if ('bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment()) { |
|
91 | 91 | |
92 | 92 | echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL; |
93 | 93 | |
94 | - if ( ! empty( $this->instructions ) ) { |
|
95 | - echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) ); |
|
94 | + if (!empty($this->instructions)) { |
|
95 | + echo wp_kses_post(wpautop(wptexturize($this->instructions))); |
|
96 | 96 | } |
97 | 97 | |
98 | - $this->bank_details( $invoice ); |
|
98 | + $this->bank_details($invoice); |
|
99 | 99 | |
100 | 100 | echo '</div>'; |
101 | 101 | |
@@ -110,17 +110,17 @@ discard block |
||
110 | 110 | * @param string $email_type Email format: plain text or HTML. |
111 | 111 | * @param bool $sent_to_admin Sent to admin. |
112 | 112 | */ |
113 | - public function email_instructions( $invoice, $email_type, $sent_to_admin ) { |
|
113 | + public function email_instructions($invoice, $email_type, $sent_to_admin) { |
|
114 | 114 | |
115 | - if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
|
115 | + if (!$sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment()) { |
|
116 | 116 | |
117 | 117 | echo '<div class="wpi-email-row getpaid-bank-transfer-details">'; |
118 | 118 | |
119 | - if ( $this->instructions ) { |
|
120 | - echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL ); |
|
119 | + if ($this->instructions) { |
|
120 | + echo wp_kses_post(wpautop(wptexturize($this->instructions)) . PHP_EOL); |
|
121 | 121 | } |
122 | 122 | |
123 | - $this->bank_details( $invoice ); |
|
123 | + $this->bank_details($invoice); |
|
124 | 124 | |
125 | 125 | echo '</div>'; |
126 | 126 | |
@@ -133,51 +133,51 @@ discard block |
||
133 | 133 | * |
134 | 134 | * @param WPInv_Invoice $invoice Invoice. |
135 | 135 | */ |
136 | - protected function bank_details( $invoice ) { |
|
136 | + protected function bank_details($invoice) { |
|
137 | 137 | |
138 | 138 | // Get the invoice country and country $locale. |
139 | 139 | $country = $invoice->get_country(); |
140 | 140 | $locale = $this->get_country_locale(); |
141 | 141 | |
142 | 142 | // Get sortcode label in the $locale array and use appropriate one. |
143 | - $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
143 | + $sortcode = isset($locale[$country]['sortcode']['label']) ? $locale[$country]['sortcode']['label'] : __('Sort code', 'invoicing'); |
|
144 | 144 | |
145 | 145 | $bank_fields = array( |
146 | - 'ac_name' => __( 'Account Name', 'invoicing' ), |
|
147 | - 'ac_no' => __( 'Account Number', 'invoicing' ), |
|
148 | - 'bank_name' => __( 'Bank Name', 'invoicing' ), |
|
149 | - 'ifsc' => __( 'IFSC code', 'invoicing' ), |
|
150 | - 'iban' => __( 'IBAN', 'invoicing' ), |
|
151 | - 'bic' => __( 'BIC/Swift code', 'invoicing' ), |
|
146 | + 'ac_name' => __('Account Name', 'invoicing'), |
|
147 | + 'ac_no' => __('Account Number', 'invoicing'), |
|
148 | + 'bank_name' => __('Bank Name', 'invoicing'), |
|
149 | + 'ifsc' => __('IFSC code', 'invoicing'), |
|
150 | + 'iban' => __('IBAN', 'invoicing'), |
|
151 | + 'bic' => __('BIC/Swift code', 'invoicing'), |
|
152 | 152 | 'sort_code' => $sortcode, |
153 | 153 | ); |
154 | 154 | |
155 | 155 | $bank_info = array(); |
156 | 156 | |
157 | - foreach ( $bank_fields as $field => $label ) { |
|
158 | - $value = $this->get_option( $field ); |
|
157 | + foreach ($bank_fields as $field => $label) { |
|
158 | + $value = $this->get_option($field); |
|
159 | 159 | |
160 | - if ( ! empty( $value ) ) { |
|
161 | - $bank_info[$field] = array( 'label' => $label, 'value' => $value ); |
|
160 | + if (!empty($value)) { |
|
161 | + $bank_info[$field] = array('label' => $label, 'value' => $value); |
|
162 | 162 | } |
163 | 163 | |
164 | 164 | } |
165 | 165 | |
166 | - $bank_info = apply_filters( 'wpinv_bank_info', $bank_info ); |
|
166 | + $bank_info = apply_filters('wpinv_bank_info', $bank_info); |
|
167 | 167 | |
168 | - if ( empty( $bank_info ) ) { |
|
168 | + if (empty($bank_info)) { |
|
169 | 169 | return; |
170 | 170 | } |
171 | 171 | |
172 | - echo '<h3 class="getpaid-bank-transfer-title"> ' . apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ) ) . '</h3>' . PHP_EOL; |
|
172 | + echo '<h3 class="getpaid-bank-transfer-title"> ' . apply_filters('wpinv_receipt_bank_details_title', __('Bank Details', 'invoicing')) . '</h3>' . PHP_EOL; |
|
173 | 173 | |
174 | 174 | echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL; |
175 | 175 | |
176 | - foreach ( $bank_info as $key => $data ) { |
|
176 | + foreach ($bank_info as $key => $data) { |
|
177 | 177 | |
178 | - $key = sanitize_html_class( $key ); |
|
179 | - $label = wp_kses_post( $data['label'] ); |
|
180 | - $value = wp_kses_post( wptexturize( $data['value'] ) ); |
|
178 | + $key = sanitize_html_class($key); |
|
179 | + $label = wp_kses_post($data['label']); |
|
180 | + $value = wp_kses_post(wptexturize($data['value'])); |
|
181 | 181 | |
182 | 182 | echo "<tr class='getpaid-bank-transfer-$key'><th>$label</th><td>$value</td></tr>" . PHP_EOL; |
183 | 183 | } |
@@ -193,7 +193,7 @@ discard block |
||
193 | 193 | */ |
194 | 194 | public function get_country_locale() { |
195 | 195 | |
196 | - if ( empty( $this->locale ) ) { |
|
196 | + if (empty($this->locale)) { |
|
197 | 197 | |
198 | 198 | // Locale information to be used - only those that are not 'Sort Code'. |
199 | 199 | $this->locale = apply_filters( |
@@ -201,42 +201,42 @@ discard block |
||
201 | 201 | array( |
202 | 202 | 'AU' => array( |
203 | 203 | 'sortcode' => array( |
204 | - 'label' => __( 'BSB', 'invoicing' ), |
|
204 | + 'label' => __('BSB', 'invoicing'), |
|
205 | 205 | ), |
206 | 206 | ), |
207 | 207 | 'CA' => array( |
208 | 208 | 'sortcode' => array( |
209 | - 'label' => __( 'Bank transit number', 'invoicing' ), |
|
209 | + 'label' => __('Bank transit number', 'invoicing'), |
|
210 | 210 | ), |
211 | 211 | ), |
212 | 212 | 'IN' => array( |
213 | 213 | 'sortcode' => array( |
214 | - 'label' => __( 'IFSC', 'invoicing' ), |
|
214 | + 'label' => __('IFSC', 'invoicing'), |
|
215 | 215 | ), |
216 | 216 | ), |
217 | 217 | 'IT' => array( |
218 | 218 | 'sortcode' => array( |
219 | - 'label' => __( 'Branch sort', 'invoicing' ), |
|
219 | + 'label' => __('Branch sort', 'invoicing'), |
|
220 | 220 | ), |
221 | 221 | ), |
222 | 222 | 'NZ' => array( |
223 | 223 | 'sortcode' => array( |
224 | - 'label' => __( 'Bank code', 'invoicing' ), |
|
224 | + 'label' => __('Bank code', 'invoicing'), |
|
225 | 225 | ), |
226 | 226 | ), |
227 | 227 | 'SE' => array( |
228 | 228 | 'sortcode' => array( |
229 | - 'label' => __( 'Bank code', 'invoicing' ), |
|
229 | + 'label' => __('Bank code', 'invoicing'), |
|
230 | 230 | ), |
231 | 231 | ), |
232 | 232 | 'US' => array( |
233 | 233 | 'sortcode' => array( |
234 | - 'label' => __( 'Routing number', 'invoicing' ), |
|
234 | + 'label' => __('Routing number', 'invoicing'), |
|
235 | 235 | ), |
236 | 236 | ), |
237 | 237 | 'ZA' => array( |
238 | 238 | 'sortcode' => array( |
239 | - 'label' => __( 'Branch code', 'invoicing' ), |
|
239 | + 'label' => __('Branch code', 'invoicing'), |
|
240 | 240 | ), |
241 | 241 | ), |
242 | 242 | ) |
@@ -253,51 +253,51 @@ discard block |
||
253 | 253 | * |
254 | 254 | * @param array $admin_settings |
255 | 255 | */ |
256 | - public function admin_settings( $admin_settings ) { |
|
256 | + public function admin_settings($admin_settings) { |
|
257 | 257 | |
258 | - $admin_settings['bank_transfer_desc']['std'] = __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' ); |
|
259 | - $admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' ); |
|
258 | + $admin_settings['bank_transfer_desc']['std'] = __("Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing'); |
|
259 | + $admin_settings['bank_transfer_active']['desc'] = __('Enable bank transfer', 'invoicing'); |
|
260 | 260 | |
261 | - $locale = $this->get_country_locale(); |
|
261 | + $locale = $this->get_country_locale(); |
|
262 | 262 | |
263 | 263 | // Get sortcode label in the $locale array and use appropriate one. |
264 | 264 | $country = wpinv_default_billing_country(); |
265 | - $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
265 | + $sortcode = isset($locale[$country]['sortcode']['label']) ? $locale[$country]['sortcode']['label'] : __('Sort code', 'invoicing'); |
|
266 | 266 | |
267 | 267 | $admin_settings['bank_transfer_ac_name'] = array( |
268 | 268 | 'type' => 'text', |
269 | 269 | 'id' => 'bank_transfer_ac_name', |
270 | - 'name' => __( 'Account Name', 'invoicing' ), |
|
270 | + 'name' => __('Account Name', 'invoicing'), |
|
271 | 271 | ); |
272 | 272 | |
273 | 273 | $admin_settings['bank_transfer_ac_no'] = array( |
274 | 274 | 'type' => 'text', |
275 | 275 | 'id' => 'bank_transfer_ac_no', |
276 | - 'name' => __( 'Account Number', 'invoicing' ), |
|
276 | + 'name' => __('Account Number', 'invoicing'), |
|
277 | 277 | ); |
278 | 278 | |
279 | 279 | $admin_settings['bank_transfer_bank_name'] = array( |
280 | 280 | 'type' => 'text', |
281 | 281 | 'id' => 'bank_transfer_bank_name', |
282 | - 'name' => __( 'Bank Name', 'invoicing' ), |
|
282 | + 'name' => __('Bank Name', 'invoicing'), |
|
283 | 283 | ); |
284 | 284 | |
285 | 285 | $admin_settings['bank_transfer_ifsc'] = array( |
286 | 286 | 'type' => 'text', |
287 | 287 | 'id' => 'bank_transfer_ifsc', |
288 | - 'name' => __( 'IFSC Code', 'invoicing' ), |
|
288 | + 'name' => __('IFSC Code', 'invoicing'), |
|
289 | 289 | ); |
290 | 290 | |
291 | 291 | $admin_settings['bank_transfer_iban'] = array( |
292 | 292 | 'type' => 'text', |
293 | 293 | 'id' => 'bank_transfer_iban', |
294 | - 'name' => __( 'IBAN', 'invoicing' ), |
|
294 | + 'name' => __('IBAN', 'invoicing'), |
|
295 | 295 | ); |
296 | 296 | |
297 | 297 | $admin_settings['bank_transfer_bic'] = array( |
298 | 298 | 'type' => 'text', |
299 | 299 | 'id' => 'bank_transfer_bic', |
300 | - 'name' => __( 'BIC/Swift Code', 'invoicing' ), |
|
300 | + 'name' => __('BIC/Swift Code', 'invoicing'), |
|
301 | 301 | ); |
302 | 302 | |
303 | 303 | $admin_settings['bank_transfer_sort_code'] = array( |
@@ -308,10 +308,10 @@ discard block |
||
308 | 308 | |
309 | 309 | $admin_settings['bank_transfer_info'] = array( |
310 | 310 | 'id' => 'bank_transfer_info', |
311 | - 'name' => __( 'Instructions', 'invoicing' ), |
|
312 | - 'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ), |
|
311 | + 'name' => __('Instructions', 'invoicing'), |
|
312 | + 'desc' => __('Instructions that will be added to the thank you page and emails.', 'invoicing'), |
|
313 | 313 | 'type' => 'textarea', |
314 | - 'std' => __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' ), |
|
314 | + 'std' => __("Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing'), |
|
315 | 315 | 'cols' => 50, |
316 | 316 | 'rows' => 5 |
317 | 317 | ); |
@@ -326,10 +326,10 @@ discard block |
||
326 | 326 | * @param GetPaid_Form_Item[] $items |
327 | 327 | * @return WPInv_Invoice |
328 | 328 | */ |
329 | - public function process_addons( $invoice, $items ) { |
|
329 | + public function process_addons($invoice, $items) { |
|
330 | 330 | |
331 | - foreach ( $items as $item ) { |
|
332 | - $invoice->add_item( $item ); |
|
331 | + foreach ($items as $item) { |
|
332 | + $invoice->add_item($item); |
|
333 | 333 | } |
334 | 334 | |
335 | 335 | $invoice->recalculate_total(); |
@@ -18,758 +18,758 @@ |
||
18 | 18 | */ |
19 | 19 | class GetPaid_REST_Settings_Controller extends GetPaid_REST_Controller { |
20 | 20 | |
21 | - /** |
|
22 | - * An array of available settings. |
|
23 | - * |
|
24 | - * @var string |
|
25 | - */ |
|
26 | - protected $settings; |
|
27 | - |
|
28 | - /** |
|
29 | - * Route base. |
|
30 | - * |
|
31 | - * @var string |
|
32 | - */ |
|
33 | - protected $rest_base = 'settings'; |
|
34 | - |
|
35 | - /** |
|
36 | - * Registers the routes for the objects of the controller. |
|
37 | - * |
|
38 | - * @since 2.0.0 |
|
39 | - * |
|
40 | - * @see register_rest_route() |
|
41 | - */ |
|
42 | - public function register_namespace_routes( $namespace ) { |
|
43 | - |
|
44 | - // List all registered tabs. |
|
45 | - register_rest_route( |
|
46 | - $namespace, |
|
47 | - $this->rest_base, |
|
48 | - array( |
|
49 | - array( |
|
50 | - 'methods' => WP_REST_Server::READABLE, |
|
51 | - 'callback' => array( $this, 'get_tabs' ), |
|
52 | - 'permission_callback' => array( $this, 'get_items_permissions_check' ), |
|
53 | - ), |
|
54 | - 'schema' => '__return_empty_array', |
|
55 | - ) |
|
56 | - ); |
|
57 | - |
|
58 | - // View/Update a single setting. |
|
59 | - register_rest_route( |
|
60 | - $namespace, |
|
61 | - $this->rest_base . '/setting/(?P<id>[\w-]+)', |
|
62 | - array( |
|
63 | - 'args' => array( |
|
64 | - 'id' => array( |
|
65 | - 'description' => __( 'Unique identifier for the setting.', 'invoicing' ), |
|
66 | - 'type' => 'string', |
|
67 | - 'required' => true, |
|
68 | - ), |
|
69 | - ), |
|
70 | - array( |
|
71 | - 'methods' => WP_REST_Server::READABLE, |
|
72 | - 'callback' => array( $this, 'get_item' ), |
|
73 | - 'permission_callback' => array( $this, 'get_items_permissions_check' ), |
|
74 | - ), |
|
75 | - array( |
|
76 | - 'methods' => WP_REST_Server::EDITABLE, |
|
77 | - 'callback' => array( $this, 'update_item' ), |
|
78 | - 'permission_callback' => array( $this, 'update_items_permissions_check' ), |
|
79 | - 'args' => $this->get_endpoint_args_for_item_schema( WP_REST_Server::EDITABLE ), |
|
80 | - ), |
|
81 | - 'schema' => array( $this, 'get_public_item_schema' ), |
|
82 | - ) |
|
83 | - ); |
|
84 | - |
|
85 | - // List registered sections for a given tab. |
|
86 | - register_rest_route( |
|
87 | - $namespace, |
|
88 | - $this->rest_base . '/(?P<tab>[\w-]+)', |
|
89 | - array( |
|
90 | - 'args' => array( |
|
91 | - 'tab' => array( |
|
92 | - 'description' => __( 'Unique identifier for the tab whose sections should be retrieved.', 'invoicing' ), |
|
93 | - 'type' => 'string', |
|
94 | - 'required' => true, |
|
95 | - 'enum' => array_keys( wpinv_get_settings_tabs() ), |
|
96 | - ), |
|
97 | - ), |
|
98 | - array( |
|
99 | - 'methods' => WP_REST_Server::READABLE, |
|
100 | - 'callback' => array( $this, 'get_sections' ), |
|
101 | - 'permission_callback' => array( $this, 'get_items_permissions_check' ), |
|
102 | - ), |
|
103 | - 'schema' => '__return_empty_array', |
|
104 | - ) |
|
105 | - ); |
|
106 | - |
|
107 | - // List all registered settings for a given tab. |
|
108 | - register_rest_route( |
|
109 | - $namespace, |
|
110 | - $this->rest_base . '/(?P<tab>[\w-]+)/(?P<section>[\w-]+)', |
|
111 | - array( |
|
112 | - 'args' => array( |
|
113 | - 'tab' => array( |
|
114 | - 'description' => __( 'Unique identifier for the tab whose settings should be retrieved.', 'invoicing' ), |
|
115 | - 'type' => 'string', |
|
116 | - 'required' => true, |
|
117 | - 'enum' => array_keys( wpinv_get_settings_tabs() ), |
|
118 | - ), |
|
119 | - 'section' => array( |
|
120 | - 'description' => __( 'The section in the tab whose settings should be retrieved.', 'invoicing' ), |
|
121 | - 'type' => 'string', |
|
122 | - 'required' => true, |
|
123 | - ), |
|
124 | - ), |
|
125 | - array( |
|
126 | - 'methods' => WP_REST_Server::READABLE, |
|
127 | - 'callback' => array( $this, 'get_items' ), |
|
128 | - 'permission_callback' => array( $this, 'get_items_permissions_check' ), |
|
129 | - ), |
|
130 | - 'schema' => array( $this, 'get_public_item_schema' ), |
|
131 | - ) |
|
132 | - ); |
|
133 | - |
|
134 | - register_rest_route( |
|
135 | - $namespace, |
|
136 | - '/' . $this->rest_base . '/batch', |
|
137 | - array( |
|
138 | - 'args' => array( |
|
139 | - 'id' => array( |
|
140 | - 'description' => __( 'Setting ID.', 'invoicing' ), |
|
141 | - 'type' => 'string', |
|
142 | - ), |
|
143 | - ), |
|
144 | - array( |
|
145 | - 'methods' => WP_REST_Server::EDITABLE, |
|
146 | - 'callback' => array( $this, 'batch_items' ), |
|
147 | - 'permission_callback' => array( $this, 'batch_items_permissions_check' ), |
|
148 | - 'args' => $this->get_endpoint_args_for_item_schema( WP_REST_Server::EDITABLE ), |
|
149 | - ), |
|
150 | - 'schema' => array( $this, 'get_public_batch_schema' ), |
|
151 | - ) |
|
152 | - ); |
|
153 | - |
|
154 | - } |
|
21 | + /** |
|
22 | + * An array of available settings. |
|
23 | + * |
|
24 | + * @var string |
|
25 | + */ |
|
26 | + protected $settings; |
|
27 | + |
|
28 | + /** |
|
29 | + * Route base. |
|
30 | + * |
|
31 | + * @var string |
|
32 | + */ |
|
33 | + protected $rest_base = 'settings'; |
|
34 | + |
|
35 | + /** |
|
36 | + * Registers the routes for the objects of the controller. |
|
37 | + * |
|
38 | + * @since 2.0.0 |
|
39 | + * |
|
40 | + * @see register_rest_route() |
|
41 | + */ |
|
42 | + public function register_namespace_routes( $namespace ) { |
|
43 | + |
|
44 | + // List all registered tabs. |
|
45 | + register_rest_route( |
|
46 | + $namespace, |
|
47 | + $this->rest_base, |
|
48 | + array( |
|
49 | + array( |
|
50 | + 'methods' => WP_REST_Server::READABLE, |
|
51 | + 'callback' => array( $this, 'get_tabs' ), |
|
52 | + 'permission_callback' => array( $this, 'get_items_permissions_check' ), |
|
53 | + ), |
|
54 | + 'schema' => '__return_empty_array', |
|
55 | + ) |
|
56 | + ); |
|
57 | + |
|
58 | + // View/Update a single setting. |
|
59 | + register_rest_route( |
|
60 | + $namespace, |
|
61 | + $this->rest_base . '/setting/(?P<id>[\w-]+)', |
|
62 | + array( |
|
63 | + 'args' => array( |
|
64 | + 'id' => array( |
|
65 | + 'description' => __( 'Unique identifier for the setting.', 'invoicing' ), |
|
66 | + 'type' => 'string', |
|
67 | + 'required' => true, |
|
68 | + ), |
|
69 | + ), |
|
70 | + array( |
|
71 | + 'methods' => WP_REST_Server::READABLE, |
|
72 | + 'callback' => array( $this, 'get_item' ), |
|
73 | + 'permission_callback' => array( $this, 'get_items_permissions_check' ), |
|
74 | + ), |
|
75 | + array( |
|
76 | + 'methods' => WP_REST_Server::EDITABLE, |
|
77 | + 'callback' => array( $this, 'update_item' ), |
|
78 | + 'permission_callback' => array( $this, 'update_items_permissions_check' ), |
|
79 | + 'args' => $this->get_endpoint_args_for_item_schema( WP_REST_Server::EDITABLE ), |
|
80 | + ), |
|
81 | + 'schema' => array( $this, 'get_public_item_schema' ), |
|
82 | + ) |
|
83 | + ); |
|
84 | + |
|
85 | + // List registered sections for a given tab. |
|
86 | + register_rest_route( |
|
87 | + $namespace, |
|
88 | + $this->rest_base . '/(?P<tab>[\w-]+)', |
|
89 | + array( |
|
90 | + 'args' => array( |
|
91 | + 'tab' => array( |
|
92 | + 'description' => __( 'Unique identifier for the tab whose sections should be retrieved.', 'invoicing' ), |
|
93 | + 'type' => 'string', |
|
94 | + 'required' => true, |
|
95 | + 'enum' => array_keys( wpinv_get_settings_tabs() ), |
|
96 | + ), |
|
97 | + ), |
|
98 | + array( |
|
99 | + 'methods' => WP_REST_Server::READABLE, |
|
100 | + 'callback' => array( $this, 'get_sections' ), |
|
101 | + 'permission_callback' => array( $this, 'get_items_permissions_check' ), |
|
102 | + ), |
|
103 | + 'schema' => '__return_empty_array', |
|
104 | + ) |
|
105 | + ); |
|
106 | + |
|
107 | + // List all registered settings for a given tab. |
|
108 | + register_rest_route( |
|
109 | + $namespace, |
|
110 | + $this->rest_base . '/(?P<tab>[\w-]+)/(?P<section>[\w-]+)', |
|
111 | + array( |
|
112 | + 'args' => array( |
|
113 | + 'tab' => array( |
|
114 | + 'description' => __( 'Unique identifier for the tab whose settings should be retrieved.', 'invoicing' ), |
|
115 | + 'type' => 'string', |
|
116 | + 'required' => true, |
|
117 | + 'enum' => array_keys( wpinv_get_settings_tabs() ), |
|
118 | + ), |
|
119 | + 'section' => array( |
|
120 | + 'description' => __( 'The section in the tab whose settings should be retrieved.', 'invoicing' ), |
|
121 | + 'type' => 'string', |
|
122 | + 'required' => true, |
|
123 | + ), |
|
124 | + ), |
|
125 | + array( |
|
126 | + 'methods' => WP_REST_Server::READABLE, |
|
127 | + 'callback' => array( $this, 'get_items' ), |
|
128 | + 'permission_callback' => array( $this, 'get_items_permissions_check' ), |
|
129 | + ), |
|
130 | + 'schema' => array( $this, 'get_public_item_schema' ), |
|
131 | + ) |
|
132 | + ); |
|
133 | + |
|
134 | + register_rest_route( |
|
135 | + $namespace, |
|
136 | + '/' . $this->rest_base . '/batch', |
|
137 | + array( |
|
138 | + 'args' => array( |
|
139 | + 'id' => array( |
|
140 | + 'description' => __( 'Setting ID.', 'invoicing' ), |
|
141 | + 'type' => 'string', |
|
142 | + ), |
|
143 | + ), |
|
144 | + array( |
|
145 | + 'methods' => WP_REST_Server::EDITABLE, |
|
146 | + 'callback' => array( $this, 'batch_items' ), |
|
147 | + 'permission_callback' => array( $this, 'batch_items_permissions_check' ), |
|
148 | + 'args' => $this->get_endpoint_args_for_item_schema( WP_REST_Server::EDITABLE ), |
|
149 | + ), |
|
150 | + 'schema' => array( $this, 'get_public_batch_schema' ), |
|
151 | + ) |
|
152 | + ); |
|
153 | + |
|
154 | + } |
|
155 | 155 | |
156 | - /** |
|
157 | - * Return all settings. |
|
158 | - * |
|
159 | - * @since 2.0.0 |
|
160 | - * @param WP_REST_Request $request Request data. |
|
161 | - * @return WP_Error|WP_REST_Response |
|
162 | - */ |
|
163 | - public function get_items( $request ) { |
|
164 | - |
|
165 | - $settings = $this->get_settings(); |
|
166 | - |
|
167 | - if ( ! isset( $settings[ $request['tab'] ] ) ) { |
|
168 | - return new WP_Error( 'rest_invalid_tab', __( 'Invalid tab.', 'invoicing' ), array( 'status' => 400 ) ); |
|
169 | - } |
|
170 | - |
|
171 | - if ( ! isset( $settings[ $request['tab'] ][ $request['section'] ] ) ) { |
|
172 | - return new WP_Error( 'rest_invalid_section', __( 'Invalid section.', 'invoicing' ), array( 'status' => 400 ) ); |
|
173 | - } |
|
174 | - |
|
175 | - $settings = $settings[ $request['tab'] ][ $request['section'] ]; |
|
176 | - $prepared = array(); |
|
177 | - |
|
178 | - foreach ( $settings as $setting ) { |
|
179 | - |
|
180 | - $setting = $this->sanitize_setting( $setting ); |
|
181 | - $setting_data = $this->prepare_item_for_response( $setting, $request ); |
|
182 | - $setting_data = $this->prepare_response_for_collection( $setting_data ); |
|
183 | - |
|
184 | - if ( $this->is_setting_type_valid( $setting['type'] ) ) { |
|
185 | - $prepared[] = $setting_data; |
|
186 | - } |
|
187 | - |
|
188 | - } |
|
189 | - |
|
190 | - return rest_ensure_response( $prepared ); |
|
191 | - } |
|
192 | - |
|
193 | - /** |
|
194 | - * Return a single setting. |
|
195 | - * |
|
196 | - * @since 2.0.0 |
|
197 | - * @param WP_REST_Request $request Request data. |
|
198 | - * @return WP_Error|WP_REST_Response |
|
199 | - */ |
|
200 | - public function get_item( $request ) { |
|
201 | - $setting = $this->get_setting( $request['id'] ); |
|
202 | - |
|
203 | - if ( is_wp_error( $setting ) ) { |
|
204 | - return $setting; |
|
205 | - } |
|
206 | - |
|
207 | - $setting = $this->sanitize_setting( $setting ); |
|
208 | - $response = $this->prepare_item_for_response( $setting, $request ); |
|
209 | - return rest_ensure_response( $response ); |
|
210 | - } |
|
211 | - |
|
212 | - /** |
|
213 | - * Update a single setting. |
|
214 | - * |
|
215 | - * @since 2.0.0 |
|
216 | - * @param WP_REST_Request $request Request data. |
|
217 | - * @return WP_Error|WP_REST_Response |
|
218 | - */ |
|
219 | - public function update_item( $request ) { |
|
220 | - $setting = $this->get_setting( $request['id'] ); |
|
221 | - |
|
222 | - if ( is_wp_error( $setting ) ) { |
|
223 | - return $setting; |
|
224 | - } |
|
225 | - |
|
226 | - if ( is_callable( array( $this, 'validate_setting_' . $setting['type'] . '_field' ) ) ) { |
|
227 | - $value = $this->{'validate_setting_' . $setting['type'] . '_field'}( $request['value'], $setting ); |
|
228 | - } else { |
|
229 | - $value = $this->validate_setting_text_field( $request['value'], $setting ); |
|
230 | - } |
|
231 | - |
|
232 | - if ( is_wp_error( $value ) ) { |
|
233 | - return $value; |
|
234 | - } |
|
235 | - |
|
236 | - wpinv_update_option( $request['id'], $value ); |
|
237 | - $setting['value'] = $value; |
|
238 | - $setting = $this->sanitize_setting( $setting ); |
|
239 | - $response = $this->prepare_item_for_response( $setting, $request ); |
|
240 | - |
|
241 | - return rest_ensure_response( $response ); |
|
242 | - } |
|
243 | - |
|
244 | - /** |
|
245 | - * Makes sure the current user has access to READ the settings APIs. |
|
246 | - * |
|
247 | - * @since 2.0.0 |
|
248 | - * @param WP_REST_Request $request Full data about the request. |
|
249 | - * @return WP_Error|boolean |
|
250 | - */ |
|
251 | - public function get_items_permissions_check( $request ) { |
|
252 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
253 | - return new WP_Error( 'rest_cannot_view', __( 'Sorry, you cannot list resources.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) ); |
|
254 | - } |
|
255 | - |
|
256 | - return true; |
|
257 | - } |
|
258 | - |
|
259 | - /** |
|
260 | - * Makes sure the current user has access to WRITE the settings APIs. |
|
261 | - * |
|
262 | - * @since 2.0.0 |
|
263 | - * @param WP_REST_Request $request Full data about the request. |
|
264 | - * @return WP_Error|boolean |
|
265 | - */ |
|
266 | - public function update_items_permissions_check( $request ) { |
|
267 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
268 | - return new WP_Error( 'rest_cannot_edit', __( 'Sorry, you cannot edit this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) ); |
|
269 | - } |
|
270 | - |
|
271 | - return true; |
|
272 | - } |
|
273 | - |
|
274 | - /** |
|
275 | - * Check if a given request has access batch create, update and delete items. |
|
276 | - * |
|
277 | - * @param WP_REST_Request $request Full details about the request. |
|
278 | - * |
|
279 | - * @return boolean|WP_Error |
|
280 | - */ |
|
281 | - public function batch_items_permissions_check( $request ) { |
|
282 | - return wpinv_current_user_can_manage_invoicing() ? true : new WP_Error( 'rest_cannot_batch', __( 'Sorry, you are not allowed to batch manipulate this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) ); |
|
283 | - } |
|
284 | - |
|
285 | - /** |
|
286 | - * Prepare links for the request. |
|
287 | - * |
|
288 | - * @param string $setting_id Setting ID. |
|
289 | - * @return array Links for the given setting. |
|
290 | - */ |
|
291 | - protected function prepare_links( $setting_id ) { |
|
292 | - |
|
293 | - $links = array( |
|
294 | - 'self' => array( |
|
295 | - 'href' => rest_url( sprintf( '/%s/%s/setting/%s', $this->namespace, $this->rest_base, $setting_id ) ), |
|
296 | - ), |
|
297 | - 'collection' => array( |
|
298 | - 'href' => rest_url( sprintf( '/%s/%s', $this->namespace, $this->rest_base ) ), |
|
299 | - ), |
|
300 | - ); |
|
301 | - |
|
302 | - return $links; |
|
303 | - } |
|
304 | - |
|
305 | - /** |
|
306 | - * Prepare a settings object for serialization. |
|
307 | - * |
|
308 | - * @since 2.0.0 |
|
309 | - * @param array $item Setting object. |
|
310 | - * @param WP_REST_Request $request Request object. |
|
311 | - * @return WP_REST_Response $response Response data. |
|
312 | - */ |
|
313 | - public function prepare_item_for_response( $item, $request ) { |
|
314 | - $context = empty( $request['context'] ) ? 'view' : $request['context']; |
|
315 | - $data = $this->add_additional_fields_to_object( $item, $request ); |
|
316 | - $data = $this->filter_response_by_context( $data, $context ); |
|
317 | - |
|
318 | - $response = rest_ensure_response( $data ); |
|
319 | - |
|
320 | - $response->add_links( $this->prepare_links( $item['id'] ) ); |
|
321 | - |
|
322 | - return $response; |
|
323 | - } |
|
324 | - |
|
325 | - /** |
|
326 | - * Filters out bad values from the settings array/filter so we |
|
327 | - * only return known values via the API. |
|
328 | - * |
|
329 | - * @since 2.0.0 |
|
330 | - * @param array $setting Setting. |
|
331 | - * @return array |
|
332 | - */ |
|
333 | - public function filter_setting( $setting ) { |
|
334 | - return array_intersect_key( |
|
335 | - $setting, |
|
336 | - array_flip( array_filter( array_keys( $setting ), array( $this, 'allowed_setting_keys' ) ) ) |
|
337 | - ); |
|
338 | - } |
|
339 | - |
|
340 | - /** |
|
341 | - * Callback for allowed keys for each setting response. |
|
342 | - * |
|
343 | - * @param string $key Key to check. |
|
344 | - * @return boolean |
|
345 | - */ |
|
346 | - public function allowed_setting_keys( $key ) { |
|
347 | - return in_array( $key, array_keys( $this->setting_defaults() ), true ); |
|
348 | - } |
|
349 | - |
|
350 | - /** |
|
351 | - * Returns default options for a setting. null means the field is required. |
|
352 | - * |
|
353 | - * @since 2.0.0 |
|
354 | - * @return array |
|
355 | - */ |
|
356 | - protected function setting_defaults() { |
|
357 | - return array( |
|
358 | - 'id' => null, |
|
359 | - 'name' => null, |
|
360 | - 'desc' => '', |
|
361 | - 'options' => array(), |
|
362 | - 'std' => false, |
|
363 | - 'value' => false, |
|
364 | - 'placeholder' => '', |
|
365 | - 'readonly' => false, |
|
366 | - 'faux' => false, |
|
367 | - 'section' => 'main', |
|
368 | - 'tab' => 'general', |
|
369 | - 'type' => 'text', |
|
370 | - ); |
|
371 | - } |
|
372 | - |
|
373 | - /** |
|
374 | - * Sanitizes a setting's field. |
|
375 | - * |
|
376 | - * @param array $setting The setting to sanitize. |
|
377 | - * @return array |
|
378 | - */ |
|
379 | - public function sanitize_setting( $setting ) { |
|
156 | + /** |
|
157 | + * Return all settings. |
|
158 | + * |
|
159 | + * @since 2.0.0 |
|
160 | + * @param WP_REST_Request $request Request data. |
|
161 | + * @return WP_Error|WP_REST_Response |
|
162 | + */ |
|
163 | + public function get_items( $request ) { |
|
164 | + |
|
165 | + $settings = $this->get_settings(); |
|
166 | + |
|
167 | + if ( ! isset( $settings[ $request['tab'] ] ) ) { |
|
168 | + return new WP_Error( 'rest_invalid_tab', __( 'Invalid tab.', 'invoicing' ), array( 'status' => 400 ) ); |
|
169 | + } |
|
170 | + |
|
171 | + if ( ! isset( $settings[ $request['tab'] ][ $request['section'] ] ) ) { |
|
172 | + return new WP_Error( 'rest_invalid_section', __( 'Invalid section.', 'invoicing' ), array( 'status' => 400 ) ); |
|
173 | + } |
|
174 | + |
|
175 | + $settings = $settings[ $request['tab'] ][ $request['section'] ]; |
|
176 | + $prepared = array(); |
|
177 | + |
|
178 | + foreach ( $settings as $setting ) { |
|
179 | + |
|
180 | + $setting = $this->sanitize_setting( $setting ); |
|
181 | + $setting_data = $this->prepare_item_for_response( $setting, $request ); |
|
182 | + $setting_data = $this->prepare_response_for_collection( $setting_data ); |
|
183 | + |
|
184 | + if ( $this->is_setting_type_valid( $setting['type'] ) ) { |
|
185 | + $prepared[] = $setting_data; |
|
186 | + } |
|
187 | + |
|
188 | + } |
|
189 | + |
|
190 | + return rest_ensure_response( $prepared ); |
|
191 | + } |
|
192 | + |
|
193 | + /** |
|
194 | + * Return a single setting. |
|
195 | + * |
|
196 | + * @since 2.0.0 |
|
197 | + * @param WP_REST_Request $request Request data. |
|
198 | + * @return WP_Error|WP_REST_Response |
|
199 | + */ |
|
200 | + public function get_item( $request ) { |
|
201 | + $setting = $this->get_setting( $request['id'] ); |
|
202 | + |
|
203 | + if ( is_wp_error( $setting ) ) { |
|
204 | + return $setting; |
|
205 | + } |
|
206 | + |
|
207 | + $setting = $this->sanitize_setting( $setting ); |
|
208 | + $response = $this->prepare_item_for_response( $setting, $request ); |
|
209 | + return rest_ensure_response( $response ); |
|
210 | + } |
|
211 | + |
|
212 | + /** |
|
213 | + * Update a single setting. |
|
214 | + * |
|
215 | + * @since 2.0.0 |
|
216 | + * @param WP_REST_Request $request Request data. |
|
217 | + * @return WP_Error|WP_REST_Response |
|
218 | + */ |
|
219 | + public function update_item( $request ) { |
|
220 | + $setting = $this->get_setting( $request['id'] ); |
|
221 | + |
|
222 | + if ( is_wp_error( $setting ) ) { |
|
223 | + return $setting; |
|
224 | + } |
|
225 | + |
|
226 | + if ( is_callable( array( $this, 'validate_setting_' . $setting['type'] . '_field' ) ) ) { |
|
227 | + $value = $this->{'validate_setting_' . $setting['type'] . '_field'}( $request['value'], $setting ); |
|
228 | + } else { |
|
229 | + $value = $this->validate_setting_text_field( $request['value'], $setting ); |
|
230 | + } |
|
231 | + |
|
232 | + if ( is_wp_error( $value ) ) { |
|
233 | + return $value; |
|
234 | + } |
|
235 | + |
|
236 | + wpinv_update_option( $request['id'], $value ); |
|
237 | + $setting['value'] = $value; |
|
238 | + $setting = $this->sanitize_setting( $setting ); |
|
239 | + $response = $this->prepare_item_for_response( $setting, $request ); |
|
240 | + |
|
241 | + return rest_ensure_response( $response ); |
|
242 | + } |
|
243 | + |
|
244 | + /** |
|
245 | + * Makes sure the current user has access to READ the settings APIs. |
|
246 | + * |
|
247 | + * @since 2.0.0 |
|
248 | + * @param WP_REST_Request $request Full data about the request. |
|
249 | + * @return WP_Error|boolean |
|
250 | + */ |
|
251 | + public function get_items_permissions_check( $request ) { |
|
252 | + if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
253 | + return new WP_Error( 'rest_cannot_view', __( 'Sorry, you cannot list resources.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) ); |
|
254 | + } |
|
255 | + |
|
256 | + return true; |
|
257 | + } |
|
258 | + |
|
259 | + /** |
|
260 | + * Makes sure the current user has access to WRITE the settings APIs. |
|
261 | + * |
|
262 | + * @since 2.0.0 |
|
263 | + * @param WP_REST_Request $request Full data about the request. |
|
264 | + * @return WP_Error|boolean |
|
265 | + */ |
|
266 | + public function update_items_permissions_check( $request ) { |
|
267 | + if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
268 | + return new WP_Error( 'rest_cannot_edit', __( 'Sorry, you cannot edit this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) ); |
|
269 | + } |
|
270 | + |
|
271 | + return true; |
|
272 | + } |
|
273 | + |
|
274 | + /** |
|
275 | + * Check if a given request has access batch create, update and delete items. |
|
276 | + * |
|
277 | + * @param WP_REST_Request $request Full details about the request. |
|
278 | + * |
|
279 | + * @return boolean|WP_Error |
|
280 | + */ |
|
281 | + public function batch_items_permissions_check( $request ) { |
|
282 | + return wpinv_current_user_can_manage_invoicing() ? true : new WP_Error( 'rest_cannot_batch', __( 'Sorry, you are not allowed to batch manipulate this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) ); |
|
283 | + } |
|
284 | + |
|
285 | + /** |
|
286 | + * Prepare links for the request. |
|
287 | + * |
|
288 | + * @param string $setting_id Setting ID. |
|
289 | + * @return array Links for the given setting. |
|
290 | + */ |
|
291 | + protected function prepare_links( $setting_id ) { |
|
292 | + |
|
293 | + $links = array( |
|
294 | + 'self' => array( |
|
295 | + 'href' => rest_url( sprintf( '/%s/%s/setting/%s', $this->namespace, $this->rest_base, $setting_id ) ), |
|
296 | + ), |
|
297 | + 'collection' => array( |
|
298 | + 'href' => rest_url( sprintf( '/%s/%s', $this->namespace, $this->rest_base ) ), |
|
299 | + ), |
|
300 | + ); |
|
301 | + |
|
302 | + return $links; |
|
303 | + } |
|
304 | + |
|
305 | + /** |
|
306 | + * Prepare a settings object for serialization. |
|
307 | + * |
|
308 | + * @since 2.0.0 |
|
309 | + * @param array $item Setting object. |
|
310 | + * @param WP_REST_Request $request Request object. |
|
311 | + * @return WP_REST_Response $response Response data. |
|
312 | + */ |
|
313 | + public function prepare_item_for_response( $item, $request ) { |
|
314 | + $context = empty( $request['context'] ) ? 'view' : $request['context']; |
|
315 | + $data = $this->add_additional_fields_to_object( $item, $request ); |
|
316 | + $data = $this->filter_response_by_context( $data, $context ); |
|
317 | + |
|
318 | + $response = rest_ensure_response( $data ); |
|
319 | + |
|
320 | + $response->add_links( $this->prepare_links( $item['id'] ) ); |
|
321 | + |
|
322 | + return $response; |
|
323 | + } |
|
324 | + |
|
325 | + /** |
|
326 | + * Filters out bad values from the settings array/filter so we |
|
327 | + * only return known values via the API. |
|
328 | + * |
|
329 | + * @since 2.0.0 |
|
330 | + * @param array $setting Setting. |
|
331 | + * @return array |
|
332 | + */ |
|
333 | + public function filter_setting( $setting ) { |
|
334 | + return array_intersect_key( |
|
335 | + $setting, |
|
336 | + array_flip( array_filter( array_keys( $setting ), array( $this, 'allowed_setting_keys' ) ) ) |
|
337 | + ); |
|
338 | + } |
|
339 | + |
|
340 | + /** |
|
341 | + * Callback for allowed keys for each setting response. |
|
342 | + * |
|
343 | + * @param string $key Key to check. |
|
344 | + * @return boolean |
|
345 | + */ |
|
346 | + public function allowed_setting_keys( $key ) { |
|
347 | + return in_array( $key, array_keys( $this->setting_defaults() ), true ); |
|
348 | + } |
|
349 | + |
|
350 | + /** |
|
351 | + * Returns default options for a setting. null means the field is required. |
|
352 | + * |
|
353 | + * @since 2.0.0 |
|
354 | + * @return array |
|
355 | + */ |
|
356 | + protected function setting_defaults() { |
|
357 | + return array( |
|
358 | + 'id' => null, |
|
359 | + 'name' => null, |
|
360 | + 'desc' => '', |
|
361 | + 'options' => array(), |
|
362 | + 'std' => false, |
|
363 | + 'value' => false, |
|
364 | + 'placeholder' => '', |
|
365 | + 'readonly' => false, |
|
366 | + 'faux' => false, |
|
367 | + 'section' => 'main', |
|
368 | + 'tab' => 'general', |
|
369 | + 'type' => 'text', |
|
370 | + ); |
|
371 | + } |
|
372 | + |
|
373 | + /** |
|
374 | + * Sanitizes a setting's field. |
|
375 | + * |
|
376 | + * @param array $setting The setting to sanitize. |
|
377 | + * @return array |
|
378 | + */ |
|
379 | + public function sanitize_setting( $setting ) { |
|
380 | 380 | |
381 | - $setting = wp_parse_args( $setting, $this->setting_defaults() ); |
|
382 | - $setting['value'] = wpinv_get_option( $setting['id'], $setting['std'] ); |
|
383 | - return $this->filter_setting( $setting ); |
|
384 | - |
|
385 | - } |
|
386 | - |
|
387 | - /** |
|
388 | - * Get setting data. |
|
389 | - * |
|
390 | - * @since 2.0.0 |
|
391 | - * @param string $setting_id Setting ID. |
|
392 | - * @return array|WP_Error |
|
393 | - */ |
|
394 | - public function get_setting( $setting_id ) { |
|
395 | - |
|
396 | - if ( empty( $setting_id ) ) { |
|
397 | - return new WP_Error( 'rest_setting_setting_invalid', __( 'Invalid setting.', 'invoicing' ), array( 'status' => 404 ) ); |
|
398 | - } |
|
399 | - |
|
400 | - $settings = $this->get_settings(); |
|
401 | - |
|
402 | - foreach ( $settings as $tabs ) { |
|
403 | - |
|
404 | - foreach ( $tabs as $sections ) { |
|
405 | - |
|
406 | - if ( isset( $sections[ $setting_id ] ) ) { |
|
407 | - if ( ! $this->is_setting_type_valid( $sections[ $setting_id ]['type'] ) ) { |
|
408 | - return new WP_Error( 'rest_setting_setting_type_invalid', __( 'Invalid setting type.', 'invoicing' ), array( 'status' => 404 ) ); |
|
409 | - } |
|
410 | - |
|
411 | - return $sections[ $setting_id ]; |
|
412 | - } |
|
413 | - |
|
414 | - } |
|
415 | - |
|
416 | - } |
|
417 | - |
|
418 | - return new WP_Error( 'rest_setting_setting_invalid', __( 'Invalid setting.', 'invoicing' ), array( 'status' => 404 ) ); |
|
419 | - } |
|
420 | - |
|
421 | - /** |
|
422 | - * Get all tabs. |
|
423 | - * |
|
424 | - * @param WP_REST_Request $request Request data. |
|
425 | - * @return array |
|
426 | - */ |
|
427 | - public function get_tabs( $request ) { |
|
428 | - $tabs = wpinv_get_settings_tabs(); |
|
429 | - $prepared = array(); |
|
430 | - |
|
431 | - foreach ( $tabs as $id => $tab ) { |
|
432 | - |
|
433 | - $_request = $request; |
|
434 | - $_request['tab'] = sanitize_title( $id ); |
|
435 | - $data = array( |
|
436 | - 'id' => sanitize_title( $id ), |
|
437 | - 'label' => sanitize_text_field( $tab ), |
|
438 | - 'sections' => $this->get_sections( $_request ), |
|
439 | - ); |
|
440 | - |
|
441 | - $data = $this->add_additional_fields_to_object( $data, $request ); |
|
442 | - $response = rest_ensure_response( $data ); |
|
443 | - |
|
444 | - if ( ! is_wp_error( $response ) ) { |
|
445 | - $links = array( |
|
446 | - 'sections' => array( |
|
447 | - 'href' => rest_url( sprintf( '/%s/%s/%s', $this->namespace, $this->rest_base, $id ) ), |
|
448 | - ), |
|
449 | - 'collection' => array( |
|
450 | - 'href' => rest_url( sprintf( '/%s/%s', $this->namespace, $this->rest_base ) ), |
|
451 | - ), |
|
452 | - ); |
|
453 | - $response->add_links( $links ); |
|
454 | - $response = $this->prepare_response_for_collection( $response ); |
|
455 | - } |
|
456 | - |
|
457 | - $prepared[] = $response; |
|
458 | - |
|
459 | - } |
|
460 | - |
|
461 | - return rest_ensure_response( $prepared ); |
|
462 | - } |
|
463 | - |
|
464 | - /** |
|
465 | - * Get all sections. |
|
466 | - * |
|
467 | - * @param WP_REST_Request $request Request data. |
|
468 | - * @return array |
|
469 | - */ |
|
470 | - public function get_sections( $request ) { |
|
471 | - |
|
472 | - $tab = sanitize_title( $request['tab'] ); |
|
473 | - $sections = wpinv_get_settings_tab_sections( $tab ); |
|
474 | - $prepared = array(); |
|
475 | - |
|
476 | - foreach ( $sections as $id => $section ) { |
|
477 | - |
|
478 | - $data = array( |
|
479 | - 'id' => sanitize_title( $id ), |
|
480 | - 'label' => sanitize_text_field( $section ), |
|
481 | - ); |
|
482 | - |
|
483 | - $data = $this->add_additional_fields_to_object( $data, $request ); |
|
484 | - $response = rest_ensure_response( $data ); |
|
485 | - |
|
486 | - if ( ! is_wp_error( $response ) ) { |
|
487 | - $links = array( |
|
488 | - 'settings' => array( |
|
489 | - 'href' => rest_url( sprintf( '/%s/%s/%s/%s', $this->namespace, $this->rest_base, $tab, $id ) ), |
|
490 | - ), |
|
491 | - 'collection' => array( |
|
492 | - 'href' => rest_url( sprintf( '/%s/%s/%s', $this->namespace, $this->rest_base, $tab ) ), |
|
493 | - ), |
|
494 | - 'tabs' => array( |
|
495 | - 'href' => rest_url( sprintf( '/%s/%s', $this->namespace, $this->rest_base ) ), |
|
496 | - ), |
|
497 | - ); |
|
498 | - $response->add_links( $links ); |
|
499 | - $response = $this->prepare_response_for_collection( $response ); |
|
500 | - } |
|
501 | - |
|
502 | - $prepared[] = $response; |
|
503 | - |
|
504 | - } |
|
505 | - |
|
506 | - return rest_ensure_response( $prepared ); |
|
507 | - } |
|
508 | - |
|
509 | - /** |
|
510 | - * Get all settings. |
|
511 | - * |
|
512 | - * @return array |
|
513 | - */ |
|
514 | - public function get_settings() { |
|
515 | - |
|
516 | - if ( empty( $this->settings ) ) { |
|
517 | - $this->settings = wpinv_get_registered_settings(); |
|
518 | - } |
|
519 | - |
|
520 | - return $this->settings; |
|
521 | - |
|
522 | - } |
|
523 | - |
|
524 | - /** |
|
525 | - * Boolean for if a setting type is a valid supported setting type. |
|
526 | - * |
|
527 | - * @since 2.0.0 |
|
528 | - * @param string $type Type. |
|
529 | - * @return bool |
|
530 | - */ |
|
531 | - public function is_setting_type_valid( $type ) { |
|
532 | - |
|
533 | - return in_array( |
|
534 | - $type, array( |
|
535 | - 'text', // Validates with validate_setting_text_field. |
|
536 | - 'email', // Validates with validate_setting_text_field. |
|
537 | - 'number', // Validates with validate_setting_text_field. |
|
538 | - 'color', // Validates with validate_setting_text_field. |
|
539 | - 'password', // Validates with validate_setting_text_field. |
|
540 | - 'textarea', // Validates with validate_setting_textarea_field. |
|
541 | - 'select', // Validates with validate_setting_select_field. |
|
542 | - 'multiselect', // Validates with validate_setting_multiselect_field. |
|
543 | - 'radio', // Validates with validate_setting_radio_field (-> validate_setting_select_field). |
|
544 | - 'checkbox', // Validates with validate_setting_checkbox_field. |
|
545 | - 'header', // Validates with validate_setting_text_field. |
|
546 | - ) |
|
547 | - ); |
|
548 | - |
|
549 | - } |
|
550 | - |
|
551 | - /** |
|
552 | - * Get the settings schema, conforming to JSON Schema. |
|
553 | - * |
|
554 | - * @return array |
|
555 | - */ |
|
556 | - public function get_item_schema() { |
|
557 | - |
|
558 | - // Maybe retrieve the schema from cache. |
|
559 | - if ( ! empty( $this->schema ) ) { |
|
560 | - return $this->add_additional_fields_schema( $this->schema ); |
|
561 | - } |
|
562 | - |
|
563 | - $schema = array( |
|
564 | - '$schema' => 'http://json-schema.org/draft-04/schema#', |
|
565 | - 'title' => 'setting', |
|
566 | - 'type' => 'object', |
|
567 | - 'properties' => array( |
|
568 | - 'id' => array( |
|
569 | - 'description' => __( 'A unique identifier for the setting.', 'invoicing' ), |
|
570 | - 'type' => 'string', |
|
571 | - 'arg_options' => array( |
|
572 | - 'sanitize_callback' => 'sanitize_title', |
|
573 | - ), |
|
574 | - 'context' => array( 'view', 'edit' ), |
|
575 | - 'readonly' => true, |
|
576 | - ), |
|
577 | - 'tab' => array( |
|
578 | - 'description' => __( 'An identifier for the tab this setting belongs to.', 'invoicing' ), |
|
579 | - 'type' => 'string', |
|
580 | - 'arg_options' => array( |
|
581 | - 'sanitize_callback' => 'sanitize_title', |
|
582 | - ), |
|
583 | - 'context' => array( 'view', 'edit' ), |
|
584 | - 'readonly' => true, |
|
585 | - ), |
|
586 | - 'section' => array( |
|
587 | - 'description' => __( 'An identifier for the section this setting belongs to.', 'invoicing' ), |
|
588 | - 'type' => 'string', |
|
589 | - 'arg_options' => array( |
|
590 | - 'sanitize_callback' => 'sanitize_title', |
|
591 | - ), |
|
592 | - 'context' => array( 'view', 'edit' ), |
|
593 | - 'readonly' => true, |
|
594 | - ), |
|
595 | - 'name' => array( |
|
596 | - 'description' => __( 'A human readable label for the setting used in interfaces.', 'invoicing' ), |
|
597 | - 'type' => 'string', |
|
598 | - 'arg_options' => array( |
|
599 | - 'sanitize_callback' => 'sanitize_text_field', |
|
600 | - ), |
|
601 | - 'context' => array( 'view', 'edit' ), |
|
602 | - 'readonly' => true, |
|
603 | - ), |
|
604 | - 'desc' => array( |
|
605 | - 'description' => __( 'A human readable description for the setting used in interfaces.', 'invoicing' ), |
|
606 | - 'type' => 'string', |
|
607 | - 'context' => array( 'view', 'edit' ), |
|
608 | - 'readonly' => true, |
|
609 | - ), |
|
610 | - 'value' => array( |
|
611 | - 'description' => __( 'The current value of this setting.', 'invoicing' ), |
|
612 | - 'type' => 'mixed', |
|
613 | - 'context' => array( 'view', 'edit' ), |
|
614 | - ), |
|
615 | - 'default' => array( |
|
616 | - 'description' => __( 'Default value for the setting.', 'invoicing' ), |
|
617 | - 'type' => 'mixed', |
|
618 | - 'context' => array( 'view', 'edit' ), |
|
619 | - 'readonly' => true, |
|
620 | - ), |
|
621 | - 'placeholder' => array( |
|
622 | - 'description' => __( 'Placeholder text to be displayed in text inputs.', 'invoicing' ), |
|
623 | - 'type' => 'string', |
|
624 | - 'arg_options' => array( |
|
625 | - 'sanitize_callback' => 'sanitize_text_field', |
|
626 | - ), |
|
627 | - 'context' => array( 'view', 'edit' ), |
|
628 | - 'readonly' => true, |
|
629 | - ), |
|
630 | - 'type' => array( |
|
631 | - 'description' => __( 'Type of setting.', 'invoicing' ), |
|
632 | - 'type' => 'string', |
|
633 | - 'arg_options' => array( |
|
634 | - 'sanitize_callback' => 'sanitize_text_field', |
|
635 | - ), |
|
636 | - 'context' => array( 'view', 'edit' ), |
|
637 | - 'enum' => array( 'text', 'email', 'number', 'color', 'password', 'textarea', 'select', 'multiselect', 'radio', 'image_width', 'checkbox', 'raw_html' ), |
|
638 | - 'readonly' => true, |
|
639 | - ), |
|
640 | - 'options' => array( |
|
641 | - 'description' => __( 'Array of options (key value pairs) for inputs such as select, multiselect, and radio buttons.', 'invoicing' ), |
|
642 | - 'type' => 'object', |
|
643 | - 'context' => array( 'view', 'edit' ), |
|
644 | - 'readonly' => true, |
|
645 | - ), |
|
646 | - 'readonly' => array( |
|
647 | - 'description' => __( 'Whether or not this setting is readonly', 'invoicing' ), |
|
648 | - 'type' => 'string', |
|
649 | - 'context' => array( 'view' ), |
|
650 | - 'readonly' => true, |
|
651 | - ), |
|
652 | - 'faux' => array( |
|
653 | - 'description' => __( 'Whether or not this setting is readonly/faux', 'invoicing' ), |
|
654 | - 'type' => 'string', |
|
655 | - 'context' => array( 'view' ), |
|
656 | - 'readonly' => true, |
|
657 | - ), |
|
658 | - ), |
|
659 | - ); |
|
660 | - |
|
661 | - // Filters the settings schema for the REST API. |
|
381 | + $setting = wp_parse_args( $setting, $this->setting_defaults() ); |
|
382 | + $setting['value'] = wpinv_get_option( $setting['id'], $setting['std'] ); |
|
383 | + return $this->filter_setting( $setting ); |
|
384 | + |
|
385 | + } |
|
386 | + |
|
387 | + /** |
|
388 | + * Get setting data. |
|
389 | + * |
|
390 | + * @since 2.0.0 |
|
391 | + * @param string $setting_id Setting ID. |
|
392 | + * @return array|WP_Error |
|
393 | + */ |
|
394 | + public function get_setting( $setting_id ) { |
|
395 | + |
|
396 | + if ( empty( $setting_id ) ) { |
|
397 | + return new WP_Error( 'rest_setting_setting_invalid', __( 'Invalid setting.', 'invoicing' ), array( 'status' => 404 ) ); |
|
398 | + } |
|
399 | + |
|
400 | + $settings = $this->get_settings(); |
|
401 | + |
|
402 | + foreach ( $settings as $tabs ) { |
|
403 | + |
|
404 | + foreach ( $tabs as $sections ) { |
|
405 | + |
|
406 | + if ( isset( $sections[ $setting_id ] ) ) { |
|
407 | + if ( ! $this->is_setting_type_valid( $sections[ $setting_id ]['type'] ) ) { |
|
408 | + return new WP_Error( 'rest_setting_setting_type_invalid', __( 'Invalid setting type.', 'invoicing' ), array( 'status' => 404 ) ); |
|
409 | + } |
|
410 | + |
|
411 | + return $sections[ $setting_id ]; |
|
412 | + } |
|
413 | + |
|
414 | + } |
|
415 | + |
|
416 | + } |
|
417 | + |
|
418 | + return new WP_Error( 'rest_setting_setting_invalid', __( 'Invalid setting.', 'invoicing' ), array( 'status' => 404 ) ); |
|
419 | + } |
|
420 | + |
|
421 | + /** |
|
422 | + * Get all tabs. |
|
423 | + * |
|
424 | + * @param WP_REST_Request $request Request data. |
|
425 | + * @return array |
|
426 | + */ |
|
427 | + public function get_tabs( $request ) { |
|
428 | + $tabs = wpinv_get_settings_tabs(); |
|
429 | + $prepared = array(); |
|
430 | + |
|
431 | + foreach ( $tabs as $id => $tab ) { |
|
432 | + |
|
433 | + $_request = $request; |
|
434 | + $_request['tab'] = sanitize_title( $id ); |
|
435 | + $data = array( |
|
436 | + 'id' => sanitize_title( $id ), |
|
437 | + 'label' => sanitize_text_field( $tab ), |
|
438 | + 'sections' => $this->get_sections( $_request ), |
|
439 | + ); |
|
440 | + |
|
441 | + $data = $this->add_additional_fields_to_object( $data, $request ); |
|
442 | + $response = rest_ensure_response( $data ); |
|
443 | + |
|
444 | + if ( ! is_wp_error( $response ) ) { |
|
445 | + $links = array( |
|
446 | + 'sections' => array( |
|
447 | + 'href' => rest_url( sprintf( '/%s/%s/%s', $this->namespace, $this->rest_base, $id ) ), |
|
448 | + ), |
|
449 | + 'collection' => array( |
|
450 | + 'href' => rest_url( sprintf( '/%s/%s', $this->namespace, $this->rest_base ) ), |
|
451 | + ), |
|
452 | + ); |
|
453 | + $response->add_links( $links ); |
|
454 | + $response = $this->prepare_response_for_collection( $response ); |
|
455 | + } |
|
456 | + |
|
457 | + $prepared[] = $response; |
|
458 | + |
|
459 | + } |
|
460 | + |
|
461 | + return rest_ensure_response( $prepared ); |
|
462 | + } |
|
463 | + |
|
464 | + /** |
|
465 | + * Get all sections. |
|
466 | + * |
|
467 | + * @param WP_REST_Request $request Request data. |
|
468 | + * @return array |
|
469 | + */ |
|
470 | + public function get_sections( $request ) { |
|
471 | + |
|
472 | + $tab = sanitize_title( $request['tab'] ); |
|
473 | + $sections = wpinv_get_settings_tab_sections( $tab ); |
|
474 | + $prepared = array(); |
|
475 | + |
|
476 | + foreach ( $sections as $id => $section ) { |
|
477 | + |
|
478 | + $data = array( |
|
479 | + 'id' => sanitize_title( $id ), |
|
480 | + 'label' => sanitize_text_field( $section ), |
|
481 | + ); |
|
482 | + |
|
483 | + $data = $this->add_additional_fields_to_object( $data, $request ); |
|
484 | + $response = rest_ensure_response( $data ); |
|
485 | + |
|
486 | + if ( ! is_wp_error( $response ) ) { |
|
487 | + $links = array( |
|
488 | + 'settings' => array( |
|
489 | + 'href' => rest_url( sprintf( '/%s/%s/%s/%s', $this->namespace, $this->rest_base, $tab, $id ) ), |
|
490 | + ), |
|
491 | + 'collection' => array( |
|
492 | + 'href' => rest_url( sprintf( '/%s/%s/%s', $this->namespace, $this->rest_base, $tab ) ), |
|
493 | + ), |
|
494 | + 'tabs' => array( |
|
495 | + 'href' => rest_url( sprintf( '/%s/%s', $this->namespace, $this->rest_base ) ), |
|
496 | + ), |
|
497 | + ); |
|
498 | + $response->add_links( $links ); |
|
499 | + $response = $this->prepare_response_for_collection( $response ); |
|
500 | + } |
|
501 | + |
|
502 | + $prepared[] = $response; |
|
503 | + |
|
504 | + } |
|
505 | + |
|
506 | + return rest_ensure_response( $prepared ); |
|
507 | + } |
|
508 | + |
|
509 | + /** |
|
510 | + * Get all settings. |
|
511 | + * |
|
512 | + * @return array |
|
513 | + */ |
|
514 | + public function get_settings() { |
|
515 | + |
|
516 | + if ( empty( $this->settings ) ) { |
|
517 | + $this->settings = wpinv_get_registered_settings(); |
|
518 | + } |
|
519 | + |
|
520 | + return $this->settings; |
|
521 | + |
|
522 | + } |
|
523 | + |
|
524 | + /** |
|
525 | + * Boolean for if a setting type is a valid supported setting type. |
|
526 | + * |
|
527 | + * @since 2.0.0 |
|
528 | + * @param string $type Type. |
|
529 | + * @return bool |
|
530 | + */ |
|
531 | + public function is_setting_type_valid( $type ) { |
|
532 | + |
|
533 | + return in_array( |
|
534 | + $type, array( |
|
535 | + 'text', // Validates with validate_setting_text_field. |
|
536 | + 'email', // Validates with validate_setting_text_field. |
|
537 | + 'number', // Validates with validate_setting_text_field. |
|
538 | + 'color', // Validates with validate_setting_text_field. |
|
539 | + 'password', // Validates with validate_setting_text_field. |
|
540 | + 'textarea', // Validates with validate_setting_textarea_field. |
|
541 | + 'select', // Validates with validate_setting_select_field. |
|
542 | + 'multiselect', // Validates with validate_setting_multiselect_field. |
|
543 | + 'radio', // Validates with validate_setting_radio_field (-> validate_setting_select_field). |
|
544 | + 'checkbox', // Validates with validate_setting_checkbox_field. |
|
545 | + 'header', // Validates with validate_setting_text_field. |
|
546 | + ) |
|
547 | + ); |
|
548 | + |
|
549 | + } |
|
550 | + |
|
551 | + /** |
|
552 | + * Get the settings schema, conforming to JSON Schema. |
|
553 | + * |
|
554 | + * @return array |
|
555 | + */ |
|
556 | + public function get_item_schema() { |
|
557 | + |
|
558 | + // Maybe retrieve the schema from cache. |
|
559 | + if ( ! empty( $this->schema ) ) { |
|
560 | + return $this->add_additional_fields_schema( $this->schema ); |
|
561 | + } |
|
562 | + |
|
563 | + $schema = array( |
|
564 | + '$schema' => 'http://json-schema.org/draft-04/schema#', |
|
565 | + 'title' => 'setting', |
|
566 | + 'type' => 'object', |
|
567 | + 'properties' => array( |
|
568 | + 'id' => array( |
|
569 | + 'description' => __( 'A unique identifier for the setting.', 'invoicing' ), |
|
570 | + 'type' => 'string', |
|
571 | + 'arg_options' => array( |
|
572 | + 'sanitize_callback' => 'sanitize_title', |
|
573 | + ), |
|
574 | + 'context' => array( 'view', 'edit' ), |
|
575 | + 'readonly' => true, |
|
576 | + ), |
|
577 | + 'tab' => array( |
|
578 | + 'description' => __( 'An identifier for the tab this setting belongs to.', 'invoicing' ), |
|
579 | + 'type' => 'string', |
|
580 | + 'arg_options' => array( |
|
581 | + 'sanitize_callback' => 'sanitize_title', |
|
582 | + ), |
|
583 | + 'context' => array( 'view', 'edit' ), |
|
584 | + 'readonly' => true, |
|
585 | + ), |
|
586 | + 'section' => array( |
|
587 | + 'description' => __( 'An identifier for the section this setting belongs to.', 'invoicing' ), |
|
588 | + 'type' => 'string', |
|
589 | + 'arg_options' => array( |
|
590 | + 'sanitize_callback' => 'sanitize_title', |
|
591 | + ), |
|
592 | + 'context' => array( 'view', 'edit' ), |
|
593 | + 'readonly' => true, |
|
594 | + ), |
|
595 | + 'name' => array( |
|
596 | + 'description' => __( 'A human readable label for the setting used in interfaces.', 'invoicing' ), |
|
597 | + 'type' => 'string', |
|
598 | + 'arg_options' => array( |
|
599 | + 'sanitize_callback' => 'sanitize_text_field', |
|
600 | + ), |
|
601 | + 'context' => array( 'view', 'edit' ), |
|
602 | + 'readonly' => true, |
|
603 | + ), |
|
604 | + 'desc' => array( |
|
605 | + 'description' => __( 'A human readable description for the setting used in interfaces.', 'invoicing' ), |
|
606 | + 'type' => 'string', |
|
607 | + 'context' => array( 'view', 'edit' ), |
|
608 | + 'readonly' => true, |
|
609 | + ), |
|
610 | + 'value' => array( |
|
611 | + 'description' => __( 'The current value of this setting.', 'invoicing' ), |
|
612 | + 'type' => 'mixed', |
|
613 | + 'context' => array( 'view', 'edit' ), |
|
614 | + ), |
|
615 | + 'default' => array( |
|
616 | + 'description' => __( 'Default value for the setting.', 'invoicing' ), |
|
617 | + 'type' => 'mixed', |
|
618 | + 'context' => array( 'view', 'edit' ), |
|
619 | + 'readonly' => true, |
|
620 | + ), |
|
621 | + 'placeholder' => array( |
|
622 | + 'description' => __( 'Placeholder text to be displayed in text inputs.', 'invoicing' ), |
|
623 | + 'type' => 'string', |
|
624 | + 'arg_options' => array( |
|
625 | + 'sanitize_callback' => 'sanitize_text_field', |
|
626 | + ), |
|
627 | + 'context' => array( 'view', 'edit' ), |
|
628 | + 'readonly' => true, |
|
629 | + ), |
|
630 | + 'type' => array( |
|
631 | + 'description' => __( 'Type of setting.', 'invoicing' ), |
|
632 | + 'type' => 'string', |
|
633 | + 'arg_options' => array( |
|
634 | + 'sanitize_callback' => 'sanitize_text_field', |
|
635 | + ), |
|
636 | + 'context' => array( 'view', 'edit' ), |
|
637 | + 'enum' => array( 'text', 'email', 'number', 'color', 'password', 'textarea', 'select', 'multiselect', 'radio', 'image_width', 'checkbox', 'raw_html' ), |
|
638 | + 'readonly' => true, |
|
639 | + ), |
|
640 | + 'options' => array( |
|
641 | + 'description' => __( 'Array of options (key value pairs) for inputs such as select, multiselect, and radio buttons.', 'invoicing' ), |
|
642 | + 'type' => 'object', |
|
643 | + 'context' => array( 'view', 'edit' ), |
|
644 | + 'readonly' => true, |
|
645 | + ), |
|
646 | + 'readonly' => array( |
|
647 | + 'description' => __( 'Whether or not this setting is readonly', 'invoicing' ), |
|
648 | + 'type' => 'string', |
|
649 | + 'context' => array( 'view' ), |
|
650 | + 'readonly' => true, |
|
651 | + ), |
|
652 | + 'faux' => array( |
|
653 | + 'description' => __( 'Whether or not this setting is readonly/faux', 'invoicing' ), |
|
654 | + 'type' => 'string', |
|
655 | + 'context' => array( 'view' ), |
|
656 | + 'readonly' => true, |
|
657 | + ), |
|
658 | + ), |
|
659 | + ); |
|
660 | + |
|
661 | + // Filters the settings schema for the REST API. |
|
662 | 662 | $schema = apply_filters( 'getpaid_rest_settings_schema', $schema ); |
663 | 663 | |
664 | - // Cache the settings schema. |
|
665 | - $this->schema = $schema; |
|
666 | - |
|
667 | - return $this->add_additional_fields_schema( $this->schema ); |
|
668 | - |
|
669 | - } |
|
670 | - |
|
671 | - /** |
|
672 | - * Validate a text value for a text based setting. |
|
673 | - * |
|
674 | - * @since 2.0.0 |
|
675 | - * @param string $value Value. |
|
676 | - * @param array $setting Setting. |
|
677 | - * @return string |
|
678 | - */ |
|
679 | - public function validate_setting_text_field( $value ) { |
|
680 | - $value = is_null( $value ) ? '' : $value; |
|
681 | - return wp_kses_post( trim( stripslashes( $value ) ) ); |
|
682 | - } |
|
683 | - |
|
684 | - /** |
|
685 | - * Validate select based settings. |
|
686 | - * |
|
687 | - * @since 2.0.0 |
|
688 | - * @param string $value Value. |
|
689 | - * @param array $setting Setting. |
|
690 | - * @return string|WP_Error |
|
691 | - */ |
|
692 | - public function validate_setting_select_field( $value, $setting ) { |
|
693 | - if ( array_key_exists( $value, $setting['options'] ) ) { |
|
694 | - return $value; |
|
695 | - } else { |
|
696 | - return new WP_Error( 'rest_setting_value_invalid', __( 'An invalid setting value was passed.', 'invoicing' ), array( 'status' => 400 ) ); |
|
697 | - } |
|
698 | - } |
|
699 | - |
|
700 | - /** |
|
701 | - * Validate multiselect based settings. |
|
702 | - * |
|
703 | - * @since 2.0.0 |
|
704 | - * @param array $values Values. |
|
705 | - * @param array $setting Setting. |
|
706 | - * @return array|WP_Error |
|
707 | - */ |
|
708 | - public function validate_setting_multiselect_field( $values, $setting ) { |
|
709 | - if ( empty( $values ) ) { |
|
710 | - return array(); |
|
711 | - } |
|
712 | - |
|
713 | - if ( ! is_array( $values ) ) { |
|
714 | - return new WP_Error( 'rest_setting_value_invalid', __( 'An invalid setting value was passed.', 'invoicing' ), array( 'status' => 400 ) ); |
|
715 | - } |
|
716 | - |
|
717 | - $final_values = array(); |
|
718 | - foreach ( $values as $value ) { |
|
719 | - if ( array_key_exists( $value, $setting['options'] ) ) { |
|
720 | - $final_values[] = $value; |
|
721 | - } |
|
722 | - } |
|
723 | - |
|
724 | - return $final_values; |
|
725 | - } |
|
726 | - |
|
727 | - /** |
|
728 | - * Validate radio based settings. |
|
729 | - * |
|
730 | - * @since 2.0.0 |
|
731 | - * @param string $value Value. |
|
732 | - * @param array $setting Setting. |
|
733 | - * @return string|WP_Error |
|
734 | - */ |
|
735 | - public function validate_setting_radio_field( $value, $setting ) { |
|
736 | - return $this->validate_setting_select_field( $value, $setting ); |
|
737 | - } |
|
738 | - |
|
739 | - /** |
|
740 | - * Validate checkbox based settings. |
|
741 | - * |
|
742 | - * @since 2.0.0 |
|
743 | - * @param string $value Value. |
|
744 | - * @return int |
|
745 | - */ |
|
746 | - public function validate_setting_checkbox_field( $value ) { |
|
747 | - return (int) ! empty( $value ); |
|
748 | - } |
|
749 | - |
|
750 | - /** |
|
751 | - * Validate textarea based settings. |
|
752 | - * |
|
753 | - * @since 2.0.0 |
|
754 | - * @param string $value Value. |
|
755 | - * @return string |
|
756 | - */ |
|
757 | - public function validate_setting_textarea_field( $value ) { |
|
758 | - $value = is_null( $value ) ? '' : $value; |
|
759 | - return wp_kses( |
|
760 | - trim( stripslashes( $value ) ), |
|
761 | - array_merge( |
|
762 | - array( |
|
763 | - 'iframe' => array( |
|
764 | - 'src' => true, |
|
765 | - 'style' => true, |
|
766 | - 'id' => true, |
|
767 | - 'class' => true, |
|
768 | - ), |
|
769 | - ), |
|
770 | - wp_kses_allowed_html( 'post' ) |
|
771 | - ) |
|
772 | - ); |
|
773 | - } |
|
664 | + // Cache the settings schema. |
|
665 | + $this->schema = $schema; |
|
666 | + |
|
667 | + return $this->add_additional_fields_schema( $this->schema ); |
|
668 | + |
|
669 | + } |
|
670 | + |
|
671 | + /** |
|
672 | + * Validate a text value for a text based setting. |
|
673 | + * |
|
674 | + * @since 2.0.0 |
|
675 | + * @param string $value Value. |
|
676 | + * @param array $setting Setting. |
|
677 | + * @return string |
|
678 | + */ |
|
679 | + public function validate_setting_text_field( $value ) { |
|
680 | + $value = is_null( $value ) ? '' : $value; |
|
681 | + return wp_kses_post( trim( stripslashes( $value ) ) ); |
|
682 | + } |
|
683 | + |
|
684 | + /** |
|
685 | + * Validate select based settings. |
|
686 | + * |
|
687 | + * @since 2.0.0 |
|
688 | + * @param string $value Value. |
|
689 | + * @param array $setting Setting. |
|
690 | + * @return string|WP_Error |
|
691 | + */ |
|
692 | + public function validate_setting_select_field( $value, $setting ) { |
|
693 | + if ( array_key_exists( $value, $setting['options'] ) ) { |
|
694 | + return $value; |
|
695 | + } else { |
|
696 | + return new WP_Error( 'rest_setting_value_invalid', __( 'An invalid setting value was passed.', 'invoicing' ), array( 'status' => 400 ) ); |
|
697 | + } |
|
698 | + } |
|
699 | + |
|
700 | + /** |
|
701 | + * Validate multiselect based settings. |
|
702 | + * |
|
703 | + * @since 2.0.0 |
|
704 | + * @param array $values Values. |
|
705 | + * @param array $setting Setting. |
|
706 | + * @return array|WP_Error |
|
707 | + */ |
|
708 | + public function validate_setting_multiselect_field( $values, $setting ) { |
|
709 | + if ( empty( $values ) ) { |
|
710 | + return array(); |
|
711 | + } |
|
712 | + |
|
713 | + if ( ! is_array( $values ) ) { |
|
714 | + return new WP_Error( 'rest_setting_value_invalid', __( 'An invalid setting value was passed.', 'invoicing' ), array( 'status' => 400 ) ); |
|
715 | + } |
|
716 | + |
|
717 | + $final_values = array(); |
|
718 | + foreach ( $values as $value ) { |
|
719 | + if ( array_key_exists( $value, $setting['options'] ) ) { |
|
720 | + $final_values[] = $value; |
|
721 | + } |
|
722 | + } |
|
723 | + |
|
724 | + return $final_values; |
|
725 | + } |
|
726 | + |
|
727 | + /** |
|
728 | + * Validate radio based settings. |
|
729 | + * |
|
730 | + * @since 2.0.0 |
|
731 | + * @param string $value Value. |
|
732 | + * @param array $setting Setting. |
|
733 | + * @return string|WP_Error |
|
734 | + */ |
|
735 | + public function validate_setting_radio_field( $value, $setting ) { |
|
736 | + return $this->validate_setting_select_field( $value, $setting ); |
|
737 | + } |
|
738 | + |
|
739 | + /** |
|
740 | + * Validate checkbox based settings. |
|
741 | + * |
|
742 | + * @since 2.0.0 |
|
743 | + * @param string $value Value. |
|
744 | + * @return int |
|
745 | + */ |
|
746 | + public function validate_setting_checkbox_field( $value ) { |
|
747 | + return (int) ! empty( $value ); |
|
748 | + } |
|
749 | + |
|
750 | + /** |
|
751 | + * Validate textarea based settings. |
|
752 | + * |
|
753 | + * @since 2.0.0 |
|
754 | + * @param string $value Value. |
|
755 | + * @return string |
|
756 | + */ |
|
757 | + public function validate_setting_textarea_field( $value ) { |
|
758 | + $value = is_null( $value ) ? '' : $value; |
|
759 | + return wp_kses( |
|
760 | + trim( stripslashes( $value ) ), |
|
761 | + array_merge( |
|
762 | + array( |
|
763 | + 'iframe' => array( |
|
764 | + 'src' => true, |
|
765 | + 'style' => true, |
|
766 | + 'id' => true, |
|
767 | + 'class' => true, |
|
768 | + ), |
|
769 | + ), |
|
770 | + wp_kses_allowed_html( 'post' ) |
|
771 | + ) |
|
772 | + ); |
|
773 | + } |
|
774 | 774 | |
775 | 775 | } |
@@ -9,7 +9,7 @@ discard block |
||
9 | 9 | * @since 2.0.0 |
10 | 10 | */ |
11 | 11 | |
12 | -defined( 'ABSPATH' ) || exit; |
|
12 | +defined('ABSPATH') || exit; |
|
13 | 13 | |
14 | 14 | /** |
15 | 15 | * GetPaid REST Setting controller class. |
@@ -39,7 +39,7 @@ discard block |
||
39 | 39 | * |
40 | 40 | * @see register_rest_route() |
41 | 41 | */ |
42 | - public function register_namespace_routes( $namespace ) { |
|
42 | + public function register_namespace_routes($namespace) { |
|
43 | 43 | |
44 | 44 | // List all registered tabs. |
45 | 45 | register_rest_route( |
@@ -48,8 +48,8 @@ discard block |
||
48 | 48 | array( |
49 | 49 | array( |
50 | 50 | 'methods' => WP_REST_Server::READABLE, |
51 | - 'callback' => array( $this, 'get_tabs' ), |
|
52 | - 'permission_callback' => array( $this, 'get_items_permissions_check' ), |
|
51 | + 'callback' => array($this, 'get_tabs'), |
|
52 | + 'permission_callback' => array($this, 'get_items_permissions_check'), |
|
53 | 53 | ), |
54 | 54 | 'schema' => '__return_empty_array', |
55 | 55 | ) |
@@ -62,23 +62,23 @@ discard block |
||
62 | 62 | array( |
63 | 63 | 'args' => array( |
64 | 64 | 'id' => array( |
65 | - 'description' => __( 'Unique identifier for the setting.', 'invoicing' ), |
|
65 | + 'description' => __('Unique identifier for the setting.', 'invoicing'), |
|
66 | 66 | 'type' => 'string', |
67 | 67 | 'required' => true, |
68 | 68 | ), |
69 | 69 | ), |
70 | 70 | array( |
71 | 71 | 'methods' => WP_REST_Server::READABLE, |
72 | - 'callback' => array( $this, 'get_item' ), |
|
73 | - 'permission_callback' => array( $this, 'get_items_permissions_check' ), |
|
72 | + 'callback' => array($this, 'get_item'), |
|
73 | + 'permission_callback' => array($this, 'get_items_permissions_check'), |
|
74 | 74 | ), |
75 | 75 | array( |
76 | 76 | 'methods' => WP_REST_Server::EDITABLE, |
77 | - 'callback' => array( $this, 'update_item' ), |
|
78 | - 'permission_callback' => array( $this, 'update_items_permissions_check' ), |
|
79 | - 'args' => $this->get_endpoint_args_for_item_schema( WP_REST_Server::EDITABLE ), |
|
77 | + 'callback' => array($this, 'update_item'), |
|
78 | + 'permission_callback' => array($this, 'update_items_permissions_check'), |
|
79 | + 'args' => $this->get_endpoint_args_for_item_schema(WP_REST_Server::EDITABLE), |
|
80 | 80 | ), |
81 | - 'schema' => array( $this, 'get_public_item_schema' ), |
|
81 | + 'schema' => array($this, 'get_public_item_schema'), |
|
82 | 82 | ) |
83 | 83 | ); |
84 | 84 | |
@@ -89,16 +89,16 @@ discard block |
||
89 | 89 | array( |
90 | 90 | 'args' => array( |
91 | 91 | 'tab' => array( |
92 | - 'description' => __( 'Unique identifier for the tab whose sections should be retrieved.', 'invoicing' ), |
|
92 | + 'description' => __('Unique identifier for the tab whose sections should be retrieved.', 'invoicing'), |
|
93 | 93 | 'type' => 'string', |
94 | 94 | 'required' => true, |
95 | - 'enum' => array_keys( wpinv_get_settings_tabs() ), |
|
95 | + 'enum' => array_keys(wpinv_get_settings_tabs()), |
|
96 | 96 | ), |
97 | 97 | ), |
98 | 98 | array( |
99 | 99 | 'methods' => WP_REST_Server::READABLE, |
100 | - 'callback' => array( $this, 'get_sections' ), |
|
101 | - 'permission_callback' => array( $this, 'get_items_permissions_check' ), |
|
100 | + 'callback' => array($this, 'get_sections'), |
|
101 | + 'permission_callback' => array($this, 'get_items_permissions_check'), |
|
102 | 102 | ), |
103 | 103 | 'schema' => '__return_empty_array', |
104 | 104 | ) |
@@ -111,23 +111,23 @@ discard block |
||
111 | 111 | array( |
112 | 112 | 'args' => array( |
113 | 113 | 'tab' => array( |
114 | - 'description' => __( 'Unique identifier for the tab whose settings should be retrieved.', 'invoicing' ), |
|
114 | + 'description' => __('Unique identifier for the tab whose settings should be retrieved.', 'invoicing'), |
|
115 | 115 | 'type' => 'string', |
116 | 116 | 'required' => true, |
117 | - 'enum' => array_keys( wpinv_get_settings_tabs() ), |
|
117 | + 'enum' => array_keys(wpinv_get_settings_tabs()), |
|
118 | 118 | ), |
119 | 119 | 'section' => array( |
120 | - 'description' => __( 'The section in the tab whose settings should be retrieved.', 'invoicing' ), |
|
120 | + 'description' => __('The section in the tab whose settings should be retrieved.', 'invoicing'), |
|
121 | 121 | 'type' => 'string', |
122 | 122 | 'required' => true, |
123 | 123 | ), |
124 | 124 | ), |
125 | 125 | array( |
126 | 126 | 'methods' => WP_REST_Server::READABLE, |
127 | - 'callback' => array( $this, 'get_items' ), |
|
128 | - 'permission_callback' => array( $this, 'get_items_permissions_check' ), |
|
127 | + 'callback' => array($this, 'get_items'), |
|
128 | + 'permission_callback' => array($this, 'get_items_permissions_check'), |
|
129 | 129 | ), |
130 | - 'schema' => array( $this, 'get_public_item_schema' ), |
|
130 | + 'schema' => array($this, 'get_public_item_schema'), |
|
131 | 131 | ) |
132 | 132 | ); |
133 | 133 | |
@@ -137,17 +137,17 @@ discard block |
||
137 | 137 | array( |
138 | 138 | 'args' => array( |
139 | 139 | 'id' => array( |
140 | - 'description' => __( 'Setting ID.', 'invoicing' ), |
|
140 | + 'description' => __('Setting ID.', 'invoicing'), |
|
141 | 141 | 'type' => 'string', |
142 | 142 | ), |
143 | 143 | ), |
144 | 144 | array( |
145 | 145 | 'methods' => WP_REST_Server::EDITABLE, |
146 | - 'callback' => array( $this, 'batch_items' ), |
|
147 | - 'permission_callback' => array( $this, 'batch_items_permissions_check' ), |
|
148 | - 'args' => $this->get_endpoint_args_for_item_schema( WP_REST_Server::EDITABLE ), |
|
146 | + 'callback' => array($this, 'batch_items'), |
|
147 | + 'permission_callback' => array($this, 'batch_items_permissions_check'), |
|
148 | + 'args' => $this->get_endpoint_args_for_item_schema(WP_REST_Server::EDITABLE), |
|
149 | 149 | ), |
150 | - 'schema' => array( $this, 'get_public_batch_schema' ), |
|
150 | + 'schema' => array($this, 'get_public_batch_schema'), |
|
151 | 151 | ) |
152 | 152 | ); |
153 | 153 | |
@@ -160,34 +160,34 @@ discard block |
||
160 | 160 | * @param WP_REST_Request $request Request data. |
161 | 161 | * @return WP_Error|WP_REST_Response |
162 | 162 | */ |
163 | - public function get_items( $request ) { |
|
163 | + public function get_items($request) { |
|
164 | 164 | |
165 | 165 | $settings = $this->get_settings(); |
166 | 166 | |
167 | - if ( ! isset( $settings[ $request['tab'] ] ) ) { |
|
168 | - return new WP_Error( 'rest_invalid_tab', __( 'Invalid tab.', 'invoicing' ), array( 'status' => 400 ) ); |
|
167 | + if (!isset($settings[$request['tab']])) { |
|
168 | + return new WP_Error('rest_invalid_tab', __('Invalid tab.', 'invoicing'), array('status' => 400)); |
|
169 | 169 | } |
170 | 170 | |
171 | - if ( ! isset( $settings[ $request['tab'] ][ $request['section'] ] ) ) { |
|
172 | - return new WP_Error( 'rest_invalid_section', __( 'Invalid section.', 'invoicing' ), array( 'status' => 400 ) ); |
|
171 | + if (!isset($settings[$request['tab']][$request['section']])) { |
|
172 | + return new WP_Error('rest_invalid_section', __('Invalid section.', 'invoicing'), array('status' => 400)); |
|
173 | 173 | } |
174 | 174 | |
175 | - $settings = $settings[ $request['tab'] ][ $request['section'] ]; |
|
175 | + $settings = $settings[$request['tab']][$request['section']]; |
|
176 | 176 | $prepared = array(); |
177 | 177 | |
178 | - foreach ( $settings as $setting ) { |
|
178 | + foreach ($settings as $setting) { |
|
179 | 179 | |
180 | - $setting = $this->sanitize_setting( $setting ); |
|
181 | - $setting_data = $this->prepare_item_for_response( $setting, $request ); |
|
182 | - $setting_data = $this->prepare_response_for_collection( $setting_data ); |
|
180 | + $setting = $this->sanitize_setting($setting); |
|
181 | + $setting_data = $this->prepare_item_for_response($setting, $request); |
|
182 | + $setting_data = $this->prepare_response_for_collection($setting_data); |
|
183 | 183 | |
184 | - if ( $this->is_setting_type_valid( $setting['type'] ) ) { |
|
185 | - $prepared[] = $setting_data; |
|
184 | + if ($this->is_setting_type_valid($setting['type'])) { |
|
185 | + $prepared[] = $setting_data; |
|
186 | 186 | } |
187 | 187 | |
188 | 188 | } |
189 | 189 | |
190 | - return rest_ensure_response( $prepared ); |
|
190 | + return rest_ensure_response($prepared); |
|
191 | 191 | } |
192 | 192 | |
193 | 193 | /** |
@@ -197,16 +197,16 @@ discard block |
||
197 | 197 | * @param WP_REST_Request $request Request data. |
198 | 198 | * @return WP_Error|WP_REST_Response |
199 | 199 | */ |
200 | - public function get_item( $request ) { |
|
201 | - $setting = $this->get_setting( $request['id'] ); |
|
200 | + public function get_item($request) { |
|
201 | + $setting = $this->get_setting($request['id']); |
|
202 | 202 | |
203 | - if ( is_wp_error( $setting ) ) { |
|
203 | + if (is_wp_error($setting)) { |
|
204 | 204 | return $setting; |
205 | 205 | } |
206 | 206 | |
207 | - $setting = $this->sanitize_setting( $setting ); |
|
208 | - $response = $this->prepare_item_for_response( $setting, $request ); |
|
209 | - return rest_ensure_response( $response ); |
|
207 | + $setting = $this->sanitize_setting($setting); |
|
208 | + $response = $this->prepare_item_for_response($setting, $request); |
|
209 | + return rest_ensure_response($response); |
|
210 | 210 | } |
211 | 211 | |
212 | 212 | /** |
@@ -216,29 +216,29 @@ discard block |
||
216 | 216 | * @param WP_REST_Request $request Request data. |
217 | 217 | * @return WP_Error|WP_REST_Response |
218 | 218 | */ |
219 | - public function update_item( $request ) { |
|
220 | - $setting = $this->get_setting( $request['id'] ); |
|
219 | + public function update_item($request) { |
|
220 | + $setting = $this->get_setting($request['id']); |
|
221 | 221 | |
222 | - if ( is_wp_error( $setting ) ) { |
|
222 | + if (is_wp_error($setting)) { |
|
223 | 223 | return $setting; |
224 | 224 | } |
225 | 225 | |
226 | - if ( is_callable( array( $this, 'validate_setting_' . $setting['type'] . '_field' ) ) ) { |
|
227 | - $value = $this->{'validate_setting_' . $setting['type'] . '_field'}( $request['value'], $setting ); |
|
226 | + if (is_callable(array($this, 'validate_setting_' . $setting['type'] . '_field'))) { |
|
227 | + $value = $this->{'validate_setting_' . $setting['type'] . '_field'}($request['value'], $setting); |
|
228 | 228 | } else { |
229 | - $value = $this->validate_setting_text_field( $request['value'], $setting ); |
|
229 | + $value = $this->validate_setting_text_field($request['value'], $setting); |
|
230 | 230 | } |
231 | 231 | |
232 | - if ( is_wp_error( $value ) ) { |
|
232 | + if (is_wp_error($value)) { |
|
233 | 233 | return $value; |
234 | 234 | } |
235 | 235 | |
236 | - wpinv_update_option( $request['id'], $value ); |
|
236 | + wpinv_update_option($request['id'], $value); |
|
237 | 237 | $setting['value'] = $value; |
238 | - $setting = $this->sanitize_setting( $setting ); |
|
239 | - $response = $this->prepare_item_for_response( $setting, $request ); |
|
238 | + $setting = $this->sanitize_setting($setting); |
|
239 | + $response = $this->prepare_item_for_response($setting, $request); |
|
240 | 240 | |
241 | - return rest_ensure_response( $response ); |
|
241 | + return rest_ensure_response($response); |
|
242 | 242 | } |
243 | 243 | |
244 | 244 | /** |
@@ -248,9 +248,9 @@ discard block |
||
248 | 248 | * @param WP_REST_Request $request Full data about the request. |
249 | 249 | * @return WP_Error|boolean |
250 | 250 | */ |
251 | - public function get_items_permissions_check( $request ) { |
|
252 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
253 | - return new WP_Error( 'rest_cannot_view', __( 'Sorry, you cannot list resources.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) ); |
|
251 | + public function get_items_permissions_check($request) { |
|
252 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
253 | + return new WP_Error('rest_cannot_view', __('Sorry, you cannot list resources.', 'invoicing'), array('status' => rest_authorization_required_code())); |
|
254 | 254 | } |
255 | 255 | |
256 | 256 | return true; |
@@ -263,9 +263,9 @@ discard block |
||
263 | 263 | * @param WP_REST_Request $request Full data about the request. |
264 | 264 | * @return WP_Error|boolean |
265 | 265 | */ |
266 | - public function update_items_permissions_check( $request ) { |
|
267 | - if ( ! wpinv_current_user_can_manage_invoicing() ) { |
|
268 | - return new WP_Error( 'rest_cannot_edit', __( 'Sorry, you cannot edit this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) ); |
|
266 | + public function update_items_permissions_check($request) { |
|
267 | + if (!wpinv_current_user_can_manage_invoicing()) { |
|
268 | + return new WP_Error('rest_cannot_edit', __('Sorry, you cannot edit this resource.', 'invoicing'), array('status' => rest_authorization_required_code())); |
|
269 | 269 | } |
270 | 270 | |
271 | 271 | return true; |
@@ -278,8 +278,8 @@ discard block |
||
278 | 278 | * |
279 | 279 | * @return boolean|WP_Error |
280 | 280 | */ |
281 | - public function batch_items_permissions_check( $request ) { |
|
282 | - return wpinv_current_user_can_manage_invoicing() ? true : new WP_Error( 'rest_cannot_batch', __( 'Sorry, you are not allowed to batch manipulate this resource.', 'invoicing' ), array( 'status' => rest_authorization_required_code() ) ); |
|
281 | + public function batch_items_permissions_check($request) { |
|
282 | + return wpinv_current_user_can_manage_invoicing() ? true : new WP_Error('rest_cannot_batch', __('Sorry, you are not allowed to batch manipulate this resource.', 'invoicing'), array('status' => rest_authorization_required_code())); |
|
283 | 283 | } |
284 | 284 | |
285 | 285 | /** |
@@ -288,14 +288,14 @@ discard block |
||
288 | 288 | * @param string $setting_id Setting ID. |
289 | 289 | * @return array Links for the given setting. |
290 | 290 | */ |
291 | - protected function prepare_links( $setting_id ) { |
|
291 | + protected function prepare_links($setting_id) { |
|
292 | 292 | |
293 | 293 | $links = array( |
294 | 294 | 'self' => array( |
295 | - 'href' => rest_url( sprintf( '/%s/%s/setting/%s', $this->namespace, $this->rest_base, $setting_id ) ), |
|
295 | + 'href' => rest_url(sprintf('/%s/%s/setting/%s', $this->namespace, $this->rest_base, $setting_id)), |
|
296 | 296 | ), |
297 | 297 | 'collection' => array( |
298 | - 'href' => rest_url( sprintf( '/%s/%s', $this->namespace, $this->rest_base ) ), |
|
298 | + 'href' => rest_url(sprintf('/%s/%s', $this->namespace, $this->rest_base)), |
|
299 | 299 | ), |
300 | 300 | ); |
301 | 301 | |
@@ -310,14 +310,14 @@ discard block |
||
310 | 310 | * @param WP_REST_Request $request Request object. |
311 | 311 | * @return WP_REST_Response $response Response data. |
312 | 312 | */ |
313 | - public function prepare_item_for_response( $item, $request ) { |
|
314 | - $context = empty( $request['context'] ) ? 'view' : $request['context']; |
|
315 | - $data = $this->add_additional_fields_to_object( $item, $request ); |
|
316 | - $data = $this->filter_response_by_context( $data, $context ); |
|
313 | + public function prepare_item_for_response($item, $request) { |
|
314 | + $context = empty($request['context']) ? 'view' : $request['context']; |
|
315 | + $data = $this->add_additional_fields_to_object($item, $request); |
|
316 | + $data = $this->filter_response_by_context($data, $context); |
|
317 | 317 | |
318 | - $response = rest_ensure_response( $data ); |
|
318 | + $response = rest_ensure_response($data); |
|
319 | 319 | |
320 | - $response->add_links( $this->prepare_links( $item['id'] ) ); |
|
320 | + $response->add_links($this->prepare_links($item['id'])); |
|
321 | 321 | |
322 | 322 | return $response; |
323 | 323 | } |
@@ -330,10 +330,10 @@ discard block |
||
330 | 330 | * @param array $setting Setting. |
331 | 331 | * @return array |
332 | 332 | */ |
333 | - public function filter_setting( $setting ) { |
|
333 | + public function filter_setting($setting) { |
|
334 | 334 | return array_intersect_key( |
335 | 335 | $setting, |
336 | - array_flip( array_filter( array_keys( $setting ), array( $this, 'allowed_setting_keys' ) ) ) |
|
336 | + array_flip(array_filter(array_keys($setting), array($this, 'allowed_setting_keys'))) |
|
337 | 337 | ); |
338 | 338 | } |
339 | 339 | |
@@ -343,8 +343,8 @@ discard block |
||
343 | 343 | * @param string $key Key to check. |
344 | 344 | * @return boolean |
345 | 345 | */ |
346 | - public function allowed_setting_keys( $key ) { |
|
347 | - return in_array( $key, array_keys( $this->setting_defaults() ), true ); |
|
346 | + public function allowed_setting_keys($key) { |
|
347 | + return in_array($key, array_keys($this->setting_defaults()), true); |
|
348 | 348 | } |
349 | 349 | |
350 | 350 | /** |
@@ -376,11 +376,11 @@ discard block |
||
376 | 376 | * @param array $setting The setting to sanitize. |
377 | 377 | * @return array |
378 | 378 | */ |
379 | - public function sanitize_setting( $setting ) { |
|
379 | + public function sanitize_setting($setting) { |
|
380 | 380 | |
381 | - $setting = wp_parse_args( $setting, $this->setting_defaults() ); |
|
382 | - $setting['value'] = wpinv_get_option( $setting['id'], $setting['std'] ); |
|
383 | - return $this->filter_setting( $setting ); |
|
381 | + $setting = wp_parse_args($setting, $this->setting_defaults()); |
|
382 | + $setting['value'] = wpinv_get_option($setting['id'], $setting['std']); |
|
383 | + return $this->filter_setting($setting); |
|
384 | 384 | |
385 | 385 | } |
386 | 386 | |
@@ -391,31 +391,31 @@ discard block |
||
391 | 391 | * @param string $setting_id Setting ID. |
392 | 392 | * @return array|WP_Error |
393 | 393 | */ |
394 | - public function get_setting( $setting_id ) { |
|
394 | + public function get_setting($setting_id) { |
|
395 | 395 | |
396 | - if ( empty( $setting_id ) ) { |
|
397 | - return new WP_Error( 'rest_setting_setting_invalid', __( 'Invalid setting.', 'invoicing' ), array( 'status' => 404 ) ); |
|
396 | + if (empty($setting_id)) { |
|
397 | + return new WP_Error('rest_setting_setting_invalid', __('Invalid setting.', 'invoicing'), array('status' => 404)); |
|
398 | 398 | } |
399 | 399 | |
400 | - $settings = $this->get_settings(); |
|
400 | + $settings = $this->get_settings(); |
|
401 | 401 | |
402 | - foreach ( $settings as $tabs ) { |
|
402 | + foreach ($settings as $tabs) { |
|
403 | 403 | |
404 | - foreach ( $tabs as $sections ) { |
|
404 | + foreach ($tabs as $sections) { |
|
405 | 405 | |
406 | - if ( isset( $sections[ $setting_id ] ) ) { |
|
407 | - if ( ! $this->is_setting_type_valid( $sections[ $setting_id ]['type'] ) ) { |
|
408 | - return new WP_Error( 'rest_setting_setting_type_invalid', __( 'Invalid setting type.', 'invoicing' ), array( 'status' => 404 ) ); |
|
406 | + if (isset($sections[$setting_id])) { |
|
407 | + if (!$this->is_setting_type_valid($sections[$setting_id]['type'])) { |
|
408 | + return new WP_Error('rest_setting_setting_type_invalid', __('Invalid setting type.', 'invoicing'), array('status' => 404)); |
|
409 | 409 | } |
410 | 410 | |
411 | - return $sections[ $setting_id ]; |
|
411 | + return $sections[$setting_id]; |
|
412 | 412 | } |
413 | 413 | |
414 | 414 | } |
415 | 415 | |
416 | 416 | } |
417 | 417 | |
418 | - return new WP_Error( 'rest_setting_setting_invalid', __( 'Invalid setting.', 'invoicing' ), array( 'status' => 404 ) ); |
|
418 | + return new WP_Error('rest_setting_setting_invalid', __('Invalid setting.', 'invoicing'), array('status' => 404)); |
|
419 | 419 | } |
420 | 420 | |
421 | 421 | /** |
@@ -424,41 +424,41 @@ discard block |
||
424 | 424 | * @param WP_REST_Request $request Request data. |
425 | 425 | * @return array |
426 | 426 | */ |
427 | - public function get_tabs( $request ) { |
|
427 | + public function get_tabs($request) { |
|
428 | 428 | $tabs = wpinv_get_settings_tabs(); |
429 | 429 | $prepared = array(); |
430 | 430 | |
431 | - foreach ( $tabs as $id => $tab ) { |
|
431 | + foreach ($tabs as $id => $tab) { |
|
432 | 432 | |
433 | 433 | $_request = $request; |
434 | - $_request['tab'] = sanitize_title( $id ); |
|
434 | + $_request['tab'] = sanitize_title($id); |
|
435 | 435 | $data = array( |
436 | - 'id' => sanitize_title( $id ), |
|
437 | - 'label' => sanitize_text_field( $tab ), |
|
438 | - 'sections' => $this->get_sections( $_request ), |
|
436 | + 'id' => sanitize_title($id), |
|
437 | + 'label' => sanitize_text_field($tab), |
|
438 | + 'sections' => $this->get_sections($_request), |
|
439 | 439 | ); |
440 | 440 | |
441 | - $data = $this->add_additional_fields_to_object( $data, $request ); |
|
442 | - $response = rest_ensure_response( $data ); |
|
441 | + $data = $this->add_additional_fields_to_object($data, $request); |
|
442 | + $response = rest_ensure_response($data); |
|
443 | 443 | |
444 | - if ( ! is_wp_error( $response ) ) { |
|
444 | + if (!is_wp_error($response)) { |
|
445 | 445 | $links = array( |
446 | 446 | 'sections' => array( |
447 | - 'href' => rest_url( sprintf( '/%s/%s/%s', $this->namespace, $this->rest_base, $id ) ), |
|
447 | + 'href' => rest_url(sprintf('/%s/%s/%s', $this->namespace, $this->rest_base, $id)), |
|
448 | 448 | ), |
449 | 449 | 'collection' => array( |
450 | - 'href' => rest_url( sprintf( '/%s/%s', $this->namespace, $this->rest_base ) ), |
|
450 | + 'href' => rest_url(sprintf('/%s/%s', $this->namespace, $this->rest_base)), |
|
451 | 451 | ), |
452 | 452 | ); |
453 | - $response->add_links( $links ); |
|
454 | - $response = $this->prepare_response_for_collection( $response ); |
|
453 | + $response->add_links($links); |
|
454 | + $response = $this->prepare_response_for_collection($response); |
|
455 | 455 | } |
456 | 456 | |
457 | 457 | $prepared[] = $response; |
458 | 458 | |
459 | 459 | } |
460 | 460 | |
461 | - return rest_ensure_response( $prepared ); |
|
461 | + return rest_ensure_response($prepared); |
|
462 | 462 | } |
463 | 463 | |
464 | 464 | /** |
@@ -467,43 +467,43 @@ discard block |
||
467 | 467 | * @param WP_REST_Request $request Request data. |
468 | 468 | * @return array |
469 | 469 | */ |
470 | - public function get_sections( $request ) { |
|
470 | + public function get_sections($request) { |
|
471 | 471 | |
472 | - $tab = sanitize_title( $request['tab'] ); |
|
473 | - $sections = wpinv_get_settings_tab_sections( $tab ); |
|
472 | + $tab = sanitize_title($request['tab']); |
|
473 | + $sections = wpinv_get_settings_tab_sections($tab); |
|
474 | 474 | $prepared = array(); |
475 | 475 | |
476 | - foreach ( $sections as $id => $section ) { |
|
476 | + foreach ($sections as $id => $section) { |
|
477 | 477 | |
478 | - $data = array( |
|
479 | - 'id' => sanitize_title( $id ), |
|
480 | - 'label' => sanitize_text_field( $section ), |
|
478 | + $data = array( |
|
479 | + 'id' => sanitize_title($id), |
|
480 | + 'label' => sanitize_text_field($section), |
|
481 | 481 | ); |
482 | 482 | |
483 | - $data = $this->add_additional_fields_to_object( $data, $request ); |
|
484 | - $response = rest_ensure_response( $data ); |
|
483 | + $data = $this->add_additional_fields_to_object($data, $request); |
|
484 | + $response = rest_ensure_response($data); |
|
485 | 485 | |
486 | - if ( ! is_wp_error( $response ) ) { |
|
486 | + if (!is_wp_error($response)) { |
|
487 | 487 | $links = array( |
488 | 488 | 'settings' => array( |
489 | - 'href' => rest_url( sprintf( '/%s/%s/%s/%s', $this->namespace, $this->rest_base, $tab, $id ) ), |
|
489 | + 'href' => rest_url(sprintf('/%s/%s/%s/%s', $this->namespace, $this->rest_base, $tab, $id)), |
|
490 | 490 | ), |
491 | 491 | 'collection' => array( |
492 | - 'href' => rest_url( sprintf( '/%s/%s/%s', $this->namespace, $this->rest_base, $tab ) ), |
|
492 | + 'href' => rest_url(sprintf('/%s/%s/%s', $this->namespace, $this->rest_base, $tab)), |
|
493 | 493 | ), |
494 | 494 | 'tabs' => array( |
495 | - 'href' => rest_url( sprintf( '/%s/%s', $this->namespace, $this->rest_base ) ), |
|
495 | + 'href' => rest_url(sprintf('/%s/%s', $this->namespace, $this->rest_base)), |
|
496 | 496 | ), |
497 | 497 | ); |
498 | - $response->add_links( $links ); |
|
499 | - $response = $this->prepare_response_for_collection( $response ); |
|
498 | + $response->add_links($links); |
|
499 | + $response = $this->prepare_response_for_collection($response); |
|
500 | 500 | } |
501 | 501 | |
502 | 502 | $prepared[] = $response; |
503 | 503 | |
504 | 504 | } |
505 | 505 | |
506 | - return rest_ensure_response( $prepared ); |
|
506 | + return rest_ensure_response($prepared); |
|
507 | 507 | } |
508 | 508 | |
509 | 509 | /** |
@@ -513,7 +513,7 @@ discard block |
||
513 | 513 | */ |
514 | 514 | public function get_settings() { |
515 | 515 | |
516 | - if ( empty( $this->settings ) ) { |
|
516 | + if (empty($this->settings)) { |
|
517 | 517 | $this->settings = wpinv_get_registered_settings(); |
518 | 518 | } |
519 | 519 | |
@@ -528,21 +528,21 @@ discard block |
||
528 | 528 | * @param string $type Type. |
529 | 529 | * @return bool |
530 | 530 | */ |
531 | - public function is_setting_type_valid( $type ) { |
|
531 | + public function is_setting_type_valid($type) { |
|
532 | 532 | |
533 | 533 | return in_array( |
534 | 534 | $type, array( |
535 | - 'text', // Validates with validate_setting_text_field. |
|
536 | - 'email', // Validates with validate_setting_text_field. |
|
537 | - 'number', // Validates with validate_setting_text_field. |
|
538 | - 'color', // Validates with validate_setting_text_field. |
|
539 | - 'password', // Validates with validate_setting_text_field. |
|
540 | - 'textarea', // Validates with validate_setting_textarea_field. |
|
541 | - 'select', // Validates with validate_setting_select_field. |
|
542 | - 'multiselect', // Validates with validate_setting_multiselect_field. |
|
543 | - 'radio', // Validates with validate_setting_radio_field (-> validate_setting_select_field). |
|
544 | - 'checkbox', // Validates with validate_setting_checkbox_field. |
|
545 | - 'header', // Validates with validate_setting_text_field. |
|
535 | + 'text', // Validates with validate_setting_text_field. |
|
536 | + 'email', // Validates with validate_setting_text_field. |
|
537 | + 'number', // Validates with validate_setting_text_field. |
|
538 | + 'color', // Validates with validate_setting_text_field. |
|
539 | + 'password', // Validates with validate_setting_text_field. |
|
540 | + 'textarea', // Validates with validate_setting_textarea_field. |
|
541 | + 'select', // Validates with validate_setting_select_field. |
|
542 | + 'multiselect', // Validates with validate_setting_multiselect_field. |
|
543 | + 'radio', // Validates with validate_setting_radio_field (-> validate_setting_select_field). |
|
544 | + 'checkbox', // Validates with validate_setting_checkbox_field. |
|
545 | + 'header', // Validates with validate_setting_text_field. |
|
546 | 546 | ) |
547 | 547 | ); |
548 | 548 | |
@@ -556,8 +556,8 @@ discard block |
||
556 | 556 | public function get_item_schema() { |
557 | 557 | |
558 | 558 | // Maybe retrieve the schema from cache. |
559 | - if ( ! empty( $this->schema ) ) { |
|
560 | - return $this->add_additional_fields_schema( $this->schema ); |
|
559 | + if (!empty($this->schema)) { |
|
560 | + return $this->add_additional_fields_schema($this->schema); |
|
561 | 561 | } |
562 | 562 | |
563 | 563 | $schema = array( |
@@ -566,105 +566,105 @@ discard block |
||
566 | 566 | 'type' => 'object', |
567 | 567 | 'properties' => array( |
568 | 568 | 'id' => array( |
569 | - 'description' => __( 'A unique identifier for the setting.', 'invoicing' ), |
|
569 | + 'description' => __('A unique identifier for the setting.', 'invoicing'), |
|
570 | 570 | 'type' => 'string', |
571 | 571 | 'arg_options' => array( |
572 | 572 | 'sanitize_callback' => 'sanitize_title', |
573 | 573 | ), |
574 | - 'context' => array( 'view', 'edit' ), |
|
574 | + 'context' => array('view', 'edit'), |
|
575 | 575 | 'readonly' => true, |
576 | 576 | ), |
577 | 577 | 'tab' => array( |
578 | - 'description' => __( 'An identifier for the tab this setting belongs to.', 'invoicing' ), |
|
578 | + 'description' => __('An identifier for the tab this setting belongs to.', 'invoicing'), |
|
579 | 579 | 'type' => 'string', |
580 | 580 | 'arg_options' => array( |
581 | 581 | 'sanitize_callback' => 'sanitize_title', |
582 | 582 | ), |
583 | - 'context' => array( 'view', 'edit' ), |
|
583 | + 'context' => array('view', 'edit'), |
|
584 | 584 | 'readonly' => true, |
585 | 585 | ), |
586 | 586 | 'section' => array( |
587 | - 'description' => __( 'An identifier for the section this setting belongs to.', 'invoicing' ), |
|
587 | + 'description' => __('An identifier for the section this setting belongs to.', 'invoicing'), |
|
588 | 588 | 'type' => 'string', |
589 | 589 | 'arg_options' => array( |
590 | 590 | 'sanitize_callback' => 'sanitize_title', |
591 | 591 | ), |
592 | - 'context' => array( 'view', 'edit' ), |
|
592 | + 'context' => array('view', 'edit'), |
|
593 | 593 | 'readonly' => true, |
594 | 594 | ), |
595 | 595 | 'name' => array( |
596 | - 'description' => __( 'A human readable label for the setting used in interfaces.', 'invoicing' ), |
|
596 | + 'description' => __('A human readable label for the setting used in interfaces.', 'invoicing'), |
|
597 | 597 | 'type' => 'string', |
598 | 598 | 'arg_options' => array( |
599 | 599 | 'sanitize_callback' => 'sanitize_text_field', |
600 | 600 | ), |
601 | - 'context' => array( 'view', 'edit' ), |
|
601 | + 'context' => array('view', 'edit'), |
|
602 | 602 | 'readonly' => true, |
603 | 603 | ), |
604 | 604 | 'desc' => array( |
605 | - 'description' => __( 'A human readable description for the setting used in interfaces.', 'invoicing' ), |
|
605 | + 'description' => __('A human readable description for the setting used in interfaces.', 'invoicing'), |
|
606 | 606 | 'type' => 'string', |
607 | - 'context' => array( 'view', 'edit' ), |
|
607 | + 'context' => array('view', 'edit'), |
|
608 | 608 | 'readonly' => true, |
609 | 609 | ), |
610 | 610 | 'value' => array( |
611 | - 'description' => __( 'The current value of this setting.', 'invoicing' ), |
|
611 | + 'description' => __('The current value of this setting.', 'invoicing'), |
|
612 | 612 | 'type' => 'mixed', |
613 | - 'context' => array( 'view', 'edit' ), |
|
613 | + 'context' => array('view', 'edit'), |
|
614 | 614 | ), |
615 | 615 | 'default' => array( |
616 | - 'description' => __( 'Default value for the setting.', 'invoicing' ), |
|
616 | + 'description' => __('Default value for the setting.', 'invoicing'), |
|
617 | 617 | 'type' => 'mixed', |
618 | - 'context' => array( 'view', 'edit' ), |
|
618 | + 'context' => array('view', 'edit'), |
|
619 | 619 | 'readonly' => true, |
620 | 620 | ), |
621 | 621 | 'placeholder' => array( |
622 | - 'description' => __( 'Placeholder text to be displayed in text inputs.', 'invoicing' ), |
|
622 | + 'description' => __('Placeholder text to be displayed in text inputs.', 'invoicing'), |
|
623 | 623 | 'type' => 'string', |
624 | 624 | 'arg_options' => array( |
625 | 625 | 'sanitize_callback' => 'sanitize_text_field', |
626 | 626 | ), |
627 | - 'context' => array( 'view', 'edit' ), |
|
627 | + 'context' => array('view', 'edit'), |
|
628 | 628 | 'readonly' => true, |
629 | 629 | ), |
630 | 630 | 'type' => array( |
631 | - 'description' => __( 'Type of setting.', 'invoicing' ), |
|
631 | + 'description' => __('Type of setting.', 'invoicing'), |
|
632 | 632 | 'type' => 'string', |
633 | 633 | 'arg_options' => array( |
634 | 634 | 'sanitize_callback' => 'sanitize_text_field', |
635 | 635 | ), |
636 | - 'context' => array( 'view', 'edit' ), |
|
637 | - 'enum' => array( 'text', 'email', 'number', 'color', 'password', 'textarea', 'select', 'multiselect', 'radio', 'image_width', 'checkbox', 'raw_html' ), |
|
636 | + 'context' => array('view', 'edit'), |
|
637 | + 'enum' => array('text', 'email', 'number', 'color', 'password', 'textarea', 'select', 'multiselect', 'radio', 'image_width', 'checkbox', 'raw_html'), |
|
638 | 638 | 'readonly' => true, |
639 | 639 | ), |
640 | 640 | 'options' => array( |
641 | - 'description' => __( 'Array of options (key value pairs) for inputs such as select, multiselect, and radio buttons.', 'invoicing' ), |
|
641 | + 'description' => __('Array of options (key value pairs) for inputs such as select, multiselect, and radio buttons.', 'invoicing'), |
|
642 | 642 | 'type' => 'object', |
643 | - 'context' => array( 'view', 'edit' ), |
|
643 | + 'context' => array('view', 'edit'), |
|
644 | 644 | 'readonly' => true, |
645 | 645 | ), |
646 | 646 | 'readonly' => array( |
647 | - 'description' => __( 'Whether or not this setting is readonly', 'invoicing' ), |
|
647 | + 'description' => __('Whether or not this setting is readonly', 'invoicing'), |
|
648 | 648 | 'type' => 'string', |
649 | - 'context' => array( 'view' ), |
|
649 | + 'context' => array('view'), |
|
650 | 650 | 'readonly' => true, |
651 | 651 | ), |
652 | 652 | 'faux' => array( |
653 | - 'description' => __( 'Whether or not this setting is readonly/faux', 'invoicing' ), |
|
653 | + 'description' => __('Whether or not this setting is readonly/faux', 'invoicing'), |
|
654 | 654 | 'type' => 'string', |
655 | - 'context' => array( 'view' ), |
|
655 | + 'context' => array('view'), |
|
656 | 656 | 'readonly' => true, |
657 | 657 | ), |
658 | 658 | ), |
659 | 659 | ); |
660 | 660 | |
661 | 661 | // Filters the settings schema for the REST API. |
662 | - $schema = apply_filters( 'getpaid_rest_settings_schema', $schema ); |
|
662 | + $schema = apply_filters('getpaid_rest_settings_schema', $schema); |
|
663 | 663 | |
664 | 664 | // Cache the settings schema. |
665 | 665 | $this->schema = $schema; |
666 | 666 | |
667 | - return $this->add_additional_fields_schema( $this->schema ); |
|
667 | + return $this->add_additional_fields_schema($this->schema); |
|
668 | 668 | |
669 | 669 | } |
670 | 670 | |
@@ -676,9 +676,9 @@ discard block |
||
676 | 676 | * @param array $setting Setting. |
677 | 677 | * @return string |
678 | 678 | */ |
679 | - public function validate_setting_text_field( $value ) { |
|
680 | - $value = is_null( $value ) ? '' : $value; |
|
681 | - return wp_kses_post( trim( stripslashes( $value ) ) ); |
|
679 | + public function validate_setting_text_field($value) { |
|
680 | + $value = is_null($value) ? '' : $value; |
|
681 | + return wp_kses_post(trim(stripslashes($value))); |
|
682 | 682 | } |
683 | 683 | |
684 | 684 | /** |
@@ -689,11 +689,11 @@ discard block |
||
689 | 689 | * @param array $setting Setting. |
690 | 690 | * @return string|WP_Error |
691 | 691 | */ |
692 | - public function validate_setting_select_field( $value, $setting ) { |
|
693 | - if ( array_key_exists( $value, $setting['options'] ) ) { |
|
692 | + public function validate_setting_select_field($value, $setting) { |
|
693 | + if (array_key_exists($value, $setting['options'])) { |
|
694 | 694 | return $value; |
695 | 695 | } else { |
696 | - return new WP_Error( 'rest_setting_value_invalid', __( 'An invalid setting value was passed.', 'invoicing' ), array( 'status' => 400 ) ); |
|
696 | + return new WP_Error('rest_setting_value_invalid', __('An invalid setting value was passed.', 'invoicing'), array('status' => 400)); |
|
697 | 697 | } |
698 | 698 | } |
699 | 699 | |
@@ -705,18 +705,18 @@ discard block |
||
705 | 705 | * @param array $setting Setting. |
706 | 706 | * @return array|WP_Error |
707 | 707 | */ |
708 | - public function validate_setting_multiselect_field( $values, $setting ) { |
|
709 | - if ( empty( $values ) ) { |
|
708 | + public function validate_setting_multiselect_field($values, $setting) { |
|
709 | + if (empty($values)) { |
|
710 | 710 | return array(); |
711 | 711 | } |
712 | 712 | |
713 | - if ( ! is_array( $values ) ) { |
|
714 | - return new WP_Error( 'rest_setting_value_invalid', __( 'An invalid setting value was passed.', 'invoicing' ), array( 'status' => 400 ) ); |
|
713 | + if (!is_array($values)) { |
|
714 | + return new WP_Error('rest_setting_value_invalid', __('An invalid setting value was passed.', 'invoicing'), array('status' => 400)); |
|
715 | 715 | } |
716 | 716 | |
717 | 717 | $final_values = array(); |
718 | - foreach ( $values as $value ) { |
|
719 | - if ( array_key_exists( $value, $setting['options'] ) ) { |
|
718 | + foreach ($values as $value) { |
|
719 | + if (array_key_exists($value, $setting['options'])) { |
|
720 | 720 | $final_values[] = $value; |
721 | 721 | } |
722 | 722 | } |
@@ -732,8 +732,8 @@ discard block |
||
732 | 732 | * @param array $setting Setting. |
733 | 733 | * @return string|WP_Error |
734 | 734 | */ |
735 | - public function validate_setting_radio_field( $value, $setting ) { |
|
736 | - return $this->validate_setting_select_field( $value, $setting ); |
|
735 | + public function validate_setting_radio_field($value, $setting) { |
|
736 | + return $this->validate_setting_select_field($value, $setting); |
|
737 | 737 | } |
738 | 738 | |
739 | 739 | /** |
@@ -743,8 +743,8 @@ discard block |
||
743 | 743 | * @param string $value Value. |
744 | 744 | * @return int |
745 | 745 | */ |
746 | - public function validate_setting_checkbox_field( $value ) { |
|
747 | - return (int) ! empty( $value ); |
|
746 | + public function validate_setting_checkbox_field($value) { |
|
747 | + return (int) !empty($value); |
|
748 | 748 | } |
749 | 749 | |
750 | 750 | /** |
@@ -754,10 +754,10 @@ discard block |
||
754 | 754 | * @param string $value Value. |
755 | 755 | * @return string |
756 | 756 | */ |
757 | - public function validate_setting_textarea_field( $value ) { |
|
758 | - $value = is_null( $value ) ? '' : $value; |
|
757 | + public function validate_setting_textarea_field($value) { |
|
758 | + $value = is_null($value) ? '' : $value; |
|
759 | 759 | return wp_kses( |
760 | - trim( stripslashes( $value ) ), |
|
760 | + trim(stripslashes($value)), |
|
761 | 761 | array_merge( |
762 | 762 | array( |
763 | 763 | 'iframe' => array( |
@@ -767,7 +767,7 @@ discard block |
||
767 | 767 | 'class' => true, |
768 | 768 | ), |
769 | 769 | ), |
770 | - wp_kses_allowed_html( 'post' ) |
|
770 | + wp_kses_allowed_html('post') |
|
771 | 771 | ) |
772 | 772 | ); |
773 | 773 | } |