Passed
Push — master ( 06f864...96d120 )
by Brian
06:26
created
includes/payments/class-getpaid-payment-form.php 1 patch
Indentation   +571 added lines, -571 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if ( ! defined( 'ABSPATH' ) ) {
3
-	exit;
3
+    exit;
4 4
 }
5 5
 
6 6
 /**
@@ -10,55 +10,55 @@  discard block
 block discarded – undo
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
 block discarded – undo
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,356 +114,356 @@  discard block
 block discarded – undo
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
-				}
341
+                if ( isset( $value['price'] ) && $item->user_can_set_their_price() ) {
342
+                    $item->set_price( $value['price'] );
343
+                }
344 344
 
345
-				if ( $item->can_purchase() ) {
346
-					$prepared[] = $item;
347
-				}
345
+                if ( $item->can_purchase() ) {
346
+                    $prepared[] = $item;
347
+                }
348 348
 
349
-				continue;
350
-			}
349
+                continue;
350
+            }
351 351
 }
352 352
 
353
-		if ( 'objects' == $return && 'view' == $context ) {
354
-			return $prepared;
355
-		}
356
-
357
-		$items = array();
358
-		foreach ( $prepared as $item ) {
359
-			$items[] = $item->prepare_data_for_use();
360
-		}
361
-
362
-		return $items;
363
-	}
364
-
365
-	/**
366
-	 * Get a single item belonging to the form.
367
-	 *
368
-	 * @since 1.0.19
369
-	 * @param  int $item_id The item id to return.
370
-	 * @return GetPaid_Form_Item|bool
371
-	 */
372
-	public function get_item( $item_id ) {
373
-
374
-		if ( empty( $item_id ) || ! is_numeric( $item_id ) ) {
375
-			return false;
376
-		}
377
-
378
-		foreach ( $this->get_items() as $item ) {
379
-			if ( $item->get_id() == (int) $item_id ) {
380
-				return $item;
381
-			}
382
-		}
383
-
384
-		return false;
385
-
386
-	}
387
-
388
-	/**
389
-	 * Gets a single element.
390
-	 *
391
-	 * @since 1.0.19
392
-	 * @param  string $element_type The element type to return.
393
-	 * @return array|bool
394
-	 */
395
-	public function get_element_type( $element_type ) {
396
-
397
-		if ( empty( $element_type ) || ! is_scalar( $element_type ) ) {
398
-			return false;
399
-		}
400
-
401
-		foreach ( $this->get_prop( 'elements' ) as $element ) {
402
-
403
-			if ( $element['type'] == $element_type ) {
404
-				return $element;
405
-			}
353
+        if ( 'objects' == $return && 'view' == $context ) {
354
+            return $prepared;
355
+        }
356
+
357
+        $items = array();
358
+        foreach ( $prepared as $item ) {
359
+            $items[] = $item->prepare_data_for_use();
360
+        }
361
+
362
+        return $items;
363
+    }
364
+
365
+    /**
366
+     * Get a single item belonging to the form.
367
+     *
368
+     * @since 1.0.19
369
+     * @param  int $item_id The item id to return.
370
+     * @return GetPaid_Form_Item|bool
371
+     */
372
+    public function get_item( $item_id ) {
373
+
374
+        if ( empty( $item_id ) || ! is_numeric( $item_id ) ) {
375
+            return false;
376
+        }
377
+
378
+        foreach ( $this->get_items() as $item ) {
379
+            if ( $item->get_id() == (int) $item_id ) {
380
+                return $item;
381
+            }
382
+        }
383
+
384
+        return false;
385
+
386
+    }
387
+
388
+    /**
389
+     * Gets a single element.
390
+     *
391
+     * @since 1.0.19
392
+     * @param  string $element_type The element type to return.
393
+     * @return array|bool
394
+     */
395
+    public function get_element_type( $element_type ) {
396
+
397
+        if ( empty( $element_type ) || ! is_scalar( $element_type ) ) {
398
+            return false;
399
+        }
400
+
401
+        foreach ( $this->get_prop( 'elements' ) as $element ) {
402
+
403
+            if ( $element['type'] == $element_type ) {
404
+                return $element;
405
+            }
406 406
 }
407 407
 
408
-		return false;
409
-
410
-	}
411
-
412
-	/**
413
-	 * Get the total amount earned via this form.
414
-	 *
415
-	 * @since 1.0.19
416
-	 * @param  string $context View or edit context.
417
-	 * @return float
418
-	 */
419
-	public function get_earned( $context = 'view' ) {
420
-		return $this->get_prop( 'earned', $context );
421
-	}
422
-
423
-	/**
424
-	 * Get the total amount refunded via this form.
425
-	 *
426
-	 * @since 1.0.19
427
-	 * @param  string $context View or edit context.
428
-	 * @return float
429
-	 */
430
-	public function get_refunded( $context = 'view' ) {
431
-		return $this->get_prop( 'refunded', $context );
432
-	}
433
-
434
-	/**
435
-	 * Get the total amount cancelled via this form.
436
-	 *
437
-	 * @since 1.0.19
438
-	 * @param  string $context View or edit context.
439
-	 * @return float
440
-	 */
441
-	public function get_cancelled( $context = 'view' ) {
442
-		return $this->get_prop( 'cancelled', $context );
443
-	}
444
-
445
-	/**
446
-	 * Get the total amount failed via this form.
447
-	 *
448
-	 * @since 1.0.19
449
-	 * @param  string $context View or edit context.
450
-	 * @return float
451
-	 */
452
-	public function get_failed( $context = 'view' ) {
453
-		return $this->get_prop( 'failed', $context );
454
-	}
455
-
456
-	/**
457
-	 * Get the currency.
458
-	 *
459
-	 * @since 1.0.19
460
-	 * @param  string $context View or edit context.
461
-	 * @return string
462
-	 */
463
-	public function get_currency() {
464
-		$currency = empty( $this->invoice ) ? wpinv_get_currency() : $this->invoice->get_currency();
465
-		return apply_filters( 'getpaid-payment-form-currency', $currency, $this );
466
-	}
408
+        return false;
409
+
410
+    }
411
+
412
+    /**
413
+     * Get the total amount earned via this form.
414
+     *
415
+     * @since 1.0.19
416
+     * @param  string $context View or edit context.
417
+     * @return float
418
+     */
419
+    public function get_earned( $context = 'view' ) {
420
+        return $this->get_prop( 'earned', $context );
421
+    }
422
+
423
+    /**
424
+     * Get the total amount refunded via this form.
425
+     *
426
+     * @since 1.0.19
427
+     * @param  string $context View or edit context.
428
+     * @return float
429
+     */
430
+    public function get_refunded( $context = 'view' ) {
431
+        return $this->get_prop( 'refunded', $context );
432
+    }
433
+
434
+    /**
435
+     * Get the total amount cancelled via this form.
436
+     *
437
+     * @since 1.0.19
438
+     * @param  string $context View or edit context.
439
+     * @return float
440
+     */
441
+    public function get_cancelled( $context = 'view' ) {
442
+        return $this->get_prop( 'cancelled', $context );
443
+    }
444
+
445
+    /**
446
+     * Get the total amount failed via this form.
447
+     *
448
+     * @since 1.0.19
449
+     * @param  string $context View or edit context.
450
+     * @return float
451
+     */
452
+    public function get_failed( $context = 'view' ) {
453
+        return $this->get_prop( 'failed', $context );
454
+    }
455
+
456
+    /**
457
+     * Get the currency.
458
+     *
459
+     * @since 1.0.19
460
+     * @param  string $context View or edit context.
461
+     * @return string
462
+     */
463
+    public function get_currency() {
464
+        $currency = empty( $this->invoice ) ? wpinv_get_currency() : $this->invoice->get_currency();
465
+        return apply_filters( 'getpaid-payment-form-currency', $currency, $this );
466
+    }
467 467
 
468 468
     /*
469 469
 	|--------------------------------------------------------------------------
@@ -476,22 +476,22 @@  discard block
 block discarded – undo
476 476
     */
477 477
 
478 478
     /**
479
-	 * Set plugin version when the item was created.
480
-	 *
481
-	 * @since 1.0.19
482
-	 */
483
-	public function set_version( $value ) {
484
-		$this->set_prop( 'version', $value );
479
+     * Set plugin version when the item was created.
480
+     *
481
+     * @since 1.0.19
482
+     */
483
+    public function set_version( $value ) {
484
+        $this->set_prop( 'version', $value );
485 485
     }
486 486
 
487 487
     /**
488
-	 * Set date when the item was created.
489
-	 *
490
-	 * @since 1.0.19
491
-	 * @param string $value Value to set.
488
+     * Set date when the item was created.
489
+     *
490
+     * @since 1.0.19
491
+     * @param string $value Value to set.
492 492
      * @return bool Whether or not the date was set.
493
-	 */
494
-	public function set_date_created( $value ) {
493
+     */
494
+    public function set_date_created( $value ) {
495 495
         $date = strtotime( $value );
496 496
 
497 497
         if ( $date ) {
@@ -504,13 +504,13 @@  discard block
 block discarded – undo
504 504
     }
505 505
 
506 506
     /**
507
-	 * Set date when the item was last modified.
508
-	 *
509
-	 * @since 1.0.19
510
-	 * @param string $value Value to set.
507
+     * Set date when the item was last modified.
508
+     *
509
+     * @since 1.0.19
510
+     * @param string $value Value to set.
511 511
      * @return bool Whether or not the date was set.
512
-	 */
513
-	public function set_date_modified( $value ) {
512
+     */
513
+    public function set_date_modified( $value ) {
514 514
         $date = strtotime( $value );
515 515
 
516 516
         if ( $date ) {
@@ -523,164 +523,164 @@  discard block
 block discarded – undo
523 523
     }
524 524
 
525 525
     /**
526
-	 * Set the item name.
527
-	 *
528
-	 * @since 1.0.19
529
-	 * @param  string $value New name.
530
-	 */
531
-	public function set_name( $value ) {
532
-		$this->set_prop( 'name', sanitize_text_field( $value ) );
533
-    }
534
-
535
-    /**
536
-	 * Alias of self::set_name().
537
-	 *
538
-	 * @since 1.0.19
539
-	 * @param  string $value New name.
540
-	 */
541
-	public function set_title( $value ) {
542
-		$this->set_name( $value );
543
-    }
544
-
545
-    /**
546
-	 * Set the owner of the item.
547
-	 *
548
-	 * @since 1.0.19
549
-	 * @param  int $value New author.
550
-	 */
551
-	public function set_author( $value ) {
552
-		$this->set_prop( 'author', (int) $value );
553
-	}
554
-
555
-	/**
556
-	 * Set the form elements.
557
-	 *
558
-	 * @since 1.0.19
559
-	 * @sinve 2.3.4 Array values sanitized.
560
-	 * @param  array $value Form elements.
561
-	 */
562
-	public function set_elements( $value ) {
563
-		if ( is_array( $value ) ) {
564
-			$this->set_prop( 'elements', wp_kses_post_deep( $value ) );
565
-		}
566
-	}
567
-
568
-	/**
569
-	 * Sanitize array values.
570
-	 *
571
-	 * @param $value
572
-	 *
573
-	 * @return mixed
574
-	 */
575
-	public function sanitize_array_values( $value ) {
576
-
577
-		// sanitize
578
-		if ( ! empty( $value ) ) {
579
-
580
-			foreach ( $value as $key => $val_arr ) {
581
-
582
-				if ( is_array( $val_arr ) ) {
583
-					// check if we have sub array items.
584
-					$sub_arr = array();
585
-					foreach ( $val_arr as $key2 => $val2 ) {
586
-						if ( is_array( $val2 ) ) {
587
-							$sub_arr[ $key2 ] = $this->sanitize_array_values( $val2 );
588
-							unset( $val_arr[ $key ][ $key2 ] );
589
-						}
590
-					}
591
-
592
-					// we allow some html in description so we sanitize it separately.
593
-					$help_text = ! empty( $val_arr['description'] ) ? wp_kses_post( $val_arr['description'] ) : '';
594
-
595
-					// sanitize array elements
596
-					$value[ $key ] = array_map( 'sanitize_text_field', $val_arr );
597
-
598
-					// add back the description if set
599
-					if ( isset( $val_arr['description'] ) ) {
526
+     * Set the item name.
527
+     *
528
+     * @since 1.0.19
529
+     * @param  string $value New name.
530
+     */
531
+    public function set_name( $value ) {
532
+        $this->set_prop( 'name', sanitize_text_field( $value ) );
533
+    }
534
+
535
+    /**
536
+     * Alias of self::set_name().
537
+     *
538
+     * @since 1.0.19
539
+     * @param  string $value New name.
540
+     */
541
+    public function set_title( $value ) {
542
+        $this->set_name( $value );
543
+    }
544
+
545
+    /**
546
+     * Set the owner of the item.
547
+     *
548
+     * @since 1.0.19
549
+     * @param  int $value New author.
550
+     */
551
+    public function set_author( $value ) {
552
+        $this->set_prop( 'author', (int) $value );
553
+    }
554
+
555
+    /**
556
+     * Set the form elements.
557
+     *
558
+     * @since 1.0.19
559
+     * @sinve 2.3.4 Array values sanitized.
560
+     * @param  array $value Form elements.
561
+     */
562
+    public function set_elements( $value ) {
563
+        if ( is_array( $value ) ) {
564
+            $this->set_prop( 'elements', wp_kses_post_deep( $value ) );
565
+        }
566
+    }
567
+
568
+    /**
569
+     * Sanitize array values.
570
+     *
571
+     * @param $value
572
+     *
573
+     * @return mixed
574
+     */
575
+    public function sanitize_array_values( $value ) {
576
+
577
+        // sanitize
578
+        if ( ! empty( $value ) ) {
579
+
580
+            foreach ( $value as $key => $val_arr ) {
581
+
582
+                if ( is_array( $val_arr ) ) {
583
+                    // check if we have sub array items.
584
+                    $sub_arr = array();
585
+                    foreach ( $val_arr as $key2 => $val2 ) {
586
+                        if ( is_array( $val2 ) ) {
587
+                            $sub_arr[ $key2 ] = $this->sanitize_array_values( $val2 );
588
+                            unset( $val_arr[ $key ][ $key2 ] );
589
+                        }
590
+                    }
591
+
592
+                    // we allow some html in description so we sanitize it separately.
593
+                    $help_text = ! empty( $val_arr['description'] ) ? wp_kses_post( $val_arr['description'] ) : '';
594
+
595
+                    // sanitize array elements
596
+                    $value[ $key ] = array_map( 'sanitize_text_field', $val_arr );
597
+
598
+                    // add back the description if set
599
+                    if ( isset( $val_arr['description'] ) ) {
600 600
 $value[ $key ]['description'] = $help_text;}
601 601
 
602
-					// add back sub array items after its been sanitized.
603
-					if ( ! empty( $sub_arr ) ) {
604
-						$value[ $key ] = array_merge( $value[ $key ], $sub_arr );
605
-					}
606
-				}
602
+                    // add back sub array items after its been sanitized.
603
+                    if ( ! empty( $sub_arr ) ) {
604
+                        $value[ $key ] = array_merge( $value[ $key ], $sub_arr );
605
+                    }
606
+                }
607 607
 }
608 608
 }
609 609
 
610
-		return $value;
611
-	}
612
-
613
-	/**
614
-	 * Set the form items.
615
-	 *
616
-	 * @since 1.0.19
617
-	 * @param  array $value Form elements.
618
-	 */
619
-	public function set_items( $value ) {
620
-		if ( is_array( $value ) ) {
621
-			$this->set_prop( 'items', $value );
622
-		}
623
-	}
624
-
625
-	/**
626
-	 * Set the total amount earned via this form.
627
-	 *
628
-	 * @since 1.0.19
629
-	 * @param  float $value Amount earned.
630
-	 */
631
-	public function set_earned( $value ) {
632
-		$value = max( (float) $value, 0 );
633
-		$this->set_prop( 'earned', $value );
634
-	}
635
-
636
-	/**
637
-	 * Set the total amount refunded via this form.
638
-	 *
639
-	 * @since 1.0.19
640
-	 * @param  float $value Amount refunded.
641
-	 */
642
-	public function set_refunded( $value ) {
643
-		$value = max( (float) $value, 0 );
644
-		$this->set_prop( 'refunded', $value );
645
-	}
646
-
647
-	/**
648
-	 * Set the total amount cancelled via this form.
649
-	 *
650
-	 * @since 1.0.19
651
-	 * @param  float $value Amount cancelled.
652
-	 */
653
-	public function set_cancelled( $value ) {
654
-		$value = max( (float) $value, 0 );
655
-		$this->set_prop( 'cancelled', $value );
656
-	}
657
-
658
-	/**
659
-	 * Set the total amount failed via this form.
660
-	 *
661
-	 * @since 1.0.19
662
-	 * @param  float $value Amount cancelled.
663
-	 */
664
-	public function set_failed( $value ) {
665
-		$value = max( (float) $value, 0 );
666
-		$this->set_prop( 'failed', $value );
667
-	}
610
+        return $value;
611
+    }
612
+
613
+    /**
614
+     * Set the form items.
615
+     *
616
+     * @since 1.0.19
617
+     * @param  array $value Form elements.
618
+     */
619
+    public function set_items( $value ) {
620
+        if ( is_array( $value ) ) {
621
+            $this->set_prop( 'items', $value );
622
+        }
623
+    }
624
+
625
+    /**
626
+     * Set the total amount earned via this form.
627
+     *
628
+     * @since 1.0.19
629
+     * @param  float $value Amount earned.
630
+     */
631
+    public function set_earned( $value ) {
632
+        $value = max( (float) $value, 0 );
633
+        $this->set_prop( 'earned', $value );
634
+    }
635
+
636
+    /**
637
+     * Set the total amount refunded via this form.
638
+     *
639
+     * @since 1.0.19
640
+     * @param  float $value Amount refunded.
641
+     */
642
+    public function set_refunded( $value ) {
643
+        $value = max( (float) $value, 0 );
644
+        $this->set_prop( 'refunded', $value );
645
+    }
646
+
647
+    /**
648
+     * Set the total amount cancelled via this form.
649
+     *
650
+     * @since 1.0.19
651
+     * @param  float $value Amount cancelled.
652
+     */
653
+    public function set_cancelled( $value ) {
654
+        $value = max( (float) $value, 0 );
655
+        $this->set_prop( 'cancelled', $value );
656
+    }
657
+
658
+    /**
659
+     * Set the total amount failed via this form.
660
+     *
661
+     * @since 1.0.19
662
+     * @param  float $value Amount cancelled.
663
+     */
664
+    public function set_failed( $value ) {
665
+        $value = max( (float) $value, 0 );
666
+        $this->set_prop( 'failed', $value );
667
+    }
668 668
 
669 669
     /**
670 670
      * Create an item. For backwards compatibilty.
671 671
      *
672 672
      * @deprecated
673
-	 * @return int item id
673
+     * @return int item id
674 674
      */
675 675
     public function create( $data = array() ) {
676 676
 
677
-		// Set the properties.
678
-		if ( is_array( $data ) ) {
679
-			$this->set_props( $data );
680
-		}
677
+        // Set the properties.
678
+        if ( is_array( $data ) ) {
679
+            $this->set_props( $data );
680
+        }
681 681
 
682
-		// Save the item.
683
-		return $this->save();
682
+        // Save the item.
683
+        return $this->save();
684 684
 
685 685
     }
686 686
 
@@ -688,7 +688,7 @@  discard block
 block discarded – undo
688 688
      * Updates an item. For backwards compatibilty.
689 689
      *
690 690
      * @deprecated
691
-	 * @return int item id
691
+     * @return int item id
692 692
      */
693 693
     public function update( $data = array() ) {
694 694
         return $this->create( $data );
@@ -704,22 +704,22 @@  discard block
 block discarded – undo
704 704
 	*/
705 705
 
706 706
     /**
707
-	 * Checks whether this is the default payment form.
708
-	 *
709
-	 * @since 1.0.19
710
-	 * @return bool
711
-	 */
707
+     * Checks whether this is the default payment form.
708
+     *
709
+     * @since 1.0.19
710
+     * @return bool
711
+     */
712 712
     public function is_default() {
713 713
         $is_default = $this->get_id() == wpinv_get_default_payment_form();
714 714
         return (bool) apply_filters( 'wpinv_is_default_payment_form', $is_default, $this->get_id(), $this );
715
-	}
715
+    }
716 716
 
717 717
     /**
718
-	 * Checks whether the form is active.
719
-	 *
720
-	 * @since 1.0.19
721
-	 * @return bool
722
-	 */
718
+     * Checks whether the form is active.
719
+     *
720
+     * @since 1.0.19
721
+     * @return bool
722
+     */
723 723
     public function is_active() {
724 724
         $is_active = 0 !== (int) $this->get_id();
725 725
 
@@ -728,81 +728,81 @@  discard block
 block discarded – undo
728 728
         }
729 729
 
730 730
         return (bool) apply_filters( 'wpinv_is_payment_form_active', $is_active, $this );
731
-	}
732
-
733
-	/**
734
-	 * Checks whether the form has a given item.
735
-	 *
736
-	 * @since 1.0.19
737
-	 * @return bool
738
-	 */
731
+    }
732
+
733
+    /**
734
+     * Checks whether the form has a given item.
735
+     *
736
+     * @since 1.0.19
737
+     * @return bool
738
+     */
739 739
     public function has_item( $item_id ) {
740 740
         return false !== $this->get_item( $item_id );
741
-	}
742
-
743
-	/**
744
-	 * Checks whether the form has a given element.
745
-	 *
746
-	 * @since 1.0.19
747
-	 * @return bool
748
-	 */
741
+    }
742
+
743
+    /**
744
+     * Checks whether the form has a given element.
745
+     *
746
+     * @since 1.0.19
747
+     * @return bool
748
+     */
749 749
     public function has_element_type( $element_type ) {
750 750
         return false !== $this->get_element_type( $element_type );
751
-	}
752
-
753
-	/**
754
-	 * Checks whether this form is recurring or not.
755
-	 *
756
-	 * @since 1.0.19
757
-	 * @return bool
758
-	 */
751
+    }
752
+
753
+    /**
754
+     * Checks whether this form is recurring or not.
755
+     *
756
+     * @since 1.0.19
757
+     * @return bool
758
+     */
759 759
     public function is_recurring() {
760 760
 
761
-		if ( ! empty( $this->invoice ) ) {
762
-			return $this->invoice->is_recurring();
763
-		}
761
+        if ( ! empty( $this->invoice ) ) {
762
+            return $this->invoice->is_recurring();
763
+        }
764 764
 
765
-		foreach ( $this->get_items() as $item ) {
765
+        foreach ( $this->get_items() as $item ) {
766 766
 
767
-			if ( $item->is_recurring() ) {
768
-				return true;
769
-			}
767
+            if ( $item->is_recurring() ) {
768
+                return true;
769
+            }
770 770
 }
771 771
 
772 772
         return false;
773
-	}
773
+    }
774 774
 
775
-	/**
776
-	 * Retrieves the form's html.
777
-	 *
778
-	 * @since 1.0.19
779
-	 */
775
+    /**
776
+     * Retrieves the form's html.
777
+     *
778
+     * @since 1.0.19
779
+     */
780 780
     public function get_html( $extra_markup = '' ) {
781 781
 
782
-		// Return the HTML.
783
-		return wpinv_get_template_html(
784
-			'payment-forms/form.php',
785
-			array(
786
-				'form'         => $this,
787
-				'extra_markup' => $extra_markup,
788
-			)
789
-		);
790
-
791
-	}
792
-
793
-	/**
794
-	 * Displays the payment form.
795
-	 *
796
-	 * @since 1.0.19
797
-	 */
782
+        // Return the HTML.
783
+        return wpinv_get_template_html(
784
+            'payment-forms/form.php',
785
+            array(
786
+                'form'         => $this,
787
+                'extra_markup' => $extra_markup,
788
+            )
789
+        );
790
+
791
+    }
792
+
793
+    /**
794
+     * Displays the payment form.
795
+     *
796
+     * @since 1.0.19
797
+     */
798 798
     public function display( $extra_markup = '' ) {
799
-		wpinv_get_template(
800
-			'payment-forms/form.php',
801
-			array(
802
-				'form'         => $this,
803
-				'extra_markup' => $extra_markup,
804
-			)
805
-		);
799
+        wpinv_get_template(
800
+            'payment-forms/form.php',
801
+            array(
802
+                'form'         => $this,
803
+                'extra_markup' => $extra_markup,
804
+            )
805
+        );
806 806
     }
807 807
 
808 808
 }
Please login to merge, or discard this patch.
includes/admin/class-wpinv-customers-table.php 1 patch
Indentation   +366 added lines, -366 removed lines patch added patch discarded remove patch
@@ -11,7 +11,7 @@  discard block
 block discarded – undo
11 11
 
12 12
 // Load WP_List_Table if not loaded
13 13
 if ( ! class_exists( 'WP_List_Table' ) ) {
14
-	require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
14
+    require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php';
15 15
 }
16 16
 
17 17
 /**
@@ -23,373 +23,373 @@  discard block
 block discarded – undo
23 23
  */
24 24
 class WPInv_Customers_Table extends WP_List_Table {
25 25
 
26
-	/**
27
-	 * @var int Number of items per page
28
-	 * @since 1.0.19
29
-	 */
30
-	public $per_page = 10;
31
-
32
-	/**
33
-	 * @var int Number of items
34
-	 * @since 1.0.19
35
-	 */
36
-	public $total = 0;
37
-
38
-	/**
39
-	 * Get things started
40
-	 *
41
-	 * @since 1.0.19
42
-	 * @see WP_List_Table::__construct()
43
-	 */
44
-	public function __construct() {
45
-
46
-		// Set parent defaults
47
-		parent::__construct(
26
+    /**
27
+     * @var int Number of items per page
28
+     * @since 1.0.19
29
+     */
30
+    public $per_page = 10;
31
+
32
+    /**
33
+     * @var int Number of items
34
+     * @since 1.0.19
35
+     */
36
+    public $total = 0;
37
+
38
+    /**
39
+     * Get things started
40
+     *
41
+     * @since 1.0.19
42
+     * @see WP_List_Table::__construct()
43
+     */
44
+    public function __construct() {
45
+
46
+        // Set parent defaults
47
+        parent::__construct(
48 48
             array(
49
-				'singular' => 'id',
50
-				'plural'   => 'ids',
51
-				'ajax'     => false,
49
+                'singular' => 'id',
50
+                'plural'   => 'ids',
51
+                'ajax'     => false,
52 52
             )
53 53
         );
54 54
 
55
-	}
56
-
57
-	/**
58
-	 * Gets the name of the primary column.
59
-	 *
60
-	 * @since 1.0.19
61
-	 * @access protected
62
-	 *
63
-	 * @return string Name of the primary column.
64
-	 */
65
-	protected function get_primary_column_name() {
66
-		return 'name';
67
-	}
68
-
69
-	/**
70
-	 * This function renders most of the columns in the list table.
71
-	 *
72
-	 * @since 1.0.19
73
-	 *
74
-	 * @param WP_User $item
75
-	 * @param string $column_name The name of the column
76
-	 *
77
-	 * @return string Column Name
78
-	 */
79
-	public function column_default( $item, $column_name ) {
80
-		$value = esc_html( get_user_meta( $item->ID, '_wpinv_' . $column_name, true ) );
81
-		return apply_filters( 'wpinv_customers_table_column' . $column_name, $value, $item );
82
-	}
83
-
84
-	/**
85
-	 * Displays the country column.
86
-	 *
87
-	 * @since 1.0.19
88
-	 *
89
-	 * @param WP_User $user
90
-	 *
91
-	 * @return string Column Name
92
-	 */
93
-	public function column_country( $user ) {
94
-		$country = wpinv_sanitize_country( $user->_wpinv_country );
95
-		if ( $country ) {
96
-			$country = wpinv_country_name( $country );
97
-		}
98
-		return esc_html( $country );
99
-	}
100
-
101
-	/**
102
-	 * Displays the state column.
103
-	 *
104
-	 * @since 1.0.19
105
-	 *
106
-	 * @param WP_User $user
107
-	 *
108
-	 * @return string Column Name
109
-	 */
110
-	public function column_state( $user ) {
111
-		$country = wpinv_sanitize_country( $user->_wpinv_country );
112
-		$state   = $user->_wpinv_state;
113
-		if ( $state ) {
114
-			$state = wpinv_state_name( $state, $country );
115
-		}
116
-
117
-		return esc_html( $state );
118
-	}
119
-
120
-	/**
121
-	 * Displays the signup column.
122
-	 *
123
-	 * @since 1.0.19
124
-	 *
125
-	 * @param WP_User $user
126
-	 *
127
-	 * @return string Column Name
128
-	 */
129
-	public function column_signup( $user ) {
130
-		return getpaid_format_date_value( $user->user_registered );
131
-	}
132
-
133
-	/**
134
-	 * Displays the total spent column.
135
-	 *
136
-	 * @since 1.0.19
137
-	 *
138
-	 * @param WP_User $user
139
-	 *
140
-	 * @return string Column Name
141
-	 */
142
-	public function column_total( $user ) {
143
-		return wpinv_price( $this->column_total_raw( $user ) );
144
-	}
145
-
146
-	/**
147
-	 * Displays the total spent column.
148
-	 *
149
-	 * @since 1.0.19
150
-	 *
151
-	 * @param WP_User $user
152
-	 *
153
-	 * @return float
154
-	 */
155
-	public function column_total_raw( $user ) {
156
-
157
-		$args = array(
158
-			'data'           => array(
159
-
160
-				'total' => array(
161
-					'type'     => 'invoice_data',
162
-					'function' => 'SUM',
163
-					'name'     => 'total_sales',
164
-				),
165
-
166
-			),
167
-			'where'          => array(
168
-
169
-				'author' => array(
170
-					'type'     => 'post_data',
171
-					'value'    => absint( $user->ID ),
172
-					'key'      => 'posts.post_author',
173
-					'operator' => '=',
174
-				),
175
-
176
-			),
177
-			'query_type'     => 'get_var',
178
-			'invoice_status' => array( 'wpi-renewal', 'wpi-processing', 'publish' ),
179
-		);
180
-
181
-		return wpinv_round_amount( GetPaid_Reports_Helper::get_invoice_report_data( $args ) );
182
-
183
-	}
184
-
185
-	/**
186
-	 * Displays the total spent column.
187
-	 *
188
-	 * @since 1.0.19
189
-	 *
190
-	 * @param WP_User $user
191
-	 *
192
-	 * @return string Column Name
193
-	 */
194
-	public function column_invoices( $user ) {
195
-
196
-		$args = array(
197
-			'data'           => array(
198
-
199
-				'ID' => array(
200
-					'type'     => 'post_data',
201
-					'function' => 'COUNT',
202
-					'name'     => 'count',
203
-					'distinct' => true,
204
-				),
205
-
206
-			),
207
-			'where'          => array(
208
-
209
-				'author' => array(
210
-					'type'     => 'post_data',
211
-					'value'    => absint( $user->ID ),
212
-					'key'      => 'posts.post_author',
213
-					'operator' => '=',
214
-				),
215
-
216
-			),
217
-			'query_type'     => 'get_var',
218
-			'invoice_status' => array_keys( wpinv_get_invoice_statuses() ),
219
-		);
220
-
221
-		return absint( GetPaid_Reports_Helper::get_invoice_report_data( $args ) );
222
-
223
-	}
224
-
225
-	/**
226
-	 * Generates content for a single row of the table
227
-	 * @since 1.0.19
228
-	 *
229
-	 * @param int $item The user id.
230
-	 */
231
-	public function single_row( $item ) {
232
-		$item = get_user_by( 'id', $item );
233
-
234
-		if ( empty( $item ) ) {
235
-			return;
236
-		}
237
-
238
-		echo '<tr>';
239
-		$this->single_row_columns( $item );
240
-		echo '</tr>';
241
-	}
242
-
243
-	/**
244
-	 * Displays the customers name
245
-	 *
246
-	 * @param  WP_User $customer customer.
247
-	 * @return string
248
-	 */
249
-	public function column_name( $customer ) {
250
-
251
-		// Customer view URL.
252
-		$view_url    = esc_url( add_query_arg( 'user_id', $customer->ID, admin_url( 'user-edit.php' ) ) );
253
-		$row_actions = $this->row_actions(
254
-			array(
255
-				'view' => '<a href="' . $view_url . '#getpaid-fieldset-billing">' . __( 'Edit Details', 'invoicing' ) . '</a>',
256
-			)
257
-		);
258
-
259
-		// Get user's address.
260
-		$address = wpinv_get_user_address( $customer->ID );
261
-
262
-		// Customer email address.
263
-		$email       = sanitize_email( $customer->user_email );
264
-
265
-		// Customer's avatar.
266
-		$avatar = esc_url( get_avatar_url( $email ) );
267
-		$avatar = "<img src='$avatar' height='32' width='32'/>";
268
-
269
-		// Customer's name.
270
-		$name   = esc_html( "{$address['first_name']} {$address['last_name']}" );
271
-
272
-		if ( empty( trim( $name ) ) ) {
273
-			$name = esc_html( $address['display_name'] );
274
-		}
275
-
276
-		if ( ! empty( $name ) ) {
277
-			$name = "<div style='overflow: hidden;height: 18px;'>$name</div>";
278
-		}
279
-
280
-		$email = "<div class='row-title'><a href='$view_url'>$email</a></div>";
281
-
282
-		return "<div style='display: flex;'><div>$avatar</div><div style='margin-left: 10px;'>$name<strong>$email</strong>$row_actions</div></div>";
283
-
284
-	}
285
-
286
-	/**
287
-	 * Retrieve the table columns
288
-	 *
289
-	 * @since 1.0.19
290
-	 * @return array $columns Array of all the list table columns
291
-	 */
292
-	public function get_columns() {
293
-
294
-		$columns = array(
295
-			'name'     => __( 'Name', 'invoicing' ),
296
-			'country'  => __( 'Country', 'invoicing' ),
297
-			'state'    => __( 'State', 'invoicing' ),
298
-			'city'     => __( 'City', 'invoicing' ),
299
-			'zip'      => __( 'ZIP', 'invoicing' ),
300
-			'address'  => __( 'Address', 'invoicing' ),
301
-			'phone'    => __( 'Phone', 'invoicing' ),
302
-			'company'  => __( 'Company', 'invoicing' ),
303
-			'invoices' => __( 'Invoices', 'invoicing' ),
304
-			'total'    => __( 'Total Spend', 'invoicing' ),
305
-			'signup'   => __( 'Date created', 'invoicing' ),
306
-		);
307
-		return apply_filters( 'wpinv_customers_table_columns', $columns );
308
-
309
-	}
310
-
311
-	/**
312
-	 * Retrieve the current page number
313
-	 *
314
-	 * @since 1.0.19
315
-	 * @return int Current page number
316
-	 */
317
-	public function get_paged() {
318
-		return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
319
-	}
320
-
321
-	/**
322
-	 * Returns bulk actions.
323
-	 *
324
-	 * @since 1.0.19
325
-	 * @return void
326
-	 */
327
-	public function bulk_actions( $which = '' ) {
328
-		return array();
329
-	}
330
-
331
-	/**
332
-	 *  Prepares the display query
333
-	 */
334
-	public function prepare_query() {
335
-		global $wpdb;
336
-
337
-		$post_types = '';
338
-
339
-		foreach ( array_keys( getpaid_get_invoice_post_types() ) as $post_type ) {
340
-			$post_types .= $wpdb->prepare( 'post_type=%s OR ', $post_type );
341
-		}
342
-
343
-		$post_types = rtrim( $post_types, ' OR' );
344
-
345
-		// Maybe search.
346
-		if ( ! empty( $_POST['s'] ) ) {
347
-			$users = get_users(
348
-				array(
349
-					'search'         => '*' . sanitize_text_field( urldecode( $_POST['s'] ) ) . '*',
350
-					'search_columns' => array( 'user_login', 'user_email', 'display_name' ),
351
-					'fields'         => 'ID',
352
-				)
353
-			);
354
-
355
-			$users      = implode( ', ', $users );
356
-			$post_types = "($post_types) AND ( post_author IN ( $users ) )";
357
-		}
358
-
359
-		// Users with invoices.
360
-    	$customers = $wpdb->get_col(
361
-			$wpdb->prepare(
362
-				"SELECT DISTINCT( post_author ) FROM $wpdb->posts WHERE $post_types LIMIT %d,%d",
363
-				$this->get_paged() * 10 - 10,
364
-				$this->per_page
365
-			)
366
-		);
367
-
368
-		$this->items = $customers;
369
-		$this->total = (int) $wpdb->get_var( "SELECT COUNT( DISTINCT( post_author ) ) FROM $wpdb->posts WHERE $post_types" );
370
-
371
-	}
372
-
373
-	/**
374
-	 * Setup the final data for the table
375
-	 *
376
-	 * @since 1.0.19
377
-	 * @return void
378
-	 */
379
-	public function prepare_items() {
380
-		$columns               = $this->get_columns();
381
-		$hidden                = array(); // No hidden columns
382
-		$sortable              = $this->get_sortable_columns();
383
-		$this->_column_headers = array( $columns, $hidden, $sortable );
384
-		$this->prepare_query();
385
-
386
-		$this->set_pagination_args(
387
-			array(
388
-				'total_items' => $this->total,
389
-				'per_page'    => $this->per_page,
390
-				'total_pages' => ceil( $this->total / $this->per_page ),
391
-			)
392
-		);
393
-
394
-	}
55
+    }
56
+
57
+    /**
58
+     * Gets the name of the primary column.
59
+     *
60
+     * @since 1.0.19
61
+     * @access protected
62
+     *
63
+     * @return string Name of the primary column.
64
+     */
65
+    protected function get_primary_column_name() {
66
+        return 'name';
67
+    }
68
+
69
+    /**
70
+     * This function renders most of the columns in the list table.
71
+     *
72
+     * @since 1.0.19
73
+     *
74
+     * @param WP_User $item
75
+     * @param string $column_name The name of the column
76
+     *
77
+     * @return string Column Name
78
+     */
79
+    public function column_default( $item, $column_name ) {
80
+        $value = esc_html( get_user_meta( $item->ID, '_wpinv_' . $column_name, true ) );
81
+        return apply_filters( 'wpinv_customers_table_column' . $column_name, $value, $item );
82
+    }
83
+
84
+    /**
85
+     * Displays the country column.
86
+     *
87
+     * @since 1.0.19
88
+     *
89
+     * @param WP_User $user
90
+     *
91
+     * @return string Column Name
92
+     */
93
+    public function column_country( $user ) {
94
+        $country = wpinv_sanitize_country( $user->_wpinv_country );
95
+        if ( $country ) {
96
+            $country = wpinv_country_name( $country );
97
+        }
98
+        return esc_html( $country );
99
+    }
100
+
101
+    /**
102
+     * Displays the state column.
103
+     *
104
+     * @since 1.0.19
105
+     *
106
+     * @param WP_User $user
107
+     *
108
+     * @return string Column Name
109
+     */
110
+    public function column_state( $user ) {
111
+        $country = wpinv_sanitize_country( $user->_wpinv_country );
112
+        $state   = $user->_wpinv_state;
113
+        if ( $state ) {
114
+            $state = wpinv_state_name( $state, $country );
115
+        }
116
+
117
+        return esc_html( $state );
118
+    }
119
+
120
+    /**
121
+     * Displays the signup column.
122
+     *
123
+     * @since 1.0.19
124
+     *
125
+     * @param WP_User $user
126
+     *
127
+     * @return string Column Name
128
+     */
129
+    public function column_signup( $user ) {
130
+        return getpaid_format_date_value( $user->user_registered );
131
+    }
132
+
133
+    /**
134
+     * Displays the total spent column.
135
+     *
136
+     * @since 1.0.19
137
+     *
138
+     * @param WP_User $user
139
+     *
140
+     * @return string Column Name
141
+     */
142
+    public function column_total( $user ) {
143
+        return wpinv_price( $this->column_total_raw( $user ) );
144
+    }
145
+
146
+    /**
147
+     * Displays the total spent column.
148
+     *
149
+     * @since 1.0.19
150
+     *
151
+     * @param WP_User $user
152
+     *
153
+     * @return float
154
+     */
155
+    public function column_total_raw( $user ) {
156
+
157
+        $args = array(
158
+            'data'           => array(
159
+
160
+                'total' => array(
161
+                    'type'     => 'invoice_data',
162
+                    'function' => 'SUM',
163
+                    'name'     => 'total_sales',
164
+                ),
165
+
166
+            ),
167
+            'where'          => array(
168
+
169
+                'author' => array(
170
+                    'type'     => 'post_data',
171
+                    'value'    => absint( $user->ID ),
172
+                    'key'      => 'posts.post_author',
173
+                    'operator' => '=',
174
+                ),
175
+
176
+            ),
177
+            'query_type'     => 'get_var',
178
+            'invoice_status' => array( 'wpi-renewal', 'wpi-processing', 'publish' ),
179
+        );
180
+
181
+        return wpinv_round_amount( GetPaid_Reports_Helper::get_invoice_report_data( $args ) );
182
+
183
+    }
184
+
185
+    /**
186
+     * Displays the total spent column.
187
+     *
188
+     * @since 1.0.19
189
+     *
190
+     * @param WP_User $user
191
+     *
192
+     * @return string Column Name
193
+     */
194
+    public function column_invoices( $user ) {
195
+
196
+        $args = array(
197
+            'data'           => array(
198
+
199
+                'ID' => array(
200
+                    'type'     => 'post_data',
201
+                    'function' => 'COUNT',
202
+                    'name'     => 'count',
203
+                    'distinct' => true,
204
+                ),
205
+
206
+            ),
207
+            'where'          => array(
208
+
209
+                'author' => array(
210
+                    'type'     => 'post_data',
211
+                    'value'    => absint( $user->ID ),
212
+                    'key'      => 'posts.post_author',
213
+                    'operator' => '=',
214
+                ),
215
+
216
+            ),
217
+            'query_type'     => 'get_var',
218
+            'invoice_status' => array_keys( wpinv_get_invoice_statuses() ),
219
+        );
220
+
221
+        return absint( GetPaid_Reports_Helper::get_invoice_report_data( $args ) );
222
+
223
+    }
224
+
225
+    /**
226
+     * Generates content for a single row of the table
227
+     * @since 1.0.19
228
+     *
229
+     * @param int $item The user id.
230
+     */
231
+    public function single_row( $item ) {
232
+        $item = get_user_by( 'id', $item );
233
+
234
+        if ( empty( $item ) ) {
235
+            return;
236
+        }
237
+
238
+        echo '<tr>';
239
+        $this->single_row_columns( $item );
240
+        echo '</tr>';
241
+    }
242
+
243
+    /**
244
+     * Displays the customers name
245
+     *
246
+     * @param  WP_User $customer customer.
247
+     * @return string
248
+     */
249
+    public function column_name( $customer ) {
250
+
251
+        // Customer view URL.
252
+        $view_url    = esc_url( add_query_arg( 'user_id', $customer->ID, admin_url( 'user-edit.php' ) ) );
253
+        $row_actions = $this->row_actions(
254
+            array(
255
+                'view' => '<a href="' . $view_url . '#getpaid-fieldset-billing">' . __( 'Edit Details', 'invoicing' ) . '</a>',
256
+            )
257
+        );
258
+
259
+        // Get user's address.
260
+        $address = wpinv_get_user_address( $customer->ID );
261
+
262
+        // Customer email address.
263
+        $email       = sanitize_email( $customer->user_email );
264
+
265
+        // Customer's avatar.
266
+        $avatar = esc_url( get_avatar_url( $email ) );
267
+        $avatar = "<img src='$avatar' height='32' width='32'/>";
268
+
269
+        // Customer's name.
270
+        $name   = esc_html( "{$address['first_name']} {$address['last_name']}" );
271
+
272
+        if ( empty( trim( $name ) ) ) {
273
+            $name = esc_html( $address['display_name'] );
274
+        }
275
+
276
+        if ( ! empty( $name ) ) {
277
+            $name = "<div style='overflow: hidden;height: 18px;'>$name</div>";
278
+        }
279
+
280
+        $email = "<div class='row-title'><a href='$view_url'>$email</a></div>";
281
+
282
+        return "<div style='display: flex;'><div>$avatar</div><div style='margin-left: 10px;'>$name<strong>$email</strong>$row_actions</div></div>";
283
+
284
+    }
285
+
286
+    /**
287
+     * Retrieve the table columns
288
+     *
289
+     * @since 1.0.19
290
+     * @return array $columns Array of all the list table columns
291
+     */
292
+    public function get_columns() {
293
+
294
+        $columns = array(
295
+            'name'     => __( 'Name', 'invoicing' ),
296
+            'country'  => __( 'Country', 'invoicing' ),
297
+            'state'    => __( 'State', 'invoicing' ),
298
+            'city'     => __( 'City', 'invoicing' ),
299
+            'zip'      => __( 'ZIP', 'invoicing' ),
300
+            'address'  => __( 'Address', 'invoicing' ),
301
+            'phone'    => __( 'Phone', 'invoicing' ),
302
+            'company'  => __( 'Company', 'invoicing' ),
303
+            'invoices' => __( 'Invoices', 'invoicing' ),
304
+            'total'    => __( 'Total Spend', 'invoicing' ),
305
+            'signup'   => __( 'Date created', 'invoicing' ),
306
+        );
307
+        return apply_filters( 'wpinv_customers_table_columns', $columns );
308
+
309
+    }
310
+
311
+    /**
312
+     * Retrieve the current page number
313
+     *
314
+     * @since 1.0.19
315
+     * @return int Current page number
316
+     */
317
+    public function get_paged() {
318
+        return isset( $_GET['paged'] ) ? absint( $_GET['paged'] ) : 1;
319
+    }
320
+
321
+    /**
322
+     * Returns bulk actions.
323
+     *
324
+     * @since 1.0.19
325
+     * @return void
326
+     */
327
+    public function bulk_actions( $which = '' ) {
328
+        return array();
329
+    }
330
+
331
+    /**
332
+     *  Prepares the display query
333
+     */
334
+    public function prepare_query() {
335
+        global $wpdb;
336
+
337
+        $post_types = '';
338
+
339
+        foreach ( array_keys( getpaid_get_invoice_post_types() ) as $post_type ) {
340
+            $post_types .= $wpdb->prepare( 'post_type=%s OR ', $post_type );
341
+        }
342
+
343
+        $post_types = rtrim( $post_types, ' OR' );
344
+
345
+        // Maybe search.
346
+        if ( ! empty( $_POST['s'] ) ) {
347
+            $users = get_users(
348
+                array(
349
+                    'search'         => '*' . sanitize_text_field( urldecode( $_POST['s'] ) ) . '*',
350
+                    'search_columns' => array( 'user_login', 'user_email', 'display_name' ),
351
+                    'fields'         => 'ID',
352
+                )
353
+            );
354
+
355
+            $users      = implode( ', ', $users );
356
+            $post_types = "($post_types) AND ( post_author IN ( $users ) )";
357
+        }
358
+
359
+        // Users with invoices.
360
+        $customers = $wpdb->get_col(
361
+            $wpdb->prepare(
362
+                "SELECT DISTINCT( post_author ) FROM $wpdb->posts WHERE $post_types LIMIT %d,%d",
363
+                $this->get_paged() * 10 - 10,
364
+                $this->per_page
365
+            )
366
+        );
367
+
368
+        $this->items = $customers;
369
+        $this->total = (int) $wpdb->get_var( "SELECT COUNT( DISTINCT( post_author ) ) FROM $wpdb->posts WHERE $post_types" );
370
+
371
+    }
372
+
373
+    /**
374
+     * Setup the final data for the table
375
+     *
376
+     * @since 1.0.19
377
+     * @return void
378
+     */
379
+    public function prepare_items() {
380
+        $columns               = $this->get_columns();
381
+        $hidden                = array(); // No hidden columns
382
+        $sortable              = $this->get_sortable_columns();
383
+        $this->_column_headers = array( $columns, $hidden, $sortable );
384
+        $this->prepare_query();
385
+
386
+        $this->set_pagination_args(
387
+            array(
388
+                'total_items' => $this->total,
389
+                'per_page'    => $this->per_page,
390
+                'total_pages' => ceil( $this->total / $this->per_page ),
391
+            )
392
+        );
393
+
394
+    }
395 395
 }
Please login to merge, or discard this patch.
includes/admin/register-settings.php 1 patch
Indentation   +299 added lines, -299 removed lines patch added patch discarded remove patch
@@ -192,13 +192,13 @@  discard block
 block discarded – undo
192 192
     $name       = isset( $option['name'] ) ? $option['name'] : '';
193 193
     $cb         = "wpinv_{$option['type']}_callback";
194 194
     $section    = "wpinv_settings_{$tab}_$section";
195
-	$is_wizzard = is_admin() && isset( $_GET['page'] ) && 'gp-setup' == $_GET['page'];
195
+    $is_wizzard = is_admin() && isset( $_GET['page'] ) && 'gp-setup' == $_GET['page'];
196 196
 
197
-	if ( isset( $option['desc'] ) && ( ! $is_wizzard && ! empty( $option['help-tip'] ) ) ) {
198
-		$tip   = wpinv_clean( $option['desc'] );
199
-		$name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>";
200
-		unset( $option['desc'] );
201
-	}
197
+    if ( isset( $option['desc'] ) && ( ! $is_wizzard && ! empty( $option['help-tip'] ) ) ) {
198
+        $tip   = wpinv_clean( $option['desc'] );
199
+        $name .= "<span class='dashicons dashicons-editor-help wpi-help-tip' title='$tip'></span>";
200
+        unset( $option['desc'] );
201
+    }
202 202
 
203 203
     // Loop through all tabs.
204 204
     add_settings_field(
@@ -225,9 +225,9 @@  discard block
 block discarded – undo
225 225
             'faux'            => isset( $option['faux'] ) ? $option['faux'] : false,
226 226
             'onchange'        => isset( $option['onchange'] ) ? $option['onchange'] : '',
227 227
             'custom'          => isset( $option['custom'] ) ? $option['custom'] : '',
228
-			'default_content' => isset( $option['default_content'] ) ? $option['default_content'] : '',
229
-			'class'           => isset( $option['class'] ) ? $option['class'] : '',
230
-			'style'           => isset( $option['style'] ) ? $option['style'] : '',
228
+            'default_content' => isset( $option['default_content'] ) ? $option['default_content'] : '',
229
+            'class'           => isset( $option['class'] ) ? $option['class'] : '',
230
+            'style'           => isset( $option['style'] ) ? $option['style'] : '',
231 231
             'cols'            => isset( $option['cols'] ) && (int) $option['cols'] > 0 ? (int) $option['cols'] : 50,
232 232
             'rows'            => isset( $option['rows'] ) && (int) $option['rows'] > 0 ? (int) $option['rows'] : 5,
233 233
         )
@@ -241,7 +241,7 @@  discard block
 block discarded – undo
241 241
  * @return array
242 242
  */
243 243
 function wpinv_get_registered_settings() {
244
-	return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) );
244
+    return array_filter( apply_filters( 'wpinv_registered_settings', wpinv_get_data( 'admin-settings' ) ) );
245 245
 }
246 246
 
247 247
 /**
@@ -260,18 +260,18 @@  discard block
 block discarded – undo
260 260
  */
261 261
 function wpinv_settings_sanitize( $input = array() ) {
262 262
 
263
-	$wpinv_options = wpinv_get_options();
264
-	$raw_referrer  = wp_get_raw_referer();
263
+    $wpinv_options = wpinv_get_options();
264
+    $raw_referrer  = wp_get_raw_referer();
265 265
 
266 266
     if ( empty( $raw_referrer ) ) {
267
-		return array_merge( $wpinv_options, $input );
267
+        return array_merge( $wpinv_options, $input );
268 268
     }
269 269
 
270 270
     wp_parse_str( $raw_referrer, $referrer );
271 271
 
272
-	if ( in_array( 'gp-setup', $referrer ) ) {
273
-		return array_merge( $wpinv_options, $input );
274
-	}
272
+    if ( in_array( 'gp-setup', $referrer ) ) {
273
+        return array_merge( $wpinv_options, $input );
274
+    }
275 275
 
276 276
     $settings = wpinv_get_registered_settings();
277 277
     $tab      = isset( $referrer['tab'] ) ? $referrer['tab'] : 'general';
@@ -293,10 +293,10 @@  discard block
 block discarded – undo
293 293
         }
294 294
 
295 295
         // General filter
296
-		$input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key );
296
+        $input[ $key ] = apply_filters( 'wpinv_settings_sanitize', $input[ $key ], $key );
297 297
 
298
-		// Key specific filter.
299
-		$input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] );
298
+        // Key specific filter.
299
+        $input[ $key ] = apply_filters( "wpinv_settings_sanitize_$key", $input[ $key ] );
300 300
     }
301 301
 
302 302
     // Loop through the whitelist and unset any that are empty for the tab being saved
@@ -339,14 +339,14 @@  discard block
 block discarded – undo
339 339
 
340 340
     foreach ( $new_rates as $rate ) {
341 341
 
342
-		$rate['rate']    = wpinv_sanitize_amount( $rate['rate'] );
343
-		$rate['name']    = sanitize_text_field( $rate['name'] );
344
-		$rate['state']   = sanitize_text_field( $rate['state'] );
345
-		$rate['country'] = sanitize_text_field( $rate['country'] );
346
-		$rate['global']  = empty( $rate['state'] );
347
-		$tax_rates[]     = $rate;
342
+        $rate['rate']    = wpinv_sanitize_amount( $rate['rate'] );
343
+        $rate['name']    = sanitize_text_field( $rate['name'] );
344
+        $rate['state']   = sanitize_text_field( $rate['state'] );
345
+        $rate['country'] = sanitize_text_field( $rate['country'] );
346
+        $rate['global']  = empty( $rate['state'] );
347
+        $tax_rates[]     = $rate;
348 348
 
349
-	}
349
+    }
350 350
 
351 351
     update_option( 'wpinv_tax_rates', $tax_rates );
352 352
 
@@ -359,11 +359,11 @@  discard block
 block discarded – undo
359 359
     $tabs['general']  = __( 'General', 'invoicing' );
360 360
     $tabs['gateways'] = __( 'Payment Gateways', 'invoicing' );
361 361
     $tabs['taxes']    = __( 'Taxes', 'invoicing' );
362
-	$tabs['emails']   = __( 'Emails', 'invoicing' );
362
+    $tabs['emails']   = __( 'Emails', 'invoicing' );
363 363
 
364
-	if ( count( getpaid_get_integration_settings() ) > 0 ) {
365
-		$tabs['integrations'] = __( 'Integrations', 'invoicing' );
366
-	}
364
+    if ( count( getpaid_get_integration_settings() ) > 0 ) {
365
+        $tabs['integrations'] = __( 'Integrations', 'invoicing' );
366
+    }
367 367
 
368 368
     $tabs['privacy']  = __( 'Privacy', 'invoicing' );
369 369
     $tabs['misc']     = __( 'Misc', 'invoicing' );
@@ -394,52 +394,52 @@  discard block
 block discarded – undo
394 394
         'general'      => apply_filters(
395 395
             'wpinv_settings_sections_general',
396 396
             array(
397
-				'main'             => __( 'General Settings', 'invoicing' ),
398
-				'page_section'     => __( 'Page Settings', 'invoicing' ),
399
-				'currency_section' => __( 'Currency Settings', 'invoicing' ),
400
-				'labels'           => __( 'Label Texts', 'invoicing' ),
397
+                'main'             => __( 'General Settings', 'invoicing' ),
398
+                'page_section'     => __( 'Page Settings', 'invoicing' ),
399
+                'currency_section' => __( 'Currency Settings', 'invoicing' ),
400
+                'labels'           => __( 'Label Texts', 'invoicing' ),
401 401
             )
402 402
         ),
403 403
         'gateways'     => apply_filters(
404 404
             'wpinv_settings_sections_gateways',
405 405
             array(
406
-				'main' => __( 'Gateway Settings', 'invoicing' ),
406
+                'main' => __( 'Gateway Settings', 'invoicing' ),
407 407
             )
408 408
         ),
409 409
         'taxes'        => apply_filters(
410 410
             'wpinv_settings_sections_taxes',
411 411
             array(
412
-				'main'  => __( 'Tax Settings', 'invoicing' ),
413
-				'rates' => __( 'Tax Rates', 'invoicing' ),
414
-				'vat'   => __( 'EU VAT Settings', 'invoicing' ),
412
+                'main'  => __( 'Tax Settings', 'invoicing' ),
413
+                'rates' => __( 'Tax Rates', 'invoicing' ),
414
+                'vat'   => __( 'EU VAT Settings', 'invoicing' ),
415 415
             )
416 416
         ),
417 417
         'emails'       => apply_filters(
418 418
             'wpinv_settings_sections_emails',
419 419
             array(
420
-				'main' => __( 'Email Settings', 'invoicing' ),
420
+                'main' => __( 'Email Settings', 'invoicing' ),
421 421
             )
422 422
         ),
423 423
 
424
-		'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ),
424
+        'integrations' => wp_list_pluck( getpaid_get_integration_settings(), 'label', 'id' ),
425 425
 
426 426
         'privacy'      => apply_filters(
427 427
             'wpinv_settings_sections_privacy',
428 428
             array(
429
-				'main' => __( 'Privacy policy', 'invoicing' ),
429
+                'main' => __( 'Privacy policy', 'invoicing' ),
430 430
             )
431 431
         ),
432 432
         'misc'         => apply_filters(
433 433
             'wpinv_settings_sections_misc',
434 434
             array(
435
-				'main'       => __( 'Miscellaneous', 'invoicing' ),
436
-				'custom-css' => __( 'Custom CSS', 'invoicing' ),
435
+                'main'       => __( 'Miscellaneous', 'invoicing' ),
436
+                'custom-css' => __( 'Custom CSS', 'invoicing' ),
437 437
             )
438 438
         ),
439 439
         'tools'        => apply_filters(
440 440
             'wpinv_settings_sections_tools',
441 441
             array(
442
-				'main' => __( 'Diagnostic Tools', 'invoicing' ),
442
+                'main' => __( 'Diagnostic Tools', 'invoicing' ),
443 443
             )
444 444
         ),
445 445
     );
@@ -450,46 +450,46 @@  discard block
 block discarded – undo
450 450
 }
451 451
 
452 452
 function wpinv_get_pages( $with_slug = false, $default_label = null ) {
453
-	$pages_options = array();
453
+    $pages_options = array();
454 454
 
455
-	if ( $default_label !== null && $default_label !== false ) {
456
-		$pages_options = array( '' => $default_label ); // Blank option
457
-	}
455
+    if ( $default_label !== null && $default_label !== false ) {
456
+        $pages_options = array( '' => $default_label ); // Blank option
457
+    }
458 458
 
459
-	$pages = get_pages();
460
-	if ( $pages ) {
461
-		foreach ( $pages as $page ) {
462
-			$title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title;
459
+    $pages = get_pages();
460
+    if ( $pages ) {
461
+        foreach ( $pages as $page ) {
462
+            $title = $with_slug ? $page->post_title . ' (' . $page->post_name . ')' : $page->post_title;
463 463
             $pages_options[ $page->ID ] = $title;
464
-		}
465
-	}
464
+        }
465
+    }
466 466
 
467
-	return $pages_options;
467
+    return $pages_options;
468 468
 }
469 469
 
470 470
 function wpinv_header_callback( $args ) {
471
-	if ( ! empty( $args['desc'] ) ) {
471
+    if ( ! empty( $args['desc'] ) ) {
472 472
         echo wp_kses_post( $args['desc'] );
473 473
     }
474 474
 }
475 475
 
476 476
 function wpinv_hidden_callback( $args ) {
477 477
 
478
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
479
-	$value   = wpinv_get_option( $args['id'], $std );
478
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
479
+    $value   = wpinv_get_option( $args['id'], $std );
480 480
 
481
-	if ( isset( $args['set_value'] ) ) {
482
-		$value = $args['set_value'];
483
-	}
481
+    if ( isset( $args['set_value'] ) ) {
482
+        $value = $args['set_value'];
483
+    }
484 484
 
485
-	if ( isset( $args['faux'] ) && true === $args['faux'] ) {
486
-		$args['readonly'] = true;
487
-		$name  = '';
488
-	} else {
489
-		$name = 'wpinv_settings[' . esc_attr( $args['id'] ) . ']';
490
-	}
485
+    if ( isset( $args['faux'] ) && true === $args['faux'] ) {
486
+        $args['readonly'] = true;
487
+        $name  = '';
488
+    } else {
489
+        $name = 'wpinv_settings[' . esc_attr( $args['id'] ) . ']';
490
+    }
491 491
 
492
-	echo '<input type="hidden" id="wpinv_settings[' . esc_attr( $args['id'] ) . ']" name="' . esc_attr( $name ) . '" value="' . esc_attr( stripslashes( $value ) ) . '" />';
492
+    echo '<input type="hidden" id="wpinv_settings[' . esc_attr( $args['id'] ) . ']" name="' . esc_attr( $name ) . '" value="' . esc_attr( stripslashes( $value ) ) . '" />';
493 493
 
494 494
 }
495 495
 
@@ -498,12 +498,12 @@  discard block
 block discarded – undo
498 498
  */
499 499
 function wpinv_checkbox_callback( $args ) {
500 500
 
501
-	$std = isset( $args['std'] ) ? $args['std'] : '';
502
-	$std = wpinv_get_option( $args['id'], $std );
503
-	$id  = esc_attr( $args['id'] );
501
+    $std = isset( $args['std'] ) ? $args['std'] : '';
502
+    $std = wpinv_get_option( $args['id'], $std );
503
+    $id  = esc_attr( $args['id'] );
504 504
 
505
-	getpaid_hidden_field( "wpinv_settings[$id]", '0' );
506
-	?>
505
+    getpaid_hidden_field( "wpinv_settings[$id]", '0' );
506
+    ?>
507 507
 		<fieldset>
508 508
 			<label>
509 509
 				<input id="wpinv-settings-<?php echo esc_attr( $id ); ?>" name="wpinv_settings[<?php echo esc_attr( $id ); ?>]" <?php checked( empty( $std ), false ); ?> value="1" type="checkbox">
@@ -515,75 +515,75 @@  discard block
 block discarded – undo
515 515
 
516 516
 function wpinv_multicheck_callback( $args ) {
517 517
 
518
-	$sanitize_id = wpinv_sanitize_key( $args['id'] );
519
-	$class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
518
+    $sanitize_id = wpinv_sanitize_key( $args['id'] );
519
+    $class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
520 520
 
521
-	if ( ! empty( $args['options'] ) ) {
521
+    if ( ! empty( $args['options'] ) ) {
522 522
 
523
-		$std     = isset( $args['std'] ) ? $args['std'] : array();
524
-		$value   = wpinv_get_option( $args['id'], $std );
523
+        $std     = isset( $args['std'] ) ? $args['std'] : array();
524
+        $value   = wpinv_get_option( $args['id'], $std );
525 525
 
526
-		echo '<div class="wpi-mcheck-rows wpi-mcheck-' . esc_attr( $sanitize_id . $class ) . '">';
526
+        echo '<div class="wpi-mcheck-rows wpi-mcheck-' . esc_attr( $sanitize_id . $class ) . '">';
527 527
         foreach ( $args['options'] as $key => $option ) :
528
-			$sanitize_key = esc_attr( wpinv_sanitize_key( $key ) );
529
-			if ( in_array( $sanitize_key, $value ) ) {
530
-				$enabled = $sanitize_key;
531
-			} else {
532
-				$enabled = null;
533
-			}
534
-			echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" id="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/>&nbsp;';
535
-			echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']">' . wp_kses_post( $option ) . '</label></div>';
536
-		endforeach;
537
-		echo '</div>';
538
-		echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>';
539
-	}
528
+            $sanitize_key = esc_attr( wpinv_sanitize_key( $key ) );
529
+            if ( in_array( $sanitize_key, $value ) ) {
530
+                $enabled = $sanitize_key;
531
+            } else {
532
+                $enabled = null;
533
+            }
534
+            echo '<div class="wpi-mcheck-row"><input name="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" id="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" type="checkbox" value="' . esc_attr( $sanitize_key ) . '" ' . checked( $sanitize_key, $enabled, false ) . '/>&nbsp;';
535
+            echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']">' . wp_kses_post( $option ) . '</label></div>';
536
+        endforeach;
537
+        echo '</div>';
538
+        echo '<p class="description">' . wp_kses_post( $args['desc'] ) . '</p>';
539
+    }
540 540
 }
541 541
 
542 542
 function wpinv_payment_icons_callback( $args ) {
543 543
 
544 544
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
545
-	$value   = wpinv_get_option( $args['id'], false );
545
+    $value   = wpinv_get_option( $args['id'], false );
546 546
 
547
-	if ( ! empty( $args['options'] ) ) {
548
-		foreach ( $args['options'] as $key => $option ) {
547
+    if ( ! empty( $args['options'] ) ) {
548
+        foreach ( $args['options'] as $key => $option ) {
549 549
             $sanitize_key = wpinv_sanitize_key( $key );
550 550
 
551
-			if ( empty( $value ) ) {
552
-				$enabled = $option;
553
-			} else {
554
-				$enabled = null;
555
-			}
556
-
557
-			echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
558
-
559
-				echo '<input name="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" id="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/>&nbsp;';
560
-
561
-				if ( wpinv_string_is_image_url( $key ) ) {
562
-				echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
563
-				} else {
564
-				$card = strtolower( str_replace( ' ', '', $option ) );
565
-
566
-				if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) {
567
-					$image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' );
568
-					} else {
569
-					$image       = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false );
570
-					$content_dir = WP_CONTENT_DIR;
571
-
572
-					if ( function_exists( 'wp_normalize_path' ) ) {
573
-						// Replaces backslashes with forward slashes for Windows systems
574
-						$image = wp_normalize_path( $image );
575
-						$content_dir = wp_normalize_path( $content_dir );
576
-						}
577
-
578
-					$image = str_replace( $content_dir, content_url(), $image );
579
-					}
580
-
581
-				echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
582
-				}
583
-			echo wp_kses_post( $option ) . '</label>';
584
-		}
585
-		echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>';
586
-	}
551
+            if ( empty( $value ) ) {
552
+                $enabled = $option;
553
+            } else {
554
+                $enabled = null;
555
+            }
556
+
557
+            echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" style="margin-right:10px;line-height:16px;height:16px;display:inline-block;">';
558
+
559
+                echo '<input name="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" id="wpinv_settings[' . esc_attr( $sanitize_id ) . '][' . esc_attr( $sanitize_key ) . ']" type="checkbox" value="' . esc_attr( $option ) . '" ' . checked( $option, $enabled, false ) . '/>&nbsp;';
560
+
561
+                if ( wpinv_string_is_image_url( $key ) ) {
562
+                echo '<img class="payment-icon" src="' . esc_url( $key ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
563
+                } else {
564
+                $card = strtolower( str_replace( ' ', '', $option ) );
565
+
566
+                if ( has_filter( 'wpinv_accepted_payment_' . $card . '_image' ) ) {
567
+                    $image = apply_filters( 'wpinv_accepted_payment_' . $card . '_image', '' );
568
+                    } else {
569
+                    $image       = wpinv_locate_template( 'images' . DIRECTORY_SEPARATOR . 'icons' . DIRECTORY_SEPARATOR . $card . '.gif', false );
570
+                    $content_dir = WP_CONTENT_DIR;
571
+
572
+                    if ( function_exists( 'wp_normalize_path' ) ) {
573
+                        // Replaces backslashes with forward slashes for Windows systems
574
+                        $image = wp_normalize_path( $image );
575
+                        $content_dir = wp_normalize_path( $content_dir );
576
+                        }
577
+
578
+                    $image = str_replace( $content_dir, content_url(), $image );
579
+                    }
580
+
581
+                echo '<img class="payment-icon" src="' . esc_url( $image ) . '" style="width:32px;height:24px;position:relative;top:6px;margin-right:5px;"/>';
582
+                }
583
+            echo wp_kses_post( $option ) . '</label>';
584
+        }
585
+        echo '<p class="description" style="margin-top:16px;">' . wp_kses_post( $args['desc'] ) . '</p>';
586
+    }
587 587
 }
588 588
 
589 589
 /**
@@ -591,9 +591,9 @@  discard block
 block discarded – undo
591 591
  */
592 592
 function wpinv_radio_callback( $args ) {
593 593
 
594
-	$std = isset( $args['std'] ) ? $args['std'] : '';
595
-	$std = wpinv_get_option( $args['id'], $std );
596
-	?>
594
+    $std = isset( $args['std'] ) ? $args['std'] : '';
595
+    $std = wpinv_get_option( $args['id'], $std );
596
+    ?>
597 597
 		<fieldset>
598 598
 			<ul id="wpinv-settings-<?php echo esc_attr( $args['id'] ); ?>" style="margin-top: 0;">
599 599
 				<?php foreach ( $args['options'] as $key => $option ) : ?>
@@ -607,7 +607,7 @@  discard block
 block discarded – undo
607 607
 			</ul>
608 608
 		</fieldset>
609 609
 	<?php
610
-	getpaid_settings_description_callback( $args );
610
+    getpaid_settings_description_callback( $args );
611 611
 }
612 612
 
613 613
 /**
@@ -615,10 +615,10 @@  discard block
 block discarded – undo
615 615
  */
616 616
 function getpaid_settings_description_callback( $args ) {
617 617
 
618
-	if ( ! empty( $args['desc'] ) ) {
619
-		$description = $args['desc'];
620
-		echo wp_kses_post( "<p class='description'>$description</p>" );
621
-	}
618
+    if ( ! empty( $args['desc'] ) ) {
619
+        $description = $args['desc'];
620
+        echo wp_kses_post( "<p class='description'>$description</p>" );
621
+    }
622 622
 
623 623
 }
624 624
 
@@ -627,7 +627,7 @@  discard block
 block discarded – undo
627 627
  */
628 628
 function wpinv_gateways_callback() {
629 629
 
630
-	?>
630
+    ?>
631 631
 		</td>
632 632
 	</tr>
633 633
 	<tr class="bsui">
@@ -641,26 +641,26 @@  discard block
 block discarded – undo
641 641
 
642 642
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
643 643
     $class = ! empty( $args['class'] ) ? ' ' . esc_attr( $args['class'] ) : '';
644
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
645
-	$value   = wpinv_get_option( $args['id'], $std );
644
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
645
+    $value   = wpinv_get_option( $args['id'], $std );
646 646
 
647
-	echo '<select name="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" class="' . esc_attr( $class ) . '" >';
647
+    echo '<select name="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" class="' . esc_attr( $class ) . '" >';
648 648
 
649
-	foreach ( $args['options'] as $key => $option ) :
649
+    foreach ( $args['options'] as $key => $option ) :
650 650
 
651
-		echo '<option value="' . esc_attr( $key ) . '" ';
651
+        echo '<option value="' . esc_attr( $key ) . '" ';
652 652
 
653
-		if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
653
+        if ( isset( $args['selected'] ) && $args['selected'] !== null && $args['selected'] !== false ) {
654 654
             selected( $key, $args['selected'] );
655 655
         } else {
656 656
             selected( $key, $value );
657 657
         }
658 658
 
659
-		echo '>' . esc_html( $option['admin_label'] ) . '</option>';
660
-	endforeach;
659
+        echo '>' . esc_html( $option['admin_label'] ) . '</option>';
660
+    endforeach;
661 661
 
662
-	echo '</select>';
663
-	echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
662
+    echo '</select>';
663
+    echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
664 664
 }
665 665
 
666 666
 /**
@@ -671,38 +671,38 @@  discard block
 block discarded – undo
671 671
  */
672 672
 function wpinv_settings_attrs_helper( $args ) {
673 673
 
674
-	$value = isset( $args['std'] ) ? $args['std'] : '';
675
-	$id    = esc_attr( $args['id'] );
676
-	$value = is_scalar( $value ) ? $value : '';
677
-
678
-	$attrs = array(
679
-		'name'     => ! empty( $args['faux'] ) ? false : "wpinv_settings[$id]",
680
-		'readonly' => ! empty( $args['faux'] ),
681
-		'value'    => ! empty( $args['faux'] ) ? $value : wpinv_get_option( $args['id'], $value ),
682
-		'id'       => 'wpinv-settings-' . $args['id'],
683
-		'style'    => $args['style'],
684
-		'class'    => $args['class'],
685
-		'placeholder' => $args['placeholder'],
686
-		'data-placeholder' => $args['placeholder'],
687
-	);
674
+    $value = isset( $args['std'] ) ? $args['std'] : '';
675
+    $id    = esc_attr( $args['id'] );
676
+    $value = is_scalar( $value ) ? $value : '';
677
+
678
+    $attrs = array(
679
+        'name'     => ! empty( $args['faux'] ) ? false : "wpinv_settings[$id]",
680
+        'readonly' => ! empty( $args['faux'] ),
681
+        'value'    => ! empty( $args['faux'] ) ? $value : wpinv_get_option( $args['id'], $value ),
682
+        'id'       => 'wpinv-settings-' . $args['id'],
683
+        'style'    => $args['style'],
684
+        'class'    => $args['class'],
685
+        'placeholder' => $args['placeholder'],
686
+        'data-placeholder' => $args['placeholder'],
687
+    );
688 688
 
689
-	if ( ! empty( $args['onchange'] ) ) {
690
-		$attrs['onchange'] = $args['onchange'];
691
-	}
689
+    if ( ! empty( $args['onchange'] ) ) {
690
+        $attrs['onchange'] = $args['onchange'];
691
+    }
692 692
 
693
-	foreach ( $attrs as $key => $value ) {
693
+    foreach ( $attrs as $key => $value ) {
694 694
 
695
-		if ( false === $value ) {
696
-			continue;
697
-		}
695
+        if ( false === $value ) {
696
+            continue;
697
+        }
698 698
 
699
-		if ( true === $value ) {
700
-			echo ' ' . esc_attr( $key );
701
-		} else {
702
-			echo ' ' . esc_attr( $key ) . '="' . esc_attr( $value ) . '"';
703
-		}
699
+        if ( true === $value ) {
700
+            echo ' ' . esc_attr( $key );
701
+        } else {
702
+            echo ' ' . esc_attr( $key ) . '="' . esc_attr( $value ) . '"';
703
+        }
704 704
 
705
-	}
705
+    }
706 706
 
707 707
 }
708 708
 
@@ -711,9 +711,9 @@  discard block
 block discarded – undo
711 711
  */
712 712
 function wpinv_text_callback( $args ) {
713 713
 
714
-	$desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
714
+    $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
715 715
 
716
-	?>
716
+    ?>
717 717
 		<label style="width: 100%;">
718 718
 			<input type="text" <?php wpinv_settings_attrs_helper( $args ); ?>>
719 719
 			<?php echo wp_kses_post( $desc ); ?>
@@ -727,9 +727,9 @@  discard block
 block discarded – undo
727 727
  */
728 728
 function wpinv_number_callback( $args ) {
729 729
 
730
-	$desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
730
+    $desc = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
731 731
 
732
-	?>
732
+    ?>
733 733
 		<label style="width: 100%;">
734 734
 			<input type="number" step="<?php echo floatval( $args['step'] ); ?>" max="<?php echo intval( $args['max'] ); ?>" min="<?php echo intval( $args['min'] ); ?>" <?php wpinv_settings_attrs_helper( $args ); ?>>
735 735
 			<?php echo wp_kses_post( $desc ); ?>
@@ -741,34 +741,34 @@  discard block
 block discarded – undo
741 741
 function wpinv_textarea_callback( $args ) {
742 742
 
743 743
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
744
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
745
-	$value   = wpinv_get_option( $args['id'], $std );
744
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
745
+    $value   = wpinv_get_option( $args['id'], $std );
746 746
 
747 747
     $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
748 748
     $class = ( isset( $args['class'] ) && ! is_null( $args['class'] ) ) ? $args['class'] : 'large-text';
749 749
 
750
-	echo '<textarea class="' . esc_attr( $class ) . ' txtarea-' . esc_attr( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . esc_attr( $args['cols'] ) . '" rows="' . esc_attr( $args['rows'] ) . '" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
751
-	echo '<br /><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
750
+    echo '<textarea class="' . esc_attr( $class ) . ' txtarea-' . esc_attr( $size ) . ' wpi-' . esc_attr( sanitize_html_class( $sanitize_id ) ) . ' " cols="' . esc_attr( $args['cols'] ) . '" rows="' . esc_attr( $args['rows'] ) . '" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
751
+    echo '<br /><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
752 752
 
753 753
 }
754 754
 
755 755
 function wpinv_password_callback( $args ) {
756 756
 
757 757
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
758
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
759
-	$value   = wpinv_get_option( $args['id'], $std );
758
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
759
+    $value   = wpinv_get_option( $args['id'], $std );
760 760
 
761
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
762
-	echo '<input type="password" class="' . esc_attr( $size ) . '-text" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>';
763
-	echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
761
+    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
762
+    echo '<input type="password" class="' . esc_attr( $size ) . '-text" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '"/>';
763
+    echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
764 764
 
765 765
 }
766 766
 
767 767
 function wpinv_missing_callback( $args ) {
768
-	printf(
769
-		esc_html__( 'The callback function used for the %s setting is missing.', 'invoicing' ),
770
-		'<strong>' . esc_html( $args['id'] ) . '</strong>'
771
-	);
768
+    printf(
769
+        esc_html__( 'The callback function used for the %s setting is missing.', 'invoicing' ),
770
+        '<strong>' . esc_html( $args['id'] ) . '</strong>'
771
+    );
772 772
 }
773 773
 
774 774
 /**
@@ -776,13 +776,13 @@  discard block
 block discarded – undo
776 776
  */
777 777
 function wpinv_select_callback( $args ) {
778 778
 
779
-	$desc   = wp_kses_post( $args['desc'] );
780
-	$desc   = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
781
-	$value  = isset( $args['std'] ) ? $args['std'] : '';
782
-	$value  = wpinv_get_option( $args['id'], $value );
783
-	$rand   = uniqid( 'random_id' );
779
+    $desc   = wp_kses_post( $args['desc'] );
780
+    $desc   = empty( $desc ) ? '' : "<p class='description'>$desc</p>";
781
+    $value  = isset( $args['std'] ) ? $args['std'] : '';
782
+    $value  = wpinv_get_option( $args['id'], $value );
783
+    $rand   = uniqid( 'random_id' );
784 784
 
785
-	?>
785
+    ?>
786 786
 		<label style="width: 100%;">
787 787
 			<select <?php wpinv_settings_attrs_helper( $args ); ?> data-allow-clear="true">
788 788
 				<?php foreach ( $args['options'] as $option => $name ) : ?>
@@ -815,50 +815,50 @@  discard block
 block discarded – undo
815 815
 function wpinv_color_select_callback( $args ) {
816 816
 
817 817
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
818
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
819
-	$value   = wpinv_get_option( $args['id'], $std );
818
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
819
+    $value   = wpinv_get_option( $args['id'], $std );
820 820
 
821
-	echo '<select id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>';
821
+    echo '<select id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']"/>';
822 822
 
823
-	foreach ( $args['options'] as $option => $color ) {
824
-		echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $color['label'] ) . '</option>';
825
-	}
823
+    foreach ( $args['options'] as $option => $color ) {
824
+        echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $color['label'] ) . '</option>';
825
+    }
826 826
 
827
-	echo '</select>';
828
-	echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
827
+    echo '</select>';
828
+    echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
829 829
 
830 830
 }
831 831
 
832 832
 function wpinv_rich_editor_callback( $args ) {
833
-	global $wp_version;
833
+    global $wp_version;
834 834
 
835 835
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
836 836
 
837
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
838
-	$value   = wpinv_get_option( $args['id'], $std );
837
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
838
+    $value   = wpinv_get_option( $args['id'], $std );
839 839
 
840
-	if ( ! empty( $args['allow_blank'] ) && empty( $value ) ) {
841
-		$value = $std;
842
-	}
840
+    if ( ! empty( $args['allow_blank'] ) && empty( $value ) ) {
841
+        $value = $std;
842
+    }
843 843
 
844
-	$rows = isset( $args['size'] ) ? $args['size'] : 20;
844
+    $rows = isset( $args['size'] ) ? $args['size'] : 20;
845 845
 
846
-	echo '<div class="getpaid-settings-editor-input">';
847
-	if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) {
848
-		wp_editor(
846
+    echo '<div class="getpaid-settings-editor-input">';
847
+    if ( $wp_version >= 3.3 && function_exists( 'wp_editor' ) ) {
848
+        wp_editor(
849 849
             stripslashes( $value ),
850 850
             'wpinv_settings_' . esc_attr( $args['id'] ),
851 851
             array(
852
-				'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']',
853
-				'textarea_rows' => absint( $rows ),
854
-				'media_buttons' => false,
852
+                'textarea_name' => 'wpinv_settings[' . esc_attr( $args['id'] ) . ']',
853
+                'textarea_rows' => absint( $rows ),
854
+                'media_buttons' => false,
855 855
             )
856 856
         );
857
-	} else {
858
-		echo '<textarea class="large-text" rows="10" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
859
-	}
857
+    } else {
858
+        echo '<textarea class="large-text" rows="10" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="wpi-' . esc_attr( sanitize_html_class( $args['id'] ) ) . '">' . esc_textarea( stripslashes( $value ) ) . '</textarea>';
859
+    }
860 860
 
861
-	echo '</div><br/><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
861
+    echo '</div><br/><label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
862 862
 
863 863
 }
864 864
 
@@ -866,51 +866,51 @@  discard block
 block discarded – undo
866 866
 
867 867
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
868 868
 
869
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
870
-	$value   = wpinv_get_option( $args['id'], $std );
869
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
870
+    $value   = wpinv_get_option( $args['id'], $std );
871 871
 
872
-	$size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
873
-	echo '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>';
874
-	echo '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . esc_attr__( 'Upload File', 'invoicing' ) . '"/></span>';
875
-	echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
872
+    $size = ( isset( $args['size'] ) && ! is_null( $args['size'] ) ) ? $args['size'] : 'regular';
873
+    echo '<input type="text" class="' . sanitize_html_class( $size ) . '-text" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( stripslashes( $value ) ) . '"/>';
874
+    echo '<span>&nbsp;<input type="button" class="wpinv_settings_upload_button button-secondary" value="' . esc_attr__( 'Upload File', 'invoicing' ) . '"/></span>';
875
+    echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
876 876
 
877 877
 }
878 878
 
879 879
 function wpinv_color_callback( $args ) {
880 880
 
881
-	$std         = isset( $args['std'] ) ? $args['std'] : '';
882
-	$value       = wpinv_get_option( $args['id'], $std );
881
+    $std         = isset( $args['std'] ) ? $args['std'] : '';
882
+    $value       = wpinv_get_option( $args['id'], $std );
883 883
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
884 884
 
885
-	echo '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $std ) . '" />';
886
-	echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
885
+    echo '<input type="text" class="wpinv-color-picker" id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" value="' . esc_attr( $value ) . '" data-default-color="' . esc_attr( $std ) . '" />';
886
+    echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
887 887
 
888 888
 }
889 889
 
890 890
 function wpinv_country_states_callback( $args ) {
891 891
 
892
-	$std     = isset( $args['std'] ) ? $args['std'] : '';
893
-	$value   = wpinv_get_option( $args['id'], $std );
892
+    $std     = isset( $args['std'] ) ? $args['std'] : '';
893
+    $value   = wpinv_get_option( $args['id'], $std );
894 894
 
895 895
     $sanitize_id = wpinv_sanitize_key( $args['id'] );
896 896
 
897
-	if ( isset( $args['placeholder'] ) ) {
898
-		$placeholder = $args['placeholder'];
899
-	} else {
900
-		$placeholder = '';
901
-	}
897
+    if ( isset( $args['placeholder'] ) ) {
898
+        $placeholder = $args['placeholder'];
899
+    } else {
900
+        $placeholder = '';
901
+    }
902 902
 
903
-	$states = wpinv_get_country_states();
903
+    $states = wpinv_get_country_states();
904 904
 
905
-	$class = empty( $states ) ? 'wpinv-no-states' : 'wpi_select2';
906
-	echo '<select id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="' . esc_attr( $class ) . '" data-placeholder="' . esc_html( $placeholder ) . '"/>';
905
+    $class = empty( $states ) ? 'wpinv-no-states' : 'wpi_select2';
906
+    echo '<select id="wpinv_settings[' . esc_attr( $sanitize_id ) . ']" name="wpinv_settings[' . esc_attr( $args['id'] ) . ']" class="' . esc_attr( $class ) . '" data-placeholder="' . esc_html( $placeholder ) . '"/>';
907 907
 
908
-	foreach ( $states as $option => $name ) {
909
-		echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $name ) . '</option>';
910
-	}
908
+    foreach ( $states as $option => $name ) {
909
+        echo '<option value="' . esc_attr( $option ) . '" ' . selected( $option, $value ) . '>' . esc_html( $name ) . '</option>';
910
+    }
911 911
 
912
-	echo '</select>';
913
-	echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
912
+    echo '</select>';
913
+    echo '<label for="wpinv_settings[' . esc_attr( $sanitize_id ) . ']"> ' . wp_kses_post( $args['desc'] ) . '</label>';
914 914
 
915 915
 }
916 916
 
@@ -919,7 +919,7 @@  discard block
 block discarded – undo
919 919
  */
920 920
 function wpinv_tax_rates_callback() {
921 921
 
922
-	?>
922
+    ?>
923 923
 		</td>
924 924
 	</tr>
925 925
 	<tr class="bsui">
@@ -935,9 +935,9 @@  discard block
 block discarded – undo
935 935
  */
936 936
 function wpinv_tax_rate_callback( $tax_rate, $key ) {
937 937
 
938
-	$key                      = sanitize_key( $key );
939
-	$tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate'];
940
-	include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php';
938
+    $key                      = sanitize_key( $key );
939
+    $tax_rate['reduced_rate'] = empty( $tax_rate['reduced_rate'] ) ? 0 : $tax_rate['reduced_rate'];
940
+    include plugin_dir_path( __FILE__ ) . 'views/html-tax-rate-edit.php';
941 941
 
942 942
 }
943 943
 
@@ -969,14 +969,14 @@  discard block
 block discarded – undo
969 969
                 <td>
970 970
 					<a href="
971 971
                     <?php
972
-						echo esc_url(
973
-							wp_nonce_url(
974
-								add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
975
-								'getpaid-nonce',
976
-								'getpaid-nonce'
977
-							)
978
-						);
979
-					?>
972
+                        echo esc_url(
973
+                            wp_nonce_url(
974
+                                add_query_arg( 'getpaid-admin-action', 'create_missing_pages' ),
975
+                                'getpaid-nonce',
976
+                                'getpaid-nonce'
977
+                            )
978
+                        );
979
+                    ?>
980 980
                     " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a>
981 981
                 </td>
982 982
             </tr>
@@ -988,14 +988,14 @@  discard block
 block discarded – undo
988 988
                 <td>
989 989
 					<a href="
990 990
                     <?php
991
-						echo esc_url(
992
-							wp_nonce_url(
993
-								add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ),
994
-								'getpaid-nonce',
995
-								'getpaid-nonce'
996
-							)
997
-						);
998
-					?>
991
+                        echo esc_url(
992
+                            wp_nonce_url(
993
+                                add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ),
994
+                                'getpaid-nonce',
995
+                                'getpaid-nonce'
996
+                            )
997
+                        );
998
+                    ?>
999 999
                     " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a>
1000 1000
                 </td>
1001 1001
             </tr>
@@ -1007,14 +1007,14 @@  discard block
 block discarded – undo
1007 1007
                 <td>
1008 1008
 					<a href="
1009 1009
                     <?php
1010
-						echo esc_url(
1011
-							wp_nonce_url(
1012
-								add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ),
1013
-								'getpaid-nonce',
1014
-								'getpaid-nonce'
1015
-							)
1016
-						);
1017
-					?>
1010
+                        echo esc_url(
1011
+                            wp_nonce_url(
1012
+                                add_query_arg( 'getpaid-admin-action', 'migrate_old_invoices' ),
1013
+                                'getpaid-nonce',
1014
+                                'getpaid-nonce'
1015
+                            )
1016
+                        );
1017
+                    ?>
1018 1018
                     " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a>
1019 1019
                 </td>
1020 1020
             </tr>
@@ -1027,14 +1027,14 @@  discard block
 block discarded – undo
1027 1027
                 <td>
1028 1028
 					<a href="
1029 1029
                     <?php
1030
-						echo esc_url(
1031
-							wp_nonce_url(
1032
-								add_query_arg( 'getpaid-admin-action', 'recalculate_discounts' ),
1033
-								'getpaid-nonce',
1034
-								'getpaid-nonce'
1035
-							)
1036
-						);
1037
-					?>
1030
+                        echo esc_url(
1031
+                            wp_nonce_url(
1032
+                                add_query_arg( 'getpaid-admin-action', 'recalculate_discounts' ),
1033
+                                'getpaid-nonce',
1034
+                                'getpaid-nonce'
1035
+                            )
1036
+                        );
1037
+                    ?>
1038 1038
                     " class="button button-primary"><?php esc_html_e( 'Run', 'invoicing' ); ?></a>
1039 1039
                 </td>
1040 1040
             </tr>
@@ -1047,8 +1047,8 @@  discard block
 block discarded – undo
1047 1047
                 <td>
1048 1048
 					<a href="
1049 1049
                     <?php
1050
-						echo esc_url( admin_url( 'index.php?page=gp-setup' ) );
1051
-					?>
1050
+                        echo esc_url( admin_url( 'index.php?page=gp-setup' ) );
1051
+                    ?>
1052 1052
                     " class="button button-primary"><?php esc_html_e( 'Launch', 'invoicing' ); ?></a>
1053 1053
                 </td>
1054 1054
             </tr>
@@ -1062,19 +1062,19 @@  discard block
 block discarded – undo
1062 1062
 
1063 1063
 
1064 1064
 function wpinv_descriptive_text_callback( $args ) {
1065
-	echo wp_kses_post( $args['desc'] );
1065
+    echo wp_kses_post( $args['desc'] );
1066 1066
 }
1067 1067
 
1068 1068
 function wpinv_raw_html_callback( $args ) {
1069
-	echo wp_kses( $args['desc'], getpaid_allowed_html() );
1069
+    echo wp_kses( $args['desc'], getpaid_allowed_html() );
1070 1070
 }
1071 1071
 
1072 1072
 function wpinv_hook_callback( $args ) {
1073
-	do_action( 'wpinv_' . $args['id'], $args );
1073
+    do_action( 'wpinv_' . $args['id'], $args );
1074 1074
 }
1075 1075
 
1076 1076
 function wpinv_set_settings_cap() {
1077
-	return wpinv_get_capability();
1077
+    return wpinv_get_capability();
1078 1078
 }
1079 1079
 add_filter( 'option_page_capability_wpinv_settings', 'wpinv_set_settings_cap' );
1080 1080
 
@@ -1098,15 +1098,15 @@  discard block
 block discarded – undo
1098 1098
  */
1099 1099
 function wpinv_get_merge_tags_help_text( $subscription = false ) {
1100 1100
 
1101
-	$url  = $subscription ? 'https://gist.github.com/picocodes/3d213982d57c34edf7a46fd3f0e8583e' : 'https://gist.github.com/picocodes/43bdc4d4bbba844534b2722e2af0b58f';
1102
-	$link = sprintf(
1103
-		'<strong><a href="%s" target="_blank">%s</a></strong>',
1104
-		$url,
1105
-		esc_html__( 'View available merge tags.', 'wpinv-quotes' )
1106
-	);
1101
+    $url  = $subscription ? 'https://gist.github.com/picocodes/3d213982d57c34edf7a46fd3f0e8583e' : 'https://gist.github.com/picocodes/43bdc4d4bbba844534b2722e2af0b58f';
1102
+    $link = sprintf(
1103
+        '<strong><a href="%s" target="_blank">%s</a></strong>',
1104
+        $url,
1105
+        esc_html__( 'View available merge tags.', 'wpinv-quotes' )
1106
+    );
1107 1107
 
1108
-	$description = esc_html__( 'The content of the email (Merge Tags and HTML are allowed).', 'invoicing' );
1108
+    $description = esc_html__( 'The content of the email (Merge Tags and HTML are allowed).', 'invoicing' );
1109 1109
 
1110
-	return "$description $link";
1110
+    return "$description $link";
1111 1111
 
1112 1112
 }
Please login to merge, or discard this patch.
includes/gateways/class-getpaid-paypal-gateway.php 1 patch
Indentation   +336 added lines, -336 removed lines patch added patch discarded remove patch
@@ -13,96 +13,96 @@  discard block
 block discarded – undo
13 13
 class GetPaid_Paypal_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 = 'paypal';
21 21
 
22 22
     /**
23
-	 * An array of features that this gateway supports.
24
-	 *
25
-	 * @var array
26
-	 */
23
+     * An array of features that this gateway supports.
24
+     *
25
+     * @var array
26
+     */
27 27
     protected $supports = array( 'subscription', 'sandbox', 'single_subscription_group' );
28 28
 
29 29
     /**
30
-	 * Payment method order.
31
-	 *
32
-	 * @var int
33
-	 */
30
+     * Payment method order.
31
+     *
32
+     * @var int
33
+     */
34 34
     public $order = 1;
35 35
 
36 36
     /**
37
-	 * Stores line items to send to PayPal.
38
-	 *
39
-	 * @var array
40
-	 */
37
+     * Stores line items to send to PayPal.
38
+     *
39
+     * @var array
40
+     */
41 41
     protected $line_items = array();
42 42
 
43 43
     /**
44
-	 * Endpoint for requests from PayPal.
45
-	 *
46
-	 * @var string
47
-	 */
48
-	protected $notify_url;
49
-
50
-	/**
51
-	 * Endpoint for requests to PayPal.
52
-	 *
53
-	 * @var string
54
-	 */
44
+     * Endpoint for requests from PayPal.
45
+     *
46
+     * @var string
47
+     */
48
+    protected $notify_url;
49
+
50
+    /**
51
+     * Endpoint for requests to PayPal.
52
+     *
53
+     * @var string
54
+     */
55 55
     protected $endpoint;
56 56
 
57 57
     /**
58
-	 * Currencies this gateway is allowed for.
59
-	 *
60
-	 * @var array
61
-	 */
62
-	public $currencies = array( 'AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB', 'INR' );
58
+     * Currencies this gateway is allowed for.
59
+     *
60
+     * @var array
61
+     */
62
+    public $currencies = array( 'AUD', 'BRL', 'CAD', 'MXN', 'NZD', 'HKD', 'SGD', 'USD', 'EUR', 'JPY', 'TRY', 'NOK', 'CZK', 'DKK', 'HUF', 'ILS', 'MYR', 'PHP', 'PLN', 'SEK', 'CHF', 'TWD', 'THB', 'GBP', 'RMB', 'RUB', 'INR' );
63 63
 
64 64
     /**
65
-	 * URL to view a transaction.
66
-	 *
67
-	 * @var string
68
-	 */
65
+     * URL to view a transaction.
66
+     *
67
+     * @var string
68
+     */
69 69
     public $view_transaction_url = 'https://www.{sandbox}paypal.com/activity/payment/%s';
70 70
 
71 71
     /**
72
-	 * URL to view a subscription.
73
-	 *
74
-	 * @var string
75
-	 */
76
-	public $view_subscription_url = 'https://www.{sandbox}paypal.com/cgi-bin/webscr?cmd=_profile-recurring-payments&encrypted_profile_id=%s';
72
+     * URL to view a subscription.
73
+     *
74
+     * @var string
75
+     */
76
+    public $view_subscription_url = 'https://www.{sandbox}paypal.com/cgi-bin/webscr?cmd=_profile-recurring-payments&encrypted_profile_id=%s';
77 77
 
78 78
     /**
79
-	 * Class constructor.
80
-	 */
81
-	public function __construct() {
79
+     * Class constructor.
80
+     */
81
+    public function __construct() {
82 82
 
83 83
         $this->title                = __( 'PayPal Standard', 'invoicing' );
84 84
         $this->method_title         = __( 'PayPal Standard', 'invoicing' );
85 85
         $this->checkout_button_text = __( 'Proceed to PayPal', 'invoicing' );
86 86
         $this->notify_url           = wpinv_get_ipn_url( $this->id );
87 87
 
88
-		add_filter( 'getpaid_paypal_args', array( $this, 'process_subscription' ), 10, 2 );
88
+        add_filter( 'getpaid_paypal_args', array( $this, 'process_subscription' ), 10, 2 );
89 89
         add_filter( 'getpaid_paypal_sandbox_notice', array( $this, 'sandbox_notice' ) );
90
-		add_filter( 'getpaid_get_paypal_connect_url', array( $this, 'maybe_get_connect_url' ), 10, 2 );
91
-		add_action( 'getpaid_authenticated_admin_action_connect_paypal', array( $this, 'connect_paypal' ) );
92
-		add_action( 'wpinv_paypal_connect', array( $this, 'display_connect_buttons' ) );
93
-		parent::__construct();
90
+        add_filter( 'getpaid_get_paypal_connect_url', array( $this, 'maybe_get_connect_url' ), 10, 2 );
91
+        add_action( 'getpaid_authenticated_admin_action_connect_paypal', array( $this, 'connect_paypal' ) );
92
+        add_action( 'wpinv_paypal_connect', array( $this, 'display_connect_buttons' ) );
93
+        parent::__construct();
94 94
     }
95 95
 
96 96
     /**
97
-	 * Process Payment.
98
-	 *
99
-	 *
100
-	 * @param WPInv_Invoice $invoice Invoice.
101
-	 * @param array $submission_data Posted checkout fields.
102
-	 * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
103
-	 * @return array
104
-	 */
105
-	public function process_payment( $invoice, $submission_data, $submission ) {
97
+     * Process Payment.
98
+     *
99
+     *
100
+     * @param WPInv_Invoice $invoice Invoice.
101
+     * @param array $submission_data Posted checkout fields.
102
+     * @param GetPaid_Payment_Form_Submission $submission Checkout submission.
103
+     * @return array
104
+     */
105
+    public function process_payment( $invoice, $submission_data, $submission ) {
106 106
 
107 107
         // Get redirect url.
108 108
         $paypal_redirect = $this->get_request_url( $invoice );
@@ -125,15 +125,15 @@  discard block
 block discarded – undo
125 125
     }
126 126
 
127 127
     /**
128
-	 * Get the PayPal request URL for an invoice.
129
-	 *
130
-	 * @param  WPInv_Invoice $invoice Invoice object.
131
-	 * @return string
132
-	 */
133
-	public function get_request_url( $invoice ) {
128
+     * Get the PayPal request URL for an invoice.
129
+     *
130
+     * @param  WPInv_Invoice $invoice Invoice object.
131
+     * @return string
132
+     */
133
+    public function get_request_url( $invoice ) {
134 134
 
135 135
         // Endpoint for this request
136
-		$this->endpoint    = $this->is_sandbox( $invoice ) ? 'https://www.sandbox.paypal.com/cgi-bin/webscr?test_ipn=1&' : 'https://www.paypal.com/cgi-bin/webscr?';
136
+        $this->endpoint    = $this->is_sandbox( $invoice ) ? 'https://www.sandbox.paypal.com/cgi-bin/webscr?test_ipn=1&' : 'https://www.paypal.com/cgi-bin/webscr?';
137 137
 
138 138
         // Retrieve paypal args.
139 139
         $paypal_args       = map_deep( $this->get_paypal_args( $invoice ), 'urlencode' );
@@ -146,45 +146,45 @@  discard block
 block discarded – undo
146 146
 
147 147
         return add_query_arg( $paypal_args, $this->endpoint );
148 148
 
149
-	}
149
+    }
150 150
 
151 151
     /**
152
-	 * Get PayPal Args for passing to PP.
153
-	 *
154
-	 * @param  WPInv_Invoice $invoice Invoice object.
155
-	 * @return array
156
-	 */
157
-	protected function get_paypal_args( $invoice ) {
152
+     * Get PayPal Args for passing to PP.
153
+     *
154
+     * @param  WPInv_Invoice $invoice Invoice object.
155
+     * @return array
156
+     */
157
+    protected function get_paypal_args( $invoice ) {
158 158
 
159 159
         // Whether or not to send the line items as one item.
160
-		$force_one_line_item = apply_filters( 'getpaid_paypal_force_one_line_item', true, $invoice );
161
-
162
-		if ( $invoice->is_recurring() || ( wpinv_use_taxes() && wpinv_prices_include_tax() ) ) {
163
-			$force_one_line_item = true;
164
-		}
165
-
166
-		$paypal_args = apply_filters(
167
-			'getpaid_paypal_args',
168
-			array_merge(
169
-				$this->get_transaction_args( $invoice ),
170
-				$this->get_line_item_args( $invoice, $force_one_line_item )
171
-			),
172
-			$invoice
173
-		);
174
-
175
-		return $this->fix_request_length( $invoice, $paypal_args );
160
+        $force_one_line_item = apply_filters( 'getpaid_paypal_force_one_line_item', true, $invoice );
161
+
162
+        if ( $invoice->is_recurring() || ( wpinv_use_taxes() && wpinv_prices_include_tax() ) ) {
163
+            $force_one_line_item = true;
164
+        }
165
+
166
+        $paypal_args = apply_filters(
167
+            'getpaid_paypal_args',
168
+            array_merge(
169
+                $this->get_transaction_args( $invoice ),
170
+                $this->get_line_item_args( $invoice, $force_one_line_item )
171
+            ),
172
+            $invoice
173
+        );
174
+
175
+        return $this->fix_request_length( $invoice, $paypal_args );
176 176
     }
177 177
 
178 178
     /**
179
-	 * Get transaction args for paypal request.
180
-	 *
181
-	 * @param WPInv_Invoice $invoice Invoice object.
182
-	 * @return array
183
-	 */
184
-	protected function get_transaction_args( $invoice ) {
185
-
186
-		$email = $this->is_sandbox( $invoice ) ? wpinv_get_option( 'paypal_sandbox_email', wpinv_get_option( 'paypal_email', '' ) ) : wpinv_get_option( 'paypal_email', '' );
187
-		return array(
179
+     * Get transaction args for paypal request.
180
+     *
181
+     * @param WPInv_Invoice $invoice Invoice object.
182
+     * @return array
183
+     */
184
+    protected function get_transaction_args( $invoice ) {
185
+
186
+        $email = $this->is_sandbox( $invoice ) ? wpinv_get_option( 'paypal_sandbox_email', wpinv_get_option( 'paypal_email', '' ) ) : wpinv_get_option( 'paypal_email', '' );
187
+        return array(
188 188
             'cmd'           => '_cart',
189 189
             'business'      => $email,
190 190
             'no_shipping'   => '1',
@@ -209,16 +209,16 @@  discard block
 block discarded – undo
209 209
     }
210 210
 
211 211
     /**
212
-	 * Get line item args for paypal request.
213
-	 *
214
-	 * @param  WPInv_Invoice $invoice Invoice object.
215
-	 * @param  bool     $force_one_line_item Create only one item for this invoice.
216
-	 * @return array
217
-	 */
218
-	protected function get_line_item_args( $invoice, $force_one_line_item = false ) {
212
+     * Get line item args for paypal request.
213
+     *
214
+     * @param  WPInv_Invoice $invoice Invoice object.
215
+     * @param  bool     $force_one_line_item Create only one item for this invoice.
216
+     * @return array
217
+     */
218
+    protected function get_line_item_args( $invoice, $force_one_line_item = false ) {
219 219
 
220 220
         // Maybe send invoice as a single item.
221
-		if ( $force_one_line_item ) {
221
+        if ( $force_one_line_item ) {
222 222
             return $this->get_line_item_args_single_item( $invoice );
223 223
         }
224 224
 
@@ -238,129 +238,129 @@  discard block
 block discarded – undo
238 238
             $line_item_args['discount_amount_cart'] = wpinv_sanitize_amount( (float) $invoice->get_total_discount(), 2 );
239 239
         }
240 240
 
241
-		return array_merge( $line_item_args, $this->get_line_items() );
241
+        return array_merge( $line_item_args, $this->get_line_items() );
242 242
 
243 243
     }
244 244
 
245 245
     /**
246
-	 * Get line item args for paypal request as a single line item.
247
-	 *
248
-	 * @param  WPInv_Invoice $invoice Invoice object.
249
-	 * @return array
250
-	 */
251
-	protected function get_line_item_args_single_item( $invoice ) {
252
-		$this->delete_line_items();
246
+     * Get line item args for paypal request as a single line item.
247
+     *
248
+     * @param  WPInv_Invoice $invoice Invoice object.
249
+     * @return array
250
+     */
251
+    protected function get_line_item_args_single_item( $invoice ) {
252
+        $this->delete_line_items();
253 253
 
254 254
         $item_name = sprintf( __( 'Invoice #%s', 'invoicing' ), $invoice->get_number() );
255
-		$this->add_line_item( $item_name, 1, wpinv_round_amount( (float) $invoice->get_total(), 2, true ), $invoice->get_id() );
255
+        $this->add_line_item( $item_name, 1, wpinv_round_amount( (float) $invoice->get_total(), 2, true ), $invoice->get_id() );
256 256
 
257
-		return $this->get_line_items();
257
+        return $this->get_line_items();
258 258
     }
259 259
 
260 260
     /**
261
-	 * Return all line items.
262
-	 */
263
-	protected function get_line_items() {
264
-		return $this->line_items;
265
-	}
261
+     * Return all line items.
262
+     */
263
+    protected function get_line_items() {
264
+        return $this->line_items;
265
+    }
266 266
 
267 267
     /**
268
-	 * Remove all line items.
269
-	 */
270
-	protected function delete_line_items() {
271
-		$this->line_items = array();
268
+     * Remove all line items.
269
+     */
270
+    protected function delete_line_items() {
271
+        $this->line_items = array();
272 272
     }
273 273
 
274 274
     /**
275
-	 * Prepare line items to send to paypal.
276
-	 *
277
-	 * @param  WPInv_Invoice $invoice Invoice object.
278
-	 */
279
-	protected function prepare_line_items( $invoice ) {
280
-		$this->delete_line_items();
281
-
282
-		// Items.
283
-		foreach ( $invoice->get_items() as $item ) {
284
-			$amount   = $item->get_price();
285
-			$quantity = $invoice->get_template() == 'amount' ? 1 : $item->get_quantity();
286
-			$this->add_line_item( $item->get_raw_name(), $quantity, $amount, $item->get_id() );
275
+     * Prepare line items to send to paypal.
276
+     *
277
+     * @param  WPInv_Invoice $invoice Invoice object.
278
+     */
279
+    protected function prepare_line_items( $invoice ) {
280
+        $this->delete_line_items();
281
+
282
+        // Items.
283
+        foreach ( $invoice->get_items() as $item ) {
284
+            $amount   = $item->get_price();
285
+            $quantity = $invoice->get_template() == 'amount' ? 1 : $item->get_quantity();
286
+            $this->add_line_item( $item->get_raw_name(), $quantity, $amount, $item->get_id() );
287 287
         }
288 288
 
289 289
         // Fees.
290
-		foreach ( $invoice->get_fees() as $fee => $data ) {
290
+        foreach ( $invoice->get_fees() as $fee => $data ) {
291 291
             $this->add_line_item( $fee, 1, wpinv_sanitize_amount( $data['initial_fee'] ) );
292 292
         }
293 293
 
294 294
     }
295 295
 
296 296
     /**
297
-	 * Add PayPal Line Item.
298
-	 *
299
-	 * @param  string $item_name Item name.
300
-	 * @param  float    $quantity Item quantity.
301
-	 * @param  float  $amount Amount.
302
-	 * @param  string $item_number Item number.
303
-	 */
304
-	protected function add_line_item( $item_name, $quantity = 1, $amount = 0.0, $item_number = '' ) {
305
-		$index = ( count( $this->line_items ) / 4 ) + 1;
306
-
307
-		$item = apply_filters(
308
-			'getpaid_paypal_line_item',
309
-			array(
310
-				'item_name'   => html_entity_decode( getpaid_limit_length( $item_name ? wp_strip_all_tags( $item_name ) : __( 'Item', 'invoicing' ), 127 ), ENT_NOQUOTES, 'UTF-8' ),
311
-				'quantity'    => (float) $quantity,
312
-				'amount'      => wpinv_sanitize_amount( (float) $amount, 2 ),
313
-				'item_number' => $item_number,
314
-			),
315
-			$item_name,
316
-			$quantity,
317
-			$amount,
318
-			$item_number
319
-		);
320
-
321
-		$this->line_items[ 'item_name_' . $index ]   = getpaid_limit_length( $item['item_name'], 127 );
297
+     * Add PayPal Line Item.
298
+     *
299
+     * @param  string $item_name Item name.
300
+     * @param  float    $quantity Item quantity.
301
+     * @param  float  $amount Amount.
302
+     * @param  string $item_number Item number.
303
+     */
304
+    protected function add_line_item( $item_name, $quantity = 1, $amount = 0.0, $item_number = '' ) {
305
+        $index = ( count( $this->line_items ) / 4 ) + 1;
306
+
307
+        $item = apply_filters(
308
+            'getpaid_paypal_line_item',
309
+            array(
310
+                'item_name'   => html_entity_decode( getpaid_limit_length( $item_name ? wp_strip_all_tags( $item_name ) : __( 'Item', 'invoicing' ), 127 ), ENT_NOQUOTES, 'UTF-8' ),
311
+                'quantity'    => (float) $quantity,
312
+                'amount'      => wpinv_sanitize_amount( (float) $amount, 2 ),
313
+                'item_number' => $item_number,
314
+            ),
315
+            $item_name,
316
+            $quantity,
317
+            $amount,
318
+            $item_number
319
+        );
320
+
321
+        $this->line_items[ 'item_name_' . $index ]   = getpaid_limit_length( $item['item_name'], 127 );
322 322
         $this->line_items[ 'quantity_' . $index ]    = $item['quantity'];
323 323
 
324 324
         // The price or amount of the product, service, or contribution, not including shipping, handling, or tax.
325
-		$this->line_items[ 'amount_' . $index ]      = $item['amount'] * $item['quantity'];
326
-		$this->line_items[ 'item_number_' . $index ] = getpaid_limit_length( $item['item_number'], 127 );
325
+        $this->line_items[ 'amount_' . $index ]      = $item['amount'] * $item['quantity'];
326
+        $this->line_items[ 'item_number_' . $index ] = getpaid_limit_length( $item['item_number'], 127 );
327 327
     }
328 328
 
329 329
     /**
330
-	 * If the default request with line items is too long, generate a new one with only one line item.
331
-	 *
332
-	 * https://support.microsoft.com/en-us/help/208427/maximum-url-length-is-2-083-characters-in-internet-explorer.
333
-	 *
334
-	 * @param WPInv_Invoice $invoice Invoice to be sent to Paypal.
335
-	 * @param array    $paypal_args Arguments sent to Paypal in the request.
336
-	 * @return array
337
-	 */
338
-	protected function fix_request_length( $invoice, $paypal_args ) {
339
-		$max_paypal_length = 2083;
340
-		$query_candidate   = http_build_query( $paypal_args, '', '&' );
341
-
342
-		if ( strlen( $this->endpoint . $query_candidate ) <= $max_paypal_length ) {
343
-			return $paypal_args;
344
-		}
345
-
346
-		return apply_filters(
347
-			'getpaid_paypal_args',
348
-			array_merge(
349
-				$this->get_transaction_args( $invoice ),
350
-				$this->get_line_item_args( $invoice, true )
351
-			),
352
-			$invoice
353
-		);
330
+     * If the default request with line items is too long, generate a new one with only one line item.
331
+     *
332
+     * https://support.microsoft.com/en-us/help/208427/maximum-url-length-is-2-083-characters-in-internet-explorer.
333
+     *
334
+     * @param WPInv_Invoice $invoice Invoice to be sent to Paypal.
335
+     * @param array    $paypal_args Arguments sent to Paypal in the request.
336
+     * @return array
337
+     */
338
+    protected function fix_request_length( $invoice, $paypal_args ) {
339
+        $max_paypal_length = 2083;
340
+        $query_candidate   = http_build_query( $paypal_args, '', '&' );
341
+
342
+        if ( strlen( $this->endpoint . $query_candidate ) <= $max_paypal_length ) {
343
+            return $paypal_args;
344
+        }
345
+
346
+        return apply_filters(
347
+            'getpaid_paypal_args',
348
+            array_merge(
349
+                $this->get_transaction_args( $invoice ),
350
+                $this->get_line_item_args( $invoice, true )
351
+            ),
352
+            $invoice
353
+        );
354 354
 
355 355
     }
356 356
 
357 357
     /**
358
-	 * Processes recurring invoices.
359
-	 *
360
-	 * @param  array $paypal_args PayPal args.
361
-	 * @param  WPInv_Invoice    $invoice Invoice object.
362
-	 */
363
-	public function process_subscription( $paypal_args, $invoice ) {
358
+     * Processes recurring invoices.
359
+     *
360
+     * @param  array $paypal_args PayPal args.
361
+     * @param  WPInv_Invoice    $invoice Invoice object.
362
+     */
363
+    public function process_subscription( $paypal_args, $invoice ) {
364 364
 
365 365
         // Make sure this is a subscription.
366 366
         if ( ! $invoice->is_recurring() || ! $subscription = getpaid_get_invoice_subscription( $invoice ) ) {
@@ -381,21 +381,21 @@  discard block
 block discarded – undo
381 381
         $recurring_amount       = (float) wpinv_sanitize_amount( $invoice->get_recurring_total(), 2 );
382 382
         $subscription_item      = $invoice->get_recurring( true );
383 383
 
384
-		// Convert 365 days to 1 year.
385
-		if ( 'D' == $period && 365 == $interval ) {
386
-			$period = 'Y';
387
-			$interval = 1;
388
-		}
384
+        // Convert 365 days to 1 year.
385
+        if ( 'D' == $period && 365 == $interval ) {
386
+            $period = 'Y';
387
+            $interval = 1;
388
+        }
389 389
 
390 390
         if ( $subscription_item->has_free_trial() ) {
391 391
 
392 392
             $paypal_args['a1'] = 0 == $initial_amount ? 0 : $initial_amount;
393 393
 
394
-			// Trial period length.
395
-			$paypal_args['p1'] = $subscription_item->get_trial_interval();
394
+            // Trial period length.
395
+            $paypal_args['p1'] = $subscription_item->get_trial_interval();
396 396
 
397
-			// Trial period.
398
-			$paypal_args['t1'] = $subscription_item->get_trial_period();
397
+            // Trial period.
398
+            $paypal_args['t1'] = $subscription_item->get_trial_period();
399 399
 
400 400
         } elseif ( $initial_amount != $recurring_amount ) {
401 401
 
@@ -418,40 +418,40 @@  discard block
 block discarded – undo
418 418
         }
419 419
 
420 420
         // We have a recurring payment
421
-		if ( ! isset( $param_number ) || 1 == $param_number ) {
421
+        if ( ! isset( $param_number ) || 1 == $param_number ) {
422 422
 
423
-			// Subscription price
424
-			$paypal_args['a3'] = $recurring_amount;
423
+            // Subscription price
424
+            $paypal_args['a3'] = $recurring_amount;
425 425
 
426
-			// Subscription duration
427
-			$paypal_args['p3'] = $interval;
426
+            // Subscription duration
427
+            $paypal_args['p3'] = $interval;
428 428
 
429
-			// Subscription period
430
-			$paypal_args['t3'] = $period;
429
+            // Subscription period
430
+            $paypal_args['t3'] = $period;
431 431
 
432 432
         }
433 433
 
434 434
         // Recurring payments
435
-		if ( 1 == $bill_times || ( $initial_amount != $recurring_amount && ! $subscription_item->has_free_trial() && 2 == $bill_times ) ) {
435
+        if ( 1 == $bill_times || ( $initial_amount != $recurring_amount && ! $subscription_item->has_free_trial() && 2 == $bill_times ) ) {
436 436
 
437
-			// Non-recurring payments
438
-			$paypal_args['src'] = 0;
437
+            // Non-recurring payments
438
+            $paypal_args['src'] = 0;
439 439
 
440
-		} else {
440
+        } else {
441 441
 
442
-			$paypal_args['src'] = 1;
442
+            $paypal_args['src'] = 1;
443 443
 
444
-			if ( $bill_times > 0 ) {
444
+            if ( $bill_times > 0 ) {
445 445
 
446
-				// An initial period is being used to charge a sign-up fee
447
-				if ( $initial_amount != $recurring_amount && ! $subscription_item->has_free_trial() ) {
448
-					$bill_times--;
449
-				}
446
+                // An initial period is being used to charge a sign-up fee
447
+                if ( $initial_amount != $recurring_amount && ! $subscription_item->has_free_trial() ) {
448
+                    $bill_times--;
449
+                }
450 450
 
451 451
                 // Make sure it's not over the max of 52
452 452
                 $paypal_args['srt'] = ( $bill_times <= 52 ? absint( $bill_times ) : 52 );
453 453
 
454
-			}
454
+            }
455 455
         }
456 456
 
457 457
         // Force return URL so that order description & instructions display
@@ -466,19 +466,19 @@  discard block
 block discarded – undo
466 466
 }
467 467
 
468 468
         return apply_filters(
469
-			'getpaid_paypal_subscription_args',
470
-			$paypal_args,
471
-			$invoice
469
+            'getpaid_paypal_subscription_args',
470
+            $paypal_args,
471
+            $invoice
472 472
         );
473 473
 
474 474
     }
475 475
 
476 476
     /**
477
-	 * Processes ipns and marks payments as complete.
478
-	 *
479
-	 * @return void
480
-	 */
481
-	public function verify_ipn() {
477
+     * Processes ipns and marks payments as complete.
478
+     *
479
+     * @return void
480
+     */
481
+    public function verify_ipn() {
482 482
         new GetPaid_Paypal_Gateway_IPN_Handler( $this );
483 483
     }
484 484
 
@@ -488,19 +488,19 @@  discard block
 block discarded – undo
488 488
     public function sandbox_notice() {
489 489
 
490 490
         return sprintf(
491
-			__( 'SANDBOX ENABLED. You can use sandbox testing accounts only. See the %1$sPayPal Sandbox Testing Guide%2$s for more details.', 'invoicing' ),
492
-			'<a href="https://developer.paypal.com/docs/classic/lifecycle/ug_sandbox/">',
493
-			'</a>'
494
-		);
491
+            __( 'SANDBOX ENABLED. You can use sandbox testing accounts only. See the %1$sPayPal Sandbox Testing Guide%2$s for more details.', 'invoicing' ),
492
+            '<a href="https://developer.paypal.com/docs/classic/lifecycle/ug_sandbox/">',
493
+            '</a>'
494
+        );
495 495
 
496 496
     }
497 497
 
498
-	/**
499
-	 * Filters the gateway settings.
500
-	 *
501
-	 * @param array $admin_settings
502
-	 */
503
-	public function admin_settings( $admin_settings ) {
498
+    /**
499
+     * Filters the gateway settings.
500
+     *
501
+     * @param array $admin_settings
502
+     */
503
+    public function admin_settings( $admin_settings ) {
504 504
 
505 505
         $currencies = sprintf(
506 506
             __( 'Supported Currencies: %s', 'invoicing' ),
@@ -510,31 +510,31 @@  discard block
 block discarded – undo
510 510
         $admin_settings['paypal_active']['desc'] .= " ($currencies)";
511 511
         $admin_settings['paypal_desc']['std']     = __( 'Pay via PayPal: you can pay with your credit card if you don\'t have a PayPal account.', 'invoicing' );
512 512
 
513
-		// Access tokens.
514
-		$live_email      = wpinv_get_option( 'paypal_email' );
515
-		$sandbox_email   = wpinv_get_option( 'paypal_sandbox_email' );
513
+        // Access tokens.
514
+        $live_email      = wpinv_get_option( 'paypal_email' );
515
+        $sandbox_email   = wpinv_get_option( 'paypal_sandbox_email' );
516 516
 
517
-		$admin_settings['paypal_connect'] = array(
518
-			'type' => 'hook',
519
-			'id'   => 'paypal_connect',
520
-			'name' => __( 'Connect to PayPal', 'invoicing' ),
521
-		);
517
+        $admin_settings['paypal_connect'] = array(
518
+            'type' => 'hook',
519
+            'id'   => 'paypal_connect',
520
+            'name' => __( 'Connect to PayPal', 'invoicing' ),
521
+        );
522 522
 
523 523
         $admin_settings['paypal_email'] = array(
524 524
             'type'  => 'text',
525
-			'class' => 'live-auth-data',
525
+            'class' => 'live-auth-data',
526 526
             'id'    => 'paypal_email',
527 527
             'name'  => __( 'Live Email Address', 'invoicing' ),
528 528
             'desc'  => __( 'The email address of your PayPal account.', 'invoicing' ),
529 529
         );
530 530
 
531
-		$admin_settings['paypal_sandbox_email'] = array(
531
+        $admin_settings['paypal_sandbox_email'] = array(
532 532
             'type'  => 'text',
533
-			'class' => 'sandbox-auth-data',
533
+            'class' => 'sandbox-auth-data',
534 534
             'id'    => 'paypal_sandbox_email',
535 535
             'name'  => __( 'Sandbox Email Address', 'invoicing' ),
536 536
             'desc'  => __( 'The email address of your sandbox PayPal account.', 'invoicing' ),
537
-			'std'   => wpinv_get_option( 'paypal_email', '' ),
537
+            'std'   => wpinv_get_option( 'paypal_email', '' ),
538 538
         );
539 539
 
540 540
         $admin_settings['paypal_ipn_url'] = array(
@@ -546,29 +546,29 @@  discard block
 block discarded – undo
546 546
             'readonly' => true,
547 547
         );
548 548
 
549
-		return $admin_settings;
550
-	}
549
+        return $admin_settings;
550
+    }
551 551
 
552
-	/**
553
-	 * Retrieves the PayPal connect URL when using the setup wizzard.
554
-	 *
555
-	 *
552
+    /**
553
+     * Retrieves the PayPal connect URL when using the setup wizzard.
554
+     *
555
+     *
556 556
      * @param array $data
557 557
      * @return string
558
-	 */
559
-	public static function maybe_get_connect_url( $url = '', $data = array() ) {
560
-		return self::get_connect_url( false, urldecode( $data['redirect'] ) );
561
-	}
562
-
563
-	/**
564
-	 * Retrieves the PayPal connect URL.
565
-	 *
566
-	 *
558
+     */
559
+    public static function maybe_get_connect_url( $url = '', $data = array() ) {
560
+        return self::get_connect_url( false, urldecode( $data['redirect'] ) );
561
+    }
562
+
563
+    /**
564
+     * Retrieves the PayPal connect URL.
565
+     *
566
+     *
567 567
      * @param bool $is_sandbox
568
-	 * @param string $redirect
568
+     * @param string $redirect
569 569
      * @return string
570
-	 */
571
-	public static function get_connect_url( $is_sandbox, $redirect = '' ) {
570
+     */
571
+    public static function get_connect_url( $is_sandbox, $redirect = '' ) {
572 572
 
573 573
         $redirect_url = add_query_arg(
574 574
             array(
@@ -578,7 +578,7 @@  discard block
 block discarded – undo
578 578
                 'tab'                  => 'gateways',
579 579
                 'section'              => 'paypal',
580 580
                 'getpaid-nonce'        => wp_create_nonce( 'getpaid-nonce' ),
581
-				'redirect'             => urlencode( $redirect ),
581
+                'redirect'             => urlencode( $redirect ),
582 582
             ),
583 583
             admin_url( 'admin.php' )
584 584
         );
@@ -593,12 +593,12 @@  discard block
 block discarded – undo
593 593
 
594 594
     }
595 595
 
596
-	/**
597
-	 * Generates settings page js.
598
-	 *
596
+    /**
597
+     * Generates settings page js.
598
+     *
599 599
      * @return void
600
-	 */
601
-	public static function display_connect_buttons() {
600
+     */
601
+    public static function display_connect_buttons() {
602 602
 
603 603
         ?>
604 604
 			<div class="wpinv-paypal-connect-live">
@@ -640,70 +640,70 @@  discard block
 block discarded – undo
640 640
         <?php
641 641
     }
642 642
 
643
-	/**
644
-	 * Connects to PayPal.
645
-	 *
646
-	 * @param array $data Connection data.
647
-	 * @return void
648
-	 */
649
-	public function connect_paypal( $data ) {
650
-
651
-		$sandbox      = $this->is_sandbox();
652
-		$data         = wp_unslash( $data );
653
-		$access_token = empty( $data['access_token'] ) ? '' : sanitize_text_field( $data['access_token'] );
654
-
655
-		if ( isset( $data['live_mode'] ) ) {
656
-			$sandbox = empty( $data['live_mode'] );
657
-		}
658
-
659
-		wpinv_update_option( 'paypal_sandbox', (int) $sandbox );
660
-		wpinv_update_option( 'paypal_active', 1 );
661
-
662
-		if ( ! empty( $data['error_description'] ) ) {
663
-			getpaid_admin()->show_error( wp_kses_post( urldecode( $data['error_description'] ) ) );
664
-		} else {
665
-
666
-			// Retrieve the user info.
667
-			$user_info = wp_remote_get(
668
-				! $sandbox ? 'https://api-m.paypal.com/v1/identity/oauth2/userinfo?schema=paypalv1.1' : 'https://api-m.sandbox.paypal.com/v1/identity/oauth2/userinfo?schema=paypalv1.1',
669
-				array(
670
-
671
-					'headers' => array(
672
-						'Authorization' => 'Bearer ' . $access_token,
673
-						'Content-type'  => 'application/json',
674
-					),
675
-
676
-				)
677
-			);
678
-
679
-			if ( is_wp_error( $user_info ) ) {
680
-				getpaid_admin()->show_error( wp_kses_post( $user_info->get_error_message() ) );
681
-			} else {
682
-
683
-				// Create application.
684
-				$user_info = json_decode( wp_remote_retrieve_body( $user_info ) );
685
-
686
-				if ( $sandbox ) {
687
-					wpinv_update_option( 'paypal_sandbox_email', sanitize_email( $user_info->emails[0]->value ) );
688
-					wpinv_update_option( 'paypal_sandbox_refresh_token', sanitize_text_field( urldecode( $data['refresh_token'] ) ) );
689
-					set_transient( 'getpaid_paypal_sandbox_access_token', sanitize_text_field( urldecode( $data['access_token'] ) ), (int) $data['expires_in'] );
690
-					getpaid_admin()->show_success( __( 'Successfully connected your PayPal sandbox account', 'invoicing' ) );
691
-				} else {
692
-					wpinv_update_option( 'paypal_email', sanitize_email( $user_info->emails[0]->value ) );
693
-					wpinv_update_option( 'paypal_refresh_token', sanitize_text_field( urldecode( $data['refresh_token'] ) ) );
694
-					set_transient( 'getpaid_paypal_access_token', sanitize_text_field( urldecode( $data['access_token'] ) ), (int) $data['expires_in'] );
695
-					getpaid_admin()->show_success( __( 'Successfully connected your PayPal account', 'invoicing' ) );
696
-				}
643
+    /**
644
+     * Connects to PayPal.
645
+     *
646
+     * @param array $data Connection data.
647
+     * @return void
648
+     */
649
+    public function connect_paypal( $data ) {
650
+
651
+        $sandbox      = $this->is_sandbox();
652
+        $data         = wp_unslash( $data );
653
+        $access_token = empty( $data['access_token'] ) ? '' : sanitize_text_field( $data['access_token'] );
654
+
655
+        if ( isset( $data['live_mode'] ) ) {
656
+            $sandbox = empty( $data['live_mode'] );
657
+        }
658
+
659
+        wpinv_update_option( 'paypal_sandbox', (int) $sandbox );
660
+        wpinv_update_option( 'paypal_active', 1 );
661
+
662
+        if ( ! empty( $data['error_description'] ) ) {
663
+            getpaid_admin()->show_error( wp_kses_post( urldecode( $data['error_description'] ) ) );
664
+        } else {
665
+
666
+            // Retrieve the user info.
667
+            $user_info = wp_remote_get(
668
+                ! $sandbox ? 'https://api-m.paypal.com/v1/identity/oauth2/userinfo?schema=paypalv1.1' : 'https://api-m.sandbox.paypal.com/v1/identity/oauth2/userinfo?schema=paypalv1.1',
669
+                array(
670
+
671
+                    'headers' => array(
672
+                        'Authorization' => 'Bearer ' . $access_token,
673
+                        'Content-type'  => 'application/json',
674
+                    ),
675
+
676
+                )
677
+            );
678
+
679
+            if ( is_wp_error( $user_info ) ) {
680
+                getpaid_admin()->show_error( wp_kses_post( $user_info->get_error_message() ) );
681
+            } else {
682
+
683
+                // Create application.
684
+                $user_info = json_decode( wp_remote_retrieve_body( $user_info ) );
685
+
686
+                if ( $sandbox ) {
687
+                    wpinv_update_option( 'paypal_sandbox_email', sanitize_email( $user_info->emails[0]->value ) );
688
+                    wpinv_update_option( 'paypal_sandbox_refresh_token', sanitize_text_field( urldecode( $data['refresh_token'] ) ) );
689
+                    set_transient( 'getpaid_paypal_sandbox_access_token', sanitize_text_field( urldecode( $data['access_token'] ) ), (int) $data['expires_in'] );
690
+                    getpaid_admin()->show_success( __( 'Successfully connected your PayPal sandbox account', 'invoicing' ) );
691
+                } else {
692
+                    wpinv_update_option( 'paypal_email', sanitize_email( $user_info->emails[0]->value ) );
693
+                    wpinv_update_option( 'paypal_refresh_token', sanitize_text_field( urldecode( $data['refresh_token'] ) ) );
694
+                    set_transient( 'getpaid_paypal_access_token', sanitize_text_field( urldecode( $data['access_token'] ) ), (int) $data['expires_in'] );
695
+                    getpaid_admin()->show_success( __( 'Successfully connected your PayPal account', 'invoicing' ) );
696
+                }
697 697
 }
698 698
 }
699 699
 
700
-		$redirect = empty( $data['redirect'] ) ? admin_url( 'admin.php?page=wpinv-settings&tab=gateways&section=paypal' ) : urldecode( $data['redirect'] );
700
+        $redirect = empty( $data['redirect'] ) ? admin_url( 'admin.php?page=wpinv-settings&tab=gateways&section=paypal' ) : urldecode( $data['redirect'] );
701 701
 
702
-		if ( isset( $data['step'] ) ) {
703
-			$redirect = add_query_arg( 'step', $data['step'], $redirect );
704
-		}
705
-		wp_redirect( $redirect );
706
-		exit;
707
-	}
702
+        if ( isset( $data['step'] ) ) {
703
+            $redirect = add_query_arg( 'step', $data['step'], $redirect );
704
+        }
705
+        wp_redirect( $redirect );
706
+        exit;
707
+    }
708 708
 
709 709
 }
Please login to merge, or discard this patch.
invoicing.php 1 patch
Indentation   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -19,16 +19,16 @@  discard block
 block discarded – undo
19 19
 
20 20
 // Define constants.
21 21
 if ( ! defined( 'WPINV_PLUGIN_FILE' ) ) {
22
-	define( 'WPINV_PLUGIN_FILE', __FILE__ );
22
+    define( 'WPINV_PLUGIN_FILE', __FILE__ );
23 23
 }
24 24
 
25 25
 if ( ! defined( 'WPINV_VERSION' ) ) {
26
-	define( 'WPINV_VERSION', '2.6.6' );
26
+    define( 'WPINV_VERSION', '2.6.6' );
27 27
 }
28 28
 
29 29
 // Include the main Invoicing class.
30 30
 if ( ! class_exists( 'WPInv_Plugin', false ) ) {
31
-	require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php';
31
+    require_once plugin_dir_path( WPINV_PLUGIN_FILE ) . 'includes/class-wpinv.php';
32 32
 }
33 33
 
34 34
 /**
@@ -43,7 +43,7 @@  discard block
 block discarded – undo
43 43
         $GLOBALS['invoicing'] = new WPInv_Plugin();
44 44
     }
45 45
 
46
-	return $GLOBALS['invoicing'];
46
+    return $GLOBALS['invoicing'];
47 47
 }
48 48
 
49 49
 /**
Please login to merge, or discard this patch.
templates/invoice-history.php 1 patch
Indentation   +73 added lines, -73 removed lines patch added patch discarded remove patch
@@ -42,92 +42,92 @@  discard block
 block discarded – undo
42 42
 					<tr class="wpinv-item wpinv-item-<?php echo esc_attr( $invoice->get_status() ); ?>">
43 43
 						<?php
44 44
 
45
-							foreach ( wpinv_get_user_invoices_columns( $post_type ) as $column_id => $column_name ) :
45
+                            foreach ( wpinv_get_user_invoices_columns( $post_type ) as $column_id => $column_name ) :
46 46
 
47
-							$column_id = sanitize_html_class( $column_id );
48
-							$class     = empty( $column_name['class'] ) ? '' : sanitize_html_class( $column_name['class'] );
47
+                            $column_id = sanitize_html_class( $column_id );
48
+                            $class     = empty( $column_name['class'] ) ? '' : sanitize_html_class( $column_name['class'] );
49 49
 
50
-							echo "<td class='" . esc_attr( $column_id . ' ' . $class ) . "'>";
51
-							switch ( $column_id ) {
50
+                            echo "<td class='" . esc_attr( $column_id . ' ' . $class ) . "'>";
51
+                            switch ( $column_id ) {
52 52
 
53
-								case 'invoice-number':
54
-									echo wp_kses_post( wpinv_invoice_link( $invoice ) );
55
-									break;
53
+                                case 'invoice-number':
54
+                                    echo wp_kses_post( wpinv_invoice_link( $invoice ) );
55
+                                    break;
56 56
 
57
-								case 'created-date':
58
-									echo esc_html( getpaid_format_date_value( $invoice->get_date_created() ) );
59
-									break;
57
+                                case 'created-date':
58
+                                    echo esc_html( getpaid_format_date_value( $invoice->get_date_created() ) );
59
+                                    break;
60 60
 
61
-								case 'payment-date':
62
-									if ( $invoice->needs_payment() ) {
63
-										echo '&mdash;';
64
-										} else {
65
-										echo esc_html( getpaid_format_date_value( $invoice->get_date_completed() ) );
66
-										}
61
+                                case 'payment-date':
62
+                                    if ( $invoice->needs_payment() ) {
63
+                                        echo '&mdash;';
64
+                                        } else {
65
+                                        echo esc_html( getpaid_format_date_value( $invoice->get_date_completed() ) );
66
+                                        }
67 67
 
68
-									break;
68
+                                    break;
69 69
 
70
-								case 'invoice-status':
71
-									echo wp_kses_post( $invoice->get_status_label_html() );
70
+                                case 'invoice-status':
71
+                                    echo wp_kses_post( $invoice->get_status_label_html() );
72 72
 
73
-									break;
73
+                                    break;
74 74
 
75
-								case 'invoice-total':
76
-									wpinv_the_price( $invoice->get_total(), $invoice->get_currency() );
75
+                                case 'invoice-total':
76
+                                    wpinv_the_price( $invoice->get_total(), $invoice->get_currency() );
77 77
 
78
-									break;
78
+                                    break;
79 79
 
80
-								case 'invoice-actions':
81
-									$actions = array(
80
+                                case 'invoice-actions':
81
+                                    $actions = array(
82 82
 
83
-										'pay'   => array(
84
-											'url'   => $invoice->get_checkout_payment_url(),
85
-											'name'  => __( 'Pay Now', 'invoicing' ),
86
-											'class' => 'btn-success',
87
-										),
83
+                                        'pay'   => array(
84
+                                            'url'   => $invoice->get_checkout_payment_url(),
85
+                                            'name'  => __( 'Pay Now', 'invoicing' ),
86
+                                            'class' => 'btn-success',
87
+                                        ),
88 88
 
89
-										'print' => array(
90
-											'url'   => $invoice->get_view_url(),
91
-											'name'  => __( 'View', 'invoicing' ),
92
-											'class' => 'btn-secondary',
93
-											'attrs' => 'target="_blank"',
94
-										),
95
-									);
89
+                                        'print' => array(
90
+                                            'url'   => $invoice->get_view_url(),
91
+                                            'name'  => __( 'View', 'invoicing' ),
92
+                                            'class' => 'btn-secondary',
93
+                                            'attrs' => 'target="_blank"',
94
+                                        ),
95
+                                    );
96 96
 
97
-									if ( ! $invoice->needs_payment() ) {
98
-										unset( $actions['pay'] );
99
-										}
97
+                                    if ( ! $invoice->needs_payment() ) {
98
+                                        unset( $actions['pay'] );
99
+                                        }
100 100
 
101
-									if ( $invoice->needs_payment() ) {
102
-										$actions['delete'] = array(
103
-											'url'   => getpaid_get_authenticated_action_url( 'delete_invoice', add_query_arg( 'invoice_id', $invoice->get_id() ) ),
104
-											'name'  => __( 'Delete', 'invoicing' ),
105
-											'class' => 'btn-danger',
106
-										);
107
-										}
101
+                                    if ( $invoice->needs_payment() ) {
102
+                                        $actions['delete'] = array(
103
+                                            'url'   => getpaid_get_authenticated_action_url( 'delete_invoice', add_query_arg( 'invoice_id', $invoice->get_id() ) ),
104
+                                            'name'  => __( 'Delete', 'invoicing' ),
105
+                                            'class' => 'btn-danger',
106
+                                        );
107
+                                        }
108 108
 
109
-									$actions = apply_filters( 'wpinv_user_invoices_actions', $actions, $invoice, $post_type );
109
+                                    $actions = apply_filters( 'wpinv_user_invoices_actions', $actions, $invoice, $post_type );
110 110
 
111
-									foreach ( $actions as $key => $action ) {
112
-										$class = ! empty( $action['class'] ) ? sanitize_html_class( $action['class'] ) : '';
113
-										echo '<a href="' . esc_url( $action['url'] ) . '" class="btn btn-sm btn-block ' . esc_attr( $class . ' ' . sanitize_html_class( $key ) ) . '" ' . ( ! empty( $action['attrs'] ) ? esc_html( $action['attrs'] ) : '' ) . '>' . esc_attr( $action['name'] ) . '</a>';
114
-										}
111
+                                    foreach ( $actions as $key => $action ) {
112
+                                        $class = ! empty( $action['class'] ) ? sanitize_html_class( $action['class'] ) : '';
113
+                                        echo '<a href="' . esc_url( $action['url'] ) . '" class="btn btn-sm btn-block ' . esc_attr( $class . ' ' . sanitize_html_class( $key ) ) . '" ' . ( ! empty( $action['attrs'] ) ? esc_html( $action['attrs'] ) : '' ) . '>' . esc_attr( $action['name'] ) . '</a>';
114
+                                        }
115 115
 
116
-									break;
116
+                                    break;
117 117
 
118
-								default:
119
-									do_action( "wpinv_user_invoices_column_$column_id", $invoice );
120
-									break;
118
+                                default:
119
+                                    do_action( "wpinv_user_invoices_column_$column_id", $invoice );
120
+                                    break;
121 121
 
122 122
 
123
-								}
123
+                                }
124 124
 
125
-							do_action( "wpinv_user_invoices_column_after_$column_id", $invoice );
125
+                            do_action( "wpinv_user_invoices_column_after_$column_id", $invoice );
126 126
 
127
-							echo '</td>';
127
+                            echo '</td>';
128 128
 
129
-							endforeach;
130
-						?>
129
+                            endforeach;
130
+                        ?>
131 131
 					</tr>
132 132
 
133 133
 				<?php endforeach; ?>
@@ -141,18 +141,18 @@  discard block
 block discarded – undo
141 141
 	<?php if ( 1 < $invoices->max_num_pages ) : ?>
142 142
 		<div class="invoicing-Pagination">
143 143
 			<?php
144
-			$big = 999999;
145
-
146
-			echo wp_kses_post(
147
-				paginate_links(
148
-					array(
149
-						'base'   => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
150
-						'format' => '?paged=%#%',
151
-						'total'  => $invoices->max_num_pages,
152
-					)
153
-				)
144
+            $big = 999999;
145
+
146
+            echo wp_kses_post(
147
+                paginate_links(
148
+                    array(
149
+                        'base'   => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
150
+                        'format' => '?paged=%#%',
151
+                        'total'  => $invoices->max_num_pages,
152
+                    )
153
+                )
154 154
             );
155
-			?>
155
+            ?>
156 156
 		</div>
157 157
 	<?php endif; ?>
158 158
 
Please login to merge, or discard this patch.
includes/libraries/wp-all-import/rapid-addon.php 1 patch
Indentation   +802 added lines, -802 removed lines patch added patch discarded remove patch
@@ -10,232 +10,232 @@  discard block
 block discarded – undo
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
 block discarded – undo
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 esc_html_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
 block discarded – undo
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
 block discarded – undo
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 esc_attr($this->slug); ?>">
1105 1105
 	    		    <p><?php echo wp_kses_post(__(
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
 block discarded – undo
1293 1293
             }
1294 1294
             return $image;
1295 1295
         }
1296
-	}	
1296
+    }	
1297 1297
 }
1298 1298
\ No newline at end of file
Please login to merge, or discard this patch.