Passed
Push — master ( 862b0e...047a35 )
by Stiofan
17:04
created
templates/invoice-receipt.php 1 patch
Spacing   +35 added lines, -35 removed lines patch added patch discarded remove patch
@@ -7,55 +7,55 @@  discard block
 block discarded – undo
7 7
  * @version 1.0.19
8 8
  */
9 9
 
10
-defined( 'ABSPATH' ) || exit;
10
+defined('ABSPATH') || exit;
11 11
 
12 12
 // Fetch the invoice.
13
-$invoice = new WPInv_Invoice( $invoice );
13
+$invoice = new WPInv_Invoice($invoice);
14 14
 
15 15
 // @deprecated
16
-do_action( 'wpinv_success_content_before', $invoice );
17
-do_action( 'wpinv_before_receipt', $invoice );
16
+do_action('wpinv_success_content_before', $invoice);
17
+do_action('wpinv_before_receipt', $invoice);
18 18
 
19 19
 wpinv_print_errors();
20 20
 
21 21
 // Prepare header text.
22
-if ( $invoice->is_paid() ) {
22
+if ($invoice->is_paid()) {
23 23
 
24 24
     $alert = aui()->alert(
25 25
         array(
26 26
             'type'    => 'success',
27
-            'content' => __( 'Thank you for your payment!', 'invoicing' ),
27
+            'content' => __('Thank you for your payment!', 'invoicing'),
28 28
         )
29 29
     );
30 30
 
31
-} else if ( $invoice->is_refunded() ) {
31
+} else if ($invoice->is_refunded()) {
32 32
 
33 33
     $alert = aui()->alert(
34 34
         array(
35 35
             'type'    => 'info',
36
-            'content' => __( 'This invoice was refunded.', 'invoicing' ),
36
+            'content' => __('This invoice was refunded.', 'invoicing'),
37 37
         )
38 38
     );
39 39
 
40
-} else if ( $invoice->is_held() ) {
40
+} else if ($invoice->is_held()) {
41 41
 
42 42
     $alert = aui()->alert(
43 43
         array(
44 44
             'type'    => 'info',
45
-            'content' => __( 'This invoice will be processed as soon we verify your payment.', 'invoicing' ),
45
+            'content' => __('This invoice will be processed as soon we verify your payment.', 'invoicing'),
46 46
         )
47 47
     );
48 48
 
49
-} else if ( $invoice->needs_payment() ) {
49
+} else if ($invoice->needs_payment()) {
50 50
 
51
-    if ( $invoice->is_due() ) {
51
+    if ($invoice->is_due()) {
52 52
 
53 53
         $alert = aui()->alert(
54 54
             array(
55 55
                 'type'    => 'danger',
56 56
                 'content' => sprintf(
57
-                    __( 'This invoice was due on %.', 'invoicing' ),
58
-                    getpaid_format_date_value( $invoice->get_due_date() )
57
+                    __('This invoice was due on %.', 'invoicing'),
58
+                    getpaid_format_date_value($invoice->get_due_date())
59 59
                 ),
60 60
             )
61 61
         );
@@ -65,7 +65,7 @@  discard block
 block discarded – undo
65 65
         $alert = aui()->alert(
66 66
             array(
67 67
                 'type'    => 'warning',
68
-                'content' => __( 'This invoice needs payment.', 'invoicing' ),
68
+                'content' => __('This invoice needs payment.', 'invoicing'),
69 69
             )
70 70
         );
71 71
 
@@ -80,19 +80,19 @@  discard block
 block discarded – undo
80 80
 
81 81
         'pay' => array(
82 82
             'url'   => $invoice->get_checkout_payment_url(),
83
-            'name'  => __( 'Pay For Invoice', 'invoicing' ),
83
+            'name'  => __('Pay For Invoice', 'invoicing'),
84 84
             'class' => 'btn-success',
85 85
         ),
86 86
 
87 87
         'view' => array(
88 88
             'url'   => $invoice->get_view_url(),
89
-            'name'  => __( 'View Invoice', 'invoicing' ),
89
+            'name'  => __('View Invoice', 'invoicing'),
90 90
             'class' => 'btn-primary',
91 91
         ),
92 92
 
93 93
         'history' => array(
94 94
             'url'   => wpinv_get_history_page_uri(),
95
-            'name'  => __( 'Invoice History', 'invoicing' ),
95
+            'name'  => __('Invoice History', 'invoicing'),
96 96
             'class' => 'btn-warning',
97 97
         ),
98 98
 
@@ -101,12 +101,12 @@  discard block
 block discarded – undo
101 101
 
102 102
 );
103 103
 
104
-if ( ( ! $invoice->needs_payment() || $invoice->is_held() ) && isset( $actions['pay'] ) ) {
105
-    unset( $actions['pay'] );
104
+if ((!$invoice->needs_payment() || $invoice->is_held()) && isset($actions['pay'])) {
105
+    unset($actions['pay']);
106 106
 }
107 107
 
108
-if ( ! is_user_logged_in() && isset( $actions['history'] ) ) {
109
-    unset( $actions['history'] );
108
+if (!is_user_logged_in() && isset($actions['history'])) {
109
+    unset($actions['history']);
110 110
 }
111 111
 
112 112
 ?>
@@ -115,19 +115,19 @@  discard block
 block discarded – undo
115 115
 
116 116
         <?php
117 117
         
118
-            do_action( 'wpinv_receipt_start', $invoice );
118
+            do_action('wpinv_receipt_start', $invoice);
119 119
 
120
-            if ( ! empty( $actions ) ) {
120
+            if (!empty($actions)) {
121 121
 
122 122
                 echo '<div class="wpinv-receipt-actions text-right mt-1 mb-4">';
123 123
 
124
-                foreach ( $actions as $key => $action ) {
124
+                foreach ($actions as $key => $action) {
125 125
 
126
-                    $key    = sanitize_html_class( $key );
127
-                    $class  = empty( $action['class'] ) ? 'btn-dark' : sanitize_html_class( $action['class'] );
128
-                    $url    = empty( $action['url'] ) ? '#' : esc_url( $action['url'] );
129
-                    $attrs  = empty( $action['attrs'] ) ? '' : $action['attrs'];
130
-                    $anchor = sanitize_text_field( $action['name'] );
126
+                    $key    = sanitize_html_class($key);
127
+                    $class  = empty($action['class']) ? 'btn-dark' : sanitize_html_class($action['class']);
128
+                    $url    = empty($action['url']) ? '#' : esc_url($action['url']);
129
+                    $attrs  = empty($action['attrs']) ? '' : $action['attrs'];
130
+                    $anchor = sanitize_text_field($action['name']);
131 131
 
132 132
                     echo "<a href='$url' class='btn btn-sm ml-1 $class $key' $attrs>$anchor</a>";
133 133
                 }
@@ -143,20 +143,20 @@  discard block
 block discarded – undo
143 143
         <div class="wpinv-receipt-details">
144 144
 
145 145
             <h4 class="wpinv-details-t mb-3 mt-3">
146
-                <?php echo apply_filters( 'wpinv_receipt_details_title', __( 'Invoice Details', 'invoicing' ), $invoice ); ?>
146
+                <?php echo apply_filters('wpinv_receipt_details_title', __('Invoice Details', 'invoicing'), $invoice); ?>
147 147
             </h4>
148 148
 
149
-            <?php getpaid_invoice_meta( $invoice ); ?>
149
+            <?php getpaid_invoice_meta($invoice); ?>
150 150
 
151 151
         </div>
152 152
 
153 153
 
154
-        <?php do_action( 'wpinv_receipt_end', $invoice ); ?>
154
+        <?php do_action('wpinv_receipt_end', $invoice); ?>
155 155
 
156 156
     </div>
157 157
 
158 158
 <?php
159 159
 
160 160
 // @deprecated
161
-do_action( 'wpinv_success_content_after', $invoice );
162
-do_action( 'wpinv_after_receipt', $invoice );
161
+do_action('wpinv_success_content_after', $invoice);
162
+do_action('wpinv_after_receipt', $invoice);
Please login to merge, or discard this patch.
includes/class-wpinv-cli.php 1 patch
Spacing   +16 added lines, -16 removed lines patch added patch discarded remove patch
@@ -7,7 +7,7 @@  discard block
 block discarded – undo
7 7
  */
8 8
  
9 9
 // MUST have WordPress.
10
-if ( !defined( 'WPINC' ) ) {
10
+if (!defined('WPINC')) {
11 11
     exit;
12 12
 }
13 13
 
@@ -24,40 +24,40 @@  discard block
 block discarded – undo
24 24
      *  @param Array $assoc_args Key value arguments stored in associated array format.
25 25
      *  @since 1.0.13
26 26
      */
27
-    public function insert_invoice( $args, $assoc_args ) {
27
+    public function insert_invoice($args, $assoc_args) {
28 28
 
29 29
         // Fetch invoice data from the args
30
-        $invoice_data = wp_unslash( $assoc_args );
30
+        $invoice_data = wp_unslash($assoc_args);
31 31
 
32 32
         // Abort if no invoice data is provided
33
-        if( empty( $invoice_data ) ) {
34
-            return WP_CLI::error( __( 'Invoice data not provided', 'invoicing' ) );
33
+        if (empty($invoice_data)) {
34
+            return WP_CLI::error(__('Invoice data not provided', 'invoicing'));
35 35
         }
36 36
 
37 37
         //Cart details
38
-        if( !empty( $invoice_data['cart_details'] ) ) {
39
-            $invoice_data['cart_details'] = json_decode( $invoice_data['cart_details'], true );
38
+        if (!empty($invoice_data['cart_details'])) {
39
+            $invoice_data['cart_details'] = json_decode($invoice_data['cart_details'], true);
40 40
         }
41 41
 
42 42
         //User details
43
-        if( !empty( $invoice_data['user_info'] ) ) {
44
-            $invoice_data['user_info'] = json_decode( $invoice_data['user_info'], true );
43
+        if (!empty($invoice_data['user_info'])) {
44
+            $invoice_data['user_info'] = json_decode($invoice_data['user_info'], true);
45 45
         }
46 46
 
47 47
         //Payment info
48
-        if( !empty( $invoice_data['payment_details'] ) ) {
49
-            $invoice_data['payment_details'] = json_decode( $invoice_data['payment_details'], true );
48
+        if (!empty($invoice_data['payment_details'])) {
49
+            $invoice_data['payment_details'] = json_decode($invoice_data['payment_details'], true);
50 50
         }
51 51
 
52 52
         // Try creating the invoice
53
-        $invoice = wpinv_insert_invoice( $invoice_data, true );
53
+        $invoice = wpinv_insert_invoice($invoice_data, true);
54 54
 
55
-        if ( is_wp_error( $invoice ) ) {
56
-            return WP_CLI::error( $invoice->get_error_message() );
55
+        if (is_wp_error($invoice)) {
56
+            return WP_CLI::error($invoice->get_error_message());
57 57
         }
58 58
 
59
-        $message = sprintf( __( 'Invoice %s created', 'invoicing' ), $invoice->get_id() );
60
-        WP_CLI::success( $message );
59
+        $message = sprintf(__('Invoice %s created', 'invoicing'), $invoice->get_id());
60
+        WP_CLI::success($message);
61 61
     }
62 62
     
63 63
     
Please login to merge, or discard this patch.
templates/payment-forms-admin/edit/heading.php 1 patch
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -8,23 +8,23 @@
 block discarded – undo
8 8
  */
9 9
 
10 10
 
11
-defined( 'ABSPATH' ) || exit;
11
+defined('ABSPATH') || exit;
12 12
 
13 13
 ?>
14 14
 
15 15
 <div class='form-group'>
16
-    <label :for="active_form_element.id + '_edit_heading'"><?php esc_html_e( 'Heading', 'invoicing' ) ?></label>
16
+    <label :for="active_form_element.id + '_edit_heading'"><?php esc_html_e('Heading', 'invoicing') ?></label>
17 17
     <input :id="active_form_element.id + '_edit_heading'" v-model='active_form_element.text' class='form-control' type='text' />
18 18
 </div>
19 19
 
20 20
 <div class='form-group'>
21
-    <label :for="active_form_element.id + '_edit_level'"><?php esc_html_e( 'Select Heading Level', 'invoicing' ) ?></label>
21
+    <label :for="active_form_element.id + '_edit_level'"><?php esc_html_e('Select Heading Level', 'invoicing') ?></label>
22 22
     <select class='form-control custom-select' :id="active_form_element.id + '_edit_level'" v-model='active_form_element.level'>
23
-        <option value='h1'><?php esc_html_e( 'H1', 'invoicing' ); ?></option>
24
-        <option value='h2'><?php esc_html_e( 'H2', 'invoicing' ); ?></option>
25
-        <option value='h3'><?php esc_html_e( 'H3', 'invoicing' ); ?></option>
26
-        <option value='h4'><?php esc_html_e( 'H4', 'invoicing' ); ?></option>
27
-        <option value='h5'><?php esc_html_e( 'H5', 'invoicing' ); ?></option>
28
-        <option value='h6'><?php esc_html_e( 'H6', 'invoicing' ); ?></option>
23
+        <option value='h1'><?php esc_html_e('H1', 'invoicing'); ?></option>
24
+        <option value='h2'><?php esc_html_e('H2', 'invoicing'); ?></option>
25
+        <option value='h3'><?php esc_html_e('H3', 'invoicing'); ?></option>
26
+        <option value='h4'><?php esc_html_e('H4', 'invoicing'); ?></option>
27
+        <option value='h5'><?php esc_html_e('H5', 'invoicing'); ?></option>
28
+        <option value='h6'><?php esc_html_e('H6', 'invoicing'); ?></option>
29 29
     </select>
30 30
 </div>
Please login to merge, or discard this patch.
includes/api/class-wpinv-rest-invoice-controller.php 2 patches
Indentation   +129 added lines, -129 removed lines patch added patch discarded remove patch
@@ -15,136 +15,136 @@
 block discarded – undo
15 15
 class WPInv_REST_Invoice_Controller extends GetPaid_REST_Posts_Controller {
16 16
 
17 17
     /**
18
-	 * Post type.
19
-	 *
20
-	 * @var string
21
-	 */
22
-	protected $post_type = 'wpi_invoice';
23
-
24
-	/**
25
-	 * The base of this controller's route.
26
-	 *
27
-	 * @since 1.0.13
28
-	 * @var string
29
-	 */
30
-	protected $rest_base = 'invoices';
31
-
32
-	/** Contains this controller's class name.
33
-	 *
34
-	 * @var string
35
-	 */
36
-	public $crud_class = 'WPInv_Invoice';
18
+     * Post type.
19
+     *
20
+     * @var string
21
+     */
22
+    protected $post_type = 'wpi_invoice';
37 23
 
38 24
     /**
39
-	 * Retrieves the query params for the invoices collection.
40
-	 *
41
-	 * @since 1.0.13
42
-	 *
43
-	 * @return array Collection parameters.
44
-	 */
45
-	public function get_collection_params() {
46
-
47
-		$params = array_merge(
48
-
49
-			parent::get_collection_params(),
50
-
51
-			array(
52
-
53
-
54
-				'customers' => array(
55
-					'description'       => __( 'Limit result set to invoices for specific user ids.', 'invoicing' ),
56
-					'type'              => 'array',
57
-					'items'             => array(
58
-						'type'          => 'integer',
59
-					),
60
-					'default'           => array(),
61
-					'sanitize_callback' => 'wp_parse_id_list',
62
-				),
63
-
64
-				'exclude_customers'  	=> array(
65
-					'description' 		=> __( 'Exclude invoices to specific users.', 'invoicing' ),
66
-					'type'        		=> 'array',
67
-					'items'       		=> array(
68
-						'type'          => 'integer',
69
-					),
70
-					'default'     		=> array(),
71
-					'sanitize_callback' => 'wp_parse_id_list',
72
-				),
73
-
74
-				'parent'  	            => array(
75
-					'description'       => __( 'Limit result set to those of particular parent IDs.', 'invoicing' ),
76
-					'type'              => 'array',
77
-					'items'             => array(
78
-						'type'          => 'integer',
79
-					),
80
-					'sanitize_callback' => 'wp_parse_id_list',
81
-					'default'           => array(),
82
-				),
83
-
84
-				'parent_exclude'  	    => array(
85
-					'description'       => __( 'Limit result set to all items except those of a particular parent ID.', 'invoicing' ),
86
-					'type'              => 'array',
87
-					'items'             => array(
88
-						'type'          => 'integer',
89
-					),
90
-					'sanitize_callback' => 'wp_parse_id_list',
91
-					'default'           => array(),
92
-				),
93
-
94
-			)
95
-
96
-		);
97
-
98
-		// Filter collection parameters for the invoices controller.
99
-		return apply_filters( 'getpaid_rest_invoices_collection_params', $params, $this );
100
-	}
101
-
102
-	/**
103
-	 * Determine the allowed query_vars for a get_items() response and
104
-	 * prepare for WP_Query.
105
-	 *
106
-	 * @param array           $prepared_args Prepared arguments.
107
-	 * @param WP_REST_Request $request Request object.
108
-	 * @return array          $query_args
109
-	 */
110
-	protected function prepare_items_query( $prepared_args = array(), $request = null ) {
111
-
112
-		$query_args = parent::prepare_items_query( $prepared_args );
113
-
114
-		// Retrieve invoices for specific customers.
115
-		if ( ! empty( $request['customers'] ) ) {
116
-			$query_args['author__in'] = $request['customers'];
117
-		}
118
-
119
-		// Skip invoices for specific customers.
120
-		if ( ! empty( $request['exclude_customers'] ) ) {
121
-			$query_args['author__not_in'] = $request['exclude_customers'];
122
-		}
123
-
124
-		return apply_filters( 'getpaid_rest_invoices_prepare_items_query', $query_args, $request, $this );
125
-
126
-	}
127
-
128
-	/**
129
-	 * Retrieves a valid list of post statuses.
130
-	 *
131
-	 * @since 1.0.15
132
-	 *
133
-	 * @return array A list of registered item statuses.
134
-	 */
135
-	public function get_post_statuses() {
136
-		return array_keys( wpinv_get_invoice_statuses( true, false, $this->post_type ) );
137
-	}
138
-
139
-	/**
140
-	 * Saves a single invoice.
141
-	 *
142
-	 * @param WPInv_Invoice $invoice Invoice to save.
143
-	 * @return WP_Error|WPInv_Invoice
144
-	 */
145
-	protected function save_object( $invoice ) {
146
-		$invoice->recalculate_total();
147
-		return parent::save_object( $invoice );
148
-	}
25
+     * The base of this controller's route.
26
+     *
27
+     * @since 1.0.13
28
+     * @var string
29
+     */
30
+    protected $rest_base = 'invoices';
31
+
32
+    /** Contains this controller's class name.
33
+     *
34
+     * @var string
35
+     */
36
+    public $crud_class = 'WPInv_Invoice';
37
+
38
+    /**
39
+     * Retrieves the query params for the invoices collection.
40
+     *
41
+     * @since 1.0.13
42
+     *
43
+     * @return array Collection parameters.
44
+     */
45
+    public function get_collection_params() {
46
+
47
+        $params = array_merge(
48
+
49
+            parent::get_collection_params(),
50
+
51
+            array(
52
+
53
+
54
+                'customers' => array(
55
+                    'description'       => __( 'Limit result set to invoices for specific user ids.', 'invoicing' ),
56
+                    'type'              => 'array',
57
+                    'items'             => array(
58
+                        'type'          => 'integer',
59
+                    ),
60
+                    'default'           => array(),
61
+                    'sanitize_callback' => 'wp_parse_id_list',
62
+                ),
63
+
64
+                'exclude_customers'  	=> array(
65
+                    'description' 		=> __( 'Exclude invoices to specific users.', 'invoicing' ),
66
+                    'type'        		=> 'array',
67
+                    'items'       		=> array(
68
+                        'type'          => 'integer',
69
+                    ),
70
+                    'default'     		=> array(),
71
+                    'sanitize_callback' => 'wp_parse_id_list',
72
+                ),
73
+
74
+                'parent'  	            => array(
75
+                    'description'       => __( 'Limit result set to those of particular parent IDs.', 'invoicing' ),
76
+                    'type'              => 'array',
77
+                    'items'             => array(
78
+                        'type'          => 'integer',
79
+                    ),
80
+                    'sanitize_callback' => 'wp_parse_id_list',
81
+                    'default'           => array(),
82
+                ),
83
+
84
+                'parent_exclude'  	    => array(
85
+                    'description'       => __( 'Limit result set to all items except those of a particular parent ID.', 'invoicing' ),
86
+                    'type'              => 'array',
87
+                    'items'             => array(
88
+                        'type'          => 'integer',
89
+                    ),
90
+                    'sanitize_callback' => 'wp_parse_id_list',
91
+                    'default'           => array(),
92
+                ),
93
+
94
+            )
95
+
96
+        );
97
+
98
+        // Filter collection parameters for the invoices controller.
99
+        return apply_filters( 'getpaid_rest_invoices_collection_params', $params, $this );
100
+    }
101
+
102
+    /**
103
+     * Determine the allowed query_vars for a get_items() response and
104
+     * prepare for WP_Query.
105
+     *
106
+     * @param array           $prepared_args Prepared arguments.
107
+     * @param WP_REST_Request $request Request object.
108
+     * @return array          $query_args
109
+     */
110
+    protected function prepare_items_query( $prepared_args = array(), $request = null ) {
111
+
112
+        $query_args = parent::prepare_items_query( $prepared_args );
113
+
114
+        // Retrieve invoices for specific customers.
115
+        if ( ! empty( $request['customers'] ) ) {
116
+            $query_args['author__in'] = $request['customers'];
117
+        }
118
+
119
+        // Skip invoices for specific customers.
120
+        if ( ! empty( $request['exclude_customers'] ) ) {
121
+            $query_args['author__not_in'] = $request['exclude_customers'];
122
+        }
123
+
124
+        return apply_filters( 'getpaid_rest_invoices_prepare_items_query', $query_args, $request, $this );
125
+
126
+    }
127
+
128
+    /**
129
+     * Retrieves a valid list of post statuses.
130
+     *
131
+     * @since 1.0.15
132
+     *
133
+     * @return array A list of registered item statuses.
134
+     */
135
+    public function get_post_statuses() {
136
+        return array_keys( wpinv_get_invoice_statuses( true, false, $this->post_type ) );
137
+    }
138
+
139
+    /**
140
+     * Saves a single invoice.
141
+     *
142
+     * @param WPInv_Invoice $invoice Invoice to save.
143
+     * @return WP_Error|WPInv_Invoice
144
+     */
145
+    protected function save_object( $invoice ) {
146
+        $invoice->recalculate_total();
147
+        return parent::save_object( $invoice );
148
+    }
149 149
 
150 150
 }
Please login to merge, or discard this patch.
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  * @version 1.0.19
6 6
  */
7 7
 
8
-defined( 'ABSPATH' ) || exit;
8
+defined('ABSPATH') || exit;
9 9
 
10 10
 /**
11 11
  * REST API invoices controller class.
@@ -52,7 +52,7 @@  discard block
 block discarded – undo
52 52
 
53 53
 
54 54
 				'customers' => array(
55
-					'description'       => __( 'Limit result set to invoices for specific user ids.', 'invoicing' ),
55
+					'description'       => __('Limit result set to invoices for specific user ids.', 'invoicing'),
56 56
 					'type'              => 'array',
57 57
 					'items'             => array(
58 58
 						'type'          => 'integer',
@@ -62,7 +62,7 @@  discard block
 block discarded – undo
62 62
 				),
63 63
 
64 64
 				'exclude_customers'  	=> array(
65
-					'description' 		=> __( 'Exclude invoices to specific users.', 'invoicing' ),
65
+					'description' 		=> __('Exclude invoices to specific users.', 'invoicing'),
66 66
 					'type'        		=> 'array',
67 67
 					'items'       		=> array(
68 68
 						'type'          => 'integer',
@@ -72,7 +72,7 @@  discard block
 block discarded – undo
72 72
 				),
73 73
 
74 74
 				'parent'  	            => array(
75
-					'description'       => __( 'Limit result set to those of particular parent IDs.', 'invoicing' ),
75
+					'description'       => __('Limit result set to those of particular parent IDs.', 'invoicing'),
76 76
 					'type'              => 'array',
77 77
 					'items'             => array(
78 78
 						'type'          => 'integer',
@@ -82,7 +82,7 @@  discard block
 block discarded – undo
82 82
 				),
83 83
 
84 84
 				'parent_exclude'  	    => array(
85
-					'description'       => __( 'Limit result set to all items except those of a particular parent ID.', 'invoicing' ),
85
+					'description'       => __('Limit result set to all items except those of a particular parent ID.', 'invoicing'),
86 86
 					'type'              => 'array',
87 87
 					'items'             => array(
88 88
 						'type'          => 'integer',
@@ -96,7 +96,7 @@  discard block
 block discarded – undo
96 96
 		);
97 97
 
98 98
 		// Filter collection parameters for the invoices controller.
99
-		return apply_filters( 'getpaid_rest_invoices_collection_params', $params, $this );
99
+		return apply_filters('getpaid_rest_invoices_collection_params', $params, $this);
100 100
 	}
101 101
 
102 102
 	/**
@@ -107,21 +107,21 @@  discard block
 block discarded – undo
107 107
 	 * @param WP_REST_Request $request Request object.
108 108
 	 * @return array          $query_args
109 109
 	 */
110
-	protected function prepare_items_query( $prepared_args = array(), $request = null ) {
110
+	protected function prepare_items_query($prepared_args = array(), $request = null) {
111 111
 
112
-		$query_args = parent::prepare_items_query( $prepared_args );
112
+		$query_args = parent::prepare_items_query($prepared_args);
113 113
 
114 114
 		// Retrieve invoices for specific customers.
115
-		if ( ! empty( $request['customers'] ) ) {
115
+		if (!empty($request['customers'])) {
116 116
 			$query_args['author__in'] = $request['customers'];
117 117
 		}
118 118
 
119 119
 		// Skip invoices for specific customers.
120
-		if ( ! empty( $request['exclude_customers'] ) ) {
120
+		if (!empty($request['exclude_customers'])) {
121 121
 			$query_args['author__not_in'] = $request['exclude_customers'];
122 122
 		}
123 123
 
124
-		return apply_filters( 'getpaid_rest_invoices_prepare_items_query', $query_args, $request, $this );
124
+		return apply_filters('getpaid_rest_invoices_prepare_items_query', $query_args, $request, $this);
125 125
 
126 126
 	}
127 127
 
@@ -133,7 +133,7 @@  discard block
 block discarded – undo
133 133
 	 * @return array A list of registered item statuses.
134 134
 	 */
135 135
 	public function get_post_statuses() {
136
-		return array_keys( wpinv_get_invoice_statuses( true, false, $this->post_type ) );
136
+		return array_keys(wpinv_get_invoice_statuses(true, false, $this->post_type));
137 137
 	}
138 138
 
139 139
 	/**
@@ -142,9 +142,9 @@  discard block
 block discarded – undo
142 142
 	 * @param WPInv_Invoice $invoice Invoice to save.
143 143
 	 * @return WP_Error|WPInv_Invoice
144 144
 	 */
145
-	protected function save_object( $invoice ) {
145
+	protected function save_object($invoice) {
146 146
 		$invoice->recalculate_total();
147
-		return parent::save_object( $invoice );
147
+		return parent::save_object($invoice);
148 148
 	}
149 149
 
150 150
 }
Please login to merge, or discard this patch.
includes/data-stores/class-getpaid-invoice-data-store.php 2 patches
Spacing   +139 added lines, -139 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  discard block
 block discarded – undo
4 4
  * GetPaid_Invoice_Data_Store class file.
5 5
  *
6 6
  */
7
-if ( ! defined( 'ABSPATH' ) ) {
7
+if (!defined('ABSPATH')) {
8 8
 	exit;
9 9
 }
10 10
 
@@ -108,61 +108,61 @@  discard block
 block discarded – undo
108 108
 	 *
109 109
 	 * @param WPInv_Invoice $invoice Invoice object.
110 110
 	 */
111
-	public function create( &$invoice ) {
112
-		$invoice->set_version( WPINV_VERSION );
113
-		$invoice->set_date_created( current_time('mysql') );
111
+	public function create(&$invoice) {
112
+		$invoice->set_version(WPINV_VERSION);
113
+		$invoice->set_date_created(current_time('mysql'));
114 114
 
115 115
 		// Create a new post.
116 116
 		$id = wp_insert_post(
117 117
 			apply_filters(
118 118
 				'getpaid_new_invoice_data',
119 119
 				array(
120
-					'post_date'     => $invoice->get_date_created( 'edit' ),
121
-					'post_type'     => $invoice->get_post_type( 'edit' ),
122
-					'post_status'   => $this->get_post_status( $invoice ),
120
+					'post_date'     => $invoice->get_date_created('edit'),
121
+					'post_type'     => $invoice->get_post_type('edit'),
122
+					'post_status'   => $this->get_post_status($invoice),
123 123
 					'ping_status'   => 'closed',
124
-					'post_author'   => $invoice->get_user_id( 'edit' ),
125
-					'post_title'    => $invoice->get_title( 'edit' ),
126
-					'post_excerpt'  => $invoice->get_description( 'edit' ),
127
-					'post_parent'   => $invoice->get_parent_id( 'edit' ),
124
+					'post_author'   => $invoice->get_user_id('edit'),
125
+					'post_title'    => $invoice->get_title('edit'),
126
+					'post_excerpt'  => $invoice->get_description('edit'),
127
+					'post_parent'   => $invoice->get_parent_id('edit'),
128 128
 				)
129 129
 			),
130 130
 			true
131 131
 		);
132 132
 
133
-		if ( $id && ! is_wp_error( $id ) ) {
133
+		if ($id && !is_wp_error($id)) {
134 134
 
135 135
 			// Update the new id and regenerate a title.
136
-			$invoice->set_id( $id );
136
+			$invoice->set_id($id);
137 137
 
138 138
 			$invoice->maybe_set_number();
139 139
 
140 140
 			wp_update_post(
141 141
 				array(
142 142
 					'ID'         => $invoice->get_id(),
143
-					'post_title' => $invoice->get_number( 'edit' ),
144
-					'post_name'  => $invoice->get_path( 'edit' )
143
+					'post_title' => $invoice->get_number('edit'),
144
+					'post_name'  => $invoice->get_path('edit')
145 145
 				)
146 146
 			);
147 147
 
148 148
 			// Save special fields and items.
149
-			$this->save_special_fields( $invoice );
150
-			$this->save_items( $invoice );
149
+			$this->save_special_fields($invoice);
150
+			$this->save_items($invoice);
151 151
 
152 152
 			// Update meta data.
153
-			$this->update_post_meta( $invoice );
153
+			$this->update_post_meta($invoice);
154 154
 			$invoice->save_meta_data();
155 155
 
156 156
 			// Apply changes.
157 157
 			$invoice->apply_changes();
158
-			$this->clear_caches( $invoice );
158
+			$this->clear_caches($invoice);
159 159
 
160 160
 			// Fires after a new invoice is created.
161
-			do_action( 'getpaid_new_invoice', $invoice );
161
+			do_action('getpaid_new_invoice', $invoice);
162 162
 			return true;
163 163
 		}
164 164
 
165
-		if ( is_wp_error( $id ) ) {
165
+		if (is_wp_error($id)) {
166 166
 			$invoice->last_error = $id->get_error_message();
167 167
 		}
168 168
 
@@ -175,14 +175,14 @@  discard block
 block discarded – undo
175 175
 	 * @param WPInv_Invoice $invoice Invoice object.
176 176
 	 *
177 177
 	 */
178
-	public function read( &$invoice ) {
178
+	public function read(&$invoice) {
179 179
 
180 180
 		$invoice->set_defaults();
181
-		$invoice_object = get_post( $invoice->get_id() );
181
+		$invoice_object = get_post($invoice->get_id());
182 182
 
183
-		if ( ! $invoice->get_id() || ! $invoice_object || ! getpaid_is_invoice_post_type( $invoice_object->post_type ) ) {
184
-			$invoice->last_error = __( 'Invalid invoice.', 'invoicing' );
185
-			$invoice->set_id( 0 );
183
+		if (!$invoice->get_id() || !$invoice_object || !getpaid_is_invoice_post_type($invoice_object->post_type)) {
184
+			$invoice->last_error = __('Invalid invoice.', 'invoicing');
185
+			$invoice->set_id(0);
186 186
 			return false;
187 187
 		}
188 188
 
@@ -200,14 +200,14 @@  discard block
 block discarded – undo
200 200
 			)
201 201
 		);
202 202
 
203
-		$invoice->set_type( $invoice_object->post_type );
203
+		$invoice->set_type($invoice_object->post_type);
204 204
 
205
-		$this->read_object_data( $invoice, $invoice_object );
206
-		$this->add_special_fields( $invoice );
207
-		$this->add_items( $invoice );
205
+		$this->read_object_data($invoice, $invoice_object);
206
+		$this->add_special_fields($invoice);
207
+		$this->add_items($invoice);
208 208
 		$invoice->read_meta_data();
209
-		$invoice->set_object_read( true );
210
-		do_action( 'getpaid_read_invoice', $invoice );
209
+		$invoice->set_object_read(true);
210
+		do_action('getpaid_read_invoice', $invoice);
211 211
 
212 212
 	}
213 213
 
@@ -216,35 +216,35 @@  discard block
 block discarded – undo
216 216
 	 *
217 217
 	 * @param WPInv_Invoice $invoice Invoice object.
218 218
 	 */
219
-	public function update( &$invoice ) {
219
+	public function update(&$invoice) {
220 220
 		$invoice->save_meta_data();
221
-		$invoice->set_version( WPINV_VERSION );
221
+		$invoice->set_version(WPINV_VERSION);
222 222
 
223
-		if ( null === $invoice->get_date_created( 'edit' ) ) {
224
-			$invoice->set_date_created(  current_time('mysql') );
223
+		if (null === $invoice->get_date_created('edit')) {
224
+			$invoice->set_date_created(current_time('mysql'));
225 225
 		}
226 226
 
227 227
 		// Ensure both the key and number are set.
228 228
 		$invoice->get_path();
229 229
 
230 230
 		// Grab the current status so we can compare.
231
-		$previous_status = get_post_status( $invoice->get_id() );
231
+		$previous_status = get_post_status($invoice->get_id());
232 232
 
233 233
 		$changes = $invoice->get_changes();
234 234
 
235 235
 		// Only update the post when the post data changes.
236
-		if ( array_intersect( array( 'date_created', 'date_modified', 'status', 'name', 'author', 'description', 'parent_id', 'post_excerpt', 'path' ), array_keys( $changes ) ) ) {
236
+		if (array_intersect(array('date_created', 'date_modified', 'status', 'name', 'author', 'description', 'parent_id', 'post_excerpt', 'path'), array_keys($changes))) {
237 237
 			$post_data = array(
238
-				'post_date'         => $invoice->get_date_created( 'edit' ),
239
-				'post_date_gmt'     => $invoice->get_date_created_gmt( 'edit' ),
240
-				'post_status'       => $invoice->get_status( 'edit' ),
241
-				'post_title'        => $invoice->get_name( 'edit' ),
242
-				'post_author'       => $invoice->get_user_id( 'edit' ),
243
-				'post_modified'     => $invoice->get_date_modified( 'edit' ),
244
-				'post_excerpt'      => $invoice->get_description( 'edit' ),
245
-				'post_parent'       => $invoice->get_parent_id( 'edit' ),
246
-				'post_name'         => $invoice->get_path( 'edit' ),
247
-				'post_type'         => $invoice->get_post_type( 'edit' ),
238
+				'post_date'         => $invoice->get_date_created('edit'),
239
+				'post_date_gmt'     => $invoice->get_date_created_gmt('edit'),
240
+				'post_status'       => $invoice->get_status('edit'),
241
+				'post_title'        => $invoice->get_name('edit'),
242
+				'post_author'       => $invoice->get_user_id('edit'),
243
+				'post_modified'     => $invoice->get_date_modified('edit'),
244
+				'post_excerpt'      => $invoice->get_description('edit'),
245
+				'post_parent'       => $invoice->get_parent_id('edit'),
246
+				'post_name'         => $invoice->get_path('edit'),
247
+				'post_type'         => $invoice->get_post_type('edit'),
248 248
 			);
249 249
 
250 250
 			/**
@@ -255,35 +255,35 @@  discard block
 block discarded – undo
255 255
 			 * This ensures hooks are fired by either WP itself (admin screen save),
256 256
 			 * or an update purely from CRUD.
257 257
 			 */
258
-			if ( doing_action( 'save_post' ) ) {
259
-				$GLOBALS['wpdb']->update( $GLOBALS['wpdb']->posts, $post_data, array( 'ID' => $invoice->get_id() ) );
260
-				clean_post_cache( $invoice->get_id() );
258
+			if (doing_action('save_post')) {
259
+				$GLOBALS['wpdb']->update($GLOBALS['wpdb']->posts, $post_data, array('ID' => $invoice->get_id()));
260
+				clean_post_cache($invoice->get_id());
261 261
 			} else {
262
-				wp_update_post( array_merge( array( 'ID' => $invoice->get_id() ), $post_data ) );
262
+				wp_update_post(array_merge(array('ID' => $invoice->get_id()), $post_data));
263 263
 			}
264
-			$invoice->read_meta_data( true ); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
264
+			$invoice->read_meta_data(true); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
265 265
 		}
266 266
 
267 267
 		// Update meta data.
268
-		$this->update_post_meta( $invoice );
268
+		$this->update_post_meta($invoice);
269 269
 
270 270
 		// Save special fields and items.
271
-		$this->save_special_fields( $invoice );
272
-		$this->save_items( $invoice );
271
+		$this->save_special_fields($invoice);
272
+		$this->save_items($invoice);
273 273
 
274 274
 		// Apply the changes.
275 275
 		$invoice->apply_changes();
276 276
 
277 277
 		// Clear caches.
278
-		$this->clear_caches( $invoice );
278
+		$this->clear_caches($invoice);
279 279
 
280 280
 		// Fire a hook depending on the status - this should be considered a creation if it was previously draft status.
281
-		$new_status = $invoice->get_status( 'edit' );
281
+		$new_status = $invoice->get_status('edit');
282 282
 
283
-		if ( $new_status !== $previous_status && in_array( $previous_status, array( 'new', 'auto-draft', 'draft' ), true ) ) {
284
-			do_action( 'getpaid_new_invoice', $invoice );
283
+		if ($new_status !== $previous_status && in_array($previous_status, array('new', 'auto-draft', 'draft'), true)) {
284
+			do_action('getpaid_new_invoice', $invoice);
285 285
 		} else {
286
-			do_action( 'getpaid_update_invoice', $invoice );
286
+			do_action('getpaid_update_invoice', $invoice);
287 287
 		}
288 288
 
289 289
 	}
@@ -299,45 +299,45 @@  discard block
 block discarded – undo
299 299
 	 *
300 300
 	 * @param WPInv_Invoice $invoice Invoice object.
301 301
      */
302
-    public function add_special_fields( &$invoice ) {
302
+    public function add_special_fields(&$invoice) {
303 303
 		global $wpdb;
304 304
 
305 305
 		// Maybe retrieve from the cache.
306
-		$data   = wp_cache_get( $invoice->get_id(), 'getpaid_invoice_special_fields' );
306
+		$data = wp_cache_get($invoice->get_id(), 'getpaid_invoice_special_fields');
307 307
 
308 308
 		// If not found, retrieve from the db.
309
-		if ( false === $data ) {
310
-			$table =  $wpdb->prefix . 'getpaid_invoices';
309
+		if (false === $data) {
310
+			$table = $wpdb->prefix . 'getpaid_invoices';
311 311
 
312 312
 			$data  = $wpdb->get_row(
313
-				$wpdb->prepare( "SELECT * FROM $table WHERE `post_id`=%d LIMIT 1", $invoice->get_id() ),
313
+				$wpdb->prepare("SELECT * FROM $table WHERE `post_id`=%d LIMIT 1", $invoice->get_id()),
314 314
 				ARRAY_A
315 315
 			);
316 316
 
317 317
 			// Update the cache with our data
318
-			wp_cache_set( $invoice->get_id(), $data, 'getpaid_invoice_special_fields' );
318
+			wp_cache_set($invoice->get_id(), $data, 'getpaid_invoice_special_fields');
319 319
 
320 320
 		}
321 321
 
322 322
 		// Abort if the data does not exist.
323
-		if ( empty( $data ) ) {
324
-			$invoice->set_object_read( true );
325
-			$invoice->set_props( wpinv_get_user_address( $invoice->get_user_id() ) );
323
+		if (empty($data)) {
324
+			$invoice->set_object_read(true);
325
+			$invoice->set_props(wpinv_get_user_address($invoice->get_user_id()));
326 326
 			return;
327 327
 		}
328 328
 
329 329
 		$props = array();
330 330
 
331
-		foreach ( $this->database_fields_to_props as $db_field => $prop ) {
331
+		foreach ($this->database_fields_to_props as $db_field => $prop) {
332 332
 			
333
-			if ( $db_field == 'post_id' ) {
333
+			if ($db_field == 'post_id') {
334 334
 				continue;
335 335
 			}
336 336
 
337
-			$props[ $prop ] = $data[ $db_field ];
337
+			$props[$prop] = $data[$db_field];
338 338
 		}
339 339
 
340
-		$invoice->set_props( $props );
340
+		$invoice->set_props($props);
341 341
 
342 342
 	}
343 343
 
@@ -348,14 +348,14 @@  discard block
 block discarded – undo
348 348
 	 * @param  WPInv_Invoice $invoice       The Invoice object.
349 349
 	 * @return array                        A mapping of field keys => prop names, filtered by ones that should be updated.
350 350
 	 */
351
-	protected function get_special_fields_to_update( $invoice ) {
351
+	protected function get_special_fields_to_update($invoice) {
352 352
 		$fields_to_update = array();
353
-		$changed_props   = $invoice->get_changes();
353
+		$changed_props = $invoice->get_changes();
354 354
 
355 355
 		// Props should be updated if they are a part of the $changed array or don't exist yet.
356
-		foreach ( $this->database_fields_to_props as $database_field => $prop ) {
357
-			if ( array_key_exists( $prop, $changed_props ) ) {
358
-				$fields_to_update[ $database_field ] = $prop;
356
+		foreach ($this->database_fields_to_props as $database_field => $prop) {
357
+			if (array_key_exists($prop, $changed_props)) {
358
+				$fields_to_update[$database_field] = $prop;
359 359
 			}
360 360
 		}
361 361
 
@@ -368,25 +368,25 @@  discard block
 block discarded – undo
368 368
 	 * @param WPInv_Invoice $invoice WPInv_Invoice object.
369 369
 	 * @since 1.0.19
370 370
 	 */
371
-	protected function update_special_fields( &$invoice ) {
371
+	protected function update_special_fields(&$invoice) {
372 372
 		global $wpdb;
373 373
 
374 374
 		$updated_props    = array();
375
-		$fields_to_update = $this->get_special_fields_to_update( $invoice );
375
+		$fields_to_update = $this->get_special_fields_to_update($invoice);
376 376
 
377
-		foreach ( $fields_to_update as $database_field => $prop ) {
378
-			$value = $invoice->{"get_$prop"}( 'edit' );
379
-			$value = is_string( $value ) ? wp_slash( $value ) : $value;
380
-			$value = is_bool( $value ) ? ( int ) $value : $value;
381
-			$updated_props[ $database_field ] = maybe_serialize( $value );
377
+		foreach ($fields_to_update as $database_field => $prop) {
378
+			$value = $invoice->{"get_$prop"}('edit');
379
+			$value = is_string($value) ? wp_slash($value) : $value;
380
+			$value = is_bool($value) ? (int) $value : $value;
381
+			$updated_props[$database_field] = maybe_serialize($value);
382 382
 		}
383 383
 
384
-		if ( ! empty( $updated_props ) ) {
384
+		if (!empty($updated_props)) {
385 385
 
386 386
 			$table = $wpdb->prefix . 'getpaid_invoices';
387
-			$wpdb->update( $table, $updated_props, array( 'post_id' => $invoice->get_id() ) );
388
-			wp_cache_delete( $invoice->get_id(), 'getpaid_invoice_special_fields' );
389
-			do_action( "getpaid_invoice_update_database_fields", $invoice, $updated_props );
387
+			$wpdb->update($table, $updated_props, array('post_id' => $invoice->get_id()));
388
+			wp_cache_delete($invoice->get_id(), 'getpaid_invoice_special_fields');
389
+			do_action("getpaid_invoice_update_database_fields", $invoice, $updated_props);
390 390
 
391 391
 		}
392 392
 
@@ -398,22 +398,22 @@  discard block
 block discarded – undo
398 398
 	 * @param WPInv_Invoice $invoice WPInv_Invoice object.
399 399
 	 * @since 1.0.19
400 400
 	 */
401
-	protected function insert_special_fields( &$invoice ) {
401
+	protected function insert_special_fields(&$invoice) {
402 402
 		global $wpdb;
403 403
 
404
-		$updated_props   = array();
404
+		$updated_props = array();
405 405
 
406
-		foreach ( $this->database_fields_to_props as $database_field => $prop ) {
407
-			$value = $invoice->{"get_$prop"}( 'edit' );
408
-			$value = is_string( $value ) ? wp_slash( $value ) : $value;
409
-			$value = is_bool( $value ) ? ( int ) $value : $value;
410
-			$updated_props[ $database_field ] = maybe_serialize( $value );
406
+		foreach ($this->database_fields_to_props as $database_field => $prop) {
407
+			$value = $invoice->{"get_$prop"}('edit');
408
+			$value = is_string($value) ? wp_slash($value) : $value;
409
+			$value = is_bool($value) ? (int) $value : $value;
410
+			$updated_props[$database_field] = maybe_serialize($value);
411 411
 		}
412 412
 
413 413
 		$table = $wpdb->prefix . 'getpaid_invoices';
414
-		$wpdb->insert( $table, $updated_props );
415
-		wp_cache_delete( $invoice->get_id(), 'getpaid_invoice_special_fields' );
416
-		do_action( "getpaid_invoice_insert_database_fields", $invoice, $updated_props );
414
+		$wpdb->insert($table, $updated_props);
415
+		wp_cache_delete($invoice->get_id(), 'getpaid_invoice_special_fields');
416
+		do_action("getpaid_invoice_insert_database_fields", $invoice, $updated_props);
417 417
 
418 418
 	}
419 419
 
@@ -422,7 +422,7 @@  discard block
 block discarded – undo
422 422
 	 *
423 423
 	 * @param WPInv_Invoice $invoice Invoice object.
424 424
      */
425
-    public function save_special_fields( & $invoice ) {
425
+    public function save_special_fields(& $invoice) {
426 426
 		global $wpdb;
427 427
 
428 428
 		// The invoices table.
@@ -430,13 +430,13 @@  discard block
 block discarded – undo
430 430
 		$id    = (int) $invoice->get_id();
431 431
 		$invoice->maybe_set_key();
432 432
 
433
-		if ( $wpdb->get_var( "SELECT `post_id` FROM $table WHERE `post_id`= $id" ) ) {
433
+		if ($wpdb->get_var("SELECT `post_id` FROM $table WHERE `post_id`= $id")) {
434 434
 
435
-			$this->update_special_fields( $invoice );
435
+			$this->update_special_fields($invoice);
436 436
 
437 437
 		} else {
438 438
 
439
-			$this->insert_special_fields( $invoice );
439
+			$this->insert_special_fields($invoice);
440 440
 
441 441
 		}
442 442
 
@@ -447,43 +447,43 @@  discard block
 block discarded – undo
447 447
 	 *
448 448
 	 * @param WPInv_Invoice $invoice Invoice object.
449 449
      */
450
-    public function add_items( &$invoice ) {
450
+    public function add_items(&$invoice) {
451 451
 		global $wpdb;
452 452
 
453 453
 		// Maybe retrieve from the cache.
454
-		$items = wp_cache_get( $invoice->get_id(), 'getpaid_invoice_cart_details' );
454
+		$items = wp_cache_get($invoice->get_id(), 'getpaid_invoice_cart_details');
455 455
 
456 456
 		// If not found, retrieve from the db.
457
-		if ( false === $items ) {
458
-			$table =  $wpdb->prefix . 'getpaid_invoice_items';
457
+		if (false === $items) {
458
+			$table = $wpdb->prefix . 'getpaid_invoice_items';
459 459
 
460 460
 			$items = $wpdb->get_results(
461
-				$wpdb->prepare( "SELECT * FROM $table WHERE `post_id`=%d", $invoice->get_id() )
461
+				$wpdb->prepare("SELECT * FROM $table WHERE `post_id`=%d", $invoice->get_id())
462 462
 			);
463 463
 
464 464
 			// Update the cache with our data
465
-			wp_cache_set( $invoice->get_id(), $items, 'getpaid_invoice_cart_details' );
465
+			wp_cache_set($invoice->get_id(), $items, 'getpaid_invoice_cart_details');
466 466
 
467 467
 		}
468 468
 
469 469
 		// Abort if no items found.
470
-        if ( empty( $items ) ) {
470
+        if (empty($items)) {
471 471
             return;
472 472
 		}
473 473
 
474
-		foreach ( $items as $item_data ) {
475
-			$item = new GetPaid_Form_Item( $item_data->item_id );
474
+		foreach ($items as $item_data) {
475
+			$item = new GetPaid_Form_Item($item_data->item_id);
476 476
 
477 477
 			// Set item data.
478
-			$item->item_tax      = wpinv_sanitize_amount( $item_data->tax );
479
-			$item->item_discount = wpinv_sanitize_amount( $item_data->discount );
480
-			$item->set_name( $item_data->item_name );
481
-			$item->set_description( $item_data->item_description );
482
-			$item->set_price( $item_data->item_price );
483
-			$item->set_quantity( $item_data->quantity );
484
-			$item->set_item_meta( $item_data->meta );
485
-
486
-			$invoice->add_item( $item );
478
+			$item->item_tax      = wpinv_sanitize_amount($item_data->tax);
479
+			$item->item_discount = wpinv_sanitize_amount($item_data->discount);
480
+			$item->set_name($item_data->item_name);
481
+			$item->set_description($item_data->item_description);
482
+			$item->set_price($item_data->item_price);
483
+			$item->set_quantity($item_data->quantity);
484
+			$item->set_item_meta($item_data->meta);
485
+
486
+			$invoice->add_item($item);
487 487
 		}
488 488
 
489 489
 	}
@@ -493,20 +493,20 @@  discard block
 block discarded – undo
493 493
 	 *
494 494
 	 * @param WPInv_Invoice $invoice Invoice object.
495 495
      */
496
-    public function save_items( $invoice ) {
496
+    public function save_items($invoice) {
497 497
 
498 498
 		// Delete previously existing items.
499
-		$this->delete_items( $invoice );
499
+		$this->delete_items($invoice);
500 500
 
501
-		$table   =  $GLOBALS['wpdb']->prefix . 'getpaid_invoice_items';
501
+		$table = $GLOBALS['wpdb']->prefix . 'getpaid_invoice_items';
502 502
 
503
-		foreach ( $invoice->get_cart_details() as $item_data ) {
504
-			$item_data = array_map( 'maybe_serialize', $item_data );
505
-			$GLOBALS['wpdb']->insert( $table, $item_data );
503
+		foreach ($invoice->get_cart_details() as $item_data) {
504
+			$item_data = array_map('maybe_serialize', $item_data);
505
+			$GLOBALS['wpdb']->insert($table, $item_data);
506 506
 		}
507 507
 
508
-		wp_cache_delete( $invoice->get_id(), 'getpaid_invoice_cart_details' );
509
-		do_action( "getpaid_invoice_save_items", $invoice );
508
+		wp_cache_delete($invoice->get_id(), 'getpaid_invoice_cart_details');
509
+		do_action("getpaid_invoice_save_items", $invoice);
510 510
 
511 511
 	}
512 512
 
@@ -515,9 +515,9 @@  discard block
 block discarded – undo
515 515
 	 *
516 516
 	 * @param WPInv_Invoice $invoice Invoice object.
517 517
      */
518
-    public function delete_items( $invoice ) {
519
-		$table =  $GLOBALS['wpdb']->prefix . 'getpaid_invoice_items';
520
-		return $GLOBALS['wpdb']->delete( $table, array( 'post_id' => $invoice->get_id() ) );
518
+    public function delete_items($invoice) {
519
+		$table = $GLOBALS['wpdb']->prefix . 'getpaid_invoice_items';
520
+		return $GLOBALS['wpdb']->delete($table, array('post_id' => $invoice->get_id()));
521 521
 	}
522 522
 
523 523
 	/**
@@ -525,9 +525,9 @@  discard block
 block discarded – undo
525 525
 	 *
526 526
 	 * @param WPInv_Invoice $invoice Invoice object.
527 527
      */
528
-    public function delete_special_fields( $invoice ) {
529
-		$table =  $GLOBALS['wpdb']->prefix . 'getpaid_invoices';
530
-		return $GLOBALS['wpdb']->delete( $table, array( 'post_id' => $invoice->get_id() ) );
528
+    public function delete_special_fields($invoice) {
529
+		$table = $GLOBALS['wpdb']->prefix . 'getpaid_invoices';
530
+		return $GLOBALS['wpdb']->delete($table, array('post_id' => $invoice->get_id()));
531 531
 	}
532 532
 	
533 533
 	/**
@@ -538,10 +538,10 @@  discard block
 block discarded – undo
538 538
 	 * @param  WPInv_Invoice $object GetPaid_Data object.
539 539
 	 * @return string
540 540
 	 */
541
-	protected function get_post_status( $object ) {
542
-		$object_status = $object->get_status( 'edit' );
541
+	protected function get_post_status($object) {
542
+		$object_status = $object->get_status('edit');
543 543
 
544
-		if ( ! $object_status ) {
544
+		if (!$object_status) {
545 545
 			$object_status = $object->get_default_status();
546 546
 		}
547 547
 
Please login to merge, or discard this patch.
Indentation   +469 added lines, -469 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@  discard block
 block discarded – undo
5 5
  *
6 6
  */
7 7
 if ( ! defined( 'ABSPATH' ) ) {
8
-	exit;
8
+    exit;
9 9
 }
10 10
 
11 11
 /**
@@ -15,539 +15,539 @@  discard block
 block discarded – undo
15 15
  */
16 16
 class GetPaid_Invoice_Data_Store extends GetPaid_Data_Store_WP {
17 17
 
18
-	/**
19
-	 * Data stored in meta keys, but not considered "meta" for a discount.
20
-	 *
21
-	 * @since 1.0.19
22
-	 * @var array
23
-	 */
24
-	protected $internal_meta_keys = array(
25
-		'_wpinv_subscr_profile_id',
26
-		'_wpinv_subscription_id',
27
-		'_wpinv_taxes',
28
-		'_wpinv_fees',
29
-		'_wpinv_discounts',
30
-		'_wpinv_submission_id',
31
-		'_wpinv_payment_form',
32
-		'_wpinv_is_viewed',
33
-		'_wpinv_phone',
34
-		'wpinv_email_cc',
35
-		'wpinv_template',
36
-		'wpinv_created_via'
37
-	);
38
-
39
-	/**
40
-	 * A map of meta keys to data props.
41
-	 *
42
-	 * @since 1.0.19
43
-	 *
44
-	 * @var array
45
-	 */
46
-	protected $meta_key_to_props = array(
47
-		'_wpinv_subscr_profile_id' => 'remote_subscription_id',
48
-		'_wpinv_subscription_id'   => 'subscription_id',
49
-		'_wpinv_taxes'             => 'taxes',
50
-		'_wpinv_fees'              => 'fees',
51
-		'_wpinv_discounts'         => 'discounts',
52
-		'_wpinv_submission_id'     => 'submission_id',
53
-		'_wpinv_payment_form'      => 'payment_form',
54
-		'_wpinv_is_viewed'         => 'is_viewed',
55
-		'wpinv_email_cc'           => 'email_cc',
56
-		'wpinv_template'           => 'template',
57
-		'wpinv_created_via'        => 'created_via',
58
-		'_wpinv_phone'             => 'phone',
59
-	);
60
-
61
-	/**
62
-	 * A map of database fields to data props.
63
-	 *
64
-	 * @since 1.0.19
65
-	 *
66
-	 * @var array
67
-	 */
68
-	protected $database_fields_to_props = array(
69
-		'post_id'            => 'id',
70
-		'number'             => 'number',
71
-		'currency'           => 'currency',
72
-		'key'                => 'key',
73
-		'type'               => 'type',
74
-		'mode'               => 'mode',
75
-		'user_ip'            => 'user_ip',
76
-		'first_name'         => 'first_name',
77
-		'last_name'          => 'last_name',
78
-		'address'            => 'address',
79
-		'city'               => 'city',
80
-		'state'              => 'state',
81
-		'country'            => 'country',
82
-		'zip'                => 'zip',
83
-		'zip'                => 'zip',
84
-		'adddress_confirmed' => 'address_confirmed',
85
-		'gateway'            => 'gateway',
86
-		'transaction_id'     => 'transaction_id',
87
-		'currency'           => 'currency',
88
-		'subtotal'           => 'subtotal',
89
-		'tax'                => 'total_tax',
90
-		'fees_total'         => 'total_fees',
91
-		'discount'           => 'total_discount',
92
-		'total'              => 'total',
93
-		'discount_code'      => 'discount_code',
94
-		'disable_taxes'      => 'disable_taxes',
95
-		'due_date'           => 'due_date',
96
-		'completed_date'     => 'completed_date',
97
-		'company'            => 'company',
98
-		'vat_number'         => 'vat_number',
99
-		'vat_rate'           => 'vat_rate',
100
-	);
101
-
102
-	/*
18
+    /**
19
+     * Data stored in meta keys, but not considered "meta" for a discount.
20
+     *
21
+     * @since 1.0.19
22
+     * @var array
23
+     */
24
+    protected $internal_meta_keys = array(
25
+        '_wpinv_subscr_profile_id',
26
+        '_wpinv_subscription_id',
27
+        '_wpinv_taxes',
28
+        '_wpinv_fees',
29
+        '_wpinv_discounts',
30
+        '_wpinv_submission_id',
31
+        '_wpinv_payment_form',
32
+        '_wpinv_is_viewed',
33
+        '_wpinv_phone',
34
+        'wpinv_email_cc',
35
+        'wpinv_template',
36
+        'wpinv_created_via'
37
+    );
38
+
39
+    /**
40
+     * A map of meta keys to data props.
41
+     *
42
+     * @since 1.0.19
43
+     *
44
+     * @var array
45
+     */
46
+    protected $meta_key_to_props = array(
47
+        '_wpinv_subscr_profile_id' => 'remote_subscription_id',
48
+        '_wpinv_subscription_id'   => 'subscription_id',
49
+        '_wpinv_taxes'             => 'taxes',
50
+        '_wpinv_fees'              => 'fees',
51
+        '_wpinv_discounts'         => 'discounts',
52
+        '_wpinv_submission_id'     => 'submission_id',
53
+        '_wpinv_payment_form'      => 'payment_form',
54
+        '_wpinv_is_viewed'         => 'is_viewed',
55
+        'wpinv_email_cc'           => 'email_cc',
56
+        'wpinv_template'           => 'template',
57
+        'wpinv_created_via'        => 'created_via',
58
+        '_wpinv_phone'             => 'phone',
59
+    );
60
+
61
+    /**
62
+     * A map of database fields to data props.
63
+     *
64
+     * @since 1.0.19
65
+     *
66
+     * @var array
67
+     */
68
+    protected $database_fields_to_props = array(
69
+        'post_id'            => 'id',
70
+        'number'             => 'number',
71
+        'currency'           => 'currency',
72
+        'key'                => 'key',
73
+        'type'               => 'type',
74
+        'mode'               => 'mode',
75
+        'user_ip'            => 'user_ip',
76
+        'first_name'         => 'first_name',
77
+        'last_name'          => 'last_name',
78
+        'address'            => 'address',
79
+        'city'               => 'city',
80
+        'state'              => 'state',
81
+        'country'            => 'country',
82
+        'zip'                => 'zip',
83
+        'zip'                => 'zip',
84
+        'adddress_confirmed' => 'address_confirmed',
85
+        'gateway'            => 'gateway',
86
+        'transaction_id'     => 'transaction_id',
87
+        'currency'           => 'currency',
88
+        'subtotal'           => 'subtotal',
89
+        'tax'                => 'total_tax',
90
+        'fees_total'         => 'total_fees',
91
+        'discount'           => 'total_discount',
92
+        'total'              => 'total',
93
+        'discount_code'      => 'discount_code',
94
+        'disable_taxes'      => 'disable_taxes',
95
+        'due_date'           => 'due_date',
96
+        'completed_date'     => 'completed_date',
97
+        'company'            => 'company',
98
+        'vat_number'         => 'vat_number',
99
+        'vat_rate'           => 'vat_rate',
100
+    );
101
+
102
+    /*
103 103
 	|--------------------------------------------------------------------------
104 104
 	| CRUD Methods
105 105
 	|--------------------------------------------------------------------------
106 106
 	*/
107 107
 
108
-	/**
109
-	 * Method to create a new invoice in the database.
110
-	 *
111
-	 * @param WPInv_Invoice $invoice Invoice object.
112
-	 */
113
-	public function create( &$invoice ) {
114
-		$invoice->set_version( WPINV_VERSION );
115
-		$invoice->set_date_created( current_time('mysql') );
116
-
117
-		// Create a new post.
118
-		$id = wp_insert_post(
119
-			apply_filters(
120
-				'getpaid_new_invoice_data',
121
-				array(
122
-					'post_date'     => $invoice->get_date_created( 'edit' ),
123
-					'post_type'     => $invoice->get_post_type( 'edit' ),
124
-					'post_status'   => $this->get_post_status( $invoice ),
125
-					'ping_status'   => 'closed',
126
-					'post_author'   => $invoice->get_user_id( 'edit' ),
127
-					'post_title'    => $invoice->get_title( 'edit' ),
128
-					'post_excerpt'  => $invoice->get_description( 'edit' ),
129
-					'post_parent'   => $invoice->get_parent_id( 'edit' ),
130
-				)
131
-			),
132
-			true
133
-		);
134
-
135
-		if ( $id && ! is_wp_error( $id ) ) {
136
-
137
-			// Update the new id and regenerate a title.
138
-			$invoice->set_id( $id );
139
-
140
-			$invoice->maybe_set_number();
141
-
142
-			wp_update_post(
143
-				array(
144
-					'ID'         => $invoice->get_id(),
145
-					'post_title' => $invoice->get_number( 'edit' ),
146
-					'post_name'  => $invoice->get_path( 'edit' )
147
-				)
148
-			);
149
-
150
-			// Save special fields and items.
151
-			$this->save_special_fields( $invoice );
152
-			$this->save_items( $invoice );
153
-
154
-			// Update meta data.
155
-			$this->update_post_meta( $invoice );
156
-			$invoice->save_meta_data();
157
-
158
-			// Apply changes.
159
-			$invoice->apply_changes();
160
-			$this->clear_caches( $invoice );
161
-
162
-			// Fires after a new invoice is created.
163
-			do_action( 'getpaid_new_invoice', $invoice );
164
-			return true;
165
-		}
166
-
167
-		if ( is_wp_error( $id ) ) {
168
-			$invoice->last_error = $id->get_error_message();
169
-		}
170
-
171
-		return false;
172
-	}
173
-
174
-	/**
175
-	 * Method to read an invoice from the database.
176
-	 *
177
-	 * @param WPInv_Invoice $invoice Invoice object.
178
-	 *
179
-	 */
180
-	public function read( &$invoice ) {
181
-
182
-		$invoice->set_defaults();
183
-		$invoice_object = get_post( $invoice->get_id() );
184
-
185
-		if ( ! $invoice->get_id() || ! $invoice_object || ! getpaid_is_invoice_post_type( $invoice_object->post_type ) ) {
186
-			$invoice->last_error = __( 'Invalid invoice.', 'invoicing' );
187
-			$invoice->set_id( 0 );
188
-			return false;
189
-		}
190
-
191
-		$invoice->set_props(
192
-			array(
193
-				'date_created'  => 0 < $invoice_object->post_date ? $invoice_object->post_date : null,
194
-				'date_modified' => 0 < $invoice_object->post_modified ? $invoice_object->post_modified : null,
195
-				'status'        => $invoice_object->post_status,
196
-				'author'        => $invoice_object->post_author,
197
-				'description'   => $invoice_object->post_excerpt,
198
-				'parent_id'     => $invoice_object->post_parent,
199
-				'name'          => $invoice_object->post_title,
200
-				'path'          => $invoice_object->post_name,
201
-				'post_type'     => $invoice_object->post_type,
202
-			)
203
-		);
204
-
205
-		$invoice->set_type( $invoice_object->post_type );
206
-
207
-		$this->read_object_data( $invoice, $invoice_object );
208
-		$this->add_special_fields( $invoice );
209
-		$this->add_items( $invoice );
210
-		$invoice->read_meta_data();
211
-		$invoice->set_object_read( true );
212
-		do_action( 'getpaid_read_invoice', $invoice );
213
-
214
-	}
215
-
216
-	/**
217
-	 * Method to update an invoice in the database.
218
-	 *
219
-	 * @param WPInv_Invoice $invoice Invoice object.
220
-	 */
221
-	public function update( &$invoice ) {
222
-		$invoice->save_meta_data();
223
-		$invoice->set_version( WPINV_VERSION );
224
-
225
-		if ( null === $invoice->get_date_created( 'edit' ) ) {
226
-			$invoice->set_date_created(  current_time('mysql') );
227
-		}
228
-
229
-		// Ensure both the key and number are set.
230
-		$invoice->get_path();
231
-
232
-		// Grab the current status so we can compare.
233
-		$previous_status = get_post_status( $invoice->get_id() );
234
-
235
-		$changes = $invoice->get_changes();
236
-
237
-		// Only update the post when the post data changes.
238
-		if ( array_intersect( array( 'date_created', 'date_modified', 'status', 'name', 'author', 'description', 'parent_id', 'post_excerpt', 'path' ), array_keys( $changes ) ) ) {
239
-			$post_data = array(
240
-				'post_date'         => $invoice->get_date_created( 'edit' ),
241
-				'post_date_gmt'     => $invoice->get_date_created_gmt( 'edit' ),
242
-				'post_status'       => $invoice->get_status( 'edit' ),
243
-				'post_title'        => $invoice->get_name( 'edit' ),
244
-				'post_author'       => $invoice->get_user_id( 'edit' ),
245
-				'post_modified'     => $invoice->get_date_modified( 'edit' ),
246
-				'post_excerpt'      => $invoice->get_description( 'edit' ),
247
-				'post_parent'       => $invoice->get_parent_id( 'edit' ),
248
-				'post_name'         => $invoice->get_path( 'edit' ),
249
-				'post_type'         => $invoice->get_post_type( 'edit' ),
250
-			);
251
-
252
-			/**
253
-			 * When updating this object, to prevent infinite loops, use $wpdb
254
-			 * to update data, since wp_update_post spawns more calls to the
255
-			 * save_post action.
256
-			 *
257
-			 * This ensures hooks are fired by either WP itself (admin screen save),
258
-			 * or an update purely from CRUD.
259
-			 */
260
-			if ( doing_action( 'save_post' ) ) {
261
-				$GLOBALS['wpdb']->update( $GLOBALS['wpdb']->posts, $post_data, array( 'ID' => $invoice->get_id() ) );
262
-				clean_post_cache( $invoice->get_id() );
263
-			} else {
264
-				wp_update_post( array_merge( array( 'ID' => $invoice->get_id() ), $post_data ) );
265
-			}
266
-			$invoice->read_meta_data( true ); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
267
-		}
268
-
269
-		// Update meta data.
270
-		$this->update_post_meta( $invoice );
271
-
272
-		// Save special fields and items.
273
-		$this->save_special_fields( $invoice );
274
-		$this->save_items( $invoice );
275
-
276
-		// Apply the changes.
277
-		$invoice->apply_changes();
278
-
279
-		// Clear caches.
280
-		$this->clear_caches( $invoice );
281
-
282
-		// Fire a hook depending on the status - this should be considered a creation if it was previously draft status.
283
-		$new_status = $invoice->get_status( 'edit' );
284
-
285
-		if ( $new_status !== $previous_status && in_array( $previous_status, array( 'new', 'auto-draft', 'draft' ), true ) ) {
286
-			do_action( 'getpaid_new_invoice', $invoice );
287
-		} else {
288
-			do_action( 'getpaid_update_invoice', $invoice );
289
-		}
290
-
291
-	}
292
-
293
-	/*
108
+    /**
109
+     * Method to create a new invoice in the database.
110
+     *
111
+     * @param WPInv_Invoice $invoice Invoice object.
112
+     */
113
+    public function create( &$invoice ) {
114
+        $invoice->set_version( WPINV_VERSION );
115
+        $invoice->set_date_created( current_time('mysql') );
116
+
117
+        // Create a new post.
118
+        $id = wp_insert_post(
119
+            apply_filters(
120
+                'getpaid_new_invoice_data',
121
+                array(
122
+                    'post_date'     => $invoice->get_date_created( 'edit' ),
123
+                    'post_type'     => $invoice->get_post_type( 'edit' ),
124
+                    'post_status'   => $this->get_post_status( $invoice ),
125
+                    'ping_status'   => 'closed',
126
+                    'post_author'   => $invoice->get_user_id( 'edit' ),
127
+                    'post_title'    => $invoice->get_title( 'edit' ),
128
+                    'post_excerpt'  => $invoice->get_description( 'edit' ),
129
+                    'post_parent'   => $invoice->get_parent_id( 'edit' ),
130
+                )
131
+            ),
132
+            true
133
+        );
134
+
135
+        if ( $id && ! is_wp_error( $id ) ) {
136
+
137
+            // Update the new id and regenerate a title.
138
+            $invoice->set_id( $id );
139
+
140
+            $invoice->maybe_set_number();
141
+
142
+            wp_update_post(
143
+                array(
144
+                    'ID'         => $invoice->get_id(),
145
+                    'post_title' => $invoice->get_number( 'edit' ),
146
+                    'post_name'  => $invoice->get_path( 'edit' )
147
+                )
148
+            );
149
+
150
+            // Save special fields and items.
151
+            $this->save_special_fields( $invoice );
152
+            $this->save_items( $invoice );
153
+
154
+            // Update meta data.
155
+            $this->update_post_meta( $invoice );
156
+            $invoice->save_meta_data();
157
+
158
+            // Apply changes.
159
+            $invoice->apply_changes();
160
+            $this->clear_caches( $invoice );
161
+
162
+            // Fires after a new invoice is created.
163
+            do_action( 'getpaid_new_invoice', $invoice );
164
+            return true;
165
+        }
166
+
167
+        if ( is_wp_error( $id ) ) {
168
+            $invoice->last_error = $id->get_error_message();
169
+        }
170
+
171
+        return false;
172
+    }
173
+
174
+    /**
175
+     * Method to read an invoice from the database.
176
+     *
177
+     * @param WPInv_Invoice $invoice Invoice object.
178
+     *
179
+     */
180
+    public function read( &$invoice ) {
181
+
182
+        $invoice->set_defaults();
183
+        $invoice_object = get_post( $invoice->get_id() );
184
+
185
+        if ( ! $invoice->get_id() || ! $invoice_object || ! getpaid_is_invoice_post_type( $invoice_object->post_type ) ) {
186
+            $invoice->last_error = __( 'Invalid invoice.', 'invoicing' );
187
+            $invoice->set_id( 0 );
188
+            return false;
189
+        }
190
+
191
+        $invoice->set_props(
192
+            array(
193
+                'date_created'  => 0 < $invoice_object->post_date ? $invoice_object->post_date : null,
194
+                'date_modified' => 0 < $invoice_object->post_modified ? $invoice_object->post_modified : null,
195
+                'status'        => $invoice_object->post_status,
196
+                'author'        => $invoice_object->post_author,
197
+                'description'   => $invoice_object->post_excerpt,
198
+                'parent_id'     => $invoice_object->post_parent,
199
+                'name'          => $invoice_object->post_title,
200
+                'path'          => $invoice_object->post_name,
201
+                'post_type'     => $invoice_object->post_type,
202
+            )
203
+        );
204
+
205
+        $invoice->set_type( $invoice_object->post_type );
206
+
207
+        $this->read_object_data( $invoice, $invoice_object );
208
+        $this->add_special_fields( $invoice );
209
+        $this->add_items( $invoice );
210
+        $invoice->read_meta_data();
211
+        $invoice->set_object_read( true );
212
+        do_action( 'getpaid_read_invoice', $invoice );
213
+
214
+    }
215
+
216
+    /**
217
+     * Method to update an invoice in the database.
218
+     *
219
+     * @param WPInv_Invoice $invoice Invoice object.
220
+     */
221
+    public function update( &$invoice ) {
222
+        $invoice->save_meta_data();
223
+        $invoice->set_version( WPINV_VERSION );
224
+
225
+        if ( null === $invoice->get_date_created( 'edit' ) ) {
226
+            $invoice->set_date_created(  current_time('mysql') );
227
+        }
228
+
229
+        // Ensure both the key and number are set.
230
+        $invoice->get_path();
231
+
232
+        // Grab the current status so we can compare.
233
+        $previous_status = get_post_status( $invoice->get_id() );
234
+
235
+        $changes = $invoice->get_changes();
236
+
237
+        // Only update the post when the post data changes.
238
+        if ( array_intersect( array( 'date_created', 'date_modified', 'status', 'name', 'author', 'description', 'parent_id', 'post_excerpt', 'path' ), array_keys( $changes ) ) ) {
239
+            $post_data = array(
240
+                'post_date'         => $invoice->get_date_created( 'edit' ),
241
+                'post_date_gmt'     => $invoice->get_date_created_gmt( 'edit' ),
242
+                'post_status'       => $invoice->get_status( 'edit' ),
243
+                'post_title'        => $invoice->get_name( 'edit' ),
244
+                'post_author'       => $invoice->get_user_id( 'edit' ),
245
+                'post_modified'     => $invoice->get_date_modified( 'edit' ),
246
+                'post_excerpt'      => $invoice->get_description( 'edit' ),
247
+                'post_parent'       => $invoice->get_parent_id( 'edit' ),
248
+                'post_name'         => $invoice->get_path( 'edit' ),
249
+                'post_type'         => $invoice->get_post_type( 'edit' ),
250
+            );
251
+
252
+            /**
253
+             * When updating this object, to prevent infinite loops, use $wpdb
254
+             * to update data, since wp_update_post spawns more calls to the
255
+             * save_post action.
256
+             *
257
+             * This ensures hooks are fired by either WP itself (admin screen save),
258
+             * or an update purely from CRUD.
259
+             */
260
+            if ( doing_action( 'save_post' ) ) {
261
+                $GLOBALS['wpdb']->update( $GLOBALS['wpdb']->posts, $post_data, array( 'ID' => $invoice->get_id() ) );
262
+                clean_post_cache( $invoice->get_id() );
263
+            } else {
264
+                wp_update_post( array_merge( array( 'ID' => $invoice->get_id() ), $post_data ) );
265
+            }
266
+            $invoice->read_meta_data( true ); // Refresh internal meta data, in case things were hooked into `save_post` or another WP hook.
267
+        }
268
+
269
+        // Update meta data.
270
+        $this->update_post_meta( $invoice );
271
+
272
+        // Save special fields and items.
273
+        $this->save_special_fields( $invoice );
274
+        $this->save_items( $invoice );
275
+
276
+        // Apply the changes.
277
+        $invoice->apply_changes();
278
+
279
+        // Clear caches.
280
+        $this->clear_caches( $invoice );
281
+
282
+        // Fire a hook depending on the status - this should be considered a creation if it was previously draft status.
283
+        $new_status = $invoice->get_status( 'edit' );
284
+
285
+        if ( $new_status !== $previous_status && in_array( $previous_status, array( 'new', 'auto-draft', 'draft' ), true ) ) {
286
+            do_action( 'getpaid_new_invoice', $invoice );
287
+        } else {
288
+            do_action( 'getpaid_update_invoice', $invoice );
289
+        }
290
+
291
+    }
292
+
293
+    /*
294 294
 	|--------------------------------------------------------------------------
295 295
 	| Additional Methods
296 296
 	|--------------------------------------------------------------------------
297 297
 	*/
298 298
 
299
-	/**
299
+    /**
300 300
      * Retrieves special fields and adds to the invoice.
301
-	 *
302
-	 * @param WPInv_Invoice $invoice Invoice object.
301
+     *
302
+     * @param WPInv_Invoice $invoice Invoice object.
303 303
      */
304 304
     public function add_special_fields( &$invoice ) {
305
-		global $wpdb;
305
+        global $wpdb;
306 306
 
307
-		// Maybe retrieve from the cache.
308
-		$data   = wp_cache_get( $invoice->get_id(), 'getpaid_invoice_special_fields' );
307
+        // Maybe retrieve from the cache.
308
+        $data   = wp_cache_get( $invoice->get_id(), 'getpaid_invoice_special_fields' );
309 309
 
310
-		// If not found, retrieve from the db.
311
-		if ( false === $data ) {
312
-			$table =  $wpdb->prefix . 'getpaid_invoices';
310
+        // If not found, retrieve from the db.
311
+        if ( false === $data ) {
312
+            $table =  $wpdb->prefix . 'getpaid_invoices';
313 313
 
314
-			$data  = $wpdb->get_row(
315
-				$wpdb->prepare( "SELECT * FROM $table WHERE `post_id`=%d LIMIT 1", $invoice->get_id() ),
316
-				ARRAY_A
317
-			);
314
+            $data  = $wpdb->get_row(
315
+                $wpdb->prepare( "SELECT * FROM $table WHERE `post_id`=%d LIMIT 1", $invoice->get_id() ),
316
+                ARRAY_A
317
+            );
318 318
 
319
-			// Update the cache with our data
320
-			wp_cache_set( $invoice->get_id(), $data, 'getpaid_invoice_special_fields' );
319
+            // Update the cache with our data
320
+            wp_cache_set( $invoice->get_id(), $data, 'getpaid_invoice_special_fields' );
321 321
 
322
-		}
322
+        }
323 323
 
324
-		// Abort if the data does not exist.
325
-		if ( empty( $data ) ) {
326
-			$invoice->set_object_read( true );
327
-			$invoice->set_props( wpinv_get_user_address( $invoice->get_user_id() ) );
328
-			return;
329
-		}
324
+        // Abort if the data does not exist.
325
+        if ( empty( $data ) ) {
326
+            $invoice->set_object_read( true );
327
+            $invoice->set_props( wpinv_get_user_address( $invoice->get_user_id() ) );
328
+            return;
329
+        }
330 330
 
331
-		$props = array();
331
+        $props = array();
332 332
 
333
-		foreach ( $this->database_fields_to_props as $db_field => $prop ) {
333
+        foreach ( $this->database_fields_to_props as $db_field => $prop ) {
334 334
 			
335
-			if ( $db_field == 'post_id' ) {
336
-				continue;
337
-			}
338
-
339
-			$props[ $prop ] = $data[ $db_field ];
340
-		}
341
-
342
-		$invoice->set_props( $props );
343
-
344
-	}
345
-
346
-	/**
347
-	 * Gets a list of special fields that need updated based on change state
348
-	 * or if they are present in the database or not.
349
-	 *
350
-	 * @param  WPInv_Invoice $invoice       The Invoice object.
351
-	 * @return array                        A mapping of field keys => prop names, filtered by ones that should be updated.
352
-	 */
353
-	protected function get_special_fields_to_update( $invoice ) {
354
-		$fields_to_update = array();
355
-		$changed_props   = $invoice->get_changes();
356
-
357
-		// Props should be updated if they are a part of the $changed array or don't exist yet.
358
-		foreach ( $this->database_fields_to_props as $database_field => $prop ) {
359
-			if ( array_key_exists( $prop, $changed_props ) ) {
360
-				$fields_to_update[ $database_field ] = $prop;
361
-			}
362
-		}
363
-
364
-		return $fields_to_update;
365
-	}
366
-
367
-	/**
368
-	 * Helper method that updates all the database fields for an invoice based on it's settings in the WPInv_Invoice class.
369
-	 *
370
-	 * @param WPInv_Invoice $invoice WPInv_Invoice object.
371
-	 * @since 1.0.19
372
-	 */
373
-	protected function update_special_fields( &$invoice ) {
374
-		global $wpdb;
375
-
376
-		$updated_props    = array();
377
-		$fields_to_update = $this->get_special_fields_to_update( $invoice );
378
-
379
-		foreach ( $fields_to_update as $database_field => $prop ) {
380
-			$value = $invoice->{"get_$prop"}( 'edit' );
381
-			$value = is_string( $value ) ? wp_slash( $value ) : $value;
382
-			$value = is_bool( $value ) ? ( int ) $value : $value;
383
-			$updated_props[ $database_field ] = maybe_serialize( $value );
384
-		}
385
-
386
-		if ( ! empty( $updated_props ) ) {
387
-
388
-			$table = $wpdb->prefix . 'getpaid_invoices';
389
-			$wpdb->update( $table, $updated_props, array( 'post_id' => $invoice->get_id() ) );
390
-			wp_cache_delete( $invoice->get_id(), 'getpaid_invoice_special_fields' );
391
-			do_action( "getpaid_invoice_update_database_fields", $invoice, $updated_props );
392
-
393
-		}
394
-
395
-	}
396
-
397
-	/**
398
-	 * Helper method that inserts special fields to the database.
399
-	 *
400
-	 * @param WPInv_Invoice $invoice WPInv_Invoice object.
401
-	 * @since 1.0.19
402
-	 */
403
-	protected function insert_special_fields( &$invoice ) {
404
-		global $wpdb;
405
-
406
-		$updated_props   = array();
407
-
408
-		foreach ( $this->database_fields_to_props as $database_field => $prop ) {
409
-			$value = $invoice->{"get_$prop"}( 'edit' );
410
-			$value = is_string( $value ) ? wp_slash( $value ) : $value;
411
-			$value = is_bool( $value ) ? ( int ) $value : $value;
412
-			$updated_props[ $database_field ] = maybe_serialize( $value );
413
-		}
414
-
415
-		$table = $wpdb->prefix . 'getpaid_invoices';
416
-		$wpdb->insert( $table, $updated_props );
417
-		wp_cache_delete( $invoice->get_id(), 'getpaid_invoice_special_fields' );
418
-		do_action( "getpaid_invoice_insert_database_fields", $invoice, $updated_props );
419
-
420
-	}
421
-
422
-	/**
335
+            if ( $db_field == 'post_id' ) {
336
+                continue;
337
+            }
338
+
339
+            $props[ $prop ] = $data[ $db_field ];
340
+        }
341
+
342
+        $invoice->set_props( $props );
343
+
344
+    }
345
+
346
+    /**
347
+     * Gets a list of special fields that need updated based on change state
348
+     * or if they are present in the database or not.
349
+     *
350
+     * @param  WPInv_Invoice $invoice       The Invoice object.
351
+     * @return array                        A mapping of field keys => prop names, filtered by ones that should be updated.
352
+     */
353
+    protected function get_special_fields_to_update( $invoice ) {
354
+        $fields_to_update = array();
355
+        $changed_props   = $invoice->get_changes();
356
+
357
+        // Props should be updated if they are a part of the $changed array or don't exist yet.
358
+        foreach ( $this->database_fields_to_props as $database_field => $prop ) {
359
+            if ( array_key_exists( $prop, $changed_props ) ) {
360
+                $fields_to_update[ $database_field ] = $prop;
361
+            }
362
+        }
363
+
364
+        return $fields_to_update;
365
+    }
366
+
367
+    /**
368
+     * Helper method that updates all the database fields for an invoice based on it's settings in the WPInv_Invoice class.
369
+     *
370
+     * @param WPInv_Invoice $invoice WPInv_Invoice object.
371
+     * @since 1.0.19
372
+     */
373
+    protected function update_special_fields( &$invoice ) {
374
+        global $wpdb;
375
+
376
+        $updated_props    = array();
377
+        $fields_to_update = $this->get_special_fields_to_update( $invoice );
378
+
379
+        foreach ( $fields_to_update as $database_field => $prop ) {
380
+            $value = $invoice->{"get_$prop"}( 'edit' );
381
+            $value = is_string( $value ) ? wp_slash( $value ) : $value;
382
+            $value = is_bool( $value ) ? ( int ) $value : $value;
383
+            $updated_props[ $database_field ] = maybe_serialize( $value );
384
+        }
385
+
386
+        if ( ! empty( $updated_props ) ) {
387
+
388
+            $table = $wpdb->prefix . 'getpaid_invoices';
389
+            $wpdb->update( $table, $updated_props, array( 'post_id' => $invoice->get_id() ) );
390
+            wp_cache_delete( $invoice->get_id(), 'getpaid_invoice_special_fields' );
391
+            do_action( "getpaid_invoice_update_database_fields", $invoice, $updated_props );
392
+
393
+        }
394
+
395
+    }
396
+
397
+    /**
398
+     * Helper method that inserts special fields to the database.
399
+     *
400
+     * @param WPInv_Invoice $invoice WPInv_Invoice object.
401
+     * @since 1.0.19
402
+     */
403
+    protected function insert_special_fields( &$invoice ) {
404
+        global $wpdb;
405
+
406
+        $updated_props   = array();
407
+
408
+        foreach ( $this->database_fields_to_props as $database_field => $prop ) {
409
+            $value = $invoice->{"get_$prop"}( 'edit' );
410
+            $value = is_string( $value ) ? wp_slash( $value ) : $value;
411
+            $value = is_bool( $value ) ? ( int ) $value : $value;
412
+            $updated_props[ $database_field ] = maybe_serialize( $value );
413
+        }
414
+
415
+        $table = $wpdb->prefix . 'getpaid_invoices';
416
+        $wpdb->insert( $table, $updated_props );
417
+        wp_cache_delete( $invoice->get_id(), 'getpaid_invoice_special_fields' );
418
+        do_action( "getpaid_invoice_insert_database_fields", $invoice, $updated_props );
419
+
420
+    }
421
+
422
+    /**
423 423
      * Saves all special fields.
424
-	 *
425
-	 * @param WPInv_Invoice $invoice Invoice object.
424
+     *
425
+     * @param WPInv_Invoice $invoice Invoice object.
426 426
      */
427 427
     public function save_special_fields( & $invoice ) {
428
-		global $wpdb;
428
+        global $wpdb;
429 429
 
430
-		// The invoices table.
431
-		$table = $wpdb->prefix . 'getpaid_invoices';
432
-		$id    = (int) $invoice->get_id();
433
-		$invoice->maybe_set_key();
430
+        // The invoices table.
431
+        $table = $wpdb->prefix . 'getpaid_invoices';
432
+        $id    = (int) $invoice->get_id();
433
+        $invoice->maybe_set_key();
434 434
 
435
-		if ( $wpdb->get_var( "SELECT `post_id` FROM $table WHERE `post_id`= $id" ) ) {
435
+        if ( $wpdb->get_var( "SELECT `post_id` FROM $table WHERE `post_id`= $id" ) ) {
436 436
 
437
-			$this->update_special_fields( $invoice );
437
+            $this->update_special_fields( $invoice );
438 438
 
439
-		} else {
439
+        } else {
440 440
 
441
-			$this->insert_special_fields( $invoice );
441
+            $this->insert_special_fields( $invoice );
442 442
 
443
-		}
443
+        }
444 444
 
445
-	}
445
+    }
446 446
 
447
-	/**
447
+    /**
448 448
      * Set's up cart details.
449
-	 *
450
-	 * @param WPInv_Invoice $invoice Invoice object.
449
+     *
450
+     * @param WPInv_Invoice $invoice Invoice object.
451 451
      */
452 452
     public function add_items( &$invoice ) {
453
-		global $wpdb;
453
+        global $wpdb;
454 454
 
455
-		// Maybe retrieve from the cache.
456
-		$items = wp_cache_get( $invoice->get_id(), 'getpaid_invoice_cart_details' );
455
+        // Maybe retrieve from the cache.
456
+        $items = wp_cache_get( $invoice->get_id(), 'getpaid_invoice_cart_details' );
457 457
 
458
-		// If not found, retrieve from the db.
459
-		if ( false === $items ) {
460
-			$table =  $wpdb->prefix . 'getpaid_invoice_items';
458
+        // If not found, retrieve from the db.
459
+        if ( false === $items ) {
460
+            $table =  $wpdb->prefix . 'getpaid_invoice_items';
461 461
 
462
-			$items = $wpdb->get_results(
463
-				$wpdb->prepare( "SELECT * FROM $table WHERE `post_id`=%d", $invoice->get_id() )
464
-			);
462
+            $items = $wpdb->get_results(
463
+                $wpdb->prepare( "SELECT * FROM $table WHERE `post_id`=%d", $invoice->get_id() )
464
+            );
465 465
 
466
-			// Update the cache with our data
467
-			wp_cache_set( $invoice->get_id(), $items, 'getpaid_invoice_cart_details' );
466
+            // Update the cache with our data
467
+            wp_cache_set( $invoice->get_id(), $items, 'getpaid_invoice_cart_details' );
468 468
 
469
-		}
469
+        }
470 470
 
471
-		// Abort if no items found.
471
+        // Abort if no items found.
472 472
         if ( empty( $items ) ) {
473 473
             return;
474
-		}
474
+        }
475 475
 
476
-		foreach ( $items as $item_data ) {
477
-			$item = new GetPaid_Form_Item( $item_data->item_id );
476
+        foreach ( $items as $item_data ) {
477
+            $item = new GetPaid_Form_Item( $item_data->item_id );
478 478
 
479
-			// Set item data.
480
-			$item->item_tax      = wpinv_sanitize_amount( $item_data->tax );
481
-			$item->item_discount = wpinv_sanitize_amount( $item_data->discount );
482
-			$item->set_name( $item_data->item_name );
483
-			$item->set_description( $item_data->item_description );
484
-			$item->set_price( $item_data->item_price );
485
-			$item->set_quantity( $item_data->quantity );
486
-			$item->set_item_meta( $item_data->meta );
479
+            // Set item data.
480
+            $item->item_tax      = wpinv_sanitize_amount( $item_data->tax );
481
+            $item->item_discount = wpinv_sanitize_amount( $item_data->discount );
482
+            $item->set_name( $item_data->item_name );
483
+            $item->set_description( $item_data->item_description );
484
+            $item->set_price( $item_data->item_price );
485
+            $item->set_quantity( $item_data->quantity );
486
+            $item->set_item_meta( $item_data->meta );
487 487
 
488
-			$invoice->add_item( $item );
489
-		}
488
+            $invoice->add_item( $item );
489
+        }
490 490
 
491
-	}
491
+    }
492 492
 
493
-	/**
493
+    /**
494 494
      * Saves cart details.
495
-	 *
496
-	 * @param WPInv_Invoice $invoice Invoice object.
495
+     *
496
+     * @param WPInv_Invoice $invoice Invoice object.
497 497
      */
498 498
     public function save_items( $invoice ) {
499 499
 
500
-		// Delete previously existing items.
501
-		$this->delete_items( $invoice );
500
+        // Delete previously existing items.
501
+        $this->delete_items( $invoice );
502 502
 
503
-		$table   =  $GLOBALS['wpdb']->prefix . 'getpaid_invoice_items';
503
+        $table   =  $GLOBALS['wpdb']->prefix . 'getpaid_invoice_items';
504 504
 
505
-		foreach ( $invoice->get_cart_details() as $item_data ) {
506
-			$item_data = array_map( 'maybe_serialize', $item_data );
507
-			$GLOBALS['wpdb']->insert( $table, $item_data );
508
-		}
505
+        foreach ( $invoice->get_cart_details() as $item_data ) {
506
+            $item_data = array_map( 'maybe_serialize', $item_data );
507
+            $GLOBALS['wpdb']->insert( $table, $item_data );
508
+        }
509 509
 
510
-		wp_cache_delete( $invoice->get_id(), 'getpaid_invoice_cart_details' );
511
-		do_action( "getpaid_invoice_save_items", $invoice );
510
+        wp_cache_delete( $invoice->get_id(), 'getpaid_invoice_cart_details' );
511
+        do_action( "getpaid_invoice_save_items", $invoice );
512 512
 
513
-	}
513
+    }
514 514
 
515
-	/**
515
+    /**
516 516
      * Deletes an invoice's cart details from the database.
517
-	 *
518
-	 * @param WPInv_Invoice $invoice Invoice object.
517
+     *
518
+     * @param WPInv_Invoice $invoice Invoice object.
519 519
      */
520 520
     public function delete_items( $invoice ) {
521
-		$table =  $GLOBALS['wpdb']->prefix . 'getpaid_invoice_items';
522
-		return $GLOBALS['wpdb']->delete( $table, array( 'post_id' => $invoice->get_id() ) );
523
-	}
521
+        $table =  $GLOBALS['wpdb']->prefix . 'getpaid_invoice_items';
522
+        return $GLOBALS['wpdb']->delete( $table, array( 'post_id' => $invoice->get_id() ) );
523
+    }
524 524
 
525
-	/**
525
+    /**
526 526
      * Deletes an invoice's special fields from the database.
527
-	 *
528
-	 * @param WPInv_Invoice $invoice Invoice object.
527
+     *
528
+     * @param WPInv_Invoice $invoice Invoice object.
529 529
      */
530 530
     public function delete_special_fields( $invoice ) {
531
-		$table =  $GLOBALS['wpdb']->prefix . 'getpaid_invoices';
532
-		return $GLOBALS['wpdb']->delete( $table, array( 'post_id' => $invoice->get_id() ) );
533
-	}
531
+        $table =  $GLOBALS['wpdb']->prefix . 'getpaid_invoices';
532
+        return $GLOBALS['wpdb']->delete( $table, array( 'post_id' => $invoice->get_id() ) );
533
+    }
534 534
 	
535
-	/**
536
-	 * Get the status to save to the post object.
537
-	 *
538
-	 *
539
-	 * @since 1.0.19
540
-	 * @param  WPInv_Invoice $object GetPaid_Data object.
541
-	 * @return string
542
-	 */
543
-	protected function get_post_status( $object ) {
544
-		$object_status = $object->get_status( 'edit' );
545
-
546
-		if ( ! $object_status ) {
547
-			$object_status = $object->get_default_status();
548
-		}
549
-
550
-		return $object_status;
551
-	}
535
+    /**
536
+     * Get the status to save to the post object.
537
+     *
538
+     *
539
+     * @since 1.0.19
540
+     * @param  WPInv_Invoice $object GetPaid_Data object.
541
+     * @return string
542
+     */
543
+    protected function get_post_status( $object ) {
544
+        $object_status = $object->get_status( 'edit' );
545
+
546
+        if ( ! $object_status ) {
547
+            $object_status = $object->get_default_status();
548
+        }
549
+
550
+        return $object_status;
551
+    }
552 552
 
553 553
 }
Please login to merge, or discard this patch.
includes/wpinv-template-functions.php 3 patches
Indentation   +102 added lines, -102 removed lines patch added patch discarded remove patch
@@ -140,7 +140,7 @@  discard block
 block discarded – undo
140 140
  * @param string $default_path The root path to the default template. Defaults to invoicing/templates
141 141
  */
142 142
 function wpinv_get_template_html( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
143
-	return getpaid_template()->get_template( $template_name, $args, $template_path, $default_path );
143
+    return getpaid_template()->get_template( $template_name, $args, $template_path, $default_path );
144 144
 }
145 145
 
146 146
 /**
@@ -158,7 +158,7 @@  discard block
 block discarded – undo
158 158
  * @return string
159 159
  */
160 160
 function wpinv_get_theme_template_dir_name() {
161
-	return trailingslashit( apply_filters( 'wpinv_templates_dir', 'invoicing' ) );
161
+    return trailingslashit( apply_filters( 'wpinv_templates_dir', 'invoicing' ) );
162 162
 }
163 163
 
164 164
 /**
@@ -175,122 +175,122 @@  discard block
 block discarded – undo
175 175
 }
176 176
 
177 177
 function wpinv_get_template_part( $slug, $name = null, $load = true ) {
178
-	do_action( 'get_template_part_' . $slug, $slug, $name );
178
+    do_action( 'get_template_part_' . $slug, $slug, $name );
179 179
 
180
-	// Setup possible parts
181
-	$templates = array();
182
-	if ( isset( $name ) )
183
-		$templates[] = $slug . '-' . $name . '.php';
184
-	$templates[] = $slug . '.php';
180
+    // Setup possible parts
181
+    $templates = array();
182
+    if ( isset( $name ) )
183
+        $templates[] = $slug . '-' . $name . '.php';
184
+    $templates[] = $slug . '.php';
185 185
 
186
-	// Allow template parts to be filtered
187
-	$templates = apply_filters( 'wpinv_get_template_part', $templates, $slug, $name );
186
+    // Allow template parts to be filtered
187
+    $templates = apply_filters( 'wpinv_get_template_part', $templates, $slug, $name );
188 188
 
189
-	// Return the part that is found
190
-	return wpinv_locate_tmpl( $templates, $load, false );
189
+    // Return the part that is found
190
+    return wpinv_locate_tmpl( $templates, $load, false );
191 191
 }
192 192
 
193 193
 function wpinv_locate_tmpl( $template_names, $load = false, $require_once = true ) {
194
-	// No file found yet
195
-	$located = false;
194
+    // No file found yet
195
+    $located = false;
196 196
 
197
-	// Try to find a template file
198
-	foreach ( (array)$template_names as $template_name ) {
197
+    // Try to find a template file
198
+    foreach ( (array)$template_names as $template_name ) {
199 199
 
200
-		// Continue if template is empty
201
-		if ( empty( $template_name ) )
202
-			continue;
200
+        // Continue if template is empty
201
+        if ( empty( $template_name ) )
202
+            continue;
203 203
 
204
-		// Trim off any slashes from the template name
205
-		$template_name = ltrim( $template_name, '/' );
204
+        // Trim off any slashes from the template name
205
+        $template_name = ltrim( $template_name, '/' );
206 206
 
207
-		// try locating this template file by looping through the template paths
208
-		foreach( wpinv_get_theme_template_paths() as $template_path ) {
207
+        // try locating this template file by looping through the template paths
208
+        foreach( wpinv_get_theme_template_paths() as $template_path ) {
209 209
 
210
-			if( file_exists( $template_path . $template_name ) ) {
211
-				$located = $template_path . $template_name;
212
-				break;
213
-			}
214
-		}
210
+            if( file_exists( $template_path . $template_name ) ) {
211
+                $located = $template_path . $template_name;
212
+                break;
213
+            }
214
+        }
215 215
 
216
-		if( !empty( $located ) ) {
217
-			break;
218
-		}
219
-	}
216
+        if( !empty( $located ) ) {
217
+            break;
218
+        }
219
+    }
220 220
 
221
-	if ( ( true == $load ) && ! empty( $located ) )
222
-		load_template( $located, $require_once );
221
+    if ( ( true == $load ) && ! empty( $located ) )
222
+        load_template( $located, $require_once );
223 223
 
224
-	return $located;
224
+    return $located;
225 225
 }
226 226
 
227 227
 function wpinv_get_theme_template_paths() {
228
-	$template_dir = wpinv_get_theme_template_dir_name();
228
+    $template_dir = wpinv_get_theme_template_dir_name();
229 229
 
230
-	$file_paths = array(
231
-		1 => trailingslashit( get_stylesheet_directory() ) . $template_dir,
232
-		10 => trailingslashit( get_template_directory() ) . $template_dir,
233
-		100 => wpinv_get_templates_dir()
234
-	);
230
+    $file_paths = array(
231
+        1 => trailingslashit( get_stylesheet_directory() ) . $template_dir,
232
+        10 => trailingslashit( get_template_directory() ) . $template_dir,
233
+        100 => wpinv_get_templates_dir()
234
+    );
235 235
 
236
-	$file_paths = apply_filters( 'wpinv_template_paths', $file_paths );
236
+    $file_paths = apply_filters( 'wpinv_template_paths', $file_paths );
237 237
 
238
-	// sort the file paths based on priority
239
-	ksort( $file_paths, SORT_NUMERIC );
238
+    // sort the file paths based on priority
239
+    ksort( $file_paths, SORT_NUMERIC );
240 240
 
241
-	return array_map( 'trailingslashit', $file_paths );
241
+    return array_map( 'trailingslashit', $file_paths );
242 242
 }
243 243
 
244 244
 function wpinv_checkout_meta_tags() {
245 245
 
246
-	$pages   = array();
247
-	$pages[] = wpinv_get_option( 'success_page' );
248
-	$pages[] = wpinv_get_option( 'failure_page' );
249
-	$pages[] = wpinv_get_option( 'invoice_history_page' );
250
-	$pages[] = wpinv_get_option( 'invoice_subscription_page' );
246
+    $pages   = array();
247
+    $pages[] = wpinv_get_option( 'success_page' );
248
+    $pages[] = wpinv_get_option( 'failure_page' );
249
+    $pages[] = wpinv_get_option( 'invoice_history_page' );
250
+    $pages[] = wpinv_get_option( 'invoice_subscription_page' );
251 251
 
252
-	if( !wpinv_is_checkout() && !is_page( $pages ) ) {
253
-		return;
254
-	}
252
+    if( !wpinv_is_checkout() && !is_page( $pages ) ) {
253
+        return;
254
+    }
255 255
 
256
-	echo '<meta name="robots" content="noindex,nofollow" />' . "\n";
256
+    echo '<meta name="robots" content="noindex,nofollow" />' . "\n";
257 257
 }
258 258
 add_action( 'wp_head', 'wpinv_checkout_meta_tags' );
259 259
 
260 260
 function wpinv_add_body_classes( $class ) {
261
-	$classes = (array)$class;
261
+    $classes = (array)$class;
262 262
 
263
-	if( wpinv_is_checkout() ) {
264
-		$classes[] = 'wpinv-checkout';
265
-		$classes[] = 'wpinv-page';
266
-	}
263
+    if( wpinv_is_checkout() ) {
264
+        $classes[] = 'wpinv-checkout';
265
+        $classes[] = 'wpinv-page';
266
+    }
267 267
 
268
-	if( wpinv_is_success_page() ) {
269
-		$classes[] = 'wpinv-success';
270
-		$classes[] = 'wpinv-page';
271
-	}
268
+    if( wpinv_is_success_page() ) {
269
+        $classes[] = 'wpinv-success';
270
+        $classes[] = 'wpinv-page';
271
+    }
272 272
 
273
-	if( wpinv_is_failed_transaction_page() ) {
274
-		$classes[] = 'wpinv-failed-transaction';
275
-		$classes[] = 'wpinv-page';
276
-	}
273
+    if( wpinv_is_failed_transaction_page() ) {
274
+        $classes[] = 'wpinv-failed-transaction';
275
+        $classes[] = 'wpinv-page';
276
+    }
277 277
 
278
-	if( wpinv_is_invoice_history_page() ) {
279
-		$classes[] = 'wpinv-history';
280
-		$classes[] = 'wpinv-page';
281
-	}
278
+    if( wpinv_is_invoice_history_page() ) {
279
+        $classes[] = 'wpinv-history';
280
+        $classes[] = 'wpinv-page';
281
+    }
282 282
 
283
-	if( wpinv_is_subscriptions_history_page() ) {
284
-		$classes[] = 'wpinv-subscription';
285
-		$classes[] = 'wpinv-page';
286
-	}
283
+    if( wpinv_is_subscriptions_history_page() ) {
284
+        $classes[] = 'wpinv-subscription';
285
+        $classes[] = 'wpinv-page';
286
+    }
287 287
 
288
-	if( wpinv_is_test_mode() ) {
289
-		$classes[] = 'wpinv-test-mode';
290
-		$classes[] = 'wpinv-page';
291
-	}
288
+    if( wpinv_is_test_mode() ) {
289
+        $classes[] = 'wpinv-test-mode';
290
+        $classes[] = 'wpinv-page';
291
+    }
292 292
 
293
-	return array_unique( $classes );
293
+    return array_unique( $classes );
294 294
 }
295 295
 add_filter( 'body_class', 'wpinv_add_body_classes' );
296 296
 
@@ -859,21 +859,21 @@  discard block
 block discarded – undo
859 859
 
860 860
     $formatted_address = str_ireplace( array_keys( $replacements ), $replacements, $format );
861 861
     
862
-	// Remove unavailable tags.
862
+    // Remove unavailable tags.
863 863
     $formatted_address = preg_replace( "/\{\{\w+\}\}/", '', $formatted_address );
864 864
 
865 865
     // Clean up white space.
866
-	$formatted_address = preg_replace( '/  +/', ' ', trim( $formatted_address ) );
866
+    $formatted_address = preg_replace( '/  +/', ' ', trim( $formatted_address ) );
867 867
     $formatted_address = preg_replace( '/\n\n+/', "\n", $formatted_address );
868 868
     
869 869
     // Break newlines apart and remove empty lines/trim commas and white space.
870
-	$formatted_address = array_filter( array_map( 'wpinv_trim_formatted_address_line', explode( "\n", $formatted_address ) ) );
870
+    $formatted_address = array_filter( array_map( 'wpinv_trim_formatted_address_line', explode( "\n", $formatted_address ) ) );
871 871
 
872 872
     // Add html breaks.
873
-	$formatted_address = implode( $separator, $formatted_address );
873
+    $formatted_address = implode( $separator, $formatted_address );
874 874
 
875
-	// We're done!
876
-	return $formatted_address;
875
+    // We're done!
876
+    return $formatted_address;
877 877
     
878 878
 }
879 879
 
@@ -1075,7 +1075,7 @@  discard block
 block discarded – undo
1075 1075
 }
1076 1076
 
1077 1077
 function wpinv_empty_cart_message() {
1078
-	return apply_filters( 'wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __( 'Your cart is empty.', 'invoicing' ) . '</span>' );
1078
+    return apply_filters( 'wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __( 'Your cart is empty.', 'invoicing' ) . '</span>' );
1079 1079
 }
1080 1080
 
1081 1081
 /**
@@ -1343,10 +1343,10 @@  discard block
 block discarded – undo
1343 1343
 
1344 1344
     if ( 0 == count( $form->get_items() ) ) {
1345 1345
         echo aui()->alert(
1346
-			array(
1347
-				'type'    => 'warning',
1348
-				'content' => __( 'No published items found', 'invoicing' ),
1349
-			)
1346
+            array(
1347
+                'type'    => 'warning',
1348
+                'content' => __( 'No published items found', 'invoicing' ),
1349
+            )
1350 1350
         );
1351 1351
         return;
1352 1352
     }
@@ -1364,21 +1364,21 @@  discard block
 block discarded – undo
1364 1364
     $invoice = wpinv_get_invoice( $invoice_id );
1365 1365
 
1366 1366
     if ( empty( $invoice ) ) {
1367
-		echo aui()->alert(
1368
-			array(
1369
-				'type'    => 'warning',
1370
-				'content' => __( 'Invoice not found', 'invoicing' ),
1371
-			)
1367
+        echo aui()->alert(
1368
+            array(
1369
+                'type'    => 'warning',
1370
+                'content' => __( 'Invoice not found', 'invoicing' ),
1371
+            )
1372 1372
         );
1373 1373
         return;
1374 1374
     }
1375 1375
 
1376 1376
     if ( $invoice->is_paid() ) {
1377
-		echo aui()->alert(
1378
-			array(
1379
-				'type'    => 'warning',
1380
-				'content' => __( 'Invoice has already been paid', 'invoicing' ),
1381
-			)
1377
+        echo aui()->alert(
1378
+            array(
1379
+                'type'    => 'warning',
1380
+                'content' => __( 'Invoice has already been paid', 'invoicing' ),
1381
+            )
1382 1382
         );
1383 1383
         return;
1384 1384
     }
@@ -1440,7 +1440,7 @@  discard block
 block discarded – undo
1440 1440
         return "<button class='btn btn-primary getpaid-payment-button' type='button' data-form='$form'>$label</button>"; 
1441 1441
     }
1442 1442
 	
1443
-	if ( ! empty( $items ) ) {
1443
+    if ( ! empty( $items ) ) {
1444 1444
         $items  = esc_attr( $items );
1445 1445
         return "<button class='btn btn-primary getpaid-payment-button' type='button' data-item='$items'>$label</button>"; 
1446 1446
     }
Please login to merge, or discard this patch.
Braces   +9 added lines, -6 removed lines patch added patch discarded remove patch
@@ -179,8 +179,9 @@  discard block
 block discarded – undo
179 179
 
180 180
 	// Setup possible parts
181 181
 	$templates = array();
182
-	if ( isset( $name ) )
183
-		$templates[] = $slug . '-' . $name . '.php';
182
+	if ( isset( $name ) ) {
183
+			$templates[] = $slug . '-' . $name . '.php';
184
+	}
184 185
 	$templates[] = $slug . '.php';
185 186
 
186 187
 	// Allow template parts to be filtered
@@ -198,8 +199,9 @@  discard block
 block discarded – undo
198 199
 	foreach ( (array)$template_names as $template_name ) {
199 200
 
200 201
 		// Continue if template is empty
201
-		if ( empty( $template_name ) )
202
-			continue;
202
+		if ( empty( $template_name ) ) {
203
+					continue;
204
+		}
203 205
 
204 206
 		// Trim off any slashes from the template name
205 207
 		$template_name = ltrim( $template_name, '/' );
@@ -218,8 +220,9 @@  discard block
 block discarded – undo
218 220
 		}
219 221
 	}
220 222
 
221
-	if ( ( true == $load ) && ! empty( $located ) )
222
-		load_template( $located, $require_once );
223
+	if ( ( true == $load ) && ! empty( $located ) ) {
224
+			load_template( $located, $require_once );
225
+	}
223 226
 
224 227
 	return $located;
225 228
 }
Please login to merge, or discard this patch.
Spacing   +432 added lines, -432 removed lines patch added patch discarded remove patch
@@ -4,99 +4,99 @@  discard block
 block discarded – undo
4 4
  *
5 5
  */
6 6
 
7
-defined( 'ABSPATH' ) || exit;
7
+defined('ABSPATH') || exit;
8 8
 
9 9
 /**
10 10
  * Displays an invoice.
11 11
  * 
12 12
  * @param WPInv_Invoice $invoice.
13 13
  */
14
-function getpaid_invoice( $invoice ) {
15
-    if ( ! empty( $invoice ) ) {
16
-        wpinv_get_template( 'invoice/invoice.php', compact( 'invoice' ) );
14
+function getpaid_invoice($invoice) {
15
+    if (!empty($invoice)) {
16
+        wpinv_get_template('invoice/invoice.php', compact('invoice'));
17 17
     }
18 18
 }
19
-add_action( 'getpaid_invoice', 'getpaid_invoice', 10 );
19
+add_action('getpaid_invoice', 'getpaid_invoice', 10);
20 20
 
21 21
 /**
22 22
  * Displays the invoice footer.
23 23
  */
24
-function getpaid_invoice_footer( $invoice ) {
25
-    if ( ! empty( $invoice ) ) {
26
-        wpinv_get_template( 'invoice/footer.php', compact( 'invoice' ) );
24
+function getpaid_invoice_footer($invoice) {
25
+    if (!empty($invoice)) {
26
+        wpinv_get_template('invoice/footer.php', compact('invoice'));
27 27
     }
28 28
 }
29
-add_action( 'getpaid_invoice_footer', 'getpaid_invoice_footer', 10 );
29
+add_action('getpaid_invoice_footer', 'getpaid_invoice_footer', 10);
30 30
 
31 31
 /**
32 32
  * Displays the invoice top bar.
33 33
  */
34
-function getpaid_invoice_header( $invoice ) {
35
-    if ( ! empty( $invoice ) ) {
36
-        wpinv_get_template( 'invoice/header.php', compact( 'invoice' ) );
34
+function getpaid_invoice_header($invoice) {
35
+    if (!empty($invoice)) {
36
+        wpinv_get_template('invoice/header.php', compact('invoice'));
37 37
     }
38 38
 }
39
-add_action( 'getpaid_invoice_header', 'getpaid_invoice_header', 10 );
39
+add_action('getpaid_invoice_header', 'getpaid_invoice_header', 10);
40 40
 
41 41
 /**
42 42
  * Displays actions on the left side of the header.
43 43
  */
44
-function getpaid_invoice_header_left_actions( $invoice ) {
45
-    if ( ! empty( $invoice ) ) {
46
-        wpinv_get_template( 'invoice/header-left-actions.php', compact( 'invoice' ) );
44
+function getpaid_invoice_header_left_actions($invoice) {
45
+    if (!empty($invoice)) {
46
+        wpinv_get_template('invoice/header-left-actions.php', compact('invoice'));
47 47
     }
48 48
 }
49
-add_action( 'getpaid_invoice_header_left', 'getpaid_invoice_header_left_actions', 10 );
49
+add_action('getpaid_invoice_header_left', 'getpaid_invoice_header_left_actions', 10);
50 50
 
51 51
 /**
52 52
  * Displays actions on the right side of the invoice top bar.
53 53
  */
54
-function getpaid_invoice_header_right_actions( $invoice ) {
55
-    if ( ! empty( $invoice ) ) {
56
-        wpinv_get_template( 'invoice/header-right-actions.php', compact( 'invoice' ) );
54
+function getpaid_invoice_header_right_actions($invoice) {
55
+    if (!empty($invoice)) {
56
+        wpinv_get_template('invoice/header-right-actions.php', compact('invoice'));
57 57
     }
58 58
 }
59
-add_action( 'getpaid_invoice_header_right', 'getpaid_invoice_header_right_actions', 10 );
59
+add_action('getpaid_invoice_header_right', 'getpaid_invoice_header_right_actions', 10);
60 60
 
61 61
 /**
62 62
  * Displays the invoice title, logo etc.
63 63
  */
64
-function getpaid_invoice_details_top( $invoice ) {
65
-    if ( ! empty( $invoice ) ) {
66
-        wpinv_get_template( 'invoice/details-top.php', compact( 'invoice' ) );
64
+function getpaid_invoice_details_top($invoice) {
65
+    if (!empty($invoice)) {
66
+        wpinv_get_template('invoice/details-top.php', compact('invoice'));
67 67
     }
68 68
 }
69
-add_action( 'getpaid_invoice_details', 'getpaid_invoice_details_top', 10 );
69
+add_action('getpaid_invoice_details', 'getpaid_invoice_details_top', 10);
70 70
 
71 71
 /**
72 72
  * Displays the company logo.
73 73
  */
74
-function getpaid_invoice_logo( $invoice ) {
75
-    if ( ! empty( $invoice ) ) {
76
-        wpinv_get_template( 'invoice/invoice-logo.php', compact( 'invoice' ) );
74
+function getpaid_invoice_logo($invoice) {
75
+    if (!empty($invoice)) {
76
+        wpinv_get_template('invoice/invoice-logo.php', compact('invoice'));
77 77
     }
78 78
 }
79
-add_action( 'getpaid_invoice_details_top_left', 'getpaid_invoice_logo' );
79
+add_action('getpaid_invoice_details_top_left', 'getpaid_invoice_logo');
80 80
 
81 81
 /**
82 82
  * Displays the type of invoice.
83 83
  */
84
-function getpaid_invoice_type( $invoice ) {
85
-    if ( ! empty( $invoice ) ) {
86
-        wpinv_get_template( 'invoice/invoice-type.php', compact( 'invoice' ) );
84
+function getpaid_invoice_type($invoice) {
85
+    if (!empty($invoice)) {
86
+        wpinv_get_template('invoice/invoice-type.php', compact('invoice'));
87 87
     }
88 88
 }
89
-add_action( 'getpaid_invoice_details_top_right', 'getpaid_invoice_type' );
89
+add_action('getpaid_invoice_details_top_right', 'getpaid_invoice_type');
90 90
 
91 91
 /**
92 92
  * Displays the invoice details.
93 93
  */
94
-function getpaid_invoice_details_main( $invoice ) {
95
-    if ( ! empty( $invoice ) ) {
96
-        wpinv_get_template( 'invoice/details.php', compact( 'invoice' ) );
94
+function getpaid_invoice_details_main($invoice) {
95
+    if (!empty($invoice)) {
96
+        wpinv_get_template('invoice/details.php', compact('invoice'));
97 97
     }
98 98
 }
99
-add_action( 'getpaid_invoice_details', 'getpaid_invoice_details_main', 50 );
99
+add_action('getpaid_invoice_details', 'getpaid_invoice_details_main', 50);
100 100
 
101 101
 /**
102 102
  * Returns a path to the templates directory.
@@ -125,8 +125,8 @@  discard block
 block discarded – undo
125 125
  * @param string $template_path The templates directory relative to the theme's root dir. Defaults to 'invoicing'.
126 126
  * @param string $default_path The root path to the default template. Defaults to invoicing/templates
127 127
  */
128
-function wpinv_get_template( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
129
-    getpaid_template()->display_template( $template_name, $args, $template_path, $default_path );
128
+function wpinv_get_template($template_name, $args = array(), $template_path = '', $default_path = '') {
129
+    getpaid_template()->display_template($template_name, $args, $template_path, $default_path);
130 130
 }
131 131
 
132 132
 /**
@@ -139,8 +139,8 @@  discard block
 block discarded – undo
139 139
  * @param string $template_path The templates directory relative to the theme's root dir. Defaults to 'invoicing'.
140 140
  * @param string $default_path The root path to the default template. Defaults to invoicing/templates
141 141
  */
142
-function wpinv_get_template_html( $template_name, $args = array(), $template_path = '', $default_path = '' ) {
143
-	return getpaid_template()->get_template( $template_name, $args, $template_path, $default_path );
142
+function wpinv_get_template_html($template_name, $args = array(), $template_path = '', $default_path = '') {
143
+	return getpaid_template()->get_template($template_name, $args, $template_path, $default_path);
144 144
 }
145 145
 
146 146
 /**
@@ -149,7 +149,7 @@  discard block
 block discarded – undo
149 149
  * @return string
150 150
  */
151 151
 function wpinv_template_path() {
152
-    return apply_filters( 'wpinv_template_path', wpinv_get_theme_template_dir_name() );
152
+    return apply_filters('wpinv_template_path', wpinv_get_theme_template_dir_name());
153 153
 }
154 154
 
155 155
 /**
@@ -158,7 +158,7 @@  discard block
 block discarded – undo
158 158
  * @return string
159 159
  */
160 160
 function wpinv_get_theme_template_dir_name() {
161
-	return trailingslashit( apply_filters( 'wpinv_templates_dir', 'invoicing' ) );
161
+	return trailingslashit(apply_filters('wpinv_templates_dir', 'invoicing'));
162 162
 }
163 163
 
164 164
 /**
@@ -170,56 +170,56 @@  discard block
 block discarded – undo
170 170
  * @param string $template_path The template path relative to the theme's root dir. Defaults to 'invoicing'.
171 171
  * @param string $default_path The root path to the default template. Defaults to invoicing/templates
172 172
  */
173
-function wpinv_locate_template( $template_name, $template_path = '', $default_path = '' ) {
174
-    return getpaid_template()->locate_template( $template_name, $template_path, $default_path );
173
+function wpinv_locate_template($template_name, $template_path = '', $default_path = '') {
174
+    return getpaid_template()->locate_template($template_name, $template_path, $default_path);
175 175
 }
176 176
 
177
-function wpinv_get_template_part( $slug, $name = null, $load = true ) {
178
-	do_action( 'get_template_part_' . $slug, $slug, $name );
177
+function wpinv_get_template_part($slug, $name = null, $load = true) {
178
+	do_action('get_template_part_' . $slug, $slug, $name);
179 179
 
180 180
 	// Setup possible parts
181 181
 	$templates = array();
182
-	if ( isset( $name ) )
182
+	if (isset($name))
183 183
 		$templates[] = $slug . '-' . $name . '.php';
184 184
 	$templates[] = $slug . '.php';
185 185
 
186 186
 	// Allow template parts to be filtered
187
-	$templates = apply_filters( 'wpinv_get_template_part', $templates, $slug, $name );
187
+	$templates = apply_filters('wpinv_get_template_part', $templates, $slug, $name);
188 188
 
189 189
 	// Return the part that is found
190
-	return wpinv_locate_tmpl( $templates, $load, false );
190
+	return wpinv_locate_tmpl($templates, $load, false);
191 191
 }
192 192
 
193
-function wpinv_locate_tmpl( $template_names, $load = false, $require_once = true ) {
193
+function wpinv_locate_tmpl($template_names, $load = false, $require_once = true) {
194 194
 	// No file found yet
195 195
 	$located = false;
196 196
 
197 197
 	// Try to find a template file
198
-	foreach ( (array)$template_names as $template_name ) {
198
+	foreach ((array) $template_names as $template_name) {
199 199
 
200 200
 		// Continue if template is empty
201
-		if ( empty( $template_name ) )
201
+		if (empty($template_name))
202 202
 			continue;
203 203
 
204 204
 		// Trim off any slashes from the template name
205
-		$template_name = ltrim( $template_name, '/' );
205
+		$template_name = ltrim($template_name, '/');
206 206
 
207 207
 		// try locating this template file by looping through the template paths
208
-		foreach( wpinv_get_theme_template_paths() as $template_path ) {
208
+		foreach (wpinv_get_theme_template_paths() as $template_path) {
209 209
 
210
-			if( file_exists( $template_path . $template_name ) ) {
210
+			if (file_exists($template_path . $template_name)) {
211 211
 				$located = $template_path . $template_name;
212 212
 				break;
213 213
 			}
214 214
 		}
215 215
 
216
-		if( !empty( $located ) ) {
216
+		if (!empty($located)) {
217 217
 			break;
218 218
 		}
219 219
 	}
220 220
 
221
-	if ( ( true == $load ) && ! empty( $located ) )
222
-		load_template( $located, $require_once );
221
+	if ((true == $load) && !empty($located))
222
+		load_template($located, $require_once);
223 223
 
224 224
 	return $located;
225 225
 }
@@ -228,127 +228,127 @@  discard block
 block discarded – undo
228 228
 	$template_dir = wpinv_get_theme_template_dir_name();
229 229
 
230 230
 	$file_paths = array(
231
-		1 => trailingslashit( get_stylesheet_directory() ) . $template_dir,
232
-		10 => trailingslashit( get_template_directory() ) . $template_dir,
231
+		1 => trailingslashit(get_stylesheet_directory()) . $template_dir,
232
+		10 => trailingslashit(get_template_directory()) . $template_dir,
233 233
 		100 => wpinv_get_templates_dir()
234 234
 	);
235 235
 
236
-	$file_paths = apply_filters( 'wpinv_template_paths', $file_paths );
236
+	$file_paths = apply_filters('wpinv_template_paths', $file_paths);
237 237
 
238 238
 	// sort the file paths based on priority
239
-	ksort( $file_paths, SORT_NUMERIC );
239
+	ksort($file_paths, SORT_NUMERIC);
240 240
 
241
-	return array_map( 'trailingslashit', $file_paths );
241
+	return array_map('trailingslashit', $file_paths);
242 242
 }
243 243
 
244 244
 function wpinv_checkout_meta_tags() {
245 245
 
246 246
 	$pages   = array();
247
-	$pages[] = wpinv_get_option( 'success_page' );
248
-	$pages[] = wpinv_get_option( 'failure_page' );
249
-	$pages[] = wpinv_get_option( 'invoice_history_page' );
250
-	$pages[] = wpinv_get_option( 'invoice_subscription_page' );
247
+	$pages[] = wpinv_get_option('success_page');
248
+	$pages[] = wpinv_get_option('failure_page');
249
+	$pages[] = wpinv_get_option('invoice_history_page');
250
+	$pages[] = wpinv_get_option('invoice_subscription_page');
251 251
 
252
-	if( !wpinv_is_checkout() && !is_page( $pages ) ) {
252
+	if (!wpinv_is_checkout() && !is_page($pages)) {
253 253
 		return;
254 254
 	}
255 255
 
256 256
 	echo '<meta name="robots" content="noindex,nofollow" />' . "\n";
257 257
 }
258
-add_action( 'wp_head', 'wpinv_checkout_meta_tags' );
258
+add_action('wp_head', 'wpinv_checkout_meta_tags');
259 259
 
260
-function wpinv_add_body_classes( $class ) {
261
-	$classes = (array)$class;
260
+function wpinv_add_body_classes($class) {
261
+	$classes = (array) $class;
262 262
 
263
-	if( wpinv_is_checkout() ) {
263
+	if (wpinv_is_checkout()) {
264 264
 		$classes[] = 'wpinv-checkout';
265 265
 		$classes[] = 'wpinv-page';
266 266
 	}
267 267
 
268
-	if( wpinv_is_success_page() ) {
268
+	if (wpinv_is_success_page()) {
269 269
 		$classes[] = 'wpinv-success';
270 270
 		$classes[] = 'wpinv-page';
271 271
 	}
272 272
 
273
-	if( wpinv_is_failed_transaction_page() ) {
273
+	if (wpinv_is_failed_transaction_page()) {
274 274
 		$classes[] = 'wpinv-failed-transaction';
275 275
 		$classes[] = 'wpinv-page';
276 276
 	}
277 277
 
278
-	if( wpinv_is_invoice_history_page() ) {
278
+	if (wpinv_is_invoice_history_page()) {
279 279
 		$classes[] = 'wpinv-history';
280 280
 		$classes[] = 'wpinv-page';
281 281
 	}
282 282
 
283
-	if( wpinv_is_subscriptions_history_page() ) {
283
+	if (wpinv_is_subscriptions_history_page()) {
284 284
 		$classes[] = 'wpinv-subscription';
285 285
 		$classes[] = 'wpinv-page';
286 286
 	}
287 287
 
288
-	if( wpinv_is_test_mode() ) {
288
+	if (wpinv_is_test_mode()) {
289 289
 		$classes[] = 'wpinv-test-mode';
290 290
 		$classes[] = 'wpinv-page';
291 291
 	}
292 292
 
293
-	return array_unique( $classes );
293
+	return array_unique($classes);
294 294
 }
295
-add_filter( 'body_class', 'wpinv_add_body_classes' );
295
+add_filter('body_class', 'wpinv_add_body_classes');
296 296
 
297
-function wpinv_html_year_dropdown( $name = 'year', $selected = 0, $years_before = 5, $years_after = 0 ) {
298
-    $current     = date( 'Y' );
299
-    $start_year  = $current - absint( $years_before );
300
-    $end_year    = $current + absint( $years_after );
301
-    $selected    = empty( $selected ) ? date( 'Y' ) : $selected;
297
+function wpinv_html_year_dropdown($name = 'year', $selected = 0, $years_before = 5, $years_after = 0) {
298
+    $current     = date('Y');
299
+    $start_year  = $current - absint($years_before);
300
+    $end_year    = $current + absint($years_after);
301
+    $selected    = empty($selected) ? date('Y') : $selected;
302 302
     $options     = array();
303 303
 
304
-    while ( $start_year <= $end_year ) {
305
-        $options[ absint( $start_year ) ] = $start_year;
304
+    while ($start_year <= $end_year) {
305
+        $options[absint($start_year)] = $start_year;
306 306
         $start_year++;
307 307
     }
308 308
 
309
-    $output = wpinv_html_select( array(
309
+    $output = wpinv_html_select(array(
310 310
         'name'             => $name,
311 311
         'selected'         => $selected,
312 312
         'options'          => $options,
313 313
         'show_option_all'  => false,
314 314
         'show_option_none' => false
315
-    ) );
315
+    ));
316 316
 
317 317
     return $output;
318 318
 }
319 319
 
320
-function wpinv_html_month_dropdown( $name = 'month', $selected = 0 ) {
320
+function wpinv_html_month_dropdown($name = 'month', $selected = 0) {
321 321
 
322 322
     $options = array(
323
-        '1'  => __( 'January', 'invoicing' ),
324
-        '2'  => __( 'February', 'invoicing' ),
325
-        '3'  => __( 'March', 'invoicing' ),
326
-        '4'  => __( 'April', 'invoicing' ),
327
-        '5'  => __( 'May', 'invoicing' ),
328
-        '6'  => __( 'June', 'invoicing' ),
329
-        '7'  => __( 'July', 'invoicing' ),
330
-        '8'  => __( 'August', 'invoicing' ),
331
-        '9'  => __( 'September', 'invoicing' ),
332
-        '10' => __( 'October', 'invoicing' ),
333
-        '11' => __( 'November', 'invoicing' ),
334
-        '12' => __( 'December', 'invoicing' ),
323
+        '1'  => __('January', 'invoicing'),
324
+        '2'  => __('February', 'invoicing'),
325
+        '3'  => __('March', 'invoicing'),
326
+        '4'  => __('April', 'invoicing'),
327
+        '5'  => __('May', 'invoicing'),
328
+        '6'  => __('June', 'invoicing'),
329
+        '7'  => __('July', 'invoicing'),
330
+        '8'  => __('August', 'invoicing'),
331
+        '9'  => __('September', 'invoicing'),
332
+        '10' => __('October', 'invoicing'),
333
+        '11' => __('November', 'invoicing'),
334
+        '12' => __('December', 'invoicing'),
335 335
     );
336 336
 
337 337
     // If no month is selected, default to the current month
338
-    $selected = empty( $selected ) ? date( 'n' ) : $selected;
338
+    $selected = empty($selected) ? date('n') : $selected;
339 339
 
340
-    $output = wpinv_html_select( array(
340
+    $output = wpinv_html_select(array(
341 341
         'name'             => $name,
342 342
         'selected'         => $selected,
343 343
         'options'          => $options,
344 344
         'show_option_all'  => false,
345 345
         'show_option_none' => false
346
-    ) );
346
+    ));
347 347
 
348 348
     return $output;
349 349
 }
350 350
 
351
-function wpinv_html_select( $args = array() ) {
351
+function wpinv_html_select($args = array()) {
352 352
     $defaults = array(
353 353
         'options'          => array(),
354 354
         'name'             => null,
@@ -357,8 +357,8 @@  discard block
 block discarded – undo
357 357
         'selected'         => 0,
358 358
         'placeholder'      => null,
359 359
         'multiple'         => false,
360
-        'show_option_all'  => _x( 'All', 'all dropdown items', 'invoicing' ),
361
-        'show_option_none' => _x( 'None', 'no dropdown items', 'invoicing' ),
360
+        'show_option_all'  => _x('All', 'all dropdown items', 'invoicing'),
361
+        'show_option_none' => _x('None', 'no dropdown items', 'invoicing'),
362 362
         'data'             => array(),
363 363
         'onchange'         => null,
364 364
         'required'         => false,
@@ -366,74 +366,74 @@  discard block
 block discarded – undo
366 366
         'readonly'         => false,
367 367
     );
368 368
 
369
-    $args = wp_parse_args( $args, $defaults );
369
+    $args = wp_parse_args($args, $defaults);
370 370
 
371 371
     $data_elements = '';
372
-    foreach ( $args['data'] as $key => $value ) {
373
-        $data_elements .= ' data-' . esc_attr( $key ) . '="' . esc_attr( $value ) . '"';
372
+    foreach ($args['data'] as $key => $value) {
373
+        $data_elements .= ' data-' . esc_attr($key) . '="' . esc_attr($value) . '"';
374 374
     }
375 375
 
376
-    if( $args['multiple'] ) {
376
+    if ($args['multiple']) {
377 377
         $multiple = ' MULTIPLE';
378 378
     } else {
379 379
         $multiple = '';
380 380
     }
381 381
 
382
-    if( $args['placeholder'] ) {
382
+    if ($args['placeholder']) {
383 383
         $placeholder = $args['placeholder'];
384 384
     } else {
385 385
         $placeholder = '';
386 386
     }
387 387
     
388 388
     $options = '';
389
-    if( !empty( $args['onchange'] ) ) {
390
-        $options .= ' onchange="' . esc_attr( $args['onchange'] ) . '"';
389
+    if (!empty($args['onchange'])) {
390
+        $options .= ' onchange="' . esc_attr($args['onchange']) . '"';
391 391
     }
392 392
     
393
-    if( !empty( $args['required'] ) ) {
393
+    if (!empty($args['required'])) {
394 394
         $options .= ' required="required"';
395 395
     }
396 396
     
397
-    if( !empty( $args['disabled'] ) ) {
397
+    if (!empty($args['disabled'])) {
398 398
         $options .= ' disabled';
399 399
     }
400 400
     
401
-    if( !empty( $args['readonly'] ) ) {
401
+    if (!empty($args['readonly'])) {
402 402
         $options .= ' readonly';
403 403
     }
404 404
 
405
-    $class  = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
406
-    $output = '<select name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['id'] ) . '" class="wpinv-select ' . $class . '"' . $multiple . ' data-placeholder="' . $placeholder . '" ' . trim( $options ) . $data_elements . '>';
405
+    $class  = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class'])));
406
+    $output = '<select name="' . esc_attr($args['name']) . '" id="' . esc_attr($args['id']) . '" class="wpinv-select ' . $class . '"' . $multiple . ' data-placeholder="' . $placeholder . '" ' . trim($options) . $data_elements . '>';
407 407
 
408
-    if ( $args['show_option_all'] ) {
409
-        if( $args['multiple'] ) {
410
-            $selected = selected( true, in_array( 0, $args['selected'] ), false );
408
+    if ($args['show_option_all']) {
409
+        if ($args['multiple']) {
410
+            $selected = selected(true, in_array(0, $args['selected']), false);
411 411
         } else {
412
-            $selected = selected( $args['selected'], 0, false );
412
+            $selected = selected($args['selected'], 0, false);
413 413
         }
414
-        $output .= '<option value="all"' . $selected . '>' . esc_html( $args['show_option_all'] ) . '</option>';
414
+        $output .= '<option value="all"' . $selected . '>' . esc_html($args['show_option_all']) . '</option>';
415 415
     }
416 416
 
417
-    if ( !empty( $args['options'] ) ) {
417
+    if (!empty($args['options'])) {
418 418
 
419
-        if ( $args['show_option_none'] ) {
420
-            if( $args['multiple'] ) {
421
-                $selected = selected( true, in_array( "", $args['selected'] ), false );
419
+        if ($args['show_option_none']) {
420
+            if ($args['multiple']) {
421
+                $selected = selected(true, in_array("", $args['selected']), false);
422 422
             } else {
423
-                $selected = selected( $args['selected'] === "", true, false );
423
+                $selected = selected($args['selected'] === "", true, false);
424 424
             }
425
-            $output .= '<option value=""' . $selected . '>' . esc_html( $args['show_option_none'] ) . '</option>';
425
+            $output .= '<option value=""' . $selected . '>' . esc_html($args['show_option_none']) . '</option>';
426 426
         }
427 427
 
428
-        foreach( $args['options'] as $key => $option ) {
428
+        foreach ($args['options'] as $key => $option) {
429 429
 
430
-            if( $args['multiple'] && is_array( $args['selected'] ) ) {
431
-                $selected = selected( true, (bool)in_array( $key, $args['selected'] ), false );
430
+            if ($args['multiple'] && is_array($args['selected'])) {
431
+                $selected = selected(true, (bool) in_array($key, $args['selected']), false);
432 432
             } else {
433
-                $selected = selected( $args['selected'], $key, false );
433
+                $selected = selected($args['selected'], $key, false);
434 434
             }
435 435
 
436
-            $output .= '<option value="' . esc_attr( $key ) . '"' . $selected . '>' . esc_html( $option ) . '</option>';
436
+            $output .= '<option value="' . esc_attr($key) . '"' . $selected . '>' . esc_html($option) . '</option>';
437 437
         }
438 438
     }
439 439
 
@@ -442,7 +442,7 @@  discard block
 block discarded – undo
442 442
     return $output;
443 443
 }
444 444
 
445
-function wpinv_item_dropdown( $args = array() ) {
445
+function wpinv_item_dropdown($args = array()) {
446 446
     $defaults = array(
447 447
         'name'              => 'wpi_item',
448 448
         'id'                => 'wpi_item',
@@ -450,14 +450,14 @@  discard block
 block discarded – undo
450 450
         'multiple'          => false,
451 451
         'selected'          => 0,
452 452
         'number'            => 100,
453
-        'placeholder'       => __( 'Choose a item', 'invoicing' ),
454
-        'data'              => array( 'search-type' => 'item' ),
453
+        'placeholder'       => __('Choose a item', 'invoicing'),
454
+        'data'              => array('search-type' => 'item'),
455 455
         'show_option_all'   => false,
456 456
         'show_option_none'  => false,
457 457
         'show_recurring'    => false,
458 458
     );
459 459
 
460
-    $args = wp_parse_args( $args, $defaults );
460
+    $args = wp_parse_args($args, $defaults);
461 461
 
462 462
     $item_args = array(
463 463
         'post_type'      => 'wpi_item',
@@ -466,44 +466,44 @@  discard block
 block discarded – undo
466 466
         'posts_per_page' => $args['number']
467 467
     );
468 468
 
469
-    $item_args  = apply_filters( 'wpinv_item_dropdown_query_args', $item_args, $args, $defaults );
469
+    $item_args  = apply_filters('wpinv_item_dropdown_query_args', $item_args, $args, $defaults);
470 470
 
471
-    $items      = get_posts( $item_args );
471
+    $items      = get_posts($item_args);
472 472
     $options    = array();
473
-    if ( $items ) {
474
-        foreach ( $items as $item ) {
475
-            $title = esc_html( $item->post_title );
473
+    if ($items) {
474
+        foreach ($items as $item) {
475
+            $title = esc_html($item->post_title);
476 476
             
477
-            if ( !empty( $args['show_recurring'] ) ) {
478
-                $title .= wpinv_get_item_suffix( $item->ID, false );
477
+            if (!empty($args['show_recurring'])) {
478
+                $title .= wpinv_get_item_suffix($item->ID, false);
479 479
             }
480 480
             
481
-            $options[ absint( $item->ID ) ] = $title;
481
+            $options[absint($item->ID)] = $title;
482 482
         }
483 483
     }
484 484
 
485 485
     // This ensures that any selected items are included in the drop down
486
-    if( is_array( $args['selected'] ) ) {
487
-        foreach( $args['selected'] as $item ) {
488
-            if( ! in_array( $item, $options ) ) {
489
-                $title = get_the_title( $item );
490
-                if ( !empty( $args['show_recurring'] ) ) {
491
-                    $title .= wpinv_get_item_suffix( $item, false );
486
+    if (is_array($args['selected'])) {
487
+        foreach ($args['selected'] as $item) {
488
+            if (!in_array($item, $options)) {
489
+                $title = get_the_title($item);
490
+                if (!empty($args['show_recurring'])) {
491
+                    $title .= wpinv_get_item_suffix($item, false);
492 492
                 }
493 493
                 $options[$item] = $title;
494 494
             }
495 495
         }
496
-    } elseif ( is_numeric( $args['selected'] ) && $args['selected'] !== 0 ) {
497
-        if ( ! in_array( $args['selected'], $options ) ) {
498
-            $title = get_the_title( $args['selected'] );
499
-            if ( !empty( $args['show_recurring'] ) ) {
500
-                $title .= wpinv_get_item_suffix( $args['selected'], false );
496
+    } elseif (is_numeric($args['selected']) && $args['selected'] !== 0) {
497
+        if (!in_array($args['selected'], $options)) {
498
+            $title = get_the_title($args['selected']);
499
+            if (!empty($args['show_recurring'])) {
500
+                $title .= wpinv_get_item_suffix($args['selected'], false);
501 501
             }
502
-            $options[$args['selected']] = get_the_title( $args['selected'] );
502
+            $options[$args['selected']] = get_the_title($args['selected']);
503 503
         }
504 504
     }
505 505
 
506
-    $output = wpinv_html_select( array(
506
+    $output = wpinv_html_select(array(
507 507
         'name'             => $args['name'],
508 508
         'selected'         => $args['selected'],
509 509
         'id'               => $args['id'],
@@ -514,7 +514,7 @@  discard block
 block discarded – undo
514 514
         'show_option_all'  => $args['show_option_all'],
515 515
         'show_option_none' => $args['show_option_none'],
516 516
         'data'             => $args['data'],
517
-    ) );
517
+    ));
518 518
 
519 519
     return $output;
520 520
 }
@@ -534,16 +534,16 @@  discard block
 block discarded – undo
534 534
     );
535 535
 
536 536
     $options = array();
537
-    if ( $items ) {
538
-        foreach ( $items as $item ) {
539
-            $options[ $item->ID ] = esc_html( $item->post_title ) . wpinv_get_item_suffix( $item->ID, false );
537
+    if ($items) {
538
+        foreach ($items as $item) {
539
+            $options[$item->ID] = esc_html($item->post_title) . wpinv_get_item_suffix($item->ID, false);
540 540
         }
541 541
     }
542 542
 
543 543
     return $options;
544 544
 }
545 545
 
546
-function wpinv_html_checkbox( $args = array() ) {
546
+function wpinv_html_checkbox($args = array()) {
547 547
     $defaults = array(
548 548
         'name'     => null,
549 549
         'current'  => null,
@@ -554,17 +554,17 @@  discard block
 block discarded – undo
554 554
         )
555 555
     );
556 556
 
557
-    $args = wp_parse_args( $args, $defaults );
557
+    $args = wp_parse_args($args, $defaults);
558 558
 
559
-    $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
559
+    $class = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class'])));
560 560
     $options = '';
561
-    if ( ! empty( $args['options']['disabled'] ) ) {
561
+    if (!empty($args['options']['disabled'])) {
562 562
         $options .= ' disabled="disabled"';
563
-    } elseif ( ! empty( $args['options']['readonly'] ) ) {
563
+    } elseif (!empty($args['options']['readonly'])) {
564 564
         $options .= ' readonly';
565 565
     }
566 566
 
567
-    $output = '<input type="checkbox"' . $options . ' name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['name'] ) . '" class="' . $class . ' ' . esc_attr( $args['name'] ) . '" ' . checked( 1, $args['current'], false ) . ' />';
567
+    $output = '<input type="checkbox"' . $options . ' name="' . esc_attr($args['name']) . '" id="' . esc_attr($args['name']) . '" class="' . $class . ' ' . esc_attr($args['name']) . '" ' . checked(1, $args['current'], false) . ' />';
568 568
 
569 569
     return $output;
570 570
 }
@@ -572,9 +572,9 @@  discard block
 block discarded – undo
572 572
 /**
573 573
  * Displays a hidden field.
574 574
  */
575
-function getpaid_hidden_field( $name, $value ) {
576
-    $name  = sanitize_text_field( $name );
577
-    $value = esc_attr( $value );
575
+function getpaid_hidden_field($name, $value) {
576
+    $name  = sanitize_text_field($name);
577
+    $value = esc_attr($value);
578 578
 
579 579
     echo "<input type='hidden' name='$name' value='$value' />";
580 580
 }
@@ -582,31 +582,31 @@  discard block
 block discarded – undo
582 582
 /**
583 583
  * Displays a submit field.
584 584
  */
585
-function getpaid_submit_field( $value, $name = 'submit', $class = 'btn-primary' ) {
586
-    $name  = sanitize_text_field( $name );
587
-    $value = esc_attr( $value );
588
-    $class = esc_attr( $class );
585
+function getpaid_submit_field($value, $name = 'submit', $class = 'btn-primary') {
586
+    $name  = sanitize_text_field($name);
587
+    $value = esc_attr($value);
588
+    $class = esc_attr($class);
589 589
 
590 590
     echo "<input type='submit' name='$name' value='$value' class='btn $class' />";
591 591
 }
592 592
 
593
-function wpinv_html_text( $args = array() ) {
593
+function wpinv_html_text($args = array()) {
594 594
     // Backwards compatibility
595
-    if ( func_num_args() > 1 ) {
595
+    if (func_num_args() > 1) {
596 596
         $args = func_get_args();
597 597
 
598 598
         $name  = $args[0];
599
-        $value = isset( $args[1] ) ? $args[1] : '';
600
-        $label = isset( $args[2] ) ? $args[2] : '';
601
-        $desc  = isset( $args[3] ) ? $args[3] : '';
599
+        $value = isset($args[1]) ? $args[1] : '';
600
+        $label = isset($args[2]) ? $args[2] : '';
601
+        $desc  = isset($args[3]) ? $args[3] : '';
602 602
     }
603 603
 
604 604
     $defaults = array(
605 605
         'id'           => '',
606
-        'name'         => isset( $name )  ? $name  : 'text',
607
-        'value'        => isset( $value ) ? $value : null,
608
-        'label'        => isset( $label ) ? $label : null,
609
-        'desc'         => isset( $desc )  ? $desc  : null,
606
+        'name'         => isset($name) ? $name : 'text',
607
+        'value'        => isset($value) ? $value : null,
608
+        'label'        => isset($label) ? $label : null,
609
+        'desc'         => isset($desc) ? $desc : null,
610 610
         'placeholder'  => '',
611 611
         'class'        => 'regular-text',
612 612
         'disabled'     => false,
@@ -616,41 +616,41 @@  discard block
 block discarded – undo
616 616
         'data'         => false
617 617
     );
618 618
 
619
-    $args = wp_parse_args( $args, $defaults );
619
+    $args = wp_parse_args($args, $defaults);
620 620
 
621
-    $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
621
+    $class = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class'])));
622 622
     $options = '';
623
-    if( $args['required'] ) {
623
+    if ($args['required']) {
624 624
         $options .= ' required="required"';
625 625
     }
626
-    if( $args['readonly'] ) {
626
+    if ($args['readonly']) {
627 627
         $options .= ' readonly';
628 628
     }
629
-    if( $args['readonly'] ) {
629
+    if ($args['readonly']) {
630 630
         $options .= ' readonly';
631 631
     }
632 632
 
633 633
     $data = '';
634
-    if ( !empty( $args['data'] ) ) {
635
-        foreach ( $args['data'] as $key => $value ) {
636
-            $data .= 'data-' . wpinv_sanitize_key( $key ) . '="' . esc_attr( $value ) . '" ';
634
+    if (!empty($args['data'])) {
635
+        foreach ($args['data'] as $key => $value) {
636
+            $data .= 'data-' . wpinv_sanitize_key($key) . '="' . esc_attr($value) . '" ';
637 637
         }
638 638
     }
639 639
 
640
-    $output = '<span id="wpinv-' . wpinv_sanitize_key( $args['name'] ) . '-wrap">';
641
-    $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key( $args['id'] ) . '">' . esc_html( $args['label'] ) . '</label>';
642
-    if ( ! empty( $args['desc'] ) ) {
643
-        $output .= '<span class="wpinv-description">' . esc_html( $args['desc'] ) . '</span>';
640
+    $output = '<span id="wpinv-' . wpinv_sanitize_key($args['name']) . '-wrap">';
641
+    $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key($args['id']) . '">' . esc_html($args['label']) . '</label>';
642
+    if (!empty($args['desc'])) {
643
+        $output .= '<span class="wpinv-description">' . esc_html($args['desc']) . '</span>';
644 644
     }
645 645
 
646
-    $output .= '<input type="text" name="' . esc_attr( $args['name'] ) . '" id="' . esc_attr( $args['id'] )  . '" autocomplete="' . esc_attr( $args['autocomplete'] )  . '" value="' . esc_attr( $args['value'] ) . '" placeholder="' . esc_attr( $args['placeholder'] ) . '" class="' . $class . '" ' . $data . ' ' . trim( $options ) . '/>';
646
+    $output .= '<input type="text" name="' . esc_attr($args['name']) . '" id="' . esc_attr($args['id']) . '" autocomplete="' . esc_attr($args['autocomplete']) . '" value="' . esc_attr($args['value']) . '" placeholder="' . esc_attr($args['placeholder']) . '" class="' . $class . '" ' . $data . ' ' . trim($options) . '/>';
647 647
 
648 648
     $output .= '</span>';
649 649
 
650 650
     return $output;
651 651
 }
652 652
 
653
-function wpinv_html_textarea( $args = array() ) {
653
+function wpinv_html_textarea($args = array()) {
654 654
     $defaults = array(
655 655
         'name'        => 'textarea',
656 656
         'value'       => null,
@@ -661,31 +661,31 @@  discard block
 block discarded – undo
661 661
         'placeholder' => '',
662 662
     );
663 663
 
664
-    $args = wp_parse_args( $args, $defaults );
664
+    $args = wp_parse_args($args, $defaults);
665 665
 
666
-    $class = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['class'] ) ) );
666
+    $class = implode(' ', array_map('sanitize_html_class', explode(' ', $args['class'])));
667 667
     $disabled = '';
668
-    if( $args['disabled'] ) {
668
+    if ($args['disabled']) {
669 669
         $disabled = ' disabled="disabled"';
670 670
     }
671 671
 
672
-    $output = '<span id="wpinv-' . wpinv_sanitize_key( $args['name'] ) . '-wrap">';
673
-    $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key( $args['name'] ) . '">' . esc_html( $args['label'] ) . '</label>';
674
-    $output .= '<textarea name="' . esc_attr( $args['name'] ) . '" placeholder="' . esc_attr( $args['placeholder'] ) . '" id="' . wpinv_sanitize_key( $args['name'] ) . '" class="' . $class . '"' . $disabled . '>' . esc_attr( $args['value'] ) . '</textarea>';
672
+    $output = '<span id="wpinv-' . wpinv_sanitize_key($args['name']) . '-wrap">';
673
+    $output .= '<label class="wpinv-label" for="' . wpinv_sanitize_key($args['name']) . '">' . esc_html($args['label']) . '</label>';
674
+    $output .= '<textarea name="' . esc_attr($args['name']) . '" placeholder="' . esc_attr($args['placeholder']) . '" id="' . wpinv_sanitize_key($args['name']) . '" class="' . $class . '"' . $disabled . '>' . esc_attr($args['value']) . '</textarea>';
675 675
 
676
-    if ( ! empty( $args['desc'] ) ) {
677
-        $output .= '<span class="wpinv-description">' . esc_html( $args['desc'] ) . '</span>';
676
+    if (!empty($args['desc'])) {
677
+        $output .= '<span class="wpinv-description">' . esc_html($args['desc']) . '</span>';
678 678
     }
679 679
     $output .= '</span>';
680 680
 
681 681
     return $output;
682 682
 }
683 683
 
684
-function wpinv_html_ajax_user_search( $args = array() ) {
684
+function wpinv_html_ajax_user_search($args = array()) {
685 685
     $defaults = array(
686 686
         'name'        => 'user_id',
687 687
         'value'       => null,
688
-        'placeholder' => __( 'Enter username', 'invoicing' ),
688
+        'placeholder' => __('Enter username', 'invoicing'),
689 689
         'label'       => null,
690 690
         'desc'        => null,
691 691
         'class'       => '',
@@ -694,13 +694,13 @@  discard block
 block discarded – undo
694 694
         'data'        => false
695 695
     );
696 696
 
697
-    $args = wp_parse_args( $args, $defaults );
697
+    $args = wp_parse_args($args, $defaults);
698 698
 
699 699
     $args['class'] = 'wpinv-ajax-user-search ' . $args['class'];
700 700
 
701 701
     $output  = '<span class="wpinv_user_search_wrap">';
702
-        $output .= wpinv_html_text( $args );
703
-        $output .= '<span class="wpinv_user_search_results hidden"><a class="wpinv-ajax-user-cancel" title="' . __( 'Cancel', 'invoicing' ) . '" aria-label="' . __( 'Cancel', 'invoicing' ) . '" href="#">x</a><span></span></span>';
702
+        $output .= wpinv_html_text($args);
703
+        $output .= '<span class="wpinv_user_search_results hidden"><a class="wpinv-ajax-user-cancel" title="' . __('Cancel', 'invoicing') . '" aria-label="' . __('Cancel', 'invoicing') . '" href="#">x</a><span></span></span>';
704 704
     $output .= '</span>';
705 705
 
706 706
     return $output;
@@ -711,20 +711,20 @@  discard block
 block discarded – undo
711 711
  * 
712 712
  * @param string $template the template that is currently being used.
713 713
  */
714
-function wpinv_template( $template ) {
714
+function wpinv_template($template) {
715 715
     global $post;
716 716
 
717
-    if ( ! is_admin() && ( is_single() || is_404() ) && ! empty( $post->ID ) && getpaid_is_invoice_post_type( get_post_type( $post->ID ) ) ) {
717
+    if (!is_admin() && (is_single() || is_404()) && !empty($post->ID) && getpaid_is_invoice_post_type(get_post_type($post->ID))) {
718 718
 
719 719
         // If the user can view this invoice, display it.
720
-        if ( wpinv_user_can_view_invoice( $post->ID ) ) {
720
+        if (wpinv_user_can_view_invoice($post->ID)) {
721 721
 
722
-            return wpinv_get_template_part( 'wpinv-invoice-print', false, false );
722
+            return wpinv_get_template_part('wpinv-invoice-print', false, false);
723 723
 
724 724
         // Else display an error message.
725 725
         } else {
726 726
 
727
-            return wpinv_get_template_part( 'wpinv-invalid-access', false, false );
727
+            return wpinv_get_template_part('wpinv-invalid-access', false, false);
728 728
 
729 729
         }
730 730
 
@@ -732,24 +732,24 @@  discard block
 block discarded – undo
732 732
 
733 733
     return $template;
734 734
 }
735
-add_filter( 'template_include', 'wpinv_template', 10, 1 );
735
+add_filter('template_include', 'wpinv_template', 10, 1);
736 736
 
737 737
 function wpinv_get_business_address() {
738 738
     $business_address   = wpinv_store_address();
739
-    $business_address   = !empty( $business_address ) ? wpautop( wp_kses_post( $business_address ) ) : '';
739
+    $business_address   = !empty($business_address) ? wpautop(wp_kses_post($business_address)) : '';
740 740
     
741 741
     $business_address = $business_address ? '<div class="address">' . $business_address . '</div>' : '';
742 742
     
743
-    return apply_filters( 'wpinv_get_business_address', $business_address );
743
+    return apply_filters('wpinv_get_business_address', $business_address);
744 744
 }
745 745
 
746 746
 /**
747 747
  * Displays the company address.
748 748
  */
749 749
 function wpinv_display_from_address() {
750
-    wpinv_get_template( 'invoice/company-address.php' );
750
+    wpinv_get_template('invoice/company-address.php');
751 751
 }
752
-add_action( 'getpaid_invoice_details_left', 'wpinv_display_from_address', 10 );
752
+add_action('getpaid_invoice_details_left', 'wpinv_display_from_address', 10);
753 753
 
754 754
 /**
755 755
  * Generates a watermark text for an invoice.
@@ -757,9 +757,9 @@  discard block
 block discarded – undo
757 757
  * @param WPInv_Invoice $invoice
758 758
  * @return string
759 759
  */
760
-function wpinv_watermark( $invoice ) {
761
-    $watermark = wpinv_get_watermark( $invoice );
762
-    return apply_filters( 'wpinv_get_watermark', $watermark, $invoice );
760
+function wpinv_watermark($invoice) {
761
+    $watermark = wpinv_get_watermark($invoice);
762
+    return apply_filters('wpinv_get_watermark', $watermark, $invoice);
763 763
 }
764 764
 
765 765
 /**
@@ -768,37 +768,37 @@  discard block
 block discarded – undo
768 768
  * @param WPInv_Invoice $invoice
769 769
  * @return string
770 770
  */
771
-function wpinv_get_watermark( $invoice ) {
771
+function wpinv_get_watermark($invoice) {
772 772
     return $invoice->get_status_nicename();
773 773
 }
774 774
 
775 775
 /**
776 776
  * @deprecated
777 777
  */
778
-function wpinv_display_invoice_details( $invoice ) {
779
-    return getpaid_invoice_meta( $invoice );
778
+function wpinv_display_invoice_details($invoice) {
779
+    return getpaid_invoice_meta($invoice);
780 780
 }
781 781
 
782 782
 /**
783 783
  * Displays invoice meta.
784 784
  */
785
-function getpaid_invoice_meta( $invoice ) {
785
+function getpaid_invoice_meta($invoice) {
786 786
 
787
-    $invoice = new WPInv_Invoice( $invoice );
787
+    $invoice = new WPInv_Invoice($invoice);
788 788
 
789 789
     // Ensure that we have an invoice.
790
-    if ( 0 == $invoice->get_id() ) {
790
+    if (0 == $invoice->get_id()) {
791 791
         return;
792 792
     }
793 793
 
794 794
     // Get the invoice meta.
795
-    $meta = getpaid_get_invoice_meta( $invoice );
795
+    $meta = getpaid_get_invoice_meta($invoice);
796 796
 
797 797
     // Display the meta.
798
-    wpinv_get_template( 'invoice/invoice-meta.php', compact( 'invoice', 'meta' ) );
798
+    wpinv_get_template('invoice/invoice-meta.php', compact('invoice', 'meta'));
799 799
 
800 800
 }
801
-add_action( 'getpaid_invoice_details_right', 'getpaid_invoice_meta', 10 );
801
+add_action('getpaid_invoice_details_right', 'getpaid_invoice_meta', 10);
802 802
 
803 803
 /**
804 804
  * Retrieves the address markup to use on Invoices.
@@ -810,29 +810,29 @@  discard block
 block discarded – undo
810 810
  * @param  string $separator How to separate address lines.
811 811
  * @return string
812 812
  */
813
-function wpinv_get_invoice_address_markup( $billing_details, $separator = '<br/>' ) {
813
+function wpinv_get_invoice_address_markup($billing_details, $separator = '<br/>') {
814 814
 
815 815
     // Retrieve the address markup...
816
-    $country= empty( $billing_details['country'] ) ? '' : $billing_details['country'];
817
-    $format = wpinv_get_full_address_format( $country );
816
+    $country = empty($billing_details['country']) ? '' : $billing_details['country'];
817
+    $format = wpinv_get_full_address_format($country);
818 818
 
819 819
     // ... and the replacements.
820
-    $replacements = wpinv_get_invoice_address_replacements( $billing_details );
820
+    $replacements = wpinv_get_invoice_address_replacements($billing_details);
821 821
 
822
-    $formatted_address = str_ireplace( array_keys( $replacements ), $replacements, $format );
822
+    $formatted_address = str_ireplace(array_keys($replacements), $replacements, $format);
823 823
     
824 824
 	// Remove unavailable tags.
825
-    $formatted_address = preg_replace( "/\{\{\w+\}\}/", '', $formatted_address );
825
+    $formatted_address = preg_replace("/\{\{\w+\}\}/", '', $formatted_address);
826 826
 
827 827
     // Clean up white space.
828
-	$formatted_address = preg_replace( '/  +/', ' ', trim( $formatted_address ) );
829
-    $formatted_address = preg_replace( '/\n\n+/', "\n", $formatted_address );
828
+	$formatted_address = preg_replace('/  +/', ' ', trim($formatted_address));
829
+    $formatted_address = preg_replace('/\n\n+/', "\n", $formatted_address);
830 830
     
831 831
     // Break newlines apart and remove empty lines/trim commas and white space.
832
-	$formatted_address = array_filter( array_map( 'wpinv_trim_formatted_address_line', explode( "\n", $formatted_address ) ) );
832
+	$formatted_address = array_filter(array_map('wpinv_trim_formatted_address_line', explode("\n", $formatted_address)));
833 833
 
834 834
     // Add html breaks.
835
-	$formatted_address = implode( $separator, $formatted_address );
835
+	$formatted_address = implode($separator, $formatted_address);
836 836
 
837 837
 	// We're done!
838 838
 	return $formatted_address;
@@ -844,88 +844,88 @@  discard block
 block discarded – undo
844 844
  * 
845 845
  * @param WPInv_Invoice $invoice
846 846
  */
847
-function wpinv_display_to_address( $invoice = 0 ) {
848
-    if ( ! empty( $invoice ) ) {
849
-        wpinv_get_template( 'invoice/billing-address.php', compact( 'invoice' ) );
847
+function wpinv_display_to_address($invoice = 0) {
848
+    if (!empty($invoice)) {
849
+        wpinv_get_template('invoice/billing-address.php', compact('invoice'));
850 850
     }
851 851
 }
852
-add_action( 'getpaid_invoice_details_left', 'wpinv_display_to_address', 40 );
852
+add_action('getpaid_invoice_details_left', 'wpinv_display_to_address', 40);
853 853
 
854 854
 
855 855
 /**
856 856
  * Displays invoice line items.
857 857
  */
858
-function wpinv_display_line_items( $invoice_id = 0 ) {
858
+function wpinv_display_line_items($invoice_id = 0) {
859 859
 
860 860
     // Prepare the invoice.
861
-    $invoice = new WPInv_Invoice( $invoice_id );
861
+    $invoice = new WPInv_Invoice($invoice_id);
862 862
 
863 863
     // Abort if there is no invoice.
864
-    if ( 0 == $invoice->get_id() ) {
864
+    if (0 == $invoice->get_id()) {
865 865
         return;
866 866
     }
867 867
 
868 868
     // Line item columns.
869
-    $columns = getpaid_invoice_item_columns( $invoice );
870
-    $columns = apply_filters( 'getpaid_invoice_line_items_table_columns', $columns, $invoice );
869
+    $columns = getpaid_invoice_item_columns($invoice);
870
+    $columns = apply_filters('getpaid_invoice_line_items_table_columns', $columns, $invoice);
871 871
 
872
-    wpinv_get_template( 'invoice/line-items.php', compact( 'invoice', 'columns' ) );
872
+    wpinv_get_template('invoice/line-items.php', compact('invoice', 'columns'));
873 873
 }
874
-add_action( 'getpaid_invoice_line_items', 'wpinv_display_line_items', 10 );
874
+add_action('getpaid_invoice_line_items', 'wpinv_display_line_items', 10);
875 875
 
876 876
 /**
877 877
  * Displays invoice notices on invoices.
878 878
  */
879 879
 function wpinv_display_invoice_notice() {
880 880
 
881
-    $label  = wpinv_get_option( 'vat_invoice_notice_label' );
882
-    $notice = wpinv_get_option( 'vat_invoice_notice' );
881
+    $label  = wpinv_get_option('vat_invoice_notice_label');
882
+    $notice = wpinv_get_option('vat_invoice_notice');
883 883
 
884
-    if ( empty( $label ) && empty( $notice ) ) {
884
+    if (empty($label) && empty($notice)) {
885 885
         return;
886 886
     }
887 887
 
888 888
     echo '<div class="mt-4 mb-4 wpinv-vat-notice">';
889 889
 
890
-    if ( ! empty( $label ) ) {
891
-        $label = sanitize_text_field( $label );
890
+    if (!empty($label)) {
891
+        $label = sanitize_text_field($label);
892 892
         echo "<h5>$label</h5>";
893 893
     }
894 894
 
895
-    if ( ! empty( $notice ) ) {
896
-        echo '<small class="form-text text-muted">' . wpautop( wptexturize( $notice ) ) . '</small>';
895
+    if (!empty($notice)) {
896
+        echo '<small class="form-text text-muted">' . wpautop(wptexturize($notice)) . '</small>';
897 897
     }
898 898
 
899 899
     echo '</div>';
900 900
 }
901
-add_action( 'getpaid_invoice_line_items', 'wpinv_display_invoice_notice', 100 );
901
+add_action('getpaid_invoice_line_items', 'wpinv_display_invoice_notice', 100);
902 902
 
903 903
 /**
904 904
  * @param WPInv_Invoice $invoice
905 905
  */
906
-function wpinv_display_invoice_notes( $invoice ) {
906
+function wpinv_display_invoice_notes($invoice) {
907 907
 
908 908
     // Retrieve the notes.
909
-    $notes = wpinv_get_invoice_notes( $invoice->get_id(), 'customer' );
909
+    $notes = wpinv_get_invoice_notes($invoice->get_id(), 'customer');
910 910
 
911 911
     // Abort if we have non.
912
-    if ( empty( $notes ) ) {
912
+    if (empty($notes)) {
913 913
         return;
914 914
     }
915 915
 
916 916
     // Echo the note.
917 917
     echo '<div class="getpaid-invoice-notes-wrapper position-relative my-4">';
918
-    echo '<h2 class="getpaid-invoice-notes-title mb-1 p-0 h4">' . __( 'Notes', 'invoicing' ) .'</h2>';
918
+    echo '<h2 class="getpaid-invoice-notes-title mb-1 p-0 h4">' . __('Notes', 'invoicing') . '</h2>';
919 919
     echo '<ul class="getpaid-invoice-notes text-break overflow-auto list-unstyled p-0 m-0">';
920 920
 
921
-    foreach( $notes as $note ) {
922
-        wpinv_get_invoice_note_line_item( $note );
921
+    foreach ($notes as $note) {
922
+        wpinv_get_invoice_note_line_item($note);
923 923
     }
924 924
 
925 925
     echo '</ul>';
926 926
     echo '</div>';
927 927
 }
928
-add_action( 'getpaid_invoice_line_items', 'wpinv_display_invoice_notes', 60 );
928
+add_action('getpaid_invoice_line_items', 'wpinv_display_invoice_notes', 60);
929 929
 
930 930
 /**
931 931
  * Loads scripts on our invoice templates.
@@ -933,31 +933,31 @@  discard block
 block discarded – undo
933 933
 function wpinv_display_style() {
934 934
 
935 935
     // Make sure that all scripts have been loaded.
936
-    if ( ! did_action( 'wp_enqueue_scripts' ) ) {
937
-        do_action( 'wp_enqueue_scripts' );
936
+    if (!did_action('wp_enqueue_scripts')) {
937
+        do_action('wp_enqueue_scripts');
938 938
     }
939 939
 
940 940
     // Register the invoices style.
941
-    wp_register_style( 'wpinv-single-style', WPINV_PLUGIN_URL . 'assets/css/invoice.css', array(), filemtime( WPINV_PLUGIN_DIR . 'assets/css/invoice.css' ) );
941
+    wp_register_style('wpinv-single-style', WPINV_PLUGIN_URL . 'assets/css/invoice.css', array(), filemtime(WPINV_PLUGIN_DIR . 'assets/css/invoice.css'));
942 942
 
943 943
     // Load required styles
944
-    wp_print_styles( 'wpinv-single-style' );
945
-    wp_print_styles( 'ayecode-ui' );
944
+    wp_print_styles('wpinv-single-style');
945
+    wp_print_styles('ayecode-ui');
946 946
 
947 947
     // Maybe load custom css.
948
-    $custom_css = wpinv_get_option( 'template_custom_css' );
948
+    $custom_css = wpinv_get_option('template_custom_css');
949 949
 
950
-    if ( isset( $custom_css ) && ! empty( $custom_css ) ) {
951
-        $custom_css     = wp_kses( $custom_css, array( '\'', '\"' ) );
952
-        $custom_css     = str_replace( '&gt;', '>', $custom_css );
950
+    if (isset($custom_css) && !empty($custom_css)) {
951
+        $custom_css     = wp_kses($custom_css, array('\'', '\"'));
952
+        $custom_css     = str_replace('&gt;', '>', $custom_css);
953 953
         echo '<style type="text/css">';
954 954
         echo $custom_css;
955 955
         echo '</style>';
956 956
     }
957 957
 
958 958
 }
959
-add_action( 'wpinv_invoice_print_head', 'wpinv_display_style' );
960
-add_action( 'wpinv_invalid_invoice_head', 'wpinv_display_style' );
959
+add_action('wpinv_invoice_print_head', 'wpinv_display_style');
960
+add_action('wpinv_invalid_invoice_head', 'wpinv_display_style');
961 961
 
962 962
 
963 963
 /**
@@ -969,41 +969,41 @@  discard block
 block discarded – undo
969 969
     // Retrieve the current invoice.
970 970
     $invoice_id = getpaid_get_current_invoice_id();
971 971
 
972
-    if ( empty( $invoice_id ) ) {
972
+    if (empty($invoice_id)) {
973 973
 
974 974
         return aui()->alert(
975 975
             array(
976 976
                 'type'    => 'warning',
977
-                'content' => __( 'Invalid invoice', 'invoicing' ),
977
+                'content' => __('Invalid invoice', 'invoicing'),
978 978
             )
979 979
         );
980 980
 
981 981
     }
982 982
 
983 983
     // Can the user view this invoice?
984
-    if ( ! wpinv_user_can_view_invoice( $invoice_id ) ) {
984
+    if (!wpinv_user_can_view_invoice($invoice_id)) {
985 985
 
986 986
         return aui()->alert(
987 987
             array(
988 988
                 'type'    => 'warning',
989
-                'content' => __( 'You are not allowed to view this invoice', 'invoicing' ),
989
+                'content' => __('You are not allowed to view this invoice', 'invoicing'),
990 990
             )
991 991
         );
992 992
 
993 993
     }
994 994
 
995 995
     // Ensure that it is not yet paid for.
996
-    $invoice = new WPInv_Invoice( $invoice_id );
996
+    $invoice = new WPInv_Invoice($invoice_id);
997 997
 
998 998
     // Maybe mark it as viewed.
999
-    getpaid_maybe_mark_invoice_as_viewed( $invoice );
999
+    getpaid_maybe_mark_invoice_as_viewed($invoice);
1000 1000
 
1001
-    if ( $invoice->is_paid() ) {
1001
+    if ($invoice->is_paid()) {
1002 1002
 
1003 1003
         return aui()->alert(
1004 1004
             array(
1005 1005
                 'type'    => 'success',
1006
-                'content' => __( 'This invoice has already been paid.', 'invoicing' ),
1006
+                'content' => __('This invoice has already been paid.', 'invoicing'),
1007 1007
             )
1008 1008
         );
1009 1009
 
@@ -1013,14 +1013,14 @@  discard block
 block discarded – undo
1013 1013
     $wpi_checkout_id = $invoice_id;
1014 1014
 
1015 1015
     // We'll display this invoice via the default form.
1016
-    $form = new GetPaid_Payment_Form( wpinv_get_default_payment_form() );
1016
+    $form = new GetPaid_Payment_Form(wpinv_get_default_payment_form());
1017 1017
 
1018
-    if ( 0 == $form->get_id() ) {
1018
+    if (0 == $form->get_id()) {
1019 1019
 
1020 1020
         return aui()->alert(
1021 1021
             array(
1022 1022
                 'type'    => 'warning',
1023
-                'content' => __( 'Error loading the payment form', 'invoicing' ),
1023
+                'content' => __('Error loading the payment form', 'invoicing'),
1024 1024
             )
1025 1025
         );
1026 1026
 
@@ -1028,7 +1028,7 @@  discard block
 block discarded – undo
1028 1028
 
1029 1029
     // Set the invoice.
1030 1030
     $form->invoice = $invoice;
1031
-    $form->set_items( $invoice->get_items() );
1031
+    $form->set_items($invoice->get_items());
1032 1032
 
1033 1033
     // Generate the html.
1034 1034
     return $form->get_html();
@@ -1036,7 +1036,7 @@  discard block
 block discarded – undo
1036 1036
 }
1037 1037
 
1038 1038
 function wpinv_empty_cart_message() {
1039
-	return apply_filters( 'wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __( 'Your cart is empty.', 'invoicing' ) . '</span>' );
1039
+	return apply_filters('wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __('Your cart is empty.', 'invoicing') . '</span>');
1040 1040
 }
1041 1041
 
1042 1042
 /**
@@ -1053,71 +1053,71 @@  discard block
 block discarded – undo
1053 1053
         )
1054 1054
     );
1055 1055
 }
1056
-add_action( 'wpinv_cart_empty', 'wpinv_empty_checkout_cart' );
1056
+add_action('wpinv_cart_empty', 'wpinv_empty_checkout_cart');
1057 1057
 
1058 1058
 /**
1059 1059
  * Filters the receipt page.
1060 1060
  */
1061
-function wpinv_filter_success_page_content( $content ) {
1061
+function wpinv_filter_success_page_content($content) {
1062 1062
 
1063 1063
     // Ensure this is our page.
1064
-    if ( isset( $_GET['payment-confirm'] ) && wpinv_is_success_page() ) {
1064
+    if (isset($_GET['payment-confirm']) && wpinv_is_success_page()) {
1065 1065
 
1066
-        $gateway = sanitize_text_field( $_GET['payment-confirm'] );
1067
-        return apply_filters( "wpinv_payment_confirm_$gateway", $content );
1066
+        $gateway = sanitize_text_field($_GET['payment-confirm']);
1067
+        return apply_filters("wpinv_payment_confirm_$gateway", $content);
1068 1068
 
1069 1069
     }
1070 1070
 
1071 1071
     return $content;
1072 1072
 }
1073
-add_filter( 'the_content', 'wpinv_filter_success_page_content', 99999 );
1073
+add_filter('the_content', 'wpinv_filter_success_page_content', 99999);
1074 1074
 
1075
-function wpinv_invoice_link( $invoice_id ) {
1076
-    $invoice = wpinv_get_invoice( $invoice_id );
1075
+function wpinv_invoice_link($invoice_id) {
1076
+    $invoice = wpinv_get_invoice($invoice_id);
1077 1077
 
1078
-    if ( empty( $invoice ) ) {
1078
+    if (empty($invoice)) {
1079 1079
         return NULL;
1080 1080
     }
1081 1081
 
1082
-    $invoice_link = '<a href="' . esc_url( $invoice->get_view_url() ) . '">' . $invoice->get_number() . '</a>';
1082
+    $invoice_link = '<a href="' . esc_url($invoice->get_view_url()) . '">' . $invoice->get_number() . '</a>';
1083 1083
 
1084
-    return apply_filters( 'wpinv_get_invoice_link', $invoice_link, $invoice );
1084
+    return apply_filters('wpinv_get_invoice_link', $invoice_link, $invoice);
1085 1085
 }
1086 1086
 
1087
-function wpinv_get_invoice_note_line_item( $note, $echo = true ) {
1088
-    if ( empty( $note ) ) {
1087
+function wpinv_get_invoice_note_line_item($note, $echo = true) {
1088
+    if (empty($note)) {
1089 1089
         return NULL;
1090 1090
     }
1091 1091
 
1092
-    if ( is_int( $note ) ) {
1093
-        $note = get_comment( $note );
1092
+    if (is_int($note)) {
1093
+        $note = get_comment($note);
1094 1094
     }
1095 1095
 
1096
-    if ( !( is_object( $note ) && is_a( $note, 'WP_Comment' ) ) ) {
1096
+    if (!(is_object($note) && is_a($note, 'WP_Comment'))) {
1097 1097
         return NULL;
1098 1098
     }
1099 1099
 
1100
-    $note_classes   = array( 'note' );
1101
-    $note_classes[] = get_comment_meta( $note->comment_ID, '_wpi_customer_note', true ) ? 'customer-note' : '';
1100
+    $note_classes   = array('note');
1101
+    $note_classes[] = get_comment_meta($note->comment_ID, '_wpi_customer_note', true) ? 'customer-note' : '';
1102 1102
     $note_classes[] = $note->comment_author === 'System' ? 'system-note' : '';
1103
-    $note_classes   = apply_filters( 'wpinv_invoice_note_class', array_filter( $note_classes ), $note );
1104
-    $note_classes   = !empty( $note_classes ) ? implode( ' ', $note_classes ) : '';
1103
+    $note_classes   = apply_filters('wpinv_invoice_note_class', array_filter($note_classes), $note);
1104
+    $note_classes   = !empty($note_classes) ? implode(' ', $note_classes) : '';
1105 1105
 
1106 1106
     ob_start();
1107 1107
     ?>
1108
-    <li rel="<?php echo absint( $note->comment_ID ) ; ?>" class="<?php echo esc_attr( $note_classes ); ?> mb-2">
1108
+    <li rel="<?php echo absint($note->comment_ID); ?>" class="<?php echo esc_attr($note_classes); ?> mb-2">
1109 1109
         <div class="note_content">
1110 1110
 
1111
-            <?php echo wptexturize( wp_kses_post( $note->comment_content ) ); ?>
1111
+            <?php echo wptexturize(wp_kses_post($note->comment_content)); ?>
1112 1112
 
1113
-            <?php if ( ! is_admin() ) : ?>
1113
+            <?php if (!is_admin()) : ?>
1114 1114
                 <em class="small form-text text-muted mt-0">
1115 1115
                     <?php
1116 1116
                         printf(
1117
-                            __( '%1$s - %2$s at %3$s', 'invoicing' ),
1117
+                            __('%1$s - %2$s at %3$s', 'invoicing'),
1118 1118
                             $note->comment_author,
1119
-                            getpaid_format_date_value( $note->comment_date ),
1120
-                            date_i18n( get_option( 'time_format' ), strtotime( $note->comment_date ) )
1119
+                            getpaid_format_date_value($note->comment_date),
1120
+                            date_i18n(get_option('time_format'), strtotime($note->comment_date))
1121 1121
                         );
1122 1122
                     ?>
1123 1123
                 </em>
@@ -1125,21 +1125,21 @@  discard block
 block discarded – undo
1125 1125
 
1126 1126
         </div>
1127 1127
 
1128
-        <?php if ( is_admin() ) : ?>
1128
+        <?php if (is_admin()) : ?>
1129 1129
 
1130 1130
             <p class="meta px-4 py-2">
1131
-                <abbr class="exact-date" title="<?php echo esc_attr( $note->comment_date ); ?>">
1131
+                <abbr class="exact-date" title="<?php echo esc_attr($note->comment_date); ?>">
1132 1132
                     <?php
1133 1133
                         printf(
1134
-                            __( '%1$s - %2$s at %3$s', 'invoicing' ),
1134
+                            __('%1$s - %2$s at %3$s', 'invoicing'),
1135 1135
                             $note->comment_author,
1136
-                            getpaid_format_date_value( $note->comment_date ),
1137
-                            date_i18n( get_option( 'time_format' ), strtotime( $note->comment_date ) )
1136
+                            getpaid_format_date_value($note->comment_date),
1137
+                            date_i18n(get_option('time_format'), strtotime($note->comment_date))
1138 1138
                         );
1139 1139
                     ?>
1140 1140
                 </abbr>&nbsp;&nbsp;
1141
-                <?php if ( $note->comment_author !== 'System' && wpinv_current_user_can_manage_invoicing() ) { ?>
1142
-                    <a href="#" class="delete_note"><?php _e( 'Delete note', 'invoicing' ); ?></a>
1141
+                <?php if ($note->comment_author !== 'System' && wpinv_current_user_can_manage_invoicing()) { ?>
1142
+                    <a href="#" class="delete_note"><?php _e('Delete note', 'invoicing'); ?></a>
1143 1143
                 <?php } ?>
1144 1144
             </p>
1145 1145
 
@@ -1148,9 +1148,9 @@  discard block
 block discarded – undo
1148 1148
     </li>
1149 1149
     <?php
1150 1150
     $note_content = ob_get_clean();
1151
-    $note_content = apply_filters( 'wpinv_get_invoice_note_line_item', $note_content, $note, $echo );
1151
+    $note_content = apply_filters('wpinv_get_invoice_note_line_item', $note_content, $note, $echo);
1152 1152
 
1153
-    if ( $echo ) {
1153
+    if ($echo) {
1154 1154
         echo $note_content;
1155 1155
     } else {
1156 1156
         return $note_content;
@@ -1164,21 +1164,21 @@  discard block
 block discarded – undo
1164 1164
  * @return string
1165 1165
  */
1166 1166
 function wpinv_get_policy_text() {
1167
-    $privacy_page_id = get_option( 'wp_page_for_privacy_policy', 0 );
1167
+    $privacy_page_id = get_option('wp_page_for_privacy_policy', 0);
1168 1168
 
1169
-    $text = wpinv_get_option('invoicing_privacy_checkout_message', sprintf( __( 'Your personal data will be used to process your invoice, payment and for other purposes described in our %s.', 'invoicing' ), '[wpinv_privacy_policy]' ));
1169
+    $text = wpinv_get_option('invoicing_privacy_checkout_message', sprintf(__('Your personal data will be used to process your invoice, payment and for other purposes described in our %s.', 'invoicing'), '[wpinv_privacy_policy]'));
1170 1170
 
1171
-    if(!$privacy_page_id){
1172
-        $privacy_page_id = wpinv_get_option( 'privacy_page', 0 );
1171
+    if (!$privacy_page_id) {
1172
+        $privacy_page_id = wpinv_get_option('privacy_page', 0);
1173 1173
     }
1174 1174
 
1175
-    $privacy_link    = $privacy_page_id ? '<a href="' . esc_url( get_permalink( $privacy_page_id ) ) . '" class="wpinv-privacy-policy-link" target="_blank">' . __( 'privacy policy', 'invoicing' ) . '</a>' : __( 'privacy policy', 'invoicing' );
1175
+    $privacy_link = $privacy_page_id ? '<a href="' . esc_url(get_permalink($privacy_page_id)) . '" class="wpinv-privacy-policy-link" target="_blank">' . __('privacy policy', 'invoicing') . '</a>' : __('privacy policy', 'invoicing');
1176 1176
 
1177 1177
     $find_replace = array(
1178 1178
         '[wpinv_privacy_policy]' => $privacy_link,
1179 1179
     );
1180 1180
 
1181
-    $privacy_text = str_replace( array_keys( $find_replace ), array_values( $find_replace ), $text );
1181
+    $privacy_text = str_replace(array_keys($find_replace), array_values($find_replace), $text);
1182 1182
 
1183 1183
     return wp_kses_post(wpautop($privacy_text));
1184 1184
 }
@@ -1186,21 +1186,21 @@  discard block
 block discarded – undo
1186 1186
 function wpinv_oxygen_fix_conflict() {
1187 1187
     global $ct_ignore_post_types;
1188 1188
 
1189
-    if ( ! is_array( $ct_ignore_post_types ) ) {
1189
+    if (!is_array($ct_ignore_post_types)) {
1190 1190
         $ct_ignore_post_types = array();
1191 1191
     }
1192 1192
 
1193
-    $post_types = array( 'wpi_discount', 'wpi_invoice', 'wpi_item', 'wpi_payment_form' );
1193
+    $post_types = array('wpi_discount', 'wpi_invoice', 'wpi_item', 'wpi_payment_form');
1194 1194
 
1195
-    foreach ( $post_types as $post_type ) {
1195
+    foreach ($post_types as $post_type) {
1196 1196
         $ct_ignore_post_types[] = $post_type;
1197 1197
 
1198 1198
         // Ignore post type
1199
-        add_filter( 'pre_option_oxygen_vsb_ignore_post_type_' . $post_type, '__return_true', 999 );
1199
+        add_filter('pre_option_oxygen_vsb_ignore_post_type_' . $post_type, '__return_true', 999);
1200 1200
     }
1201 1201
 
1202
-    remove_filter( 'template_include', 'wpinv_template', 10, 1 );
1203
-    add_filter( 'template_include', 'wpinv_template', 999, 1 );
1202
+    remove_filter('template_include', 'wpinv_template', 10, 1);
1203
+    add_filter('template_include', 'wpinv_template', 999, 1);
1204 1204
 }
1205 1205
 
1206 1206
 /**
@@ -1208,10 +1208,10 @@  discard block
 block discarded – undo
1208 1208
  * 
1209 1209
  * @param GetPaid_Payment_Form $form
1210 1210
  */
1211
-function getpaid_display_payment_form( $form ) {
1211
+function getpaid_display_payment_form($form) {
1212 1212
 
1213
-    if ( is_numeric( $form ) ) {
1214
-        $form = new GetPaid_Payment_Form( $form );
1213
+    if (is_numeric($form)) {
1214
+        $form = new GetPaid_Payment_Form($form);
1215 1215
     }
1216 1216
 
1217 1217
     $form->display();
@@ -1221,55 +1221,55 @@  discard block
 block discarded – undo
1221 1221
 /**
1222 1222
  * Helper function to display a item payment form on the frontend.
1223 1223
  */
1224
-function getpaid_display_item_payment_form( $items ) {
1224
+function getpaid_display_item_payment_form($items) {
1225 1225
 
1226
-    $form = new GetPaid_Payment_Form( wpinv_get_default_payment_form() );
1227
-    $form->set_items( $items );
1226
+    $form = new GetPaid_Payment_Form(wpinv_get_default_payment_form());
1227
+    $form->set_items($items);
1228 1228
 
1229
-    if ( 0 == count( $form->get_items() ) ) {
1229
+    if (0 == count($form->get_items())) {
1230 1230
         echo aui()->alert(
1231 1231
 			array(
1232 1232
 				'type'    => 'warning',
1233
-				'content' => __( 'No published items found', 'invoicing' ),
1233
+				'content' => __('No published items found', 'invoicing'),
1234 1234
 			)
1235 1235
         );
1236 1236
         return;
1237 1237
     }
1238 1238
 
1239
-    $form_items = esc_attr( getpaid_convert_items_to_string( $items ) );
1239
+    $form_items = esc_attr(getpaid_convert_items_to_string($items));
1240 1240
     $form_items = "<input type='hidden' name='getpaid-form-items' value='$form_items' />";
1241
-    $form->display( $form_items );
1241
+    $form->display($form_items);
1242 1242
 }
1243 1243
 
1244 1244
 /**
1245 1245
  * Helper function to display an invoice payment form on the frontend.
1246 1246
  */
1247
-function getpaid_display_invoice_payment_form( $invoice_id ) {
1247
+function getpaid_display_invoice_payment_form($invoice_id) {
1248 1248
 
1249
-    $invoice = wpinv_get_invoice( $invoice_id );
1249
+    $invoice = wpinv_get_invoice($invoice_id);
1250 1250
 
1251
-    if ( empty( $invoice ) ) {
1251
+    if (empty($invoice)) {
1252 1252
 		echo aui()->alert(
1253 1253
 			array(
1254 1254
 				'type'    => 'warning',
1255
-				'content' => __( 'Invoice not found', 'invoicing' ),
1255
+				'content' => __('Invoice not found', 'invoicing'),
1256 1256
 			)
1257 1257
         );
1258 1258
         return;
1259 1259
     }
1260 1260
 
1261
-    if ( $invoice->is_paid() ) {
1261
+    if ($invoice->is_paid()) {
1262 1262
 		echo aui()->alert(
1263 1263
 			array(
1264 1264
 				'type'    => 'warning',
1265
-				'content' => __( 'Invoice has already been paid', 'invoicing' ),
1265
+				'content' => __('Invoice has already been paid', 'invoicing'),
1266 1266
 			)
1267 1267
         );
1268 1268
         return;
1269 1269
     }
1270 1270
 
1271
-    $form = new GetPaid_Payment_Form( wpinv_get_default_payment_form() );
1272
-    $form->set_items( $invoice->get_items() );
1271
+    $form = new GetPaid_Payment_Form(wpinv_get_default_payment_form());
1272
+    $form->set_items($invoice->get_items());
1273 1273
 
1274 1274
     $form->display();
1275 1275
 }
@@ -1277,23 +1277,23 @@  discard block
 block discarded – undo
1277 1277
 /**
1278 1278
  * Helper function to convert item string to array.
1279 1279
  */
1280
-function getpaid_convert_items_to_array( $items ) {
1281
-    $items    = array_filter( array_map( 'trim', explode( ',', $items ) ) );
1280
+function getpaid_convert_items_to_array($items) {
1281
+    $items    = array_filter(array_map('trim', explode(',', $items)));
1282 1282
     $prepared = array();
1283 1283
 
1284
-    foreach ( $items as $item ) {
1285
-        $data = array_map( 'trim', explode( '|', $item ) );
1284
+    foreach ($items as $item) {
1285
+        $data = array_map('trim', explode('|', $item));
1286 1286
 
1287
-        if ( empty( $data[0] ) || ! is_numeric( $data[0] ) ) {
1287
+        if (empty($data[0]) || !is_numeric($data[0])) {
1288 1288
             continue;
1289 1289
         }
1290 1290
 
1291 1291
         $quantity = 1;
1292
-        if ( isset( $data[1] ) && is_numeric( $data[1] ) ) {
1292
+        if (isset($data[1]) && is_numeric($data[1])) {
1293 1293
             $quantity = (float) $data[1];
1294 1294
         }
1295 1295
 
1296
-        $prepared[ $data[0] ] = $quantity;
1296
+        $prepared[$data[0]] = $quantity;
1297 1297
 
1298 1298
     }
1299 1299
 
@@ -1303,13 +1303,13 @@  discard block
 block discarded – undo
1303 1303
 /**
1304 1304
  * Helper function to convert item array to string.
1305 1305
  */
1306
-function getpaid_convert_items_to_string( $items ) {
1306
+function getpaid_convert_items_to_string($items) {
1307 1307
     $prepared = array();
1308 1308
 
1309
-    foreach ( $items as $item => $quantity ) {
1309
+    foreach ($items as $item => $quantity) {
1310 1310
         $prepared[] = "$item|$quantity";
1311 1311
     }
1312
-    return implode( ',', $prepared );
1312
+    return implode(',', $prepared);
1313 1313
 }
1314 1314
 
1315 1315
 /**
@@ -1317,21 +1317,21 @@  discard block
 block discarded – undo
1317 1317
  * 
1318 1318
  * Provide a label and one of $form, $items or $invoice.
1319 1319
  */
1320
-function getpaid_get_payment_button( $label, $form = null, $items = null, $invoice = null ) {
1321
-    $label = sanitize_text_field( $label );
1320
+function getpaid_get_payment_button($label, $form = null, $items = null, $invoice = null) {
1321
+    $label = sanitize_text_field($label);
1322 1322
 
1323
-    if ( ! empty( $form ) ) {
1324
-        $form  = esc_attr( $form );
1323
+    if (!empty($form)) {
1324
+        $form = esc_attr($form);
1325 1325
         return "<button class='btn btn-primary getpaid-payment-button' type='button' data-form='$form'>$label</button>"; 
1326 1326
     }
1327 1327
 	
1328
-	if ( ! empty( $items ) ) {
1329
-        $items  = esc_attr( $items );
1328
+	if (!empty($items)) {
1329
+        $items = esc_attr($items);
1330 1330
         return "<button class='btn btn-primary getpaid-payment-button' type='button' data-item='$items'>$label</button>"; 
1331 1331
     }
1332 1332
     
1333
-    if ( ! empty( $invoice ) ) {
1334
-        $invoice  = esc_attr( $invoice );
1333
+    if (!empty($invoice)) {
1334
+        $invoice = esc_attr($invoice);
1335 1335
         return "<button class='btn btn-primary getpaid-payment-button' type='button' data-invoice='$invoice'>$label</button>"; 
1336 1336
     }
1337 1337
 
@@ -1342,17 +1342,17 @@  discard block
 block discarded – undo
1342 1342
  *
1343 1343
  * @param WPInv_Invoice $invoice
1344 1344
  */
1345
-function getpaid_the_invoice_description( $invoice ) {
1345
+function getpaid_the_invoice_description($invoice) {
1346 1346
     $description = $invoice->get_description();
1347 1347
 
1348
-    if ( empty( $description ) ) {
1348
+    if (empty($description)) {
1349 1349
         return;
1350 1350
     }
1351 1351
 
1352
-    $description = wp_kses_post( $description );
1352
+    $description = wp_kses_post($description);
1353 1353
     echo "<small class='getpaid-invoice-description text-dark p-2 form-text' style='margin-bottom: 20px; border-left: 2px solid #2196F3;'><em>$description</em></small>";
1354 1354
 }
1355
-add_action( 'getpaid_invoice_line_items', 'getpaid_the_invoice_description', 100 );
1355
+add_action('getpaid_invoice_line_items', 'getpaid_the_invoice_description', 100);
1356 1356
 
1357 1357
 /**
1358 1358
  * Render element on a form.
@@ -1360,60 +1360,60 @@  discard block
 block discarded – undo
1360 1360
  * @param array $element
1361 1361
  * @param GetPaid_Payment_Form $form
1362 1362
  */
1363
-function getpaid_payment_form_element( $element, $form ) {
1363
+function getpaid_payment_form_element($element, $form) {
1364 1364
 
1365 1365
     // Set up the args.
1366
-    $element_type    = trim( $element['type'] );
1366
+    $element_type    = trim($element['type']);
1367 1367
     $element['form'] = $form;
1368
-    extract( $element );
1368
+    extract($element);
1369 1369
 
1370 1370
     // Try to locate the appropriate template.
1371
-    $located = wpinv_locate_template( "payment-forms/elements/$element_type.php" );
1371
+    $located = wpinv_locate_template("payment-forms/elements/$element_type.php");
1372 1372
     
1373 1373
     // Abort if this is not our element.
1374
-    if ( empty( $located ) || ! file_exists( $located ) ) {
1374
+    if (empty($located) || !file_exists($located)) {
1375 1375
         return;
1376 1376
     }
1377 1377
 
1378 1378
     // Generate the class and id of the element.
1379
-    $wrapper_class = 'getpaid-payment-form-element-' . trim( esc_attr( $element_type ) );
1380
-    $id            = isset( $id ) ? $id : uniqid( 'gp' );
1379
+    $wrapper_class = 'getpaid-payment-form-element-' . trim(esc_attr($element_type));
1380
+    $id            = isset($id) ? $id : uniqid('gp');
1381 1381
 
1382 1382
     // Echo the opening wrapper.
1383 1383
     echo "<div class='getpaid-payment-form-element $wrapper_class'>";
1384 1384
 
1385 1385
     // Fires before displaying a given element type's content.
1386
-    do_action( "getpaid_before_payment_form_{$element_type}_element", $element, $form );
1386
+    do_action("getpaid_before_payment_form_{$element_type}_element", $element, $form);
1387 1387
 
1388 1388
     // Include the template for the element.
1389 1389
     include $located;
1390 1390
 
1391 1391
     // Fires after displaying a given element type's content.
1392
-    do_action( "getpaid_payment_form_{$element_type}_element", $element, $form );
1392
+    do_action("getpaid_payment_form_{$element_type}_element", $element, $form);
1393 1393
 
1394 1394
     // Echo the closing wrapper.
1395 1395
     echo '</div>';
1396 1396
 }
1397
-add_action( 'getpaid_payment_form_element', 'getpaid_payment_form_element', 10, 2 );
1397
+add_action('getpaid_payment_form_element', 'getpaid_payment_form_element', 10, 2);
1398 1398
 
1399 1399
 /**
1400 1400
  * Render an element's edit page.
1401 1401
  *
1402 1402
  * @param WP_Post $post
1403 1403
  */
1404
-function getpaid_payment_form_edit_element_template( $post ) {
1404
+function getpaid_payment_form_edit_element_template($post) {
1405 1405
 
1406 1406
     // Retrieve all elements.
1407
-    $all_elements = wp_list_pluck( wpinv_get_data( 'payment-form-elements' ), 'type' );
1407
+    $all_elements = wp_list_pluck(wpinv_get_data('payment-form-elements'), 'type');
1408 1408
 
1409
-    foreach ( $all_elements as $element ) {
1409
+    foreach ($all_elements as $element) {
1410 1410
 
1411 1411
         // Try to locate the appropriate template.
1412
-        $element = sanitize_key( $element );
1413
-        $located = wpinv_locate_template( "payment-forms-admin/edit/$element.php" );
1412
+        $element = sanitize_key($element);
1413
+        $located = wpinv_locate_template("payment-forms-admin/edit/$element.php");
1414 1414
 
1415 1415
         // Continue if this is not our element.
1416
-        if ( empty( $located ) || ! file_exists( $located ) ) {
1416
+        if (empty($located) || !file_exists($located)) {
1417 1417
             continue;
1418 1418
         }
1419 1419
 
@@ -1424,7 +1424,7 @@  discard block
 block discarded – undo
1424 1424
     }
1425 1425
 
1426 1426
 }
1427
-add_action( 'getpaid_payment_form_edit_element_template', 'getpaid_payment_form_edit_element_template' );
1427
+add_action('getpaid_payment_form_edit_element_template', 'getpaid_payment_form_edit_element_template');
1428 1428
 
1429 1429
 /**
1430 1430
  * Render an element's preview.
@@ -1433,16 +1433,16 @@  discard block
 block discarded – undo
1433 1433
 function getpaid_payment_form_render_element_preview_template() {
1434 1434
 
1435 1435
     // Retrieve all elements.
1436
-    $all_elements = wp_list_pluck( wpinv_get_data( 'payment-form-elements' ), 'type' );
1436
+    $all_elements = wp_list_pluck(wpinv_get_data('payment-form-elements'), 'type');
1437 1437
 
1438
-    foreach ( $all_elements as $element ) {
1438
+    foreach ($all_elements as $element) {
1439 1439
 
1440 1440
         // Try to locate the appropriate template.
1441
-        $element = sanitize_key( $element );
1442
-        $located = wpinv_locate_template( "payment-forms-admin/previews/$element.php" );
1441
+        $element = sanitize_key($element);
1442
+        $located = wpinv_locate_template("payment-forms-admin/previews/$element.php");
1443 1443
 
1444 1444
         // Continue if this is not our element.
1445
-        if ( empty( $located ) || ! file_exists( $located ) ) {
1445
+        if (empty($located) || !file_exists($located)) {
1446 1446
             continue;
1447 1447
         }
1448 1448
 
@@ -1453,7 +1453,7 @@  discard block
 block discarded – undo
1453 1453
     }
1454 1454
 
1455 1455
 }
1456
-add_action( 'wpinv_payment_form_render_element_template', 'getpaid_payment_form_render_element_preview_template' );
1456
+add_action('wpinv_payment_form_render_element_template', 'getpaid_payment_form_render_element_preview_template');
1457 1457
 
1458 1458
 /**
1459 1459
  * Shows a list of gateways that support recurring payments.
@@ -1461,17 +1461,17 @@  discard block
 block discarded – undo
1461 1461
 function wpinv_get_recurring_gateways_text() {
1462 1462
     $gateways = array();
1463 1463
 
1464
-    foreach ( wpinv_get_payment_gateways() as $key => $gateway ) {
1465
-        if ( wpinv_gateway_support_subscription( $key ) ) {
1466
-            $gateways[] = sanitize_text_field( $gateway['admin_label'] );
1464
+    foreach (wpinv_get_payment_gateways() as $key => $gateway) {
1465
+        if (wpinv_gateway_support_subscription($key)) {
1466
+            $gateways[] = sanitize_text_field($gateway['admin_label']);
1467 1467
         }
1468 1468
     }
1469 1469
 
1470
-    if ( empty( $gateways ) ) {
1471
-        return "<span class='form-text text-danger'>" . __( 'No active gateways support subscription payments.', 'invoicing' ) ."</span>";
1470
+    if (empty($gateways)) {
1471
+        return "<span class='form-text text-danger'>" . __('No active gateways support subscription payments.', 'invoicing') . "</span>";
1472 1472
     }
1473 1473
 
1474
-    return "<span class='form-text text-muted'>" . wp_sprintf( __( 'Subscription payments only supported by: %s', 'invoicing' ), implode( ', ', $gateways ) ) ."</span>";
1474
+    return "<span class='form-text text-muted'>" . wp_sprintf(__('Subscription payments only supported by: %s', 'invoicing'), implode(', ', $gateways)) . "</span>";
1475 1475
 
1476 1476
 }
1477 1477
 
@@ -1481,7 +1481,7 @@  discard block
 block discarded – undo
1481 1481
  * @return GetPaid_Template
1482 1482
  */
1483 1483
 function getpaid_template() {
1484
-    return getpaid()->get( 'template' );
1484
+    return getpaid()->get('template');
1485 1485
 }
1486 1486
 
1487 1487
 /**
@@ -1490,8 +1490,8 @@  discard block
 block discarded – undo
1490 1490
  * @param array args
1491 1491
  * @return string
1492 1492
  */
1493
-function getpaid_paginate_links( $args ) {
1494
-    return str_replace( 'page-link dots', 'page-link text-dark', aui()->pagination( $args ) );
1493
+function getpaid_paginate_links($args) {
1494
+    return str_replace('page-link dots', 'page-link text-dark', aui()->pagination($args));
1495 1495
 }
1496 1496
 
1497 1497
 /**
@@ -1501,21 +1501,21 @@  discard block
 block discarded – undo
1501 1501
  * @param string state
1502 1502
  * @return string
1503 1503
  */
1504
-function getpaid_get_states_select_markup( $country, $state, $placeholder, $label, $help_text, $required = false, $wrapper_class = 'col-12', $field_name = 'wpinv_state' ) {
1504
+function getpaid_get_states_select_markup($country, $state, $placeholder, $label, $help_text, $required = false, $wrapper_class = 'col-12', $field_name = 'wpinv_state') {
1505 1505
 
1506
-    $states = wpinv_get_country_states( $country );
1507
-    $uniqid = uniqid( '_' );
1506
+    $states = wpinv_get_country_states($country);
1507
+    $uniqid = uniqid('_');
1508 1508
 
1509
-    if ( ! empty( $states ) ) {
1509
+    if (!empty($states)) {
1510 1510
 
1511
-        return aui()->select( array(
1511
+        return aui()->select(array(
1512 1512
             'options'          => $states,
1513
-            'name'             => esc_attr( $field_name ),
1514
-            'id'               => sanitize_html_class( $field_name ) . $uniqid,
1515
-            'value'            => sanitize_text_field( $state ),
1513
+            'name'             => esc_attr($field_name),
1514
+            'id'               => sanitize_html_class($field_name) . $uniqid,
1515
+            'value'            => sanitize_text_field($state),
1516 1516
             'placeholder'      => $placeholder,
1517 1517
             'required'         => $required,
1518
-            'label'            => wp_kses_post( $label ),
1518
+            'label'            => wp_kses_post($label),
1519 1519
             'label_type'       => 'vertical',
1520 1520
             'help_text'        => $help_text,
1521 1521
             'class'            => 'getpaid-address-field wpinv_state',
@@ -1530,14 +1530,14 @@  discard block
 block discarded – undo
1530 1530
 
1531 1531
     return aui()->input(
1532 1532
         array(
1533
-            'name'        => esc_attr( $field_name ),
1534
-            'id'          => sanitize_html_class( $field_name ) . $uniqid,
1533
+            'name'        => esc_attr($field_name),
1534
+            'id'          => sanitize_html_class($field_name) . $uniqid,
1535 1535
             'placeholder' => $placeholder,
1536 1536
             'required'    => $required,
1537
-            'label'       => wp_kses_post( $label ),
1537
+            'label'       => wp_kses_post($label),
1538 1538
             'label_type'  => 'vertical',
1539 1539
             'help_text'   => $help_text,
1540
-            'value'       => sanitize_text_field( $state ),
1540
+            'value'       => sanitize_text_field($state),
1541 1541
             'class'       => 'getpaid-address-field wpinv_state',
1542 1542
             'wrap_class'  => "$wrapper_class getpaid-address-field-wrapper__state",
1543 1543
             'label_class' => 'getpaid-address-field-label getpaid-address-field-label__state',
@@ -1555,16 +1555,16 @@  discard block
 block discarded – undo
1555 1555
  * @param array $element
1556 1556
  * @return string
1557 1557
  */
1558
-function getpaid_get_form_element_grid_class( $element ) {
1558
+function getpaid_get_form_element_grid_class($element) {
1559 1559
 
1560 1560
     $class = "col-12";
1561
-    $width = empty( $element['grid_width'] ) ? 'full' : $element['grid_width'];
1561
+    $width = empty($element['grid_width']) ? 'full' : $element['grid_width'];
1562 1562
 
1563
-    if ( $width == 'half' ) {
1563
+    if ($width == 'half') {
1564 1564
         $class = "col-12 col-md-6";
1565 1565
     }
1566 1566
 
1567
-    if ( $width == 'third' ) {
1567
+    if ($width == 'third') {
1568 1568
         $class = "col-12 col-md-4";
1569 1569
     }
1570 1570
 
Please login to merge, or discard this patch.
ayecode/wp-ayecode-ui/includes/components/class-aui-component-input.php 3 patches
Braces   +15 added lines, -16 removed lines patch added patch discarded remove patch
@@ -80,10 +80,10 @@  discard block
 block discarded – undo
80 80
 			if($type=='file' ){
81 81
 				$label_after = true; // if type file we need the label after
82 82
 				$args['class'] .= ' custom-file-input ';
83
-			}elseif($type=='checkbox'){
83
+			} elseif($type=='checkbox'){
84 84
 				$label_after = true; // if type file we need the label after
85 85
 				$args['class'] .= ' custom-control-input ';
86
-			}elseif($type=='datepicker' || $type=='timepicker'){
86
+			} elseif($type=='datepicker' || $type=='timepicker'){
87 87
 				$type = 'text';
88 88
 				//$args['class'] .= ' aui-flatpickr bg-initial ';
89 89
 				$args['class'] .= ' bg-initial ';
@@ -167,8 +167,7 @@  discard block
 block discarded – undo
167 167
 
168 168
 			// label
169 169
 			if(!empty($args['label'])){
170
-				if($type == 'file'){$label_args['class'] .= 'custom-file-label';}
171
-				elseif($type == 'checkbox'){$label_args['class'] .= 'custom-control-label';}
170
+				if($type == 'file'){$label_args['class'] .= 'custom-file-label';} elseif($type == 'checkbox'){$label_args['class'] .= 'custom-control-label';}
172 171
 				$label = self::label( $label_args, $type );
173 172
 			}
174 173
 
@@ -189,7 +188,7 @@  discard block
 block discarded – undo
189 188
 					'content' => $output,
190 189
 					'class'   => 'form-group custom-file'
191 190
 				) );
192
-			}elseif($type == 'checkbox'){
191
+			} elseif($type == 'checkbox'){
193 192
 				$wrap_class = $args['switch'] ? 'custom-switch' : 'custom-checkbox';
194 193
 				$output = self::wrap( array(
195 194
 					'content' => $output,
@@ -199,7 +198,7 @@  discard block
 block discarded – undo
199 198
 				if($args['label_type']=='horizontal'){
200 199
 					$output = '<div class="col-sm-2 col-form-label"></div><div class="col-sm-10">' . $output . '</div>';
201 200
 				}
202
-			}elseif($type == 'password' && $args['password_toggle'] && !$args['input_group_right']){
201
+			} elseif($type == 'password' && $args['password_toggle'] && !$args['input_group_right']){
203 202
 
204 203
 
205 204
 				// allow password field to toggle view
@@ -325,7 +324,7 @@  discard block
 block discarded – undo
325 324
 
326 325
 		// label
327 326
 		if(!empty($args['label']) && is_array($args['label'])){
328
-		}elseif(!empty($args['label']) && !$label_after){
327
+		} elseif(!empty($args['label']) && !$label_after){
329 328
 			$label_args = array(
330 329
 				'title'=> $args['label'],
331 330
 				'for'=> $args['id'],
@@ -360,7 +359,7 @@  discard block
 block discarded – undo
360 359
 
361 360
 			wp_editor( $content, $editor_id, $settings );
362 361
 			$output .= ob_get_clean();
363
-		}else{
362
+		} else{
364 363
 
365 364
 			// open
366 365
 			$output .= '<textarea ';
@@ -483,7 +482,7 @@  discard block
 block discarded – undo
483 482
 			// maybe hide labels //@todo set a global option for visibility class
484 483
 			if($type == 'file' || $type == 'checkbox' || $type == 'radio' || !empty($args['label_type']) ){
485 484
 				$class = $args['class'];
486
-			}else{
485
+			} else{
487 486
 				$class = 'sr-only '.$args['class'];
488 487
 			}
489 488
 
@@ -594,7 +593,7 @@  discard block
 block discarded – undo
594 593
 			$output .= '</'.sanitize_html_class($args['type']).'>';
595 594
 
596 595
 
597
-		}else{
596
+		} else{
598 597
 			$output = $args['content'];
599 598
 		}
600 599
 
@@ -657,7 +656,7 @@  discard block
 block discarded – undo
657 656
 		if(!empty($args['select2'])){
658 657
 			$args['class'] .= ' aui-select2';
659 658
 			$is_select2 = true;
660
-		}elseif( strpos($args['class'], 'aui-select2') !== false){
659
+		} elseif( strpos($args['class'], 'aui-select2') !== false){
661 660
 			$is_select2 = true;
662 661
 		}
663 662
 
@@ -676,7 +675,7 @@  discard block
 block discarded – undo
676 675
 
677 676
 		// label
678 677
 		if(!empty($args['label']) && is_array($args['label'])){
679
-		}elseif(!empty($args['label']) && !$label_after){
678
+		} elseif(!empty($args['label']) && !$label_after){
680 679
 			$label_args = array(
681 680
 				'title'=> $args['label'],
682 681
 				'for'=> $args['id'],
@@ -751,7 +750,7 @@  discard block
 block discarded – undo
751 750
 		// placeholder
752 751
 		if(isset($args['placeholder']) && '' != $args['placeholder'] && !$is_select2){
753 752
 			$output .= '<option value="" disabled selected hidden>'.esc_attr($args['placeholder']).'</option>';
754
-		}elseif($is_select2 && !empty($args['placeholder'])){
753
+		} elseif($is_select2 && !empty($args['placeholder'])){
755 754
 			$output .= "<option></option>"; // select2 needs an empty select to fill the placeholder
756 755
 		}
757 756
 
@@ -760,7 +759,7 @@  discard block
 block discarded – undo
760 759
 
761 760
 			if(!is_array($args['options'])){
762 761
 				$output .= $args['options']; // not the preferred way but an option
763
-			}else{
762
+			} else{
764 763
 				foreach($args['options'] as $val => $name){
765 764
 					$selected = '';
766 765
 					if(is_array($name)){
@@ -779,7 +778,7 @@  discard block
 block discarded – undo
779 778
 
780 779
 							$output .= '<option value="' . esc_attr($option_value) . '" ' . $selected . '>' . $option_label . '</option>';
781 780
 						}
782
-					}else{
781
+					} else{
783 782
 						if(!empty($args['value'])){
784 783
 							if(is_array($args['value'])){
785 784
 								$selected = in_array($val,$args['value']) ? 'selected="selected"' : '';
@@ -1002,7 +1001,7 @@  discard block
 block discarded – undo
1002 1001
 
1003 1002
 		// label
1004 1003
 		if(!empty($args['label']) && is_array($args['label'])){
1005
-		}elseif(!empty($args['label'])){
1004
+		} elseif(!empty($args['label'])){
1006 1005
 			$output .= self::label(array('title'=>$args['label'],'for'=>$args['id'].$count,'class'=>'form-check-label'),'radio');
1007 1006
 		}
1008 1007
 
Please login to merge, or discard this patch.
Indentation   +1012 added lines, -1012 removed lines patch added patch discarded remove patch
@@ -1,7 +1,7 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3 3
 if ( ! defined( 'ABSPATH' ) ) {
4
-	exit; // Exit if accessed directly
4
+    exit; // Exit if accessed directly
5 5
 }
6 6
 
7 7
 /**
@@ -11,1022 +11,1022 @@  discard block
 block discarded – undo
11 11
  */
12 12
 class AUI_Component_Input {
13 13
 
14
-	/**
15
-	 * Build the component.
16
-	 *
17
-	 * @param array $args
18
-	 *
19
-	 * @return string The rendered component.
20
-	 */
21
-	public static function input($args = array()){
22
-		$defaults = array(
23
-			'type'       => 'text',
24
-			'name'       => '',
25
-			'class'      => '',
26
-			'wrap_class' => '',
27
-			'id'         => '',
28
-			'placeholder'=> '',
29
-			'title'      => '',
30
-			'value'      => '',
31
-			'required'   => false,
32
-			'label'      => '',
33
-			'label_after'=> false,
34
-			'label_class'=> '',
35
-			'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
36
-			'help_text'  => '',
37
-			'validation_text'   => '',
38
-			'validation_pattern' => '',
39
-			'no_wrap'    => false,
40
-			'input_group_right' => '',
41
-			'input_group_left' => '',
42
-			'input_group_right_inside' => false, // forces the input group inside the input
43
-			'input_group_left_inside' => false, // forces the input group inside the input
44
-			'step'       => '',
45
-			'switch'     => false, // to show checkbox as a switch
46
-			'checked'   => false, // set a checkbox or radio as selected
47
-			'password_toggle' => true, // toggle view/hide password
48
-			'element_require'   => '', // [%element_id%] == "1"
49
-			'extra_attributes'  => array() // an array of extra attributes
50
-		);
51
-
52
-		/**
53
-		 * Parse incoming $args into an array and merge it with $defaults
54
-		 */
55
-		$args   = wp_parse_args( $args, $defaults );
56
-		$output = '';
57
-		if ( ! empty( $args['type'] ) ) {
58
-			// hidden label option needs to be empty
59
-			$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
60
-
61
-			$type = sanitize_html_class( $args['type'] );
62
-
63
-			$help_text = '';
64
-			$label = '';
65
-			$label_after = $args['label_after'];
66
-			$label_args = array(
67
-				'title'=> $args['label'],
68
-				'for'=> $args['id'],
69
-				'class' => $args['label_class']." ",
70
-				'label_type' => $args['label_type']
71
-			);
72
-
73
-			// floating labels need label after
74
-			if( $args['label_type'] == 'floating' && $type != 'checkbox' ){
75
-				$label_after = true;
76
-				$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
77
-			}
78
-
79
-			// Some special sauce for files
80
-			if($type=='file' ){
81
-				$label_after = true; // if type file we need the label after
82
-				$args['class'] .= ' custom-file-input ';
83
-			}elseif($type=='checkbox'){
84
-				$label_after = true; // if type file we need the label after
85
-				$args['class'] .= ' custom-control-input ';
86
-			}elseif($type=='datepicker' || $type=='timepicker'){
87
-				$type = 'text';
88
-				//$args['class'] .= ' aui-flatpickr bg-initial ';
89
-				$args['class'] .= ' bg-initial ';
90
-
91
-				$args['extra_attributes']['data-aui-init'] = 'flatpickr';
92
-				// enqueue the script
93
-				$aui_settings = AyeCode_UI_Settings::instance();
94
-				$aui_settings->enqueue_flatpickr();
95
-			}
96
-
97
-
98
-			// open/type
99
-			$output .= '<input type="' . $type . '" ';
100
-
101
-			// name
102
-			if(!empty($args['name'])){
103
-				$output .= ' name="'.esc_attr($args['name']).'" ';
104
-			}
105
-
106
-			// id
107
-			if(!empty($args['id'])){
108
-				$output .= ' id="'.sanitize_html_class($args['id']).'" ';
109
-			}
110
-
111
-			// placeholder
112
-			if(isset($args['placeholder']) && '' != $args['placeholder'] ){
113
-				$output .= ' placeholder="'.esc_attr($args['placeholder']).'" ';
114
-			}
115
-
116
-			// title
117
-			if(!empty($args['title'])){
118
-				$output .= ' title="'.esc_attr($args['title']).'" ';
119
-			}
120
-
121
-			// value
122
-			if(!empty($args['value'])){
123
-				$output .= ' value="'.sanitize_text_field($args['value']).'" ';
124
-			}
125
-
126
-			// checked, for radio and checkboxes
127
-			if( ( $type == 'checkbox' || $type == 'radio' ) && $args['checked'] ){
128
-				$output .= ' checked ';
129
-			}
130
-
131
-			// validation text
132
-			if(!empty($args['validation_text'])){
133
-				$output .= ' oninvalid="setCustomValidity(\''.esc_attr($args['validation_text']).'\')" ';
134
-				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
135
-			}
136
-
137
-			// validation_pattern
138
-			if(!empty($args['validation_pattern'])){
139
-				$output .= ' pattern="'.$args['validation_pattern'].'" ';
140
-			}
141
-
142
-			// step (for numbers)
143
-			if(!empty($args['step'])){
144
-				$output .= ' step="'.$args['step'].'" ';
145
-			}
146
-
147
-			// required
148
-			if(!empty($args['required'])){
149
-				$output .= ' required ';
150
-			}
151
-
152
-			// class
153
-			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
154
-			$output .= ' class="form-control '.$class.'" ';
155
-
156
-			// data-attributes
157
-			$output .= AUI_Component_Helper::data_attributes($args);
158
-
159
-			// extra attributes
160
-			if(!empty($args['extra_attributes'])){
161
-				$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
162
-			}
163
-
164
-			// close
165
-			$output .= ' >';
166
-
167
-
168
-			// label
169
-			if(!empty($args['label'])){
170
-				if($type == 'file'){$label_args['class'] .= 'custom-file-label';}
171
-				elseif($type == 'checkbox'){$label_args['class'] .= 'custom-control-label';}
172
-				$label = self::label( $label_args, $type );
173
-			}
174
-
175
-			// help text
176
-			if(!empty($args['help_text'])){
177
-				$help_text = AUI_Component_Helper::help_text($args['help_text']);
178
-			}
179
-
180
-
181
-			// set help text in the correct possition
182
-			if($label_after){
183
-				$output .= $label . $help_text;
184
-			}
185
-
186
-			// some input types need a separate wrap
187
-			if($type == 'file') {
188
-				$output = self::wrap( array(
189
-					'content' => $output,
190
-					'class'   => 'form-group custom-file'
191
-				) );
192
-			}elseif($type == 'checkbox'){
193
-				$wrap_class = $args['switch'] ? 'custom-switch' : 'custom-checkbox';
194
-				$output = self::wrap( array(
195
-					'content' => $output,
196
-					'class'   => 'custom-control '.$wrap_class
197
-				) );
198
-
199
-				if($args['label_type']=='horizontal'){
200
-					$output = '<div class="col-sm-2 col-form-label"></div><div class="col-sm-10">' . $output . '</div>';
201
-				}
202
-			}elseif($type == 'password' && $args['password_toggle'] && !$args['input_group_right']){
203
-
204
-
205
-				// allow password field to toggle view
206
-				$args['input_group_right'] = '<span class="input-group-text c-pointer px-3" 
14
+    /**
15
+     * Build the component.
16
+     *
17
+     * @param array $args
18
+     *
19
+     * @return string The rendered component.
20
+     */
21
+    public static function input($args = array()){
22
+        $defaults = array(
23
+            'type'       => 'text',
24
+            'name'       => '',
25
+            'class'      => '',
26
+            'wrap_class' => '',
27
+            'id'         => '',
28
+            'placeholder'=> '',
29
+            'title'      => '',
30
+            'value'      => '',
31
+            'required'   => false,
32
+            'label'      => '',
33
+            'label_after'=> false,
34
+            'label_class'=> '',
35
+            'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
36
+            'help_text'  => '',
37
+            'validation_text'   => '',
38
+            'validation_pattern' => '',
39
+            'no_wrap'    => false,
40
+            'input_group_right' => '',
41
+            'input_group_left' => '',
42
+            'input_group_right_inside' => false, // forces the input group inside the input
43
+            'input_group_left_inside' => false, // forces the input group inside the input
44
+            'step'       => '',
45
+            'switch'     => false, // to show checkbox as a switch
46
+            'checked'   => false, // set a checkbox or radio as selected
47
+            'password_toggle' => true, // toggle view/hide password
48
+            'element_require'   => '', // [%element_id%] == "1"
49
+            'extra_attributes'  => array() // an array of extra attributes
50
+        );
51
+
52
+        /**
53
+         * Parse incoming $args into an array and merge it with $defaults
54
+         */
55
+        $args   = wp_parse_args( $args, $defaults );
56
+        $output = '';
57
+        if ( ! empty( $args['type'] ) ) {
58
+            // hidden label option needs to be empty
59
+            $args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
60
+
61
+            $type = sanitize_html_class( $args['type'] );
62
+
63
+            $help_text = '';
64
+            $label = '';
65
+            $label_after = $args['label_after'];
66
+            $label_args = array(
67
+                'title'=> $args['label'],
68
+                'for'=> $args['id'],
69
+                'class' => $args['label_class']." ",
70
+                'label_type' => $args['label_type']
71
+            );
72
+
73
+            // floating labels need label after
74
+            if( $args['label_type'] == 'floating' && $type != 'checkbox' ){
75
+                $label_after = true;
76
+                $args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
77
+            }
78
+
79
+            // Some special sauce for files
80
+            if($type=='file' ){
81
+                $label_after = true; // if type file we need the label after
82
+                $args['class'] .= ' custom-file-input ';
83
+            }elseif($type=='checkbox'){
84
+                $label_after = true; // if type file we need the label after
85
+                $args['class'] .= ' custom-control-input ';
86
+            }elseif($type=='datepicker' || $type=='timepicker'){
87
+                $type = 'text';
88
+                //$args['class'] .= ' aui-flatpickr bg-initial ';
89
+                $args['class'] .= ' bg-initial ';
90
+
91
+                $args['extra_attributes']['data-aui-init'] = 'flatpickr';
92
+                // enqueue the script
93
+                $aui_settings = AyeCode_UI_Settings::instance();
94
+                $aui_settings->enqueue_flatpickr();
95
+            }
96
+
97
+
98
+            // open/type
99
+            $output .= '<input type="' . $type . '" ';
100
+
101
+            // name
102
+            if(!empty($args['name'])){
103
+                $output .= ' name="'.esc_attr($args['name']).'" ';
104
+            }
105
+
106
+            // id
107
+            if(!empty($args['id'])){
108
+                $output .= ' id="'.sanitize_html_class($args['id']).'" ';
109
+            }
110
+
111
+            // placeholder
112
+            if(isset($args['placeholder']) && '' != $args['placeholder'] ){
113
+                $output .= ' placeholder="'.esc_attr($args['placeholder']).'" ';
114
+            }
115
+
116
+            // title
117
+            if(!empty($args['title'])){
118
+                $output .= ' title="'.esc_attr($args['title']).'" ';
119
+            }
120
+
121
+            // value
122
+            if(!empty($args['value'])){
123
+                $output .= ' value="'.sanitize_text_field($args['value']).'" ';
124
+            }
125
+
126
+            // checked, for radio and checkboxes
127
+            if( ( $type == 'checkbox' || $type == 'radio' ) && $args['checked'] ){
128
+                $output .= ' checked ';
129
+            }
130
+
131
+            // validation text
132
+            if(!empty($args['validation_text'])){
133
+                $output .= ' oninvalid="setCustomValidity(\''.esc_attr($args['validation_text']).'\')" ';
134
+                $output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
135
+            }
136
+
137
+            // validation_pattern
138
+            if(!empty($args['validation_pattern'])){
139
+                $output .= ' pattern="'.$args['validation_pattern'].'" ';
140
+            }
141
+
142
+            // step (for numbers)
143
+            if(!empty($args['step'])){
144
+                $output .= ' step="'.$args['step'].'" ';
145
+            }
146
+
147
+            // required
148
+            if(!empty($args['required'])){
149
+                $output .= ' required ';
150
+            }
151
+
152
+            // class
153
+            $class = !empty($args['class']) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
154
+            $output .= ' class="form-control '.$class.'" ';
155
+
156
+            // data-attributes
157
+            $output .= AUI_Component_Helper::data_attributes($args);
158
+
159
+            // extra attributes
160
+            if(!empty($args['extra_attributes'])){
161
+                $output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
162
+            }
163
+
164
+            // close
165
+            $output .= ' >';
166
+
167
+
168
+            // label
169
+            if(!empty($args['label'])){
170
+                if($type == 'file'){$label_args['class'] .= 'custom-file-label';}
171
+                elseif($type == 'checkbox'){$label_args['class'] .= 'custom-control-label';}
172
+                $label = self::label( $label_args, $type );
173
+            }
174
+
175
+            // help text
176
+            if(!empty($args['help_text'])){
177
+                $help_text = AUI_Component_Helper::help_text($args['help_text']);
178
+            }
179
+
180
+
181
+            // set help text in the correct possition
182
+            if($label_after){
183
+                $output .= $label . $help_text;
184
+            }
185
+
186
+            // some input types need a separate wrap
187
+            if($type == 'file') {
188
+                $output = self::wrap( array(
189
+                    'content' => $output,
190
+                    'class'   => 'form-group custom-file'
191
+                ) );
192
+            }elseif($type == 'checkbox'){
193
+                $wrap_class = $args['switch'] ? 'custom-switch' : 'custom-checkbox';
194
+                $output = self::wrap( array(
195
+                    'content' => $output,
196
+                    'class'   => 'custom-control '.$wrap_class
197
+                ) );
198
+
199
+                if($args['label_type']=='horizontal'){
200
+                    $output = '<div class="col-sm-2 col-form-label"></div><div class="col-sm-10">' . $output . '</div>';
201
+                }
202
+            }elseif($type == 'password' && $args['password_toggle'] && !$args['input_group_right']){
203
+
204
+
205
+                // allow password field to toggle view
206
+                $args['input_group_right'] = '<span class="input-group-text c-pointer px-3" 
207 207
 onclick="var $el = jQuery(this).find(\'i\');$el.toggleClass(\'fa-eye fa-eye-slash\');
208 208
 var $eli = jQuery(this).parent().parent().find(\'input\');
209 209
 if($el.hasClass(\'fa-eye\'))
210 210
 {$eli.attr(\'type\',\'text\');}
211 211
 else{$eli.attr(\'type\',\'password\');}"
212 212
 ><i class="far fa-fw fa-eye-slash"></i></span>';
213
-			}
214
-
215
-			// input group wraps
216
-			if($args['input_group_left'] || $args['input_group_right']){
217
-				$w100 = strpos($args['class'], 'w-100') !== false ? ' w-100' : '';
218
-				if($args['input_group_left']){
219
-					$output = self::wrap( array(
220
-						'content' => $output,
221
-						'class'   => $args['input_group_left_inside'] ? 'input-group-inside position-relative'.$w100  : 'input-group',
222
-						'input_group_left' => $args['input_group_left'],
223
-						'input_group_left_inside'    => $args['input_group_left_inside']
224
-					) );
225
-				}
226
-				if($args['input_group_right']){
227
-					$output = self::wrap( array(
228
-						'content' => $output,
229
-						'class'   => $args['input_group_right_inside'] ? 'input-group-inside position-relative'.$w100 : 'input-group',
230
-						'input_group_right' => $args['input_group_right'],
231
-						'input_group_right_inside'    => $args['input_group_right_inside']
232
-					) );
233
-				}
234
-
235
-			}
236
-
237
-			if(!$label_after){
238
-				$output .= $help_text;
239
-			}
240
-
241
-
242
-			if($args['label_type']=='horizontal' && $type != 'checkbox'){
243
-				$output = self::wrap( array(
244
-					'content' => $output,
245
-					'class'   => 'col-sm-10',
246
-				) );
247
-			}
248
-
249
-			if(!$label_after){
250
-				$output = $label . $output;
251
-			}
252
-
253
-			// wrap
254
-			if(!$args['no_wrap']){
255
-
256
-				$form_group_class = $args['label_type']=='floating' && $type != 'checkbox' ? 'form-label-group' : 'form-group';
257
-				$wrap_class = $args['label_type']=='horizontal' ? $form_group_class . ' row' : $form_group_class;
258
-				$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
259
-				$output = self::wrap(array(
260
-					'content' => $output,
261
-					'class'   => $wrap_class,
262
-					'element_require'   => $args['element_require'],
263
-					'argument_id'  => $args['id']
264
-				));
265
-			}
266
-
267
-
268
-
269
-		}
270
-
271
-		return $output;
272
-	}
273
-
274
-	/**
275
-	 * Build the component.
276
-	 *
277
-	 * @param array $args
278
-	 *
279
-	 * @return string The rendered component.
280
-	 */
281
-	public static function textarea($args = array()){
282
-		$defaults = array(
283
-			'name'       => '',
284
-			'class'      => '',
285
-			'wrap_class' => '',
286
-			'id'         => '',
287
-			'placeholder'=> '',
288
-			'title'      => '',
289
-			'value'      => '',
290
-			'required'   => false,
291
-			'label'      => '',
292
-			'label_after'=> false,
293
-			'label_class'      => '',
294
-			'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
295
-			'help_text'  => '',
296
-			'validation_text'   => '',
297
-			'validation_pattern' => '',
298
-			'no_wrap'    => false,
299
-			'rows'      => '',
300
-			'wysiwyg'   => false,
301
-			'allow_tags' => false, // Allow HTML tags
302
-			'element_require'   => '', // [%element_id%] == "1"
303
-			'extra_attributes'  => array(), // an array of extra attributes
304
-		);
305
-
306
-		/**
307
-		 * Parse incoming $args into an array and merge it with $defaults
308
-		 */
309
-		$args   = wp_parse_args( $args, $defaults );
310
-		$output = '';
311
-
312
-		// hidden label option needs to be empty
313
-		$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
314
-
315
-		// floating labels don't work with wysiwyg so set it as top
316
-		if($args['label_type'] == 'floating' && !empty($args['wysiwyg'])){
317
-			$args['label_type'] = 'top';
318
-		}
319
-
320
-		$label_after = $args['label_after'];
321
-
322
-		// floating labels need label after
323
-		if( $args['label_type'] == 'floating' && empty($args['wysiwyg']) ){
324
-			$label_after = true;
325
-			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
326
-		}
327
-
328
-		// label
329
-		if(!empty($args['label']) && is_array($args['label'])){
330
-		}elseif(!empty($args['label']) && !$label_after){
331
-			$label_args = array(
332
-				'title'=> $args['label'],
333
-				'for'=> $args['id'],
334
-				'class' => $args['label_class']." ",
335
-				'label_type' => $args['label_type']
336
-			);
337
-			$output .= self::label( $label_args );
338
-		}
339
-
340
-		// maybe horizontal label
341
-		if($args['label_type']=='horizontal'){
342
-			$output .= '<div class="col-sm-10">';
343
-		}
344
-
345
-		if(!empty($args['wysiwyg'])){
346
-			ob_start();
347
-			$content = $args['value'];
348
-			$editor_id = !empty($args['id']) ? sanitize_html_class($args['id']) : 'wp_editor';
349
-			$settings = array(
350
-				'textarea_rows' => !empty(absint($args['rows'])) ? absint($args['rows']) : 4,
351
-				'quicktags'     => false,
352
-				'media_buttons' => false,
353
-				'editor_class'  => 'form-control',
354
-				'textarea_name' => !empty($args['name']) ? sanitize_html_class($args['name']) : sanitize_html_class($args['id']),
355
-				'teeny'         => true,
356
-			);
357
-
358
-			// maybe set settings if array
359
-			if(is_array($args['wysiwyg'])){
360
-				$settings  = wp_parse_args( $args['wysiwyg'], $settings );
361
-			}
362
-
363
-			wp_editor( $content, $editor_id, $settings );
364
-			$output .= ob_get_clean();
365
-		}else{
366
-
367
-			// open
368
-			$output .= '<textarea ';
369
-
370
-			// name
371
-			if(!empty($args['name'])){
372
-				$output .= ' name="'.sanitize_html_class($args['name']).'" ';
373
-			}
374
-
375
-			// id
376
-			if(!empty($args['id'])){
377
-				$output .= ' id="'.sanitize_html_class($args['id']).'" ';
378
-			}
379
-
380
-			// placeholder
381
-			if(isset($args['placeholder']) && '' != $args['placeholder']){
382
-				$output .= ' placeholder="'.esc_attr($args['placeholder']).'" ';
383
-			}
384
-
385
-			// title
386
-			if(!empty($args['title'])){
387
-				$output .= ' title="'.esc_attr($args['title']).'" ';
388
-			}
389
-
390
-			// validation text
391
-			if(!empty($args['validation_text'])){
392
-				$output .= ' oninvalid="setCustomValidity(\''.esc_attr($args['validation_text']).'\')" ';
393
-				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
394
-			}
395
-
396
-			// validation_pattern
397
-			if(!empty($args['validation_pattern'])){
398
-				$output .= ' pattern="'.$args['validation_pattern'].'" ';
399
-			}
400
-
401
-			// required
402
-			if(!empty($args['required'])){
403
-				$output .= ' required ';
404
-			}
405
-
406
-			// rows
407
-			if(!empty($args['rows'])){
408
-				$output .= ' rows="'.absint($args['rows']).'" ';
409
-			}
410
-
411
-
412
-			// class
413
-			$class = !empty($args['class']) ? $args['class'] : '';
414
-			$output .= ' class="form-control '.$class.'" ';
415
-
416
-			// extra attributes
417
-			if(!empty($args['extra_attributes'])){
418
-				$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
419
-			}
420
-
421
-			// close tag
422
-			$output .= ' >';
423
-
424
-			// value
425
-			if ( ! empty( $args['value'] ) ) {
426
-				if ( ! empty( $args['allow_tags'] ) ) {
427
-					$output .= AUI_Component_Helper::sanitize_html_field( $args['value'], $args ); // Sanitize HTML.
428
-				} else {
429
-					$output .= sanitize_textarea_field( $args['value'] );
430
-				}
431
-			}
432
-
433
-			// closing tag
434
-			$output .= '</textarea>';
435
-
436
-		}
437
-
438
-		if(!empty($args['label']) && $label_after){
439
-			$label_args = array(
440
-				'title'=> $args['label'],
441
-				'for'=> $args['id'],
442
-				'class' => $args['label_class']." ",
443
-				'label_type' => $args['label_type']
444
-			);
445
-			$output .= self::label( $label_args );
446
-		}
447
-
448
-		// help text
449
-		if(!empty($args['help_text'])){
450
-			$output .= AUI_Component_Helper::help_text($args['help_text']);
451
-		}
452
-
453
-		// maybe horizontal label
454
-		if($args['label_type']=='horizontal'){
455
-			$output .= '</div>';
456
-		}
457
-
458
-
459
-		// wrap
460
-		if(!$args['no_wrap']){
461
-			$form_group_class = $args['label_type']=='floating' ? 'form-label-group' : 'form-group';
462
-			$wrap_class = $args['label_type']=='horizontal' ? $form_group_class . ' row' : $form_group_class;
463
-			$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
464
-			$output = self::wrap(array(
465
-				'content' => $output,
466
-				'class'   => $wrap_class,
467
-				'element_require'   => $args['element_require'],
468
-				'argument_id'  => $args['id']
469
-			));
470
-		}
471
-
472
-
473
-		return $output;
474
-	}
475
-
476
-	public static function label($args = array(), $type = ''){
477
-		//<label for="exampleInputEmail1">Email address</label>
478
-		$defaults = array(
479
-			'title'       => 'div',
480
-			'for'      => '',
481
-			'class'      => '',
482
-			'label_type'    => '', // empty = hidden, top, horizontal
483
-		);
484
-
485
-		/**
486
-		 * Parse incoming $args into an array and merge it with $defaults
487
-		 */
488
-		$args   = wp_parse_args( $args, $defaults );
489
-		$output = '';
490
-
491
-		if($args['title']){
492
-
493
-			// maybe hide labels //@todo set a global option for visibility class
494
-			if($type == 'file' || $type == 'checkbox' || $type == 'radio' || !empty($args['label_type']) ){
495
-				$class = $args['class'];
496
-			}else{
497
-				$class = 'sr-only '.$args['class'];
498
-			}
499
-
500
-			// maybe horizontal
501
-			if($args['label_type']=='horizontal' && $type != 'checkbox'){
502
-				$class .= ' col-sm-2 col-form-label';
503
-			}
504
-
505
-			// open
506
-			$output .= '<label ';
507
-
508
-			// for
509
-			if(!empty($args['for'])){
510
-				$output .= ' for="'.sanitize_text_field($args['for']).'" ';
511
-			}
512
-
513
-			// class
514
-			$class = $class ? AUI_Component_Helper::esc_classes( $class ) : '';
515
-			$output .= ' class="'.$class.'" ';
516
-
517
-			// close
518
-			$output .= '>';
519
-
520
-
521
-			// title, don't escape fully as can contain html
522
-			if(!empty($args['title'])){
523
-				$output .= wp_kses_post($args['title']);
524
-			}
525
-
526
-			// close wrap
527
-			$output .= '</label>';
528
-
529
-
530
-		}
531
-
532
-
533
-		return $output;
534
-	}
535
-
536
-	/**
537
-	 * Wrap some content in a HTML wrapper.
538
-	 *
539
-	 * @param array $args
540
-	 *
541
-	 * @return string
542
-	 */
543
-	public static function wrap($args = array()){
544
-		$defaults = array(
545
-			'type'       => 'div',
546
-			'class'      => 'form-group',
547
-			'content'   => '',
548
-			'input_group_left' => '',
549
-			'input_group_right' => '',
550
-			'input_group_left_inside' => false,
551
-			'input_group_right_inside' => false,
552
-			'element_require'   => '',
553
-			'argument_id'   => '',
554
-		);
555
-
556
-		/**
557
-		 * Parse incoming $args into an array and merge it with $defaults
558
-		 */
559
-		$args   = wp_parse_args( $args, $defaults );
560
-		$output = '';
561
-		if($args['type']){
562
-
563
-			// open
564
-			$output .= '<'.sanitize_html_class($args['type']);
565
-
566
-			// element require
567
-			if(!empty($args['element_require'])){
568
-				$output .= AUI_Component_Helper::element_require($args['element_require']);
569
-				$args['class'] .= " aui-conditional-field";
570
-			}
571
-
572
-			// argument_id
573
-			if( !empty($args['argument_id']) ){
574
-				$output .= ' data-argument="'.esc_attr($args['argument_id']).'"';
575
-			}
576
-
577
-			// class
578
-			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
579
-			$output .= ' class="'.$class.'" ';
580
-
581
-			// close wrap
582
-			$output .= ' >';
583
-
584
-
585
-			// Input group left
586
-			if(!empty($args['input_group_left'])){
587
-				$position_class = !empty($args['input_group_left_inside']) ? 'position-absolute h-100' : '';
588
-				$input_group_left = strpos($args['input_group_left'], '<') !== false ? $args['input_group_left'] : '<span class="input-group-text">'.$args['input_group_left'].'</span>';
589
-				$output .= '<div class="input-group-prepend '.$position_class.'">'.$input_group_left.'</div>';
590
-			}
591
-
592
-			// content
593
-			$output .= $args['content'];
594
-
595
-			// Input group right
596
-			if(!empty($args['input_group_right'])){
597
-				$position_class = !empty($args['input_group_left_inside']) ? 'position-absolute h-100' : '';
598
-				$input_group_right = strpos($args['input_group_right'], '<') !== false ? $args['input_group_right'] : '<span class="input-group-text">'.$args['input_group_right'].'</span>';
599
-				$output .= '<div class="input-group-append '.$position_class.'">'.$input_group_right.'</div>';
600
-			}
601
-
602
-
603
-			// close wrap
604
-			$output .= '</'.sanitize_html_class($args['type']).'>';
605
-
606
-
607
-		}else{
608
-			$output = $args['content'];
609
-		}
610
-
611
-		return $output;
612
-	}
613
-
614
-	/**
615
-	 * Build the component.
616
-	 *
617
-	 * @param array $args
618
-	 *
619
-	 * @return string The rendered component.
620
-	 */
621
-	public static function select($args = array()){
622
-		$defaults = array(
623
-			'class'      => '',
624
-			'wrap_class' => '',
625
-			'id'         => '',
626
-			'title'      => '',
627
-			'value'      => '', // can be an array or a string
628
-			'required'   => false,
629
-			'label'      => '',
630
-			'label_after'=> false,
631
-			'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
632
-			'label_class'      => '',
633
-			'help_text'  => '',
634
-			'placeholder'=> '',
635
-			'options'    => array(), // array or string
636
-			'icon'       => '',
637
-			'multiple'   => false,
638
-			'select2'    => false,
639
-			'no_wrap'    => false,
640
-			'element_require'   => '', // [%element_id%] == "1"
641
-			'extra_attributes'  => array(), // an array of extra attributes
642
-		);
643
-
644
-		/**
645
-		 * Parse incoming $args into an array and merge it with $defaults
646
-		 */
647
-		$args   = wp_parse_args( $args, $defaults );
648
-		$output = '';
649
-
650
-		// for now lets hide floating labels
651
-		if( $args['label_type'] == 'floating' ){$args['label_type'] = 'hidden';}
652
-
653
-		// hidden label option needs to be empty
654
-		$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
655
-
656
-
657
-		$label_after = $args['label_after'];
658
-
659
-		// floating labels need label after
660
-		if( $args['label_type'] == 'floating' ){
661
-			$label_after = true;
662
-			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
663
-		}
664
-
665
-		// Maybe setup select2
666
-		$is_select2 = false;
667
-		if(!empty($args['select2'])){
668
-			$args['class'] .= ' aui-select2';
669
-			$is_select2 = true;
670
-		}elseif( strpos($args['class'], 'aui-select2') !== false){
671
-			$is_select2 = true;
672
-		}
673
-
674
-		// select2 tags
675
-		if( !empty($args['select2']) && $args['select2'] === 'tags'){ // triple equals needed here for some reason
676
-			$args['data-tags'] = 'true';
677
-			$args['data-token-separators'] = "[',']";
678
-			$args['multiple'] = true;
679
-		}
680
-
681
-		// select2 placeholder
682
-		if($is_select2 && isset($args['placeholder']) && '' != $args['placeholder'] && empty($args['data-placeholder'])){
683
-			$args['data-placeholder'] = esc_attr($args['placeholder']);
684
-			$args['data-allow-clear'] = isset($args['data-allow-clear']) ? (bool) $args['data-allow-clear'] : true;
685
-		}
686
-
687
-		// label
688
-		if(!empty($args['label']) && is_array($args['label'])){
689
-		}elseif(!empty($args['label']) && !$label_after){
690
-			$label_args = array(
691
-				'title'=> $args['label'],
692
-				'for'=> $args['id'],
693
-				'class' => $args['label_class']." ",
694
-				'label_type' => $args['label_type']
695
-			);
696
-			$output .= self::label($label_args);
697
-		}
698
-
699
-		// maybe horizontal label
700
-		if($args['label_type']=='horizontal'){
701
-			$output .= '<div class="col-sm-10">';
702
-		}
703
-
704
-		// open/type
705
-		$output .= '<select ';
706
-
707
-		// style
708
-		if($is_select2){
709
-			$output .= " style='width:100%;' ";
710
-		}
711
-
712
-		// element require
713
-		if(!empty($args['element_require'])){
714
-			$output .= AUI_Component_Helper::element_require($args['element_require']);
715
-			$args['class'] .= " aui-conditional-field";
716
-		}
717
-
718
-		// class
719
-		$class = !empty($args['class']) ? $args['class'] : '';
720
-		$output .= AUI_Component_Helper::class_attr('custom-select '.$class);
721
-
722
-		// name
723
-		if(!empty($args['name'])){
724
-			$output .= AUI_Component_Helper::name($args['name'],$args['multiple']);
725
-		}
726
-
727
-		// id
728
-		if(!empty($args['id'])){
729
-			$output .= AUI_Component_Helper::id($args['id']);
730
-		}
731
-
732
-		// title
733
-		if(!empty($args['title'])){
734
-			$output .= AUI_Component_Helper::title($args['title']);
735
-		}
736
-
737
-		// data-attributes
738
-		$output .= AUI_Component_Helper::data_attributes($args);
739
-
740
-		// aria-attributes
741
-		$output .= AUI_Component_Helper::aria_attributes($args);
742
-
743
-		// extra attributes
744
-		if(!empty($args['extra_attributes'])){
745
-			$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
746
-		}
747
-
748
-		// required
749
-		if(!empty($args['required'])){
750
-			$output .= ' required ';
751
-		}
752
-
753
-		// multiple
754
-		if(!empty($args['multiple'])){
755
-			$output .= ' multiple ';
756
-		}
757
-
758
-		// close opening tag
759
-		$output .= ' >';
760
-
761
-		// placeholder
762
-		if(isset($args['placeholder']) && '' != $args['placeholder'] && !$is_select2){
763
-			$output .= '<option value="" disabled selected hidden>'.esc_attr($args['placeholder']).'</option>';
764
-		}elseif($is_select2 && !empty($args['placeholder'])){
765
-			$output .= "<option></option>"; // select2 needs an empty select to fill the placeholder
766
-		}
767
-
768
-		// Options
769
-		if(!empty($args['options'])){
770
-
771
-			if(!is_array($args['options'])){
772
-				$output .= $args['options']; // not the preferred way but an option
773
-			}else{
774
-				foreach($args['options'] as $val => $name){
775
-					$selected = '';
776
-					if(is_array($name)){
777
-						if (isset($name['optgroup']) && ($name['optgroup'] == 'start' || $name['optgroup'] == 'end')) {
778
-							$option_label = isset($name['label']) ? $name['label'] : '';
779
-
780
-							$output .= $name['optgroup'] == 'start' ? '<optgroup label="' . esc_attr($option_label) . '">' : '</optgroup>';
781
-						} else {
782
-							$option_label = isset($name['label']) ? $name['label'] : '';
783
-							$option_value = isset($name['value']) ? $name['value'] : '';
784
-							if(!empty($args['multiple']) && !empty($args['value']) && is_array($args['value']) ){
785
-								$selected = in_array($option_value, stripslashes_deep($args['value'])) ? "selected" : "";
786
-							} elseif(!empty($args['value'])) {
787
-								$selected = selected($option_value,stripslashes_deep($args['value']), false);
788
-							}
789
-
790
-							$output .= '<option value="' . esc_attr($option_value) . '" ' . $selected . '>' . $option_label . '</option>';
791
-						}
792
-					}else{
793
-						if(!empty($args['value'])){
794
-							if(is_array($args['value'])){
795
-								$selected = in_array($val,$args['value']) ? 'selected="selected"' : '';
796
-							} elseif(!empty($args['value'])) {
797
-								$selected = selected( $args['value'], $val, false);
798
-							}
799
-						}
800
-						$output .= '<option value="'.esc_attr($val).'" '.$selected.'>'.esc_attr($name).'</option>';
801
-					}
802
-				}
803
-			}
804
-
805
-		}
806
-
807
-		// closing tag
808
-		$output .= '</select>';
809
-
810
-		if(!empty($args['label']) && $label_after){
811
-			$label_args = array(
812
-				'title'=> $args['label'],
813
-				'for'=> $args['id'],
814
-				'class' => $args['label_class']." ",
815
-				'label_type' => $args['label_type']
816
-			);
817
-			$output .= self::label($label_args);
818
-		}
819
-
820
-		// help text
821
-		if(!empty($args['help_text'])){
822
-			$output .= AUI_Component_Helper::help_text($args['help_text']);
823
-		}
824
-
825
-		// maybe horizontal label
826
-		if($args['label_type']=='horizontal'){
827
-			$output .= '</div>';
828
-		}
829
-
830
-
831
-		// wrap
832
-		if(!$args['no_wrap']){
833
-			$wrap_class = $args['label_type']=='horizontal' ? 'form-group row' : 'form-group';
834
-			$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
835
-			$output = self::wrap(array(
836
-				'content' => $output,
837
-				'class'   => $wrap_class,
838
-				'element_require'   => $args['element_require'],
839
-				'argument_id'  => $args['id']
840
-			));
841
-		}
842
-
843
-
844
-		return $output;
845
-	}
846
-
847
-	/**
848
-	 * Build the component.
849
-	 *
850
-	 * @param array $args
851
-	 *
852
-	 * @return string The rendered component.
853
-	 */
854
-	public static function radio($args = array()){
855
-		$defaults = array(
856
-			'class'      => '',
857
-			'wrap_class' => '',
858
-			'id'         => '',
859
-			'title'      => '',
860
-			'horizontal' => false, // sets the lable horizontal
861
-			'value'      => '',
862
-			'label'      => '',
863
-			'label_class'=> '',
864
-			'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
865
-			'inline'     => true,
866
-			'required'   => false,
867
-			'options'    => array(),
868
-			'icon'       => '',
869
-			'no_wrap'    => false,
870
-			'element_require'   => '', // [%element_id%] == "1"
871
-			'extra_attributes'  => array() // an array of extra attributes
872
-		);
873
-
874
-		/**
875
-		 * Parse incoming $args into an array and merge it with $defaults
876
-		 */
877
-		$args   = wp_parse_args( $args, $defaults );
878
-
879
-		// for now lets use horizontal for floating
880
-		if( $args['label_type'] == 'floating' ){$args['label_type'] = 'horizontal';}
881
-
882
-		$label_args = array(
883
-			'title'=> $args['label'],
884
-			'class' => $args['label_class']." pt-0 ",
885
-			'label_type' => $args['label_type']
886
-		);
887
-
888
-		$output = '';
889
-
890
-
891
-
892
-		// label before
893
-		if(!empty($args['label'])){
894
-			$output .= self::label( $label_args, 'radio' );
895
-		}
896
-
897
-		// maybe horizontal label
898
-		if($args['label_type']=='horizontal'){
899
-			$output .= '<div class="col-sm-10">';
900
-		}
901
-
902
-		if(!empty($args['options'])){
903
-			$count = 0;
904
-			foreach($args['options'] as $value => $label){
905
-				$option_args = $args;
906
-				$option_args['value'] = $value;
907
-				$option_args['label'] = $label;
908
-				$option_args['checked'] = $value == $args['value'] ? true : false;
909
-				$output .= self::radio_option($option_args,$count);
910
-				$count++;
911
-			}
912
-		}
913
-
914
-		// maybe horizontal label
915
-		if($args['label_type']=='horizontal'){
916
-			$output .= '</div>';
917
-		}
918
-
919
-
920
-		// wrap
921
-		$wrap_class = $args['label_type']=='horizontal' ? 'form-group row' : 'form-group';
922
-		$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
923
-		$output = self::wrap(array(
924
-			'content' => $output,
925
-			'class'   => $wrap_class,
926
-			'element_require'   => $args['element_require'],
927
-			'argument_id'  => $args['id']
928
-		));
929
-
930
-
931
-		return $output;
932
-	}
933
-
934
-	/**
935
-	 * Build the component.
936
-	 *
937
-	 * @param array $args
938
-	 *
939
-	 * @return string The rendered component.
940
-	 */
941
-	public static function radio_option($args = array(),$count = ''){
942
-		$defaults = array(
943
-			'class'      => '',
944
-			'id'         => '',
945
-			'title'      => '',
946
-			'value'      => '',
947
-			'required'   => false,
948
-			'inline'     => true,
949
-			'label'      => '',
950
-			'options'    => array(),
951
-			'icon'       => '',
952
-			'no_wrap'    => false,
953
-			'extra_attributes'  => array() // an array of extra attributes
954
-		);
955
-
956
-		/**
957
-		 * Parse incoming $args into an array and merge it with $defaults
958
-		 */
959
-		$args   = wp_parse_args( $args, $defaults );
960
-
961
-		$output = '';
962
-
963
-		// open/type
964
-		$output .= '<input type="radio"';
965
-
966
-		// class
967
-		$output .= ' class="form-check-input" ';
968
-
969
-		// name
970
-		if(!empty($args['name'])){
971
-			$output .= AUI_Component_Helper::name($args['name']);
972
-		}
973
-
974
-		// id
975
-		if(!empty($args['id'])){
976
-			$output .= AUI_Component_Helper::id($args['id'].$count);
977
-		}
978
-
979
-		// title
980
-		if(!empty($args['title'])){
981
-			$output .= AUI_Component_Helper::title($args['title']);
982
-		}
983
-
984
-		// value
985
-		if(isset($args['value'])){
986
-			$output .= ' value="'.sanitize_text_field($args['value']).'" ';
987
-		}
988
-
989
-		// checked, for radio and checkboxes
990
-		if( $args['checked'] ){
991
-			$output .= ' checked ';
992
-		}
993
-
994
-		// data-attributes
995
-		$output .= AUI_Component_Helper::data_attributes($args);
996
-
997
-		// aria-attributes
998
-		$output .= AUI_Component_Helper::aria_attributes($args);
999
-
1000
-		// extra attributes
1001
-		if(!empty($args['extra_attributes'])){
1002
-			$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
1003
-		}
1004
-
1005
-		// required
1006
-		if(!empty($args['required'])){
1007
-			$output .= ' required ';
1008
-		}
1009
-
1010
-		// close opening tag
1011
-		$output .= ' >';
1012
-
1013
-		// label
1014
-		if(!empty($args['label']) && is_array($args['label'])){
1015
-		}elseif(!empty($args['label'])){
1016
-			$output .= self::label(array('title'=>$args['label'],'for'=>$args['id'].$count,'class'=>'form-check-label'),'radio');
1017
-		}
1018
-
1019
-		// wrap
1020
-		if(!$args['no_wrap']){
1021
-			$wrap_class = $args['inline'] ? 'form-check form-check-inline' : 'form-check';
1022
-			$output = self::wrap(array(
1023
-				'content' => $output,
1024
-				'class' => $wrap_class
1025
-			));
1026
-		}
1027
-
1028
-
1029
-		return $output;
1030
-	}
213
+            }
214
+
215
+            // input group wraps
216
+            if($args['input_group_left'] || $args['input_group_right']){
217
+                $w100 = strpos($args['class'], 'w-100') !== false ? ' w-100' : '';
218
+                if($args['input_group_left']){
219
+                    $output = self::wrap( array(
220
+                        'content' => $output,
221
+                        'class'   => $args['input_group_left_inside'] ? 'input-group-inside position-relative'.$w100  : 'input-group',
222
+                        'input_group_left' => $args['input_group_left'],
223
+                        'input_group_left_inside'    => $args['input_group_left_inside']
224
+                    ) );
225
+                }
226
+                if($args['input_group_right']){
227
+                    $output = self::wrap( array(
228
+                        'content' => $output,
229
+                        'class'   => $args['input_group_right_inside'] ? 'input-group-inside position-relative'.$w100 : 'input-group',
230
+                        'input_group_right' => $args['input_group_right'],
231
+                        'input_group_right_inside'    => $args['input_group_right_inside']
232
+                    ) );
233
+                }
234
+
235
+            }
236
+
237
+            if(!$label_after){
238
+                $output .= $help_text;
239
+            }
240
+
241
+
242
+            if($args['label_type']=='horizontal' && $type != 'checkbox'){
243
+                $output = self::wrap( array(
244
+                    'content' => $output,
245
+                    'class'   => 'col-sm-10',
246
+                ) );
247
+            }
248
+
249
+            if(!$label_after){
250
+                $output = $label . $output;
251
+            }
252
+
253
+            // wrap
254
+            if(!$args['no_wrap']){
255
+
256
+                $form_group_class = $args['label_type']=='floating' && $type != 'checkbox' ? 'form-label-group' : 'form-group';
257
+                $wrap_class = $args['label_type']=='horizontal' ? $form_group_class . ' row' : $form_group_class;
258
+                $wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
259
+                $output = self::wrap(array(
260
+                    'content' => $output,
261
+                    'class'   => $wrap_class,
262
+                    'element_require'   => $args['element_require'],
263
+                    'argument_id'  => $args['id']
264
+                ));
265
+            }
266
+
267
+
268
+
269
+        }
270
+
271
+        return $output;
272
+    }
273
+
274
+    /**
275
+     * Build the component.
276
+     *
277
+     * @param array $args
278
+     *
279
+     * @return string The rendered component.
280
+     */
281
+    public static function textarea($args = array()){
282
+        $defaults = array(
283
+            'name'       => '',
284
+            'class'      => '',
285
+            'wrap_class' => '',
286
+            'id'         => '',
287
+            'placeholder'=> '',
288
+            'title'      => '',
289
+            'value'      => '',
290
+            'required'   => false,
291
+            'label'      => '',
292
+            'label_after'=> false,
293
+            'label_class'      => '',
294
+            'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
295
+            'help_text'  => '',
296
+            'validation_text'   => '',
297
+            'validation_pattern' => '',
298
+            'no_wrap'    => false,
299
+            'rows'      => '',
300
+            'wysiwyg'   => false,
301
+            'allow_tags' => false, // Allow HTML tags
302
+            'element_require'   => '', // [%element_id%] == "1"
303
+            'extra_attributes'  => array(), // an array of extra attributes
304
+        );
305
+
306
+        /**
307
+         * Parse incoming $args into an array and merge it with $defaults
308
+         */
309
+        $args   = wp_parse_args( $args, $defaults );
310
+        $output = '';
311
+
312
+        // hidden label option needs to be empty
313
+        $args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
314
+
315
+        // floating labels don't work with wysiwyg so set it as top
316
+        if($args['label_type'] == 'floating' && !empty($args['wysiwyg'])){
317
+            $args['label_type'] = 'top';
318
+        }
319
+
320
+        $label_after = $args['label_after'];
321
+
322
+        // floating labels need label after
323
+        if( $args['label_type'] == 'floating' && empty($args['wysiwyg']) ){
324
+            $label_after = true;
325
+            $args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
326
+        }
327
+
328
+        // label
329
+        if(!empty($args['label']) && is_array($args['label'])){
330
+        }elseif(!empty($args['label']) && !$label_after){
331
+            $label_args = array(
332
+                'title'=> $args['label'],
333
+                'for'=> $args['id'],
334
+                'class' => $args['label_class']." ",
335
+                'label_type' => $args['label_type']
336
+            );
337
+            $output .= self::label( $label_args );
338
+        }
339
+
340
+        // maybe horizontal label
341
+        if($args['label_type']=='horizontal'){
342
+            $output .= '<div class="col-sm-10">';
343
+        }
344
+
345
+        if(!empty($args['wysiwyg'])){
346
+            ob_start();
347
+            $content = $args['value'];
348
+            $editor_id = !empty($args['id']) ? sanitize_html_class($args['id']) : 'wp_editor';
349
+            $settings = array(
350
+                'textarea_rows' => !empty(absint($args['rows'])) ? absint($args['rows']) : 4,
351
+                'quicktags'     => false,
352
+                'media_buttons' => false,
353
+                'editor_class'  => 'form-control',
354
+                'textarea_name' => !empty($args['name']) ? sanitize_html_class($args['name']) : sanitize_html_class($args['id']),
355
+                'teeny'         => true,
356
+            );
357
+
358
+            // maybe set settings if array
359
+            if(is_array($args['wysiwyg'])){
360
+                $settings  = wp_parse_args( $args['wysiwyg'], $settings );
361
+            }
362
+
363
+            wp_editor( $content, $editor_id, $settings );
364
+            $output .= ob_get_clean();
365
+        }else{
366
+
367
+            // open
368
+            $output .= '<textarea ';
369
+
370
+            // name
371
+            if(!empty($args['name'])){
372
+                $output .= ' name="'.sanitize_html_class($args['name']).'" ';
373
+            }
374
+
375
+            // id
376
+            if(!empty($args['id'])){
377
+                $output .= ' id="'.sanitize_html_class($args['id']).'" ';
378
+            }
379
+
380
+            // placeholder
381
+            if(isset($args['placeholder']) && '' != $args['placeholder']){
382
+                $output .= ' placeholder="'.esc_attr($args['placeholder']).'" ';
383
+            }
384
+
385
+            // title
386
+            if(!empty($args['title'])){
387
+                $output .= ' title="'.esc_attr($args['title']).'" ';
388
+            }
389
+
390
+            // validation text
391
+            if(!empty($args['validation_text'])){
392
+                $output .= ' oninvalid="setCustomValidity(\''.esc_attr($args['validation_text']).'\')" ';
393
+                $output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
394
+            }
395
+
396
+            // validation_pattern
397
+            if(!empty($args['validation_pattern'])){
398
+                $output .= ' pattern="'.$args['validation_pattern'].'" ';
399
+            }
400
+
401
+            // required
402
+            if(!empty($args['required'])){
403
+                $output .= ' required ';
404
+            }
405
+
406
+            // rows
407
+            if(!empty($args['rows'])){
408
+                $output .= ' rows="'.absint($args['rows']).'" ';
409
+            }
410
+
411
+
412
+            // class
413
+            $class = !empty($args['class']) ? $args['class'] : '';
414
+            $output .= ' class="form-control '.$class.'" ';
415
+
416
+            // extra attributes
417
+            if(!empty($args['extra_attributes'])){
418
+                $output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
419
+            }
420
+
421
+            // close tag
422
+            $output .= ' >';
423
+
424
+            // value
425
+            if ( ! empty( $args['value'] ) ) {
426
+                if ( ! empty( $args['allow_tags'] ) ) {
427
+                    $output .= AUI_Component_Helper::sanitize_html_field( $args['value'], $args ); // Sanitize HTML.
428
+                } else {
429
+                    $output .= sanitize_textarea_field( $args['value'] );
430
+                }
431
+            }
432
+
433
+            // closing tag
434
+            $output .= '</textarea>';
435
+
436
+        }
437
+
438
+        if(!empty($args['label']) && $label_after){
439
+            $label_args = array(
440
+                'title'=> $args['label'],
441
+                'for'=> $args['id'],
442
+                'class' => $args['label_class']." ",
443
+                'label_type' => $args['label_type']
444
+            );
445
+            $output .= self::label( $label_args );
446
+        }
447
+
448
+        // help text
449
+        if(!empty($args['help_text'])){
450
+            $output .= AUI_Component_Helper::help_text($args['help_text']);
451
+        }
452
+
453
+        // maybe horizontal label
454
+        if($args['label_type']=='horizontal'){
455
+            $output .= '</div>';
456
+        }
457
+
458
+
459
+        // wrap
460
+        if(!$args['no_wrap']){
461
+            $form_group_class = $args['label_type']=='floating' ? 'form-label-group' : 'form-group';
462
+            $wrap_class = $args['label_type']=='horizontal' ? $form_group_class . ' row' : $form_group_class;
463
+            $wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
464
+            $output = self::wrap(array(
465
+                'content' => $output,
466
+                'class'   => $wrap_class,
467
+                'element_require'   => $args['element_require'],
468
+                'argument_id'  => $args['id']
469
+            ));
470
+        }
471
+
472
+
473
+        return $output;
474
+    }
475
+
476
+    public static function label($args = array(), $type = ''){
477
+        //<label for="exampleInputEmail1">Email address</label>
478
+        $defaults = array(
479
+            'title'       => 'div',
480
+            'for'      => '',
481
+            'class'      => '',
482
+            'label_type'    => '', // empty = hidden, top, horizontal
483
+        );
484
+
485
+        /**
486
+         * Parse incoming $args into an array and merge it with $defaults
487
+         */
488
+        $args   = wp_parse_args( $args, $defaults );
489
+        $output = '';
490
+
491
+        if($args['title']){
492
+
493
+            // maybe hide labels //@todo set a global option for visibility class
494
+            if($type == 'file' || $type == 'checkbox' || $type == 'radio' || !empty($args['label_type']) ){
495
+                $class = $args['class'];
496
+            }else{
497
+                $class = 'sr-only '.$args['class'];
498
+            }
499
+
500
+            // maybe horizontal
501
+            if($args['label_type']=='horizontal' && $type != 'checkbox'){
502
+                $class .= ' col-sm-2 col-form-label';
503
+            }
504
+
505
+            // open
506
+            $output .= '<label ';
507
+
508
+            // for
509
+            if(!empty($args['for'])){
510
+                $output .= ' for="'.sanitize_text_field($args['for']).'" ';
511
+            }
512
+
513
+            // class
514
+            $class = $class ? AUI_Component_Helper::esc_classes( $class ) : '';
515
+            $output .= ' class="'.$class.'" ';
516
+
517
+            // close
518
+            $output .= '>';
519
+
520
+
521
+            // title, don't escape fully as can contain html
522
+            if(!empty($args['title'])){
523
+                $output .= wp_kses_post($args['title']);
524
+            }
525
+
526
+            // close wrap
527
+            $output .= '</label>';
528
+
529
+
530
+        }
531
+
532
+
533
+        return $output;
534
+    }
535
+
536
+    /**
537
+     * Wrap some content in a HTML wrapper.
538
+     *
539
+     * @param array $args
540
+     *
541
+     * @return string
542
+     */
543
+    public static function wrap($args = array()){
544
+        $defaults = array(
545
+            'type'       => 'div',
546
+            'class'      => 'form-group',
547
+            'content'   => '',
548
+            'input_group_left' => '',
549
+            'input_group_right' => '',
550
+            'input_group_left_inside' => false,
551
+            'input_group_right_inside' => false,
552
+            'element_require'   => '',
553
+            'argument_id'   => '',
554
+        );
555
+
556
+        /**
557
+         * Parse incoming $args into an array and merge it with $defaults
558
+         */
559
+        $args   = wp_parse_args( $args, $defaults );
560
+        $output = '';
561
+        if($args['type']){
562
+
563
+            // open
564
+            $output .= '<'.sanitize_html_class($args['type']);
565
+
566
+            // element require
567
+            if(!empty($args['element_require'])){
568
+                $output .= AUI_Component_Helper::element_require($args['element_require']);
569
+                $args['class'] .= " aui-conditional-field";
570
+            }
571
+
572
+            // argument_id
573
+            if( !empty($args['argument_id']) ){
574
+                $output .= ' data-argument="'.esc_attr($args['argument_id']).'"';
575
+            }
576
+
577
+            // class
578
+            $class = !empty($args['class']) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
579
+            $output .= ' class="'.$class.'" ';
580
+
581
+            // close wrap
582
+            $output .= ' >';
583
+
584
+
585
+            // Input group left
586
+            if(!empty($args['input_group_left'])){
587
+                $position_class = !empty($args['input_group_left_inside']) ? 'position-absolute h-100' : '';
588
+                $input_group_left = strpos($args['input_group_left'], '<') !== false ? $args['input_group_left'] : '<span class="input-group-text">'.$args['input_group_left'].'</span>';
589
+                $output .= '<div class="input-group-prepend '.$position_class.'">'.$input_group_left.'</div>';
590
+            }
591
+
592
+            // content
593
+            $output .= $args['content'];
594
+
595
+            // Input group right
596
+            if(!empty($args['input_group_right'])){
597
+                $position_class = !empty($args['input_group_left_inside']) ? 'position-absolute h-100' : '';
598
+                $input_group_right = strpos($args['input_group_right'], '<') !== false ? $args['input_group_right'] : '<span class="input-group-text">'.$args['input_group_right'].'</span>';
599
+                $output .= '<div class="input-group-append '.$position_class.'">'.$input_group_right.'</div>';
600
+            }
601
+
602
+
603
+            // close wrap
604
+            $output .= '</'.sanitize_html_class($args['type']).'>';
605
+
606
+
607
+        }else{
608
+            $output = $args['content'];
609
+        }
610
+
611
+        return $output;
612
+    }
613
+
614
+    /**
615
+     * Build the component.
616
+     *
617
+     * @param array $args
618
+     *
619
+     * @return string The rendered component.
620
+     */
621
+    public static function select($args = array()){
622
+        $defaults = array(
623
+            'class'      => '',
624
+            'wrap_class' => '',
625
+            'id'         => '',
626
+            'title'      => '',
627
+            'value'      => '', // can be an array or a string
628
+            'required'   => false,
629
+            'label'      => '',
630
+            'label_after'=> false,
631
+            'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
632
+            'label_class'      => '',
633
+            'help_text'  => '',
634
+            'placeholder'=> '',
635
+            'options'    => array(), // array or string
636
+            'icon'       => '',
637
+            'multiple'   => false,
638
+            'select2'    => false,
639
+            'no_wrap'    => false,
640
+            'element_require'   => '', // [%element_id%] == "1"
641
+            'extra_attributes'  => array(), // an array of extra attributes
642
+        );
643
+
644
+        /**
645
+         * Parse incoming $args into an array and merge it with $defaults
646
+         */
647
+        $args   = wp_parse_args( $args, $defaults );
648
+        $output = '';
649
+
650
+        // for now lets hide floating labels
651
+        if( $args['label_type'] == 'floating' ){$args['label_type'] = 'hidden';}
652
+
653
+        // hidden label option needs to be empty
654
+        $args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
655
+
656
+
657
+        $label_after = $args['label_after'];
658
+
659
+        // floating labels need label after
660
+        if( $args['label_type'] == 'floating' ){
661
+            $label_after = true;
662
+            $args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
663
+        }
664
+
665
+        // Maybe setup select2
666
+        $is_select2 = false;
667
+        if(!empty($args['select2'])){
668
+            $args['class'] .= ' aui-select2';
669
+            $is_select2 = true;
670
+        }elseif( strpos($args['class'], 'aui-select2') !== false){
671
+            $is_select2 = true;
672
+        }
673
+
674
+        // select2 tags
675
+        if( !empty($args['select2']) && $args['select2'] === 'tags'){ // triple equals needed here for some reason
676
+            $args['data-tags'] = 'true';
677
+            $args['data-token-separators'] = "[',']";
678
+            $args['multiple'] = true;
679
+        }
680
+
681
+        // select2 placeholder
682
+        if($is_select2 && isset($args['placeholder']) && '' != $args['placeholder'] && empty($args['data-placeholder'])){
683
+            $args['data-placeholder'] = esc_attr($args['placeholder']);
684
+            $args['data-allow-clear'] = isset($args['data-allow-clear']) ? (bool) $args['data-allow-clear'] : true;
685
+        }
686
+
687
+        // label
688
+        if(!empty($args['label']) && is_array($args['label'])){
689
+        }elseif(!empty($args['label']) && !$label_after){
690
+            $label_args = array(
691
+                'title'=> $args['label'],
692
+                'for'=> $args['id'],
693
+                'class' => $args['label_class']." ",
694
+                'label_type' => $args['label_type']
695
+            );
696
+            $output .= self::label($label_args);
697
+        }
698
+
699
+        // maybe horizontal label
700
+        if($args['label_type']=='horizontal'){
701
+            $output .= '<div class="col-sm-10">';
702
+        }
703
+
704
+        // open/type
705
+        $output .= '<select ';
706
+
707
+        // style
708
+        if($is_select2){
709
+            $output .= " style='width:100%;' ";
710
+        }
711
+
712
+        // element require
713
+        if(!empty($args['element_require'])){
714
+            $output .= AUI_Component_Helper::element_require($args['element_require']);
715
+            $args['class'] .= " aui-conditional-field";
716
+        }
717
+
718
+        // class
719
+        $class = !empty($args['class']) ? $args['class'] : '';
720
+        $output .= AUI_Component_Helper::class_attr('custom-select '.$class);
721
+
722
+        // name
723
+        if(!empty($args['name'])){
724
+            $output .= AUI_Component_Helper::name($args['name'],$args['multiple']);
725
+        }
726
+
727
+        // id
728
+        if(!empty($args['id'])){
729
+            $output .= AUI_Component_Helper::id($args['id']);
730
+        }
731
+
732
+        // title
733
+        if(!empty($args['title'])){
734
+            $output .= AUI_Component_Helper::title($args['title']);
735
+        }
736
+
737
+        // data-attributes
738
+        $output .= AUI_Component_Helper::data_attributes($args);
739
+
740
+        // aria-attributes
741
+        $output .= AUI_Component_Helper::aria_attributes($args);
742
+
743
+        // extra attributes
744
+        if(!empty($args['extra_attributes'])){
745
+            $output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
746
+        }
747
+
748
+        // required
749
+        if(!empty($args['required'])){
750
+            $output .= ' required ';
751
+        }
752
+
753
+        // multiple
754
+        if(!empty($args['multiple'])){
755
+            $output .= ' multiple ';
756
+        }
757
+
758
+        // close opening tag
759
+        $output .= ' >';
760
+
761
+        // placeholder
762
+        if(isset($args['placeholder']) && '' != $args['placeholder'] && !$is_select2){
763
+            $output .= '<option value="" disabled selected hidden>'.esc_attr($args['placeholder']).'</option>';
764
+        }elseif($is_select2 && !empty($args['placeholder'])){
765
+            $output .= "<option></option>"; // select2 needs an empty select to fill the placeholder
766
+        }
767
+
768
+        // Options
769
+        if(!empty($args['options'])){
770
+
771
+            if(!is_array($args['options'])){
772
+                $output .= $args['options']; // not the preferred way but an option
773
+            }else{
774
+                foreach($args['options'] as $val => $name){
775
+                    $selected = '';
776
+                    if(is_array($name)){
777
+                        if (isset($name['optgroup']) && ($name['optgroup'] == 'start' || $name['optgroup'] == 'end')) {
778
+                            $option_label = isset($name['label']) ? $name['label'] : '';
779
+
780
+                            $output .= $name['optgroup'] == 'start' ? '<optgroup label="' . esc_attr($option_label) . '">' : '</optgroup>';
781
+                        } else {
782
+                            $option_label = isset($name['label']) ? $name['label'] : '';
783
+                            $option_value = isset($name['value']) ? $name['value'] : '';
784
+                            if(!empty($args['multiple']) && !empty($args['value']) && is_array($args['value']) ){
785
+                                $selected = in_array($option_value, stripslashes_deep($args['value'])) ? "selected" : "";
786
+                            } elseif(!empty($args['value'])) {
787
+                                $selected = selected($option_value,stripslashes_deep($args['value']), false);
788
+                            }
789
+
790
+                            $output .= '<option value="' . esc_attr($option_value) . '" ' . $selected . '>' . $option_label . '</option>';
791
+                        }
792
+                    }else{
793
+                        if(!empty($args['value'])){
794
+                            if(is_array($args['value'])){
795
+                                $selected = in_array($val,$args['value']) ? 'selected="selected"' : '';
796
+                            } elseif(!empty($args['value'])) {
797
+                                $selected = selected( $args['value'], $val, false);
798
+                            }
799
+                        }
800
+                        $output .= '<option value="'.esc_attr($val).'" '.$selected.'>'.esc_attr($name).'</option>';
801
+                    }
802
+                }
803
+            }
804
+
805
+        }
806
+
807
+        // closing tag
808
+        $output .= '</select>';
809
+
810
+        if(!empty($args['label']) && $label_after){
811
+            $label_args = array(
812
+                'title'=> $args['label'],
813
+                'for'=> $args['id'],
814
+                'class' => $args['label_class']." ",
815
+                'label_type' => $args['label_type']
816
+            );
817
+            $output .= self::label($label_args);
818
+        }
819
+
820
+        // help text
821
+        if(!empty($args['help_text'])){
822
+            $output .= AUI_Component_Helper::help_text($args['help_text']);
823
+        }
824
+
825
+        // maybe horizontal label
826
+        if($args['label_type']=='horizontal'){
827
+            $output .= '</div>';
828
+        }
829
+
830
+
831
+        // wrap
832
+        if(!$args['no_wrap']){
833
+            $wrap_class = $args['label_type']=='horizontal' ? 'form-group row' : 'form-group';
834
+            $wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
835
+            $output = self::wrap(array(
836
+                'content' => $output,
837
+                'class'   => $wrap_class,
838
+                'element_require'   => $args['element_require'],
839
+                'argument_id'  => $args['id']
840
+            ));
841
+        }
842
+
843
+
844
+        return $output;
845
+    }
846
+
847
+    /**
848
+     * Build the component.
849
+     *
850
+     * @param array $args
851
+     *
852
+     * @return string The rendered component.
853
+     */
854
+    public static function radio($args = array()){
855
+        $defaults = array(
856
+            'class'      => '',
857
+            'wrap_class' => '',
858
+            'id'         => '',
859
+            'title'      => '',
860
+            'horizontal' => false, // sets the lable horizontal
861
+            'value'      => '',
862
+            'label'      => '',
863
+            'label_class'=> '',
864
+            'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
865
+            'inline'     => true,
866
+            'required'   => false,
867
+            'options'    => array(),
868
+            'icon'       => '',
869
+            'no_wrap'    => false,
870
+            'element_require'   => '', // [%element_id%] == "1"
871
+            'extra_attributes'  => array() // an array of extra attributes
872
+        );
873
+
874
+        /**
875
+         * Parse incoming $args into an array and merge it with $defaults
876
+         */
877
+        $args   = wp_parse_args( $args, $defaults );
878
+
879
+        // for now lets use horizontal for floating
880
+        if( $args['label_type'] == 'floating' ){$args['label_type'] = 'horizontal';}
881
+
882
+        $label_args = array(
883
+            'title'=> $args['label'],
884
+            'class' => $args['label_class']." pt-0 ",
885
+            'label_type' => $args['label_type']
886
+        );
887
+
888
+        $output = '';
889
+
890
+
891
+
892
+        // label before
893
+        if(!empty($args['label'])){
894
+            $output .= self::label( $label_args, 'radio' );
895
+        }
896
+
897
+        // maybe horizontal label
898
+        if($args['label_type']=='horizontal'){
899
+            $output .= '<div class="col-sm-10">';
900
+        }
901
+
902
+        if(!empty($args['options'])){
903
+            $count = 0;
904
+            foreach($args['options'] as $value => $label){
905
+                $option_args = $args;
906
+                $option_args['value'] = $value;
907
+                $option_args['label'] = $label;
908
+                $option_args['checked'] = $value == $args['value'] ? true : false;
909
+                $output .= self::radio_option($option_args,$count);
910
+                $count++;
911
+            }
912
+        }
913
+
914
+        // maybe horizontal label
915
+        if($args['label_type']=='horizontal'){
916
+            $output .= '</div>';
917
+        }
918
+
919
+
920
+        // wrap
921
+        $wrap_class = $args['label_type']=='horizontal' ? 'form-group row' : 'form-group';
922
+        $wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
923
+        $output = self::wrap(array(
924
+            'content' => $output,
925
+            'class'   => $wrap_class,
926
+            'element_require'   => $args['element_require'],
927
+            'argument_id'  => $args['id']
928
+        ));
929
+
930
+
931
+        return $output;
932
+    }
933
+
934
+    /**
935
+     * Build the component.
936
+     *
937
+     * @param array $args
938
+     *
939
+     * @return string The rendered component.
940
+     */
941
+    public static function radio_option($args = array(),$count = ''){
942
+        $defaults = array(
943
+            'class'      => '',
944
+            'id'         => '',
945
+            'title'      => '',
946
+            'value'      => '',
947
+            'required'   => false,
948
+            'inline'     => true,
949
+            'label'      => '',
950
+            'options'    => array(),
951
+            'icon'       => '',
952
+            'no_wrap'    => false,
953
+            'extra_attributes'  => array() // an array of extra attributes
954
+        );
955
+
956
+        /**
957
+         * Parse incoming $args into an array and merge it with $defaults
958
+         */
959
+        $args   = wp_parse_args( $args, $defaults );
960
+
961
+        $output = '';
962
+
963
+        // open/type
964
+        $output .= '<input type="radio"';
965
+
966
+        // class
967
+        $output .= ' class="form-check-input" ';
968
+
969
+        // name
970
+        if(!empty($args['name'])){
971
+            $output .= AUI_Component_Helper::name($args['name']);
972
+        }
973
+
974
+        // id
975
+        if(!empty($args['id'])){
976
+            $output .= AUI_Component_Helper::id($args['id'].$count);
977
+        }
978
+
979
+        // title
980
+        if(!empty($args['title'])){
981
+            $output .= AUI_Component_Helper::title($args['title']);
982
+        }
983
+
984
+        // value
985
+        if(isset($args['value'])){
986
+            $output .= ' value="'.sanitize_text_field($args['value']).'" ';
987
+        }
988
+
989
+        // checked, for radio and checkboxes
990
+        if( $args['checked'] ){
991
+            $output .= ' checked ';
992
+        }
993
+
994
+        // data-attributes
995
+        $output .= AUI_Component_Helper::data_attributes($args);
996
+
997
+        // aria-attributes
998
+        $output .= AUI_Component_Helper::aria_attributes($args);
999
+
1000
+        // extra attributes
1001
+        if(!empty($args['extra_attributes'])){
1002
+            $output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
1003
+        }
1004
+
1005
+        // required
1006
+        if(!empty($args['required'])){
1007
+            $output .= ' required ';
1008
+        }
1009
+
1010
+        // close opening tag
1011
+        $output .= ' >';
1012
+
1013
+        // label
1014
+        if(!empty($args['label']) && is_array($args['label'])){
1015
+        }elseif(!empty($args['label'])){
1016
+            $output .= self::label(array('title'=>$args['label'],'for'=>$args['id'].$count,'class'=>'form-check-label'),'radio');
1017
+        }
1018
+
1019
+        // wrap
1020
+        if(!$args['no_wrap']){
1021
+            $wrap_class = $args['inline'] ? 'form-check form-check-inline' : 'form-check';
1022
+            $output = self::wrap(array(
1023
+                'content' => $output,
1024
+                'class' => $wrap_class
1025
+            ));
1026
+        }
1027
+
1028
+
1029
+        return $output;
1030
+    }
1031 1031
 
1032 1032
 }
1033 1033
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +212 added lines, -212 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 
3
-if ( ! defined( 'ABSPATH' ) ) {
3
+if (!defined('ABSPATH')) {
4 4
 	exit; // Exit if accessed directly
5 5
 }
6 6
 
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
 	 *
19 19
 	 * @return string The rendered component.
20 20
 	 */
21
-	public static function input($args = array()){
21
+	public static function input($args = array()) {
22 22
 		$defaults = array(
23 23
 			'type'       => 'text',
24 24
 			'name'       => '',
@@ -52,13 +52,13 @@  discard block
 block discarded – undo
52 52
 		/**
53 53
 		 * Parse incoming $args into an array and merge it with $defaults
54 54
 		 */
55
-		$args   = wp_parse_args( $args, $defaults );
55
+		$args   = wp_parse_args($args, $defaults);
56 56
 		$output = '';
57
-		if ( ! empty( $args['type'] ) ) {
57
+		if (!empty($args['type'])) {
58 58
 			// hidden label option needs to be empty
59 59
 			$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
60 60
 
61
-			$type = sanitize_html_class( $args['type'] );
61
+			$type = sanitize_html_class($args['type']);
62 62
 
63 63
 			$help_text = '';
64 64
 			$label = '';
@@ -66,24 +66,24 @@  discard block
 block discarded – undo
66 66
 			$label_args = array(
67 67
 				'title'=> $args['label'],
68 68
 				'for'=> $args['id'],
69
-				'class' => $args['label_class']." ",
69
+				'class' => $args['label_class'] . " ",
70 70
 				'label_type' => $args['label_type']
71 71
 			);
72 72
 
73 73
 			// floating labels need label after
74
-			if( $args['label_type'] == 'floating' && $type != 'checkbox' ){
74
+			if ($args['label_type'] == 'floating' && $type != 'checkbox') {
75 75
 				$label_after = true;
76 76
 				$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
77 77
 			}
78 78
 
79 79
 			// Some special sauce for files
80
-			if($type=='file' ){
80
+			if ($type == 'file') {
81 81
 				$label_after = true; // if type file we need the label after
82 82
 				$args['class'] .= ' custom-file-input ';
83
-			}elseif($type=='checkbox'){
83
+			}elseif ($type == 'checkbox') {
84 84
 				$label_after = true; // if type file we need the label after
85 85
 				$args['class'] .= ' custom-control-input ';
86
-			}elseif($type=='datepicker' || $type=='timepicker'){
86
+			}elseif ($type == 'datepicker' || $type == 'timepicker') {
87 87
 				$type = 'text';
88 88
 				//$args['class'] .= ' aui-flatpickr bg-initial ';
89 89
 				$args['class'] .= ' bg-initial ';
@@ -99,65 +99,65 @@  discard block
 block discarded – undo
99 99
 			$output .= '<input type="' . $type . '" ';
100 100
 
101 101
 			// name
102
-			if(!empty($args['name'])){
103
-				$output .= ' name="'.esc_attr($args['name']).'" ';
102
+			if (!empty($args['name'])) {
103
+				$output .= ' name="' . esc_attr($args['name']) . '" ';
104 104
 			}
105 105
 
106 106
 			// id
107
-			if(!empty($args['id'])){
108
-				$output .= ' id="'.sanitize_html_class($args['id']).'" ';
107
+			if (!empty($args['id'])) {
108
+				$output .= ' id="' . sanitize_html_class($args['id']) . '" ';
109 109
 			}
110 110
 
111 111
 			// placeholder
112
-			if(isset($args['placeholder']) && '' != $args['placeholder'] ){
113
-				$output .= ' placeholder="'.esc_attr($args['placeholder']).'" ';
112
+			if (isset($args['placeholder']) && '' != $args['placeholder']) {
113
+				$output .= ' placeholder="' . esc_attr($args['placeholder']) . '" ';
114 114
 			}
115 115
 
116 116
 			// title
117
-			if(!empty($args['title'])){
118
-				$output .= ' title="'.esc_attr($args['title']).'" ';
117
+			if (!empty($args['title'])) {
118
+				$output .= ' title="' . esc_attr($args['title']) . '" ';
119 119
 			}
120 120
 
121 121
 			// value
122
-			if(!empty($args['value'])){
123
-				$output .= ' value="'.sanitize_text_field($args['value']).'" ';
122
+			if (!empty($args['value'])) {
123
+				$output .= ' value="' . sanitize_text_field($args['value']) . '" ';
124 124
 			}
125 125
 
126 126
 			// checked, for radio and checkboxes
127
-			if( ( $type == 'checkbox' || $type == 'radio' ) && $args['checked'] ){
127
+			if (($type == 'checkbox' || $type == 'radio') && $args['checked']) {
128 128
 				$output .= ' checked ';
129 129
 			}
130 130
 
131 131
 			// validation text
132
-			if(!empty($args['validation_text'])){
133
-				$output .= ' oninvalid="setCustomValidity(\''.esc_attr($args['validation_text']).'\')" ';
132
+			if (!empty($args['validation_text'])) {
133
+				$output .= ' oninvalid="setCustomValidity(\'' . esc_attr($args['validation_text']) . '\')" ';
134 134
 				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
135 135
 			}
136 136
 
137 137
 			// validation_pattern
138
-			if(!empty($args['validation_pattern'])){
139
-				$output .= ' pattern="'.$args['validation_pattern'].'" ';
138
+			if (!empty($args['validation_pattern'])) {
139
+				$output .= ' pattern="' . $args['validation_pattern'] . '" ';
140 140
 			}
141 141
 
142 142
 			// step (for numbers)
143
-			if(!empty($args['step'])){
144
-				$output .= ' step="'.$args['step'].'" ';
143
+			if (!empty($args['step'])) {
144
+				$output .= ' step="' . $args['step'] . '" ';
145 145
 			}
146 146
 
147 147
 			// required
148
-			if(!empty($args['required'])){
148
+			if (!empty($args['required'])) {
149 149
 				$output .= ' required ';
150 150
 			}
151 151
 
152 152
 			// class
153
-			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
154
-			$output .= ' class="form-control '.$class.'" ';
153
+			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes($args['class']) : '';
154
+			$output .= ' class="form-control ' . $class . '" ';
155 155
 
156 156
 			// data-attributes
157 157
 			$output .= AUI_Component_Helper::data_attributes($args);
158 158
 
159 159
 			// extra attributes
160
-			if(!empty($args['extra_attributes'])){
160
+			if (!empty($args['extra_attributes'])) {
161 161
 				$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
162 162
 			}
163 163
 
@@ -166,40 +166,40 @@  discard block
 block discarded – undo
166 166
 
167 167
 
168 168
 			// label
169
-			if(!empty($args['label'])){
170
-				if($type == 'file'){$label_args['class'] .= 'custom-file-label';}
171
-				elseif($type == 'checkbox'){$label_args['class'] .= 'custom-control-label';}
172
-				$label = self::label( $label_args, $type );
169
+			if (!empty($args['label'])) {
170
+				if ($type == 'file') {$label_args['class'] .= 'custom-file-label'; }
171
+				elseif ($type == 'checkbox') {$label_args['class'] .= 'custom-control-label'; }
172
+				$label = self::label($label_args, $type);
173 173
 			}
174 174
 
175 175
 			// help text
176
-			if(!empty($args['help_text'])){
176
+			if (!empty($args['help_text'])) {
177 177
 				$help_text = AUI_Component_Helper::help_text($args['help_text']);
178 178
 			}
179 179
 
180 180
 
181 181
 			// set help text in the correct possition
182
-			if($label_after){
182
+			if ($label_after) {
183 183
 				$output .= $label . $help_text;
184 184
 			}
185 185
 
186 186
 			// some input types need a separate wrap
187
-			if($type == 'file') {
188
-				$output = self::wrap( array(
187
+			if ($type == 'file') {
188
+				$output = self::wrap(array(
189 189
 					'content' => $output,
190 190
 					'class'   => 'form-group custom-file'
191
-				) );
192
-			}elseif($type == 'checkbox'){
191
+				));
192
+			}elseif ($type == 'checkbox') {
193 193
 				$wrap_class = $args['switch'] ? 'custom-switch' : 'custom-checkbox';
194
-				$output = self::wrap( array(
194
+				$output = self::wrap(array(
195 195
 					'content' => $output,
196
-					'class'   => 'custom-control '.$wrap_class
197
-				) );
196
+					'class'   => 'custom-control ' . $wrap_class
197
+				));
198 198
 
199
-				if($args['label_type']=='horizontal'){
199
+				if ($args['label_type'] == 'horizontal') {
200 200
 					$output = '<div class="col-sm-2 col-form-label"></div><div class="col-sm-10">' . $output . '</div>';
201 201
 				}
202
-			}elseif($type == 'password' && $args['password_toggle'] && !$args['input_group_right']){
202
+			}elseif ($type == 'password' && $args['password_toggle'] && !$args['input_group_right']) {
203 203
 
204 204
 
205 205
 				// allow password field to toggle view
@@ -213,49 +213,49 @@  discard block
 block discarded – undo
213 213
 			}
214 214
 
215 215
 			// input group wraps
216
-			if($args['input_group_left'] || $args['input_group_right']){
216
+			if ($args['input_group_left'] || $args['input_group_right']) {
217 217
 				$w100 = strpos($args['class'], 'w-100') !== false ? ' w-100' : '';
218
-				if($args['input_group_left']){
219
-					$output = self::wrap( array(
218
+				if ($args['input_group_left']) {
219
+					$output = self::wrap(array(
220 220
 						'content' => $output,
221
-						'class'   => $args['input_group_left_inside'] ? 'input-group-inside position-relative'.$w100  : 'input-group',
221
+						'class'   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
222 222
 						'input_group_left' => $args['input_group_left'],
223 223
 						'input_group_left_inside'    => $args['input_group_left_inside']
224
-					) );
224
+					));
225 225
 				}
226
-				if($args['input_group_right']){
227
-					$output = self::wrap( array(
226
+				if ($args['input_group_right']) {
227
+					$output = self::wrap(array(
228 228
 						'content' => $output,
229
-						'class'   => $args['input_group_right_inside'] ? 'input-group-inside position-relative'.$w100 : 'input-group',
229
+						'class'   => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
230 230
 						'input_group_right' => $args['input_group_right'],
231 231
 						'input_group_right_inside'    => $args['input_group_right_inside']
232
-					) );
232
+					));
233 233
 				}
234 234
 
235 235
 			}
236 236
 
237
-			if(!$label_after){
237
+			if (!$label_after) {
238 238
 				$output .= $help_text;
239 239
 			}
240 240
 
241 241
 
242
-			if($args['label_type']=='horizontal' && $type != 'checkbox'){
243
-				$output = self::wrap( array(
242
+			if ($args['label_type'] == 'horizontal' && $type != 'checkbox') {
243
+				$output = self::wrap(array(
244 244
 					'content' => $output,
245 245
 					'class'   => 'col-sm-10',
246
-				) );
246
+				));
247 247
 			}
248 248
 
249
-			if(!$label_after){
249
+			if (!$label_after) {
250 250
 				$output = $label . $output;
251 251
 			}
252 252
 
253 253
 			// wrap
254
-			if(!$args['no_wrap']){
254
+			if (!$args['no_wrap']) {
255 255
 
256
-				$form_group_class = $args['label_type']=='floating' && $type != 'checkbox' ? 'form-label-group' : 'form-group';
257
-				$wrap_class = $args['label_type']=='horizontal' ? $form_group_class . ' row' : $form_group_class;
258
-				$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
256
+				$form_group_class = $args['label_type'] == 'floating' && $type != 'checkbox' ? 'form-label-group' : 'form-group';
257
+				$wrap_class = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
258
+				$wrap_class = !empty($args['wrap_class']) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
259 259
 				$output = self::wrap(array(
260 260
 					'content' => $output,
261 261
 					'class'   => $wrap_class,
@@ -278,7 +278,7 @@  discard block
 block discarded – undo
278 278
 	 *
279 279
 	 * @return string The rendered component.
280 280
 	 */
281
-	public static function textarea($args = array()){
281
+	public static function textarea($args = array()) {
282 282
 		$defaults = array(
283 283
 			'name'       => '',
284 284
 			'class'      => '',
@@ -306,43 +306,43 @@  discard block
 block discarded – undo
306 306
 		/**
307 307
 		 * Parse incoming $args into an array and merge it with $defaults
308 308
 		 */
309
-		$args   = wp_parse_args( $args, $defaults );
309
+		$args   = wp_parse_args($args, $defaults);
310 310
 		$output = '';
311 311
 
312 312
 		// hidden label option needs to be empty
313 313
 		$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
314 314
 
315 315
 		// floating labels don't work with wysiwyg so set it as top
316
-		if($args['label_type'] == 'floating' && !empty($args['wysiwyg'])){
316
+		if ($args['label_type'] == 'floating' && !empty($args['wysiwyg'])) {
317 317
 			$args['label_type'] = 'top';
318 318
 		}
319 319
 
320 320
 		$label_after = $args['label_after'];
321 321
 
322 322
 		// floating labels need label after
323
-		if( $args['label_type'] == 'floating' && empty($args['wysiwyg']) ){
323
+		if ($args['label_type'] == 'floating' && empty($args['wysiwyg'])) {
324 324
 			$label_after = true;
325 325
 			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
326 326
 		}
327 327
 
328 328
 		// label
329
-		if(!empty($args['label']) && is_array($args['label'])){
330
-		}elseif(!empty($args['label']) && !$label_after){
329
+		if (!empty($args['label']) && is_array($args['label'])) {
330
+		}elseif (!empty($args['label']) && !$label_after) {
331 331
 			$label_args = array(
332 332
 				'title'=> $args['label'],
333 333
 				'for'=> $args['id'],
334
-				'class' => $args['label_class']." ",
334
+				'class' => $args['label_class'] . " ",
335 335
 				'label_type' => $args['label_type']
336 336
 			);
337
-			$output .= self::label( $label_args );
337
+			$output .= self::label($label_args);
338 338
 		}
339 339
 
340 340
 		// maybe horizontal label
341
-		if($args['label_type']=='horizontal'){
341
+		if ($args['label_type'] == 'horizontal') {
342 342
 			$output .= '<div class="col-sm-10">';
343 343
 		}
344 344
 
345
-		if(!empty($args['wysiwyg'])){
345
+		if (!empty($args['wysiwyg'])) {
346 346
 			ob_start();
347 347
 			$content = $args['value'];
348 348
 			$editor_id = !empty($args['id']) ? sanitize_html_class($args['id']) : 'wp_editor';
@@ -356,65 +356,65 @@  discard block
 block discarded – undo
356 356
 			);
357 357
 
358 358
 			// maybe set settings if array
359
-			if(is_array($args['wysiwyg'])){
360
-				$settings  = wp_parse_args( $args['wysiwyg'], $settings );
359
+			if (is_array($args['wysiwyg'])) {
360
+				$settings = wp_parse_args($args['wysiwyg'], $settings);
361 361
 			}
362 362
 
363
-			wp_editor( $content, $editor_id, $settings );
363
+			wp_editor($content, $editor_id, $settings);
364 364
 			$output .= ob_get_clean();
365
-		}else{
365
+		} else {
366 366
 
367 367
 			// open
368 368
 			$output .= '<textarea ';
369 369
 
370 370
 			// name
371
-			if(!empty($args['name'])){
372
-				$output .= ' name="'.sanitize_html_class($args['name']).'" ';
371
+			if (!empty($args['name'])) {
372
+				$output .= ' name="' . sanitize_html_class($args['name']) . '" ';
373 373
 			}
374 374
 
375 375
 			// id
376
-			if(!empty($args['id'])){
377
-				$output .= ' id="'.sanitize_html_class($args['id']).'" ';
376
+			if (!empty($args['id'])) {
377
+				$output .= ' id="' . sanitize_html_class($args['id']) . '" ';
378 378
 			}
379 379
 
380 380
 			// placeholder
381
-			if(isset($args['placeholder']) && '' != $args['placeholder']){
382
-				$output .= ' placeholder="'.esc_attr($args['placeholder']).'" ';
381
+			if (isset($args['placeholder']) && '' != $args['placeholder']) {
382
+				$output .= ' placeholder="' . esc_attr($args['placeholder']) . '" ';
383 383
 			}
384 384
 
385 385
 			// title
386
-			if(!empty($args['title'])){
387
-				$output .= ' title="'.esc_attr($args['title']).'" ';
386
+			if (!empty($args['title'])) {
387
+				$output .= ' title="' . esc_attr($args['title']) . '" ';
388 388
 			}
389 389
 
390 390
 			// validation text
391
-			if(!empty($args['validation_text'])){
392
-				$output .= ' oninvalid="setCustomValidity(\''.esc_attr($args['validation_text']).'\')" ';
391
+			if (!empty($args['validation_text'])) {
392
+				$output .= ' oninvalid="setCustomValidity(\'' . esc_attr($args['validation_text']) . '\')" ';
393 393
 				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
394 394
 			}
395 395
 
396 396
 			// validation_pattern
397
-			if(!empty($args['validation_pattern'])){
398
-				$output .= ' pattern="'.$args['validation_pattern'].'" ';
397
+			if (!empty($args['validation_pattern'])) {
398
+				$output .= ' pattern="' . $args['validation_pattern'] . '" ';
399 399
 			}
400 400
 
401 401
 			// required
402
-			if(!empty($args['required'])){
402
+			if (!empty($args['required'])) {
403 403
 				$output .= ' required ';
404 404
 			}
405 405
 
406 406
 			// rows
407
-			if(!empty($args['rows'])){
408
-				$output .= ' rows="'.absint($args['rows']).'" ';
407
+			if (!empty($args['rows'])) {
408
+				$output .= ' rows="' . absint($args['rows']) . '" ';
409 409
 			}
410 410
 
411 411
 
412 412
 			// class
413 413
 			$class = !empty($args['class']) ? $args['class'] : '';
414
-			$output .= ' class="form-control '.$class.'" ';
414
+			$output .= ' class="form-control ' . $class . '" ';
415 415
 
416 416
 			// extra attributes
417
-			if(!empty($args['extra_attributes'])){
417
+			if (!empty($args['extra_attributes'])) {
418 418
 				$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
419 419
 			}
420 420
 
@@ -422,11 +422,11 @@  discard block
 block discarded – undo
422 422
 			$output .= ' >';
423 423
 
424 424
 			// value
425
-			if ( ! empty( $args['value'] ) ) {
426
-				if ( ! empty( $args['allow_tags'] ) ) {
427
-					$output .= AUI_Component_Helper::sanitize_html_field( $args['value'], $args ); // Sanitize HTML.
425
+			if (!empty($args['value'])) {
426
+				if (!empty($args['allow_tags'])) {
427
+					$output .= AUI_Component_Helper::sanitize_html_field($args['value'], $args); // Sanitize HTML.
428 428
 				} else {
429
-					$output .= sanitize_textarea_field( $args['value'] );
429
+					$output .= sanitize_textarea_field($args['value']);
430 430
 				}
431 431
 			}
432 432
 
@@ -435,32 +435,32 @@  discard block
 block discarded – undo
435 435
 
436 436
 		}
437 437
 
438
-		if(!empty($args['label']) && $label_after){
438
+		if (!empty($args['label']) && $label_after) {
439 439
 			$label_args = array(
440 440
 				'title'=> $args['label'],
441 441
 				'for'=> $args['id'],
442
-				'class' => $args['label_class']." ",
442
+				'class' => $args['label_class'] . " ",
443 443
 				'label_type' => $args['label_type']
444 444
 			);
445
-			$output .= self::label( $label_args );
445
+			$output .= self::label($label_args);
446 446
 		}
447 447
 
448 448
 		// help text
449
-		if(!empty($args['help_text'])){
449
+		if (!empty($args['help_text'])) {
450 450
 			$output .= AUI_Component_Helper::help_text($args['help_text']);
451 451
 		}
452 452
 
453 453
 		// maybe horizontal label
454
-		if($args['label_type']=='horizontal'){
454
+		if ($args['label_type'] == 'horizontal') {
455 455
 			$output .= '</div>';
456 456
 		}
457 457
 
458 458
 
459 459
 		// wrap
460
-		if(!$args['no_wrap']){
461
-			$form_group_class = $args['label_type']=='floating' ? 'form-label-group' : 'form-group';
462
-			$wrap_class = $args['label_type']=='horizontal' ? $form_group_class . ' row' : $form_group_class;
463
-			$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
460
+		if (!$args['no_wrap']) {
461
+			$form_group_class = $args['label_type'] == 'floating' ? 'form-label-group' : 'form-group';
462
+			$wrap_class = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
463
+			$wrap_class = !empty($args['wrap_class']) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
464 464
 			$output = self::wrap(array(
465 465
 				'content' => $output,
466 466
 				'class'   => $wrap_class,
@@ -473,7 +473,7 @@  discard block
 block discarded – undo
473 473
 		return $output;
474 474
 	}
475 475
 
476
-	public static function label($args = array(), $type = ''){
476
+	public static function label($args = array(), $type = '') {
477 477
 		//<label for="exampleInputEmail1">Email address</label>
478 478
 		$defaults = array(
479 479
 			'title'       => 'div',
@@ -485,20 +485,20 @@  discard block
 block discarded – undo
485 485
 		/**
486 486
 		 * Parse incoming $args into an array and merge it with $defaults
487 487
 		 */
488
-		$args   = wp_parse_args( $args, $defaults );
488
+		$args   = wp_parse_args($args, $defaults);
489 489
 		$output = '';
490 490
 
491
-		if($args['title']){
491
+		if ($args['title']) {
492 492
 
493 493
 			// maybe hide labels //@todo set a global option for visibility class
494
-			if($type == 'file' || $type == 'checkbox' || $type == 'radio' || !empty($args['label_type']) ){
494
+			if ($type == 'file' || $type == 'checkbox' || $type == 'radio' || !empty($args['label_type'])) {
495 495
 				$class = $args['class'];
496
-			}else{
497
-				$class = 'sr-only '.$args['class'];
496
+			} else {
497
+				$class = 'sr-only ' . $args['class'];
498 498
 			}
499 499
 
500 500
 			// maybe horizontal
501
-			if($args['label_type']=='horizontal' && $type != 'checkbox'){
501
+			if ($args['label_type'] == 'horizontal' && $type != 'checkbox') {
502 502
 				$class .= ' col-sm-2 col-form-label';
503 503
 			}
504 504
 
@@ -506,20 +506,20 @@  discard block
 block discarded – undo
506 506
 			$output .= '<label ';
507 507
 
508 508
 			// for
509
-			if(!empty($args['for'])){
510
-				$output .= ' for="'.sanitize_text_field($args['for']).'" ';
509
+			if (!empty($args['for'])) {
510
+				$output .= ' for="' . sanitize_text_field($args['for']) . '" ';
511 511
 			}
512 512
 
513 513
 			// class
514
-			$class = $class ? AUI_Component_Helper::esc_classes( $class ) : '';
515
-			$output .= ' class="'.$class.'" ';
514
+			$class = $class ? AUI_Component_Helper::esc_classes($class) : '';
515
+			$output .= ' class="' . $class . '" ';
516 516
 
517 517
 			// close
518 518
 			$output .= '>';
519 519
 
520 520
 
521 521
 			// title, don't escape fully as can contain html
522
-			if(!empty($args['title'])){
522
+			if (!empty($args['title'])) {
523 523
 				$output .= wp_kses_post($args['title']);
524 524
 			}
525 525
 
@@ -540,7 +540,7 @@  discard block
 block discarded – undo
540 540
 	 *
541 541
 	 * @return string
542 542
 	 */
543
-	public static function wrap($args = array()){
543
+	public static function wrap($args = array()) {
544 544
 		$defaults = array(
545 545
 			'type'       => 'div',
546 546
 			'class'      => 'form-group',
@@ -556,55 +556,55 @@  discard block
 block discarded – undo
556 556
 		/**
557 557
 		 * Parse incoming $args into an array and merge it with $defaults
558 558
 		 */
559
-		$args   = wp_parse_args( $args, $defaults );
559
+		$args   = wp_parse_args($args, $defaults);
560 560
 		$output = '';
561
-		if($args['type']){
561
+		if ($args['type']) {
562 562
 
563 563
 			// open
564
-			$output .= '<'.sanitize_html_class($args['type']);
564
+			$output .= '<' . sanitize_html_class($args['type']);
565 565
 
566 566
 			// element require
567
-			if(!empty($args['element_require'])){
567
+			if (!empty($args['element_require'])) {
568 568
 				$output .= AUI_Component_Helper::element_require($args['element_require']);
569 569
 				$args['class'] .= " aui-conditional-field";
570 570
 			}
571 571
 
572 572
 			// argument_id
573
-			if( !empty($args['argument_id']) ){
574
-				$output .= ' data-argument="'.esc_attr($args['argument_id']).'"';
573
+			if (!empty($args['argument_id'])) {
574
+				$output .= ' data-argument="' . esc_attr($args['argument_id']) . '"';
575 575
 			}
576 576
 
577 577
 			// class
578
-			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
579
-			$output .= ' class="'.$class.'" ';
578
+			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes($args['class']) : '';
579
+			$output .= ' class="' . $class . '" ';
580 580
 
581 581
 			// close wrap
582 582
 			$output .= ' >';
583 583
 
584 584
 
585 585
 			// Input group left
586
-			if(!empty($args['input_group_left'])){
586
+			if (!empty($args['input_group_left'])) {
587 587
 				$position_class = !empty($args['input_group_left_inside']) ? 'position-absolute h-100' : '';
588
-				$input_group_left = strpos($args['input_group_left'], '<') !== false ? $args['input_group_left'] : '<span class="input-group-text">'.$args['input_group_left'].'</span>';
589
-				$output .= '<div class="input-group-prepend '.$position_class.'">'.$input_group_left.'</div>';
588
+				$input_group_left = strpos($args['input_group_left'], '<') !== false ? $args['input_group_left'] : '<span class="input-group-text">' . $args['input_group_left'] . '</span>';
589
+				$output .= '<div class="input-group-prepend ' . $position_class . '">' . $input_group_left . '</div>';
590 590
 			}
591 591
 
592 592
 			// content
593 593
 			$output .= $args['content'];
594 594
 
595 595
 			// Input group right
596
-			if(!empty($args['input_group_right'])){
596
+			if (!empty($args['input_group_right'])) {
597 597
 				$position_class = !empty($args['input_group_left_inside']) ? 'position-absolute h-100' : '';
598
-				$input_group_right = strpos($args['input_group_right'], '<') !== false ? $args['input_group_right'] : '<span class="input-group-text">'.$args['input_group_right'].'</span>';
599
-				$output .= '<div class="input-group-append '.$position_class.'">'.$input_group_right.'</div>';
598
+				$input_group_right = strpos($args['input_group_right'], '<') !== false ? $args['input_group_right'] : '<span class="input-group-text">' . $args['input_group_right'] . '</span>';
599
+				$output .= '<div class="input-group-append ' . $position_class . '">' . $input_group_right . '</div>';
600 600
 			}
601 601
 
602 602
 
603 603
 			// close wrap
604
-			$output .= '</'.sanitize_html_class($args['type']).'>';
604
+			$output .= '</' . sanitize_html_class($args['type']) . '>';
605 605
 
606 606
 
607
-		}else{
607
+		} else {
608 608
 			$output = $args['content'];
609 609
 		}
610 610
 
@@ -618,7 +618,7 @@  discard block
 block discarded – undo
618 618
 	 *
619 619
 	 * @return string The rendered component.
620 620
 	 */
621
-	public static function select($args = array()){
621
+	public static function select($args = array()) {
622 622
 		$defaults = array(
623 623
 			'class'      => '',
624 624
 			'wrap_class' => '',
@@ -644,11 +644,11 @@  discard block
 block discarded – undo
644 644
 		/**
645 645
 		 * Parse incoming $args into an array and merge it with $defaults
646 646
 		 */
647
-		$args   = wp_parse_args( $args, $defaults );
647
+		$args   = wp_parse_args($args, $defaults);
648 648
 		$output = '';
649 649
 
650 650
 		// for now lets hide floating labels
651
-		if( $args['label_type'] == 'floating' ){$args['label_type'] = 'hidden';}
651
+		if ($args['label_type'] == 'floating') {$args['label_type'] = 'hidden'; }
652 652
 
653 653
 		// hidden label option needs to be empty
654 654
 		$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
@@ -657,47 +657,47 @@  discard block
 block discarded – undo
657 657
 		$label_after = $args['label_after'];
658 658
 
659 659
 		// floating labels need label after
660
-		if( $args['label_type'] == 'floating' ){
660
+		if ($args['label_type'] == 'floating') {
661 661
 			$label_after = true;
662 662
 			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
663 663
 		}
664 664
 
665 665
 		// Maybe setup select2
666 666
 		$is_select2 = false;
667
-		if(!empty($args['select2'])){
667
+		if (!empty($args['select2'])) {
668 668
 			$args['class'] .= ' aui-select2';
669 669
 			$is_select2 = true;
670
-		}elseif( strpos($args['class'], 'aui-select2') !== false){
670
+		}elseif (strpos($args['class'], 'aui-select2') !== false) {
671 671
 			$is_select2 = true;
672 672
 		}
673 673
 
674 674
 		// select2 tags
675
-		if( !empty($args['select2']) && $args['select2'] === 'tags'){ // triple equals needed here for some reason
675
+		if (!empty($args['select2']) && $args['select2'] === 'tags') { // triple equals needed here for some reason
676 676
 			$args['data-tags'] = 'true';
677 677
 			$args['data-token-separators'] = "[',']";
678 678
 			$args['multiple'] = true;
679 679
 		}
680 680
 
681 681
 		// select2 placeholder
682
-		if($is_select2 && isset($args['placeholder']) && '' != $args['placeholder'] && empty($args['data-placeholder'])){
682
+		if ($is_select2 && isset($args['placeholder']) && '' != $args['placeholder'] && empty($args['data-placeholder'])) {
683 683
 			$args['data-placeholder'] = esc_attr($args['placeholder']);
684 684
 			$args['data-allow-clear'] = isset($args['data-allow-clear']) ? (bool) $args['data-allow-clear'] : true;
685 685
 		}
686 686
 
687 687
 		// label
688
-		if(!empty($args['label']) && is_array($args['label'])){
689
-		}elseif(!empty($args['label']) && !$label_after){
688
+		if (!empty($args['label']) && is_array($args['label'])) {
689
+		}elseif (!empty($args['label']) && !$label_after) {
690 690
 			$label_args = array(
691 691
 				'title'=> $args['label'],
692 692
 				'for'=> $args['id'],
693
-				'class' => $args['label_class']." ",
693
+				'class' => $args['label_class'] . " ",
694 694
 				'label_type' => $args['label_type']
695 695
 			);
696 696
 			$output .= self::label($label_args);
697 697
 		}
698 698
 
699 699
 		// maybe horizontal label
700
-		if($args['label_type']=='horizontal'){
700
+		if ($args['label_type'] == 'horizontal') {
701 701
 			$output .= '<div class="col-sm-10">';
702 702
 		}
703 703
 
@@ -705,32 +705,32 @@  discard block
 block discarded – undo
705 705
 		$output .= '<select ';
706 706
 
707 707
 		// style
708
-		if($is_select2){
708
+		if ($is_select2) {
709 709
 			$output .= " style='width:100%;' ";
710 710
 		}
711 711
 
712 712
 		// element require
713
-		if(!empty($args['element_require'])){
713
+		if (!empty($args['element_require'])) {
714 714
 			$output .= AUI_Component_Helper::element_require($args['element_require']);
715 715
 			$args['class'] .= " aui-conditional-field";
716 716
 		}
717 717
 
718 718
 		// class
719 719
 		$class = !empty($args['class']) ? $args['class'] : '';
720
-		$output .= AUI_Component_Helper::class_attr('custom-select '.$class);
720
+		$output .= AUI_Component_Helper::class_attr('custom-select ' . $class);
721 721
 
722 722
 		// name
723
-		if(!empty($args['name'])){
724
-			$output .= AUI_Component_Helper::name($args['name'],$args['multiple']);
723
+		if (!empty($args['name'])) {
724
+			$output .= AUI_Component_Helper::name($args['name'], $args['multiple']);
725 725
 		}
726 726
 
727 727
 		// id
728
-		if(!empty($args['id'])){
728
+		if (!empty($args['id'])) {
729 729
 			$output .= AUI_Component_Helper::id($args['id']);
730 730
 		}
731 731
 
732 732
 		// title
733
-		if(!empty($args['title'])){
733
+		if (!empty($args['title'])) {
734 734
 			$output .= AUI_Component_Helper::title($args['title']);
735 735
 		}
736 736
 
@@ -741,17 +741,17 @@  discard block
 block discarded – undo
741 741
 		$output .= AUI_Component_Helper::aria_attributes($args);
742 742
 
743 743
 		// extra attributes
744
-		if(!empty($args['extra_attributes'])){
744
+		if (!empty($args['extra_attributes'])) {
745 745
 			$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
746 746
 		}
747 747
 
748 748
 		// required
749
-		if(!empty($args['required'])){
749
+		if (!empty($args['required'])) {
750 750
 			$output .= ' required ';
751 751
 		}
752 752
 
753 753
 		// multiple
754
-		if(!empty($args['multiple'])){
754
+		if (!empty($args['multiple'])) {
755 755
 			$output .= ' multiple ';
756 756
 		}
757 757
 
@@ -759,21 +759,21 @@  discard block
 block discarded – undo
759 759
 		$output .= ' >';
760 760
 
761 761
 		// placeholder
762
-		if(isset($args['placeholder']) && '' != $args['placeholder'] && !$is_select2){
763
-			$output .= '<option value="" disabled selected hidden>'.esc_attr($args['placeholder']).'</option>';
764
-		}elseif($is_select2 && !empty($args['placeholder'])){
762
+		if (isset($args['placeholder']) && '' != $args['placeholder'] && !$is_select2) {
763
+			$output .= '<option value="" disabled selected hidden>' . esc_attr($args['placeholder']) . '</option>';
764
+		}elseif ($is_select2 && !empty($args['placeholder'])) {
765 765
 			$output .= "<option></option>"; // select2 needs an empty select to fill the placeholder
766 766
 		}
767 767
 
768 768
 		// Options
769
-		if(!empty($args['options'])){
769
+		if (!empty($args['options'])) {
770 770
 
771
-			if(!is_array($args['options'])){
771
+			if (!is_array($args['options'])) {
772 772
 				$output .= $args['options']; // not the preferred way but an option
773
-			}else{
774
-				foreach($args['options'] as $val => $name){
773
+			} else {
774
+				foreach ($args['options'] as $val => $name) {
775 775
 					$selected = '';
776
-					if(is_array($name)){
776
+					if (is_array($name)) {
777 777
 						if (isset($name['optgroup']) && ($name['optgroup'] == 'start' || $name['optgroup'] == 'end')) {
778 778
 							$option_label = isset($name['label']) ? $name['label'] : '';
779 779
 
@@ -781,23 +781,23 @@  discard block
 block discarded – undo
781 781
 						} else {
782 782
 							$option_label = isset($name['label']) ? $name['label'] : '';
783 783
 							$option_value = isset($name['value']) ? $name['value'] : '';
784
-							if(!empty($args['multiple']) && !empty($args['value']) && is_array($args['value']) ){
784
+							if (!empty($args['multiple']) && !empty($args['value']) && is_array($args['value'])) {
785 785
 								$selected = in_array($option_value, stripslashes_deep($args['value'])) ? "selected" : "";
786
-							} elseif(!empty($args['value'])) {
787
-								$selected = selected($option_value,stripslashes_deep($args['value']), false);
786
+							} elseif (!empty($args['value'])) {
787
+								$selected = selected($option_value, stripslashes_deep($args['value']), false);
788 788
 							}
789 789
 
790 790
 							$output .= '<option value="' . esc_attr($option_value) . '" ' . $selected . '>' . $option_label . '</option>';
791 791
 						}
792
-					}else{
793
-						if(!empty($args['value'])){
794
-							if(is_array($args['value'])){
795
-								$selected = in_array($val,$args['value']) ? 'selected="selected"' : '';
796
-							} elseif(!empty($args['value'])) {
797
-								$selected = selected( $args['value'], $val, false);
792
+					} else {
793
+						if (!empty($args['value'])) {
794
+							if (is_array($args['value'])) {
795
+								$selected = in_array($val, $args['value']) ? 'selected="selected"' : '';
796
+							} elseif (!empty($args['value'])) {
797
+								$selected = selected($args['value'], $val, false);
798 798
 							}
799 799
 						}
800
-						$output .= '<option value="'.esc_attr($val).'" '.$selected.'>'.esc_attr($name).'</option>';
800
+						$output .= '<option value="' . esc_attr($val) . '" ' . $selected . '>' . esc_attr($name) . '</option>';
801 801
 					}
802 802
 				}
803 803
 			}
@@ -807,31 +807,31 @@  discard block
 block discarded – undo
807 807
 		// closing tag
808 808
 		$output .= '</select>';
809 809
 
810
-		if(!empty($args['label']) && $label_after){
810
+		if (!empty($args['label']) && $label_after) {
811 811
 			$label_args = array(
812 812
 				'title'=> $args['label'],
813 813
 				'for'=> $args['id'],
814
-				'class' => $args['label_class']." ",
814
+				'class' => $args['label_class'] . " ",
815 815
 				'label_type' => $args['label_type']
816 816
 			);
817 817
 			$output .= self::label($label_args);
818 818
 		}
819 819
 
820 820
 		// help text
821
-		if(!empty($args['help_text'])){
821
+		if (!empty($args['help_text'])) {
822 822
 			$output .= AUI_Component_Helper::help_text($args['help_text']);
823 823
 		}
824 824
 
825 825
 		// maybe horizontal label
826
-		if($args['label_type']=='horizontal'){
826
+		if ($args['label_type'] == 'horizontal') {
827 827
 			$output .= '</div>';
828 828
 		}
829 829
 
830 830
 
831 831
 		// wrap
832
-		if(!$args['no_wrap']){
833
-			$wrap_class = $args['label_type']=='horizontal' ? 'form-group row' : 'form-group';
834
-			$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
832
+		if (!$args['no_wrap']) {
833
+			$wrap_class = $args['label_type'] == 'horizontal' ? 'form-group row' : 'form-group';
834
+			$wrap_class = !empty($args['wrap_class']) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
835 835
 			$output = self::wrap(array(
836 836
 				'content' => $output,
837 837
 				'class'   => $wrap_class,
@@ -851,7 +851,7 @@  discard block
 block discarded – undo
851 851
 	 *
852 852
 	 * @return string The rendered component.
853 853
 	 */
854
-	public static function radio($args = array()){
854
+	public static function radio($args = array()) {
855 855
 		$defaults = array(
856 856
 			'class'      => '',
857 857
 			'wrap_class' => '',
@@ -874,14 +874,14 @@  discard block
 block discarded – undo
874 874
 		/**
875 875
 		 * Parse incoming $args into an array and merge it with $defaults
876 876
 		 */
877
-		$args   = wp_parse_args( $args, $defaults );
877
+		$args = wp_parse_args($args, $defaults);
878 878
 
879 879
 		// for now lets use horizontal for floating
880
-		if( $args['label_type'] == 'floating' ){$args['label_type'] = 'horizontal';}
880
+		if ($args['label_type'] == 'floating') {$args['label_type'] = 'horizontal'; }
881 881
 
882 882
 		$label_args = array(
883 883
 			'title'=> $args['label'],
884
-			'class' => $args['label_class']." pt-0 ",
884
+			'class' => $args['label_class'] . " pt-0 ",
885 885
 			'label_type' => $args['label_type']
886 886
 		);
887 887
 
@@ -890,36 +890,36 @@  discard block
 block discarded – undo
890 890
 
891 891
 
892 892
 		// label before
893
-		if(!empty($args['label'])){
894
-			$output .= self::label( $label_args, 'radio' );
893
+		if (!empty($args['label'])) {
894
+			$output .= self::label($label_args, 'radio');
895 895
 		}
896 896
 
897 897
 		// maybe horizontal label
898
-		if($args['label_type']=='horizontal'){
898
+		if ($args['label_type'] == 'horizontal') {
899 899
 			$output .= '<div class="col-sm-10">';
900 900
 		}
901 901
 
902
-		if(!empty($args['options'])){
902
+		if (!empty($args['options'])) {
903 903
 			$count = 0;
904
-			foreach($args['options'] as $value => $label){
904
+			foreach ($args['options'] as $value => $label) {
905 905
 				$option_args = $args;
906 906
 				$option_args['value'] = $value;
907 907
 				$option_args['label'] = $label;
908 908
 				$option_args['checked'] = $value == $args['value'] ? true : false;
909
-				$output .= self::radio_option($option_args,$count);
909
+				$output .= self::radio_option($option_args, $count);
910 910
 				$count++;
911 911
 			}
912 912
 		}
913 913
 
914 914
 		// maybe horizontal label
915
-		if($args['label_type']=='horizontal'){
915
+		if ($args['label_type'] == 'horizontal') {
916 916
 			$output .= '</div>';
917 917
 		}
918 918
 
919 919
 
920 920
 		// wrap
921
-		$wrap_class = $args['label_type']=='horizontal' ? 'form-group row' : 'form-group';
922
-		$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
921
+		$wrap_class = $args['label_type'] == 'horizontal' ? 'form-group row' : 'form-group';
922
+		$wrap_class = !empty($args['wrap_class']) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
923 923
 		$output = self::wrap(array(
924 924
 			'content' => $output,
925 925
 			'class'   => $wrap_class,
@@ -938,7 +938,7 @@  discard block
 block discarded – undo
938 938
 	 *
939 939
 	 * @return string The rendered component.
940 940
 	 */
941
-	public static function radio_option($args = array(),$count = ''){
941
+	public static function radio_option($args = array(), $count = '') {
942 942
 		$defaults = array(
943 943
 			'class'      => '',
944 944
 			'id'         => '',
@@ -956,7 +956,7 @@  discard block
 block discarded – undo
956 956
 		/**
957 957
 		 * Parse incoming $args into an array and merge it with $defaults
958 958
 		 */
959
-		$args   = wp_parse_args( $args, $defaults );
959
+		$args   = wp_parse_args($args, $defaults);
960 960
 
961 961
 		$output = '';
962 962
 
@@ -967,27 +967,27 @@  discard block
 block discarded – undo
967 967
 		$output .= ' class="form-check-input" ';
968 968
 
969 969
 		// name
970
-		if(!empty($args['name'])){
970
+		if (!empty($args['name'])) {
971 971
 			$output .= AUI_Component_Helper::name($args['name']);
972 972
 		}
973 973
 
974 974
 		// id
975
-		if(!empty($args['id'])){
976
-			$output .= AUI_Component_Helper::id($args['id'].$count);
975
+		if (!empty($args['id'])) {
976
+			$output .= AUI_Component_Helper::id($args['id'] . $count);
977 977
 		}
978 978
 
979 979
 		// title
980
-		if(!empty($args['title'])){
980
+		if (!empty($args['title'])) {
981 981
 			$output .= AUI_Component_Helper::title($args['title']);
982 982
 		}
983 983
 
984 984
 		// value
985
-		if(isset($args['value'])){
986
-			$output .= ' value="'.sanitize_text_field($args['value']).'" ';
985
+		if (isset($args['value'])) {
986
+			$output .= ' value="' . sanitize_text_field($args['value']) . '" ';
987 987
 		}
988 988
 
989 989
 		// checked, for radio and checkboxes
990
-		if( $args['checked'] ){
990
+		if ($args['checked']) {
991 991
 			$output .= ' checked ';
992 992
 		}
993 993
 
@@ -998,12 +998,12 @@  discard block
 block discarded – undo
998 998
 		$output .= AUI_Component_Helper::aria_attributes($args);
999 999
 
1000 1000
 		// extra attributes
1001
-		if(!empty($args['extra_attributes'])){
1001
+		if (!empty($args['extra_attributes'])) {
1002 1002
 			$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
1003 1003
 		}
1004 1004
 
1005 1005
 		// required
1006
-		if(!empty($args['required'])){
1006
+		if (!empty($args['required'])) {
1007 1007
 			$output .= ' required ';
1008 1008
 		}
1009 1009
 
@@ -1011,13 +1011,13 @@  discard block
 block discarded – undo
1011 1011
 		$output .= ' >';
1012 1012
 
1013 1013
 		// label
1014
-		if(!empty($args['label']) && is_array($args['label'])){
1015
-		}elseif(!empty($args['label'])){
1016
-			$output .= self::label(array('title'=>$args['label'],'for'=>$args['id'].$count,'class'=>'form-check-label'),'radio');
1014
+		if (!empty($args['label']) && is_array($args['label'])) {
1015
+		}elseif (!empty($args['label'])) {
1016
+			$output .= self::label(array('title'=>$args['label'], 'for'=>$args['id'] . $count, 'class'=>'form-check-label'), 'radio');
1017 1017
 		}
1018 1018
 
1019 1019
 		// wrap
1020
-		if(!$args['no_wrap']){
1020
+		if (!$args['no_wrap']) {
1021 1021
 			$wrap_class = $args['inline'] ? 'form-check form-check-inline' : 'form-check';
1022 1022
 			$output = self::wrap(array(
1023 1023
 				'content' => $output,
Please login to merge, or discard this patch.
templates/payment-forms-admin/edit/pay_button.php 1 patch
Spacing   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -7,44 +7,44 @@
 block discarded – undo
7 7
  * @version 1.0.19
8 8
  */
9 9
 
10
-defined( 'ABSPATH' ) || exit;
10
+defined('ABSPATH') || exit;
11 11
 
12 12
 ?>
13 13
 
14 14
 <div class='form-group'>
15 15
     <label class="d-block">
16
-        <span><?php esc_html_e( 'Button Text', 'invoicing' ); ?></span>
16
+        <span><?php esc_html_e('Button Text', 'invoicing'); ?></span>
17 17
         <input v-model='active_form_element.label' class='form-control' type="text"/>
18
-        <small class="form-text text-muted"><?php _e( '%price% will be replaced by the total payable amount', 'invoicing' ); ?></small>
18
+        <small class="form-text text-muted"><?php _e('%price% will be replaced by the total payable amount', 'invoicing'); ?></small>
19 19
     </label>
20 20
 </div>
21 21
 
22 22
 <div class='form-group'>
23 23
     <label class="d-block">
24
-        <span><?php esc_html_e( 'Free Checkout Text', 'invoicing' ); ?></span>
24
+        <span><?php esc_html_e('Free Checkout Text', 'invoicing'); ?></span>
25 25
         <input v-model='active_form_element.free' class='form-control' type="text"/>
26
-        <small class="form-text text-muted"><?php _e( 'The text to display if the total payable amount is zero', 'invoicing' ); ?></small>
26
+        <small class="form-text text-muted"><?php _e('The text to display if the total payable amount is zero', 'invoicing'); ?></small>
27 27
     </label>
28 28
 </div>
29 29
 
30 30
 <div class='form-group'>
31 31
     <label class="d-block">
32
-        <span><?php esc_html_e( 'Help Text', 'invoicing' ); ?></span>
33
-        <textarea placeholder='<?php esc_attr_e( 'Add some help text for this field', 'invoicing' ); ?>' v-model='active_form_element.description' class='form-control' rows='3'></textarea>
32
+        <span><?php esc_html_e('Help Text', 'invoicing'); ?></span>
33
+        <textarea placeholder='<?php esc_attr_e('Add some help text for this field', 'invoicing'); ?>' v-model='active_form_element.description' class='form-control' rows='3'></textarea>
34 34
     </label>
35 35
 </div>
36 36
 
37 37
 <div class='form-group'>
38
-    <label :for="active_form_element.id + '_edit_type'"><?php esc_html_e( 'Button Type', 'invoicing' ) ?></label>
38
+    <label :for="active_form_element.id + '_edit_type'"><?php esc_html_e('Button Type', 'invoicing') ?></label>
39 39
     <select class='form-control custom-select' :id="active_form_element.id + '_edit_type'" v-model='active_form_element.class'>
40
-        <option value='btn-primary'><?php esc_html_e( 'Primary', 'invoicing' ); ?></option>
41
-        <option value='btn-secondary'><?php esc_html_e( 'Secondary', 'invoicing' ); ?></option>
42
-        <option value='btn-success'><?php esc_html_e( 'Success', 'invoicing' ); ?></option>
43
-        <option value='btn-danger'><?php esc_html_e( 'Danger', 'invoicing' ); ?></option>
44
-        <option value='btn-warning'><?php esc_html_e( 'Warning', 'invoicing' ); ?></option>
45
-        <option value='btn-info'><?php esc_html_e( 'Info', 'invoicing' ); ?></option>
46
-        <option value='btn-light'><?php esc_html_e( 'Light', 'invoicing' ); ?></option>
47
-        <option value='btn-dark'><?php esc_html_e( 'Dark', 'invoicing' ); ?></option>
48
-        <option value='btn-link'><?php esc_html_e( 'Link', 'invoicing' ); ?></option>
40
+        <option value='btn-primary'><?php esc_html_e('Primary', 'invoicing'); ?></option>
41
+        <option value='btn-secondary'><?php esc_html_e('Secondary', 'invoicing'); ?></option>
42
+        <option value='btn-success'><?php esc_html_e('Success', 'invoicing'); ?></option>
43
+        <option value='btn-danger'><?php esc_html_e('Danger', 'invoicing'); ?></option>
44
+        <option value='btn-warning'><?php esc_html_e('Warning', 'invoicing'); ?></option>
45
+        <option value='btn-info'><?php esc_html_e('Info', 'invoicing'); ?></option>
46
+        <option value='btn-light'><?php esc_html_e('Light', 'invoicing'); ?></option>
47
+        <option value='btn-dark'><?php esc_html_e('Dark', 'invoicing'); ?></option>
48
+        <option value='btn-link'><?php esc_html_e('Link', 'invoicing'); ?></option>
49 49
     </select>
50 50
 </div>
Please login to merge, or discard this patch.
includes/wpinv-address-functions.php 2 patches
Indentation   +88 added lines, -88 removed lines patch added patch discarded remove patch
@@ -13,9 +13,9 @@  discard block
 block discarded – undo
13 13
 
14 14
 
15 15
 function wpinv_get_default_country() {
16
-	$country = wpinv_get_option( 'default_country', 'UK' );
16
+    $country = wpinv_get_option( 'default_country', 'UK' );
17 17
 
18
-	return apply_filters( 'wpinv_default_country', $country );
18
+    return apply_filters( 'wpinv_default_country', $country );
19 19
 }
20 20
 
21 21
 /**
@@ -26,7 +26,7 @@  discard block
 block discarded – undo
26 26
  */
27 27
 function wpinv_sanitize_country( $country ) {
28 28
 
29
-	// Enure the country is specified
29
+    // Enure the country is specified
30 30
     if ( empty( $country ) ) {
31 31
         $country = wpinv_get_default_country();
32 32
     }
@@ -56,9 +56,9 @@  discard block
 block discarded – undo
56 56
 }
57 57
 
58 58
 function wpinv_get_default_state() {
59
-	$state = wpinv_get_option( 'default_state', '' );
59
+    $state = wpinv_get_option( 'default_state', '' );
60 60
 
61
-	return apply_filters( 'wpinv_default_state', $state );
61
+    return apply_filters( 'wpinv_default_state', $state );
62 62
 }
63 63
 
64 64
 function wpinv_state_name( $state_code = '', $country_code = '' ) {
@@ -288,11 +288,11 @@  discard block
 block discarded – undo
288 288
 
289 289
     $country = wpinv_sanitize_country( $country );
290 290
     
291
-	foreach ( wpinv_get_continents( 'countries' ) as $continent_code => $countries ) {
292
-		if ( false !== array_search( $country, $countries, true ) ) {
293
-			return $continent_code;
294
-		}
295
-	}
291
+    foreach ( wpinv_get_continents( 'countries' ) as $continent_code => $countries ) {
292
+        if ( false !== array_search( $country, $countries, true ) ) {
293
+            return $continent_code;
294
+        }
295
+    }
296 296
 
297 297
     return '';
298 298
     
@@ -584,30 +584,30 @@  discard block
 block discarded – undo
584 584
 }
585 585
 
586 586
 function wpinv_get_states_field() {
587
-	if( empty( $_POST['country'] ) ) {
588
-		$_POST['country'] = wpinv_get_default_country();
589
-	}
590
-	$states = wpinv_get_country_states( sanitize_text_field( $_POST['country'] ) );
587
+    if( empty( $_POST['country'] ) ) {
588
+        $_POST['country'] = wpinv_get_default_country();
589
+    }
590
+    $states = wpinv_get_country_states( sanitize_text_field( $_POST['country'] ) );
591 591
 
592
-	if( !empty( $states ) ) {
593
-		$sanitized_field_name = sanitize_text_field( $_POST['field_name'] );
592
+    if( !empty( $states ) ) {
593
+        $sanitized_field_name = sanitize_text_field( $_POST['field_name'] );
594 594
         
595 595
         $args = array(
596
-			'name'    => $sanitized_field_name,
597
-			'id'      => $sanitized_field_name,
598
-			'class'   => $sanitized_field_name . 'custom-select wpinv-select wpi_select2',
599
-			'options' => array_merge( array( '' => '' ), $states ),
600
-			'show_option_all'  => false,
601
-			'show_option_none' => false
602
-		);
603
-
604
-		$response = wpinv_html_select( $args );
605
-
606
-	} else {
607
-		$response = 'nostates';
608
-	}
596
+            'name'    => $sanitized_field_name,
597
+            'id'      => $sanitized_field_name,
598
+            'class'   => $sanitized_field_name . 'custom-select wpinv-select wpi_select2',
599
+            'options' => array_merge( array( '' => '' ), $states ),
600
+            'show_option_all'  => false,
601
+            'show_option_none' => false
602
+        );
603
+
604
+        $response = wpinv_html_select( $args );
605
+
606
+    } else {
607
+        $response = 'nostates';
608
+    }
609 609
 
610
-	return $response;
610
+    return $response;
611 611
 }
612 612
 
613 613
 function wpinv_default_billing_country( $country = '', $user_id = 0 ) {
@@ -625,46 +625,46 @@  discard block
 block discarded – undo
625 625
  */
626 626
 function wpinv_get_address_formats() {
627 627
 
628
-		return apply_filters( 'wpinv_localisation_address_formats',
629
-			array(
630
-				'default' => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}}\n{{zip}}\n{{country}}",
631
-				'AU'      => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}} {{zip}}\n{{country}}",
632
-				'AT'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
633
-				'BE'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
634
-				'CA'      => "{{company}}\n{{name}}\n{{address}}\n{{city}} {{state_code}}&nbsp;&nbsp;{{zip}}\n{{country}}",
635
-				'CH'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
636
-				'CL'      => "{{company}}\n{{name}}\n{{address}}\n{{state}}\n{{zip}} {{city}}\n{{country}}",
637
-				'CN'      => "{{country}} {{zip}}\n{{state}}, {{city}}, {{address}}\n{{company}}\n{{name}}",
638
-				'CZ'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
639
-				'DE'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
640
-				'EE'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
641
-				'FI'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
642
-				'DK'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
643
-				'FR'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city_upper}}\n{{country}}",
644
-				'HK'      => "{{company}}\n{{first_name}} {{last_name_upper}}\n{{address}}\n{{city_upper}}\n{{state_upper}}\n{{country}}",
645
-				'HU'      => "{{name}}\n{{company}}\n{{city}}\n{{address}}\n{{zip}}\n{{country}}",
646
-				'IN'      => "{{company}}\n{{name}}\n{{address}}\n{{city}} {{zip}}\n{{state}}, {{country}}",
647
-				'IS'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
648
-				'IT'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}}\n{{city}}\n{{state_upper}}\n{{country}}",
649
-				'JP'      => "{{zip}}\n{{state}} {{city}} {{address}}\n{{company}}\n{{last_name}} {{first_name}}\n{{country}}",
650
-				'TW'      => "{{company}}\n{{last_name}} {{first_name}}\n{{address}}\n{{state}}, {{city}} {{zip}}\n{{country}}",
651
-				'LI'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
652
-				'NL'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
653
-				'NZ'      => "{{name}}\n{{company}}\n{{address}}\n{{city}} {{zip}}\n{{country}}",
654
-				'NO'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
655
-				'PL'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
656
-				'PT'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
657
-				'SK'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
658
-				'RS'      => "{{name}}\n{{company}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
659
-				'SI'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
660
-				'ES'      => "{{name}}\n{{company}}\n{{address}}\n{{zip}} {{city}}\n{{state}}\n{{country}}",
661
-				'SE'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
662
-				'TR'      => "{{name}}\n{{company}}\n{{address}}\n{{zip}} {{city}} {{state}}\n{{country}}",
663
-				'UG'      => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}}, {{country}}",
664
-				'US'      => "{{name}}\n{{company}}\n{{address}}\n{{city}}, {{state_code}} {{zip}}\n{{country}}",
665
-				'VN'      => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{country}}",
666
-			)
667
-		);
628
+        return apply_filters( 'wpinv_localisation_address_formats',
629
+            array(
630
+                'default' => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}}\n{{zip}}\n{{country}}",
631
+                'AU'      => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}} {{zip}}\n{{country}}",
632
+                'AT'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
633
+                'BE'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
634
+                'CA'      => "{{company}}\n{{name}}\n{{address}}\n{{city}} {{state_code}}&nbsp;&nbsp;{{zip}}\n{{country}}",
635
+                'CH'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
636
+                'CL'      => "{{company}}\n{{name}}\n{{address}}\n{{state}}\n{{zip}} {{city}}\n{{country}}",
637
+                'CN'      => "{{country}} {{zip}}\n{{state}}, {{city}}, {{address}}\n{{company}}\n{{name}}",
638
+                'CZ'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
639
+                'DE'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
640
+                'EE'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
641
+                'FI'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
642
+                'DK'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
643
+                'FR'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city_upper}}\n{{country}}",
644
+                'HK'      => "{{company}}\n{{first_name}} {{last_name_upper}}\n{{address}}\n{{city_upper}}\n{{state_upper}}\n{{country}}",
645
+                'HU'      => "{{name}}\n{{company}}\n{{city}}\n{{address}}\n{{zip}}\n{{country}}",
646
+                'IN'      => "{{company}}\n{{name}}\n{{address}}\n{{city}} {{zip}}\n{{state}}, {{country}}",
647
+                'IS'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
648
+                'IT'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}}\n{{city}}\n{{state_upper}}\n{{country}}",
649
+                'JP'      => "{{zip}}\n{{state}} {{city}} {{address}}\n{{company}}\n{{last_name}} {{first_name}}\n{{country}}",
650
+                'TW'      => "{{company}}\n{{last_name}} {{first_name}}\n{{address}}\n{{state}}, {{city}} {{zip}}\n{{country}}",
651
+                'LI'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
652
+                'NL'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
653
+                'NZ'      => "{{name}}\n{{company}}\n{{address}}\n{{city}} {{zip}}\n{{country}}",
654
+                'NO'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
655
+                'PL'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
656
+                'PT'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
657
+                'SK'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
658
+                'RS'      => "{{name}}\n{{company}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
659
+                'SI'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
660
+                'ES'      => "{{name}}\n{{company}}\n{{address}}\n{{zip}} {{city}}\n{{state}}\n{{country}}",
661
+                'SE'      => "{{company}}\n{{name}}\n{{address}}\n{{zip}} {{city}}\n{{country}}",
662
+                'TR'      => "{{name}}\n{{company}}\n{{address}}\n{{zip}} {{city}} {{state}}\n{{country}}",
663
+                'UG'      => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}}, {{country}}",
664
+                'US'      => "{{name}}\n{{company}}\n{{address}}\n{{city}}, {{state_code}} {{zip}}\n{{country}}",
665
+                'VN'      => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{country}}",
666
+            )
667
+        );
668 668
 }
669 669
 
670 670
 /**
@@ -681,21 +681,21 @@  discard block
 block discarded – undo
681 681
     }
682 682
 
683 683
     // Get all formats.
684
-	$formats = wpinv_get_address_formats();
684
+    $formats = wpinv_get_address_formats();
685 685
 
686
-	// Get format for the specified country.
687
-	$format = ( $country && isset( $formats[ $country ] ) ) ? $formats[ $country ] : $formats['default'];
686
+    // Get format for the specified country.
687
+    $format = ( $country && isset( $formats[ $country ] ) ) ? $formats[ $country ] : $formats['default'];
688 688
     
689 689
     /**
690
-	 * Filters the address format to use on Invoices.
690
+     * Filters the address format to use on Invoices.
691 691
      * 
692 692
      * New lines will be replaced by a `br` element. Double new lines will be replaced by a paragraph. HTML tags are allowed.
693
-	 *
694
-	 * @since 1.0.13
695
-	 *
696
-	 * @param string $format  The address format to use.
693
+     *
694
+     * @since 1.0.13
695
+     *
696
+     * @param string $format  The address format to use.
697 697
      * @param string $country The country who's address format is being retrieved.
698
-	 */
698
+     */
699 699
     return apply_filters( 'wpinv_get_full_address_format', $format, $country );
700 700
 }
701 701
 
@@ -716,8 +716,8 @@  discard block
 block discarded – undo
716 716
         'country'           => '',
717 717
         'zip'               => '',
718 718
         'first_name'        => '',
719
-		'last_name'         => '',
720
-		'company'           => '',
719
+        'last_name'         => '',
720
+        'company'           => '',
721 721
     );
722 722
 
723 723
     $args    = map_deep( wp_parse_args( $billing_details, $default_args ), 'trim' );
@@ -738,14 +738,14 @@  discard block
 block discarded – undo
738 738
     $args['country_code']= $country;
739 739
 
740 740
     /**
741
-	 * Filters the address format replacements to use on Invoices.
741
+     * Filters the address format replacements to use on Invoices.
742 742
      * 
743
-	 *
744
-	 * @since 1.0.13
745
-	 *
746
-	 * @param array $replacements  The address replacements to use.
743
+     *
744
+     * @since 1.0.13
745
+     *
746
+     * @param array $replacements  The address replacements to use.
747 747
      * @param array $billing_details  The billing details to use.
748
-	 */
748
+     */
749 749
     $replacements = apply_filters( 'wpinv_get_invoice_address_replacements', $args, $billing_details );
750 750
 
751 751
     $return = array();
@@ -768,5 +768,5 @@  discard block
 block discarded – undo
768 768
  * @return string
769 769
  */
770 770
 function wpinv_trim_formatted_address_line( $line ) {
771
-	return trim( $line, ', ' );
771
+    return trim( $line, ', ' );
772 772
 }
773 773
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +144 added lines, -144 removed lines patch added patch discarded remove patch
@@ -7,15 +7,15 @@  discard block
 block discarded – undo
7 7
  */
8 8
  
9 9
 // MUST have WordPress.
10
-if ( !defined( 'WPINC' ) ) {
11
-    exit( 'Do NOT access this file directly: ' . basename( __FILE__ ) );
10
+if (!defined('WPINC')) {
11
+    exit('Do NOT access this file directly: ' . basename(__FILE__));
12 12
 }
13 13
 
14 14
 
15 15
 function wpinv_get_default_country() {
16
-	$country = wpinv_get_option( 'default_country', 'UK' );
16
+	$country = wpinv_get_option('default_country', 'UK');
17 17
 
18
-	return apply_filters( 'wpinv_default_country', $country );
18
+	return apply_filters('wpinv_default_country', $country);
19 19
 }
20 20
 
21 21
 /**
@@ -23,8 +23,8 @@  discard block
 block discarded – undo
23 23
  *
24 24
  * @return string
25 25
  */
26
-function getpaid_get_ip_country( $ip_address = '' ) {
27
-    $country = GetPaid_Geolocation::geolocate_ip( $ip_address, true );
26
+function getpaid_get_ip_country($ip_address = '') {
27
+    $country = GetPaid_Geolocation::geolocate_ip($ip_address, true);
28 28
     return $country['country'];
29 29
 }
30 30
 
@@ -34,59 +34,59 @@  discard block
 block discarded – undo
34 34
  * @param string $country The country code to sanitize
35 35
  * @return array
36 36
  */
37
-function wpinv_sanitize_country( $country ) {
37
+function wpinv_sanitize_country($country) {
38 38
 
39 39
 	// Enure the country is specified
40
-    if ( empty( $country ) ) {
40
+    if (empty($country)) {
41 41
         $country = wpinv_get_default_country();
42 42
     }
43
-    return trim( wpinv_utf8_strtoupper( $country ) );
43
+    return trim(wpinv_utf8_strtoupper($country));
44 44
 
45 45
 }
46 46
 
47
-function wpinv_is_base_country( $country ) {
47
+function wpinv_is_base_country($country) {
48 48
     $base_country = wpinv_get_default_country();
49 49
     
50
-    if ( $base_country === 'UK' ) {
50
+    if ($base_country === 'UK') {
51 51
         $base_country = 'GB';
52 52
     }
53
-    if ( $country == 'UK' ) {
53
+    if ($country == 'UK') {
54 54
         $country = 'GB';
55 55
     }
56 56
 
57
-    return ( $country && $country === $base_country ) ? true : false;
57
+    return ($country && $country === $base_country) ? true : false;
58 58
 }
59 59
 
60
-function wpinv_country_name( $country_code = '' ) { 
60
+function wpinv_country_name($country_code = '') { 
61 61
     $countries = wpinv_get_country_list();
62 62
     $country_code = $country_code == 'UK' ? 'GB' : $country_code;
63
-    $country = isset( $countries[$country_code] ) ? $countries[$country_code] : $country_code;
63
+    $country = isset($countries[$country_code]) ? $countries[$country_code] : $country_code;
64 64
 
65
-    return apply_filters( 'wpinv_country_name', $country, $country_code );
65
+    return apply_filters('wpinv_country_name', $country, $country_code);
66 66
 }
67 67
 
68 68
 function wpinv_get_default_state() {
69
-	$state = wpinv_get_option( 'default_state', '' );
69
+	$state = wpinv_get_option('default_state', '');
70 70
 
71
-	return apply_filters( 'wpinv_default_state', $state );
71
+	return apply_filters('wpinv_default_state', $state);
72 72
 }
73 73
 
74
-function wpinv_state_name( $state_code = '', $country_code = '' ) {
74
+function wpinv_state_name($state_code = '', $country_code = '') {
75 75
     $state = $state_code;
76 76
     
77
-    if ( !empty( $country_code ) ) {
78
-        $states = wpinv_get_country_states( $country_code );
77
+    if (!empty($country_code)) {
78
+        $states = wpinv_get_country_states($country_code);
79 79
         
80
-        $state = !empty( $states ) && isset( $states[$state_code] ) ? $states[$state_code] : $state;
80
+        $state = !empty($states) && isset($states[$state_code]) ? $states[$state_code] : $state;
81 81
     }
82 82
 
83
-    return apply_filters( 'wpinv_state_name', $state, $state_code, $country_code );
83
+    return apply_filters('wpinv_state_name', $state, $state_code, $country_code);
84 84
 }
85 85
 
86 86
 function wpinv_store_address() {
87
-    $address = wpinv_get_option( 'store_address', '' );
87
+    $address = wpinv_get_option('store_address', '');
88 88
 
89
-    return apply_filters( 'wpinv_store_address', $address );
89
+    return apply_filters('wpinv_store_address', $address);
90 90
 }
91 91
 
92 92
 /**
@@ -94,24 +94,24 @@  discard block
 block discarded – undo
94 94
  *
95 95
  * @param WPInv_Invoice $invoice
96 96
  */
97
-function getpaid_maybe_add_default_address( &$invoice ) {
97
+function getpaid_maybe_add_default_address(&$invoice) {
98 98
 
99 99
     $user_id = $invoice->get_user_id();
100 100
 
101 101
     // Abort if the invoice belongs to no one.
102
-    if ( empty( $user_id ) ) {
102
+    if (empty($user_id)) {
103 103
         return;
104 104
     }
105 105
 
106 106
     // Fill in defaults whenever necessary.
107
-    foreach ( wpinv_get_user_address( $user_id ) as $key => $value ) {
107
+    foreach (wpinv_get_user_address($user_id) as $key => $value) {
108 108
 
109
-        if ( is_callable( $invoice, "get_$key" ) ) {
110
-            $current = call_user_func( array( $invoice, "get_$key" ) );
109
+        if (is_callable($invoice, "get_$key")) {
110
+            $current = call_user_func(array($invoice, "get_$key"));
111 111
 
112
-            if ( empty( $current ) ) {
112
+            if (empty($current)) {
113 113
                 $method = "set_$key";
114
-                $invoice->$method( $value );
114
+                $invoice->$method($value);
115 115
             }
116 116
 
117 117
         }
@@ -130,16 +130,16 @@  discard block
 block discarded – undo
130 130
     return apply_filters(
131 131
         'getpaid_user_address_fields',
132 132
         array(
133
-            'first_name' => __( 'First Name', 'invoicing' ),
134
-            'last_name'  => __( 'Last Name', 'invoicing' ),
135
-            'country'    => __( 'Country', 'invoicing' ),
136
-            'state'      => __( 'State', 'invoicing' ),
137
-            'city'       => __( 'City', 'invoicing' ),
138
-            'zip'        => __( 'Zip/Postal Code', 'invoicing' ),
139
-            'address'    => __( 'Address', 'invoicing' ),
140
-            'phone'      => __( 'Phone Number', 'invoicing' ),
141
-            'company'    => __( 'Company', 'invoicing' ),
142
-            'vat_number' => __( 'VAT Number', 'invoicing' ),
133
+            'first_name' => __('First Name', 'invoicing'),
134
+            'last_name'  => __('Last Name', 'invoicing'),
135
+            'country'    => __('Country', 'invoicing'),
136
+            'state'      => __('State', 'invoicing'),
137
+            'city'       => __('City', 'invoicing'),
138
+            'zip'        => __('Zip/Postal Code', 'invoicing'),
139
+            'address'    => __('Address', 'invoicing'),
140
+            'phone'      => __('Phone Number', 'invoicing'),
141
+            'company'    => __('Company', 'invoicing'),
142
+            'vat_number' => __('VAT Number', 'invoicing'),
143 143
         )
144 144
     );
145 145
 
@@ -150,8 +150,8 @@  discard block
 block discarded – undo
150 150
  * 
151 151
  * @return bool
152 152
  */
153
-function getpaid_is_address_field_whitelisted( $key ) {
154
-    return array_key_exists( $key, getpaid_user_address_fields() );
153
+function getpaid_is_address_field_whitelisted($key) {
154
+    return array_key_exists($key, getpaid_user_address_fields());
155 155
 }
156 156
 
157 157
 /**
@@ -161,24 +161,24 @@  discard block
 block discarded – undo
161 161
  *
162 162
  * @param WPInv_Invoice $invoice
163 163
  */
164
-function getpaid_save_invoice_user_address( $invoice ) {
164
+function getpaid_save_invoice_user_address($invoice) {
165 165
 
166 166
     // Retrieve the invoice.
167
-    $invoice = wpinv_get_invoice( $invoice );
167
+    $invoice = wpinv_get_invoice($invoice);
168 168
 
169 169
     // Abort if it does not exist.
170
-    if ( empty( $invoice ) ) {
170
+    if (empty($invoice)) {
171 171
         return;
172 172
     }
173 173
 
174
-    foreach ( array_keys( getpaid_user_address_fields() ) as $field ) {
174
+    foreach (array_keys(getpaid_user_address_fields()) as $field) {
175 175
 
176
-        if ( is_callable( array( $invoice, "get_$field" ) ) ) {
177
-            $value = call_user_func( array( $invoice, "get_$field" ) );
176
+        if (is_callable(array($invoice, "get_$field"))) {
177
+            $value = call_user_func(array($invoice, "get_$field"));
178 178
 
179 179
             // Only save if it is not empty.
180
-            if ( ! empty( $value ) ) {
181
-                update_user_meta( $invoice->get_user_id(), '_wpinv_' . $field, $value );
180
+            if (!empty($value)) {
181
+                update_user_meta($invoice->get_user_id(), '_wpinv_' . $field, $value);
182 182
             }
183 183
 
184 184
         }
@@ -189,24 +189,24 @@  discard block
 block discarded – undo
189 189
     $last_name  = $invoice->get_last_name();
190 190
     $update     = array();
191 191
 
192
-    if ( ! empty( $first_name ) ) {
192
+    if (!empty($first_name)) {
193 193
         $update['first_name'] = $first_name;
194 194
     }
195 195
 
196
-    if ( ! empty( $last_name ) ) {
196
+    if (!empty($last_name)) {
197 197
         $update['last_name'] = $last_name;
198 198
     }
199 199
 
200
-    if ( 2 == count( $update ) ) {
201
-        $update['display_name'] = $first_name . ' ' .$last_name;
200
+    if (2 == count($update)) {
201
+        $update['display_name'] = $first_name . ' ' . $last_name;
202 202
     }
203 203
 
204 204
     $update['ID'] = $invoice->get_user_id();
205
-    wp_update_user( $update );
205
+    wp_update_user($update);
206 206
 
207 207
 }
208
-add_action( 'getpaid_new_invoice', 'getpaid_save_invoice_user_address' );
209
-add_action( 'getpaid_update_invoice', 'getpaid_save_invoice_user_address' );
208
+add_action('getpaid_new_invoice', 'getpaid_save_invoice_user_address');
209
+add_action('getpaid_update_invoice', 'getpaid_save_invoice_user_address');
210 210
 
211 211
 /**
212 212
  * Retrieves a saved user address.
@@ -215,14 +215,14 @@  discard block
 block discarded – undo
215 215
  * @param bool $with_default Whether or not we should use the default country and state.
216 216
  * @return array
217 217
  */
218
-function wpinv_get_user_address( $user_id = 0, $with_default = true ) {
218
+function wpinv_get_user_address($user_id = 0, $with_default = true) {
219 219
 
220 220
     // Prepare the user id.
221
-    $user_id   = empty( $user_id ) ? get_current_user_id() : $user_id;
222
-    $user_info = get_userdata( $user_id );
221
+    $user_id   = empty($user_id) ? get_current_user_id() : $user_id;
222
+    $user_info = get_userdata($user_id);
223 223
 
224 224
     // Abort if non exists.
225
-    if ( empty( $user_info ) ) {
225
+    if (empty($user_info)) {
226 226
         return array();
227 227
     }
228 228
 
@@ -232,11 +232,11 @@  discard block
 block discarded – undo
232 232
         'email'   => $user_info->user_email,
233 233
     );
234 234
 
235
-    foreach ( array_keys( getpaid_user_address_fields() ) as $field ) {
236
-        $address[$field] = getpaid_get_user_address_field( $user_id, $field );
235
+    foreach (array_keys(getpaid_user_address_fields()) as $field) {
236
+        $address[$field] = getpaid_get_user_address_field($user_id, $field);
237 237
     }
238 238
 
239
-    if ( ! $with_default ) {
239
+    if (!$with_default) {
240 240
         return $address;
241 241
     }
242 242
 
@@ -247,7 +247,7 @@  discard block
 block discarded – undo
247 247
         'state'      => wpinv_get_default_country(),
248 248
     );
249 249
 
250
-    return getpaid_array_merge_if_empty( $address, $defaults );
250
+    return getpaid_array_merge_if_empty($address, $defaults);
251 251
 
252 252
 }
253 253
 
@@ -258,7 +258,7 @@  discard block
 block discarded – undo
258 258
  * @param string $field The field to use.
259 259
  * @return string|null
260 260
  */
261
-function getpaid_get_user_address_field( $user_id, $field ) {
261
+function getpaid_get_user_address_field($user_id, $field) {
262 262
 
263 263
     $prefixes = array(
264 264
         '_wpinv_',
@@ -266,15 +266,15 @@  discard block
 block discarded – undo
266 266
         ''
267 267
     );
268 268
 
269
-    foreach ( $prefixes as $prefix ) {
269
+    foreach ($prefixes as $prefix) {
270 270
 
271 271
         // Meta table.
272
-        $value = get_user_meta( $user_id, $prefix . $field, true );
272
+        $value = get_user_meta($user_id, $prefix . $field, true);
273 273
         
274 274
         // UWP table.
275
-        $value = ( empty( $value ) && function_exists( 'uwp_get_usermeta' ) ) ? uwp_get_usermeta( $user_id, $prefix . $field ) : $value;
275
+        $value = (empty($value) && function_exists('uwp_get_usermeta')) ? uwp_get_usermeta($user_id, $prefix . $field) : $value;
276 276
 
277
-        if ( ! empty( $value ) ) {
277
+        if (!empty($value)) {
278 278
             return $value;
279 279
         }
280 280
 
@@ -291,16 +291,16 @@  discard block
 block discarded – undo
291 291
  * @param string $return What to return.
292 292
  * @return array
293 293
  */
294
-function wpinv_get_continents( $return = 'all' ) {
294
+function wpinv_get_continents($return = 'all') {
295 295
 
296
-    $continents = wpinv_get_data( 'continents' );
296
+    $continents = wpinv_get_data('continents');
297 297
 
298
-    switch( $return ) {
298
+    switch ($return) {
299 299
         case 'name' :
300
-            return wp_list_pluck( $continents, 'name' );
300
+            return wp_list_pluck($continents, 'name');
301 301
             break;
302 302
         case 'countries' :
303
-            return wp_list_pluck( $continents, 'countries' );
303
+            return wp_list_pluck($continents, 'countries');
304 304
             break;
305 305
         default :
306 306
             return $continents;
@@ -316,12 +316,12 @@  discard block
 block discarded – undo
316 316
  * @param string $country Country code. If no code is specified, defaults to the default country.
317 317
  * @return string
318 318
  */
319
-function wpinv_get_continent_code_for_country( $country = false ) {
319
+function wpinv_get_continent_code_for_country($country = false) {
320 320
 
321
-    $country = wpinv_sanitize_country( $country );
321
+    $country = wpinv_sanitize_country($country);
322 322
     
323
-	foreach ( wpinv_get_continents( 'countries' ) as $continent_code => $countries ) {
324
-		if ( false !== array_search( $country, $countries, true ) ) {
323
+	foreach (wpinv_get_continents('countries') as $continent_code => $countries) {
324
+		if (false !== array_search($country, $countries, true)) {
325 325
 			return $continent_code;
326 326
 		}
327 327
 	}
@@ -337,13 +337,13 @@  discard block
 block discarded – undo
337 337
  * @param string $country Country code. If no code is specified, defaults to the default country.
338 338
  * @return array
339 339
  */
340
-function wpinv_get_country_calling_code( $country = null) {
340
+function wpinv_get_country_calling_code($country = null) {
341 341
 
342
-    $country = wpinv_sanitize_country( $country );
343
-    $codes   = wpinv_get_data( 'phone-codes' );
344
-    $code    = isset( $codes[ $country ] ) ? $codes[ $country ] : '';
342
+    $country = wpinv_sanitize_country($country);
343
+    $codes   = wpinv_get_data('phone-codes');
344
+    $code    = isset($codes[$country]) ? $codes[$country] : '';
345 345
 
346
-    if ( is_array( $code ) ) {
346
+    if (is_array($code)) {
347 347
         return $code[0];
348 348
     }
349 349
     return $code;
@@ -356,8 +356,8 @@  discard block
 block discarded – undo
356 356
  * @param bool $first_empty Whether or not the first item in the list should be empty
357 357
  * @return array
358 358
  */
359
-function wpinv_get_country_list( $first_empty = false ) {
360
-    return wpinv_maybe_add_empty_option( apply_filters( 'wpinv_countries', wpinv_get_data( 'countries' ) ), $first_empty );
359
+function wpinv_get_country_list($first_empty = false) {
360
+    return wpinv_maybe_add_empty_option(apply_filters('wpinv_countries', wpinv_get_data('countries')), $first_empty);
361 361
 }
362 362
 
363 363
 /**
@@ -367,22 +367,22 @@  discard block
 block discarded – undo
367 367
  * @param bool $first_empty Whether or not the first item in the list should be empty
368 368
  * @return array
369 369
  */
370
-function wpinv_get_country_states( $country = null, $first_empty = false ) {
370
+function wpinv_get_country_states($country = null, $first_empty = false) {
371 371
     
372 372
     // Prepare the country.
373
-    $country = wpinv_sanitize_country( $country );
373
+    $country = wpinv_sanitize_country($country);
374 374
 
375 375
     // Fetch all states.
376
-    $all_states = wpinv_get_data( 'states' );
376
+    $all_states = wpinv_get_data('states');
377 377
 
378 378
     // Fetch the specified country's states.
379
-    $states     = isset( $all_states[ $country ] ) ? $all_states[ $country ] : array() ;
380
-    $states     = apply_filters( "wpinv_{$country}_states", $states );
381
-    $states     = apply_filters( 'wpinv_country_states', $states, $country );
379
+    $states     = isset($all_states[$country]) ? $all_states[$country] : array();
380
+    $states     = apply_filters("wpinv_{$country}_states", $states);
381
+    $states     = apply_filters('wpinv_country_states', $states, $country);
382 382
 
383
-    asort( $states );
383
+    asort($states);
384 384
      
385
-    return wpinv_maybe_add_empty_option( $states, $first_empty );
385
+    return wpinv_maybe_add_empty_option($states, $first_empty);
386 386
 }
387 387
 
388 388
 /**
@@ -392,7 +392,7 @@  discard block
 block discarded – undo
392 392
  * @return array
393 393
  */
394 394
 function wpinv_get_us_states_list() {
395
-    return apply_filters( 'wpinv_usa_states', wpinv_get_country_states( 'US' ) );
395
+    return apply_filters('wpinv_usa_states', wpinv_get_country_states('US'));
396 396
 }
397 397
 
398 398
 /**
@@ -402,7 +402,7 @@  discard block
 block discarded – undo
402 402
  * @return array
403 403
  */
404 404
 function wpinv_get_canada_states_list() {
405
-    return apply_filters( 'wpinv_canada_provinces', wpinv_get_country_states( 'CA' ) );
405
+    return apply_filters('wpinv_canada_provinces', wpinv_get_country_states('CA'));
406 406
 }
407 407
 
408 408
 /**
@@ -412,7 +412,7 @@  discard block
 block discarded – undo
412 412
  * @return array
413 413
  */
414 414
 function wpinv_get_australia_states_list() {
415
-    return apply_filters( 'wpinv_australia_states', wpinv_get_country_states( 'AU' ) );
415
+    return apply_filters('wpinv_australia_states', wpinv_get_country_states('AU'));
416 416
 }
417 417
 
418 418
 /**
@@ -422,7 +422,7 @@  discard block
 block discarded – undo
422 422
  * @return array
423 423
  */
424 424
 function wpinv_get_bangladesh_states_list() {
425
-    return apply_filters( 'wpinv_bangladesh_states', wpinv_get_country_states( 'BD' ) );
425
+    return apply_filters('wpinv_bangladesh_states', wpinv_get_country_states('BD'));
426 426
 }
427 427
 
428 428
 /**
@@ -432,7 +432,7 @@  discard block
 block discarded – undo
432 432
  * @return array
433 433
  */
434 434
 function wpinv_get_brazil_states_list() {
435
-    return apply_filters( 'wpinv_brazil_states', wpinv_get_country_states( 'BR' ) );
435
+    return apply_filters('wpinv_brazil_states', wpinv_get_country_states('BR'));
436 436
 }
437 437
 
438 438
 /**
@@ -442,7 +442,7 @@  discard block
 block discarded – undo
442 442
  * @return array
443 443
  */
444 444
 function wpinv_get_bulgaria_states_list() {
445
-    return apply_filters( 'wpinv_bulgaria_states', wpinv_get_country_states( 'BG' ) );
445
+    return apply_filters('wpinv_bulgaria_states', wpinv_get_country_states('BG'));
446 446
 }
447 447
 
448 448
 /**
@@ -452,7 +452,7 @@  discard block
 block discarded – undo
452 452
  * @return array
453 453
  */
454 454
 function wpinv_get_hong_kong_states_list() {
455
-    return apply_filters( 'wpinv_hong_kong_states', wpinv_get_country_states( 'HK' ) );
455
+    return apply_filters('wpinv_hong_kong_states', wpinv_get_country_states('HK'));
456 456
 }
457 457
 
458 458
 /**
@@ -462,7 +462,7 @@  discard block
 block discarded – undo
462 462
  * @return array
463 463
  */
464 464
 function wpinv_get_hungary_states_list() {
465
-    return apply_filters( 'wpinv_hungary_states', wpinv_get_country_states( 'HU' ) );
465
+    return apply_filters('wpinv_hungary_states', wpinv_get_country_states('HU'));
466 466
 }
467 467
 
468 468
 /**
@@ -472,7 +472,7 @@  discard block
 block discarded – undo
472 472
  * @return array
473 473
  */
474 474
 function wpinv_get_japan_states_list() {
475
-    return apply_filters( 'wpinv_japan_states', wpinv_get_country_states( 'JP' ) );
475
+    return apply_filters('wpinv_japan_states', wpinv_get_country_states('JP'));
476 476
 }
477 477
 
478 478
 /**
@@ -482,7 +482,7 @@  discard block
 block discarded – undo
482 482
  * @return array
483 483
  */
484 484
 function wpinv_get_china_states_list() {
485
-    return apply_filters( 'wpinv_china_states', wpinv_get_country_states( 'CN' ) );
485
+    return apply_filters('wpinv_china_states', wpinv_get_country_states('CN'));
486 486
 }
487 487
 
488 488
 /**
@@ -492,7 +492,7 @@  discard block
 block discarded – undo
492 492
  * @return array
493 493
  */
494 494
 function wpinv_get_new_zealand_states_list() {
495
-    return apply_filters( 'wpinv_new_zealand_states', wpinv_get_country_states( 'NZ' ) );
495
+    return apply_filters('wpinv_new_zealand_states', wpinv_get_country_states('NZ'));
496 496
 }
497 497
 
498 498
 /**
@@ -502,7 +502,7 @@  discard block
 block discarded – undo
502 502
  * @return array
503 503
  */
504 504
 function wpinv_get_peru_states_list() {
505
-    return apply_filters( 'wpinv_peru_states', wpinv_get_country_states( 'PE' ) );
505
+    return apply_filters('wpinv_peru_states', wpinv_get_country_states('PE'));
506 506
 }
507 507
 
508 508
 /**
@@ -512,7 +512,7 @@  discard block
 block discarded – undo
512 512
  * @return array
513 513
  */
514 514
 function wpinv_get_indonesia_states_list() {
515
-    return apply_filters( 'wpinv_indonesia_states', wpinv_get_country_states( 'ID' ) );
515
+    return apply_filters('wpinv_indonesia_states', wpinv_get_country_states('ID'));
516 516
 }
517 517
 
518 518
 /**
@@ -522,7 +522,7 @@  discard block
 block discarded – undo
522 522
  * @return array
523 523
  */
524 524
 function wpinv_get_india_states_list() {
525
-    return apply_filters( 'wpinv_india_states', wpinv_get_country_states( 'IN' ) );
525
+    return apply_filters('wpinv_india_states', wpinv_get_country_states('IN'));
526 526
 }
527 527
 
528 528
 /**
@@ -532,7 +532,7 @@  discard block
 block discarded – undo
532 532
  * @return array
533 533
  */
534 534
 function wpinv_get_iran_states_list() {
535
-    return apply_filters( 'wpinv_iran_states', wpinv_get_country_states( 'IR' ) );
535
+    return apply_filters('wpinv_iran_states', wpinv_get_country_states('IR'));
536 536
 }
537 537
 
538 538
 /**
@@ -542,7 +542,7 @@  discard block
 block discarded – undo
542 542
  * @return array
543 543
  */
544 544
 function wpinv_get_italy_states_list() {
545
-    return apply_filters( 'wpinv_italy_states', wpinv_get_country_states( 'IT' ) );
545
+    return apply_filters('wpinv_italy_states', wpinv_get_country_states('IT'));
546 546
 }
547 547
 
548 548
 /**
@@ -552,7 +552,7 @@  discard block
 block discarded – undo
552 552
  * @return array
553 553
  */
554 554
 function wpinv_get_malaysia_states_list() {
555
-    return apply_filters( 'wpinv_malaysia_states', wpinv_get_country_states( 'MY' ) );
555
+    return apply_filters('wpinv_malaysia_states', wpinv_get_country_states('MY'));
556 556
 }
557 557
 
558 558
 /**
@@ -562,7 +562,7 @@  discard block
 block discarded – undo
562 562
  * @return array
563 563
  */
564 564
 function wpinv_get_mexico_states_list() {
565
-    return apply_filters( 'wpinv_mexico_states', wpinv_get_country_states( 'MX' ) );
565
+    return apply_filters('wpinv_mexico_states', wpinv_get_country_states('MX'));
566 566
 }
567 567
 
568 568
 /**
@@ -572,7 +572,7 @@  discard block
 block discarded – undo
572 572
  * @return array
573 573
  */
574 574
 function wpinv_get_nepal_states_list() {
575
-    return apply_filters( 'wpinv_nepal_states', wpinv_get_country_states( 'NP' ) );
575
+    return apply_filters('wpinv_nepal_states', wpinv_get_country_states('NP'));
576 576
 }
577 577
 
578 578
 /**
@@ -582,7 +582,7 @@  discard block
 block discarded – undo
582 582
  * @return array
583 583
  */
584 584
 function wpinv_get_south_africa_states_list() {
585
-    return apply_filters( 'wpinv_south_africa_states', wpinv_get_country_states( 'ZA' ) );
585
+    return apply_filters('wpinv_south_africa_states', wpinv_get_country_states('ZA'));
586 586
 }
587 587
 
588 588
 /**
@@ -592,7 +592,7 @@  discard block
 block discarded – undo
592 592
  * @return array
593 593
  */
594 594
 function wpinv_get_thailand_states_list() {
595
-    return apply_filters( 'wpinv_thailand_states', wpinv_get_country_states( 'TH' ) );
595
+    return apply_filters('wpinv_thailand_states', wpinv_get_country_states('TH'));
596 596
 }
597 597
 
598 598
 /**
@@ -602,7 +602,7 @@  discard block
 block discarded – undo
602 602
  * @return array
603 603
  */
604 604
 function wpinv_get_turkey_states_list() {
605
-    return apply_filters( 'wpinv_turkey_states', wpinv_get_country_states( 'TR' ) );
605
+    return apply_filters('wpinv_turkey_states', wpinv_get_country_states('TR'));
606 606
 }
607 607
 
608 608
 /**
@@ -612,28 +612,28 @@  discard block
 block discarded – undo
612 612
  * @return array
613 613
  */
614 614
 function wpinv_get_spain_states_list() {
615
-    return apply_filters( 'wpinv_spain_states', wpinv_get_country_states( 'ES' ) );
615
+    return apply_filters('wpinv_spain_states', wpinv_get_country_states('ES'));
616 616
 }
617 617
 
618 618
 function wpinv_get_states_field() {
619
-	if( empty( $_POST['country'] ) ) {
619
+	if (empty($_POST['country'])) {
620 620
 		$_POST['country'] = wpinv_get_default_country();
621 621
 	}
622
-	$states = wpinv_get_country_states( sanitize_text_field( $_POST['country'] ) );
622
+	$states = wpinv_get_country_states(sanitize_text_field($_POST['country']));
623 623
 
624
-	if( !empty( $states ) ) {
625
-		$sanitized_field_name = sanitize_text_field( $_POST['field_name'] );
624
+	if (!empty($states)) {
625
+		$sanitized_field_name = sanitize_text_field($_POST['field_name']);
626 626
         
627 627
         $args = array(
628 628
 			'name'    => $sanitized_field_name,
629 629
 			'id'      => $sanitized_field_name,
630 630
 			'class'   => $sanitized_field_name . 'custom-select wpinv-select wpi_select2',
631
-			'options' => array_merge( array( '' => '' ), $states ),
631
+			'options' => array_merge(array('' => ''), $states),
632 632
 			'show_option_all'  => false,
633 633
 			'show_option_none' => false
634 634
 		);
635 635
 
636
-		$response = wpinv_html_select( $args );
636
+		$response = wpinv_html_select($args);
637 637
 
638 638
 	} else {
639 639
 		$response = 'nostates';
@@ -642,10 +642,10 @@  discard block
 block discarded – undo
642 642
 	return $response;
643 643
 }
644 644
 
645
-function wpinv_default_billing_country( $country = '', $user_id = 0 ) {
646
-    $country = !empty( $country ) ? $country : wpinv_get_default_country();
645
+function wpinv_default_billing_country($country = '', $user_id = 0) {
646
+    $country = !empty($country) ? $country : wpinv_get_default_country();
647 647
     
648
-    return apply_filters( 'wpinv_default_billing_country', $country, $user_id );
648
+    return apply_filters('wpinv_default_billing_country', $country, $user_id);
649 649
 }
650 650
 
651 651
 /**
@@ -657,7 +657,7 @@  discard block
 block discarded – undo
657 657
  */
658 658
 function wpinv_get_address_formats() {
659 659
 
660
-		return apply_filters( 'wpinv_localisation_address_formats',
660
+		return apply_filters('wpinv_localisation_address_formats',
661 661
 			array(
662 662
 				'default' => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}}\n{{zip}}\n{{country}}",
663 663
 				'AU'      => "{{name}}\n{{company}}\n{{address}}\n{{city}}\n{{state}} {{zip}}\n{{country}}",
@@ -706,9 +706,9 @@  discard block
 block discarded – undo
706 706
  * @see `wpinv_get_invoice_address_replacements`
707 707
  * @return string
708 708
  */
709
-function wpinv_get_full_address_format( $country = false) {
709
+function wpinv_get_full_address_format($country = false) {
710 710
 
711
-    if( empty( $country ) ) {
711
+    if (empty($country)) {
712 712
         $country = wpinv_get_default_country();
713 713
     }
714 714
 
@@ -716,7 +716,7 @@  discard block
 block discarded – undo
716 716
 	$formats = wpinv_get_address_formats();
717 717
 
718 718
 	// Get format for the specified country.
719
-	$format = ( $country && isset( $formats[ $country ] ) ) ? $formats[ $country ] : $formats['default'];
719
+	$format = ($country && isset($formats[$country])) ? $formats[$country] : $formats['default'];
720 720
     
721 721
     /**
722 722
 	 * Filters the address format to use on Invoices.
@@ -728,7 +728,7 @@  discard block
 block discarded – undo
728 728
 	 * @param string $format  The address format to use.
729 729
      * @param string $country The country who's address format is being retrieved.
730 730
 	 */
731
-    return apply_filters( 'wpinv_get_full_address_format', $format, $country );
731
+    return apply_filters('wpinv_get_full_address_format', $format, $country);
732 732
 }
733 733
 
734 734
 /**
@@ -739,7 +739,7 @@  discard block
 block discarded – undo
739 739
  * @param array $billing_details customer's billing details
740 740
  * @return array
741 741
  */
742
-function wpinv_get_invoice_address_replacements( $billing_details ) {
742
+function wpinv_get_invoice_address_replacements($billing_details) {
743 743
 
744 744
     $default_args = array(
745 745
         'address'           => '',
@@ -752,22 +752,22 @@  discard block
 block discarded – undo
752 752
 		'company'           => '',
753 753
     );
754 754
 
755
-    $args    = map_deep( wp_parse_args( $billing_details, $default_args ), 'trim' );
755
+    $args    = map_deep(wp_parse_args($billing_details, $default_args), 'trim');
756 756
     $state   = $args['state'];
757 757
     $country = $args['country'];
758 758
 
759 759
     // Handle full country name.
760
-    $full_country = empty( $country ) ? $country : wpinv_country_name( $country );
760
+    $full_country = empty($country) ? $country : wpinv_country_name($country);
761 761
 
762 762
     // Handle full state name.
763
-    $full_state   = ( $country && $state ) ?  wpinv_state_name( $state, $country ) : $state;
763
+    $full_state   = ($country && $state) ?  wpinv_state_name($state, $country) : $state;
764 764
 
765 765
     $args['postcode']    = $args['zip'];
766 766
     $args['name']        = $args['first_name'] . ' ' . $args['last_name'];
767 767
     $args['state']       = $full_state;
768 768
     $args['state_code']  = $state;
769 769
     $args['country']     = $full_country;
770
-    $args['country_code']= $country;
770
+    $args['country_code'] = $country;
771 771
 
772 772
     /**
773 773
 	 * Filters the address format replacements to use on Invoices.
@@ -778,14 +778,14 @@  discard block
 block discarded – undo
778 778
 	 * @param array $replacements  The address replacements to use.
779 779
      * @param array $billing_details  The billing details to use.
780 780
 	 */
781
-    $replacements = apply_filters( 'wpinv_get_invoice_address_replacements', $args, $billing_details );
781
+    $replacements = apply_filters('wpinv_get_invoice_address_replacements', $args, $billing_details);
782 782
 
783 783
     $return = array();
784 784
 
785
-    foreach( $replacements as $key => $value ) {
786
-        $value  = is_scalar( $value ) ? trim( sanitize_text_field( $value ) ) : '';
785
+    foreach ($replacements as $key => $value) {
786
+        $value = is_scalar($value) ? trim(sanitize_text_field($value)) : '';
787 787
         $return['{{' . $key . '}}'] = $value;
788
-        $return['{{' . $key . '_upper}}'] = wpinv_utf8_strtoupper( $value );
788
+        $return['{{' . $key . '_upper}}'] = wpinv_utf8_strtoupper($value);
789 789
     }
790 790
 
791 791
     return $return;
@@ -799,6 +799,6 @@  discard block
 block discarded – undo
799 799
  * @since 1.0.14
800 800
  * @return string
801 801
  */
802
-function wpinv_trim_formatted_address_line( $line ) {
803
-	return trim( $line, ', ' );
802
+function wpinv_trim_formatted_address_line($line) {
803
+	return trim($line, ', ');
804 804
 }
805 805
\ No newline at end of file
Please login to merge, or discard this patch.