@@ -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( 'subscription', 'addons', 'single_subscription_group', 'multiple_subscription_groups' ); |
|
22 | + /** |
|
23 | + * An array of features that this gateway supports. |
|
24 | + * |
|
25 | + * @var array |
|
26 | + */ |
|
27 | + protected $supports = array( 'subscription', 'addons', 'single_subscription_group', 'multiple_subscription_groups' ); |
|
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,24 +44,24 @@ 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 ); |
|
51 | - add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ) ); |
|
52 | - add_action( 'getpaid_invoice_status_publish', array( $this, 'invoice_paid' ), 20 ); |
|
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 | + add_action( 'getpaid_should_renew_subscription', array( $this, 'maybe_renew_subscription' ) ); |
|
52 | + add_action( 'getpaid_invoice_status_publish', array( $this, 'invoice_paid' ), 20 ); |
|
53 | 53 | |
54 | 54 | } |
55 | 55 | |
56 | 56 | /** |
57 | - * Process Payment. |
|
58 | - * |
|
59 | - * @param WPInv_Invoice $invoice Invoice. |
|
60 | - * @param array $submission_data Posted checkout fields. |
|
61 | - * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
|
62 | - * @return array |
|
63 | - */ |
|
64 | - public function process_payment( $invoice, $submission_data, $submission ) { |
|
57 | + * Process Payment. |
|
58 | + * |
|
59 | + * @param WPInv_Invoice $invoice Invoice. |
|
60 | + * @param array $submission_data Posted checkout fields. |
|
61 | + * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
|
62 | + * @return array |
|
63 | + */ |
|
64 | + public function process_payment( $invoice, $submission_data, $submission ) { |
|
65 | 65 | |
66 | 66 | // Add a transaction id. |
67 | 67 | $invoice->set_transaction_id( $invoice->generate_key('bt_') ); |
@@ -82,66 +82,66 @@ discard block |
||
82 | 82 | } |
83 | 83 | |
84 | 84 | /** |
85 | - * Output for the order received page. |
|
86 | - * |
|
87 | - * @param WPInv_Invoice $invoice Invoice. |
|
88 | - */ |
|
89 | - public function thankyou_page( $invoice ) { |
|
85 | + * Output for the order received page. |
|
86 | + * |
|
87 | + * @param WPInv_Invoice $invoice Invoice. |
|
88 | + */ |
|
89 | + public function thankyou_page( $invoice ) { |
|
90 | 90 | |
91 | 91 | if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
92 | 92 | |
93 | - echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL; |
|
93 | + echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL; |
|
94 | 94 | |
95 | 95 | if ( ! empty( $this->instructions ) ) { |
96 | 96 | echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) ); |
97 | - } |
|
97 | + } |
|
98 | 98 | |
99 | - $this->bank_details( $invoice ); |
|
99 | + $this->bank_details( $invoice ); |
|
100 | 100 | |
101 | - echo '</div>'; |
|
101 | + echo '</div>'; |
|
102 | 102 | |
103 | 103 | } |
104 | 104 | |
105 | - } |
|
105 | + } |
|
106 | 106 | |
107 | 107 | /** |
108 | - * Add content to the WPI emails. |
|
109 | - * |
|
110 | - * @param WPInv_Invoice $invoice Invoice. |
|
111 | - * @param string $email_type Email format: plain text or HTML. |
|
112 | - * @param bool $sent_to_admin Sent to admin. |
|
113 | - */ |
|
114 | - public function email_instructions( $invoice, $email_type, $sent_to_admin ) { |
|
108 | + * Add content to the WPI emails. |
|
109 | + * |
|
110 | + * @param WPInv_Invoice $invoice Invoice. |
|
111 | + * @param string $email_type Email format: plain text or HTML. |
|
112 | + * @param bool $sent_to_admin Sent to admin. |
|
113 | + */ |
|
114 | + public function email_instructions( $invoice, $email_type, $sent_to_admin ) { |
|
115 | 115 | |
116 | - if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
|
116 | + if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
|
117 | 117 | |
118 | - echo '<div class="wpi-email-row getpaid-bank-transfer-details">'; |
|
118 | + echo '<div class="wpi-email-row getpaid-bank-transfer-details">'; |
|
119 | 119 | |
120 | - if ( $this->instructions ) { |
|
121 | - echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL ); |
|
120 | + if ( $this->instructions ) { |
|
121 | + echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL ); |
|
122 | 122 | } |
123 | 123 | |
124 | - $this->bank_details( $invoice ); |
|
124 | + $this->bank_details( $invoice ); |
|
125 | 125 | |
126 | - echo '</div>'; |
|
126 | + echo '</div>'; |
|
127 | 127 | |
128 | - } |
|
128 | + } |
|
129 | 129 | |
130 | 130 | } |
131 | 131 | |
132 | 132 | /** |
133 | - * Get bank details and place into a list format. |
|
134 | - * |
|
135 | - * @param WPInv_Invoice $invoice Invoice. |
|
136 | - */ |
|
137 | - protected function bank_details( $invoice ) { |
|
133 | + * Get bank details and place into a list format. |
|
134 | + * |
|
135 | + * @param WPInv_Invoice $invoice Invoice. |
|
136 | + */ |
|
137 | + protected function bank_details( $invoice ) { |
|
138 | 138 | |
139 | - // Get the invoice country and country $locale. |
|
140 | - $country = $invoice->get_country(); |
|
141 | - $locale = $this->get_country_locale(); |
|
139 | + // Get the invoice country and country $locale. |
|
140 | + $country = $invoice->get_country(); |
|
141 | + $locale = $this->get_country_locale(); |
|
142 | 142 | |
143 | - // Get sortcode label in the $locale array and use appropriate one. |
|
144 | - $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
143 | + // Get sortcode label in the $locale array and use appropriate one. |
|
144 | + $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
145 | 145 | |
146 | 146 | $bank_fields = array( |
147 | 147 | 'ac_name' => __( 'Account Name', 'invoicing' ), |
@@ -170,144 +170,144 @@ discard block |
||
170 | 170 | return; |
171 | 171 | } |
172 | 172 | |
173 | - echo '<h3 class="getpaid-bank-transfer-title"> ' . apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ) ) . '</h3>' . PHP_EOL; |
|
173 | + echo '<h3 class="getpaid-bank-transfer-title"> ' . apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ) ) . '</h3>' . PHP_EOL; |
|
174 | + |
|
175 | + echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL; |
|
176 | + |
|
177 | + foreach ( $bank_info as $key => $data ) { |
|
178 | + |
|
179 | + $key = sanitize_html_class( $key ); |
|
180 | + $label = wp_kses_post( $data['label'] ); |
|
181 | + $value = wp_kses_post( wptexturize( $data['value'] ) ); |
|
182 | + |
|
183 | + echo "<tr class='getpaid-bank-transfer-$key'><th class='font-weight-bold'>$label</th><td class='w-75'>$value</td></tr>" . PHP_EOL; |
|
184 | + } |
|
174 | 185 | |
175 | - echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL; |
|
186 | + echo '</table>'; |
|
176 | 187 | |
177 | - foreach ( $bank_info as $key => $data ) { |
|
188 | + } |
|
178 | 189 | |
179 | - $key = sanitize_html_class( $key ); |
|
180 | - $label = wp_kses_post( $data['label'] ); |
|
181 | - $value = wp_kses_post( wptexturize( $data['value'] ) ); |
|
190 | + /** |
|
191 | + * Get country locale if localized. |
|
192 | + * |
|
193 | + * @return array |
|
194 | + */ |
|
195 | + public function get_country_locale() { |
|
196 | + |
|
197 | + if ( empty( $this->locale ) ) { |
|
198 | + |
|
199 | + // Locale information to be used - only those that are not 'Sort Code'. |
|
200 | + $this->locale = apply_filters( |
|
201 | + 'getpaid_get_bank_transfer_locale', |
|
202 | + array( |
|
203 | + 'AU' => array( |
|
204 | + 'sortcode' => array( |
|
205 | + 'label' => __( 'BSB', 'invoicing' ), |
|
206 | + ), |
|
207 | + ), |
|
208 | + 'CA' => array( |
|
209 | + 'sortcode' => array( |
|
210 | + 'label' => __( 'Bank transit number', 'invoicing' ), |
|
211 | + ), |
|
212 | + ), |
|
213 | + 'IN' => array( |
|
214 | + 'sortcode' => array( |
|
215 | + 'label' => __( 'IFSC', 'invoicing' ), |
|
216 | + ), |
|
217 | + ), |
|
218 | + 'IT' => array( |
|
219 | + 'sortcode' => array( |
|
220 | + 'label' => __( 'Branch sort', 'invoicing' ), |
|
221 | + ), |
|
222 | + ), |
|
223 | + 'NZ' => array( |
|
224 | + 'sortcode' => array( |
|
225 | + 'label' => __( 'Bank code', 'invoicing' ), |
|
226 | + ), |
|
227 | + ), |
|
228 | + 'SE' => array( |
|
229 | + 'sortcode' => array( |
|
230 | + 'label' => __( 'Bank code', 'invoicing' ), |
|
231 | + ), |
|
232 | + ), |
|
233 | + 'US' => array( |
|
234 | + 'sortcode' => array( |
|
235 | + 'label' => __( 'Routing number', 'invoicing' ), |
|
236 | + ), |
|
237 | + ), |
|
238 | + 'ZA' => array( |
|
239 | + 'sortcode' => array( |
|
240 | + 'label' => __( 'Branch code', 'invoicing' ), |
|
241 | + ), |
|
242 | + ), |
|
243 | + ) |
|
244 | + ); |
|
182 | 245 | |
183 | - echo "<tr class='getpaid-bank-transfer-$key'><th class='font-weight-bold'>$label</th><td class='w-75'>$value</td></tr>" . PHP_EOL; |
|
184 | - } |
|
246 | + } |
|
185 | 247 | |
186 | - echo '</table>'; |
|
248 | + return $this->locale; |
|
187 | 249 | |
188 | 250 | } |
189 | 251 | |
190 | 252 | /** |
191 | - * Get country locale if localized. |
|
192 | - * |
|
193 | - * @return array |
|
194 | - */ |
|
195 | - public function get_country_locale() { |
|
196 | - |
|
197 | - if ( empty( $this->locale ) ) { |
|
198 | - |
|
199 | - // Locale information to be used - only those that are not 'Sort Code'. |
|
200 | - $this->locale = apply_filters( |
|
201 | - 'getpaid_get_bank_transfer_locale', |
|
202 | - array( |
|
203 | - 'AU' => array( |
|
204 | - 'sortcode' => array( |
|
205 | - 'label' => __( 'BSB', 'invoicing' ), |
|
206 | - ), |
|
207 | - ), |
|
208 | - 'CA' => array( |
|
209 | - 'sortcode' => array( |
|
210 | - 'label' => __( 'Bank transit number', 'invoicing' ), |
|
211 | - ), |
|
212 | - ), |
|
213 | - 'IN' => array( |
|
214 | - 'sortcode' => array( |
|
215 | - 'label' => __( 'IFSC', 'invoicing' ), |
|
216 | - ), |
|
217 | - ), |
|
218 | - 'IT' => array( |
|
219 | - 'sortcode' => array( |
|
220 | - 'label' => __( 'Branch sort', 'invoicing' ), |
|
221 | - ), |
|
222 | - ), |
|
223 | - 'NZ' => array( |
|
224 | - 'sortcode' => array( |
|
225 | - 'label' => __( 'Bank code', 'invoicing' ), |
|
226 | - ), |
|
227 | - ), |
|
228 | - 'SE' => array( |
|
229 | - 'sortcode' => array( |
|
230 | - 'label' => __( 'Bank code', 'invoicing' ), |
|
231 | - ), |
|
232 | - ), |
|
233 | - 'US' => array( |
|
234 | - 'sortcode' => array( |
|
235 | - 'label' => __( 'Routing number', 'invoicing' ), |
|
236 | - ), |
|
237 | - ), |
|
238 | - 'ZA' => array( |
|
239 | - 'sortcode' => array( |
|
240 | - 'label' => __( 'Branch code', 'invoicing' ), |
|
241 | - ), |
|
242 | - ), |
|
243 | - ) |
|
244 | - ); |
|
245 | - |
|
246 | - } |
|
247 | - |
|
248 | - return $this->locale; |
|
249 | - |
|
250 | - } |
|
251 | - |
|
252 | - /** |
|
253 | - * Filters the gateway settings. |
|
254 | - * |
|
255 | - * @param array $admin_settings |
|
256 | - */ |
|
257 | - public function admin_settings( $admin_settings ) { |
|
253 | + * Filters the gateway settings. |
|
254 | + * |
|
255 | + * @param array $admin_settings |
|
256 | + */ |
|
257 | + public function admin_settings( $admin_settings ) { |
|
258 | 258 | |
259 | 259 | $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' ); |
260 | - $admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' ); |
|
260 | + $admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' ); |
|
261 | 261 | |
262 | - $locale = $this->get_country_locale(); |
|
262 | + $locale = $this->get_country_locale(); |
|
263 | 263 | |
264 | - // Get sortcode label in the $locale array and use appropriate one. |
|
265 | - $country = wpinv_default_billing_country(); |
|
266 | - $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
264 | + // Get sortcode label in the $locale array and use appropriate one. |
|
265 | + $country = wpinv_default_billing_country(); |
|
266 | + $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
267 | 267 | |
268 | - $admin_settings['bank_transfer_ac_name'] = array( |
|
268 | + $admin_settings['bank_transfer_ac_name'] = array( |
|
269 | 269 | 'type' => 'text', |
270 | 270 | 'id' => 'bank_transfer_ac_name', |
271 | 271 | 'name' => __( 'Account Name', 'invoicing' ), |
272 | - ); |
|
272 | + ); |
|
273 | 273 | |
274 | - $admin_settings['bank_transfer_ac_no'] = array( |
|
274 | + $admin_settings['bank_transfer_ac_no'] = array( |
|
275 | 275 | 'type' => 'text', |
276 | 276 | 'id' => 'bank_transfer_ac_no', |
277 | 277 | 'name' => __( 'Account Number', 'invoicing' ), |
278 | - ); |
|
278 | + ); |
|
279 | 279 | |
280 | - $admin_settings['bank_transfer_bank_name'] = array( |
|
280 | + $admin_settings['bank_transfer_bank_name'] = array( |
|
281 | 281 | 'type' => 'text', |
282 | 282 | 'id' => 'bank_transfer_bank_name', |
283 | 283 | 'name' => __( 'Bank Name', 'invoicing' ), |
284 | - ); |
|
284 | + ); |
|
285 | 285 | |
286 | - $admin_settings['bank_transfer_ifsc'] = array( |
|
286 | + $admin_settings['bank_transfer_ifsc'] = array( |
|
287 | 287 | 'type' => 'text', |
288 | 288 | 'id' => 'bank_transfer_ifsc', |
289 | 289 | 'name' => __( 'IFSC Code', 'invoicing' ), |
290 | - ); |
|
290 | + ); |
|
291 | 291 | |
292 | - $admin_settings['bank_transfer_iban'] = array( |
|
292 | + $admin_settings['bank_transfer_iban'] = array( |
|
293 | 293 | 'type' => 'text', |
294 | 294 | 'id' => 'bank_transfer_iban', |
295 | 295 | 'name' => __( 'IBAN', 'invoicing' ), |
296 | - ); |
|
296 | + ); |
|
297 | 297 | |
298 | - $admin_settings['bank_transfer_bic'] = array( |
|
298 | + $admin_settings['bank_transfer_bic'] = array( |
|
299 | 299 | 'type' => 'text', |
300 | 300 | 'id' => 'bank_transfer_bic', |
301 | 301 | 'name' => __( 'BIC/Swift Code', 'invoicing' ), |
302 | - ); |
|
302 | + ); |
|
303 | 303 | |
304 | - $admin_settings['bank_transfer_sort_code'] = array( |
|
305 | - 'type' => 'text', |
|
306 | - 'id' => 'bank_transfer_sort_code', |
|
307 | - 'name' => $sortcode, |
|
308 | - ); |
|
304 | + $admin_settings['bank_transfer_sort_code'] = array( |
|
305 | + 'type' => 'text', |
|
306 | + 'id' => 'bank_transfer_sort_code', |
|
307 | + 'name' => $sortcode, |
|
308 | + ); |
|
309 | 309 | |
310 | - $admin_settings['bank_transfer_info'] = array( |
|
310 | + $admin_settings['bank_transfer_info'] = array( |
|
311 | 311 | 'id' => 'bank_transfer_info', |
312 | 312 | 'name' => __( 'Instructions', 'invoicing' ), |
313 | 313 | 'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ), |
@@ -317,17 +317,17 @@ discard block |
||
317 | 317 | 'rows' => 5 |
318 | 318 | ); |
319 | 319 | |
320 | - return $admin_settings; |
|
321 | - } |
|
320 | + return $admin_settings; |
|
321 | + } |
|
322 | 322 | |
323 | - /** |
|
324 | - * Processes invoice addons. |
|
325 | - * |
|
326 | - * @param WPInv_Invoice $invoice |
|
327 | - * @param GetPaid_Form_Item[] $items |
|
328 | - * @return WPInv_Invoice |
|
329 | - */ |
|
330 | - public function process_addons( $invoice, $items ) { |
|
323 | + /** |
|
324 | + * Processes invoice addons. |
|
325 | + * |
|
326 | + * @param WPInv_Invoice $invoice |
|
327 | + * @param GetPaid_Form_Item[] $items |
|
328 | + * @return WPInv_Invoice |
|
329 | + */ |
|
330 | + public function process_addons( $invoice, $items ) { |
|
331 | 331 | |
332 | 332 | foreach ( $items as $item ) { |
333 | 333 | $invoice->add_item( $item ); |
@@ -335,70 +335,70 @@ discard block |
||
335 | 335 | |
336 | 336 | $invoice->recalculate_total(); |
337 | 337 | $invoice->save(); |
338 | - } |
|
338 | + } |
|
339 | 339 | |
340 | - /** |
|
341 | - * (Maybe) renews a bank transfer subscription profile. |
|
342 | - * |
|
343 | - * |
|
340 | + /** |
|
341 | + * (Maybe) renews a bank transfer subscription profile. |
|
342 | + * |
|
343 | + * |
|
344 | 344 | * @param WPInv_Subscription $subscription |
345 | - */ |
|
346 | - public function maybe_renew_subscription( $subscription ) { |
|
345 | + */ |
|
346 | + public function maybe_renew_subscription( $subscription ) { |
|
347 | 347 | |
348 | 348 | // Ensure its our subscription && it's active. |
349 | 349 | if ( $this->id == $subscription->get_gateway() && $subscription->has_status( 'active trialling' ) ) { |
350 | - $subscription->create_payment(); |
|
350 | + $subscription->create_payment(); |
|
351 | 351 | } |
352 | 352 | |
353 | 353 | } |
354 | 354 | |
355 | - /** |
|
356 | - * Process a bank transfer payment. |
|
357 | - * |
|
358 | - * |
|
355 | + /** |
|
356 | + * Process a bank transfer payment. |
|
357 | + * |
|
358 | + * |
|
359 | 359 | * @param WPInv_Invoice $invoice |
360 | - */ |
|
361 | - public function invoice_paid( $invoice ) { |
|
360 | + */ |
|
361 | + public function invoice_paid( $invoice ) { |
|
362 | 362 | |
363 | - // Abort if not paid by bank transfer. |
|
364 | - if ( $this->id !== $invoice->get_gateway() || ! $invoice->is_recurring() ) { |
|
365 | - return; |
|
366 | - } |
|
363 | + // Abort if not paid by bank transfer. |
|
364 | + if ( $this->id !== $invoice->get_gateway() || ! $invoice->is_recurring() ) { |
|
365 | + return; |
|
366 | + } |
|
367 | 367 | |
368 | - // Is it a parent payment? |
|
369 | - if ( 0 == $invoice->get_parent_id() ) { |
|
368 | + // Is it a parent payment? |
|
369 | + if ( 0 == $invoice->get_parent_id() ) { |
|
370 | 370 | |
371 | - // (Maybe) activate subscriptions. |
|
372 | - $subscriptions = getpaid_get_invoice_subscriptions( $invoice ); |
|
371 | + // (Maybe) activate subscriptions. |
|
372 | + $subscriptions = getpaid_get_invoice_subscriptions( $invoice ); |
|
373 | 373 | |
374 | - if ( ! empty( $subscriptions ) ) { |
|
375 | - $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions ); |
|
374 | + if ( ! empty( $subscriptions ) ) { |
|
375 | + $subscriptions = is_array( $subscriptions ) ? $subscriptions : array( $subscriptions ); |
|
376 | 376 | |
377 | - foreach ( $subscriptions as $subscription ) { |
|
378 | - if ( $subscription->exists() ) { |
|
379 | - $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() ); |
|
380 | - $expiry = date( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) ); |
|
377 | + foreach ( $subscriptions as $subscription ) { |
|
378 | + if ( $subscription->exists() ) { |
|
379 | + $duration = strtotime( $subscription->get_expiration() ) - strtotime( $subscription->get_date_created() ); |
|
380 | + $expiry = date( 'Y-m-d H:i:s', ( current_time( 'timestamp' ) + $duration ) ); |
|
381 | 381 | |
382 | - $subscription->set_next_renewal_date( $expiry ); |
|
383 | - $subscription->set_date_created( current_time( 'mysql' ) ); |
|
384 | - $subscription->set_profile_id( 'bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id() ); |
|
385 | - $subscription->activate(); |
|
386 | - } |
|
387 | - } |
|
382 | + $subscription->set_next_renewal_date( $expiry ); |
|
383 | + $subscription->set_date_created( current_time( 'mysql' ) ); |
|
384 | + $subscription->set_profile_id( 'bt_sub_' . $invoice->get_id() . '_' . $subscription->get_id() ); |
|
385 | + $subscription->activate(); |
|
386 | + } |
|
387 | + } |
|
388 | 388 | |
389 | - } |
|
389 | + } |
|
390 | 390 | |
391 | - } else { |
|
391 | + } else { |
|
392 | 392 | |
393 | - $subscription = getpaid_get_subscription( $invoice->get_subscription_id() ); |
|
393 | + $subscription = getpaid_get_subscription( $invoice->get_subscription_id() ); |
|
394 | 394 | |
395 | - // Renew the subscription. |
|
396 | - if ( $subscription && $subscription->exists() ) { |
|
397 | - $subscription->add_payment( array(), $invoice ); |
|
398 | - $subscription->renew(); |
|
399 | - } |
|
395 | + // Renew the subscription. |
|
396 | + if ( $subscription && $subscription->exists() ) { |
|
397 | + $subscription->add_payment( array(), $invoice ); |
|
398 | + $subscription->renew(); |
|
399 | + } |
|
400 | 400 | |
401 | - } |
|
401 | + } |
|
402 | 402 | |
403 | 403 | } |
404 | 404 |
@@ -1,103 +1,103 @@ |
||
1 | 1 | <?php |
2 | 2 | |
3 | 3 | if ( ! defined( 'ABSPATH' ) ) { |
4 | - exit; |
|
4 | + exit; |
|
5 | 5 | } |
6 | 6 | |
7 | 7 | if ( ! class_exists( 'AyeCode_Deactivation_Survey' ) ) { |
8 | 8 | |
9 | - class AyeCode_Deactivation_Survey { |
|
9 | + class AyeCode_Deactivation_Survey { |
|
10 | 10 | |
11 | - /** |
|
12 | - * AyeCode_Deactivation_Survey instance. |
|
13 | - * |
|
14 | - * @access private |
|
15 | - * @since 1.0.0 |
|
16 | - * @var AyeCode_Deactivation_Survey There can be only one! |
|
17 | - */ |
|
18 | - private static $instance = null; |
|
11 | + /** |
|
12 | + * AyeCode_Deactivation_Survey instance. |
|
13 | + * |
|
14 | + * @access private |
|
15 | + * @since 1.0.0 |
|
16 | + * @var AyeCode_Deactivation_Survey There can be only one! |
|
17 | + */ |
|
18 | + private static $instance = null; |
|
19 | 19 | |
20 | - public static $plugins; |
|
20 | + public static $plugins; |
|
21 | 21 | |
22 | - public $version = "1.0.4"; |
|
22 | + public $version = "1.0.4"; |
|
23 | 23 | |
24 | - public static function instance( $plugin = array() ) { |
|
25 | - if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_Deactivation_Survey ) ) { |
|
26 | - self::$instance = new AyeCode_Deactivation_Survey; |
|
27 | - self::$plugins = array(); |
|
24 | + public static function instance( $plugin = array() ) { |
|
25 | + if ( ! isset( self::$instance ) && ! ( self::$instance instanceof AyeCode_Deactivation_Survey ) ) { |
|
26 | + self::$instance = new AyeCode_Deactivation_Survey; |
|
27 | + self::$plugins = array(); |
|
28 | 28 | |
29 | - add_action( 'admin_enqueue_scripts', array( self::$instance, 'scripts' ) ); |
|
29 | + add_action( 'admin_enqueue_scripts', array( self::$instance, 'scripts' ) ); |
|
30 | 30 | |
31 | - do_action( 'ayecode_deactivation_survey_loaded' ); |
|
32 | - } |
|
31 | + do_action( 'ayecode_deactivation_survey_loaded' ); |
|
32 | + } |
|
33 | 33 | |
34 | - if(!empty($plugin)){ |
|
35 | - self::$plugins[] = (object)$plugin; |
|
36 | - } |
|
34 | + if(!empty($plugin)){ |
|
35 | + self::$plugins[] = (object)$plugin; |
|
36 | + } |
|
37 | 37 | |
38 | - return self::$instance; |
|
39 | - } |
|
38 | + return self::$instance; |
|
39 | + } |
|
40 | 40 | |
41 | - public function scripts() { |
|
42 | - global $pagenow; |
|
41 | + public function scripts() { |
|
42 | + global $pagenow; |
|
43 | 43 | |
44 | - // Bail if we are not on the plugins page |
|
45 | - if ( $pagenow != "plugins.php" ) { |
|
46 | - return; |
|
47 | - } |
|
44 | + // Bail if we are not on the plugins page |
|
45 | + if ( $pagenow != "plugins.php" ) { |
|
46 | + return; |
|
47 | + } |
|
48 | 48 | |
49 | - // Enqueue scripts |
|
50 | - add_thickbox(); |
|
51 | - wp_enqueue_script('ayecode-deactivation-survey', plugin_dir_url(__FILE__) . 'ayecode-ds.js'); |
|
49 | + // Enqueue scripts |
|
50 | + add_thickbox(); |
|
51 | + wp_enqueue_script('ayecode-deactivation-survey', plugin_dir_url(__FILE__) . 'ayecode-ds.js'); |
|
52 | 52 | |
53 | - /* |
|
53 | + /* |
|
54 | 54 | * Localized strings. Strings can be localised by plugins using this class. |
55 | 55 | * We deliberately don't add textdomains here so that double textdomain warning is not given in theme review. |
56 | 56 | */ |
57 | - wp_localize_script('ayecode-deactivation-survey', 'ayecodeds_deactivate_feedback_form_strings', array( |
|
58 | - 'quick_feedback' => 'Quick Feedback', |
|
59 | - 'foreword' => 'If you would be kind enough, please tell us why you\'re deactivating?', |
|
60 | - 'better_plugins_name' => 'Please tell us which plugin?', |
|
61 | - 'please_tell_us' => 'Please tell us the reason so we can improve the plugin', |
|
62 | - 'do_not_attach_email' => 'Do not send my e-mail address with this feedback', |
|
63 | - 'brief_description' => 'Please give us any feedback that could help us improve', |
|
64 | - 'cancel' => 'Cancel', |
|
65 | - 'skip_and_deactivate' => 'Skip & Deactivate', |
|
66 | - 'submit_and_deactivate' => 'Submit & Deactivate', |
|
67 | - 'please_wait' => 'Please wait', |
|
68 | - 'get_support' => 'Get Support', |
|
69 | - 'documentation' => 'Documentation', |
|
70 | - 'thank_you' => 'Thank you!', |
|
71 | - )); |
|
72 | - |
|
73 | - // Plugins |
|
74 | - $plugins = apply_filters('ayecode_deactivation_survey_plugins', self::$plugins); |
|
75 | - |
|
76 | - // Reasons |
|
77 | - $defaultReasons = array( |
|
78 | - 'suddenly-stopped-working' => 'The plugin suddenly stopped working', |
|
79 | - 'plugin-broke-site' => 'The plugin broke my site', |
|
80 | - 'plugin-setup-difficult' => 'Too difficult to setup', |
|
81 | - 'plugin-design-difficult' => 'Too difficult to get the design i want', |
|
82 | - 'no-longer-needed' => 'I don\'t need this plugin any more', |
|
83 | - 'found-better-plugin' => 'I found a better plugin', |
|
84 | - 'temporary-deactivation' => 'It\'s a temporary deactivation, I\'m troubleshooting', |
|
85 | - 'other' => 'Other', |
|
86 | - ); |
|
87 | - |
|
88 | - foreach($plugins as $plugin) |
|
89 | - { |
|
90 | - $plugin->reasons = apply_filters('ayecode_deactivation_survey_reasons', $defaultReasons, $plugin); |
|
91 | - $plugin->url = home_url(); |
|
92 | - $plugin->activated = 0; |
|
93 | - } |
|
94 | - |
|
95 | - // Send plugin data |
|
96 | - wp_localize_script('ayecode-deactivation-survey', 'ayecodeds_deactivate_feedback_form_plugins', $plugins); |
|
97 | - |
|
98 | - } |
|
57 | + wp_localize_script('ayecode-deactivation-survey', 'ayecodeds_deactivate_feedback_form_strings', array( |
|
58 | + 'quick_feedback' => 'Quick Feedback', |
|
59 | + 'foreword' => 'If you would be kind enough, please tell us why you\'re deactivating?', |
|
60 | + 'better_plugins_name' => 'Please tell us which plugin?', |
|
61 | + 'please_tell_us' => 'Please tell us the reason so we can improve the plugin', |
|
62 | + 'do_not_attach_email' => 'Do not send my e-mail address with this feedback', |
|
63 | + 'brief_description' => 'Please give us any feedback that could help us improve', |
|
64 | + 'cancel' => 'Cancel', |
|
65 | + 'skip_and_deactivate' => 'Skip & Deactivate', |
|
66 | + 'submit_and_deactivate' => 'Submit & Deactivate', |
|
67 | + 'please_wait' => 'Please wait', |
|
68 | + 'get_support' => 'Get Support', |
|
69 | + 'documentation' => 'Documentation', |
|
70 | + 'thank_you' => 'Thank you!', |
|
71 | + )); |
|
72 | + |
|
73 | + // Plugins |
|
74 | + $plugins = apply_filters('ayecode_deactivation_survey_plugins', self::$plugins); |
|
75 | + |
|
76 | + // Reasons |
|
77 | + $defaultReasons = array( |
|
78 | + 'suddenly-stopped-working' => 'The plugin suddenly stopped working', |
|
79 | + 'plugin-broke-site' => 'The plugin broke my site', |
|
80 | + 'plugin-setup-difficult' => 'Too difficult to setup', |
|
81 | + 'plugin-design-difficult' => 'Too difficult to get the design i want', |
|
82 | + 'no-longer-needed' => 'I don\'t need this plugin any more', |
|
83 | + 'found-better-plugin' => 'I found a better plugin', |
|
84 | + 'temporary-deactivation' => 'It\'s a temporary deactivation, I\'m troubleshooting', |
|
85 | + 'other' => 'Other', |
|
86 | + ); |
|
87 | + |
|
88 | + foreach($plugins as $plugin) |
|
89 | + { |
|
90 | + $plugin->reasons = apply_filters('ayecode_deactivation_survey_reasons', $defaultReasons, $plugin); |
|
91 | + $plugin->url = home_url(); |
|
92 | + $plugin->activated = 0; |
|
93 | + } |
|
94 | + |
|
95 | + // Send plugin data |
|
96 | + wp_localize_script('ayecode-deactivation-survey', 'ayecodeds_deactivate_feedback_form_plugins', $plugins); |
|
97 | + |
|
98 | + } |
|
99 | 99 | |
100 | 100 | |
101 | - } |
|
101 | + } |
|
102 | 102 | |
103 | 103 | } |
104 | 104 | \ No newline at end of file |
@@ -1,6 +1,6 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | if ( ! defined( 'ABSPATH' ) ) { |
3 | - exit; |
|
3 | + exit; |
|
4 | 4 | } |
5 | 5 | |
6 | 6 | /** |
@@ -10,67 +10,67 @@ discard block |
||
10 | 10 | class GetPaid_Form_Item extends WPInv_Item { |
11 | 11 | |
12 | 12 | /** |
13 | - * Stores a custom description for the item. |
|
14 | - * |
|
15 | - * @var string |
|
16 | - */ |
|
17 | - protected $custom_description = null; |
|
18 | - |
|
19 | - /** |
|
20 | - * Stores the item quantity. |
|
21 | - * |
|
22 | - * @var float |
|
23 | - */ |
|
24 | - protected $quantity = 1; |
|
25 | - |
|
26 | - /** |
|
27 | - * Stores the item meta. |
|
28 | - * |
|
29 | - * @var array |
|
30 | - */ |
|
31 | - protected $meta = array(); |
|
32 | - |
|
33 | - /** |
|
34 | - * Is this item required? |
|
35 | - * |
|
36 | - * @var int |
|
37 | - */ |
|
38 | - protected $is_required = true; |
|
39 | - |
|
40 | - /** |
|
41 | - * Are quantities allowed? |
|
42 | - * |
|
43 | - * @var int |
|
44 | - */ |
|
45 | - protected $allow_quantities = false; |
|
46 | - |
|
47 | - /** |
|
48 | - * Associated invoice. |
|
49 | - * |
|
50 | - * @var int |
|
51 | - */ |
|
52 | - public $invoice_id = 0; |
|
53 | - |
|
54 | - /** |
|
55 | - * Item discount. |
|
56 | - * |
|
57 | - * @var float |
|
58 | - */ |
|
59 | - public $item_discount = 0; |
|
60 | - |
|
61 | - /** |
|
62 | - * Recurring item discount. |
|
63 | - * |
|
64 | - * @var float |
|
65 | - */ |
|
66 | - public $recurring_item_discount = 0; |
|
67 | - |
|
68 | - /** |
|
69 | - * Item tax. |
|
70 | - * |
|
71 | - * @var float |
|
72 | - */ |
|
73 | - public $item_tax = 0; |
|
13 | + * Stores a custom description for the item. |
|
14 | + * |
|
15 | + * @var string |
|
16 | + */ |
|
17 | + protected $custom_description = null; |
|
18 | + |
|
19 | + /** |
|
20 | + * Stores the item quantity. |
|
21 | + * |
|
22 | + * @var float |
|
23 | + */ |
|
24 | + protected $quantity = 1; |
|
25 | + |
|
26 | + /** |
|
27 | + * Stores the item meta. |
|
28 | + * |
|
29 | + * @var array |
|
30 | + */ |
|
31 | + protected $meta = array(); |
|
32 | + |
|
33 | + /** |
|
34 | + * Is this item required? |
|
35 | + * |
|
36 | + * @var int |
|
37 | + */ |
|
38 | + protected $is_required = true; |
|
39 | + |
|
40 | + /** |
|
41 | + * Are quantities allowed? |
|
42 | + * |
|
43 | + * @var int |
|
44 | + */ |
|
45 | + protected $allow_quantities = false; |
|
46 | + |
|
47 | + /** |
|
48 | + * Associated invoice. |
|
49 | + * |
|
50 | + * @var int |
|
51 | + */ |
|
52 | + public $invoice_id = 0; |
|
53 | + |
|
54 | + /** |
|
55 | + * Item discount. |
|
56 | + * |
|
57 | + * @var float |
|
58 | + */ |
|
59 | + public $item_discount = 0; |
|
60 | + |
|
61 | + /** |
|
62 | + * Recurring item discount. |
|
63 | + * |
|
64 | + * @var float |
|
65 | + */ |
|
66 | + public $recurring_item_discount = 0; |
|
67 | + |
|
68 | + /** |
|
69 | + * Item tax. |
|
70 | + * |
|
71 | + * @var float |
|
72 | + */ |
|
73 | + public $item_tax = 0; |
|
74 | 74 | |
75 | 75 | /* |
76 | 76 | |-------------------------------------------------------------------------- |
@@ -88,230 +88,230 @@ discard block |
||
88 | 88 | */ |
89 | 89 | |
90 | 90 | /** |
91 | - * Get the item name. |
|
92 | - * |
|
93 | - * @since 1.0.19 |
|
94 | - * @param string $context View or edit context. |
|
95 | - * @return string |
|
96 | - */ |
|
97 | - public function get_name( $context = 'view' ) { |
|
98 | - $name = parent::get_name( $context ); |
|
99 | - return $name . wpinv_get_item_suffix( $this ); |
|
100 | - } |
|
101 | - |
|
102 | - /** |
|
103 | - * Get the item name without a suffix. |
|
104 | - * |
|
105 | - * @since 1.0.19 |
|
106 | - * @param string $context View or edit context. |
|
107 | - * @return string |
|
108 | - */ |
|
109 | - public function get_raw_name( $context = 'view' ) { |
|
110 | - return parent::get_name( $context ); |
|
111 | - } |
|
112 | - |
|
113 | - /** |
|
114 | - * Get the item description. |
|
115 | - * |
|
116 | - * @since 1.0.19 |
|
117 | - * @param string $context View or edit context. |
|
118 | - * @return string |
|
119 | - */ |
|
120 | - public function get_description( $context = 'view' ) { |
|
121 | - |
|
122 | - if ( isset( $this->custom_description ) ) { |
|
123 | - return $this->custom_description; |
|
124 | - } |
|
125 | - |
|
126 | - return parent::get_description( $context ); |
|
127 | - } |
|
128 | - |
|
129 | - /** |
|
130 | - * Returns the sub total. |
|
131 | - * |
|
132 | - * @since 1.0.19 |
|
133 | - * @param string $context View or edit context. |
|
134 | - * @return float |
|
135 | - */ |
|
136 | - public function get_sub_total( $context = 'view' ) { |
|
137 | - return $this->get_quantity( $context ) * $this->get_initial_price( $context ); |
|
138 | - } |
|
139 | - |
|
140 | - /** |
|
141 | - * Returns the recurring sub total. |
|
142 | - * |
|
143 | - * @since 1.0.19 |
|
144 | - * @param string $context View or edit context. |
|
145 | - * @return float |
|
146 | - */ |
|
147 | - public function get_recurring_sub_total( $context = 'view' ) { |
|
148 | - |
|
149 | - if ( $this->is_recurring() ) { |
|
150 | - return $this->get_quantity( $context ) * $this->get_price( $context ); |
|
151 | - } |
|
152 | - |
|
153 | - return 0; |
|
154 | - } |
|
155 | - |
|
156 | - /** |
|
157 | - * @deprecated |
|
158 | - */ |
|
159 | - public function get_qantity( $context = 'view' ) { |
|
160 | - return $this->get_quantity( $context ); |
|
161 | - } |
|
162 | - |
|
163 | - /** |
|
164 | - * Get the item quantity. |
|
165 | - * |
|
166 | - * @since 1.0.19 |
|
167 | - * @param string $context View or edit context. |
|
168 | - * @return float |
|
169 | - */ |
|
170 | - public function get_quantity( $context = 'view' ) { |
|
171 | - $quantity = (float) $this->quantity; |
|
172 | - |
|
173 | - if ( 'view' == $context ) { |
|
174 | - return apply_filters( 'getpaid_payment_form_item_quantity', $quantity, $this ); |
|
175 | - } |
|
176 | - |
|
177 | - return $quantity; |
|
178 | - |
|
179 | - } |
|
180 | - |
|
181 | - /** |
|
182 | - * Get the item meta data. |
|
183 | - * |
|
184 | - * @since 1.0.19 |
|
185 | - * @param string $context View or edit context. |
|
186 | - * @return meta |
|
187 | - */ |
|
188 | - public function get_item_meta( $context = 'view' ) { |
|
189 | - $meta = $this->meta; |
|
190 | - |
|
191 | - if ( 'view' == $context ) { |
|
192 | - return apply_filters( 'getpaid_payment_form_item_meta', $meta, $this ); |
|
193 | - } |
|
194 | - |
|
195 | - return $meta; |
|
196 | - |
|
197 | - } |
|
198 | - |
|
199 | - /** |
|
200 | - * Returns whether or not customers can update the item quantity. |
|
201 | - * |
|
202 | - * @since 1.0.19 |
|
203 | - * @param string $context View or edit context. |
|
204 | - * @return bool |
|
205 | - */ |
|
206 | - public function get_allow_quantities( $context = 'view' ) { |
|
207 | - $allow_quantities = (bool) $this->allow_quantities; |
|
208 | - |
|
209 | - if ( 'view' == $context ) { |
|
210 | - return apply_filters( 'getpaid_payment_form_item_allow_quantities', $allow_quantities, $this ); |
|
211 | - } |
|
212 | - |
|
213 | - return $allow_quantities; |
|
214 | - |
|
215 | - } |
|
216 | - |
|
217 | - /** |
|
218 | - * Returns whether or not the item is required. |
|
219 | - * |
|
220 | - * @since 1.0.19 |
|
221 | - * @param string $context View or edit context. |
|
222 | - * @return bool |
|
223 | - */ |
|
224 | - public function get_is_required( $context = 'view' ) { |
|
225 | - $is_required = (bool) $this->is_required; |
|
226 | - |
|
227 | - if ( 'view' == $context ) { |
|
228 | - return apply_filters( 'getpaid_payment_form_item_is_required', $is_required, $this ); |
|
229 | - } |
|
230 | - |
|
231 | - return $is_required; |
|
232 | - |
|
233 | - } |
|
234 | - |
|
235 | - /** |
|
236 | - * Prepares form data for use. |
|
237 | - * |
|
238 | - * @since 1.0.19 |
|
239 | - * @return array |
|
240 | - */ |
|
241 | - public function prepare_data_for_use( $required = null ) { |
|
242 | - |
|
243 | - $required = is_null( $required ) ? $this->is_required() : $required; |
|
244 | - return array( |
|
245 | - 'title' => strip_tags( $this->get_name() ), |
|
246 | - 'id' => $this->get_id(), |
|
247 | - 'price' => $this->get_price(), |
|
248 | - 'recurring' => $this->is_recurring(), |
|
249 | - 'description' => $this->get_description(), |
|
250 | - 'allow_quantities' => $this->allows_quantities(), |
|
251 | - 'required' => $required, |
|
252 | - ); |
|
253 | - |
|
254 | - } |
|
255 | - |
|
256 | - /** |
|
257 | - * Prepares form data for ajax use. |
|
258 | - * |
|
259 | - * @since 1.0.19 |
|
260 | - * @return array |
|
261 | - */ |
|
262 | - public function prepare_data_for_invoice_edit_ajax( $currency = '', $is_renewal = false ) { |
|
263 | - |
|
264 | - $description = getpaid_item_recurring_price_help_text( $this, $currency ); |
|
265 | - |
|
266 | - if ( $description ) { |
|
267 | - $description = "<div class='getpaid-subscription-help-text'>$description</div>"; |
|
268 | - } |
|
269 | - |
|
270 | - $price = ! $is_renewal ? $this->get_price() : $this->get_recurring_price(); |
|
271 | - $subtotal = ! $is_renewal ? $this->get_sub_total() : $this->get_recurring_sub_total(); |
|
272 | - return array( |
|
273 | - 'id' => $this->get_id(), |
|
274 | - 'texts' => array( |
|
275 | - 'item-name' => sanitize_text_field( $this->get_name() ), |
|
276 | - 'item-description' => wp_kses_post( $this->get_description() ) . $description, |
|
277 | - 'item-quantity' => floatval( $this->get_quantity() ), |
|
278 | - 'item-price' => wpinv_price( $price, $currency ), |
|
279 | - 'item-total' => wpinv_price( $subtotal, $currency ), |
|
280 | - ), |
|
281 | - 'inputs' => array( |
|
282 | - 'item-id' => $this->get_id(), |
|
283 | - 'item-name' => sanitize_text_field( $this->get_name() ), |
|
284 | - 'item-description' => wp_kses_post( $this->get_description() ), |
|
285 | - 'item-quantity' => floatval( $this->get_quantity() ), |
|
286 | - 'item-price' => $price, |
|
287 | - ) |
|
288 | - ); |
|
289 | - |
|
290 | - } |
|
291 | - |
|
292 | - /** |
|
293 | - * Prepares form data for saving (cart_details). |
|
294 | - * |
|
295 | - * @since 1.0.19 |
|
296 | - * @return array |
|
297 | - */ |
|
298 | - public function prepare_data_for_saving() { |
|
299 | - |
|
300 | - return array( |
|
301 | - 'post_id' => $this->invoice_id, |
|
302 | - 'item_id' => $this->get_id(), |
|
303 | - 'item_name' => sanitize_text_field( $this->get_raw_name( 'edit' ) ), |
|
304 | - 'item_description' => $this->get_description( 'edit' ), |
|
305 | - 'tax' => $this->item_tax, |
|
306 | - 'item_price' => $this->get_price( 'edit' ), |
|
307 | - 'quantity' => (float) $this->get_quantity( 'edit' ), |
|
308 | - 'discount' => $this->item_discount, |
|
309 | - 'subtotal' => $this->get_sub_total( 'edit' ), |
|
310 | - 'price' => $this->get_sub_total( 'edit' ) + $this->item_tax - $this->item_discount, |
|
311 | - 'meta' => $this->get_item_meta( 'edit' ), |
|
312 | - ); |
|
313 | - |
|
314 | - } |
|
91 | + * Get the item name. |
|
92 | + * |
|
93 | + * @since 1.0.19 |
|
94 | + * @param string $context View or edit context. |
|
95 | + * @return string |
|
96 | + */ |
|
97 | + public function get_name( $context = 'view' ) { |
|
98 | + $name = parent::get_name( $context ); |
|
99 | + return $name . wpinv_get_item_suffix( $this ); |
|
100 | + } |
|
101 | + |
|
102 | + /** |
|
103 | + * Get the item name without a suffix. |
|
104 | + * |
|
105 | + * @since 1.0.19 |
|
106 | + * @param string $context View or edit context. |
|
107 | + * @return string |
|
108 | + */ |
|
109 | + public function get_raw_name( $context = 'view' ) { |
|
110 | + return parent::get_name( $context ); |
|
111 | + } |
|
112 | + |
|
113 | + /** |
|
114 | + * Get the item description. |
|
115 | + * |
|
116 | + * @since 1.0.19 |
|
117 | + * @param string $context View or edit context. |
|
118 | + * @return string |
|
119 | + */ |
|
120 | + public function get_description( $context = 'view' ) { |
|
121 | + |
|
122 | + if ( isset( $this->custom_description ) ) { |
|
123 | + return $this->custom_description; |
|
124 | + } |
|
125 | + |
|
126 | + return parent::get_description( $context ); |
|
127 | + } |
|
128 | + |
|
129 | + /** |
|
130 | + * Returns the sub total. |
|
131 | + * |
|
132 | + * @since 1.0.19 |
|
133 | + * @param string $context View or edit context. |
|
134 | + * @return float |
|
135 | + */ |
|
136 | + public function get_sub_total( $context = 'view' ) { |
|
137 | + return $this->get_quantity( $context ) * $this->get_initial_price( $context ); |
|
138 | + } |
|
139 | + |
|
140 | + /** |
|
141 | + * Returns the recurring sub total. |
|
142 | + * |
|
143 | + * @since 1.0.19 |
|
144 | + * @param string $context View or edit context. |
|
145 | + * @return float |
|
146 | + */ |
|
147 | + public function get_recurring_sub_total( $context = 'view' ) { |
|
148 | + |
|
149 | + if ( $this->is_recurring() ) { |
|
150 | + return $this->get_quantity( $context ) * $this->get_price( $context ); |
|
151 | + } |
|
152 | + |
|
153 | + return 0; |
|
154 | + } |
|
155 | + |
|
156 | + /** |
|
157 | + * @deprecated |
|
158 | + */ |
|
159 | + public function get_qantity( $context = 'view' ) { |
|
160 | + return $this->get_quantity( $context ); |
|
161 | + } |
|
162 | + |
|
163 | + /** |
|
164 | + * Get the item quantity. |
|
165 | + * |
|
166 | + * @since 1.0.19 |
|
167 | + * @param string $context View or edit context. |
|
168 | + * @return float |
|
169 | + */ |
|
170 | + public function get_quantity( $context = 'view' ) { |
|
171 | + $quantity = (float) $this->quantity; |
|
172 | + |
|
173 | + if ( 'view' == $context ) { |
|
174 | + return apply_filters( 'getpaid_payment_form_item_quantity', $quantity, $this ); |
|
175 | + } |
|
176 | + |
|
177 | + return $quantity; |
|
178 | + |
|
179 | + } |
|
180 | + |
|
181 | + /** |
|
182 | + * Get the item meta data. |
|
183 | + * |
|
184 | + * @since 1.0.19 |
|
185 | + * @param string $context View or edit context. |
|
186 | + * @return meta |
|
187 | + */ |
|
188 | + public function get_item_meta( $context = 'view' ) { |
|
189 | + $meta = $this->meta; |
|
190 | + |
|
191 | + if ( 'view' == $context ) { |
|
192 | + return apply_filters( 'getpaid_payment_form_item_meta', $meta, $this ); |
|
193 | + } |
|
194 | + |
|
195 | + return $meta; |
|
196 | + |
|
197 | + } |
|
198 | + |
|
199 | + /** |
|
200 | + * Returns whether or not customers can update the item quantity. |
|
201 | + * |
|
202 | + * @since 1.0.19 |
|
203 | + * @param string $context View or edit context. |
|
204 | + * @return bool |
|
205 | + */ |
|
206 | + public function get_allow_quantities( $context = 'view' ) { |
|
207 | + $allow_quantities = (bool) $this->allow_quantities; |
|
208 | + |
|
209 | + if ( 'view' == $context ) { |
|
210 | + return apply_filters( 'getpaid_payment_form_item_allow_quantities', $allow_quantities, $this ); |
|
211 | + } |
|
212 | + |
|
213 | + return $allow_quantities; |
|
214 | + |
|
215 | + } |
|
216 | + |
|
217 | + /** |
|
218 | + * Returns whether or not the item is required. |
|
219 | + * |
|
220 | + * @since 1.0.19 |
|
221 | + * @param string $context View or edit context. |
|
222 | + * @return bool |
|
223 | + */ |
|
224 | + public function get_is_required( $context = 'view' ) { |
|
225 | + $is_required = (bool) $this->is_required; |
|
226 | + |
|
227 | + if ( 'view' == $context ) { |
|
228 | + return apply_filters( 'getpaid_payment_form_item_is_required', $is_required, $this ); |
|
229 | + } |
|
230 | + |
|
231 | + return $is_required; |
|
232 | + |
|
233 | + } |
|
234 | + |
|
235 | + /** |
|
236 | + * Prepares form data for use. |
|
237 | + * |
|
238 | + * @since 1.0.19 |
|
239 | + * @return array |
|
240 | + */ |
|
241 | + public function prepare_data_for_use( $required = null ) { |
|
242 | + |
|
243 | + $required = is_null( $required ) ? $this->is_required() : $required; |
|
244 | + return array( |
|
245 | + 'title' => strip_tags( $this->get_name() ), |
|
246 | + 'id' => $this->get_id(), |
|
247 | + 'price' => $this->get_price(), |
|
248 | + 'recurring' => $this->is_recurring(), |
|
249 | + 'description' => $this->get_description(), |
|
250 | + 'allow_quantities' => $this->allows_quantities(), |
|
251 | + 'required' => $required, |
|
252 | + ); |
|
253 | + |
|
254 | + } |
|
255 | + |
|
256 | + /** |
|
257 | + * Prepares form data for ajax use. |
|
258 | + * |
|
259 | + * @since 1.0.19 |
|
260 | + * @return array |
|
261 | + */ |
|
262 | + public function prepare_data_for_invoice_edit_ajax( $currency = '', $is_renewal = false ) { |
|
263 | + |
|
264 | + $description = getpaid_item_recurring_price_help_text( $this, $currency ); |
|
265 | + |
|
266 | + if ( $description ) { |
|
267 | + $description = "<div class='getpaid-subscription-help-text'>$description</div>"; |
|
268 | + } |
|
269 | + |
|
270 | + $price = ! $is_renewal ? $this->get_price() : $this->get_recurring_price(); |
|
271 | + $subtotal = ! $is_renewal ? $this->get_sub_total() : $this->get_recurring_sub_total(); |
|
272 | + return array( |
|
273 | + 'id' => $this->get_id(), |
|
274 | + 'texts' => array( |
|
275 | + 'item-name' => sanitize_text_field( $this->get_name() ), |
|
276 | + 'item-description' => wp_kses_post( $this->get_description() ) . $description, |
|
277 | + 'item-quantity' => floatval( $this->get_quantity() ), |
|
278 | + 'item-price' => wpinv_price( $price, $currency ), |
|
279 | + 'item-total' => wpinv_price( $subtotal, $currency ), |
|
280 | + ), |
|
281 | + 'inputs' => array( |
|
282 | + 'item-id' => $this->get_id(), |
|
283 | + 'item-name' => sanitize_text_field( $this->get_name() ), |
|
284 | + 'item-description' => wp_kses_post( $this->get_description() ), |
|
285 | + 'item-quantity' => floatval( $this->get_quantity() ), |
|
286 | + 'item-price' => $price, |
|
287 | + ) |
|
288 | + ); |
|
289 | + |
|
290 | + } |
|
291 | + |
|
292 | + /** |
|
293 | + * Prepares form data for saving (cart_details). |
|
294 | + * |
|
295 | + * @since 1.0.19 |
|
296 | + * @return array |
|
297 | + */ |
|
298 | + public function prepare_data_for_saving() { |
|
299 | + |
|
300 | + return array( |
|
301 | + 'post_id' => $this->invoice_id, |
|
302 | + 'item_id' => $this->get_id(), |
|
303 | + 'item_name' => sanitize_text_field( $this->get_raw_name( 'edit' ) ), |
|
304 | + 'item_description' => $this->get_description( 'edit' ), |
|
305 | + 'tax' => $this->item_tax, |
|
306 | + 'item_price' => $this->get_price( 'edit' ), |
|
307 | + 'quantity' => (float) $this->get_quantity( 'edit' ), |
|
308 | + 'discount' => $this->item_discount, |
|
309 | + 'subtotal' => $this->get_sub_total( 'edit' ), |
|
310 | + 'price' => $this->get_sub_total( 'edit' ) + $this->item_tax - $this->item_discount, |
|
311 | + 'meta' => $this->get_item_meta( 'edit' ), |
|
312 | + ); |
|
313 | + |
|
314 | + } |
|
315 | 315 | |
316 | 316 | /* |
317 | 317 | |-------------------------------------------------------------------------- |
@@ -323,70 +323,70 @@ discard block |
||
323 | 323 | | object. |
324 | 324 | */ |
325 | 325 | |
326 | - /** |
|
327 | - * Set the item qantity. |
|
328 | - * |
|
329 | - * @since 1.0.19 |
|
330 | - * @param float $quantity The item quantity. |
|
331 | - */ |
|
332 | - public function set_quantity( $quantity ) { |
|
333 | - |
|
334 | - if ( ! is_numeric( $quantity ) ) { |
|
335 | - $quantity = 1; |
|
336 | - } |
|
337 | - |
|
338 | - $this->quantity = (float) $quantity; |
|
339 | - |
|
340 | - } |
|
341 | - |
|
342 | - /** |
|
343 | - * Set the item meta data. |
|
344 | - * |
|
345 | - * @since 1.0.19 |
|
346 | - * @param array $meta The item meta data. |
|
347 | - */ |
|
348 | - public function set_item_meta( $meta ) { |
|
349 | - $this->meta = maybe_unserialize( $meta ); |
|
350 | - } |
|
351 | - |
|
352 | - /** |
|
353 | - * Set whether or not the quantities are allowed. |
|
354 | - * |
|
355 | - * @since 1.0.19 |
|
356 | - * @param bool $allow_quantities |
|
357 | - */ |
|
358 | - public function set_allow_quantities( $allow_quantities ) { |
|
359 | - $this->allow_quantities = (bool) $allow_quantities; |
|
360 | - } |
|
361 | - |
|
362 | - /** |
|
363 | - * Set whether or not the item is required. |
|
364 | - * |
|
365 | - * @since 1.0.19 |
|
366 | - * @param bool $is_required |
|
367 | - */ |
|
368 | - public function set_is_required( $is_required ) { |
|
369 | - $this->is_required = (bool) $is_required; |
|
370 | - } |
|
371 | - |
|
372 | - /** |
|
373 | - * Sets the custom item description. |
|
374 | - * |
|
375 | - * @since 1.0.19 |
|
376 | - * @param string $description |
|
377 | - */ |
|
378 | - public function set_custom_description( $description ) { |
|
379 | - $this->custom_description = $description; |
|
380 | - } |
|
326 | + /** |
|
327 | + * Set the item qantity. |
|
328 | + * |
|
329 | + * @since 1.0.19 |
|
330 | + * @param float $quantity The item quantity. |
|
331 | + */ |
|
332 | + public function set_quantity( $quantity ) { |
|
333 | + |
|
334 | + if ( ! is_numeric( $quantity ) ) { |
|
335 | + $quantity = 1; |
|
336 | + } |
|
337 | + |
|
338 | + $this->quantity = (float) $quantity; |
|
339 | + |
|
340 | + } |
|
341 | + |
|
342 | + /** |
|
343 | + * Set the item meta data. |
|
344 | + * |
|
345 | + * @since 1.0.19 |
|
346 | + * @param array $meta The item meta data. |
|
347 | + */ |
|
348 | + public function set_item_meta( $meta ) { |
|
349 | + $this->meta = maybe_unserialize( $meta ); |
|
350 | + } |
|
351 | + |
|
352 | + /** |
|
353 | + * Set whether or not the quantities are allowed. |
|
354 | + * |
|
355 | + * @since 1.0.19 |
|
356 | + * @param bool $allow_quantities |
|
357 | + */ |
|
358 | + public function set_allow_quantities( $allow_quantities ) { |
|
359 | + $this->allow_quantities = (bool) $allow_quantities; |
|
360 | + } |
|
361 | + |
|
362 | + /** |
|
363 | + * Set whether or not the item is required. |
|
364 | + * |
|
365 | + * @since 1.0.19 |
|
366 | + * @param bool $is_required |
|
367 | + */ |
|
368 | + public function set_is_required( $is_required ) { |
|
369 | + $this->is_required = (bool) $is_required; |
|
370 | + } |
|
371 | + |
|
372 | + /** |
|
373 | + * Sets the custom item description. |
|
374 | + * |
|
375 | + * @since 1.0.19 |
|
376 | + * @param string $description |
|
377 | + */ |
|
378 | + public function set_custom_description( $description ) { |
|
379 | + $this->custom_description = $description; |
|
380 | + } |
|
381 | 381 | |
382 | 382 | /** |
383 | 383 | * We do not want to save items to the database. |
384 | 384 | * |
385 | - * @return int item id |
|
385 | + * @return int item id |
|
386 | 386 | */ |
387 | 387 | public function save( $data = array() ) { |
388 | 388 | return $this->get_id(); |
389 | - } |
|
389 | + } |
|
390 | 390 | |
391 | 391 | /* |
392 | 392 | |-------------------------------------------------------------------------- |
@@ -398,23 +398,23 @@ discard block |
||
398 | 398 | */ |
399 | 399 | |
400 | 400 | /** |
401 | - * Checks whether the item has enabled dynamic pricing. |
|
402 | - * |
|
403 | - * @since 1.0.19 |
|
404 | - * @return bool |
|
405 | - */ |
|
406 | - public function is_required() { |
|
401 | + * Checks whether the item has enabled dynamic pricing. |
|
402 | + * |
|
403 | + * @since 1.0.19 |
|
404 | + * @return bool |
|
405 | + */ |
|
406 | + public function is_required() { |
|
407 | 407 | return (bool) $this->get_is_required(); |
408 | - } |
|
409 | - |
|
410 | - /** |
|
411 | - * Checks whether users can edit the quantities. |
|
412 | - * |
|
413 | - * @since 1.0.19 |
|
414 | - * @return bool |
|
415 | - */ |
|
416 | - public function allows_quantities() { |
|
408 | + } |
|
409 | + |
|
410 | + /** |
|
411 | + * Checks whether users can edit the quantities. |
|
412 | + * |
|
413 | + * @since 1.0.19 |
|
414 | + * @return bool |
|
415 | + */ |
|
416 | + public function allows_quantities() { |
|
417 | 417 | return (bool) $this->get_allow_quantities(); |
418 | - } |
|
418 | + } |
|
419 | 419 | |
420 | 420 | } |
@@ -21,22 +21,22 @@ |
||
21 | 21 | |
22 | 22 | foreach ( $file_types as $file_type ) { |
23 | 23 | |
24 | - if ( isset( $all_types[ $file_type ] ) ) { |
|
25 | - $types[] = $all_types[ $file_type ]; |
|
26 | - $file_type = explode( '|', $file_type ); |
|
24 | + if ( isset( $all_types[ $file_type ] ) ) { |
|
25 | + $types[] = $all_types[ $file_type ]; |
|
26 | + $file_type = explode( '|', $file_type ); |
|
27 | 27 | |
28 | - foreach ( $file_type as $type ) { |
|
29 | - $type = trim( $type ); |
|
30 | - $types[] = ".$type"; |
|
31 | - $_types[] = $type; |
|
32 | - } |
|
28 | + foreach ( $file_type as $type ) { |
|
29 | + $type = trim( $type ); |
|
30 | + $types[] = ".$type"; |
|
31 | + $_types[] = $type; |
|
32 | + } |
|
33 | 33 | |
34 | - } |
|
34 | + } |
|
35 | 35 | |
36 | 36 | } |
37 | 37 | |
38 | 38 | if ( ! empty( $required ) ) { |
39 | - $label .= "<span class='text-danger'> *</span>"; |
|
39 | + $label .= "<span class='text-danger'> *</span>"; |
|
40 | 40 | } |
41 | 41 | |
42 | 42 | ?> |
@@ -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 ) |
@@ -261,18 +261,18 @@ discard block |
||
261 | 261 | check_ajax_referer( 'getpaid_form_nonce' ); |
262 | 262 | |
263 | 263 | // Is the request set up correctly? |
264 | - if ( empty( $_GET['form'] ) && empty( $_GET['item'] ) && empty( $_GET['invoice'] ) ) { |
|
265 | - echo aui()->alert( |
|
266 | - array( |
|
267 | - 'type' => 'warning', |
|
268 | - 'content' => __( 'No payment form or item provided', 'invoicing' ), |
|
269 | - ) |
|
264 | + if ( empty( $_GET['form'] ) && empty( $_GET['item'] ) && empty( $_GET['invoice'] ) ) { |
|
265 | + echo aui()->alert( |
|
266 | + array( |
|
267 | + 'type' => 'warning', |
|
268 | + 'content' => __( 'No payment form or item provided', 'invoicing' ), |
|
269 | + ) |
|
270 | 270 | ); |
271 | 271 | exit; |
272 | 272 | } |
273 | 273 | |
274 | 274 | // Payment form or button? |
275 | - if ( ! empty( $_GET['form'] ) ) { |
|
275 | + if ( ! empty( $_GET['form'] ) ) { |
|
276 | 276 | $form = urldecode( $_GET['form'] ); |
277 | 277 | |
278 | 278 | if ( false !== strpos( $form, '|' ) ) { |
@@ -326,11 +326,11 @@ discard block |
||
326 | 326 | getpaid_display_payment_form( $form ); |
327 | 327 | } |
328 | 328 | |
329 | - } else if( ! empty( $_GET['invoice'] ) ) { |
|
330 | - getpaid_display_invoice_payment_form( urldecode( $_GET['invoice'] ) ); |
|
329 | + } else if( ! empty( $_GET['invoice'] ) ) { |
|
330 | + getpaid_display_invoice_payment_form( urldecode( $_GET['invoice'] ) ); |
|
331 | 331 | } else { |
332 | - $items = getpaid_convert_items_to_array( urldecode( $_GET['item'] ) ); |
|
333 | - getpaid_display_item_payment_form( $items ); |
|
332 | + $items = getpaid_convert_items_to_array( urldecode( $_GET['item'] ) ); |
|
333 | + getpaid_display_item_payment_form( $items ); |
|
334 | 334 | } |
335 | 335 | |
336 | 336 | exit; |
@@ -651,7 +651,7 @@ discard block |
||
651 | 651 | if ( is_wp_error( $error ) ) { |
652 | 652 | $alert = $error->get_error_message(); |
653 | 653 | wp_send_json_success( compact( 'alert' ) ); |
654 | - } |
|
654 | + } |
|
655 | 655 | |
656 | 656 | // Update totals. |
657 | 657 | $invoice->recalculate_total(); |
@@ -1085,12 +1085,12 @@ discard block |
||
1085 | 1085 | } |
1086 | 1086 | |
1087 | 1087 | /** |
1088 | - * Handles file uploads. |
|
1089 | - * |
|
1090 | - * @since 1.0.0 |
|
1091 | - * @return void |
|
1092 | - */ |
|
1093 | - public static function file_upload() { |
|
1088 | + * Handles file uploads. |
|
1089 | + * |
|
1090 | + * @since 1.0.0 |
|
1091 | + * @return void |
|
1092 | + */ |
|
1093 | + public static function file_upload() { |
|
1094 | 1094 | |
1095 | 1095 | // Check nonce. |
1096 | 1096 | check_ajax_referer( 'getpaid_form_nonce' ); |
@@ -1151,7 +1151,7 @@ discard block |
||
1151 | 1151 | |
1152 | 1152 | wp_send_json_success( $response ); |
1153 | 1153 | |
1154 | - } |
|
1154 | + } |
|
1155 | 1155 | |
1156 | 1156 | } |
1157 | 1157 |
@@ -136,13 +136,13 @@ discard block |
||
136 | 136 | */ |
137 | 137 | function wpinv_get_invoice_statuses( $draft = false, $trashed = false, $invoice = false ) { |
138 | 138 | |
139 | - $invoice_statuses = array( |
|
140 | - 'wpi-pending' => _x( 'Pending payment', 'Invoice status', 'invoicing' ), |
|
139 | + $invoice_statuses = array( |
|
140 | + 'wpi-pending' => _x( 'Pending payment', 'Invoice status', 'invoicing' ), |
|
141 | 141 | 'publish' => _x( 'Paid', 'Invoice status', 'invoicing' ), |
142 | 142 | 'wpi-processing' => _x( 'Processing', 'Invoice status', 'invoicing' ), |
143 | - 'wpi-onhold' => _x( 'On hold', 'Invoice status', 'invoicing' ), |
|
144 | - 'wpi-cancelled' => _x( 'Cancelled', 'Invoice status', 'invoicing' ), |
|
145 | - 'wpi-refunded' => _x( 'Refunded', 'Invoice status', 'invoicing' ), |
|
143 | + 'wpi-onhold' => _x( 'On hold', 'Invoice status', 'invoicing' ), |
|
144 | + 'wpi-cancelled' => _x( 'Cancelled', 'Invoice status', 'invoicing' ), |
|
145 | + 'wpi-refunded' => _x( 'Refunded', 'Invoice status', 'invoicing' ), |
|
146 | 146 | 'wpi-failed' => _x( 'Failed', 'Invoice status', 'invoicing' ), |
147 | 147 | 'wpi-renewal' => _x( 'Renewal Payment', 'Invoice status', 'invoicing' ), |
148 | 148 | ); |
@@ -159,7 +159,7 @@ discard block |
||
159 | 159 | $invoice = $invoice->get_post_type(); |
160 | 160 | } |
161 | 161 | |
162 | - return apply_filters( 'wpinv_statuses', $invoice_statuses, $invoice ); |
|
162 | + return apply_filters( 'wpinv_statuses', $invoice_statuses, $invoice ); |
|
163 | 163 | } |
164 | 164 | |
165 | 165 | /** |
@@ -277,25 +277,25 @@ discard block |
||
277 | 277 | * @return string |
278 | 278 | */ |
279 | 279 | function getpaid_get_price_format() { |
280 | - $currency_pos = wpinv_currency_position(); |
|
281 | - $format = '%1$s%2$s'; |
|
282 | - |
|
283 | - switch ( $currency_pos ) { |
|
284 | - case 'left': |
|
285 | - $format = '%1$s%2$s'; |
|
286 | - break; |
|
287 | - case 'right': |
|
288 | - $format = '%2$s%1$s'; |
|
289 | - break; |
|
290 | - case 'left_space': |
|
291 | - $format = '%1$s %2$s'; |
|
292 | - break; |
|
293 | - case 'right_space': |
|
294 | - $format = '%2$s %1$s'; |
|
295 | - break; |
|
296 | - } |
|
297 | - |
|
298 | - return apply_filters( 'getpaid_price_format', $format, $currency_pos ); |
|
280 | + $currency_pos = wpinv_currency_position(); |
|
281 | + $format = '%1$s%2$s'; |
|
282 | + |
|
283 | + switch ( $currency_pos ) { |
|
284 | + case 'left': |
|
285 | + $format = '%1$s%2$s'; |
|
286 | + break; |
|
287 | + case 'right': |
|
288 | + $format = '%2$s%1$s'; |
|
289 | + break; |
|
290 | + case 'left_space': |
|
291 | + $format = '%1$s %2$s'; |
|
292 | + break; |
|
293 | + case 'right_space': |
|
294 | + $format = '%2$s %1$s'; |
|
295 | + break; |
|
296 | + } |
|
297 | + |
|
298 | + return apply_filters( 'getpaid_price_format', $format, $currency_pos ); |
|
299 | 299 | } |
300 | 300 | |
301 | 301 | /** |
@@ -390,13 +390,13 @@ discard block |
||
390 | 390 | * @param mixed $value Value. |
391 | 391 | */ |
392 | 392 | function getpaid_maybe_define_constant( $name, $value ) { |
393 | - if ( ! defined( $name ) ) { |
|
394 | - define( $name, $value ); |
|
395 | - } |
|
393 | + if ( ! defined( $name ) ) { |
|
394 | + define( $name, $value ); |
|
395 | + } |
|
396 | 396 | } |
397 | 397 | |
398 | 398 | function wpinv_get_php_arg_separator_output() { |
399 | - return ini_get( 'arg_separator.output' ); |
|
399 | + return ini_get( 'arg_separator.output' ); |
|
400 | 400 | } |
401 | 401 | |
402 | 402 | function wpinv_rgb_from_hex( $color ) { |
@@ -751,11 +751,11 @@ discard block |
||
751 | 751 | $list = array(); |
752 | 752 | } |
753 | 753 | |
754 | - if ( ! is_array( $list ) ) { |
|
755 | - return preg_split( '/[\s,]+/', $list, -1, PREG_SPLIT_NO_EMPTY ); |
|
756 | - } |
|
754 | + if ( ! is_array( $list ) ) { |
|
755 | + return preg_split( '/[\s,]+/', $list, -1, PREG_SPLIT_NO_EMPTY ); |
|
756 | + } |
|
757 | 757 | |
758 | - return $list; |
|
758 | + return $list; |
|
759 | 759 | } |
760 | 760 | |
761 | 761 | /** |
@@ -775,9 +775,9 @@ discard block |
||
775 | 775 | } |
776 | 776 | |
777 | 777 | $data = apply_filters( "wpinv_get_$key", include WPINV_PLUGIN_DIR . "includes/data/$key.php" ); |
778 | - wp_cache_set( "wpinv-data-$key", $data, 'wpinv' ); |
|
778 | + wp_cache_set( "wpinv-data-$key", $data, 'wpinv' ); |
|
779 | 779 | |
780 | - return $data; |
|
780 | + return $data; |
|
781 | 781 | } |
782 | 782 | |
783 | 783 | /** |
@@ -806,17 +806,17 @@ discard block |
||
806 | 806 | */ |
807 | 807 | function wpinv_clean( $var ) { |
808 | 808 | |
809 | - if ( is_array( $var ) ) { |
|
810 | - return array_map( 'wpinv_clean', $var ); |
|
809 | + if ( is_array( $var ) ) { |
|
810 | + return array_map( 'wpinv_clean', $var ); |
|
811 | 811 | } |
812 | 812 | |
813 | 813 | if ( is_object( $var ) ) { |
814 | - $object_vars = get_object_vars( $var ); |
|
815 | - foreach ( $object_vars as $property_name => $property_value ) { |
|
816 | - $var->$property_name = wpinv_clean( $property_value ); |
|
814 | + $object_vars = get_object_vars( $var ); |
|
815 | + foreach ( $object_vars as $property_name => $property_value ) { |
|
816 | + $var->$property_name = wpinv_clean( $property_value ); |
|
817 | 817 | } |
818 | 818 | return $var; |
819 | - } |
|
819 | + } |
|
820 | 820 | |
821 | 821 | return is_string( $var ) ? sanitize_text_field( stripslashes( $var ) ) : $var; |
822 | 822 | } |
@@ -829,7 +829,7 @@ discard block |
||
829 | 829 | */ |
830 | 830 | function getpaid_convert_price_string_to_options( $str ) { |
831 | 831 | |
832 | - $raw_options = array_map( 'trim', explode( ',', $str ) ); |
|
832 | + $raw_options = array_map( 'trim', explode( ',', $str ) ); |
|
833 | 833 | $options = array(); |
834 | 834 | |
835 | 835 | foreach ( $raw_options as $option ) { |
@@ -912,7 +912,7 @@ discard block |
||
912 | 912 | * @return string |
913 | 913 | */ |
914 | 914 | function getpaid_date_format() { |
915 | - return apply_filters( 'getpaid_date_format', get_option( 'date_format' ) ); |
|
915 | + return apply_filters( 'getpaid_date_format', get_option( 'date_format' ) ); |
|
916 | 916 | } |
917 | 917 | |
918 | 918 | /** |
@@ -921,7 +921,7 @@ discard block |
||
921 | 921 | * @return string |
922 | 922 | */ |
923 | 923 | function getpaid_time_format() { |
924 | - return apply_filters( 'getpaid_time_format', get_option( 'time_format' ) ); |
|
924 | + return apply_filters( 'getpaid_time_format', get_option( 'time_format' ) ); |
|
925 | 925 | } |
926 | 926 | |
927 | 927 | /** |
@@ -934,15 +934,15 @@ discard block |
||
934 | 934 | function getpaid_limit_length( $string, $limit ) { |
935 | 935 | $str_limit = $limit - 3; |
936 | 936 | |
937 | - if ( function_exists( 'mb_strimwidth' ) ) { |
|
938 | - if ( mb_strlen( $string ) > $limit ) { |
|
939 | - $string = mb_strimwidth( $string, 0, $str_limit ) . '...'; |
|
940 | - } |
|
941 | - } else { |
|
942 | - if ( strlen( $string ) > $limit ) { |
|
943 | - $string = substr( $string, 0, $str_limit ) . '...'; |
|
944 | - } |
|
945 | - } |
|
937 | + if ( function_exists( 'mb_strimwidth' ) ) { |
|
938 | + if ( mb_strlen( $string ) > $limit ) { |
|
939 | + $string = mb_strimwidth( $string, 0, $str_limit ) . '...'; |
|
940 | + } |
|
941 | + } else { |
|
942 | + if ( strlen( $string ) > $limit ) { |
|
943 | + $string = substr( $string, 0, $str_limit ) . '...'; |
|
944 | + } |
|
945 | + } |
|
946 | 946 | return $string; |
947 | 947 | |
948 | 948 | } |
@@ -1073,12 +1073,12 @@ discard block |
||
1073 | 1073 | $types = get_allowed_mime_types(); |
1074 | 1074 | |
1075 | 1075 | if ( isset( $types['htm|html'] ) ) { |
1076 | - unset( $types['htm|html'] ); |
|
1077 | - } |
|
1076 | + unset( $types['htm|html'] ); |
|
1077 | + } |
|
1078 | 1078 | |
1079 | 1079 | if ( isset( $types['js'] ) ) { |
1080 | - unset( $types['js'] ); |
|
1081 | - } |
|
1080 | + unset( $types['js'] ); |
|
1081 | + } |
|
1082 | 1082 | |
1083 | 1083 | return $types; |
1084 | 1084 |
@@ -1,32 +1,32 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | |
3 | - // Is the request set up correctly? |
|
4 | - if ( empty( $_GET['form'] ) && empty( $_GET['item'] ) ) { |
|
5 | - return aui()->alert( |
|
6 | - array( |
|
7 | - 'type' => 'warning', |
|
8 | - 'content' => __( 'No payment form or item selected', 'invoicing' ), |
|
9 | - ) |
|
10 | - ); |
|
11 | - wp_die( __( 'No payment form or item selected', 'invoicing' ), 400 ); |
|
12 | - } |
|
13 | - |
|
14 | - // Payment form or button? |
|
15 | - if ( ! empty( $_GET['form'] ) ) { |
|
16 | - |
|
17 | - $shortcode = sprintf( |
|
18 | - '[getpaid form=%s]', |
|
19 | - (int) urldecode( $_GET['form'] ) |
|
20 | - ); |
|
21 | - |
|
22 | - } else { |
|
23 | - |
|
24 | - $shortcode = sprintf( |
|
25 | - '[getpaid item=%s]', |
|
26 | - esc_attr( urldecode( $_GET['item'] ) ) |
|
27 | - ); |
|
28 | - |
|
29 | - } |
|
3 | + // Is the request set up correctly? |
|
4 | + if ( empty( $_GET['form'] ) && empty( $_GET['item'] ) ) { |
|
5 | + return aui()->alert( |
|
6 | + array( |
|
7 | + 'type' => 'warning', |
|
8 | + 'content' => __( 'No payment form or item selected', 'invoicing' ), |
|
9 | + ) |
|
10 | + ); |
|
11 | + wp_die( __( 'No payment form or item selected', 'invoicing' ), 400 ); |
|
12 | + } |
|
13 | + |
|
14 | + // Payment form or button? |
|
15 | + if ( ! empty( $_GET['form'] ) ) { |
|
16 | + |
|
17 | + $shortcode = sprintf( |
|
18 | + '[getpaid form=%s]', |
|
19 | + (int) urldecode( $_GET['form'] ) |
|
20 | + ); |
|
21 | + |
|
22 | + } else { |
|
23 | + |
|
24 | + $shortcode = sprintf( |
|
25 | + '[getpaid item=%s]', |
|
26 | + esc_attr( urldecode( $_GET['item'] ) ) |
|
27 | + ); |
|
28 | + |
|
29 | + } |
|
30 | 30 | |
31 | 31 | ?> |
32 | 32 | |
@@ -44,12 +44,12 @@ discard block |
||
44 | 44 | |
45 | 45 | <title>GetPaid</title> |
46 | 46 | <?php |
47 | - wp_enqueue_scripts(); |
|
48 | - wp_print_styles(); |
|
49 | - wp_print_head_scripts(); |
|
50 | - wp_custom_css_cb(); |
|
51 | - wpinv_get_template( 'frontend-head.php' ); |
|
52 | - ?> |
|
47 | + wp_enqueue_scripts(); |
|
48 | + wp_print_styles(); |
|
49 | + wp_print_head_scripts(); |
|
50 | + wp_custom_css_cb(); |
|
51 | + wpinv_get_template( 'frontend-head.php' ); |
|
52 | + ?> |
|
53 | 53 | |
54 | 54 | <style type="text/css"> |
55 | 55 | .body{ |
@@ -83,11 +83,11 @@ discard block |
||
83 | 83 | <body class="body page-template-default page"> |
84 | 84 | <div id="getpaid-form-embed" class="container my-5 page type-page status-publish hentry post post-content"> |
85 | 85 | <?php |
86 | - do_action( 'getpaid_payment_form_embed_top' ); |
|
87 | - echo do_shortcode( $shortcode ); |
|
88 | - do_action( 'getpaid_payment_form_embed_bottom' ); |
|
89 | - wpinv_get_template( 'frontend-footer.php' ); |
|
90 | - ?> |
|
86 | + do_action( 'getpaid_payment_form_embed_top' ); |
|
87 | + echo do_shortcode( $shortcode ); |
|
88 | + do_action( 'getpaid_payment_form_embed_bottom' ); |
|
89 | + wpinv_get_template( 'frontend-footer.php' ); |
|
90 | + ?> |
|
91 | 91 | </div> |
92 | 92 | <?php wp_footer(); ?> |
93 | 93 | </body> |
@@ -1,6 +1,6 @@ discard block |
||
1 | 1 | <?php |
2 | 2 | if ( ! defined( 'ABSPATH' ) ) { |
3 | - exit; |
|
3 | + exit; |
|
4 | 4 | } |
5 | 5 | |
6 | 6 | /** |
@@ -10,55 +10,55 @@ discard block |
||
10 | 10 | class GetPaid_Payment_Form extends GetPaid_Data { |
11 | 11 | |
12 | 12 | /** |
13 | - * Which data store to load. |
|
14 | - * |
|
15 | - * @var string |
|
16 | - */ |
|
13 | + * Which data store to load. |
|
14 | + * |
|
15 | + * @var string |
|
16 | + */ |
|
17 | 17 | protected $data_store_name = 'payment_form'; |
18 | 18 | |
19 | 19 | /** |
20 | - * This is the name of this object type. |
|
21 | - * |
|
22 | - * @var string |
|
23 | - */ |
|
24 | - protected $object_type = 'payment_form'; |
|
20 | + * This is the name of this object type. |
|
21 | + * |
|
22 | + * @var string |
|
23 | + */ |
|
24 | + protected $object_type = 'payment_form'; |
|
25 | 25 | |
26 | 26 | /** |
27 | - * Form Data array. This is the core form data exposed in APIs. |
|
28 | - * |
|
29 | - * @since 1.0.19 |
|
30 | - * @var array |
|
31 | - */ |
|
32 | - protected $data = array( |
|
33 | - 'status' => 'draft', |
|
34 | - 'version' => '', |
|
35 | - 'date_created' => null, |
|
27 | + * Form Data array. This is the core form data exposed in APIs. |
|
28 | + * |
|
29 | + * @since 1.0.19 |
|
30 | + * @var array |
|
31 | + */ |
|
32 | + protected $data = array( |
|
33 | + 'status' => 'draft', |
|
34 | + 'version' => '', |
|
35 | + 'date_created' => null, |
|
36 | 36 | 'date_modified' => null, |
37 | 37 | 'name' => '', |
38 | 38 | 'author' => 1, |
39 | 39 | 'elements' => null, |
40 | - 'items' => null, |
|
41 | - 'earned' => 0, |
|
42 | - 'refunded' => 0, |
|
43 | - 'cancelled' => 0, |
|
44 | - 'failed' => 0, |
|
45 | - ); |
|
46 | - |
|
47 | - /** |
|
48 | - * Stores meta in cache for future reads. |
|
49 | - * |
|
50 | - * A group must be set to to enable caching. |
|
51 | - * |
|
52 | - * @var string |
|
53 | - */ |
|
54 | - protected $cache_group = 'getpaid_forms'; |
|
55 | - |
|
56 | - /** |
|
57 | - * Stores a reference to the invoice if the form is for an invoice.. |
|
58 | - * |
|
59 | - * @var WPInv_Invoice |
|
60 | - */ |
|
61 | - public $invoice = 0; |
|
40 | + 'items' => null, |
|
41 | + 'earned' => 0, |
|
42 | + 'refunded' => 0, |
|
43 | + 'cancelled' => 0, |
|
44 | + 'failed' => 0, |
|
45 | + ); |
|
46 | + |
|
47 | + /** |
|
48 | + * Stores meta in cache for future reads. |
|
49 | + * |
|
50 | + * A group must be set to to enable caching. |
|
51 | + * |
|
52 | + * @var string |
|
53 | + */ |
|
54 | + protected $cache_group = 'getpaid_forms'; |
|
55 | + |
|
56 | + /** |
|
57 | + * Stores a reference to the invoice if the form is for an invoice.. |
|
58 | + * |
|
59 | + * @var WPInv_Invoice |
|
60 | + */ |
|
61 | + public $invoice = 0; |
|
62 | 62 | |
63 | 63 | /** |
64 | 64 | * Stores a reference to the original WP_Post object |
@@ -68,35 +68,35 @@ discard block |
||
68 | 68 | protected $post = null; |
69 | 69 | |
70 | 70 | /** |
71 | - * Get the form if ID is passed, otherwise the form is new and empty. |
|
72 | - * |
|
73 | - * @param int|object|GetPaid_Payment_Form|WP_Post $form Form to read. |
|
74 | - */ |
|
75 | - public function __construct( $form = 0 ) { |
|
76 | - parent::__construct( $form ); |
|
71 | + * Get the form if ID is passed, otherwise the form is new and empty. |
|
72 | + * |
|
73 | + * @param int|object|GetPaid_Payment_Form|WP_Post $form Form to read. |
|
74 | + */ |
|
75 | + public function __construct( $form = 0 ) { |
|
76 | + parent::__construct( $form ); |
|
77 | 77 | |
78 | - if ( is_numeric( $form ) && $form > 0 ) { |
|
79 | - $this->set_id( $form ); |
|
80 | - } elseif ( $form instanceof self ) { |
|
78 | + if ( is_numeric( $form ) && $form > 0 ) { |
|
79 | + $this->set_id( $form ); |
|
80 | + } elseif ( $form instanceof self ) { |
|
81 | 81 | |
82 | - $this->set_id( $form->get_id() ); |
|
83 | - $this->invoice = $form->invoice; |
|
82 | + $this->set_id( $form->get_id() ); |
|
83 | + $this->invoice = $form->invoice; |
|
84 | 84 | |
85 | - } elseif ( ! empty( $form->ID ) ) { |
|
86 | - $this->set_id( $form->ID ); |
|
87 | - } else { |
|
88 | - $this->set_object_read( true ); |
|
89 | - } |
|
85 | + } elseif ( ! empty( $form->ID ) ) { |
|
86 | + $this->set_id( $form->ID ); |
|
87 | + } else { |
|
88 | + $this->set_object_read( true ); |
|
89 | + } |
|
90 | 90 | |
91 | 91 | // Load the datastore. |
92 | - $this->data_store = GetPaid_Data_Store::load( $this->data_store_name ); |
|
92 | + $this->data_store = GetPaid_Data_Store::load( $this->data_store_name ); |
|
93 | 93 | |
94 | - if ( $this->get_id() > 0 ) { |
|
94 | + if ( $this->get_id() > 0 ) { |
|
95 | 95 | $this->post = get_post( $this->get_id() ); |
96 | - $this->data_store->read( $this ); |
|
96 | + $this->data_store->read( $this ); |
|
97 | 97 | } |
98 | 98 | |
99 | - } |
|
99 | + } |
|
100 | 100 | |
101 | 101 | /* |
102 | 102 | |-------------------------------------------------------------------------- |
@@ -114,358 +114,358 @@ discard block |
||
114 | 114 | */ |
115 | 115 | |
116 | 116 | /** |
117 | - * Get plugin version when the form was created. |
|
118 | - * |
|
119 | - * @since 1.0.19 |
|
120 | - * @param string $context View or edit context. |
|
121 | - * @return string |
|
122 | - */ |
|
123 | - public function get_version( $context = 'view' ) { |
|
124 | - return $this->get_prop( 'version', $context ); |
|
117 | + * Get plugin version when the form was created. |
|
118 | + * |
|
119 | + * @since 1.0.19 |
|
120 | + * @param string $context View or edit context. |
|
121 | + * @return string |
|
122 | + */ |
|
123 | + public function get_version( $context = 'view' ) { |
|
124 | + return $this->get_prop( 'version', $context ); |
|
125 | 125 | } |
126 | 126 | |
127 | 127 | /** |
128 | - * Get date when the form was created. |
|
129 | - * |
|
130 | - * @since 1.0.19 |
|
131 | - * @param string $context View or edit context. |
|
132 | - * @return string |
|
133 | - */ |
|
134 | - public function get_date_created( $context = 'view' ) { |
|
135 | - return $this->get_prop( 'date_created', $context ); |
|
128 | + * Get date when the form was created. |
|
129 | + * |
|
130 | + * @since 1.0.19 |
|
131 | + * @param string $context View or edit context. |
|
132 | + * @return string |
|
133 | + */ |
|
134 | + public function get_date_created( $context = 'view' ) { |
|
135 | + return $this->get_prop( 'date_created', $context ); |
|
136 | 136 | } |
137 | 137 | |
138 | 138 | /** |
139 | - * Get GMT date when the form was created. |
|
140 | - * |
|
141 | - * @since 1.0.19 |
|
142 | - * @param string $context View or edit context. |
|
143 | - * @return string |
|
144 | - */ |
|
145 | - public function get_date_created_gmt( $context = 'view' ) { |
|
139 | + * Get GMT date when the form was created. |
|
140 | + * |
|
141 | + * @since 1.0.19 |
|
142 | + * @param string $context View or edit context. |
|
143 | + * @return string |
|
144 | + */ |
|
145 | + public function get_date_created_gmt( $context = 'view' ) { |
|
146 | 146 | $date = $this->get_date_created( $context ); |
147 | 147 | |
148 | 148 | if ( $date ) { |
149 | 149 | $date = get_gmt_from_date( $date ); |
150 | 150 | } |
151 | - return $date; |
|
151 | + return $date; |
|
152 | 152 | } |
153 | 153 | |
154 | 154 | /** |
155 | - * Get date when the form was last modified. |
|
156 | - * |
|
157 | - * @since 1.0.19 |
|
158 | - * @param string $context View or edit context. |
|
159 | - * @return string |
|
160 | - */ |
|
161 | - public function get_date_modified( $context = 'view' ) { |
|
162 | - return $this->get_prop( 'date_modified', $context ); |
|
155 | + * Get date when the form was last modified. |
|
156 | + * |
|
157 | + * @since 1.0.19 |
|
158 | + * @param string $context View or edit context. |
|
159 | + * @return string |
|
160 | + */ |
|
161 | + public function get_date_modified( $context = 'view' ) { |
|
162 | + return $this->get_prop( 'date_modified', $context ); |
|
163 | 163 | } |
164 | 164 | |
165 | 165 | /** |
166 | - * Get GMT date when the form was last modified. |
|
167 | - * |
|
168 | - * @since 1.0.19 |
|
169 | - * @param string $context View or edit context. |
|
170 | - * @return string |
|
171 | - */ |
|
172 | - public function get_date_modified_gmt( $context = 'view' ) { |
|
166 | + * Get GMT date when the form was last modified. |
|
167 | + * |
|
168 | + * @since 1.0.19 |
|
169 | + * @param string $context View or edit context. |
|
170 | + * @return string |
|
171 | + */ |
|
172 | + public function get_date_modified_gmt( $context = 'view' ) { |
|
173 | 173 | $date = $this->get_date_modified( $context ); |
174 | 174 | |
175 | 175 | if ( $date ) { |
176 | 176 | $date = get_gmt_from_date( $date ); |
177 | 177 | } |
178 | - return $date; |
|
178 | + return $date; |
|
179 | 179 | } |
180 | 180 | |
181 | 181 | /** |
182 | - * Get the form name. |
|
183 | - * |
|
184 | - * @since 1.0.19 |
|
185 | - * @param string $context View or edit context. |
|
186 | - * @return string |
|
187 | - */ |
|
188 | - public function get_name( $context = 'view' ) { |
|
189 | - return $this->get_prop( 'name', $context ); |
|
182 | + * Get the form name. |
|
183 | + * |
|
184 | + * @since 1.0.19 |
|
185 | + * @param string $context View or edit context. |
|
186 | + * @return string |
|
187 | + */ |
|
188 | + public function get_name( $context = 'view' ) { |
|
189 | + return $this->get_prop( 'name', $context ); |
|
190 | 190 | } |
191 | 191 | |
192 | 192 | /** |
193 | - * Alias of self::get_name(). |
|
194 | - * |
|
195 | - * @since 1.0.19 |
|
196 | - * @param string $context View or edit context. |
|
197 | - * @return string |
|
198 | - */ |
|
199 | - public function get_title( $context = 'view' ) { |
|
200 | - return $this->get_name( $context ); |
|
201 | - } |
|
193 | + * Alias of self::get_name(). |
|
194 | + * |
|
195 | + * @since 1.0.19 |
|
196 | + * @param string $context View or edit context. |
|
197 | + * @return string |
|
198 | + */ |
|
199 | + public function get_title( $context = 'view' ) { |
|
200 | + return $this->get_name( $context ); |
|
201 | + } |
|
202 | 202 | |
203 | 203 | /** |
204 | - * Get the owner of the form. |
|
205 | - * |
|
206 | - * @since 1.0.19 |
|
207 | - * @param string $context View or edit context. |
|
208 | - * @return int |
|
209 | - */ |
|
210 | - public function get_author( $context = 'view' ) { |
|
211 | - return (int) $this->get_prop( 'author', $context ); |
|
204 | + * Get the owner of the form. |
|
205 | + * |
|
206 | + * @since 1.0.19 |
|
207 | + * @param string $context View or edit context. |
|
208 | + * @return int |
|
209 | + */ |
|
210 | + public function get_author( $context = 'view' ) { |
|
211 | + return (int) $this->get_prop( 'author', $context ); |
|
212 | 212 | } |
213 | 213 | |
214 | 214 | /** |
215 | - * Get the elements that make up the form. |
|
216 | - * |
|
217 | - * @since 1.0.19 |
|
218 | - * @param string $context View or edit context. |
|
219 | - * @return array |
|
220 | - */ |
|
221 | - public function get_elements( $context = 'view' ) { |
|
222 | - $elements = $this->get_prop( 'elements', $context ); |
|
215 | + * Get the elements that make up the form. |
|
216 | + * |
|
217 | + * @since 1.0.19 |
|
218 | + * @param string $context View or edit context. |
|
219 | + * @return array |
|
220 | + */ |
|
221 | + public function get_elements( $context = 'view' ) { |
|
222 | + $elements = $this->get_prop( 'elements', $context ); |
|
223 | 223 | |
224 | - if ( empty( $elements ) || ! is_array( $elements ) ) { |
|
224 | + if ( empty( $elements ) || ! is_array( $elements ) ) { |
|
225 | 225 | return wpinv_get_data( 'sample-payment-form' ); |
226 | - } |
|
226 | + } |
|
227 | 227 | |
228 | - // Ensure that all required elements exist. |
|
229 | - $_elements = array(); |
|
230 | - foreach ( $elements as $element ) { |
|
228 | + // Ensure that all required elements exist. |
|
229 | + $_elements = array(); |
|
230 | + foreach ( $elements as $element ) { |
|
231 | 231 | |
232 | - if ( $element['type'] == 'pay_button' && ! $this->has_element_type( 'gateway_select' ) ) { |
|
232 | + if ( $element['type'] == 'pay_button' && ! $this->has_element_type( 'gateway_select' ) ) { |
|
233 | 233 | |
234 | - $_elements[] = array( |
|
235 | - 'text' => __( 'Select Payment Method', 'invoicing' ), |
|
236 | - 'id' => 'gtscicd', |
|
237 | - 'name' => 'gtscicd', |
|
238 | - 'type' => 'gateway_select', |
|
239 | - 'premade' => true |
|
234 | + $_elements[] = array( |
|
235 | + 'text' => __( 'Select Payment Method', 'invoicing' ), |
|
236 | + 'id' => 'gtscicd', |
|
237 | + 'name' => 'gtscicd', |
|
238 | + 'type' => 'gateway_select', |
|
239 | + 'premade' => true |
|
240 | 240 | |
241 | - ); |
|
241 | + ); |
|
242 | 242 | |
243 | - } |
|
243 | + } |
|
244 | 244 | |
245 | - $_elements[] = $element; |
|
245 | + $_elements[] = $element; |
|
246 | 246 | |
247 | - } |
|
247 | + } |
|
248 | 248 | |
249 | 249 | return $_elements; |
250 | - } |
|
251 | - |
|
252 | - /** |
|
253 | - * Get the items sold via the form. |
|
254 | - * |
|
255 | - * @since 1.0.19 |
|
256 | - * @param string $context View or edit context. |
|
257 | - * @param string $return objects or arrays. |
|
258 | - * @return GetPaid_Form_Item[] |
|
259 | - */ |
|
260 | - public function get_items( $context = 'view', $return = 'objects' ) { |
|
261 | - $items = $this->get_prop( 'items', $context ); |
|
262 | - |
|
263 | - if ( empty( $items ) || ! is_array( $items ) ) { |
|
250 | + } |
|
251 | + |
|
252 | + /** |
|
253 | + * Get the items sold via the form. |
|
254 | + * |
|
255 | + * @since 1.0.19 |
|
256 | + * @param string $context View or edit context. |
|
257 | + * @param string $return objects or arrays. |
|
258 | + * @return GetPaid_Form_Item[] |
|
259 | + */ |
|
260 | + public function get_items( $context = 'view', $return = 'objects' ) { |
|
261 | + $items = $this->get_prop( 'items', $context ); |
|
262 | + |
|
263 | + if ( empty( $items ) || ! is_array( $items ) ) { |
|
264 | 264 | $items = wpinv_get_data( 'sample-payment-form-items' ); |
265 | - } |
|
265 | + } |
|
266 | 266 | |
267 | - // Convert the items. |
|
268 | - $prepared = array(); |
|
267 | + // Convert the items. |
|
268 | + $prepared = array(); |
|
269 | 269 | |
270 | - foreach ( $items as $key => $value ) { |
|
270 | + foreach ( $items as $key => $value ) { |
|
271 | 271 | |
272 | - // Form items. |
|
273 | - if ( $value instanceof GetPaid_Form_Item ) { |
|
272 | + // Form items. |
|
273 | + if ( $value instanceof GetPaid_Form_Item ) { |
|
274 | 274 | |
275 | - if ( $value->can_purchase() ) { |
|
276 | - $prepared[] = $value; |
|
277 | - } |
|
275 | + if ( $value->can_purchase() ) { |
|
276 | + $prepared[] = $value; |
|
277 | + } |
|
278 | 278 | |
279 | - continue; |
|
279 | + continue; |
|
280 | 280 | |
281 | - } |
|
281 | + } |
|
282 | 282 | |
283 | - // $item_id => $quantity (buy buttons) |
|
284 | - if ( is_numeric( $key ) && is_numeric( $value ) ) { |
|
285 | - $item = new GetPaid_Form_Item( $key ); |
|
283 | + // $item_id => $quantity (buy buttons) |
|
284 | + if ( is_numeric( $key ) && is_numeric( $value ) ) { |
|
285 | + $item = new GetPaid_Form_Item( $key ); |
|
286 | 286 | |
287 | - if ( $item->can_purchase() ) { |
|
287 | + if ( $item->can_purchase() ) { |
|
288 | 288 | |
289 | - $value = (float) $value; |
|
290 | - $item->set_quantity( $value ); |
|
291 | - if ( 0 == $value ) { |
|
292 | - $item->set_quantity( 1 ); |
|
293 | - $item->set_allow_quantities( true ); |
|
294 | - } |
|
289 | + $value = (float) $value; |
|
290 | + $item->set_quantity( $value ); |
|
291 | + if ( 0 == $value ) { |
|
292 | + $item->set_quantity( 1 ); |
|
293 | + $item->set_allow_quantities( true ); |
|
294 | + } |
|
295 | 295 | |
296 | - $prepared[] = $item; |
|
297 | - } |
|
296 | + $prepared[] = $item; |
|
297 | + } |
|
298 | 298 | |
299 | - continue; |
|
300 | - } |
|
299 | + continue; |
|
300 | + } |
|
301 | 301 | |
302 | - // Items saved via payment forms editor. |
|
303 | - if ( is_array( $value ) && isset( $value['id'] ) ) { |
|
302 | + // Items saved via payment forms editor. |
|
303 | + if ( is_array( $value ) && isset( $value['id'] ) ) { |
|
304 | 304 | |
305 | - $item = new GetPaid_Form_Item( $value['id'] ); |
|
305 | + $item = new GetPaid_Form_Item( $value['id'] ); |
|
306 | 306 | |
307 | - if ( ! $item->can_purchase() ) { |
|
308 | - continue; |
|
309 | - } |
|
307 | + if ( ! $item->can_purchase() ) { |
|
308 | + continue; |
|
309 | + } |
|
310 | 310 | |
311 | - // Sub-total (Cart items). |
|
312 | - if ( isset( $value['subtotal'] ) ) { |
|
313 | - $item->set_price( $value['subtotal'] ); |
|
314 | - } |
|
311 | + // Sub-total (Cart items). |
|
312 | + if ( isset( $value['subtotal'] ) ) { |
|
313 | + $item->set_price( $value['subtotal'] ); |
|
314 | + } |
|
315 | 315 | |
316 | - if ( isset( $value['quantity'] ) ) { |
|
317 | - $item->set_quantity( $value['quantity'] ); |
|
318 | - } |
|
316 | + if ( isset( $value['quantity'] ) ) { |
|
317 | + $item->set_quantity( $value['quantity'] ); |
|
318 | + } |
|
319 | 319 | |
320 | - if ( isset( $value['allow_quantities'] ) ) { |
|
321 | - $item->set_allow_quantities( $value['allow_quantities'] ); |
|
322 | - } |
|
320 | + if ( isset( $value['allow_quantities'] ) ) { |
|
321 | + $item->set_allow_quantities( $value['allow_quantities'] ); |
|
322 | + } |
|
323 | 323 | |
324 | - if ( isset( $value['required'] ) ) { |
|
325 | - $item->set_is_required( $value['required'] ); |
|
326 | - } |
|
324 | + if ( isset( $value['required'] ) ) { |
|
325 | + $item->set_is_required( $value['required'] ); |
|
326 | + } |
|
327 | 327 | |
328 | - if ( isset( $value['description'] ) ) { |
|
329 | - $item->set_custom_description( $value['description'] ); |
|
330 | - } |
|
328 | + if ( isset( $value['description'] ) ) { |
|
329 | + $item->set_custom_description( $value['description'] ); |
|
330 | + } |
|
331 | 331 | |
332 | - $prepared[] = $item; |
|
333 | - continue; |
|
332 | + $prepared[] = $item; |
|
333 | + continue; |
|
334 | 334 | |
335 | - } |
|
335 | + } |
|
336 | 336 | |
337 | - // $item_id => array( 'price' => 10 ) (item variations) |
|
338 | - if ( is_numeric( $key ) && is_array( $value ) ) { |
|
339 | - $item = new GetPaid_Form_Item( $key ); |
|
337 | + // $item_id => array( 'price' => 10 ) (item variations) |
|
338 | + if ( is_numeric( $key ) && is_array( $value ) ) { |
|
339 | + $item = new GetPaid_Form_Item( $key ); |
|
340 | 340 | |
341 | - if ( isset( $value['price'] ) && $item->user_can_set_their_price() ) { |
|
342 | - $item->set_price( $value['price'] ); |
|
343 | - } |
|
344 | - |
|
345 | - if ( $item->can_purchase() ) { |
|
346 | - $prepared[] = $item; |
|
347 | - } |
|
348 | - |
|
349 | - continue; |
|
350 | - } |
|
351 | - |
|
352 | - } |
|
353 | - |
|
354 | - if ( 'objects' == $return && 'view' == $context ) { |
|
355 | - return $prepared; |
|
356 | - } |
|
357 | - |
|
358 | - $items = array(); |
|
359 | - foreach ( $prepared as $item ) { |
|
360 | - $items[] = $item->prepare_data_for_use(); |
|
361 | - } |
|
362 | - |
|
363 | - return $items; |
|
364 | - } |
|
365 | - |
|
366 | - /** |
|
367 | - * Get a single item belonging to the form. |
|
368 | - * |
|
369 | - * @since 1.0.19 |
|
370 | - * @param int $item_id The item id to return. |
|
371 | - * @return GetPaid_Form_Item|bool |
|
372 | - */ |
|
373 | - public function get_item( $item_id ) { |
|
374 | - |
|
375 | - if ( empty( $item_id ) || ! is_numeric( $item_id ) ) { |
|
376 | - return false; |
|
377 | - } |
|
378 | - |
|
379 | - foreach( $this->get_items() as $item ) { |
|
380 | - if ( $item->get_id() == (int) $item_id ) { |
|
381 | - return $item; |
|
382 | - } |
|
383 | - } |
|
384 | - |
|
385 | - return false; |
|
386 | - |
|
387 | - } |
|
388 | - |
|
389 | - /** |
|
390 | - * Gets a single element. |
|
391 | - * |
|
392 | - * @since 1.0.19 |
|
393 | - * @param string $element_type The element type to return. |
|
394 | - * @return array|bool |
|
395 | - */ |
|
396 | - public function get_element_type( $element_type ) { |
|
397 | - |
|
398 | - if ( empty( $element_type ) || ! is_scalar( $element_type ) ) { |
|
399 | - return false; |
|
400 | - } |
|
401 | - |
|
402 | - foreach ( $this->get_prop( 'elements' ) as $element ) { |
|
403 | - |
|
404 | - if ( $element['type'] == $element_type ) { |
|
405 | - return $element; |
|
406 | - } |
|
407 | - |
|
408 | - } |
|
409 | - |
|
410 | - return false; |
|
411 | - |
|
412 | - } |
|
413 | - |
|
414 | - /** |
|
415 | - * Get the total amount earned via this form. |
|
416 | - * |
|
417 | - * @since 1.0.19 |
|
418 | - * @param string $context View or edit context. |
|
419 | - * @return float |
|
420 | - */ |
|
421 | - public function get_earned( $context = 'view' ) { |
|
422 | - return $this->get_prop( 'earned', $context ); |
|
423 | - } |
|
424 | - |
|
425 | - /** |
|
426 | - * Get the total amount refunded via this form. |
|
427 | - * |
|
428 | - * @since 1.0.19 |
|
429 | - * @param string $context View or edit context. |
|
430 | - * @return float |
|
431 | - */ |
|
432 | - public function get_refunded( $context = 'view' ) { |
|
433 | - return $this->get_prop( 'refunded', $context ); |
|
434 | - } |
|
435 | - |
|
436 | - /** |
|
437 | - * Get the total amount cancelled via this form. |
|
438 | - * |
|
439 | - * @since 1.0.19 |
|
440 | - * @param string $context View or edit context. |
|
441 | - * @return float |
|
442 | - */ |
|
443 | - public function get_cancelled( $context = 'view' ) { |
|
444 | - return $this->get_prop( 'cancelled', $context ); |
|
445 | - } |
|
446 | - |
|
447 | - /** |
|
448 | - * Get the total amount failed via this form. |
|
449 | - * |
|
450 | - * @since 1.0.19 |
|
451 | - * @param string $context View or edit context. |
|
452 | - * @return float |
|
453 | - */ |
|
454 | - public function get_failed( $context = 'view' ) { |
|
455 | - return $this->get_prop( 'failed', $context ); |
|
456 | - } |
|
457 | - |
|
458 | - /** |
|
459 | - * Get the currency. |
|
460 | - * |
|
461 | - * @since 1.0.19 |
|
462 | - * @param string $context View or edit context. |
|
463 | - * @return string |
|
464 | - */ |
|
465 | - public function get_currency() { |
|
466 | - $currency = empty( $this->invoice ) ? wpinv_get_currency() : $this->invoice->get_currency(); |
|
467 | - return apply_filters( 'getpaid-payment-form-currency', $currency, $this ); |
|
468 | - } |
|
341 | + if ( isset( $value['price'] ) && $item->user_can_set_their_price() ) { |
|
342 | + $item->set_price( $value['price'] ); |
|
343 | + } |
|
344 | + |
|
345 | + if ( $item->can_purchase() ) { |
|
346 | + $prepared[] = $item; |
|
347 | + } |
|
348 | + |
|
349 | + continue; |
|
350 | + } |
|
351 | + |
|
352 | + } |
|
353 | + |
|
354 | + if ( 'objects' == $return && 'view' == $context ) { |
|
355 | + return $prepared; |
|
356 | + } |
|
357 | + |
|
358 | + $items = array(); |
|
359 | + foreach ( $prepared as $item ) { |
|
360 | + $items[] = $item->prepare_data_for_use(); |
|
361 | + } |
|
362 | + |
|
363 | + return $items; |
|
364 | + } |
|
365 | + |
|
366 | + /** |
|
367 | + * Get a single item belonging to the form. |
|
368 | + * |
|
369 | + * @since 1.0.19 |
|
370 | + * @param int $item_id The item id to return. |
|
371 | + * @return GetPaid_Form_Item|bool |
|
372 | + */ |
|
373 | + public function get_item( $item_id ) { |
|
374 | + |
|
375 | + if ( empty( $item_id ) || ! is_numeric( $item_id ) ) { |
|
376 | + return false; |
|
377 | + } |
|
378 | + |
|
379 | + foreach( $this->get_items() as $item ) { |
|
380 | + if ( $item->get_id() == (int) $item_id ) { |
|
381 | + return $item; |
|
382 | + } |
|
383 | + } |
|
384 | + |
|
385 | + return false; |
|
386 | + |
|
387 | + } |
|
388 | + |
|
389 | + /** |
|
390 | + * Gets a single element. |
|
391 | + * |
|
392 | + * @since 1.0.19 |
|
393 | + * @param string $element_type The element type to return. |
|
394 | + * @return array|bool |
|
395 | + */ |
|
396 | + public function get_element_type( $element_type ) { |
|
397 | + |
|
398 | + if ( empty( $element_type ) || ! is_scalar( $element_type ) ) { |
|
399 | + return false; |
|
400 | + } |
|
401 | + |
|
402 | + foreach ( $this->get_prop( 'elements' ) as $element ) { |
|
403 | + |
|
404 | + if ( $element['type'] == $element_type ) { |
|
405 | + return $element; |
|
406 | + } |
|
407 | + |
|
408 | + } |
|
409 | + |
|
410 | + return false; |
|
411 | + |
|
412 | + } |
|
413 | + |
|
414 | + /** |
|
415 | + * Get the total amount earned via this form. |
|
416 | + * |
|
417 | + * @since 1.0.19 |
|
418 | + * @param string $context View or edit context. |
|
419 | + * @return float |
|
420 | + */ |
|
421 | + public function get_earned( $context = 'view' ) { |
|
422 | + return $this->get_prop( 'earned', $context ); |
|
423 | + } |
|
424 | + |
|
425 | + /** |
|
426 | + * Get the total amount refunded via this form. |
|
427 | + * |
|
428 | + * @since 1.0.19 |
|
429 | + * @param string $context View or edit context. |
|
430 | + * @return float |
|
431 | + */ |
|
432 | + public function get_refunded( $context = 'view' ) { |
|
433 | + return $this->get_prop( 'refunded', $context ); |
|
434 | + } |
|
435 | + |
|
436 | + /** |
|
437 | + * Get the total amount cancelled via this form. |
|
438 | + * |
|
439 | + * @since 1.0.19 |
|
440 | + * @param string $context View or edit context. |
|
441 | + * @return float |
|
442 | + */ |
|
443 | + public function get_cancelled( $context = 'view' ) { |
|
444 | + return $this->get_prop( 'cancelled', $context ); |
|
445 | + } |
|
446 | + |
|
447 | + /** |
|
448 | + * Get the total amount failed via this form. |
|
449 | + * |
|
450 | + * @since 1.0.19 |
|
451 | + * @param string $context View or edit context. |
|
452 | + * @return float |
|
453 | + */ |
|
454 | + public function get_failed( $context = 'view' ) { |
|
455 | + return $this->get_prop( 'failed', $context ); |
|
456 | + } |
|
457 | + |
|
458 | + /** |
|
459 | + * Get the currency. |
|
460 | + * |
|
461 | + * @since 1.0.19 |
|
462 | + * @param string $context View or edit context. |
|
463 | + * @return string |
|
464 | + */ |
|
465 | + public function get_currency() { |
|
466 | + $currency = empty( $this->invoice ) ? wpinv_get_currency() : $this->invoice->get_currency(); |
|
467 | + return apply_filters( 'getpaid-payment-form-currency', $currency, $this ); |
|
468 | + } |
|
469 | 469 | |
470 | 470 | /* |
471 | 471 | |-------------------------------------------------------------------------- |
@@ -478,22 +478,22 @@ discard block |
||
478 | 478 | */ |
479 | 479 | |
480 | 480 | /** |
481 | - * Set plugin version when the item was created. |
|
482 | - * |
|
483 | - * @since 1.0.19 |
|
484 | - */ |
|
485 | - public function set_version( $value ) { |
|
486 | - $this->set_prop( 'version', $value ); |
|
481 | + * Set plugin version when the item was created. |
|
482 | + * |
|
483 | + * @since 1.0.19 |
|
484 | + */ |
|
485 | + public function set_version( $value ) { |
|
486 | + $this->set_prop( 'version', $value ); |
|
487 | 487 | } |
488 | 488 | |
489 | 489 | /** |
490 | - * Set date when the item was created. |
|
491 | - * |
|
492 | - * @since 1.0.19 |
|
493 | - * @param string $value Value to set. |
|
490 | + * Set date when the item was created. |
|
491 | + * |
|
492 | + * @since 1.0.19 |
|
493 | + * @param string $value Value to set. |
|
494 | 494 | * @return bool Whether or not the date was set. |
495 | - */ |
|
496 | - public function set_date_created( $value ) { |
|
495 | + */ |
|
496 | + public function set_date_created( $value ) { |
|
497 | 497 | $date = strtotime( $value ); |
498 | 498 | |
499 | 499 | if ( $date ) { |
@@ -506,13 +506,13 @@ discard block |
||
506 | 506 | } |
507 | 507 | |
508 | 508 | /** |
509 | - * Set date when the item was last modified. |
|
510 | - * |
|
511 | - * @since 1.0.19 |
|
512 | - * @param string $value Value to set. |
|
509 | + * Set date when the item was last modified. |
|
510 | + * |
|
511 | + * @since 1.0.19 |
|
512 | + * @param string $value Value to set. |
|
513 | 513 | * @return bool Whether or not the date was set. |
514 | - */ |
|
515 | - public function set_date_modified( $value ) { |
|
514 | + */ |
|
515 | + public function set_date_modified( $value ) { |
|
516 | 516 | $date = strtotime( $value ); |
517 | 517 | |
518 | 518 | if ( $date ) { |
@@ -525,165 +525,165 @@ discard block |
||
525 | 525 | } |
526 | 526 | |
527 | 527 | /** |
528 | - * Set the item name. |
|
529 | - * |
|
530 | - * @since 1.0.19 |
|
531 | - * @param string $value New name. |
|
532 | - */ |
|
533 | - public function set_name( $value ) { |
|
534 | - $this->set_prop( 'name', sanitize_text_field( $value ) ); |
|
535 | - } |
|
536 | - |
|
537 | - /** |
|
538 | - * Alias of self::set_name(). |
|
539 | - * |
|
540 | - * @since 1.0.19 |
|
541 | - * @param string $value New name. |
|
542 | - */ |
|
543 | - public function set_title( $value ) { |
|
544 | - $this->set_name( $value ); |
|
545 | - } |
|
546 | - |
|
547 | - /** |
|
548 | - * Set the owner of the item. |
|
549 | - * |
|
550 | - * @since 1.0.19 |
|
551 | - * @param int $value New author. |
|
552 | - */ |
|
553 | - public function set_author( $value ) { |
|
554 | - $this->set_prop( 'author', (int) $value ); |
|
555 | - } |
|
556 | - |
|
557 | - /** |
|
558 | - * Set the form elements. |
|
559 | - * |
|
560 | - * @since 1.0.19 |
|
561 | - * @sinve 2.3.4 Array values sanitized. |
|
562 | - * @param array $value Form elements. |
|
563 | - */ |
|
564 | - public function set_elements( $value ) { |
|
565 | - if ( is_array( $value ) ) { |
|
566 | - $this->set_prop( 'elements', wp_kses_post_deep( $value ) ); |
|
567 | - } |
|
568 | - } |
|
569 | - |
|
570 | - /** |
|
571 | - * Sanitize array values. |
|
572 | - * |
|
573 | - * @param $value |
|
574 | - * |
|
575 | - * @return mixed |
|
576 | - */ |
|
577 | - public function sanitize_array_values($value){ |
|
578 | - |
|
579 | - // sanitize |
|
580 | - if(!empty($value )){ |
|
581 | - |
|
582 | - foreach($value as $key => $val_arr){ |
|
583 | - |
|
584 | - if(is_array($val_arr)){ |
|
585 | - // check if we have sub array items. |
|
586 | - $sub_arr = array(); |
|
587 | - foreach($val_arr as $key2 => $val2){ |
|
588 | - if(is_array($val2)){ |
|
589 | - $sub_arr[$key2] = $this->sanitize_array_values($val2); |
|
590 | - unset($val_arr[$key][$key2]); |
|
591 | - } |
|
592 | - } |
|
593 | - |
|
594 | - // we allow some html in description so we sanitize it separately. |
|
595 | - $help_text = !empty($val_arr['description']) ? wp_kses_post($val_arr['description']) : ''; |
|
596 | - |
|
597 | - // sanitize array elements |
|
598 | - $value[$key] = array_map( 'sanitize_text_field', $val_arr ); |
|
599 | - |
|
600 | - // add back the description if set |
|
601 | - if(isset($val_arr['description'])){ $value[$key]['description'] = $help_text;} |
|
602 | - |
|
603 | - // add back sub array items after its been sanitized. |
|
604 | - if ( ! empty( $sub_arr ) ) { |
|
605 | - $value[$key] = array_merge($value[$key],$sub_arr); |
|
606 | - } |
|
607 | - } |
|
608 | - |
|
609 | - } |
|
610 | - |
|
611 | - } |
|
612 | - |
|
613 | - return $value; |
|
614 | - } |
|
615 | - |
|
616 | - /** |
|
617 | - * Set the form items. |
|
618 | - * |
|
619 | - * @since 1.0.19 |
|
620 | - * @param array $value Form elements. |
|
621 | - */ |
|
622 | - public function set_items( $value ) { |
|
623 | - if ( is_array( $value ) ) { |
|
624 | - $this->set_prop( 'items', $value ); |
|
625 | - } |
|
626 | - } |
|
627 | - |
|
628 | - /** |
|
629 | - * Set the total amount earned via this form. |
|
630 | - * |
|
631 | - * @since 1.0.19 |
|
632 | - * @param float $value Amount earned. |
|
633 | - */ |
|
634 | - public function set_earned( $value ) { |
|
635 | - $value = max( (float) $value, 0 ); |
|
636 | - $this->set_prop( 'earned', $value ); |
|
637 | - } |
|
638 | - |
|
639 | - /** |
|
640 | - * Set the total amount refunded via this form. |
|
641 | - * |
|
642 | - * @since 1.0.19 |
|
643 | - * @param float $value Amount refunded. |
|
644 | - */ |
|
645 | - public function set_refunded( $value ) { |
|
646 | - $value = max( (float) $value, 0 ); |
|
647 | - $this->set_prop( 'refunded', $value ); |
|
648 | - } |
|
649 | - |
|
650 | - /** |
|
651 | - * Set the total amount cancelled via this form. |
|
652 | - * |
|
653 | - * @since 1.0.19 |
|
654 | - * @param float $value Amount cancelled. |
|
655 | - */ |
|
656 | - public function set_cancelled( $value ) { |
|
657 | - $value = max( (float) $value, 0 ); |
|
658 | - $this->set_prop( 'cancelled', $value ); |
|
659 | - } |
|
660 | - |
|
661 | - /** |
|
662 | - * Set the total amount failed via this form. |
|
663 | - * |
|
664 | - * @since 1.0.19 |
|
665 | - * @param float $value Amount cancelled. |
|
666 | - */ |
|
667 | - public function set_failed( $value ) { |
|
668 | - $value = max( (float) $value, 0 ); |
|
669 | - $this->set_prop( 'failed', $value ); |
|
670 | - } |
|
528 | + * Set the item name. |
|
529 | + * |
|
530 | + * @since 1.0.19 |
|
531 | + * @param string $value New name. |
|
532 | + */ |
|
533 | + public function set_name( $value ) { |
|
534 | + $this->set_prop( 'name', sanitize_text_field( $value ) ); |
|
535 | + } |
|
536 | + |
|
537 | + /** |
|
538 | + * Alias of self::set_name(). |
|
539 | + * |
|
540 | + * @since 1.0.19 |
|
541 | + * @param string $value New name. |
|
542 | + */ |
|
543 | + public function set_title( $value ) { |
|
544 | + $this->set_name( $value ); |
|
545 | + } |
|
546 | + |
|
547 | + /** |
|
548 | + * Set the owner of the item. |
|
549 | + * |
|
550 | + * @since 1.0.19 |
|
551 | + * @param int $value New author. |
|
552 | + */ |
|
553 | + public function set_author( $value ) { |
|
554 | + $this->set_prop( 'author', (int) $value ); |
|
555 | + } |
|
556 | + |
|
557 | + /** |
|
558 | + * Set the form elements. |
|
559 | + * |
|
560 | + * @since 1.0.19 |
|
561 | + * @sinve 2.3.4 Array values sanitized. |
|
562 | + * @param array $value Form elements. |
|
563 | + */ |
|
564 | + public function set_elements( $value ) { |
|
565 | + if ( is_array( $value ) ) { |
|
566 | + $this->set_prop( 'elements', wp_kses_post_deep( $value ) ); |
|
567 | + } |
|
568 | + } |
|
569 | + |
|
570 | + /** |
|
571 | + * Sanitize array values. |
|
572 | + * |
|
573 | + * @param $value |
|
574 | + * |
|
575 | + * @return mixed |
|
576 | + */ |
|
577 | + public function sanitize_array_values($value){ |
|
578 | + |
|
579 | + // sanitize |
|
580 | + if(!empty($value )){ |
|
581 | + |
|
582 | + foreach($value as $key => $val_arr){ |
|
583 | + |
|
584 | + if(is_array($val_arr)){ |
|
585 | + // check if we have sub array items. |
|
586 | + $sub_arr = array(); |
|
587 | + foreach($val_arr as $key2 => $val2){ |
|
588 | + if(is_array($val2)){ |
|
589 | + $sub_arr[$key2] = $this->sanitize_array_values($val2); |
|
590 | + unset($val_arr[$key][$key2]); |
|
591 | + } |
|
592 | + } |
|
593 | + |
|
594 | + // we allow some html in description so we sanitize it separately. |
|
595 | + $help_text = !empty($val_arr['description']) ? wp_kses_post($val_arr['description']) : ''; |
|
596 | + |
|
597 | + // sanitize array elements |
|
598 | + $value[$key] = array_map( 'sanitize_text_field', $val_arr ); |
|
599 | + |
|
600 | + // add back the description if set |
|
601 | + if(isset($val_arr['description'])){ $value[$key]['description'] = $help_text;} |
|
602 | + |
|
603 | + // add back sub array items after its been sanitized. |
|
604 | + if ( ! empty( $sub_arr ) ) { |
|
605 | + $value[$key] = array_merge($value[$key],$sub_arr); |
|
606 | + } |
|
607 | + } |
|
608 | + |
|
609 | + } |
|
610 | + |
|
611 | + } |
|
612 | + |
|
613 | + return $value; |
|
614 | + } |
|
615 | + |
|
616 | + /** |
|
617 | + * Set the form items. |
|
618 | + * |
|
619 | + * @since 1.0.19 |
|
620 | + * @param array $value Form elements. |
|
621 | + */ |
|
622 | + public function set_items( $value ) { |
|
623 | + if ( is_array( $value ) ) { |
|
624 | + $this->set_prop( 'items', $value ); |
|
625 | + } |
|
626 | + } |
|
627 | + |
|
628 | + /** |
|
629 | + * Set the total amount earned via this form. |
|
630 | + * |
|
631 | + * @since 1.0.19 |
|
632 | + * @param float $value Amount earned. |
|
633 | + */ |
|
634 | + public function set_earned( $value ) { |
|
635 | + $value = max( (float) $value, 0 ); |
|
636 | + $this->set_prop( 'earned', $value ); |
|
637 | + } |
|
638 | + |
|
639 | + /** |
|
640 | + * Set the total amount refunded via this form. |
|
641 | + * |
|
642 | + * @since 1.0.19 |
|
643 | + * @param float $value Amount refunded. |
|
644 | + */ |
|
645 | + public function set_refunded( $value ) { |
|
646 | + $value = max( (float) $value, 0 ); |
|
647 | + $this->set_prop( 'refunded', $value ); |
|
648 | + } |
|
649 | + |
|
650 | + /** |
|
651 | + * Set the total amount cancelled via this form. |
|
652 | + * |
|
653 | + * @since 1.0.19 |
|
654 | + * @param float $value Amount cancelled. |
|
655 | + */ |
|
656 | + public function set_cancelled( $value ) { |
|
657 | + $value = max( (float) $value, 0 ); |
|
658 | + $this->set_prop( 'cancelled', $value ); |
|
659 | + } |
|
660 | + |
|
661 | + /** |
|
662 | + * Set the total amount failed via this form. |
|
663 | + * |
|
664 | + * @since 1.0.19 |
|
665 | + * @param float $value Amount cancelled. |
|
666 | + */ |
|
667 | + public function set_failed( $value ) { |
|
668 | + $value = max( (float) $value, 0 ); |
|
669 | + $this->set_prop( 'failed', $value ); |
|
670 | + } |
|
671 | 671 | |
672 | 672 | /** |
673 | 673 | * Create an item. For backwards compatibilty. |
674 | 674 | * |
675 | 675 | * @deprecated |
676 | - * @return int item id |
|
676 | + * @return int item id |
|
677 | 677 | */ |
678 | 678 | public function create( $data = array() ) { |
679 | 679 | |
680 | - // Set the properties. |
|
681 | - if ( is_array( $data ) ) { |
|
682 | - $this->set_props( $data ); |
|
683 | - } |
|
680 | + // Set the properties. |
|
681 | + if ( is_array( $data ) ) { |
|
682 | + $this->set_props( $data ); |
|
683 | + } |
|
684 | 684 | |
685 | - // Save the item. |
|
686 | - return $this->save(); |
|
685 | + // Save the item. |
|
686 | + return $this->save(); |
|
687 | 687 | |
688 | 688 | } |
689 | 689 | |
@@ -691,7 +691,7 @@ discard block |
||
691 | 691 | * Updates an item. For backwards compatibilty. |
692 | 692 | * |
693 | 693 | * @deprecated |
694 | - * @return int item id |
|
694 | + * @return int item id |
|
695 | 695 | */ |
696 | 696 | public function update( $data = array() ) { |
697 | 697 | return $this->create( $data ); |
@@ -707,22 +707,22 @@ discard block |
||
707 | 707 | */ |
708 | 708 | |
709 | 709 | /** |
710 | - * Checks whether this is the default payment form. |
|
711 | - * |
|
712 | - * @since 1.0.19 |
|
713 | - * @return bool |
|
714 | - */ |
|
710 | + * Checks whether this is the default payment form. |
|
711 | + * |
|
712 | + * @since 1.0.19 |
|
713 | + * @return bool |
|
714 | + */ |
|
715 | 715 | public function is_default() { |
716 | 716 | $is_default = $this->get_id() == wpinv_get_default_payment_form(); |
717 | 717 | return (bool) apply_filters( 'wpinv_is_default_payment_form', $is_default, $this->get_id(), $this ); |
718 | - } |
|
718 | + } |
|
719 | 719 | |
720 | 720 | /** |
721 | - * Checks whether the form is active. |
|
722 | - * |
|
723 | - * @since 1.0.19 |
|
724 | - * @return bool |
|
725 | - */ |
|
721 | + * Checks whether the form is active. |
|
722 | + * |
|
723 | + * @since 1.0.19 |
|
724 | + * @return bool |
|
725 | + */ |
|
726 | 726 | public function is_active() { |
727 | 727 | $is_active = 0 !== (int) $this->get_id(); |
728 | 728 | |
@@ -731,76 +731,76 @@ discard block |
||
731 | 731 | } |
732 | 732 | |
733 | 733 | return (bool) apply_filters( 'wpinv_is_payment_form_active', $is_active, $this ); |
734 | - } |
|
735 | - |
|
736 | - /** |
|
737 | - * Checks whether the form has a given item. |
|
738 | - * |
|
739 | - * @since 1.0.19 |
|
740 | - * @return bool |
|
741 | - */ |
|
734 | + } |
|
735 | + |
|
736 | + /** |
|
737 | + * Checks whether the form has a given item. |
|
738 | + * |
|
739 | + * @since 1.0.19 |
|
740 | + * @return bool |
|
741 | + */ |
|
742 | 742 | public function has_item( $item_id ) { |
743 | 743 | return false !== $this->get_item( $item_id ); |
744 | - } |
|
745 | - |
|
746 | - /** |
|
747 | - * Checks whether the form has a given element. |
|
748 | - * |
|
749 | - * @since 1.0.19 |
|
750 | - * @return bool |
|
751 | - */ |
|
744 | + } |
|
745 | + |
|
746 | + /** |
|
747 | + * Checks whether the form has a given element. |
|
748 | + * |
|
749 | + * @since 1.0.19 |
|
750 | + * @return bool |
|
751 | + */ |
|
752 | 752 | public function has_element_type( $element_type ) { |
753 | 753 | return false !== $this->get_element_type( $element_type ); |
754 | - } |
|
755 | - |
|
756 | - /** |
|
757 | - * Checks whether this form is recurring or not. |
|
758 | - * |
|
759 | - * @since 1.0.19 |
|
760 | - * @return bool |
|
761 | - */ |
|
754 | + } |
|
755 | + |
|
756 | + /** |
|
757 | + * Checks whether this form is recurring or not. |
|
758 | + * |
|
759 | + * @since 1.0.19 |
|
760 | + * @return bool |
|
761 | + */ |
|
762 | 762 | public function is_recurring() { |
763 | 763 | |
764 | - if ( ! empty( $this->invoice ) ) { |
|
765 | - return $this->invoice->is_recurring(); |
|
766 | - } |
|
764 | + if ( ! empty( $this->invoice ) ) { |
|
765 | + return $this->invoice->is_recurring(); |
|
766 | + } |
|
767 | 767 | |
768 | - foreach ( $this->get_items() as $item ) { |
|
768 | + foreach ( $this->get_items() as $item ) { |
|
769 | 769 | |
770 | - if ( $item->is_recurring() ) { |
|
771 | - return true; |
|
772 | - } |
|
770 | + if ( $item->is_recurring() ) { |
|
771 | + return true; |
|
772 | + } |
|
773 | 773 | |
774 | - } |
|
774 | + } |
|
775 | 775 | |
776 | 776 | return false; |
777 | - } |
|
777 | + } |
|
778 | 778 | |
779 | - /** |
|
780 | - * Retrieves the form's html. |
|
781 | - * |
|
782 | - * @since 1.0.19 |
|
783 | - */ |
|
779 | + /** |
|
780 | + * Retrieves the form's html. |
|
781 | + * |
|
782 | + * @since 1.0.19 |
|
783 | + */ |
|
784 | 784 | public function get_html( $extra_markup = '' ) { |
785 | 785 | |
786 | - // Return the HTML. |
|
787 | - return wpinv_get_template_html( |
|
788 | - 'payment-forms/form.php', |
|
789 | - array( |
|
790 | - 'form' => $this, |
|
791 | - 'extra_markup' => $extra_markup, |
|
792 | - ) |
|
793 | - ); |
|
794 | - |
|
795 | - } |
|
796 | - |
|
797 | - /** |
|
798 | - * Displays the payment form. |
|
799 | - * |
|
800 | - * @since 1.0.19 |
|
801 | - */ |
|
786 | + // Return the HTML. |
|
787 | + return wpinv_get_template_html( |
|
788 | + 'payment-forms/form.php', |
|
789 | + array( |
|
790 | + 'form' => $this, |
|
791 | + 'extra_markup' => $extra_markup, |
|
792 | + ) |
|
793 | + ); |
|
794 | + |
|
795 | + } |
|
796 | + |
|
797 | + /** |
|
798 | + * Displays the payment form. |
|
799 | + * |
|
800 | + * @since 1.0.19 |
|
801 | + */ |
|
802 | 802 | public function display( $extra_markup = '' ) { |
803 | - echo $this->get_html( $extra_markup ); |
|
803 | + echo $this->get_html( $extra_markup ); |
|
804 | 804 | } |
805 | 805 | |
806 | 806 | } |
@@ -10,232 +10,232 @@ discard block |
||
10 | 10 | |
11 | 11 | if (!class_exists('RapidAddon')) { |
12 | 12 | |
13 | - class RapidAddon { |
|
14 | - |
|
15 | - public $name; |
|
16 | - public $slug; |
|
17 | - public $fields; |
|
18 | - public $options = array(); |
|
19 | - public $accordions = array(); |
|
20 | - public $image_sections = array(); |
|
21 | - public $import_function; |
|
22 | - public $post_saved_function; |
|
23 | - public $notice_text; |
|
24 | - public $logger = null; |
|
25 | - public $when_to_run = false; |
|
26 | - public $image_options = array( |
|
27 | - 'download_images' => 'yes', |
|
28 | - 'download_featured_delim' => ',', |
|
29 | - 'download_featured_image' => '', |
|
30 | - 'gallery_featured_image' => '', |
|
31 | - 'gallery_featured_delim' => ',', |
|
32 | - 'featured_image' => '', |
|
33 | - 'featured_delim' => ',', |
|
34 | - 'search_existing_images' => 1, |
|
35 | - 'is_featured' => 0, |
|
36 | - 'create_draft' => 'no', |
|
37 | - 'set_image_meta_title' => 0, |
|
38 | - 'image_meta_title_delim' => ',', |
|
39 | - 'image_meta_title' => '', |
|
40 | - 'set_image_meta_caption' => 0, |
|
41 | - 'image_meta_caption_delim' => ',', |
|
42 | - 'image_meta_caption' => '', |
|
43 | - 'set_image_meta_alt' => 0, |
|
44 | - 'image_meta_alt_delim' => ',', |
|
45 | - 'image_meta_alt' => '', |
|
46 | - 'set_image_meta_description' => 0, |
|
47 | - 'image_meta_description_delim' => ',', |
|
48 | - 'image_meta_description_delim_logic' => 'separate', |
|
49 | - 'image_meta_description' => '', |
|
50 | - 'auto_rename_images' => 0, |
|
51 | - 'auto_rename_images_suffix' => '', |
|
52 | - 'auto_set_extension' => 0, |
|
53 | - 'new_extension' => '', |
|
54 | - 'do_not_remove_images' => 1, |
|
13 | + class RapidAddon { |
|
14 | + |
|
15 | + public $name; |
|
16 | + public $slug; |
|
17 | + public $fields; |
|
18 | + public $options = array(); |
|
19 | + public $accordions = array(); |
|
20 | + public $image_sections = array(); |
|
21 | + public $import_function; |
|
22 | + public $post_saved_function; |
|
23 | + public $notice_text; |
|
24 | + public $logger = null; |
|
25 | + public $when_to_run = false; |
|
26 | + public $image_options = array( |
|
27 | + 'download_images' => 'yes', |
|
28 | + 'download_featured_delim' => ',', |
|
29 | + 'download_featured_image' => '', |
|
30 | + 'gallery_featured_image' => '', |
|
31 | + 'gallery_featured_delim' => ',', |
|
32 | + 'featured_image' => '', |
|
33 | + 'featured_delim' => ',', |
|
34 | + 'search_existing_images' => 1, |
|
35 | + 'is_featured' => 0, |
|
36 | + 'create_draft' => 'no', |
|
37 | + 'set_image_meta_title' => 0, |
|
38 | + 'image_meta_title_delim' => ',', |
|
39 | + 'image_meta_title' => '', |
|
40 | + 'set_image_meta_caption' => 0, |
|
41 | + 'image_meta_caption_delim' => ',', |
|
42 | + 'image_meta_caption' => '', |
|
43 | + 'set_image_meta_alt' => 0, |
|
44 | + 'image_meta_alt_delim' => ',', |
|
45 | + 'image_meta_alt' => '', |
|
46 | + 'set_image_meta_description' => 0, |
|
47 | + 'image_meta_description_delim' => ',', |
|
48 | + 'image_meta_description_delim_logic' => 'separate', |
|
49 | + 'image_meta_description' => '', |
|
50 | + 'auto_rename_images' => 0, |
|
51 | + 'auto_rename_images_suffix' => '', |
|
52 | + 'auto_set_extension' => 0, |
|
53 | + 'new_extension' => '', |
|
54 | + 'do_not_remove_images' => 1, |
|
55 | 55 | 'search_existing_images_logic' => 'by_url' |
56 | - ); |
|
56 | + ); |
|
57 | 57 | |
58 | - protected $isWizard = true; |
|
58 | + protected $isWizard = true; |
|
59 | 59 | |
60 | - function __construct($name, $slug) { |
|
61 | - $this->name = $name; |
|
62 | - $this->slug = $slug; |
|
63 | - if (!empty($_GET['id'])){ |
|
64 | - $this->isWizard = false; |
|
65 | - } |
|
60 | + function __construct($name, $slug) { |
|
61 | + $this->name = $name; |
|
62 | + $this->slug = $slug; |
|
63 | + if (!empty($_GET['id'])){ |
|
64 | + $this->isWizard = false; |
|
65 | + } |
|
66 | 66 | } |
67 | 67 | |
68 | - function set_import_function($name) { |
|
69 | - $this->import_function = $name; |
|
70 | - } |
|
68 | + function set_import_function($name) { |
|
69 | + $this->import_function = $name; |
|
70 | + } |
|
71 | 71 | |
72 | - function set_post_saved_function($name) { |
|
73 | - $this->post_saved_function = $name; |
|
74 | - } |
|
72 | + function set_post_saved_function($name) { |
|
73 | + $this->post_saved_function = $name; |
|
74 | + } |
|
75 | 75 | |
76 | - function is_active_addon($post_type = null) { |
|
76 | + function is_active_addon($post_type = null) { |
|
77 | 77 | |
78 | - if ( ! class_exists( 'PMXI_Plugin' ) ) { |
|
79 | - return false; |
|
80 | - } |
|
78 | + if ( ! class_exists( 'PMXI_Plugin' ) ) { |
|
79 | + return false; |
|
80 | + } |
|
81 | 81 | |
82 | - $addon_active = false; |
|
82 | + $addon_active = false; |
|
83 | 83 | |
84 | - if ($post_type !== null) { |
|
85 | - if (@in_array($post_type, $this->active_post_types) or empty($this->active_post_types)) { |
|
86 | - $addon_active = true; |
|
87 | - } |
|
88 | - } |
|
84 | + if ($post_type !== null) { |
|
85 | + if (@in_array($post_type, $this->active_post_types) or empty($this->active_post_types)) { |
|
86 | + $addon_active = true; |
|
87 | + } |
|
88 | + } |
|
89 | 89 | |
90 | - if ($addon_active){ |
|
90 | + if ($addon_active){ |
|
91 | 91 | |
92 | - $current_theme = wp_get_theme(); |
|
92 | + $current_theme = wp_get_theme(); |
|
93 | 93 | |
94 | - $parent_theme = $current_theme->parent(); |
|
94 | + $parent_theme = $current_theme->parent(); |
|
95 | 95 | |
96 | - $theme_name = $current_theme->get('Name'); |
|
96 | + $theme_name = $current_theme->get('Name'); |
|
97 | 97 | |
98 | - $addon_active = (@in_array($theme_name, $this->active_themes) or empty($this->active_themes)) ? true : false; |
|
98 | + $addon_active = (@in_array($theme_name, $this->active_themes) or empty($this->active_themes)) ? true : false; |
|
99 | 99 | |
100 | - if ( ! $addon_active and $parent_theme ){ |
|
101 | - $parent_theme_name = $parent_theme->get('Name'); |
|
102 | - $addon_active = (@in_array($parent_theme_name, $this->active_themes) or empty($this->active_themes)) ? true : false; |
|
100 | + if ( ! $addon_active and $parent_theme ){ |
|
101 | + $parent_theme_name = $parent_theme->get('Name'); |
|
102 | + $addon_active = (@in_array($parent_theme_name, $this->active_themes) or empty($this->active_themes)) ? true : false; |
|
103 | 103 | |
104 | - } |
|
104 | + } |
|
105 | 105 | |
106 | - if ( $addon_active and ! empty($this->active_plugins) ){ |
|
106 | + if ( $addon_active and ! empty($this->active_plugins) ){ |
|
107 | 107 | |
108 | - include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); |
|
108 | + include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); |
|
109 | 109 | |
110 | - foreach ($this->active_plugins as $plugin) { |
|
111 | - if ( ! is_plugin_active($plugin) ) { |
|
112 | - $addon_active = false; |
|
113 | - break; |
|
114 | - } |
|
115 | - } |
|
116 | - } |
|
110 | + foreach ($this->active_plugins as $plugin) { |
|
111 | + if ( ! is_plugin_active($plugin) ) { |
|
112 | + $addon_active = false; |
|
113 | + break; |
|
114 | + } |
|
115 | + } |
|
116 | + } |
|
117 | 117 | |
118 | - } |
|
118 | + } |
|
119 | 119 | |
120 | - if ($this->when_to_run == "always") { |
|
121 | - $addon_active = true; |
|
122 | - } |
|
120 | + if ($this->when_to_run == "always") { |
|
121 | + $addon_active = true; |
|
122 | + } |
|
123 | 123 | |
124 | - return apply_filters('rapid_is_active_add_on', $addon_active, $post_type, $this->slug); |
|
125 | - } |
|
124 | + return apply_filters('rapid_is_active_add_on', $addon_active, $post_type, $this->slug); |
|
125 | + } |
|
126 | 126 | |
127 | - /** |
|
128 | - * |
|
129 | - * Add-On Initialization |
|
130 | - * |
|
131 | - * @param array $conditions - list of supported themes and post types |
|
132 | - * |
|
133 | - */ |
|
134 | - function run($conditions = array()) { |
|
135 | - |
|
136 | - if (empty($conditions)) { |
|
137 | - $this->when_to_run = "always"; |
|
138 | - } |
|
127 | + /** |
|
128 | + * |
|
129 | + * Add-On Initialization |
|
130 | + * |
|
131 | + * @param array $conditions - list of supported themes and post types |
|
132 | + * |
|
133 | + */ |
|
134 | + function run($conditions = array()) { |
|
135 | + |
|
136 | + if (empty($conditions)) { |
|
137 | + $this->when_to_run = "always"; |
|
138 | + } |
|
139 | 139 | |
140 | - @$this->active_post_types = ( ! empty($conditions['post_types'])) ? $conditions['post_types'] : array(); |
|
141 | - @$this->active_themes = ( ! empty($conditions['themes'])) ? $conditions['themes'] : array(); |
|
142 | - @$this->active_plugins = ( ! empty($conditions['plugins'])) ? $conditions['plugins'] : array(); |
|
140 | + @$this->active_post_types = ( ! empty($conditions['post_types'])) ? $conditions['post_types'] : array(); |
|
141 | + @$this->active_themes = ( ! empty($conditions['themes'])) ? $conditions['themes'] : array(); |
|
142 | + @$this->active_plugins = ( ! empty($conditions['plugins'])) ? $conditions['plugins'] : array(); |
|
143 | 143 | |
144 | - add_filter('pmxi_addons', array($this, 'wpai_api_register')); |
|
145 | - add_filter('wp_all_import_addon_parse', array($this, 'wpai_api_parse')); |
|
146 | - add_filter('wp_all_import_addon_import', array($this, 'wpai_api_import')); |
|
147 | - add_filter('wp_all_import_addon_saved_post', array($this, 'wpai_api_post_saved')); |
|
148 | - add_filter('pmxi_options_options', array($this, 'wpai_api_options')); |
|
144 | + add_filter('pmxi_addons', array($this, 'wpai_api_register')); |
|
145 | + add_filter('wp_all_import_addon_parse', array($this, 'wpai_api_parse')); |
|
146 | + add_filter('wp_all_import_addon_import', array($this, 'wpai_api_import')); |
|
147 | + add_filter('wp_all_import_addon_saved_post', array($this, 'wpai_api_post_saved')); |
|
148 | + add_filter('pmxi_options_options', array($this, 'wpai_api_options')); |
|
149 | 149 | add_filter('wp_all_import_image_sections', array($this, 'additional_sections'), 10, 1); |
150 | 150 | add_filter('pmxi_custom_types', array($this, 'filter_post_types'), 10, 2); |
151 | 151 | add_filter('pmxi_post_list_order', array($this,'sort_post_types'), 10, 1); |
152 | 152 | add_filter('wp_all_import_post_type_image', array($this, 'post_type_image'), 10, 1 ); |
153 | - add_action('pmxi_extend_options_featured', array($this, 'wpai_api_metabox'), 10, 2); |
|
153 | + add_action('pmxi_extend_options_featured', array($this, 'wpai_api_metabox'), 10, 2); |
|
154 | 154 | add_action('admin_init', array($this, 'admin_notice_ignore')); |
155 | 155 | } |
156 | 156 | |
157 | - function parse($data) { |
|
157 | + function parse($data) { |
|
158 | 158 | |
159 | - if ( ! $this->is_active_addon($data['import']->options['custom_type'])) return false; |
|
159 | + if ( ! $this->is_active_addon($data['import']->options['custom_type'])) return false; |
|
160 | 160 | |
161 | - $parsedData = $this->helper_parse($data, $this->options_array()); |
|
162 | - return $parsedData; |
|
161 | + $parsedData = $this->helper_parse($data, $this->options_array()); |
|
162 | + return $parsedData; |
|
163 | 163 | |
164 | - } |
|
164 | + } |
|
165 | 165 | |
166 | 166 | |
167 | - function add_field($field_slug, $field_name, $field_type, $enum_values = null, $tooltip = "", $is_html = true, $default_text = '') { |
|
167 | + function add_field($field_slug, $field_name, $field_type, $enum_values = null, $tooltip = "", $is_html = true, $default_text = '') { |
|
168 | 168 | |
169 | - $field = array("name" => $field_name, "type" => $field_type, "enum_values" => $enum_values, "tooltip" => $tooltip, "is_sub_field" => false, "is_main_field" => false, "slug" => $field_slug, "is_html" => $is_html, 'default_text' => $default_text); |
|
169 | + $field = array("name" => $field_name, "type" => $field_type, "enum_values" => $enum_values, "tooltip" => $tooltip, "is_sub_field" => false, "is_main_field" => false, "slug" => $field_slug, "is_html" => $is_html, 'default_text' => $default_text); |
|
170 | 170 | |
171 | - $this->fields[$field_slug] = $field; |
|
171 | + $this->fields[$field_slug] = $field; |
|
172 | 172 | |
173 | - if ( ! empty($enum_values) ){ |
|
174 | - foreach ($enum_values as $key => $value) { |
|
175 | - if (is_array($value)) |
|
176 | - { |
|
177 | - if ($field['type'] == 'accordion') |
|
178 | - { |
|
179 | - $this->fields[$value['slug']]['is_sub_field'] = true; |
|
180 | - } |
|
181 | - else |
|
182 | - { |
|
183 | - foreach ($value as $n => $param) { |
|
184 | - if (is_array($param) and ! empty($this->fields[$param['slug']])){ |
|
185 | - $this->fields[$param['slug']]['is_sub_field'] = true; |
|
186 | - } |
|
187 | - } |
|
188 | - } |
|
189 | - } |
|
190 | - } |
|
191 | - } |
|
173 | + if ( ! empty($enum_values) ){ |
|
174 | + foreach ($enum_values as $key => $value) { |
|
175 | + if (is_array($value)) |
|
176 | + { |
|
177 | + if ($field['type'] == 'accordion') |
|
178 | + { |
|
179 | + $this->fields[$value['slug']]['is_sub_field'] = true; |
|
180 | + } |
|
181 | + else |
|
182 | + { |
|
183 | + foreach ($value as $n => $param) { |
|
184 | + if (is_array($param) and ! empty($this->fields[$param['slug']])){ |
|
185 | + $this->fields[$param['slug']]['is_sub_field'] = true; |
|
186 | + } |
|
187 | + } |
|
188 | + } |
|
189 | + } |
|
190 | + } |
|
191 | + } |
|
192 | 192 | |
193 | - return $field; |
|
193 | + return $field; |
|
194 | 194 | |
195 | - } |
|
195 | + } |
|
196 | 196 | |
197 | - function add_acf_field($field){ |
|
198 | - $this->fields[$field->post_name] = array( |
|
199 | - 'type' => 'acf', |
|
200 | - 'field_obj' => $field |
|
201 | - ); |
|
202 | - } |
|
197 | + function add_acf_field($field){ |
|
198 | + $this->fields[$field->post_name] = array( |
|
199 | + 'type' => 'acf', |
|
200 | + 'field_obj' => $field |
|
201 | + ); |
|
202 | + } |
|
203 | 203 | |
204 | - private $acfGroups = array(); |
|
204 | + private $acfGroups = array(); |
|
205 | 205 | |
206 | - function use_acf_group($acf_group){ |
|
207 | - $this->add_text( |
|
208 | - '<div class="postbox acf_postbox default acf_signle_group rad4"> |
|
206 | + function use_acf_group($acf_group){ |
|
207 | + $this->add_text( |
|
208 | + '<div class="postbox acf_postbox default acf_signle_group rad4"> |
|
209 | 209 | <h3 class="hndle" style="margin-top:0;"><span>'.$acf_group['title'].'</span></h3> |
210 | 210 | <div class="inside">'); |
211 | - $acf_fields = get_posts(array('posts_per_page' => -1, 'post_type' => 'acf-field', 'post_parent' => $acf_group['ID'], 'post_status' => 'publish', 'orderby' => 'menu_order', 'order' => 'ASC')); |
|
212 | - if (!empty($acf_fields)){ |
|
213 | - foreach ($acf_fields as $field) { |
|
214 | - $this->add_acf_field($field); |
|
215 | - } |
|
216 | - } |
|
217 | - $this->add_text('</div></div>'); |
|
218 | - $this->acfGroups[] = $acf_group['ID']; |
|
219 | - add_filter('wp_all_import_acf_is_show_group', array($this, 'acf_is_show_group'), 10, 2); |
|
220 | - } |
|
221 | - |
|
222 | - function acf_is_show_group($is_show, $acf_group){ |
|
223 | - return (in_array($acf_group['ID'], $this->acfGroups)) ? false : true; |
|
224 | - } |
|
225 | - |
|
226 | - /** |
|
227 | - * |
|
228 | - * Add an option to WP All Import options list |
|
229 | - * |
|
230 | - * @param string $slug - option name |
|
231 | - * @param string $default_value - default option value |
|
232 | - * |
|
233 | - */ |
|
234 | - function add_option($slug, $default_value = ''){ |
|
235 | - $this->options[$slug] = $default_value; |
|
236 | - } |
|
211 | + $acf_fields = get_posts(array('posts_per_page' => -1, 'post_type' => 'acf-field', 'post_parent' => $acf_group['ID'], 'post_status' => 'publish', 'orderby' => 'menu_order', 'order' => 'ASC')); |
|
212 | + if (!empty($acf_fields)){ |
|
213 | + foreach ($acf_fields as $field) { |
|
214 | + $this->add_acf_field($field); |
|
215 | + } |
|
216 | + } |
|
217 | + $this->add_text('</div></div>'); |
|
218 | + $this->acfGroups[] = $acf_group['ID']; |
|
219 | + add_filter('wp_all_import_acf_is_show_group', array($this, 'acf_is_show_group'), 10, 2); |
|
220 | + } |
|
237 | 221 | |
238 | - function options_array() { |
|
222 | + function acf_is_show_group($is_show, $acf_group){ |
|
223 | + return (in_array($acf_group['ID'], $this->acfGroups)) ? false : true; |
|
224 | + } |
|
225 | + |
|
226 | + /** |
|
227 | + * |
|
228 | + * Add an option to WP All Import options list |
|
229 | + * |
|
230 | + * @param string $slug - option name |
|
231 | + * @param string $default_value - default option value |
|
232 | + * |
|
233 | + */ |
|
234 | + function add_option($slug, $default_value = ''){ |
|
235 | + $this->options[$slug] = $default_value; |
|
236 | + } |
|
237 | + |
|
238 | + function options_array() { |
|
239 | 239 | |
240 | 240 | $options_list = array(); |
241 | 241 | |
@@ -255,528 +255,528 @@ discard block |
||
255 | 255 | |
256 | 256 | } |
257 | 257 | |
258 | - if ( ! empty($this->options) ){ |
|
259 | - foreach ($this->options as $slug => $value) { |
|
260 | - $options_arr[$slug] = $value; |
|
261 | - } |
|
262 | - } |
|
258 | + if ( ! empty($this->options) ){ |
|
259 | + foreach ($this->options as $slug => $value) { |
|
260 | + $options_arr[$slug] = $value; |
|
261 | + } |
|
262 | + } |
|
263 | 263 | |
264 | - $options_arr[$this->slug] = $options_list; |
|
265 | - $options_arr['rapid_addon'] = plugin_basename( __FILE__ ); |
|
264 | + $options_arr[$this->slug] = $options_list; |
|
265 | + $options_arr['rapid_addon'] = plugin_basename( __FILE__ ); |
|
266 | 266 | |
267 | - return $options_arr; |
|
267 | + return $options_arr; |
|
268 | 268 | |
269 | - } |
|
269 | + } |
|
270 | 270 | |
271 | - function wpai_api_options($all_options) { |
|
271 | + function wpai_api_options($all_options) { |
|
272 | 272 | |
273 | - $all_options = $all_options + $this->options_array(); |
|
273 | + $all_options = $all_options + $this->options_array(); |
|
274 | 274 | |
275 | - return $all_options; |
|
275 | + return $all_options; |
|
276 | 276 | |
277 | - } |
|
277 | + } |
|
278 | 278 | |
279 | 279 | |
280 | - function wpai_api_register($addons) { |
|
280 | + function wpai_api_register($addons) { |
|
281 | 281 | |
282 | - if (empty($addons[$this->slug])) { |
|
283 | - $addons[$this->slug] = 1; |
|
284 | - } |
|
282 | + if (empty($addons[$this->slug])) { |
|
283 | + $addons[$this->slug] = 1; |
|
284 | + } |
|
285 | 285 | |
286 | - return $addons; |
|
286 | + return $addons; |
|
287 | 287 | |
288 | - } |
|
288 | + } |
|
289 | 289 | |
290 | 290 | |
291 | - function wpai_api_parse($functions) { |
|
291 | + function wpai_api_parse($functions) { |
|
292 | 292 | |
293 | - $functions[$this->slug] = array($this, 'parse'); |
|
294 | - return $functions; |
|
293 | + $functions[$this->slug] = array($this, 'parse'); |
|
294 | + return $functions; |
|
295 | 295 | |
296 | - } |
|
296 | + } |
|
297 | 297 | |
298 | - function wpai_api_post_saved($functions){ |
|
299 | - $functions[$this->slug] = array($this, 'post_saved'); |
|
300 | - return $functions; |
|
301 | - } |
|
298 | + function wpai_api_post_saved($functions){ |
|
299 | + $functions[$this->slug] = array($this, 'post_saved'); |
|
300 | + return $functions; |
|
301 | + } |
|
302 | 302 | |
303 | 303 | |
304 | - function wpai_api_import($functions) { |
|
304 | + function wpai_api_import($functions) { |
|
305 | 305 | |
306 | - $functions[$this->slug] = array($this, 'import'); |
|
307 | - return $functions; |
|
306 | + $functions[$this->slug] = array($this, 'import'); |
|
307 | + return $functions; |
|
308 | 308 | |
309 | - } |
|
309 | + } |
|
310 | 310 | |
311 | - function post_saved( $importData ){ |
|
311 | + function post_saved( $importData ){ |
|
312 | 312 | |
313 | - if (is_callable($this->post_saved_function)) |
|
314 | - call_user_func($this->post_saved_function, $importData['pid'], $importData['import'], $importData['logger']); |
|
313 | + if (is_callable($this->post_saved_function)) |
|
314 | + call_user_func($this->post_saved_function, $importData['pid'], $importData['import'], $importData['logger']); |
|
315 | 315 | |
316 | - } |
|
316 | + } |
|
317 | 317 | |
318 | - function import($importData, $parsedData) { |
|
318 | + function import($importData, $parsedData) { |
|
319 | 319 | |
320 | - if (!$this->is_active_addon($importData['post_type'])) { |
|
321 | - return; |
|
322 | - } |
|
320 | + if (!$this->is_active_addon($importData['post_type'])) { |
|
321 | + return; |
|
322 | + } |
|
323 | 323 | |
324 | - $import_options = $importData['import']['options'][$this->slug]; |
|
324 | + $import_options = $importData['import']['options'][$this->slug]; |
|
325 | 325 | |
326 | - // echo "<pre>"; |
|
327 | - // print_r($import_options); |
|
328 | - // echo "</pre>"; |
|
326 | + // echo "<pre>"; |
|
327 | + // print_r($import_options); |
|
328 | + // echo "</pre>"; |
|
329 | 329 | |
330 | - if ( ! empty($parsedData) ) { |
|
330 | + if ( ! empty($parsedData) ) { |
|
331 | 331 | |
332 | - $this->logger = $importData['logger']; |
|
332 | + $this->logger = $importData['logger']; |
|
333 | 333 | |
334 | - $post_id = $importData['pid']; |
|
335 | - $index = $importData['i']; |
|
336 | - $data = array(); |
|
337 | - if (!empty($this->fields)){ |
|
338 | - foreach ($this->fields as $field_slug => $field_params) { |
|
339 | - if (in_array($field_params['type'], array('title', 'plain_text'))) continue; |
|
340 | - switch ($field_params['type']) { |
|
334 | + $post_id = $importData['pid']; |
|
335 | + $index = $importData['i']; |
|
336 | + $data = array(); |
|
337 | + if (!empty($this->fields)){ |
|
338 | + foreach ($this->fields as $field_slug => $field_params) { |
|
339 | + if (in_array($field_params['type'], array('title', 'plain_text'))) continue; |
|
340 | + switch ($field_params['type']) { |
|
341 | 341 | |
342 | - case 'image': |
|
342 | + case 'image': |
|
343 | 343 | |
344 | - // import the specified image, then set the value of the field to the image ID in the media library |
|
344 | + // import the specified image, then set the value of the field to the image ID in the media library |
|
345 | 345 | |
346 | - $image_url_or_path = $parsedData[$field_slug][$index]; |
|
346 | + $image_url_or_path = $parsedData[$field_slug][$index]; |
|
347 | 347 | |
348 | - if ( ! array_key_exists( $field_slug, $import_options['download_image'] ) ) { |
|
349 | - continue 2; |
|
350 | - } |
|
348 | + if ( ! array_key_exists( $field_slug, $import_options['download_image'] ) ) { |
|
349 | + continue 2; |
|
350 | + } |
|
351 | 351 | |
352 | - $download = $import_options['download_image'][$field_slug]; |
|
352 | + $download = $import_options['download_image'][$field_slug]; |
|
353 | 353 | |
354 | - $uploaded_image = PMXI_API::upload_image($post_id, $image_url_or_path, $download, $importData['logger'], true, "", "images", true, $importData['articleData']); |
|
354 | + $uploaded_image = PMXI_API::upload_image($post_id, $image_url_or_path, $download, $importData['logger'], true, "", "images", true, $importData['articleData']); |
|
355 | 355 | |
356 | - $data[$field_slug] = array( |
|
357 | - "attachment_id" => $uploaded_image, |
|
358 | - "image_url_or_path" => $image_url_or_path, |
|
359 | - "download" => $download |
|
360 | - ); |
|
356 | + $data[$field_slug] = array( |
|
357 | + "attachment_id" => $uploaded_image, |
|
358 | + "image_url_or_path" => $image_url_or_path, |
|
359 | + "download" => $download |
|
360 | + ); |
|
361 | 361 | |
362 | - break; |
|
362 | + break; |
|
363 | 363 | |
364 | - case 'file': |
|
364 | + case 'file': |
|
365 | 365 | |
366 | - $image_url_or_path = $parsedData[$field_slug][$index]; |
|
366 | + $image_url_or_path = $parsedData[$field_slug][$index]; |
|
367 | 367 | |
368 | - if ( ! array_key_exists( $field_slug, $import_options['download_image'] ) ) { |
|
369 | - continue 2; |
|
370 | - } |
|
368 | + if ( ! array_key_exists( $field_slug, $import_options['download_image'] ) ) { |
|
369 | + continue 2; |
|
370 | + } |
|
371 | 371 | |
372 | - $download = $import_options['download_image'][$field_slug]; |
|
372 | + $download = $import_options['download_image'][$field_slug]; |
|
373 | 373 | |
374 | - $uploaded_file = PMXI_API::upload_image($post_id, $image_url_or_path, $download, $importData['logger'], true, "", "files", true, $importData['articleData']); |
|
374 | + $uploaded_file = PMXI_API::upload_image($post_id, $image_url_or_path, $download, $importData['logger'], true, "", "files", true, $importData['articleData']); |
|
375 | 375 | |
376 | - $data[$field_slug] = array( |
|
377 | - "attachment_id" => $uploaded_file, |
|
378 | - "image_url_or_path" => $image_url_or_path, |
|
379 | - "download" => $download |
|
380 | - ); |
|
376 | + $data[$field_slug] = array( |
|
377 | + "attachment_id" => $uploaded_file, |
|
378 | + "image_url_or_path" => $image_url_or_path, |
|
379 | + "download" => $download |
|
380 | + ); |
|
381 | 381 | |
382 | - break; |
|
382 | + break; |
|
383 | 383 | |
384 | - default: |
|
385 | - // set the field data to the value of the field after it's been parsed |
|
386 | - $data[$field_slug] = $parsedData[$field_slug][$index]; |
|
387 | - break; |
|
388 | - } |
|
384 | + default: |
|
385 | + // set the field data to the value of the field after it's been parsed |
|
386 | + $data[$field_slug] = $parsedData[$field_slug][$index]; |
|
387 | + break; |
|
388 | + } |
|
389 | + |
|
390 | + // apply mapping rules if they exist |
|
391 | + if (!empty($import_options['mapping'][$field_slug])) { |
|
392 | + $mapping_rules = json_decode($import_options['mapping'][$field_slug], true); |
|
393 | + |
|
394 | + if (!empty($mapping_rules) and is_array($mapping_rules)) { |
|
395 | + foreach ($mapping_rules as $rule_number => $map_to) { |
|
396 | + if (isset($map_to[trim($data[$field_slug])])){ |
|
397 | + $data[$field_slug] = trim($map_to[trim($data[$field_slug])]); |
|
398 | + break; |
|
399 | + } |
|
400 | + } |
|
401 | + } |
|
402 | + } |
|
403 | + // -------------------- |
|
404 | + } |
|
405 | + } |
|
389 | 406 | |
390 | - // apply mapping rules if they exist |
|
391 | - if (!empty($import_options['mapping'][$field_slug])) { |
|
392 | - $mapping_rules = json_decode($import_options['mapping'][$field_slug], true); |
|
407 | + call_user_func($this->import_function, $post_id, $data, $importData['import'], $importData['articleData'], $importData['logger']); |
|
408 | + } |
|
393 | 409 | |
394 | - if (!empty($mapping_rules) and is_array($mapping_rules)) { |
|
395 | - foreach ($mapping_rules as $rule_number => $map_to) { |
|
396 | - if (isset($map_to[trim($data[$field_slug])])){ |
|
397 | - $data[$field_slug] = trim($map_to[trim($data[$field_slug])]); |
|
398 | - break; |
|
399 | - } |
|
400 | - } |
|
401 | - } |
|
402 | - } |
|
403 | - // -------------------- |
|
404 | - } |
|
405 | - } |
|
410 | + } |
|
406 | 411 | |
407 | - call_user_func($this->import_function, $post_id, $data, $importData['import'], $importData['articleData'], $importData['logger']); |
|
408 | - } |
|
409 | 412 | |
410 | - } |
|
413 | + function wpai_api_metabox($post_type, $current_values) { |
|
411 | 414 | |
415 | + if (!$this->is_active_addon($post_type)) { |
|
416 | + return; |
|
417 | + } |
|
412 | 418 | |
413 | - function wpai_api_metabox($post_type, $current_values) { |
|
419 | + echo $this->helper_metabox_top($this->name); |
|
414 | 420 | |
415 | - if (!$this->is_active_addon($post_type)) { |
|
416 | - return; |
|
417 | - } |
|
421 | + $visible_fields = 0; |
|
418 | 422 | |
419 | - echo $this->helper_metabox_top($this->name); |
|
423 | + foreach ($this->fields as $field_slug => $field_params) { |
|
424 | + if ($field_params['is_sub_field']) continue; |
|
425 | + $visible_fields++; |
|
426 | + } |
|
420 | 427 | |
421 | - $visible_fields = 0; |
|
428 | + $counter = 0; |
|
422 | 429 | |
423 | - foreach ($this->fields as $field_slug => $field_params) { |
|
424 | - if ($field_params['is_sub_field']) continue; |
|
425 | - $visible_fields++; |
|
426 | - } |
|
430 | + foreach ($this->fields as $field_slug => $field_params) { |
|
427 | 431 | |
428 | - $counter = 0; |
|
432 | + // do not render sub fields |
|
433 | + if ($field_params['is_sub_field']) continue; |
|
429 | 434 | |
430 | - foreach ($this->fields as $field_slug => $field_params) { |
|
435 | + $counter++; |
|
431 | 436 | |
432 | - // do not render sub fields |
|
433 | - if ($field_params['is_sub_field']) continue; |
|
437 | + $this->render_field($field_params, $field_slug, $current_values, $visible_fields == $counter); |
|
434 | 438 | |
435 | - $counter++; |
|
439 | + //if ( $field_params['type'] != 'accordion' ) echo "<br />"; |
|
436 | 440 | |
437 | - $this->render_field($field_params, $field_slug, $current_values, $visible_fields == $counter); |
|
441 | + } |
|
438 | 442 | |
439 | - //if ( $field_params['type'] != 'accordion' ) echo "<br />"; |
|
443 | + echo $this->helper_metabox_bottom(); |
|
444 | + |
|
445 | + if ( ! empty($this->image_sections) ){ |
|
446 | + $is_images_section_enabled = apply_filters('wp_all_import_is_images_section_enabled', true, $post_type); |
|
447 | + foreach ($this->image_sections as $k => $section) { |
|
448 | + $section_options = array(); |
|
449 | + foreach ($this->image_options as $slug => $value) { |
|
450 | + $section_options[$section['slug'] . $slug] = $value; |
|
451 | + } |
|
452 | + if ( ! $is_images_section_enabled and ! $k ){ |
|
453 | + $section_options[$section['slug'] . 'is_featured'] = 1; |
|
454 | + } |
|
455 | + PMXI_API::add_additional_images_section($section['title'], $section['slug'], $current_values, '', true, false, $section['type']); |
|
456 | + } |
|
457 | + } |
|
440 | 458 | |
441 | - } |
|
459 | + } |
|
442 | 460 | |
443 | - echo $this->helper_metabox_bottom(); |
|
461 | + function render_field($field_params, $field_slug, $current_values, $in_the_bottom = false){ |
|
444 | 462 | |
445 | - if ( ! empty($this->image_sections) ){ |
|
446 | - $is_images_section_enabled = apply_filters('wp_all_import_is_images_section_enabled', true, $post_type); |
|
447 | - foreach ($this->image_sections as $k => $section) { |
|
448 | - $section_options = array(); |
|
449 | - foreach ($this->image_options as $slug => $value) { |
|
450 | - $section_options[$section['slug'] . $slug] = $value; |
|
451 | - } |
|
452 | - if ( ! $is_images_section_enabled and ! $k ){ |
|
453 | - $section_options[$section['slug'] . 'is_featured'] = 1; |
|
454 | - } |
|
455 | - PMXI_API::add_additional_images_section($section['title'], $section['slug'], $current_values, '', true, false, $section['type']); |
|
456 | - } |
|
457 | - } |
|
458 | - |
|
459 | - } |
|
460 | - |
|
461 | - function render_field($field_params, $field_slug, $current_values, $in_the_bottom = false){ |
|
462 | - |
|
463 | - if (!isset($current_values[$this->slug][$field_slug])) { |
|
464 | - $current_values[$this->slug][$field_slug] = isset($field_params['default_text']) ? $field_params['default_text'] : ''; |
|
465 | - } |
|
466 | - |
|
467 | - if ($field_params['type'] == 'text') { |
|
468 | - |
|
469 | - PMXI_API::add_field( |
|
470 | - 'simple', |
|
471 | - $field_params['name'], |
|
472 | - array( |
|
473 | - 'tooltip' => $field_params['tooltip'], |
|
474 | - 'field_name' => $this->slug."[".$field_slug."]", |
|
475 | - 'field_value' => ( $current_values[$this->slug][$field_slug] == '' && $this->isWizard ) ? $field_params['default_text'] : $current_values[$this->slug][$field_slug] |
|
476 | - ) |
|
477 | - ); |
|
478 | - |
|
479 | - } else if ($field_params['type'] == 'textarea') { |
|
480 | - |
|
481 | - PMXI_API::add_field( |
|
482 | - 'textarea', |
|
483 | - $field_params['name'], |
|
484 | - array( |
|
485 | - 'tooltip' => $field_params['tooltip'], |
|
486 | - 'field_name' => $this->slug."[".$field_slug."]", |
|
487 | - 'field_value' => ( $current_values[$this->slug][$field_slug] == '' && $this->isWizard ) ? $field_params['default_text'] : $current_values[$this->slug][$field_slug] |
|
488 | - ) |
|
489 | - ); |
|
490 | - |
|
491 | - } else if ($field_params['type'] == 'wp_editor') { |
|
492 | - |
|
493 | - PMXI_API::add_field( |
|
494 | - 'wp_editor', |
|
495 | - $field_params['name'], |
|
496 | - array( |
|
497 | - 'tooltip' => $field_params['tooltip'], |
|
498 | - 'field_name' => $this->slug."[".$field_slug."]", |
|
499 | - 'field_value' => ( $current_values[$this->slug][$field_slug] == '' && $this->isWizard ) ? $field_params['default_text'] : $current_values[$this->slug][$field_slug] |
|
500 | - ) |
|
501 | - ); |
|
502 | - |
|
503 | - } else if ($field_params['type'] == 'image' or $field_params['type'] == 'file') { |
|
463 | + if (!isset($current_values[$this->slug][$field_slug])) { |
|
464 | + $current_values[$this->slug][$field_slug] = isset($field_params['default_text']) ? $field_params['default_text'] : ''; |
|
465 | + } |
|
466 | + |
|
467 | + if ($field_params['type'] == 'text') { |
|
468 | + |
|
469 | + PMXI_API::add_field( |
|
470 | + 'simple', |
|
471 | + $field_params['name'], |
|
472 | + array( |
|
473 | + 'tooltip' => $field_params['tooltip'], |
|
474 | + 'field_name' => $this->slug."[".$field_slug."]", |
|
475 | + 'field_value' => ( $current_values[$this->slug][$field_slug] == '' && $this->isWizard ) ? $field_params['default_text'] : $current_values[$this->slug][$field_slug] |
|
476 | + ) |
|
477 | + ); |
|
478 | + |
|
479 | + } else if ($field_params['type'] == 'textarea') { |
|
480 | + |
|
481 | + PMXI_API::add_field( |
|
482 | + 'textarea', |
|
483 | + $field_params['name'], |
|
484 | + array( |
|
485 | + 'tooltip' => $field_params['tooltip'], |
|
486 | + 'field_name' => $this->slug."[".$field_slug."]", |
|
487 | + 'field_value' => ( $current_values[$this->slug][$field_slug] == '' && $this->isWizard ) ? $field_params['default_text'] : $current_values[$this->slug][$field_slug] |
|
488 | + ) |
|
489 | + ); |
|
490 | + |
|
491 | + } else if ($field_params['type'] == 'wp_editor') { |
|
492 | + |
|
493 | + PMXI_API::add_field( |
|
494 | + 'wp_editor', |
|
495 | + $field_params['name'], |
|
496 | + array( |
|
497 | + 'tooltip' => $field_params['tooltip'], |
|
498 | + 'field_name' => $this->slug."[".$field_slug."]", |
|
499 | + 'field_value' => ( $current_values[$this->slug][$field_slug] == '' && $this->isWizard ) ? $field_params['default_text'] : $current_values[$this->slug][$field_slug] |
|
500 | + ) |
|
501 | + ); |
|
502 | + |
|
503 | + } else if ($field_params['type'] == 'image' or $field_params['type'] == 'file') { |
|
504 | 504 | |
505 | - if (!isset($current_values[$this->slug]['download_image'][$field_slug])) { $current_values[$this->slug]['download_image'][$field_slug] = ''; } |
|
506 | - |
|
507 | - PMXI_API::add_field( |
|
508 | - $field_params['type'], |
|
509 | - $field_params['name'], |
|
510 | - array( |
|
511 | - 'tooltip' => $field_params['tooltip'], |
|
512 | - 'field_name' => $this->slug."[".$field_slug."]", |
|
513 | - 'field_value' => $current_values[$this->slug][$field_slug], |
|
514 | - 'download_image' => $current_values[$this->slug]['download_image'][$field_slug], |
|
515 | - 'field_key' => $field_slug, |
|
516 | - 'addon_prefix' => $this->slug |
|
517 | - |
|
518 | - ) |
|
519 | - ); |
|
520 | - |
|
521 | - } else if ($field_params['type'] == 'radio') { |
|
505 | + if (!isset($current_values[$this->slug]['download_image'][$field_slug])) { $current_values[$this->slug]['download_image'][$field_slug] = ''; } |
|
506 | + |
|
507 | + PMXI_API::add_field( |
|
508 | + $field_params['type'], |
|
509 | + $field_params['name'], |
|
510 | + array( |
|
511 | + 'tooltip' => $field_params['tooltip'], |
|
512 | + 'field_name' => $this->slug."[".$field_slug."]", |
|
513 | + 'field_value' => $current_values[$this->slug][$field_slug], |
|
514 | + 'download_image' => $current_values[$this->slug]['download_image'][$field_slug], |
|
515 | + 'field_key' => $field_slug, |
|
516 | + 'addon_prefix' => $this->slug |
|
517 | + |
|
518 | + ) |
|
519 | + ); |
|
520 | + |
|
521 | + } else if ($field_params['type'] == 'radio') { |
|
522 | 522 | |
523 | - if (!isset($current_values[$this->slug]['mapping'][$field_slug])) { $current_values[$this->slug]['mapping'][$field_slug] = array(); } |
|
524 | - if (!isset($current_values[$this->slug]['xpaths'][$field_slug])) { $current_values[$this->slug]['xpaths'][$field_slug] = ''; } |
|
525 | - |
|
526 | - PMXI_API::add_field( |
|
527 | - 'enum', |
|
528 | - $field_params['name'], |
|
529 | - array( |
|
530 | - 'tooltip' => $field_params['tooltip'], |
|
531 | - 'field_name' => $this->slug."[".$field_slug."]", |
|
532 | - 'field_value' => $current_values[$this->slug][$field_slug], |
|
533 | - 'enum_values' => $field_params['enum_values'], |
|
534 | - 'mapping' => true, |
|
535 | - 'field_key' => $field_slug, |
|
536 | - 'mapping_rules' => $current_values[$this->slug]['mapping'][$field_slug], |
|
537 | - 'xpath' => $current_values[$this->slug]['xpaths'][$field_slug], |
|
538 | - 'addon_prefix' => $this->slug, |
|
539 | - 'sub_fields' => $this->get_sub_fields($field_params, $field_slug, $current_values) |
|
540 | - ) |
|
541 | - ); |
|
542 | - |
|
543 | - } else if($field_params['type'] == 'accordion') { |
|
544 | - |
|
545 | - PMXI_API::add_field( |
|
546 | - 'accordion', |
|
547 | - $field_params['name'], |
|
548 | - array( |
|
549 | - 'tooltip' => $field_params['tooltip'], |
|
550 | - 'field_name' => $this->slug."[".$field_slug."]", |
|
551 | - 'field_key' => $field_slug, |
|
552 | - 'addon_prefix' => $this->slug, |
|
553 | - 'sub_fields' => $this->get_sub_fields($field_params, $field_slug, $current_values), |
|
554 | - 'in_the_bottom' => $in_the_bottom |
|
555 | - ) |
|
556 | - ); |
|
557 | - |
|
558 | - } else if($field_params['type'] == 'acf') { |
|
559 | - $fieldData = (!empty($field_params['field_obj']->post_content)) ? unserialize($field_params['field_obj']->post_content) : array(); |
|
560 | - $fieldData['ID'] = $field_params['field_obj']->ID; |
|
561 | - $fieldData['id'] = $field_params['field_obj']->ID; |
|
562 | - $fieldData['label'] = $field_params['field_obj']->post_title; |
|
563 | - $fieldData['key'] = $field_params['field_obj']->post_name; |
|
564 | - if (empty($fieldData['name'])) $fieldData['name'] = $field_params['field_obj']->post_excerpt; |
|
565 | - if (function_exists('pmai_render_field')) { |
|
566 | - echo pmai_render_field($fieldData, ( ! empty($current_values) ) ? $current_values : array() ); |
|
567 | - } |
|
568 | - } else if($field_params['type'] == 'title'){ |
|
569 | - ?> |
|
523 | + if (!isset($current_values[$this->slug]['mapping'][$field_slug])) { $current_values[$this->slug]['mapping'][$field_slug] = array(); } |
|
524 | + if (!isset($current_values[$this->slug]['xpaths'][$field_slug])) { $current_values[$this->slug]['xpaths'][$field_slug] = ''; } |
|
525 | + |
|
526 | + PMXI_API::add_field( |
|
527 | + 'enum', |
|
528 | + $field_params['name'], |
|
529 | + array( |
|
530 | + 'tooltip' => $field_params['tooltip'], |
|
531 | + 'field_name' => $this->slug."[".$field_slug."]", |
|
532 | + 'field_value' => $current_values[$this->slug][$field_slug], |
|
533 | + 'enum_values' => $field_params['enum_values'], |
|
534 | + 'mapping' => true, |
|
535 | + 'field_key' => $field_slug, |
|
536 | + 'mapping_rules' => $current_values[$this->slug]['mapping'][$field_slug], |
|
537 | + 'xpath' => $current_values[$this->slug]['xpaths'][$field_slug], |
|
538 | + 'addon_prefix' => $this->slug, |
|
539 | + 'sub_fields' => $this->get_sub_fields($field_params, $field_slug, $current_values) |
|
540 | + ) |
|
541 | + ); |
|
542 | + |
|
543 | + } else if($field_params['type'] == 'accordion') { |
|
544 | + |
|
545 | + PMXI_API::add_field( |
|
546 | + 'accordion', |
|
547 | + $field_params['name'], |
|
548 | + array( |
|
549 | + 'tooltip' => $field_params['tooltip'], |
|
550 | + 'field_name' => $this->slug."[".$field_slug."]", |
|
551 | + 'field_key' => $field_slug, |
|
552 | + 'addon_prefix' => $this->slug, |
|
553 | + 'sub_fields' => $this->get_sub_fields($field_params, $field_slug, $current_values), |
|
554 | + 'in_the_bottom' => $in_the_bottom |
|
555 | + ) |
|
556 | + ); |
|
557 | + |
|
558 | + } else if($field_params['type'] == 'acf') { |
|
559 | + $fieldData = (!empty($field_params['field_obj']->post_content)) ? unserialize($field_params['field_obj']->post_content) : array(); |
|
560 | + $fieldData['ID'] = $field_params['field_obj']->ID; |
|
561 | + $fieldData['id'] = $field_params['field_obj']->ID; |
|
562 | + $fieldData['label'] = $field_params['field_obj']->post_title; |
|
563 | + $fieldData['key'] = $field_params['field_obj']->post_name; |
|
564 | + if (empty($fieldData['name'])) $fieldData['name'] = $field_params['field_obj']->post_excerpt; |
|
565 | + if (function_exists('pmai_render_field')) { |
|
566 | + echo pmai_render_field($fieldData, ( ! empty($current_values) ) ? $current_values : array() ); |
|
567 | + } |
|
568 | + } else if($field_params['type'] == 'title'){ |
|
569 | + ?> |
|
570 | 570 | <h4 class="wpallimport-add-on-options-title"><?php _e($field_params['name'], 'wp_all_import_plugin'); ?><?php if ( ! empty($field_params['tooltip'])): ?><a href="#help" class="wpallimport-help" title="<?php echo $field_params['tooltip']; ?>" style="position:relative; top: -1px;">?</a><?php endif; ?></h4> |
571 | 571 | <?php |
572 | 572 | |
573 | - } else if($field_params['type'] == 'plain_text'){ |
|
574 | - if ($field_params['is_html']): |
|
575 | - echo $field_params['name']; |
|
576 | - else: |
|
577 | - ?> |
|
573 | + } else if($field_params['type'] == 'plain_text'){ |
|
574 | + if ($field_params['is_html']): |
|
575 | + echo $field_params['name']; |
|
576 | + else: |
|
577 | + ?> |
|
578 | 578 | <p style="margin: 0 0 12px 0;"><?php echo $field_params['name'];?></p> |
579 | 579 | <?php |
580 | - endif; |
|
581 | - } |
|
580 | + endif; |
|
581 | + } |
|
582 | 582 | |
583 | 583 | |
584 | - } |
|
585 | - /** |
|
586 | - * |
|
587 | - * Helper function for nested radio fields |
|
588 | - * |
|
589 | - */ |
|
590 | - function get_sub_fields($field_params, $field_slug, $current_values){ |
|
591 | - $sub_fields = array(); |
|
592 | - if ( ! empty($field_params['enum_values']) ){ |
|
593 | - foreach ($field_params['enum_values'] as $key => $value) { |
|
594 | - $sub_fields[$key] = array(); |
|
595 | - if (is_array($value)){ |
|
596 | - if ($field_params['type'] == 'accordion'){ |
|
597 | - $sub_fields[$key][] = $this->convert_field($value, $current_values); |
|
598 | - } |
|
599 | - else |
|
600 | - { |
|
601 | - foreach ($value as $k => $sub_field) { |
|
602 | - if (is_array($sub_field) and ! empty($this->fields[$sub_field['slug']])) |
|
603 | - { |
|
604 | - $sub_fields[$key][] = $this->convert_field($sub_field, $current_values); |
|
605 | - } |
|
606 | - } |
|
607 | - } |
|
608 | - } |
|
609 | - } |
|
610 | - } |
|
611 | - return $sub_fields; |
|
612 | - } |
|
613 | - |
|
614 | - function convert_field($sub_field, $current_values){ |
|
615 | - $field = array(); |
|
616 | - if (!isset($current_values[$this->slug][$sub_field['slug']])) { |
|
617 | - $current_values[$this->slug][$sub_field['slug']] = isset($sub_field['default_text']) ? $sub_field['default_text'] : ''; |
|
618 | - } |
|
619 | - switch ($this->fields[$sub_field['slug']]['type']) { |
|
620 | - case 'text': |
|
621 | - $field = array( |
|
622 | - 'type' => 'simple', |
|
623 | - 'label' => $this->fields[$sub_field['slug']]['name'], |
|
624 | - 'params' => array( |
|
625 | - 'tooltip' => $this->fields[$sub_field['slug']]['tooltip'], |
|
626 | - 'field_name' => $this->slug."[".$sub_field['slug']."]", |
|
627 | - 'field_value' => ($current_values[$this->slug][$sub_field['slug']] == '' && $this->isWizard) ? $sub_field['default_text'] : $current_values[$this->slug][$sub_field['slug']], |
|
628 | - 'is_main_field' => $sub_field['is_main_field'] |
|
629 | - ) |
|
630 | - ); |
|
631 | - break; |
|
632 | - case 'textarea': |
|
633 | - $field = array( |
|
634 | - 'type' => 'textarea', |
|
635 | - 'label' => $this->fields[$sub_field['slug']]['name'], |
|
636 | - 'params' => array( |
|
637 | - 'tooltip' => $this->fields[$sub_field['slug']]['tooltip'], |
|
638 | - 'field_name' => $this->slug."[".$sub_field['slug']."]", |
|
639 | - 'field_value' => ($current_values[$this->slug][$sub_field['slug']] == '' && $this->isWizard) ? $sub_field['default_text'] : $current_values[$this->slug][$sub_field['slug']], |
|
640 | - 'is_main_field' => $sub_field['is_main_field'] |
|
641 | - ) |
|
642 | - ); |
|
643 | - break; |
|
644 | - case 'wp_editor': |
|
645 | - $field = array( |
|
646 | - 'type' => 'wp_editor', |
|
647 | - 'label' => $this->fields[$sub_field['slug']]['name'], |
|
648 | - 'params' => array( |
|
649 | - 'tooltip' => $this->fields[$sub_field['slug']]['tooltip'], |
|
650 | - 'field_name' => $this->slug."[".$sub_field['slug']."]", |
|
651 | - 'field_value' => ($current_values[$this->slug][$sub_field['slug']] == '' && $this->isWizard) ? $sub_field['default_text'] : $current_values[$this->slug][$sub_field['slug']], |
|
652 | - 'is_main_field' => $sub_field['is_main_field'] |
|
653 | - ) |
|
654 | - ); |
|
655 | - break; |
|
656 | - case 'image': |
|
657 | - $field = array( |
|
658 | - 'type' => 'image', |
|
659 | - 'label' => $this->fields[$sub_field['slug']]['name'], |
|
660 | - 'params' => array( |
|
661 | - 'tooltip' => $this->fields[$sub_field['slug']]['tooltip'], |
|
662 | - 'field_name' => $this->slug."[".$sub_field['slug']."]", |
|
663 | - 'field_value' => $current_values[$this->slug][$sub_field['slug']], |
|
664 | - 'download_image' => null, |
|
665 | - 'field_key' => $sub_field['slug'], |
|
666 | - 'addon_prefix' => $this->slug, |
|
667 | - 'is_main_field' => $sub_field['is_main_field'] |
|
668 | - ) |
|
669 | - ); |
|
670 | - |
|
671 | - if ( array_key_exists( 'download_image', $current_values[$this->slug] ) && array_key_exists( $sub_field['slug'], $current_values[$this->slug]['download_image'] ) ) { |
|
672 | - $field['params']['download_image'] = $current_values[$this->slug]['download_image'][$sub_field['slug']]; |
|
673 | - } |
|
584 | + } |
|
585 | + /** |
|
586 | + * |
|
587 | + * Helper function for nested radio fields |
|
588 | + * |
|
589 | + */ |
|
590 | + function get_sub_fields($field_params, $field_slug, $current_values){ |
|
591 | + $sub_fields = array(); |
|
592 | + if ( ! empty($field_params['enum_values']) ){ |
|
593 | + foreach ($field_params['enum_values'] as $key => $value) { |
|
594 | + $sub_fields[$key] = array(); |
|
595 | + if (is_array($value)){ |
|
596 | + if ($field_params['type'] == 'accordion'){ |
|
597 | + $sub_fields[$key][] = $this->convert_field($value, $current_values); |
|
598 | + } |
|
599 | + else |
|
600 | + { |
|
601 | + foreach ($value as $k => $sub_field) { |
|
602 | + if (is_array($sub_field) and ! empty($this->fields[$sub_field['slug']])) |
|
603 | + { |
|
604 | + $sub_fields[$key][] = $this->convert_field($sub_field, $current_values); |
|
605 | + } |
|
606 | + } |
|
607 | + } |
|
608 | + } |
|
609 | + } |
|
610 | + } |
|
611 | + return $sub_fields; |
|
612 | + } |
|
613 | + |
|
614 | + function convert_field($sub_field, $current_values){ |
|
615 | + $field = array(); |
|
616 | + if (!isset($current_values[$this->slug][$sub_field['slug']])) { |
|
617 | + $current_values[$this->slug][$sub_field['slug']] = isset($sub_field['default_text']) ? $sub_field['default_text'] : ''; |
|
618 | + } |
|
619 | + switch ($this->fields[$sub_field['slug']]['type']) { |
|
620 | + case 'text': |
|
621 | + $field = array( |
|
622 | + 'type' => 'simple', |
|
623 | + 'label' => $this->fields[$sub_field['slug']]['name'], |
|
624 | + 'params' => array( |
|
625 | + 'tooltip' => $this->fields[$sub_field['slug']]['tooltip'], |
|
626 | + 'field_name' => $this->slug."[".$sub_field['slug']."]", |
|
627 | + 'field_value' => ($current_values[$this->slug][$sub_field['slug']] == '' && $this->isWizard) ? $sub_field['default_text'] : $current_values[$this->slug][$sub_field['slug']], |
|
628 | + 'is_main_field' => $sub_field['is_main_field'] |
|
629 | + ) |
|
630 | + ); |
|
674 | 631 | break; |
675 | - case 'file': |
|
676 | - $field = array( |
|
677 | - 'type' => 'file', |
|
678 | - 'label' => $this->fields[$sub_field['slug']]['name'], |
|
679 | - 'params' => array( |
|
680 | - 'tooltip' => $this->fields[$sub_field['slug']]['tooltip'], |
|
681 | - 'field_name' => $this->slug."[".$sub_field['slug']."]", |
|
682 | - 'field_value' => $current_values[$this->slug][$sub_field['slug']], |
|
683 | - 'download_image' => null, |
|
684 | - 'field_key' => $sub_field['slug'], |
|
685 | - 'addon_prefix' => $this->slug, |
|
686 | - 'is_main_field' => $sub_field['is_main_field'] |
|
687 | - ) |
|
688 | - ); |
|
689 | - |
|
690 | - if ( array_key_exists( 'download_image', $current_values[$this->slug] ) && array_key_exists( $sub_field['slug'], $current_values[$this->slug]['download_image'] ) ) { |
|
691 | - $field['params']['download_image'] = $current_values[$this->slug]['download_image'][$sub_field['slug']]; |
|
692 | - } |
|
693 | - |
|
694 | - break; |
|
695 | - case 'radio': |
|
696 | - $field = array( |
|
697 | - 'type' => 'enum', |
|
698 | - 'label' => $this->fields[$sub_field['slug']]['name'], |
|
699 | - 'params' => array( |
|
700 | - 'tooltip' => $this->fields[$sub_field['slug']]['tooltip'], |
|
701 | - 'field_name' => $this->slug."[".$sub_field['slug']."]", |
|
702 | - 'field_value' => $current_values[$this->slug][$sub_field['slug']], |
|
703 | - 'enum_values' => $this->fields[$sub_field['slug']]['enum_values'], |
|
704 | - 'mapping' => true, |
|
705 | - 'field_key' => $sub_field['slug'], |
|
706 | - 'mapping_rules' => isset($current_values[$this->slug]['mapping'][$sub_field['slug']]) ? $current_values[$this->slug]['mapping'][$sub_field['slug']] : array(), |
|
707 | - 'xpath' => isset($current_values[$this->slug]['xpaths'][$sub_field['slug']]) ? $current_values[$this->slug]['xpaths'][$sub_field['slug']] : '', |
|
708 | - 'addon_prefix' => $this->slug, |
|
709 | - 'sub_fields' => $this->get_sub_fields($this->fields[$sub_field['slug']], $sub_field['slug'], $current_values), |
|
710 | - 'is_main_field' => $sub_field['is_main_field'] |
|
711 | - ) |
|
712 | - ); |
|
713 | - break; |
|
714 | - case 'accordion': |
|
715 | - $field = array( |
|
716 | - 'type' => 'accordion', |
|
717 | - 'label' => $this->fields[$sub_field['slug']]['name'], |
|
718 | - 'params' => array( |
|
719 | - 'tooltip' => $this->fields[$sub_field['slug']]['tooltip'], |
|
720 | - 'field_name' => $this->slug."[".$sub_field['slug']."]", |
|
721 | - 'field_key' => $sub_field['slug'], |
|
722 | - 'addon_prefix' => $this->slug, |
|
723 | - 'sub_fields' => $this->get_sub_fields($this->fields[$sub_field['slug']], $sub_field['slug'], $current_values), |
|
724 | - 'in_the_bottom' => false |
|
725 | - ) |
|
726 | - ); |
|
727 | - break; |
|
728 | - default: |
|
729 | - # code... |
|
730 | - break; |
|
731 | - } |
|
732 | - return $field; |
|
733 | - } |
|
734 | - |
|
735 | - /** |
|
736 | - * |
|
737 | - * Add accordion options |
|
738 | - * |
|
739 | - * |
|
740 | - */ |
|
741 | - function add_options( $main_field = false, $title = '', $fields = array() ){ |
|
632 | + case 'textarea': |
|
633 | + $field = array( |
|
634 | + 'type' => 'textarea', |
|
635 | + 'label' => $this->fields[$sub_field['slug']]['name'], |
|
636 | + 'params' => array( |
|
637 | + 'tooltip' => $this->fields[$sub_field['slug']]['tooltip'], |
|
638 | + 'field_name' => $this->slug."[".$sub_field['slug']."]", |
|
639 | + 'field_value' => ($current_values[$this->slug][$sub_field['slug']] == '' && $this->isWizard) ? $sub_field['default_text'] : $current_values[$this->slug][$sub_field['slug']], |
|
640 | + 'is_main_field' => $sub_field['is_main_field'] |
|
641 | + ) |
|
642 | + ); |
|
643 | + break; |
|
644 | + case 'wp_editor': |
|
645 | + $field = array( |
|
646 | + 'type' => 'wp_editor', |
|
647 | + 'label' => $this->fields[$sub_field['slug']]['name'], |
|
648 | + 'params' => array( |
|
649 | + 'tooltip' => $this->fields[$sub_field['slug']]['tooltip'], |
|
650 | + 'field_name' => $this->slug."[".$sub_field['slug']."]", |
|
651 | + 'field_value' => ($current_values[$this->slug][$sub_field['slug']] == '' && $this->isWizard) ? $sub_field['default_text'] : $current_values[$this->slug][$sub_field['slug']], |
|
652 | + 'is_main_field' => $sub_field['is_main_field'] |
|
653 | + ) |
|
654 | + ); |
|
655 | + break; |
|
656 | + case 'image': |
|
657 | + $field = array( |
|
658 | + 'type' => 'image', |
|
659 | + 'label' => $this->fields[$sub_field['slug']]['name'], |
|
660 | + 'params' => array( |
|
661 | + 'tooltip' => $this->fields[$sub_field['slug']]['tooltip'], |
|
662 | + 'field_name' => $this->slug."[".$sub_field['slug']."]", |
|
663 | + 'field_value' => $current_values[$this->slug][$sub_field['slug']], |
|
664 | + 'download_image' => null, |
|
665 | + 'field_key' => $sub_field['slug'], |
|
666 | + 'addon_prefix' => $this->slug, |
|
667 | + 'is_main_field' => $sub_field['is_main_field'] |
|
668 | + ) |
|
669 | + ); |
|
670 | + |
|
671 | + if ( array_key_exists( 'download_image', $current_values[$this->slug] ) && array_key_exists( $sub_field['slug'], $current_values[$this->slug]['download_image'] ) ) { |
|
672 | + $field['params']['download_image'] = $current_values[$this->slug]['download_image'][$sub_field['slug']]; |
|
673 | + } |
|
674 | + break; |
|
675 | + case 'file': |
|
676 | + $field = array( |
|
677 | + 'type' => 'file', |
|
678 | + 'label' => $this->fields[$sub_field['slug']]['name'], |
|
679 | + 'params' => array( |
|
680 | + 'tooltip' => $this->fields[$sub_field['slug']]['tooltip'], |
|
681 | + 'field_name' => $this->slug."[".$sub_field['slug']."]", |
|
682 | + 'field_value' => $current_values[$this->slug][$sub_field['slug']], |
|
683 | + 'download_image' => null, |
|
684 | + 'field_key' => $sub_field['slug'], |
|
685 | + 'addon_prefix' => $this->slug, |
|
686 | + 'is_main_field' => $sub_field['is_main_field'] |
|
687 | + ) |
|
688 | + ); |
|
689 | + |
|
690 | + if ( array_key_exists( 'download_image', $current_values[$this->slug] ) && array_key_exists( $sub_field['slug'], $current_values[$this->slug]['download_image'] ) ) { |
|
691 | + $field['params']['download_image'] = $current_values[$this->slug]['download_image'][$sub_field['slug']]; |
|
692 | + } |
|
693 | + |
|
694 | + break; |
|
695 | + case 'radio': |
|
696 | + $field = array( |
|
697 | + 'type' => 'enum', |
|
698 | + 'label' => $this->fields[$sub_field['slug']]['name'], |
|
699 | + 'params' => array( |
|
700 | + 'tooltip' => $this->fields[$sub_field['slug']]['tooltip'], |
|
701 | + 'field_name' => $this->slug."[".$sub_field['slug']."]", |
|
702 | + 'field_value' => $current_values[$this->slug][$sub_field['slug']], |
|
703 | + 'enum_values' => $this->fields[$sub_field['slug']]['enum_values'], |
|
704 | + 'mapping' => true, |
|
705 | + 'field_key' => $sub_field['slug'], |
|
706 | + 'mapping_rules' => isset($current_values[$this->slug]['mapping'][$sub_field['slug']]) ? $current_values[$this->slug]['mapping'][$sub_field['slug']] : array(), |
|
707 | + 'xpath' => isset($current_values[$this->slug]['xpaths'][$sub_field['slug']]) ? $current_values[$this->slug]['xpaths'][$sub_field['slug']] : '', |
|
708 | + 'addon_prefix' => $this->slug, |
|
709 | + 'sub_fields' => $this->get_sub_fields($this->fields[$sub_field['slug']], $sub_field['slug'], $current_values), |
|
710 | + 'is_main_field' => $sub_field['is_main_field'] |
|
711 | + ) |
|
712 | + ); |
|
713 | + break; |
|
714 | + case 'accordion': |
|
715 | + $field = array( |
|
716 | + 'type' => 'accordion', |
|
717 | + 'label' => $this->fields[$sub_field['slug']]['name'], |
|
718 | + 'params' => array( |
|
719 | + 'tooltip' => $this->fields[$sub_field['slug']]['tooltip'], |
|
720 | + 'field_name' => $this->slug."[".$sub_field['slug']."]", |
|
721 | + 'field_key' => $sub_field['slug'], |
|
722 | + 'addon_prefix' => $this->slug, |
|
723 | + 'sub_fields' => $this->get_sub_fields($this->fields[$sub_field['slug']], $sub_field['slug'], $current_values), |
|
724 | + 'in_the_bottom' => false |
|
725 | + ) |
|
726 | + ); |
|
727 | + break; |
|
728 | + default: |
|
729 | + # code... |
|
730 | + break; |
|
731 | + } |
|
732 | + return $field; |
|
733 | + } |
|
734 | + |
|
735 | + /** |
|
736 | + * |
|
737 | + * Add accordion options |
|
738 | + * |
|
739 | + * |
|
740 | + */ |
|
741 | + function add_options( $main_field = false, $title = '', $fields = array() ){ |
|
742 | 742 | |
743 | - if ( ! empty($fields) ) |
|
744 | - { |
|
743 | + if ( ! empty($fields) ) |
|
744 | + { |
|
745 | 745 | |
746 | - if ($main_field){ |
|
746 | + if ($main_field){ |
|
747 | 747 | |
748 | - $main_field['is_main_field'] = true; |
|
749 | - $fields[] = $main_field; |
|
748 | + $main_field['is_main_field'] = true; |
|
749 | + $fields[] = $main_field; |
|
750 | 750 | |
751 | - } |
|
751 | + } |
|
752 | 752 | |
753 | - return $this->add_field('accordion_' . $fields[0]['slug'], $title, 'accordion', $fields); |
|
753 | + return $this->add_field('accordion_' . $fields[0]['slug'], $title, 'accordion', $fields); |
|
754 | 754 | |
755 | - } |
|
755 | + } |
|
756 | 756 | |
757 | - } |
|
757 | + } |
|
758 | 758 | |
759 | - function add_title($title = '', $tooltip = ''){ |
|
759 | + function add_title($title = '', $tooltip = ''){ |
|
760 | 760 | |
761 | - if (empty($title)) return; |
|
761 | + if (empty($title)) return; |
|
762 | 762 | |
763 | - return $this->add_field(sanitize_key($title) . time(), $title, 'title', null, $tooltip); |
|
763 | + return $this->add_field(sanitize_key($title) . time(), $title, 'title', null, $tooltip); |
|
764 | 764 | |
765 | - } |
|
765 | + } |
|
766 | 766 | |
767 | - function add_text($text = '', $is_html = false){ |
|
767 | + function add_text($text = '', $is_html = false){ |
|
768 | 768 | |
769 | - if (empty($text)) return; |
|
769 | + if (empty($text)) return; |
|
770 | 770 | |
771 | - $count = is_array($this->fields) ? count($this->fields) : 0; |
|
771 | + $count = is_array($this->fields) ? count($this->fields) : 0; |
|
772 | 772 | |
773 | - return $this->add_field(sanitize_key($text) . time() . uniqid() . $count, $text, 'plain_text', null, "", $is_html); |
|
773 | + return $this->add_field(sanitize_key($text) . time() . uniqid() . $count, $text, 'plain_text', null, "", $is_html); |
|
774 | 774 | |
775 | - } |
|
775 | + } |
|
776 | 776 | |
777 | - function helper_metabox_top($name) { |
|
777 | + function helper_metabox_top($name) { |
|
778 | 778 | |
779 | - return ' |
|
779 | + return ' |
|
780 | 780 | <style type="text/css"> |
781 | 781 | .wpallimport-plugin .wpallimport-addon div.input { |
782 | 782 | margin-bottom: 15px; |
@@ -872,11 +872,11 @@ discard block |
||
872 | 872 | <table class="form-table" style="max-width:none;"> |
873 | 873 | <tr> |
874 | 874 | <td colspan="3">'; |
875 | - } |
|
875 | + } |
|
876 | 876 | |
877 | - function helper_metabox_bottom() { |
|
877 | + function helper_metabox_bottom() { |
|
878 | 878 | |
879 | - return ' </td> |
|
879 | + return ' </td> |
|
880 | 880 | </tr> |
881 | 881 | </table> |
882 | 882 | </div> |
@@ -884,298 +884,298 @@ discard block |
||
884 | 884 | </div> |
885 | 885 | </div>'; |
886 | 886 | |
887 | - } |
|
887 | + } |
|
888 | 888 | |
889 | - /** |
|
890 | - * |
|
891 | - * simply add an additional section for attachments |
|
892 | - * |
|
893 | - */ |
|
894 | - function import_files( $slug, $title, $callback = NULL ){ |
|
895 | - $this->import_images( $slug, $title, 'files', $callback); |
|
896 | - } |
|
889 | + /** |
|
890 | + * |
|
891 | + * simply add an additional section for attachments |
|
892 | + * |
|
893 | + */ |
|
894 | + function import_files( $slug, $title, $callback = NULL ){ |
|
895 | + $this->import_images( $slug, $title, 'files', $callback); |
|
896 | + } |
|
897 | 897 | |
898 | - /** |
|
899 | - * |
|
900 | - * simply add an additional section |
|
901 | - * |
|
902 | - */ |
|
903 | - function import_images( $slug, $title, $type = 'images', $callback = NULL ){ |
|
898 | + /** |
|
899 | + * |
|
900 | + * simply add an additional section |
|
901 | + * |
|
902 | + */ |
|
903 | + function import_images( $slug, $title, $type = 'images', $callback = NULL ){ |
|
904 | 904 | |
905 | - if ( empty($title) or empty($slug) ) return; |
|
905 | + if ( empty($title) or empty($slug) ) return; |
|
906 | 906 | |
907 | - if (is_array($slug)) { |
|
907 | + if (is_array($slug)) { |
|
908 | 908 | $section_slug = 'pmxi_' . md5(serialize($slug)); |
909 | 909 | } else { |
910 | 910 | $section_slug = 'pmxi_' . $slug; |
911 | 911 | } |
912 | 912 | |
913 | - $this->image_sections[] = array( |
|
914 | - 'title' => $title, |
|
915 | - 'slug' => $section_slug, |
|
916 | - 'type' => $type |
|
917 | - ); |
|
913 | + $this->image_sections[] = array( |
|
914 | + 'title' => $title, |
|
915 | + 'slug' => $section_slug, |
|
916 | + 'type' => $type |
|
917 | + ); |
|
918 | 918 | |
919 | - foreach ($this->image_options as $option_slug => $value) { |
|
920 | - $this->add_option($section_slug . $option_slug, $value); |
|
921 | - } |
|
919 | + foreach ($this->image_options as $option_slug => $value) { |
|
920 | + $this->add_option($section_slug . $option_slug, $value); |
|
921 | + } |
|
922 | 922 | |
923 | - if (count($this->image_sections) > 1){ |
|
924 | - add_filter('wp_all_import_is_show_add_new_images', array($this, 'filter_is_show_add_new_images'), 10, 2); |
|
925 | - } |
|
923 | + if (count($this->image_sections) > 1){ |
|
924 | + add_filter('wp_all_import_is_show_add_new_images', array($this, 'filter_is_show_add_new_images'), 10, 2); |
|
925 | + } |
|
926 | 926 | |
927 | - add_filter('wp_all_import_is_allow_import_images', array($this, 'is_allow_import_images'), 10, 2); |
|
927 | + add_filter('wp_all_import_is_allow_import_images', array($this, 'is_allow_import_images'), 10, 2); |
|
928 | 928 | |
929 | - if ($callback && is_callable($callback)) { |
|
929 | + if ($callback && is_callable($callback)) { |
|
930 | 930 | add_action( $section_slug, $callback, 10, 4); |
931 | 931 | } else { |
932 | 932 | if (function_exists($slug)) { |
933 | 933 | add_action( $section_slug, $slug, 10, 4); |
934 | 934 | } |
935 | 935 | } |
936 | - } |
|
937 | - /** |
|
938 | - * |
|
939 | - * filter to allow import images for free edition of WP All Import |
|
940 | - * |
|
941 | - */ |
|
942 | - function is_allow_import_images($is_allow, $post_type){ |
|
943 | - return ($this->is_active_addon($post_type)) ? true : $is_allow; |
|
944 | - } |
|
945 | - |
|
946 | - /** |
|
947 | - * |
|
948 | - * filter to control additional images sections |
|
949 | - * |
|
950 | - */ |
|
951 | - function additional_sections($sections){ |
|
952 | - if ( ! empty($this->image_sections) ){ |
|
953 | - foreach ($this->image_sections as $add_section) { |
|
954 | - $sections[] = $add_section; |
|
955 | - } |
|
956 | - } |
|
936 | + } |
|
937 | + /** |
|
938 | + * |
|
939 | + * filter to allow import images for free edition of WP All Import |
|
940 | + * |
|
941 | + */ |
|
942 | + function is_allow_import_images($is_allow, $post_type){ |
|
943 | + return ($this->is_active_addon($post_type)) ? true : $is_allow; |
|
944 | + } |
|
945 | + |
|
946 | + /** |
|
947 | + * |
|
948 | + * filter to control additional images sections |
|
949 | + * |
|
950 | + */ |
|
951 | + function additional_sections($sections){ |
|
952 | + if ( ! empty($this->image_sections) ){ |
|
953 | + foreach ($this->image_sections as $add_section) { |
|
954 | + $sections[] = $add_section; |
|
955 | + } |
|
956 | + } |
|
957 | 957 | |
958 | - return $sections; |
|
959 | - } |
|
960 | - /** |
|
961 | - * |
|
962 | - * remove the 'Don't touch existing images, append new images' when more than one image section is in use. |
|
963 | - * |
|
964 | - */ |
|
965 | - function filter_is_show_add_new_images($is_show, $post_type){ |
|
966 | - return ($this->is_active_addon($post_type)) ? false : $is_show; |
|
967 | - } |
|
968 | - |
|
969 | - /** |
|
970 | - * |
|
971 | - * disable the default images section |
|
972 | - * |
|
973 | - */ |
|
974 | - function disable_default_images($post_type = false){ |
|
958 | + return $sections; |
|
959 | + } |
|
960 | + /** |
|
961 | + * |
|
962 | + * remove the 'Don't touch existing images, append new images' when more than one image section is in use. |
|
963 | + * |
|
964 | + */ |
|
965 | + function filter_is_show_add_new_images($is_show, $post_type){ |
|
966 | + return ($this->is_active_addon($post_type)) ? false : $is_show; |
|
967 | + } |
|
968 | + |
|
969 | + /** |
|
970 | + * |
|
971 | + * disable the default images section |
|
972 | + * |
|
973 | + */ |
|
974 | + function disable_default_images($post_type = false){ |
|
975 | 975 | |
976 | - add_filter('wp_all_import_is_images_section_enabled', array($this, 'is_enable_default_images_section'), 10, 2); |
|
976 | + add_filter('wp_all_import_is_images_section_enabled', array($this, 'is_enable_default_images_section'), 10, 2); |
|
977 | 977 | |
978 | - } |
|
979 | - function is_enable_default_images_section($is_enabled, $post_type){ |
|
978 | + } |
|
979 | + function is_enable_default_images_section($is_enabled, $post_type){ |
|
980 | 980 | |
981 | - return ($this->is_active_addon($post_type)) ? false : true; |
|
981 | + return ($this->is_active_addon($post_type)) ? false : true; |
|
982 | 982 | |
983 | - } |
|
983 | + } |
|
984 | 984 | |
985 | - function helper_parse($parsingData, $options) { |
|
985 | + function helper_parse($parsingData, $options) { |
|
986 | 986 | |
987 | - extract($parsingData); |
|
987 | + extract($parsingData); |
|
988 | 988 | |
989 | - $data = array(); // parsed data |
|
989 | + $data = array(); // parsed data |
|
990 | 990 | |
991 | - if ( ! empty($import->options[$this->slug])){ |
|
991 | + if ( ! empty($import->options[$this->slug])){ |
|
992 | 992 | |
993 | - $this->logger = $parsingData['logger']; |
|
993 | + $this->logger = $parsingData['logger']; |
|
994 | 994 | |
995 | - $cxpath = $xpath_prefix . $import->xpath; |
|
995 | + $cxpath = $xpath_prefix . $import->xpath; |
|
996 | 996 | |
997 | - $tmp_files = array(); |
|
997 | + $tmp_files = array(); |
|
998 | 998 | |
999 | - foreach ($options[$this->slug] as $option_name => $option_value) { |
|
1000 | - if ( isset($import->options[$this->slug][$option_name]) and $import->options[$this->slug][$option_name] != '') { |
|
1001 | - if ($import->options[$this->slug][$option_name] == "xpath") { |
|
1002 | - if ($import->options[$this->slug]['xpaths'][$option_name] == ""){ |
|
1003 | - $count and $data[$option_name] = array_fill(0, $count, ""); |
|
1004 | - } else { |
|
1005 | - $data[$option_name] = XmlImportParser::factory($xml, $cxpath, (string) $import->options[$this->slug]['xpaths'][$option_name], $file)->parse(); |
|
1006 | - $tmp_files[] = $file; |
|
1007 | - } |
|
1008 | - } |
|
1009 | - else { |
|
1010 | - $data[$option_name] = XmlImportParser::factory($xml, $cxpath, (string) $import->options[$this->slug][$option_name], $file)->parse(); |
|
1011 | - $tmp_files[] = $file; |
|
1012 | - } |
|
999 | + foreach ($options[$this->slug] as $option_name => $option_value) { |
|
1000 | + if ( isset($import->options[$this->slug][$option_name]) and $import->options[$this->slug][$option_name] != '') { |
|
1001 | + if ($import->options[$this->slug][$option_name] == "xpath") { |
|
1002 | + if ($import->options[$this->slug]['xpaths'][$option_name] == ""){ |
|
1003 | + $count and $data[$option_name] = array_fill(0, $count, ""); |
|
1004 | + } else { |
|
1005 | + $data[$option_name] = XmlImportParser::factory($xml, $cxpath, (string) $import->options[$this->slug]['xpaths'][$option_name], $file)->parse(); |
|
1006 | + $tmp_files[] = $file; |
|
1007 | + } |
|
1008 | + } |
|
1009 | + else { |
|
1010 | + $data[$option_name] = XmlImportParser::factory($xml, $cxpath, (string) $import->options[$this->slug][$option_name], $file)->parse(); |
|
1011 | + $tmp_files[] = $file; |
|
1012 | + } |
|
1013 | 1013 | |
1014 | 1014 | |
1015 | - } else { |
|
1016 | - $data[$option_name] = array_fill(0, $count, ""); |
|
1017 | - } |
|
1015 | + } else { |
|
1016 | + $data[$option_name] = array_fill(0, $count, ""); |
|
1017 | + } |
|
1018 | 1018 | |
1019 | - } |
|
1019 | + } |
|
1020 | 1020 | |
1021 | - foreach ($tmp_files as $file) { // remove all temporary files created |
|
1022 | - unlink($file); |
|
1023 | - } |
|
1021 | + foreach ($tmp_files as $file) { // remove all temporary files created |
|
1022 | + unlink($file); |
|
1023 | + } |
|
1024 | 1024 | |
1025 | - } |
|
1025 | + } |
|
1026 | 1026 | |
1027 | - return $data; |
|
1028 | - } |
|
1027 | + return $data; |
|
1028 | + } |
|
1029 | 1029 | |
1030 | 1030 | |
1031 | - function can_update_meta($meta_key, $import_options) { |
|
1031 | + function can_update_meta($meta_key, $import_options) { |
|
1032 | 1032 | |
1033 | - //echo "<pre>"; |
|
1034 | - //print_r($import_options['options']); |
|
1035 | - //echo "</pre>"; |
|
1033 | + //echo "<pre>"; |
|
1034 | + //print_r($import_options['options']); |
|
1035 | + //echo "</pre>"; |
|
1036 | 1036 | |
1037 | - $import_options = $import_options['options']; |
|
1037 | + $import_options = $import_options['options']; |
|
1038 | 1038 | |
1039 | - if ($import_options['update_all_data'] == 'yes') return true; |
|
1039 | + if ($import_options['update_all_data'] == 'yes') return true; |
|
1040 | 1040 | |
1041 | - if ( ! $import_options['is_update_custom_fields'] ) return false; |
|
1041 | + if ( ! $import_options['is_update_custom_fields'] ) return false; |
|
1042 | 1042 | |
1043 | - if ($import_options['update_custom_fields_logic'] == "full_update") return true; |
|
1044 | - if ($import_options['update_custom_fields_logic'] == "only" and ! empty($import_options['custom_fields_list']) and is_array($import_options['custom_fields_list']) and in_array($meta_key, $import_options['custom_fields_list']) ) return true; |
|
1045 | - if ($import_options['update_custom_fields_logic'] == "all_except" and ( empty($import_options['custom_fields_list']) or ! in_array($meta_key, $import_options['custom_fields_list']) )) return true; |
|
1043 | + if ($import_options['update_custom_fields_logic'] == "full_update") return true; |
|
1044 | + if ($import_options['update_custom_fields_logic'] == "only" and ! empty($import_options['custom_fields_list']) and is_array($import_options['custom_fields_list']) and in_array($meta_key, $import_options['custom_fields_list']) ) return true; |
|
1045 | + if ($import_options['update_custom_fields_logic'] == "all_except" and ( empty($import_options['custom_fields_list']) or ! in_array($meta_key, $import_options['custom_fields_list']) )) return true; |
|
1046 | 1046 | |
1047 | - return false; |
|
1047 | + return false; |
|
1048 | 1048 | |
1049 | - } |
|
1049 | + } |
|
1050 | 1050 | |
1051 | - function can_update_taxonomy($tax_name, $import_options) { |
|
1051 | + function can_update_taxonomy($tax_name, $import_options) { |
|
1052 | 1052 | |
1053 | - //echo "<pre>"; |
|
1054 | - //print_r($import_options['options']); |
|
1055 | - //echo "</pre>"; |
|
1053 | + //echo "<pre>"; |
|
1054 | + //print_r($import_options['options']); |
|
1055 | + //echo "</pre>"; |
|
1056 | 1056 | |
1057 | - $import_options = $import_options['options']; |
|
1057 | + $import_options = $import_options['options']; |
|
1058 | 1058 | |
1059 | - if ($import_options['update_all_data'] == 'yes') return true; |
|
1059 | + if ($import_options['update_all_data'] == 'yes') return true; |
|
1060 | 1060 | |
1061 | - if ( ! $import_options['is_update_categories'] ) return false; |
|
1061 | + if ( ! $import_options['is_update_categories'] ) return false; |
|
1062 | 1062 | |
1063 | - if ($import_options['update_categories_logic'] == "full_update") return true; |
|
1064 | - if ($import_options['update_categories_logic'] == "only" and ! empty($import_options['taxonomies_list']) and is_array($import_options['taxonomies_list']) and in_array($tax_name, $import_options['taxonomies_list']) ) return true; |
|
1065 | - if ($import_options['update_categories_logic'] == "all_except" and ( empty($import_options['taxonomies_list']) or ! in_array($tax_name, $import_options['taxonomies_list']) )) return true; |
|
1063 | + if ($import_options['update_categories_logic'] == "full_update") return true; |
|
1064 | + if ($import_options['update_categories_logic'] == "only" and ! empty($import_options['taxonomies_list']) and is_array($import_options['taxonomies_list']) and in_array($tax_name, $import_options['taxonomies_list']) ) return true; |
|
1065 | + if ($import_options['update_categories_logic'] == "all_except" and ( empty($import_options['taxonomies_list']) or ! in_array($tax_name, $import_options['taxonomies_list']) )) return true; |
|
1066 | 1066 | |
1067 | - return false; |
|
1067 | + return false; |
|
1068 | 1068 | |
1069 | - } |
|
1069 | + } |
|
1070 | 1070 | |
1071 | - function can_update_image($import_options) { |
|
1071 | + function can_update_image($import_options) { |
|
1072 | 1072 | |
1073 | - $import_options = $import_options['options']; |
|
1073 | + $import_options = $import_options['options']; |
|
1074 | 1074 | |
1075 | - if ($import_options['update_all_data'] == 'yes') return true; |
|
1075 | + if ($import_options['update_all_data'] == 'yes') return true; |
|
1076 | 1076 | |
1077 | - if (!$import_options['is_update_images']) return false; |
|
1077 | + if (!$import_options['is_update_images']) return false; |
|
1078 | 1078 | |
1079 | - if ($import_options['is_update_images']) return true; |
|
1079 | + if ($import_options['is_update_images']) return true; |
|
1080 | 1080 | |
1081 | - return false; |
|
1082 | - } |
|
1081 | + return false; |
|
1082 | + } |
|
1083 | 1083 | |
1084 | 1084 | |
1085 | - function admin_notice_ignore() { |
|
1086 | - if (isset($_GET[$this->slug.'_ignore']) && '0' == $_GET[$this->slug.'_ignore'] ) { |
|
1087 | - update_option($this->slug.'_ignore', 'true'); |
|
1088 | - } |
|
1089 | - } |
|
1085 | + function admin_notice_ignore() { |
|
1086 | + if (isset($_GET[$this->slug.'_ignore']) && '0' == $_GET[$this->slug.'_ignore'] ) { |
|
1087 | + update_option($this->slug.'_ignore', 'true'); |
|
1088 | + } |
|
1089 | + } |
|
1090 | 1090 | |
1091 | - function display_admin_notice() { |
|
1091 | + function display_admin_notice() { |
|
1092 | 1092 | |
1093 | 1093 | |
1094 | - if ($this->notice_text) { |
|
1095 | - $notice_text = $this->notice_text; |
|
1096 | - } else { |
|
1097 | - $notice_text = $this->name.' requires WP All Import <a href="http://www.wpallimport.com/" target="_blank">Pro</a> or <a href="http://wordpress.org/plugins/wp-all-import" target="_blank">Free</a>.'; |
|
1098 | - } |
|
1094 | + if ($this->notice_text) { |
|
1095 | + $notice_text = $this->notice_text; |
|
1096 | + } else { |
|
1097 | + $notice_text = $this->name.' requires WP All Import <a href="http://www.wpallimport.com/" target="_blank">Pro</a> or <a href="http://wordpress.org/plugins/wp-all-import" target="_blank">Free</a>.'; |
|
1098 | + } |
|
1099 | 1099 | |
1100 | - if (!get_option(sanitize_key($this->slug).'_notice_ignore')) { |
|
1100 | + if (!get_option(sanitize_key($this->slug).'_notice_ignore')) { |
|
1101 | 1101 | |
1102 | - ?> |
|
1102 | + ?> |
|
1103 | 1103 | |
1104 | 1104 | <div class="error notice is-dismissible wpallimport-dismissible" style="margin-top: 10px;" rel="<?php echo sanitize_key($this->slug); ?>"> |
1105 | 1105 | <p><?php _e( |
1106 | - sprintf( |
|
1107 | - $notice_text, |
|
1108 | - '?'.$this->slug.'_ignore=0' |
|
1109 | - ), |
|
1110 | - 'rapid_addon_'.$this->slug |
|
1111 | - ); ?></p> |
|
1106 | + sprintf( |
|
1107 | + $notice_text, |
|
1108 | + '?'.$this->slug.'_ignore=0' |
|
1109 | + ), |
|
1110 | + 'rapid_addon_'.$this->slug |
|
1111 | + ); ?></p> |
|
1112 | 1112 | </div> |
1113 | 1113 | |
1114 | 1114 | <?php |
1115 | 1115 | |
1116 | - } |
|
1116 | + } |
|
1117 | 1117 | |
1118 | - } |
|
1118 | + } |
|
1119 | 1119 | |
1120 | - /* |
|
1120 | + /* |
|
1121 | 1121 | * |
1122 | 1122 | * $conditions - array('themes' => array('Realia'), 'plugins' => array('plugin-directory/plugin-file.php', 'plugin-directory2/plugin-file.php')) |
1123 | 1123 | * |
1124 | 1124 | */ |
1125 | - function admin_notice($notice_text = '', $conditions = array()) { |
|
1125 | + function admin_notice($notice_text = '', $conditions = array()) { |
|
1126 | 1126 | |
1127 | - $is_show_notice = false; |
|
1127 | + $is_show_notice = false; |
|
1128 | 1128 | |
1129 | - include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); |
|
1129 | + include_once( ABSPATH . 'wp-admin/includes/plugin.php' ); |
|
1130 | 1130 | |
1131 | - if ( ! class_exists( 'PMXI_Plugin' ) ) { |
|
1132 | - $is_show_notice = true; |
|
1133 | - } |
|
1131 | + if ( ! class_exists( 'PMXI_Plugin' ) ) { |
|
1132 | + $is_show_notice = true; |
|
1133 | + } |
|
1134 | 1134 | |
1135 | - // Supported Themes |
|
1136 | - if ( ! $is_show_notice and ! empty($conditions['themes']) ){ |
|
1135 | + // Supported Themes |
|
1136 | + if ( ! $is_show_notice and ! empty($conditions['themes']) ){ |
|
1137 | 1137 | |
1138 | - $themeInfo = wp_get_theme(); |
|
1139 | - $parentInfo = $themeInfo->parent(); |
|
1140 | - $currentTheme = $themeInfo->get('Name'); |
|
1138 | + $themeInfo = wp_get_theme(); |
|
1139 | + $parentInfo = $themeInfo->parent(); |
|
1140 | + $currentTheme = $themeInfo->get('Name'); |
|
1141 | 1141 | |
1142 | - $is_show_notice = in_array($currentTheme, $conditions['themes']) ? false : true; |
|
1142 | + $is_show_notice = in_array($currentTheme, $conditions['themes']) ? false : true; |
|
1143 | 1143 | |
1144 | - if ( $is_show_notice and $parentInfo ){ |
|
1145 | - $parent_theme = $parentInfo->get('Name'); |
|
1146 | - $is_show_notice = in_array($parent_theme, $conditions['themes']) ? false : true; |
|
1147 | - } |
|
1144 | + if ( $is_show_notice and $parentInfo ){ |
|
1145 | + $parent_theme = $parentInfo->get('Name'); |
|
1146 | + $is_show_notice = in_array($parent_theme, $conditions['themes']) ? false : true; |
|
1147 | + } |
|
1148 | 1148 | |
1149 | - } |
|
1149 | + } |
|
1150 | 1150 | |
1151 | - // Required Plugins |
|
1152 | - if ( ! $is_show_notice and ! empty($conditions['plugins']) ){ |
|
1151 | + // Required Plugins |
|
1152 | + if ( ! $is_show_notice and ! empty($conditions['plugins']) ){ |
|
1153 | 1153 | |
1154 | - $requires_counter = 0; |
|
1155 | - foreach ($conditions['plugins'] as $plugin) { |
|
1156 | - if ( is_plugin_active($plugin) ) $requires_counter++; |
|
1157 | - } |
|
1154 | + $requires_counter = 0; |
|
1155 | + foreach ($conditions['plugins'] as $plugin) { |
|
1156 | + if ( is_plugin_active($plugin) ) $requires_counter++; |
|
1157 | + } |
|
1158 | 1158 | |
1159 | - if ($requires_counter != count($conditions['plugins'])){ |
|
1160 | - $is_show_notice = true; |
|
1161 | - } |
|
1159 | + if ($requires_counter != count($conditions['plugins'])){ |
|
1160 | + $is_show_notice = true; |
|
1161 | + } |
|
1162 | 1162 | |
1163 | - } |
|
1163 | + } |
|
1164 | 1164 | |
1165 | - if ( $is_show_notice ){ |
|
1165 | + if ( $is_show_notice ){ |
|
1166 | 1166 | |
1167 | - if ( $notice_text != '' ) { |
|
1168 | - $this->notice_text = $notice_text; |
|
1169 | - } |
|
1167 | + if ( $notice_text != '' ) { |
|
1168 | + $this->notice_text = $notice_text; |
|
1169 | + } |
|
1170 | 1170 | |
1171 | - add_action('admin_notices', array($this, 'display_admin_notice')); |
|
1172 | - } |
|
1171 | + add_action('admin_notices', array($this, 'display_admin_notice')); |
|
1172 | + } |
|
1173 | 1173 | |
1174 | - } |
|
1174 | + } |
|
1175 | 1175 | |
1176 | - function log( $m = false){ |
|
1176 | + function log( $m = false){ |
|
1177 | 1177 | |
1178 | - $m and $this->logger and call_user_func($this->logger, $m); |
|
1178 | + $m and $this->logger and call_user_func($this->logger, $m); |
|
1179 | 1179 | |
1180 | 1180 | } |
1181 | 1181 | |
@@ -1293,5 +1293,5 @@ discard block |
||
1293 | 1293 | } |
1294 | 1294 | return $image; |
1295 | 1295 | } |
1296 | - } |
|
1296 | + } |
|
1297 | 1297 | } |
1298 | 1298 | \ No newline at end of file |