Passed
Push — master ( 29dccc...57b45a )
by Brian
05:48
created
templates/emails/wpinv-email-subscription_expired.php 1 patch
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -8,18 +8,18 @@
 block discarded – undo
8 8
  * @var WPInv_Subscription $object
9 9
  */
10 10
 
11
-defined( 'ABSPATH' ) || exit;
11
+defined('ABSPATH') || exit;
12 12
 
13 13
 $invoice = $object->get_parent_payment();
14 14
 
15 15
 // Print the email header.
16
-do_action( 'wpinv_email_header', $email_heading, $invoice, $email_type, $sent_to_admin );
16
+do_action('wpinv_email_header', $email_heading, $invoice, $email_type, $sent_to_admin);
17 17
 
18 18
 // Generate the custom message body.
19 19
 echo $message_body;
20 20
 
21 21
 // Print the billing details.
22
-do_action( 'wpinv_email_billing_details', $invoice, $email_type, $sent_to_admin );
22
+do_action('wpinv_email_billing_details', $invoice, $email_type, $sent_to_admin);
23 23
 
24 24
 // Print the email footer.
25
-do_action( 'wpinv_email_footer', $invoice, $email_type, $sent_to_admin );
25
+do_action('wpinv_email_footer', $invoice, $email_type, $sent_to_admin);
Please login to merge, or discard this patch.
templates/emails/wpinv-email-subscription_cancelled.php 1 patch
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -8,18 +8,18 @@
 block discarded – undo
8 8
  * @var WPInv_Subscription $object
9 9
  */
10 10
 
11
-defined( 'ABSPATH' ) || exit;
11
+defined('ABSPATH') || exit;
12 12
 
13 13
 $invoice = $object->get_parent_payment();
14 14
 
15 15
 // Print the email header.
16
-do_action( 'wpinv_email_header', $email_heading, $invoice, $email_type, $sent_to_admin );
16
+do_action('wpinv_email_header', $email_heading, $invoice, $email_type, $sent_to_admin);
17 17
 
18 18
 // Generate the custom message body.
19 19
 echo $message_body;
20 20
 
21 21
 // Print the billing details.
22
-do_action( 'wpinv_email_billing_details', $invoice, $email_type, $sent_to_admin );
22
+do_action('wpinv_email_billing_details', $invoice, $email_type, $sent_to_admin);
23 23
 
24 24
 // Print the email footer.
25
-do_action( 'wpinv_email_footer', $invoice, $email_type, $sent_to_admin );
25
+do_action('wpinv_email_footer', $invoice, $email_type, $sent_to_admin);
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.
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   +1046 added lines, -1046 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,1056 +11,1056 @@  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
-			'wrap_attributes' => array()
51
-		);
52
-
53
-		/**
54
-		 * Parse incoming $args into an array and merge it with $defaults
55
-		 */
56
-		$args   = wp_parse_args( $args, $defaults );
57
-		$output = '';
58
-		if ( ! empty( $args['type'] ) ) {
59
-			// hidden label option needs to be empty
60
-			$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
61
-
62
-			$type = sanitize_html_class( $args['type'] );
63
-
64
-			$help_text = '';
65
-			$label = '';
66
-			$label_after = $args['label_after'];
67
-			$label_args = array(
68
-				'title'=> $args['label'],
69
-				'for'=> $args['id'],
70
-				'class' => $args['label_class']." ",
71
-				'label_type' => $args['label_type']
72
-			);
73
-
74
-			// floating labels need label after
75
-			if( $args['label_type'] == 'floating' && $type != 'checkbox' ){
76
-				$label_after = true;
77
-				$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
78
-			}
79
-
80
-			// Some special sauce for files
81
-			if($type=='file' ){
82
-				$label_after = true; // if type file we need the label after
83
-				$args['class'] .= ' custom-file-input ';
84
-			}elseif($type=='checkbox'){
85
-				$label_after = true; // if type file we need the label after
86
-				$args['class'] .= ' custom-control-input ';
87
-			}elseif($type=='datepicker' || $type=='timepicker'){
88
-				$type = 'text';
89
-				//$args['class'] .= ' aui-flatpickr bg-initial ';
90
-				$args['class'] .= ' bg-initial ';
91
-
92
-				$args['extra_attributes']['data-aui-init'] = 'flatpickr';
93
-				// enqueue the script
94
-				$aui_settings = AyeCode_UI_Settings::instance();
95
-				$aui_settings->enqueue_flatpickr();
96
-			}
97
-
98
-
99
-			// open/type
100
-			$output .= '<input type="' . $type . '" ';
101
-
102
-			// name
103
-			if(!empty($args['name'])){
104
-				$output .= ' name="'.esc_attr($args['name']).'" ';
105
-			}
106
-
107
-			// id
108
-			if(!empty($args['id'])){
109
-				$output .= ' id="'.sanitize_html_class($args['id']).'" ';
110
-			}
111
-
112
-			// placeholder
113
-			if(isset($args['placeholder']) && '' != $args['placeholder'] ){
114
-				$output .= ' placeholder="'.esc_attr($args['placeholder']).'" ';
115
-			}
116
-
117
-			// title
118
-			if(!empty($args['title'])){
119
-				$output .= ' title="'.esc_attr($args['title']).'" ';
120
-			}
121
-
122
-			// value
123
-			if(!empty($args['value'])){
124
-				$output .= AUI_Component_Helper::value($args['value']);
125
-			}
126
-
127
-			// checked, for radio and checkboxes
128
-			if( ( $type == 'checkbox' || $type == 'radio' ) && $args['checked'] ){
129
-				$output .= ' checked ';
130
-			}
131
-
132
-			// validation text
133
-			if(!empty($args['validation_text'])){
134
-				$output .= ' oninvalid="setCustomValidity(\''.esc_attr($args['validation_text']).'\')" ';
135
-				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
136
-			}
137
-
138
-			// validation_pattern
139
-			if(!empty($args['validation_pattern'])){
140
-				$output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
141
-			}
142
-
143
-			// step (for numbers)
144
-			if(!empty($args['step'])){
145
-				$output .= ' step="'.$args['step'].'" ';
146
-			}
147
-
148
-			// required
149
-			if(!empty($args['required'])){
150
-				$output .= ' required ';
151
-			}
152
-
153
-			// class
154
-			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
155
-			$output .= ' class="form-control '.$class.'" ';
156
-
157
-			// data-attributes
158
-			$output .= AUI_Component_Helper::data_attributes($args);
159
-
160
-			// extra attributes
161
-			if(!empty($args['extra_attributes'])){
162
-				$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
163
-			}
164
-
165
-			// close
166
-			$output .= ' >';
167
-
168
-
169
-			// label
170
-			if(!empty($args['label'])){
171
-				if($type == 'file'){$label_args['class'] .= 'custom-file-label';}
172
-				elseif($type == 'checkbox'){$label_args['class'] .= 'custom-control-label';}
173
-				$label = self::label( $label_args, $type );
174
-			}
175
-
176
-			// help text
177
-			if(!empty($args['help_text'])){
178
-				$help_text = AUI_Component_Helper::help_text($args['help_text']);
179
-			}
180
-
181
-
182
-			// set help text in the correct possition
183
-			if($label_after){
184
-				$output .= $label . $help_text;
185
-			}
186
-
187
-			// some input types need a separate wrap
188
-			if($type == 'file') {
189
-				$output = self::wrap( array(
190
-					'content' => $output,
191
-					'class'   => 'form-group custom-file'
192
-				) );
193
-			}elseif($type == 'checkbox'){
194
-				$wrap_class = $args['switch'] ? 'custom-switch' : 'custom-checkbox';
195
-				$output = self::wrap( array(
196
-					'content' => $output,
197
-					'class'   => 'custom-control '.$wrap_class
198
-				) );
199
-
200
-				if($args['label_type']=='horizontal'){
201
-					$output = '<div class="col-sm-2 col-form-label"></div><div class="col-sm-10">' . $output . '</div>';
202
-				}
203
-			}elseif($type == 'password' && $args['password_toggle'] && !$args['input_group_right']){
204
-
205
-
206
-				// allow password field to toggle view
207
-				$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
+            'wrap_attributes' => array()
51
+        );
52
+
53
+        /**
54
+         * Parse incoming $args into an array and merge it with $defaults
55
+         */
56
+        $args   = wp_parse_args( $args, $defaults );
57
+        $output = '';
58
+        if ( ! empty( $args['type'] ) ) {
59
+            // hidden label option needs to be empty
60
+            $args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
61
+
62
+            $type = sanitize_html_class( $args['type'] );
63
+
64
+            $help_text = '';
65
+            $label = '';
66
+            $label_after = $args['label_after'];
67
+            $label_args = array(
68
+                'title'=> $args['label'],
69
+                'for'=> $args['id'],
70
+                'class' => $args['label_class']." ",
71
+                'label_type' => $args['label_type']
72
+            );
73
+
74
+            // floating labels need label after
75
+            if( $args['label_type'] == 'floating' && $type != 'checkbox' ){
76
+                $label_after = true;
77
+                $args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
78
+            }
79
+
80
+            // Some special sauce for files
81
+            if($type=='file' ){
82
+                $label_after = true; // if type file we need the label after
83
+                $args['class'] .= ' custom-file-input ';
84
+            }elseif($type=='checkbox'){
85
+                $label_after = true; // if type file we need the label after
86
+                $args['class'] .= ' custom-control-input ';
87
+            }elseif($type=='datepicker' || $type=='timepicker'){
88
+                $type = 'text';
89
+                //$args['class'] .= ' aui-flatpickr bg-initial ';
90
+                $args['class'] .= ' bg-initial ';
91
+
92
+                $args['extra_attributes']['data-aui-init'] = 'flatpickr';
93
+                // enqueue the script
94
+                $aui_settings = AyeCode_UI_Settings::instance();
95
+                $aui_settings->enqueue_flatpickr();
96
+            }
97
+
98
+
99
+            // open/type
100
+            $output .= '<input type="' . $type . '" ';
101
+
102
+            // name
103
+            if(!empty($args['name'])){
104
+                $output .= ' name="'.esc_attr($args['name']).'" ';
105
+            }
106
+
107
+            // id
108
+            if(!empty($args['id'])){
109
+                $output .= ' id="'.sanitize_html_class($args['id']).'" ';
110
+            }
111
+
112
+            // placeholder
113
+            if(isset($args['placeholder']) && '' != $args['placeholder'] ){
114
+                $output .= ' placeholder="'.esc_attr($args['placeholder']).'" ';
115
+            }
116
+
117
+            // title
118
+            if(!empty($args['title'])){
119
+                $output .= ' title="'.esc_attr($args['title']).'" ';
120
+            }
121
+
122
+            // value
123
+            if(!empty($args['value'])){
124
+                $output .= AUI_Component_Helper::value($args['value']);
125
+            }
126
+
127
+            // checked, for radio and checkboxes
128
+            if( ( $type == 'checkbox' || $type == 'radio' ) && $args['checked'] ){
129
+                $output .= ' checked ';
130
+            }
131
+
132
+            // validation text
133
+            if(!empty($args['validation_text'])){
134
+                $output .= ' oninvalid="setCustomValidity(\''.esc_attr($args['validation_text']).'\')" ';
135
+                $output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
136
+            }
137
+
138
+            // validation_pattern
139
+            if(!empty($args['validation_pattern'])){
140
+                $output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
141
+            }
142
+
143
+            // step (for numbers)
144
+            if(!empty($args['step'])){
145
+                $output .= ' step="'.$args['step'].'" ';
146
+            }
147
+
148
+            // required
149
+            if(!empty($args['required'])){
150
+                $output .= ' required ';
151
+            }
152
+
153
+            // class
154
+            $class = !empty($args['class']) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
155
+            $output .= ' class="form-control '.$class.'" ';
156
+
157
+            // data-attributes
158
+            $output .= AUI_Component_Helper::data_attributes($args);
159
+
160
+            // extra attributes
161
+            if(!empty($args['extra_attributes'])){
162
+                $output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
163
+            }
164
+
165
+            // close
166
+            $output .= ' >';
167
+
168
+
169
+            // label
170
+            if(!empty($args['label'])){
171
+                if($type == 'file'){$label_args['class'] .= 'custom-file-label';}
172
+                elseif($type == 'checkbox'){$label_args['class'] .= 'custom-control-label';}
173
+                $label = self::label( $label_args, $type );
174
+            }
175
+
176
+            // help text
177
+            if(!empty($args['help_text'])){
178
+                $help_text = AUI_Component_Helper::help_text($args['help_text']);
179
+            }
180
+
181
+
182
+            // set help text in the correct possition
183
+            if($label_after){
184
+                $output .= $label . $help_text;
185
+            }
186
+
187
+            // some input types need a separate wrap
188
+            if($type == 'file') {
189
+                $output = self::wrap( array(
190
+                    'content' => $output,
191
+                    'class'   => 'form-group custom-file'
192
+                ) );
193
+            }elseif($type == 'checkbox'){
194
+                $wrap_class = $args['switch'] ? 'custom-switch' : 'custom-checkbox';
195
+                $output = self::wrap( array(
196
+                    'content' => $output,
197
+                    'class'   => 'custom-control '.$wrap_class
198
+                ) );
199
+
200
+                if($args['label_type']=='horizontal'){
201
+                    $output = '<div class="col-sm-2 col-form-label"></div><div class="col-sm-10">' . $output . '</div>';
202
+                }
203
+            }elseif($type == 'password' && $args['password_toggle'] && !$args['input_group_right']){
204
+
205
+
206
+                // allow password field to toggle view
207
+                $args['input_group_right'] = '<span class="input-group-text c-pointer px-3" 
208 208
 onclick="var $el = jQuery(this).find(\'i\');$el.toggleClass(\'fa-eye fa-eye-slash\');
209 209
 var $eli = jQuery(this).parent().parent().find(\'input\');
210 210
 if($el.hasClass(\'fa-eye\'))
211 211
 {$eli.attr(\'type\',\'text\');}
212 212
 else{$eli.attr(\'type\',\'password\');}"
213 213
 ><i class="far fa-fw fa-eye-slash"></i></span>';
214
-			}
215
-
216
-			// input group wraps
217
-			if($args['input_group_left'] || $args['input_group_right']){
218
-				$w100 = strpos($args['class'], 'w-100') !== false ? ' w-100' : '';
219
-				if($args['input_group_left']){
220
-					$output = self::wrap( array(
221
-						'content' => $output,
222
-						'class'   => $args['input_group_left_inside'] ? 'input-group-inside position-relative'.$w100  : 'input-group',
223
-						'input_group_left' => $args['input_group_left'],
224
-						'input_group_left_inside'    => $args['input_group_left_inside']
225
-					) );
226
-				}
227
-				if($args['input_group_right']){
228
-					$output = self::wrap( array(
229
-						'content' => $output,
230
-						'class'   => $args['input_group_right_inside'] ? 'input-group-inside position-relative'.$w100 : 'input-group',
231
-						'input_group_right' => $args['input_group_right'],
232
-						'input_group_right_inside'    => $args['input_group_right_inside']
233
-					) );
234
-				}
235
-
236
-			}
237
-
238
-			if(!$label_after){
239
-				$output .= $help_text;
240
-			}
241
-
242
-
243
-			if($args['label_type']=='horizontal' && $type != 'checkbox'){
244
-				$output = self::wrap( array(
245
-					'content' => $output,
246
-					'class'   => 'col-sm-10',
247
-				) );
248
-			}
249
-
250
-			if(!$label_after){
251
-				$output = $label . $output;
252
-			}
253
-
254
-			// wrap
255
-			if ( ! $args['no_wrap'] ) {
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
-					'wrap_attributes' => $args['wrap_attributes'],
265
-				));
266
-			}
267
-		}
268
-
269
-		return $output;
270
-	}
271
-
272
-	/**
273
-	 * Build the component.
274
-	 *
275
-	 * @param array $args
276
-	 *
277
-	 * @return string The rendered component.
278
-	 */
279
-	public static function textarea($args = array()){
280
-		$defaults = array(
281
-			'name'       => '',
282
-			'class'      => '',
283
-			'wrap_class' => '',
284
-			'id'         => '',
285
-			'placeholder'=> '',
286
-			'title'      => '',
287
-			'value'      => '',
288
-			'required'   => false,
289
-			'label'      => '',
290
-			'label_after'=> false,
291
-			'label_class'      => '',
292
-			'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
293
-			'help_text'  => '',
294
-			'validation_text'   => '',
295
-			'validation_pattern' => '',
296
-			'no_wrap'    => false,
297
-			'rows'      => '',
298
-			'wysiwyg'   => false,
299
-			'allow_tags' => false, // Allow HTML tags
300
-			'element_require'   => '', // [%element_id%] == "1"
301
-			'extra_attributes'  => array(), // an array of extra attributes
302
-			'wrap_attributes'   => array(),
303
-		);
304
-
305
-		/**
306
-		 * Parse incoming $args into an array and merge it with $defaults
307
-		 */
308
-		$args   = wp_parse_args( $args, $defaults );
309
-		$output = '';
310
-
311
-		// hidden label option needs to be empty
312
-		$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
313
-
314
-		// floating labels don't work with wysiwyg so set it as top
315
-		if($args['label_type'] == 'floating' && !empty($args['wysiwyg'])){
316
-			$args['label_type'] = 'top';
317
-		}
318
-
319
-		$label_after = $args['label_after'];
320
-
321
-		// floating labels need label after
322
-		if( $args['label_type'] == 'floating' && empty($args['wysiwyg']) ){
323
-			$label_after = true;
324
-			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
325
-		}
326
-
327
-		// label
328
-		if(!empty($args['label']) && is_array($args['label'])){
329
-		}elseif(!empty($args['label']) && !$label_after){
330
-			$label_args = array(
331
-				'title'=> $args['label'],
332
-				'for'=> $args['id'],
333
-				'class' => $args['label_class']." ",
334
-				'label_type' => $args['label_type']
335
-			);
336
-			$output .= self::label( $label_args );
337
-		}
338
-
339
-		// maybe horizontal label
340
-		if($args['label_type']=='horizontal'){
341
-			$output .= '<div class="col-sm-10">';
342
-		}
343
-
344
-		if(!empty($args['wysiwyg'])){
345
-			ob_start();
346
-			$content = $args['value'];
347
-			$editor_id = !empty($args['id']) ? sanitize_html_class($args['id']) : 'wp_editor';
348
-			$settings = array(
349
-				'textarea_rows' => !empty(absint($args['rows'])) ? absint($args['rows']) : 4,
350
-				'quicktags'     => false,
351
-				'media_buttons' => false,
352
-				'editor_class'  => 'form-control',
353
-				'textarea_name' => !empty($args['name']) ? sanitize_html_class($args['name']) : sanitize_html_class($args['id']),
354
-				'teeny'         => true,
355
-			);
356
-
357
-			// maybe set settings if array
358
-			if(is_array($args['wysiwyg'])){
359
-				$settings  = wp_parse_args( $args['wysiwyg'], $settings );
360
-			}
361
-
362
-			wp_editor( $content, $editor_id, $settings );
363
-			$output .= ob_get_clean();
364
-		}else{
365
-
366
-			// open
367
-			$output .= '<textarea ';
368
-
369
-			// name
370
-			if(!empty($args['name'])){
371
-				$output .= ' name="'.esc_attr($args['name']).'" ';
372
-			}
373
-
374
-			// id
375
-			if(!empty($args['id'])){
376
-				$output .= ' id="'.sanitize_html_class($args['id']).'" ';
377
-			}
378
-
379
-			// placeholder
380
-			if(isset($args['placeholder']) && '' != $args['placeholder']){
381
-				$output .= ' placeholder="'.esc_attr($args['placeholder']).'" ';
382
-			}
383
-
384
-			// title
385
-			if(!empty($args['title'])){
386
-				$output .= ' title="'.esc_attr($args['title']).'" ';
387
-			}
388
-
389
-			// validation text
390
-			if(!empty($args['validation_text'])){
391
-				$output .= ' oninvalid="setCustomValidity(\''.esc_attr($args['validation_text']).'\')" ';
392
-				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
393
-			}
394
-
395
-			// validation_pattern
396
-			if(!empty($args['validation_pattern'])){
397
-				$output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
398
-			}
399
-
400
-			// required
401
-			if(!empty($args['required'])){
402
-				$output .= ' required ';
403
-			}
404
-
405
-			// rows
406
-			if(!empty($args['rows'])){
407
-				$output .= ' rows="'.absint($args['rows']).'" ';
408
-			}
409
-
410
-
411
-			// class
412
-			$class = !empty($args['class']) ? $args['class'] : '';
413
-			$output .= ' class="form-control '.$class.'" ';
414
-
415
-			// extra attributes
416
-			if(!empty($args['extra_attributes'])){
417
-				$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
418
-			}
419
-
420
-			// close tag
421
-			$output .= ' >';
422
-
423
-			// value
424
-			if ( ! empty( $args['value'] ) ) {
425
-				if ( ! empty( $args['allow_tags'] ) ) {
426
-					$output .= AUI_Component_Helper::sanitize_html_field( $args['value'], $args ); // Sanitize HTML.
427
-				} else {
428
-					$output .= sanitize_textarea_field( $args['value'] );
429
-				}
430
-			}
431
-
432
-			// closing tag
433
-			$output .= '</textarea>';
434
-
435
-		}
436
-
437
-		if(!empty($args['label']) && $label_after){
438
-			$label_args = array(
439
-				'title'=> $args['label'],
440
-				'for'=> $args['id'],
441
-				'class' => $args['label_class']." ",
442
-				'label_type' => $args['label_type']
443
-			);
444
-			$output .= self::label( $label_args );
445
-		}
446
-
447
-		// help text
448
-		if(!empty($args['help_text'])){
449
-			$output .= AUI_Component_Helper::help_text($args['help_text']);
450
-		}
451
-
452
-		// maybe horizontal label
453
-		if($args['label_type']=='horizontal'){
454
-			$output .= '</div>';
455
-		}
456
-
457
-
458
-		// wrap
459
-		if(!$args['no_wrap']){
460
-			$form_group_class = $args['label_type']=='floating' ? 'form-label-group' : 'form-group';
461
-			$wrap_class = $args['label_type']=='horizontal' ? $form_group_class . ' row' : $form_group_class;
462
-			$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
463
-			$output = self::wrap(array(
464
-				'content' => $output,
465
-				'class'   => $wrap_class,
466
-				'element_require'   => $args['element_require'],
467
-				'argument_id'  => $args['id'],
468
-				'wrap_attributes' => $args['wrap_attributes'],
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="'.esc_attr($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
-			'wrap_attributes' => array()
555
-		);
556
-
557
-		/**
558
-		 * Parse incoming $args into an array and merge it with $defaults
559
-		 */
560
-		$args   = wp_parse_args( $args, $defaults );
561
-		$output = '';
562
-		if($args['type']){
563
-
564
-			// open
565
-			$output .= '<'.sanitize_html_class($args['type']);
566
-
567
-			// element require
568
-			if(!empty($args['element_require'])){
569
-				$output .= AUI_Component_Helper::element_require($args['element_require']);
570
-				$args['class'] .= " aui-conditional-field";
571
-			}
572
-
573
-			// argument_id
574
-			if( !empty($args['argument_id']) ){
575
-				$output .= ' data-argument="'.esc_attr($args['argument_id']).'"';
576
-			}
577
-
578
-			// class
579
-			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
580
-			$output .= ' class="'.$class.'" ';
581
-
582
-			// Attributes
583
-			if ( ! empty( $args['wrap_attributes'] ) ) {
584
-				$output .= AUI_Component_Helper::extra_attributes( $args['wrap_attributes'] );
585
-			}
586
-
587
-			// close wrap
588
-			$output .= ' >';
589
-
590
-
591
-			// Input group left
592
-			if(!empty($args['input_group_left'])){
593
-				$position_class = !empty($args['input_group_left_inside']) ? 'position-absolute h-100' : '';
594
-				$input_group_left = strpos($args['input_group_left'], '<') !== false ? $args['input_group_left'] : '<span class="input-group-text">'.$args['input_group_left'].'</span>';
595
-				$output .= '<div class="input-group-prepend '.$position_class.'">'.$input_group_left.'</div>';
596
-			}
597
-
598
-			// content
599
-			$output .= $args['content'];
600
-
601
-			// Input group right
602
-			if(!empty($args['input_group_right'])){
603
-				$position_class = !empty($args['input_group_left_inside']) ? 'position-absolute h-100' : '';
604
-				$input_group_right = strpos($args['input_group_right'], '<') !== false ? $args['input_group_right'] : '<span class="input-group-text">'.$args['input_group_right'].'</span>';
605
-				$output .= '<div class="input-group-append '.$position_class.'">'.$input_group_right.'</div>';
606
-			}
607
-
608
-
609
-			// close wrap
610
-			$output .= '</'.sanitize_html_class($args['type']).'>';
611
-
612
-
613
-		}else{
614
-			$output = $args['content'];
615
-		}
616
-
617
-		return $output;
618
-	}
619
-
620
-	/**
621
-	 * Build the component.
622
-	 *
623
-	 * @param array $args
624
-	 *
625
-	 * @return string The rendered component.
626
-	 */
627
-	public static function select($args = array()){
628
-		$defaults = array(
629
-			'class'      => '',
630
-			'wrap_class' => '',
631
-			'id'         => '',
632
-			'title'      => '',
633
-			'value'      => '', // can be an array or a string
634
-			'required'   => false,
635
-			'label'      => '',
636
-			'label_after'=> false,
637
-			'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
638
-			'label_class'      => '',
639
-			'help_text'  => '',
640
-			'placeholder'=> '',
641
-			'options'    => array(), // array or string
642
-			'icon'       => '',
643
-			'multiple'   => false,
644
-			'select2'    => false,
645
-			'no_wrap'    => false,
646
-			'element_require'   => '', // [%element_id%] == "1"
647
-			'extra_attributes'  => array(), // an array of extra attributes
648
-			'wrap_attributes'   => array(),
649
-		);
650
-
651
-		/**
652
-		 * Parse incoming $args into an array and merge it with $defaults
653
-		 */
654
-		$args   = wp_parse_args( $args, $defaults );
655
-		$output = '';
656
-
657
-		// for now lets hide floating labels
658
-		if( $args['label_type'] == 'floating' ){$args['label_type'] = 'hidden';}
659
-
660
-		// hidden label option needs to be empty
661
-		$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
662
-
663
-
664
-		$label_after = $args['label_after'];
665
-
666
-		// floating labels need label after
667
-		if( $args['label_type'] == 'floating' ){
668
-			$label_after = true;
669
-			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
670
-		}
671
-
672
-		// Maybe setup select2
673
-		$is_select2 = false;
674
-		if(!empty($args['select2'])){
675
-			$args['class'] .= ' aui-select2';
676
-			$is_select2 = true;
677
-		}elseif( strpos($args['class'], 'aui-select2') !== false){
678
-			$is_select2 = true;
679
-		}
680
-
681
-		// select2 tags
682
-		if( !empty($args['select2']) && $args['select2'] === 'tags'){ // triple equals needed here for some reason
683
-			$args['data-tags'] = 'true';
684
-			$args['data-token-separators'] = "[',']";
685
-			$args['multiple'] = true;
686
-		}
687
-
688
-		// select2 placeholder
689
-		if($is_select2 && isset($args['placeholder']) && '' != $args['placeholder'] && empty($args['data-placeholder'])){
690
-			$args['data-placeholder'] = esc_attr($args['placeholder']);
691
-			$args['data-allow-clear'] = isset($args['data-allow-clear']) ? (bool) $args['data-allow-clear'] : true;
692
-		}
693
-
694
-		// label
695
-		if(!empty($args['label']) && is_array($args['label'])){
696
-		}elseif(!empty($args['label']) && !$label_after){
697
-			$label_args = array(
698
-				'title'=> $args['label'],
699
-				'for'=> $args['id'],
700
-				'class' => $args['label_class']." ",
701
-				'label_type' => $args['label_type']
702
-			);
703
-			$output .= self::label($label_args);
704
-		}
705
-
706
-		// maybe horizontal label
707
-		if($args['label_type']=='horizontal'){
708
-			$output .= '<div class="col-sm-10">';
709
-		}
710
-
711
-		// Set hidden input to save empty value for multiselect.
712
-		if ( ! empty( $args['multiple'] ) && ! empty( $args['name'] ) ) {
713
-			$output .= '<input type="hidden" ' . AUI_Component_Helper::name( $args['name'] ) . ' value=""/>';
714
-		}
715
-
716
-		// open/type
717
-		$output .= '<select ';
718
-
719
-		// style
720
-		if($is_select2){
721
-			$output .= " style='width:100%;' ";
722
-		}
723
-
724
-		// element require
725
-		if(!empty($args['element_require'])){
726
-			$output .= AUI_Component_Helper::element_require($args['element_require']);
727
-			$args['class'] .= " aui-conditional-field";
728
-		}
729
-
730
-		// class
731
-		$class = !empty($args['class']) ? $args['class'] : '';
732
-		$output .= AUI_Component_Helper::class_attr('custom-select '.$class);
733
-
734
-		// name
735
-		if(!empty($args['name'])){
736
-			$output .= AUI_Component_Helper::name($args['name'],$args['multiple']);
737
-		}
738
-
739
-		// id
740
-		if(!empty($args['id'])){
741
-			$output .= AUI_Component_Helper::id($args['id']);
742
-		}
743
-
744
-		// title
745
-		if(!empty($args['title'])){
746
-			$output .= AUI_Component_Helper::title($args['title']);
747
-		}
748
-
749
-		// data-attributes
750
-		$output .= AUI_Component_Helper::data_attributes($args);
751
-
752
-		// aria-attributes
753
-		$output .= AUI_Component_Helper::aria_attributes($args);
754
-
755
-		// extra attributes
756
-		if(!empty($args['extra_attributes'])){
757
-			$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
758
-		}
759
-
760
-		// required
761
-		if(!empty($args['required'])){
762
-			$output .= ' required ';
763
-		}
764
-
765
-		// multiple
766
-		if(!empty($args['multiple'])){
767
-			$output .= ' multiple ';
768
-		}
769
-
770
-		// close opening tag
771
-		$output .= ' >';
772
-
773
-		// placeholder
774
-		if(isset($args['placeholder']) && '' != $args['placeholder'] && !$is_select2){
775
-			$output .= '<option value="" disabled selected hidden>'.esc_attr($args['placeholder']).'</option>';
776
-		}elseif($is_select2 && !empty($args['placeholder'])){
777
-			$output .= "<option></option>"; // select2 needs an empty select to fill the placeholder
778
-		}
779
-
780
-		// Options
781
-		if(!empty($args['options'])){
782
-
783
-			if(!is_array($args['options'])){
784
-				$output .= $args['options']; // not the preferred way but an option
785
-			}else{
786
-				foreach($args['options'] as $val => $name){
787
-					$selected = '';
788
-					if(is_array($name)){
789
-						if (isset($name['optgroup']) && ($name['optgroup'] == 'start' || $name['optgroup'] == 'end')) {
790
-							$option_label = isset($name['label']) ? $name['label'] : '';
791
-
792
-							$output .= $name['optgroup'] == 'start' ? '<optgroup label="' . esc_attr($option_label) . '">' : '</optgroup>';
793
-						} else {
794
-							$option_label = isset($name['label']) ? $name['label'] : '';
795
-							$option_value = isset($name['value']) ? $name['value'] : '';
796
-							if(!empty($args['multiple']) && !empty($args['value']) && is_array($args['value']) ){
797
-								$selected = in_array($option_value, stripslashes_deep($args['value'])) ? "selected" : "";
798
-							} elseif(!empty($args['value'])) {
799
-								$selected = selected($option_value,stripslashes_deep($args['value']), false);
800
-							}
801
-
802
-							$output .= '<option value="' . esc_attr($option_value) . '" ' . $selected . '>' . $option_label . '</option>';
803
-						}
804
-					}else{
805
-						if(!empty($args['value'])){
806
-							if(is_array($args['value'])){
807
-								$selected = in_array($val,$args['value']) ? 'selected="selected"' : '';
808
-							} elseif(!empty($args['value'])) {
809
-								$selected = selected( $args['value'], $val, false);
810
-							}
811
-						}
812
-						$output .= '<option value="'.esc_attr($val).'" '.$selected.'>'.esc_attr($name).'</option>';
813
-					}
814
-				}
815
-			}
816
-
817
-		}
818
-
819
-		// closing tag
820
-		$output .= '</select>';
821
-
822
-		if(!empty($args['label']) && $label_after){
823
-			$label_args = array(
824
-				'title'=> $args['label'],
825
-				'for'=> $args['id'],
826
-				'class' => $args['label_class']." ",
827
-				'label_type' => $args['label_type']
828
-			);
829
-			$output .= self::label($label_args);
830
-		}
831
-
832
-		// help text
833
-		if(!empty($args['help_text'])){
834
-			$output .= AUI_Component_Helper::help_text($args['help_text']);
835
-		}
836
-
837
-		// maybe horizontal label
838
-		if($args['label_type']=='horizontal'){
839
-			$output .= '</div>';
840
-		}
841
-
842
-
843
-		// wrap
844
-		if(!$args['no_wrap']){
845
-			$wrap_class = $args['label_type']=='horizontal' ? 'form-group row' : 'form-group';
846
-			$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
847
-			$output = self::wrap(array(
848
-				'content' => $output,
849
-				'class'   => $wrap_class,
850
-				'element_require'   => $args['element_require'],
851
-				'argument_id'  => $args['id'],
852
-				'wrap_attributes' => $args['wrap_attributes'],
853
-			));
854
-		}
855
-
856
-
857
-		return $output;
858
-	}
859
-
860
-	/**
861
-	 * Build the component.
862
-	 *
863
-	 * @param array $args
864
-	 *
865
-	 * @return string The rendered component.
866
-	 */
867
-	public static function radio($args = array()){
868
-		$defaults = array(
869
-			'class'      => '',
870
-			'wrap_class' => '',
871
-			'id'         => '',
872
-			'title'      => '',
873
-			'horizontal' => false, // sets the lable horizontal
874
-			'value'      => '',
875
-			'label'      => '',
876
-			'label_class'=> '',
877
-			'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
878
-			'help_text'  => '',
879
-			'inline'     => true,
880
-			'required'   => false,
881
-			'options'    => array(),
882
-			'icon'       => '',
883
-			'no_wrap'    => false,
884
-			'element_require'   => '', // [%element_id%] == "1"
885
-			'extra_attributes'  => array(), // an array of extra attributes
886
-			'wrap_attributes'   => array()
887
-		);
888
-
889
-		/**
890
-		 * Parse incoming $args into an array and merge it with $defaults
891
-		 */
892
-		$args   = wp_parse_args( $args, $defaults );
893
-
894
-		// for now lets use horizontal for floating
895
-		if( $args['label_type'] == 'floating' ){$args['label_type'] = 'horizontal';}
896
-
897
-		$label_args = array(
898
-			'title'=> $args['label'],
899
-			'class' => $args['label_class']." pt-0 ",
900
-			'label_type' => $args['label_type']
901
-		);
902
-
903
-		$output = '';
904
-
905
-
906
-
907
-		// label before
908
-		if(!empty($args['label'])){
909
-			$output .= self::label( $label_args, 'radio' );
910
-		}
911
-
912
-		// maybe horizontal label
913
-		if($args['label_type']=='horizontal'){
914
-			$output .= '<div class="col-sm-10">';
915
-		}
916
-
917
-		if(!empty($args['options'])){
918
-			$count = 0;
919
-			foreach($args['options'] as $value => $label){
920
-				$option_args = $args;
921
-				$option_args['value'] = $value;
922
-				$option_args['label'] = $label;
923
-				$option_args['checked'] = $value == $args['value'] ? true : false;
924
-				$output .= self::radio_option($option_args,$count);
925
-				$count++;
926
-			}
927
-		}
928
-
929
-		// help text
930
-		$help_text = ! empty( $args['help_text'] ) ? AUI_Component_Helper::help_text( $args['help_text'] ) : '';
931
-		$output .= $help_text;
932
-
933
-		// maybe horizontal label
934
-		if($args['label_type']=='horizontal'){
935
-			$output .= '</div>';
936
-		}
937
-
938
-		// wrap
939
-		$wrap_class = $args['label_type']=='horizontal' ? 'form-group row' : 'form-group';
940
-		$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
941
-		$output = self::wrap(array(
942
-			'content' => $output,
943
-			'class'   => $wrap_class,
944
-			'element_require'   => $args['element_require'],
945
-			'argument_id'  => $args['id'],
946
-			'wrap_attributes' => $args['wrap_attributes'],
947
-		));
948
-
949
-
950
-		return $output;
951
-	}
952
-
953
-	/**
954
-	 * Build the component.
955
-	 *
956
-	 * @param array $args
957
-	 *
958
-	 * @return string The rendered component.
959
-	 */
960
-	public static function radio_option($args = array(),$count = ''){
961
-		$defaults = array(
962
-			'class'      => '',
963
-			'id'         => '',
964
-			'title'      => '',
965
-			'value'      => '',
966
-			'required'   => false,
967
-			'inline'     => true,
968
-			'label'      => '',
969
-			'options'    => array(),
970
-			'icon'       => '',
971
-			'no_wrap'    => false,
972
-			'extra_attributes'  => array() // an array of extra attributes
973
-		);
974
-
975
-		/**
976
-		 * Parse incoming $args into an array and merge it with $defaults
977
-		 */
978
-		$args   = wp_parse_args( $args, $defaults );
979
-
980
-		$output = '';
981
-
982
-		// open/type
983
-		$output .= '<input type="radio"';
984
-
985
-		// class
986
-		$output .= ' class="form-check-input" ';
987
-
988
-		// name
989
-		if(!empty($args['name'])){
990
-			$output .= AUI_Component_Helper::name($args['name']);
991
-		}
992
-
993
-		// id
994
-		if(!empty($args['id'])){
995
-			$output .= AUI_Component_Helper::id($args['id'].$count);
996
-		}
997
-
998
-		// title
999
-		if(!empty($args['title'])){
1000
-			$output .= AUI_Component_Helper::title($args['title']);
1001
-		}
1002
-
1003
-		// value
1004
-		if(isset($args['value'])){
1005
-			$output .= AUI_Component_Helper::value($args['value']);
1006
-		}
1007
-
1008
-		// checked, for radio and checkboxes
1009
-		if( $args['checked'] ){
1010
-			$output .= ' checked ';
1011
-		}
1012
-
1013
-		// data-attributes
1014
-		$output .= AUI_Component_Helper::data_attributes($args);
1015
-
1016
-		// aria-attributes
1017
-		$output .= AUI_Component_Helper::aria_attributes($args);
1018
-
1019
-		// extra attributes
1020
-		if(!empty($args['extra_attributes'])){
1021
-			$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
1022
-		}
1023
-
1024
-		// required
1025
-		if(!empty($args['required'])){
1026
-			$output .= ' required ';
1027
-		}
1028
-
1029
-		// close opening tag
1030
-		$output .= ' >';
1031
-
1032
-		// label
1033
-		if(!empty($args['label']) && is_array($args['label'])){
1034
-		}elseif(!empty($args['label'])){
1035
-			$output .= self::label(array('title'=>$args['label'],'for'=>$args['id'].$count,'class'=>'form-check-label'),'radio');
1036
-		}
1037
-
1038
-		// wrap
1039
-		if ( ! $args['no_wrap'] ) {
1040
-			$wrap_class = $args['inline'] ? 'form-check form-check-inline' : 'form-check';
1041
-
1042
-			// Unique wrap class
1043
-			$uniq_class = 'fwrap';
1044
-			if ( ! empty( $args['name'] ) ) {
1045
-				$uniq_class .= '-' . $args['name'];
1046
-			} else if ( ! empty( $args['id'] ) ) {
1047
-				$uniq_class .= '-' . $args['id'];
1048
-			}
1049
-
1050
-			if ( isset( $args['value'] ) || $args['value'] !== "" ) {
1051
-				$uniq_class .= '-' . $args['value'];
1052
-			} else {
1053
-				$uniq_class .= '-' . $count;
1054
-			}
1055
-			$wrap_class .= ' ' . sanitize_html_class( $uniq_class );
1056
-
1057
-			$output = self::wrap(array(
1058
-				'content' => $output,
1059
-				'class' => $wrap_class
1060
-			));
1061
-		}
1062
-
1063
-		return $output;
1064
-	}
214
+            }
215
+
216
+            // input group wraps
217
+            if($args['input_group_left'] || $args['input_group_right']){
218
+                $w100 = strpos($args['class'], 'w-100') !== false ? ' w-100' : '';
219
+                if($args['input_group_left']){
220
+                    $output = self::wrap( array(
221
+                        'content' => $output,
222
+                        'class'   => $args['input_group_left_inside'] ? 'input-group-inside position-relative'.$w100  : 'input-group',
223
+                        'input_group_left' => $args['input_group_left'],
224
+                        'input_group_left_inside'    => $args['input_group_left_inside']
225
+                    ) );
226
+                }
227
+                if($args['input_group_right']){
228
+                    $output = self::wrap( array(
229
+                        'content' => $output,
230
+                        'class'   => $args['input_group_right_inside'] ? 'input-group-inside position-relative'.$w100 : 'input-group',
231
+                        'input_group_right' => $args['input_group_right'],
232
+                        'input_group_right_inside'    => $args['input_group_right_inside']
233
+                    ) );
234
+                }
235
+
236
+            }
237
+
238
+            if(!$label_after){
239
+                $output .= $help_text;
240
+            }
241
+
242
+
243
+            if($args['label_type']=='horizontal' && $type != 'checkbox'){
244
+                $output = self::wrap( array(
245
+                    'content' => $output,
246
+                    'class'   => 'col-sm-10',
247
+                ) );
248
+            }
249
+
250
+            if(!$label_after){
251
+                $output = $label . $output;
252
+            }
253
+
254
+            // wrap
255
+            if ( ! $args['no_wrap'] ) {
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
+                    'wrap_attributes' => $args['wrap_attributes'],
265
+                ));
266
+            }
267
+        }
268
+
269
+        return $output;
270
+    }
271
+
272
+    /**
273
+     * Build the component.
274
+     *
275
+     * @param array $args
276
+     *
277
+     * @return string The rendered component.
278
+     */
279
+    public static function textarea($args = array()){
280
+        $defaults = array(
281
+            'name'       => '',
282
+            'class'      => '',
283
+            'wrap_class' => '',
284
+            'id'         => '',
285
+            'placeholder'=> '',
286
+            'title'      => '',
287
+            'value'      => '',
288
+            'required'   => false,
289
+            'label'      => '',
290
+            'label_after'=> false,
291
+            'label_class'      => '',
292
+            'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
293
+            'help_text'  => '',
294
+            'validation_text'   => '',
295
+            'validation_pattern' => '',
296
+            'no_wrap'    => false,
297
+            'rows'      => '',
298
+            'wysiwyg'   => false,
299
+            'allow_tags' => false, // Allow HTML tags
300
+            'element_require'   => '', // [%element_id%] == "1"
301
+            'extra_attributes'  => array(), // an array of extra attributes
302
+            'wrap_attributes'   => array(),
303
+        );
304
+
305
+        /**
306
+         * Parse incoming $args into an array and merge it with $defaults
307
+         */
308
+        $args   = wp_parse_args( $args, $defaults );
309
+        $output = '';
310
+
311
+        // hidden label option needs to be empty
312
+        $args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
313
+
314
+        // floating labels don't work with wysiwyg so set it as top
315
+        if($args['label_type'] == 'floating' && !empty($args['wysiwyg'])){
316
+            $args['label_type'] = 'top';
317
+        }
318
+
319
+        $label_after = $args['label_after'];
320
+
321
+        // floating labels need label after
322
+        if( $args['label_type'] == 'floating' && empty($args['wysiwyg']) ){
323
+            $label_after = true;
324
+            $args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
325
+        }
326
+
327
+        // label
328
+        if(!empty($args['label']) && is_array($args['label'])){
329
+        }elseif(!empty($args['label']) && !$label_after){
330
+            $label_args = array(
331
+                'title'=> $args['label'],
332
+                'for'=> $args['id'],
333
+                'class' => $args['label_class']." ",
334
+                'label_type' => $args['label_type']
335
+            );
336
+            $output .= self::label( $label_args );
337
+        }
338
+
339
+        // maybe horizontal label
340
+        if($args['label_type']=='horizontal'){
341
+            $output .= '<div class="col-sm-10">';
342
+        }
343
+
344
+        if(!empty($args['wysiwyg'])){
345
+            ob_start();
346
+            $content = $args['value'];
347
+            $editor_id = !empty($args['id']) ? sanitize_html_class($args['id']) : 'wp_editor';
348
+            $settings = array(
349
+                'textarea_rows' => !empty(absint($args['rows'])) ? absint($args['rows']) : 4,
350
+                'quicktags'     => false,
351
+                'media_buttons' => false,
352
+                'editor_class'  => 'form-control',
353
+                'textarea_name' => !empty($args['name']) ? sanitize_html_class($args['name']) : sanitize_html_class($args['id']),
354
+                'teeny'         => true,
355
+            );
356
+
357
+            // maybe set settings if array
358
+            if(is_array($args['wysiwyg'])){
359
+                $settings  = wp_parse_args( $args['wysiwyg'], $settings );
360
+            }
361
+
362
+            wp_editor( $content, $editor_id, $settings );
363
+            $output .= ob_get_clean();
364
+        }else{
365
+
366
+            // open
367
+            $output .= '<textarea ';
368
+
369
+            // name
370
+            if(!empty($args['name'])){
371
+                $output .= ' name="'.esc_attr($args['name']).'" ';
372
+            }
373
+
374
+            // id
375
+            if(!empty($args['id'])){
376
+                $output .= ' id="'.sanitize_html_class($args['id']).'" ';
377
+            }
378
+
379
+            // placeholder
380
+            if(isset($args['placeholder']) && '' != $args['placeholder']){
381
+                $output .= ' placeholder="'.esc_attr($args['placeholder']).'" ';
382
+            }
383
+
384
+            // title
385
+            if(!empty($args['title'])){
386
+                $output .= ' title="'.esc_attr($args['title']).'" ';
387
+            }
388
+
389
+            // validation text
390
+            if(!empty($args['validation_text'])){
391
+                $output .= ' oninvalid="setCustomValidity(\''.esc_attr($args['validation_text']).'\')" ';
392
+                $output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
393
+            }
394
+
395
+            // validation_pattern
396
+            if(!empty($args['validation_pattern'])){
397
+                $output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
398
+            }
399
+
400
+            // required
401
+            if(!empty($args['required'])){
402
+                $output .= ' required ';
403
+            }
404
+
405
+            // rows
406
+            if(!empty($args['rows'])){
407
+                $output .= ' rows="'.absint($args['rows']).'" ';
408
+            }
409
+
410
+
411
+            // class
412
+            $class = !empty($args['class']) ? $args['class'] : '';
413
+            $output .= ' class="form-control '.$class.'" ';
414
+
415
+            // extra attributes
416
+            if(!empty($args['extra_attributes'])){
417
+                $output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
418
+            }
419
+
420
+            // close tag
421
+            $output .= ' >';
422
+
423
+            // value
424
+            if ( ! empty( $args['value'] ) ) {
425
+                if ( ! empty( $args['allow_tags'] ) ) {
426
+                    $output .= AUI_Component_Helper::sanitize_html_field( $args['value'], $args ); // Sanitize HTML.
427
+                } else {
428
+                    $output .= sanitize_textarea_field( $args['value'] );
429
+                }
430
+            }
431
+
432
+            // closing tag
433
+            $output .= '</textarea>';
434
+
435
+        }
436
+
437
+        if(!empty($args['label']) && $label_after){
438
+            $label_args = array(
439
+                'title'=> $args['label'],
440
+                'for'=> $args['id'],
441
+                'class' => $args['label_class']." ",
442
+                'label_type' => $args['label_type']
443
+            );
444
+            $output .= self::label( $label_args );
445
+        }
446
+
447
+        // help text
448
+        if(!empty($args['help_text'])){
449
+            $output .= AUI_Component_Helper::help_text($args['help_text']);
450
+        }
451
+
452
+        // maybe horizontal label
453
+        if($args['label_type']=='horizontal'){
454
+            $output .= '</div>';
455
+        }
456
+
457
+
458
+        // wrap
459
+        if(!$args['no_wrap']){
460
+            $form_group_class = $args['label_type']=='floating' ? 'form-label-group' : 'form-group';
461
+            $wrap_class = $args['label_type']=='horizontal' ? $form_group_class . ' row' : $form_group_class;
462
+            $wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
463
+            $output = self::wrap(array(
464
+                'content' => $output,
465
+                'class'   => $wrap_class,
466
+                'element_require'   => $args['element_require'],
467
+                'argument_id'  => $args['id'],
468
+                'wrap_attributes' => $args['wrap_attributes'],
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="'.esc_attr($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
+            'wrap_attributes' => array()
555
+        );
556
+
557
+        /**
558
+         * Parse incoming $args into an array and merge it with $defaults
559
+         */
560
+        $args   = wp_parse_args( $args, $defaults );
561
+        $output = '';
562
+        if($args['type']){
563
+
564
+            // open
565
+            $output .= '<'.sanitize_html_class($args['type']);
566
+
567
+            // element require
568
+            if(!empty($args['element_require'])){
569
+                $output .= AUI_Component_Helper::element_require($args['element_require']);
570
+                $args['class'] .= " aui-conditional-field";
571
+            }
572
+
573
+            // argument_id
574
+            if( !empty($args['argument_id']) ){
575
+                $output .= ' data-argument="'.esc_attr($args['argument_id']).'"';
576
+            }
577
+
578
+            // class
579
+            $class = !empty($args['class']) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
580
+            $output .= ' class="'.$class.'" ';
581
+
582
+            // Attributes
583
+            if ( ! empty( $args['wrap_attributes'] ) ) {
584
+                $output .= AUI_Component_Helper::extra_attributes( $args['wrap_attributes'] );
585
+            }
586
+
587
+            // close wrap
588
+            $output .= ' >';
589
+
590
+
591
+            // Input group left
592
+            if(!empty($args['input_group_left'])){
593
+                $position_class = !empty($args['input_group_left_inside']) ? 'position-absolute h-100' : '';
594
+                $input_group_left = strpos($args['input_group_left'], '<') !== false ? $args['input_group_left'] : '<span class="input-group-text">'.$args['input_group_left'].'</span>';
595
+                $output .= '<div class="input-group-prepend '.$position_class.'">'.$input_group_left.'</div>';
596
+            }
597
+
598
+            // content
599
+            $output .= $args['content'];
600
+
601
+            // Input group right
602
+            if(!empty($args['input_group_right'])){
603
+                $position_class = !empty($args['input_group_left_inside']) ? 'position-absolute h-100' : '';
604
+                $input_group_right = strpos($args['input_group_right'], '<') !== false ? $args['input_group_right'] : '<span class="input-group-text">'.$args['input_group_right'].'</span>';
605
+                $output .= '<div class="input-group-append '.$position_class.'">'.$input_group_right.'</div>';
606
+            }
607
+
608
+
609
+            // close wrap
610
+            $output .= '</'.sanitize_html_class($args['type']).'>';
611
+
612
+
613
+        }else{
614
+            $output = $args['content'];
615
+        }
616
+
617
+        return $output;
618
+    }
619
+
620
+    /**
621
+     * Build the component.
622
+     *
623
+     * @param array $args
624
+     *
625
+     * @return string The rendered component.
626
+     */
627
+    public static function select($args = array()){
628
+        $defaults = array(
629
+            'class'      => '',
630
+            'wrap_class' => '',
631
+            'id'         => '',
632
+            'title'      => '',
633
+            'value'      => '', // can be an array or a string
634
+            'required'   => false,
635
+            'label'      => '',
636
+            'label_after'=> false,
637
+            'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
638
+            'label_class'      => '',
639
+            'help_text'  => '',
640
+            'placeholder'=> '',
641
+            'options'    => array(), // array or string
642
+            'icon'       => '',
643
+            'multiple'   => false,
644
+            'select2'    => false,
645
+            'no_wrap'    => false,
646
+            'element_require'   => '', // [%element_id%] == "1"
647
+            'extra_attributes'  => array(), // an array of extra attributes
648
+            'wrap_attributes'   => array(),
649
+        );
650
+
651
+        /**
652
+         * Parse incoming $args into an array and merge it with $defaults
653
+         */
654
+        $args   = wp_parse_args( $args, $defaults );
655
+        $output = '';
656
+
657
+        // for now lets hide floating labels
658
+        if( $args['label_type'] == 'floating' ){$args['label_type'] = 'hidden';}
659
+
660
+        // hidden label option needs to be empty
661
+        $args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
662
+
663
+
664
+        $label_after = $args['label_after'];
665
+
666
+        // floating labels need label after
667
+        if( $args['label_type'] == 'floating' ){
668
+            $label_after = true;
669
+            $args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
670
+        }
671
+
672
+        // Maybe setup select2
673
+        $is_select2 = false;
674
+        if(!empty($args['select2'])){
675
+            $args['class'] .= ' aui-select2';
676
+            $is_select2 = true;
677
+        }elseif( strpos($args['class'], 'aui-select2') !== false){
678
+            $is_select2 = true;
679
+        }
680
+
681
+        // select2 tags
682
+        if( !empty($args['select2']) && $args['select2'] === 'tags'){ // triple equals needed here for some reason
683
+            $args['data-tags'] = 'true';
684
+            $args['data-token-separators'] = "[',']";
685
+            $args['multiple'] = true;
686
+        }
687
+
688
+        // select2 placeholder
689
+        if($is_select2 && isset($args['placeholder']) && '' != $args['placeholder'] && empty($args['data-placeholder'])){
690
+            $args['data-placeholder'] = esc_attr($args['placeholder']);
691
+            $args['data-allow-clear'] = isset($args['data-allow-clear']) ? (bool) $args['data-allow-clear'] : true;
692
+        }
693
+
694
+        // label
695
+        if(!empty($args['label']) && is_array($args['label'])){
696
+        }elseif(!empty($args['label']) && !$label_after){
697
+            $label_args = array(
698
+                'title'=> $args['label'],
699
+                'for'=> $args['id'],
700
+                'class' => $args['label_class']." ",
701
+                'label_type' => $args['label_type']
702
+            );
703
+            $output .= self::label($label_args);
704
+        }
705
+
706
+        // maybe horizontal label
707
+        if($args['label_type']=='horizontal'){
708
+            $output .= '<div class="col-sm-10">';
709
+        }
710
+
711
+        // Set hidden input to save empty value for multiselect.
712
+        if ( ! empty( $args['multiple'] ) && ! empty( $args['name'] ) ) {
713
+            $output .= '<input type="hidden" ' . AUI_Component_Helper::name( $args['name'] ) . ' value=""/>';
714
+        }
715
+
716
+        // open/type
717
+        $output .= '<select ';
718
+
719
+        // style
720
+        if($is_select2){
721
+            $output .= " style='width:100%;' ";
722
+        }
723
+
724
+        // element require
725
+        if(!empty($args['element_require'])){
726
+            $output .= AUI_Component_Helper::element_require($args['element_require']);
727
+            $args['class'] .= " aui-conditional-field";
728
+        }
729
+
730
+        // class
731
+        $class = !empty($args['class']) ? $args['class'] : '';
732
+        $output .= AUI_Component_Helper::class_attr('custom-select '.$class);
733
+
734
+        // name
735
+        if(!empty($args['name'])){
736
+            $output .= AUI_Component_Helper::name($args['name'],$args['multiple']);
737
+        }
738
+
739
+        // id
740
+        if(!empty($args['id'])){
741
+            $output .= AUI_Component_Helper::id($args['id']);
742
+        }
743
+
744
+        // title
745
+        if(!empty($args['title'])){
746
+            $output .= AUI_Component_Helper::title($args['title']);
747
+        }
748
+
749
+        // data-attributes
750
+        $output .= AUI_Component_Helper::data_attributes($args);
751
+
752
+        // aria-attributes
753
+        $output .= AUI_Component_Helper::aria_attributes($args);
754
+
755
+        // extra attributes
756
+        if(!empty($args['extra_attributes'])){
757
+            $output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
758
+        }
759
+
760
+        // required
761
+        if(!empty($args['required'])){
762
+            $output .= ' required ';
763
+        }
764
+
765
+        // multiple
766
+        if(!empty($args['multiple'])){
767
+            $output .= ' multiple ';
768
+        }
769
+
770
+        // close opening tag
771
+        $output .= ' >';
772
+
773
+        // placeholder
774
+        if(isset($args['placeholder']) && '' != $args['placeholder'] && !$is_select2){
775
+            $output .= '<option value="" disabled selected hidden>'.esc_attr($args['placeholder']).'</option>';
776
+        }elseif($is_select2 && !empty($args['placeholder'])){
777
+            $output .= "<option></option>"; // select2 needs an empty select to fill the placeholder
778
+        }
779
+
780
+        // Options
781
+        if(!empty($args['options'])){
782
+
783
+            if(!is_array($args['options'])){
784
+                $output .= $args['options']; // not the preferred way but an option
785
+            }else{
786
+                foreach($args['options'] as $val => $name){
787
+                    $selected = '';
788
+                    if(is_array($name)){
789
+                        if (isset($name['optgroup']) && ($name['optgroup'] == 'start' || $name['optgroup'] == 'end')) {
790
+                            $option_label = isset($name['label']) ? $name['label'] : '';
791
+
792
+                            $output .= $name['optgroup'] == 'start' ? '<optgroup label="' . esc_attr($option_label) . '">' : '</optgroup>';
793
+                        } else {
794
+                            $option_label = isset($name['label']) ? $name['label'] : '';
795
+                            $option_value = isset($name['value']) ? $name['value'] : '';
796
+                            if(!empty($args['multiple']) && !empty($args['value']) && is_array($args['value']) ){
797
+                                $selected = in_array($option_value, stripslashes_deep($args['value'])) ? "selected" : "";
798
+                            } elseif(!empty($args['value'])) {
799
+                                $selected = selected($option_value,stripslashes_deep($args['value']), false);
800
+                            }
801
+
802
+                            $output .= '<option value="' . esc_attr($option_value) . '" ' . $selected . '>' . $option_label . '</option>';
803
+                        }
804
+                    }else{
805
+                        if(!empty($args['value'])){
806
+                            if(is_array($args['value'])){
807
+                                $selected = in_array($val,$args['value']) ? 'selected="selected"' : '';
808
+                            } elseif(!empty($args['value'])) {
809
+                                $selected = selected( $args['value'], $val, false);
810
+                            }
811
+                        }
812
+                        $output .= '<option value="'.esc_attr($val).'" '.$selected.'>'.esc_attr($name).'</option>';
813
+                    }
814
+                }
815
+            }
816
+
817
+        }
818
+
819
+        // closing tag
820
+        $output .= '</select>';
821
+
822
+        if(!empty($args['label']) && $label_after){
823
+            $label_args = array(
824
+                'title'=> $args['label'],
825
+                'for'=> $args['id'],
826
+                'class' => $args['label_class']." ",
827
+                'label_type' => $args['label_type']
828
+            );
829
+            $output .= self::label($label_args);
830
+        }
831
+
832
+        // help text
833
+        if(!empty($args['help_text'])){
834
+            $output .= AUI_Component_Helper::help_text($args['help_text']);
835
+        }
836
+
837
+        // maybe horizontal label
838
+        if($args['label_type']=='horizontal'){
839
+            $output .= '</div>';
840
+        }
841
+
842
+
843
+        // wrap
844
+        if(!$args['no_wrap']){
845
+            $wrap_class = $args['label_type']=='horizontal' ? 'form-group row' : 'form-group';
846
+            $wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
847
+            $output = self::wrap(array(
848
+                'content' => $output,
849
+                'class'   => $wrap_class,
850
+                'element_require'   => $args['element_require'],
851
+                'argument_id'  => $args['id'],
852
+                'wrap_attributes' => $args['wrap_attributes'],
853
+            ));
854
+        }
855
+
856
+
857
+        return $output;
858
+    }
859
+
860
+    /**
861
+     * Build the component.
862
+     *
863
+     * @param array $args
864
+     *
865
+     * @return string The rendered component.
866
+     */
867
+    public static function radio($args = array()){
868
+        $defaults = array(
869
+            'class'      => '',
870
+            'wrap_class' => '',
871
+            'id'         => '',
872
+            'title'      => '',
873
+            'horizontal' => false, // sets the lable horizontal
874
+            'value'      => '',
875
+            'label'      => '',
876
+            'label_class'=> '',
877
+            'label_type' => '', // sets the label type, default: hidden. Options: hidden, top, horizontal, floating
878
+            'help_text'  => '',
879
+            'inline'     => true,
880
+            'required'   => false,
881
+            'options'    => array(),
882
+            'icon'       => '',
883
+            'no_wrap'    => false,
884
+            'element_require'   => '', // [%element_id%] == "1"
885
+            'extra_attributes'  => array(), // an array of extra attributes
886
+            'wrap_attributes'   => array()
887
+        );
888
+
889
+        /**
890
+         * Parse incoming $args into an array and merge it with $defaults
891
+         */
892
+        $args   = wp_parse_args( $args, $defaults );
893
+
894
+        // for now lets use horizontal for floating
895
+        if( $args['label_type'] == 'floating' ){$args['label_type'] = 'horizontal';}
896
+
897
+        $label_args = array(
898
+            'title'=> $args['label'],
899
+            'class' => $args['label_class']." pt-0 ",
900
+            'label_type' => $args['label_type']
901
+        );
902
+
903
+        $output = '';
904
+
905
+
906
+
907
+        // label before
908
+        if(!empty($args['label'])){
909
+            $output .= self::label( $label_args, 'radio' );
910
+        }
911
+
912
+        // maybe horizontal label
913
+        if($args['label_type']=='horizontal'){
914
+            $output .= '<div class="col-sm-10">';
915
+        }
916
+
917
+        if(!empty($args['options'])){
918
+            $count = 0;
919
+            foreach($args['options'] as $value => $label){
920
+                $option_args = $args;
921
+                $option_args['value'] = $value;
922
+                $option_args['label'] = $label;
923
+                $option_args['checked'] = $value == $args['value'] ? true : false;
924
+                $output .= self::radio_option($option_args,$count);
925
+                $count++;
926
+            }
927
+        }
928
+
929
+        // help text
930
+        $help_text = ! empty( $args['help_text'] ) ? AUI_Component_Helper::help_text( $args['help_text'] ) : '';
931
+        $output .= $help_text;
932
+
933
+        // maybe horizontal label
934
+        if($args['label_type']=='horizontal'){
935
+            $output .= '</div>';
936
+        }
937
+
938
+        // wrap
939
+        $wrap_class = $args['label_type']=='horizontal' ? 'form-group row' : 'form-group';
940
+        $wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
941
+        $output = self::wrap(array(
942
+            'content' => $output,
943
+            'class'   => $wrap_class,
944
+            'element_require'   => $args['element_require'],
945
+            'argument_id'  => $args['id'],
946
+            'wrap_attributes' => $args['wrap_attributes'],
947
+        ));
948
+
949
+
950
+        return $output;
951
+    }
952
+
953
+    /**
954
+     * Build the component.
955
+     *
956
+     * @param array $args
957
+     *
958
+     * @return string The rendered component.
959
+     */
960
+    public static function radio_option($args = array(),$count = ''){
961
+        $defaults = array(
962
+            'class'      => '',
963
+            'id'         => '',
964
+            'title'      => '',
965
+            'value'      => '',
966
+            'required'   => false,
967
+            'inline'     => true,
968
+            'label'      => '',
969
+            'options'    => array(),
970
+            'icon'       => '',
971
+            'no_wrap'    => false,
972
+            'extra_attributes'  => array() // an array of extra attributes
973
+        );
974
+
975
+        /**
976
+         * Parse incoming $args into an array and merge it with $defaults
977
+         */
978
+        $args   = wp_parse_args( $args, $defaults );
979
+
980
+        $output = '';
981
+
982
+        // open/type
983
+        $output .= '<input type="radio"';
984
+
985
+        // class
986
+        $output .= ' class="form-check-input" ';
987
+
988
+        // name
989
+        if(!empty($args['name'])){
990
+            $output .= AUI_Component_Helper::name($args['name']);
991
+        }
992
+
993
+        // id
994
+        if(!empty($args['id'])){
995
+            $output .= AUI_Component_Helper::id($args['id'].$count);
996
+        }
997
+
998
+        // title
999
+        if(!empty($args['title'])){
1000
+            $output .= AUI_Component_Helper::title($args['title']);
1001
+        }
1002
+
1003
+        // value
1004
+        if(isset($args['value'])){
1005
+            $output .= AUI_Component_Helper::value($args['value']);
1006
+        }
1007
+
1008
+        // checked, for radio and checkboxes
1009
+        if( $args['checked'] ){
1010
+            $output .= ' checked ';
1011
+        }
1012
+
1013
+        // data-attributes
1014
+        $output .= AUI_Component_Helper::data_attributes($args);
1015
+
1016
+        // aria-attributes
1017
+        $output .= AUI_Component_Helper::aria_attributes($args);
1018
+
1019
+        // extra attributes
1020
+        if(!empty($args['extra_attributes'])){
1021
+            $output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
1022
+        }
1023
+
1024
+        // required
1025
+        if(!empty($args['required'])){
1026
+            $output .= ' required ';
1027
+        }
1028
+
1029
+        // close opening tag
1030
+        $output .= ' >';
1031
+
1032
+        // label
1033
+        if(!empty($args['label']) && is_array($args['label'])){
1034
+        }elseif(!empty($args['label'])){
1035
+            $output .= self::label(array('title'=>$args['label'],'for'=>$args['id'].$count,'class'=>'form-check-label'),'radio');
1036
+        }
1037
+
1038
+        // wrap
1039
+        if ( ! $args['no_wrap'] ) {
1040
+            $wrap_class = $args['inline'] ? 'form-check form-check-inline' : 'form-check';
1041
+
1042
+            // Unique wrap class
1043
+            $uniq_class = 'fwrap';
1044
+            if ( ! empty( $args['name'] ) ) {
1045
+                $uniq_class .= '-' . $args['name'];
1046
+            } else if ( ! empty( $args['id'] ) ) {
1047
+                $uniq_class .= '-' . $args['id'];
1048
+            }
1049
+
1050
+            if ( isset( $args['value'] ) || $args['value'] !== "" ) {
1051
+                $uniq_class .= '-' . $args['value'];
1052
+            } else {
1053
+                $uniq_class .= '-' . $count;
1054
+            }
1055
+            $wrap_class .= ' ' . sanitize_html_class( $uniq_class );
1056
+
1057
+            $output = self::wrap(array(
1058
+                'content' => $output,
1059
+                'class' => $wrap_class
1060
+            ));
1061
+        }
1062
+
1063
+        return $output;
1064
+    }
1065 1065
 
1066 1066
 }
1067 1067
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +219 added lines, -219 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'       => '',
@@ -53,13 +53,13 @@  discard block
 block discarded – undo
53 53
 		/**
54 54
 		 * Parse incoming $args into an array and merge it with $defaults
55 55
 		 */
56
-		$args   = wp_parse_args( $args, $defaults );
56
+		$args   = wp_parse_args($args, $defaults);
57 57
 		$output = '';
58
-		if ( ! empty( $args['type'] ) ) {
58
+		if (!empty($args['type'])) {
59 59
 			// hidden label option needs to be empty
60 60
 			$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
61 61
 
62
-			$type = sanitize_html_class( $args['type'] );
62
+			$type = sanitize_html_class($args['type']);
63 63
 
64 64
 			$help_text = '';
65 65
 			$label = '';
@@ -67,24 +67,24 @@  discard block
 block discarded – undo
67 67
 			$label_args = array(
68 68
 				'title'=> $args['label'],
69 69
 				'for'=> $args['id'],
70
-				'class' => $args['label_class']." ",
70
+				'class' => $args['label_class'] . " ",
71 71
 				'label_type' => $args['label_type']
72 72
 			);
73 73
 
74 74
 			// floating labels need label after
75
-			if( $args['label_type'] == 'floating' && $type != 'checkbox' ){
75
+			if ($args['label_type'] == 'floating' && $type != 'checkbox') {
76 76
 				$label_after = true;
77 77
 				$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
78 78
 			}
79 79
 
80 80
 			// Some special sauce for files
81
-			if($type=='file' ){
81
+			if ($type == 'file') {
82 82
 				$label_after = true; // if type file we need the label after
83 83
 				$args['class'] .= ' custom-file-input ';
84
-			}elseif($type=='checkbox'){
84
+			}elseif ($type == 'checkbox') {
85 85
 				$label_after = true; // if type file we need the label after
86 86
 				$args['class'] .= ' custom-control-input ';
87
-			}elseif($type=='datepicker' || $type=='timepicker'){
87
+			}elseif ($type == 'datepicker' || $type == 'timepicker') {
88 88
 				$type = 'text';
89 89
 				//$args['class'] .= ' aui-flatpickr bg-initial ';
90 90
 				$args['class'] .= ' bg-initial ';
@@ -100,65 +100,65 @@  discard block
 block discarded – undo
100 100
 			$output .= '<input type="' . $type . '" ';
101 101
 
102 102
 			// name
103
-			if(!empty($args['name'])){
104
-				$output .= ' name="'.esc_attr($args['name']).'" ';
103
+			if (!empty($args['name'])) {
104
+				$output .= ' name="' . esc_attr($args['name']) . '" ';
105 105
 			}
106 106
 
107 107
 			// id
108
-			if(!empty($args['id'])){
109
-				$output .= ' id="'.sanitize_html_class($args['id']).'" ';
108
+			if (!empty($args['id'])) {
109
+				$output .= ' id="' . sanitize_html_class($args['id']) . '" ';
110 110
 			}
111 111
 
112 112
 			// placeholder
113
-			if(isset($args['placeholder']) && '' != $args['placeholder'] ){
114
-				$output .= ' placeholder="'.esc_attr($args['placeholder']).'" ';
113
+			if (isset($args['placeholder']) && '' != $args['placeholder']) {
114
+				$output .= ' placeholder="' . esc_attr($args['placeholder']) . '" ';
115 115
 			}
116 116
 
117 117
 			// title
118
-			if(!empty($args['title'])){
119
-				$output .= ' title="'.esc_attr($args['title']).'" ';
118
+			if (!empty($args['title'])) {
119
+				$output .= ' title="' . esc_attr($args['title']) . '" ';
120 120
 			}
121 121
 
122 122
 			// value
123
-			if(!empty($args['value'])){
123
+			if (!empty($args['value'])) {
124 124
 				$output .= AUI_Component_Helper::value($args['value']);
125 125
 			}
126 126
 
127 127
 			// checked, for radio and checkboxes
128
-			if( ( $type == 'checkbox' || $type == 'radio' ) && $args['checked'] ){
128
+			if (($type == 'checkbox' || $type == 'radio') && $args['checked']) {
129 129
 				$output .= ' checked ';
130 130
 			}
131 131
 
132 132
 			// validation text
133
-			if(!empty($args['validation_text'])){
134
-				$output .= ' oninvalid="setCustomValidity(\''.esc_attr($args['validation_text']).'\')" ';
133
+			if (!empty($args['validation_text'])) {
134
+				$output .= ' oninvalid="setCustomValidity(\'' . esc_attr($args['validation_text']) . '\')" ';
135 135
 				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
136 136
 			}
137 137
 
138 138
 			// validation_pattern
139
-			if(!empty($args['validation_pattern'])){
140
-				$output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
139
+			if (!empty($args['validation_pattern'])) {
140
+				$output .= ' pattern="' . esc_attr($args['validation_pattern']) . '" ';
141 141
 			}
142 142
 
143 143
 			// step (for numbers)
144
-			if(!empty($args['step'])){
145
-				$output .= ' step="'.$args['step'].'" ';
144
+			if (!empty($args['step'])) {
145
+				$output .= ' step="' . $args['step'] . '" ';
146 146
 			}
147 147
 
148 148
 			// required
149
-			if(!empty($args['required'])){
149
+			if (!empty($args['required'])) {
150 150
 				$output .= ' required ';
151 151
 			}
152 152
 
153 153
 			// class
154
-			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
155
-			$output .= ' class="form-control '.$class.'" ';
154
+			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes($args['class']) : '';
155
+			$output .= ' class="form-control ' . $class . '" ';
156 156
 
157 157
 			// data-attributes
158 158
 			$output .= AUI_Component_Helper::data_attributes($args);
159 159
 
160 160
 			// extra attributes
161
-			if(!empty($args['extra_attributes'])){
161
+			if (!empty($args['extra_attributes'])) {
162 162
 				$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
163 163
 			}
164 164
 
@@ -167,40 +167,40 @@  discard block
 block discarded – undo
167 167
 
168 168
 
169 169
 			// label
170
-			if(!empty($args['label'])){
171
-				if($type == 'file'){$label_args['class'] .= 'custom-file-label';}
172
-				elseif($type == 'checkbox'){$label_args['class'] .= 'custom-control-label';}
173
-				$label = self::label( $label_args, $type );
170
+			if (!empty($args['label'])) {
171
+				if ($type == 'file') {$label_args['class'] .= 'custom-file-label'; }
172
+				elseif ($type == 'checkbox') {$label_args['class'] .= 'custom-control-label'; }
173
+				$label = self::label($label_args, $type);
174 174
 			}
175 175
 
176 176
 			// help text
177
-			if(!empty($args['help_text'])){
177
+			if (!empty($args['help_text'])) {
178 178
 				$help_text = AUI_Component_Helper::help_text($args['help_text']);
179 179
 			}
180 180
 
181 181
 
182 182
 			// set help text in the correct possition
183
-			if($label_after){
183
+			if ($label_after) {
184 184
 				$output .= $label . $help_text;
185 185
 			}
186 186
 
187 187
 			// some input types need a separate wrap
188
-			if($type == 'file') {
189
-				$output = self::wrap( array(
188
+			if ($type == 'file') {
189
+				$output = self::wrap(array(
190 190
 					'content' => $output,
191 191
 					'class'   => 'form-group custom-file'
192
-				) );
193
-			}elseif($type == 'checkbox'){
192
+				));
193
+			}elseif ($type == 'checkbox') {
194 194
 				$wrap_class = $args['switch'] ? 'custom-switch' : 'custom-checkbox';
195
-				$output = self::wrap( array(
195
+				$output = self::wrap(array(
196 196
 					'content' => $output,
197
-					'class'   => 'custom-control '.$wrap_class
198
-				) );
197
+					'class'   => 'custom-control ' . $wrap_class
198
+				));
199 199
 
200
-				if($args['label_type']=='horizontal'){
200
+				if ($args['label_type'] == 'horizontal') {
201 201
 					$output = '<div class="col-sm-2 col-form-label"></div><div class="col-sm-10">' . $output . '</div>';
202 202
 				}
203
-			}elseif($type == 'password' && $args['password_toggle'] && !$args['input_group_right']){
203
+			}elseif ($type == 'password' && $args['password_toggle'] && !$args['input_group_right']) {
204 204
 
205 205
 
206 206
 				// allow password field to toggle view
@@ -214,48 +214,48 @@  discard block
 block discarded – undo
214 214
 			}
215 215
 
216 216
 			// input group wraps
217
-			if($args['input_group_left'] || $args['input_group_right']){
217
+			if ($args['input_group_left'] || $args['input_group_right']) {
218 218
 				$w100 = strpos($args['class'], 'w-100') !== false ? ' w-100' : '';
219
-				if($args['input_group_left']){
220
-					$output = self::wrap( array(
219
+				if ($args['input_group_left']) {
220
+					$output = self::wrap(array(
221 221
 						'content' => $output,
222
-						'class'   => $args['input_group_left_inside'] ? 'input-group-inside position-relative'.$w100  : 'input-group',
222
+						'class'   => $args['input_group_left_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
223 223
 						'input_group_left' => $args['input_group_left'],
224 224
 						'input_group_left_inside'    => $args['input_group_left_inside']
225
-					) );
225
+					));
226 226
 				}
227
-				if($args['input_group_right']){
228
-					$output = self::wrap( array(
227
+				if ($args['input_group_right']) {
228
+					$output = self::wrap(array(
229 229
 						'content' => $output,
230
-						'class'   => $args['input_group_right_inside'] ? 'input-group-inside position-relative'.$w100 : 'input-group',
230
+						'class'   => $args['input_group_right_inside'] ? 'input-group-inside position-relative' . $w100 : 'input-group',
231 231
 						'input_group_right' => $args['input_group_right'],
232 232
 						'input_group_right_inside'    => $args['input_group_right_inside']
233
-					) );
233
+					));
234 234
 				}
235 235
 
236 236
 			}
237 237
 
238
-			if(!$label_after){
238
+			if (!$label_after) {
239 239
 				$output .= $help_text;
240 240
 			}
241 241
 
242 242
 
243
-			if($args['label_type']=='horizontal' && $type != 'checkbox'){
244
-				$output = self::wrap( array(
243
+			if ($args['label_type'] == 'horizontal' && $type != 'checkbox') {
244
+				$output = self::wrap(array(
245 245
 					'content' => $output,
246 246
 					'class'   => 'col-sm-10',
247
-				) );
247
+				));
248 248
 			}
249 249
 
250
-			if(!$label_after){
250
+			if (!$label_after) {
251 251
 				$output = $label . $output;
252 252
 			}
253 253
 
254 254
 			// wrap
255
-			if ( ! $args['no_wrap'] ) {
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;
255
+			if (!$args['no_wrap']) {
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,
@@ -276,7 +276,7 @@  discard block
 block discarded – undo
276 276
 	 *
277 277
 	 * @return string The rendered component.
278 278
 	 */
279
-	public static function textarea($args = array()){
279
+	public static function textarea($args = array()) {
280 280
 		$defaults = array(
281 281
 			'name'       => '',
282 282
 			'class'      => '',
@@ -305,43 +305,43 @@  discard block
 block discarded – undo
305 305
 		/**
306 306
 		 * Parse incoming $args into an array and merge it with $defaults
307 307
 		 */
308
-		$args   = wp_parse_args( $args, $defaults );
308
+		$args   = wp_parse_args($args, $defaults);
309 309
 		$output = '';
310 310
 
311 311
 		// hidden label option needs to be empty
312 312
 		$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
313 313
 
314 314
 		// floating labels don't work with wysiwyg so set it as top
315
-		if($args['label_type'] == 'floating' && !empty($args['wysiwyg'])){
315
+		if ($args['label_type'] == 'floating' && !empty($args['wysiwyg'])) {
316 316
 			$args['label_type'] = 'top';
317 317
 		}
318 318
 
319 319
 		$label_after = $args['label_after'];
320 320
 
321 321
 		// floating labels need label after
322
-		if( $args['label_type'] == 'floating' && empty($args['wysiwyg']) ){
322
+		if ($args['label_type'] == 'floating' && empty($args['wysiwyg'])) {
323 323
 			$label_after = true;
324 324
 			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
325 325
 		}
326 326
 
327 327
 		// label
328
-		if(!empty($args['label']) && is_array($args['label'])){
329
-		}elseif(!empty($args['label']) && !$label_after){
328
+		if (!empty($args['label']) && is_array($args['label'])) {
329
+		}elseif (!empty($args['label']) && !$label_after) {
330 330
 			$label_args = array(
331 331
 				'title'=> $args['label'],
332 332
 				'for'=> $args['id'],
333
-				'class' => $args['label_class']." ",
333
+				'class' => $args['label_class'] . " ",
334 334
 				'label_type' => $args['label_type']
335 335
 			);
336
-			$output .= self::label( $label_args );
336
+			$output .= self::label($label_args);
337 337
 		}
338 338
 
339 339
 		// maybe horizontal label
340
-		if($args['label_type']=='horizontal'){
340
+		if ($args['label_type'] == 'horizontal') {
341 341
 			$output .= '<div class="col-sm-10">';
342 342
 		}
343 343
 
344
-		if(!empty($args['wysiwyg'])){
344
+		if (!empty($args['wysiwyg'])) {
345 345
 			ob_start();
346 346
 			$content = $args['value'];
347 347
 			$editor_id = !empty($args['id']) ? sanitize_html_class($args['id']) : 'wp_editor';
@@ -355,65 +355,65 @@  discard block
 block discarded – undo
355 355
 			);
356 356
 
357 357
 			// maybe set settings if array
358
-			if(is_array($args['wysiwyg'])){
359
-				$settings  = wp_parse_args( $args['wysiwyg'], $settings );
358
+			if (is_array($args['wysiwyg'])) {
359
+				$settings = wp_parse_args($args['wysiwyg'], $settings);
360 360
 			}
361 361
 
362
-			wp_editor( $content, $editor_id, $settings );
362
+			wp_editor($content, $editor_id, $settings);
363 363
 			$output .= ob_get_clean();
364
-		}else{
364
+		} else {
365 365
 
366 366
 			// open
367 367
 			$output .= '<textarea ';
368 368
 
369 369
 			// name
370
-			if(!empty($args['name'])){
371
-				$output .= ' name="'.esc_attr($args['name']).'" ';
370
+			if (!empty($args['name'])) {
371
+				$output .= ' name="' . esc_attr($args['name']) . '" ';
372 372
 			}
373 373
 
374 374
 			// id
375
-			if(!empty($args['id'])){
376
-				$output .= ' id="'.sanitize_html_class($args['id']).'" ';
375
+			if (!empty($args['id'])) {
376
+				$output .= ' id="' . sanitize_html_class($args['id']) . '" ';
377 377
 			}
378 378
 
379 379
 			// placeholder
380
-			if(isset($args['placeholder']) && '' != $args['placeholder']){
381
-				$output .= ' placeholder="'.esc_attr($args['placeholder']).'" ';
380
+			if (isset($args['placeholder']) && '' != $args['placeholder']) {
381
+				$output .= ' placeholder="' . esc_attr($args['placeholder']) . '" ';
382 382
 			}
383 383
 
384 384
 			// title
385
-			if(!empty($args['title'])){
386
-				$output .= ' title="'.esc_attr($args['title']).'" ';
385
+			if (!empty($args['title'])) {
386
+				$output .= ' title="' . esc_attr($args['title']) . '" ';
387 387
 			}
388 388
 
389 389
 			// validation text
390
-			if(!empty($args['validation_text'])){
391
-				$output .= ' oninvalid="setCustomValidity(\''.esc_attr($args['validation_text']).'\')" ';
390
+			if (!empty($args['validation_text'])) {
391
+				$output .= ' oninvalid="setCustomValidity(\'' . esc_attr($args['validation_text']) . '\')" ';
392 392
 				$output .= ' onchange="try{setCustomValidity(\'\')}catch(e){}" ';
393 393
 			}
394 394
 
395 395
 			// validation_pattern
396
-			if(!empty($args['validation_pattern'])){
397
-				$output .= ' pattern="' . esc_attr( $args['validation_pattern'] ) . '" ';
396
+			if (!empty($args['validation_pattern'])) {
397
+				$output .= ' pattern="' . esc_attr($args['validation_pattern']) . '" ';
398 398
 			}
399 399
 
400 400
 			// required
401
-			if(!empty($args['required'])){
401
+			if (!empty($args['required'])) {
402 402
 				$output .= ' required ';
403 403
 			}
404 404
 
405 405
 			// rows
406
-			if(!empty($args['rows'])){
407
-				$output .= ' rows="'.absint($args['rows']).'" ';
406
+			if (!empty($args['rows'])) {
407
+				$output .= ' rows="' . absint($args['rows']) . '" ';
408 408
 			}
409 409
 
410 410
 
411 411
 			// class
412 412
 			$class = !empty($args['class']) ? $args['class'] : '';
413
-			$output .= ' class="form-control '.$class.'" ';
413
+			$output .= ' class="form-control ' . $class . '" ';
414 414
 
415 415
 			// extra attributes
416
-			if(!empty($args['extra_attributes'])){
416
+			if (!empty($args['extra_attributes'])) {
417 417
 				$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
418 418
 			}
419 419
 
@@ -421,11 +421,11 @@  discard block
 block discarded – undo
421 421
 			$output .= ' >';
422 422
 
423 423
 			// value
424
-			if ( ! empty( $args['value'] ) ) {
425
-				if ( ! empty( $args['allow_tags'] ) ) {
426
-					$output .= AUI_Component_Helper::sanitize_html_field( $args['value'], $args ); // Sanitize HTML.
424
+			if (!empty($args['value'])) {
425
+				if (!empty($args['allow_tags'])) {
426
+					$output .= AUI_Component_Helper::sanitize_html_field($args['value'], $args); // Sanitize HTML.
427 427
 				} else {
428
-					$output .= sanitize_textarea_field( $args['value'] );
428
+					$output .= sanitize_textarea_field($args['value']);
429 429
 				}
430 430
 			}
431 431
 
@@ -434,32 +434,32 @@  discard block
 block discarded – undo
434 434
 
435 435
 		}
436 436
 
437
-		if(!empty($args['label']) && $label_after){
437
+		if (!empty($args['label']) && $label_after) {
438 438
 			$label_args = array(
439 439
 				'title'=> $args['label'],
440 440
 				'for'=> $args['id'],
441
-				'class' => $args['label_class']." ",
441
+				'class' => $args['label_class'] . " ",
442 442
 				'label_type' => $args['label_type']
443 443
 			);
444
-			$output .= self::label( $label_args );
444
+			$output .= self::label($label_args);
445 445
 		}
446 446
 
447 447
 		// help text
448
-		if(!empty($args['help_text'])){
448
+		if (!empty($args['help_text'])) {
449 449
 			$output .= AUI_Component_Helper::help_text($args['help_text']);
450 450
 		}
451 451
 
452 452
 		// maybe horizontal label
453
-		if($args['label_type']=='horizontal'){
453
+		if ($args['label_type'] == 'horizontal') {
454 454
 			$output .= '</div>';
455 455
 		}
456 456
 
457 457
 
458 458
 		// wrap
459
-		if(!$args['no_wrap']){
460
-			$form_group_class = $args['label_type']=='floating' ? 'form-label-group' : 'form-group';
461
-			$wrap_class = $args['label_type']=='horizontal' ? $form_group_class . ' row' : $form_group_class;
462
-			$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
459
+		if (!$args['no_wrap']) {
460
+			$form_group_class = $args['label_type'] == 'floating' ? 'form-label-group' : 'form-group';
461
+			$wrap_class = $args['label_type'] == 'horizontal' ? $form_group_class . ' row' : $form_group_class;
462
+			$wrap_class = !empty($args['wrap_class']) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
463 463
 			$output = self::wrap(array(
464 464
 				'content' => $output,
465 465
 				'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="'.esc_attr($args['for']).'" ';
509
+			if (!empty($args['for'])) {
510
+				$output .= ' for="' . esc_attr($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',
@@ -557,31 +557,31 @@  discard block
 block discarded – undo
557 557
 		/**
558 558
 		 * Parse incoming $args into an array and merge it with $defaults
559 559
 		 */
560
-		$args   = wp_parse_args( $args, $defaults );
560
+		$args   = wp_parse_args($args, $defaults);
561 561
 		$output = '';
562
-		if($args['type']){
562
+		if ($args['type']) {
563 563
 
564 564
 			// open
565
-			$output .= '<'.sanitize_html_class($args['type']);
565
+			$output .= '<' . sanitize_html_class($args['type']);
566 566
 
567 567
 			// element require
568
-			if(!empty($args['element_require'])){
568
+			if (!empty($args['element_require'])) {
569 569
 				$output .= AUI_Component_Helper::element_require($args['element_require']);
570 570
 				$args['class'] .= " aui-conditional-field";
571 571
 			}
572 572
 
573 573
 			// argument_id
574
-			if( !empty($args['argument_id']) ){
575
-				$output .= ' data-argument="'.esc_attr($args['argument_id']).'"';
574
+			if (!empty($args['argument_id'])) {
575
+				$output .= ' data-argument="' . esc_attr($args['argument_id']) . '"';
576 576
 			}
577 577
 
578 578
 			// class
579
-			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes( $args['class'] ) : '';
580
-			$output .= ' class="'.$class.'" ';
579
+			$class = !empty($args['class']) ? AUI_Component_Helper::esc_classes($args['class']) : '';
580
+			$output .= ' class="' . $class . '" ';
581 581
 
582 582
 			// Attributes
583
-			if ( ! empty( $args['wrap_attributes'] ) ) {
584
-				$output .= AUI_Component_Helper::extra_attributes( $args['wrap_attributes'] );
583
+			if (!empty($args['wrap_attributes'])) {
584
+				$output .= AUI_Component_Helper::extra_attributes($args['wrap_attributes']);
585 585
 			}
586 586
 
587 587
 			// close wrap
@@ -589,28 +589,28 @@  discard block
 block discarded – undo
589 589
 
590 590
 
591 591
 			// Input group left
592
-			if(!empty($args['input_group_left'])){
592
+			if (!empty($args['input_group_left'])) {
593 593
 				$position_class = !empty($args['input_group_left_inside']) ? 'position-absolute h-100' : '';
594
-				$input_group_left = strpos($args['input_group_left'], '<') !== false ? $args['input_group_left'] : '<span class="input-group-text">'.$args['input_group_left'].'</span>';
595
-				$output .= '<div class="input-group-prepend '.$position_class.'">'.$input_group_left.'</div>';
594
+				$input_group_left = strpos($args['input_group_left'], '<') !== false ? $args['input_group_left'] : '<span class="input-group-text">' . $args['input_group_left'] . '</span>';
595
+				$output .= '<div class="input-group-prepend ' . $position_class . '">' . $input_group_left . '</div>';
596 596
 			}
597 597
 
598 598
 			// content
599 599
 			$output .= $args['content'];
600 600
 
601 601
 			// Input group right
602
-			if(!empty($args['input_group_right'])){
602
+			if (!empty($args['input_group_right'])) {
603 603
 				$position_class = !empty($args['input_group_left_inside']) ? 'position-absolute h-100' : '';
604
-				$input_group_right = strpos($args['input_group_right'], '<') !== false ? $args['input_group_right'] : '<span class="input-group-text">'.$args['input_group_right'].'</span>';
605
-				$output .= '<div class="input-group-append '.$position_class.'">'.$input_group_right.'</div>';
604
+				$input_group_right = strpos($args['input_group_right'], '<') !== false ? $args['input_group_right'] : '<span class="input-group-text">' . $args['input_group_right'] . '</span>';
605
+				$output .= '<div class="input-group-append ' . $position_class . '">' . $input_group_right . '</div>';
606 606
 			}
607 607
 
608 608
 
609 609
 			// close wrap
610
-			$output .= '</'.sanitize_html_class($args['type']).'>';
610
+			$output .= '</' . sanitize_html_class($args['type']) . '>';
611 611
 
612 612
 
613
-		}else{
613
+		} else {
614 614
 			$output = $args['content'];
615 615
 		}
616 616
 
@@ -624,7 +624,7 @@  discard block
 block discarded – undo
624 624
 	 *
625 625
 	 * @return string The rendered component.
626 626
 	 */
627
-	public static function select($args = array()){
627
+	public static function select($args = array()) {
628 628
 		$defaults = array(
629 629
 			'class'      => '',
630 630
 			'wrap_class' => '',
@@ -651,11 +651,11 @@  discard block
 block discarded – undo
651 651
 		/**
652 652
 		 * Parse incoming $args into an array and merge it with $defaults
653 653
 		 */
654
-		$args   = wp_parse_args( $args, $defaults );
654
+		$args   = wp_parse_args($args, $defaults);
655 655
 		$output = '';
656 656
 
657 657
 		// for now lets hide floating labels
658
-		if( $args['label_type'] == 'floating' ){$args['label_type'] = 'hidden';}
658
+		if ($args['label_type'] == 'floating') {$args['label_type'] = 'hidden'; }
659 659
 
660 660
 		// hidden label option needs to be empty
661 661
 		$args['label_type'] = $args['label_type'] == 'hidden' ? '' : $args['label_type'];
@@ -664,85 +664,85 @@  discard block
 block discarded – undo
664 664
 		$label_after = $args['label_after'];
665 665
 
666 666
 		// floating labels need label after
667
-		if( $args['label_type'] == 'floating' ){
667
+		if ($args['label_type'] == 'floating') {
668 668
 			$label_after = true;
669 669
 			$args['placeholder'] = ' '; // set the placeholder not empty so the floating label works.
670 670
 		}
671 671
 
672 672
 		// Maybe setup select2
673 673
 		$is_select2 = false;
674
-		if(!empty($args['select2'])){
674
+		if (!empty($args['select2'])) {
675 675
 			$args['class'] .= ' aui-select2';
676 676
 			$is_select2 = true;
677
-		}elseif( strpos($args['class'], 'aui-select2') !== false){
677
+		}elseif (strpos($args['class'], 'aui-select2') !== false) {
678 678
 			$is_select2 = true;
679 679
 		}
680 680
 
681 681
 		// select2 tags
682
-		if( !empty($args['select2']) && $args['select2'] === 'tags'){ // triple equals needed here for some reason
682
+		if (!empty($args['select2']) && $args['select2'] === 'tags') { // triple equals needed here for some reason
683 683
 			$args['data-tags'] = 'true';
684 684
 			$args['data-token-separators'] = "[',']";
685 685
 			$args['multiple'] = true;
686 686
 		}
687 687
 
688 688
 		// select2 placeholder
689
-		if($is_select2 && isset($args['placeholder']) && '' != $args['placeholder'] && empty($args['data-placeholder'])){
689
+		if ($is_select2 && isset($args['placeholder']) && '' != $args['placeholder'] && empty($args['data-placeholder'])) {
690 690
 			$args['data-placeholder'] = esc_attr($args['placeholder']);
691 691
 			$args['data-allow-clear'] = isset($args['data-allow-clear']) ? (bool) $args['data-allow-clear'] : true;
692 692
 		}
693 693
 
694 694
 		// label
695
-		if(!empty($args['label']) && is_array($args['label'])){
696
-		}elseif(!empty($args['label']) && !$label_after){
695
+		if (!empty($args['label']) && is_array($args['label'])) {
696
+		}elseif (!empty($args['label']) && !$label_after) {
697 697
 			$label_args = array(
698 698
 				'title'=> $args['label'],
699 699
 				'for'=> $args['id'],
700
-				'class' => $args['label_class']." ",
700
+				'class' => $args['label_class'] . " ",
701 701
 				'label_type' => $args['label_type']
702 702
 			);
703 703
 			$output .= self::label($label_args);
704 704
 		}
705 705
 
706 706
 		// maybe horizontal label
707
-		if($args['label_type']=='horizontal'){
707
+		if ($args['label_type'] == 'horizontal') {
708 708
 			$output .= '<div class="col-sm-10">';
709 709
 		}
710 710
 
711 711
 		// Set hidden input to save empty value for multiselect.
712
-		if ( ! empty( $args['multiple'] ) && ! empty( $args['name'] ) ) {
713
-			$output .= '<input type="hidden" ' . AUI_Component_Helper::name( $args['name'] ) . ' value=""/>';
712
+		if (!empty($args['multiple']) && !empty($args['name'])) {
713
+			$output .= '<input type="hidden" ' . AUI_Component_Helper::name($args['name']) . ' value=""/>';
714 714
 		}
715 715
 
716 716
 		// open/type
717 717
 		$output .= '<select ';
718 718
 
719 719
 		// style
720
-		if($is_select2){
720
+		if ($is_select2) {
721 721
 			$output .= " style='width:100%;' ";
722 722
 		}
723 723
 
724 724
 		// element require
725
-		if(!empty($args['element_require'])){
725
+		if (!empty($args['element_require'])) {
726 726
 			$output .= AUI_Component_Helper::element_require($args['element_require']);
727 727
 			$args['class'] .= " aui-conditional-field";
728 728
 		}
729 729
 
730 730
 		// class
731 731
 		$class = !empty($args['class']) ? $args['class'] : '';
732
-		$output .= AUI_Component_Helper::class_attr('custom-select '.$class);
732
+		$output .= AUI_Component_Helper::class_attr('custom-select ' . $class);
733 733
 
734 734
 		// name
735
-		if(!empty($args['name'])){
736
-			$output .= AUI_Component_Helper::name($args['name'],$args['multiple']);
735
+		if (!empty($args['name'])) {
736
+			$output .= AUI_Component_Helper::name($args['name'], $args['multiple']);
737 737
 		}
738 738
 
739 739
 		// id
740
-		if(!empty($args['id'])){
740
+		if (!empty($args['id'])) {
741 741
 			$output .= AUI_Component_Helper::id($args['id']);
742 742
 		}
743 743
 
744 744
 		// title
745
-		if(!empty($args['title'])){
745
+		if (!empty($args['title'])) {
746 746
 			$output .= AUI_Component_Helper::title($args['title']);
747 747
 		}
748 748
 
@@ -753,17 +753,17 @@  discard block
 block discarded – undo
753 753
 		$output .= AUI_Component_Helper::aria_attributes($args);
754 754
 
755 755
 		// extra attributes
756
-		if(!empty($args['extra_attributes'])){
756
+		if (!empty($args['extra_attributes'])) {
757 757
 			$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
758 758
 		}
759 759
 
760 760
 		// required
761
-		if(!empty($args['required'])){
761
+		if (!empty($args['required'])) {
762 762
 			$output .= ' required ';
763 763
 		}
764 764
 
765 765
 		// multiple
766
-		if(!empty($args['multiple'])){
766
+		if (!empty($args['multiple'])) {
767 767
 			$output .= ' multiple ';
768 768
 		}
769 769
 
@@ -771,21 +771,21 @@  discard block
 block discarded – undo
771 771
 		$output .= ' >';
772 772
 
773 773
 		// placeholder
774
-		if(isset($args['placeholder']) && '' != $args['placeholder'] && !$is_select2){
775
-			$output .= '<option value="" disabled selected hidden>'.esc_attr($args['placeholder']).'</option>';
776
-		}elseif($is_select2 && !empty($args['placeholder'])){
774
+		if (isset($args['placeholder']) && '' != $args['placeholder'] && !$is_select2) {
775
+			$output .= '<option value="" disabled selected hidden>' . esc_attr($args['placeholder']) . '</option>';
776
+		}elseif ($is_select2 && !empty($args['placeholder'])) {
777 777
 			$output .= "<option></option>"; // select2 needs an empty select to fill the placeholder
778 778
 		}
779 779
 
780 780
 		// Options
781
-		if(!empty($args['options'])){
781
+		if (!empty($args['options'])) {
782 782
 
783
-			if(!is_array($args['options'])){
783
+			if (!is_array($args['options'])) {
784 784
 				$output .= $args['options']; // not the preferred way but an option
785
-			}else{
786
-				foreach($args['options'] as $val => $name){
785
+			} else {
786
+				foreach ($args['options'] as $val => $name) {
787 787
 					$selected = '';
788
-					if(is_array($name)){
788
+					if (is_array($name)) {
789 789
 						if (isset($name['optgroup']) && ($name['optgroup'] == 'start' || $name['optgroup'] == 'end')) {
790 790
 							$option_label = isset($name['label']) ? $name['label'] : '';
791 791
 
@@ -793,23 +793,23 @@  discard block
 block discarded – undo
793 793
 						} else {
794 794
 							$option_label = isset($name['label']) ? $name['label'] : '';
795 795
 							$option_value = isset($name['value']) ? $name['value'] : '';
796
-							if(!empty($args['multiple']) && !empty($args['value']) && is_array($args['value']) ){
796
+							if (!empty($args['multiple']) && !empty($args['value']) && is_array($args['value'])) {
797 797
 								$selected = in_array($option_value, stripslashes_deep($args['value'])) ? "selected" : "";
798
-							} elseif(!empty($args['value'])) {
799
-								$selected = selected($option_value,stripslashes_deep($args['value']), false);
798
+							} elseif (!empty($args['value'])) {
799
+								$selected = selected($option_value, stripslashes_deep($args['value']), false);
800 800
 							}
801 801
 
802 802
 							$output .= '<option value="' . esc_attr($option_value) . '" ' . $selected . '>' . $option_label . '</option>';
803 803
 						}
804
-					}else{
805
-						if(!empty($args['value'])){
806
-							if(is_array($args['value'])){
807
-								$selected = in_array($val,$args['value']) ? 'selected="selected"' : '';
808
-							} elseif(!empty($args['value'])) {
809
-								$selected = selected( $args['value'], $val, false);
804
+					} else {
805
+						if (!empty($args['value'])) {
806
+							if (is_array($args['value'])) {
807
+								$selected = in_array($val, $args['value']) ? 'selected="selected"' : '';
808
+							} elseif (!empty($args['value'])) {
809
+								$selected = selected($args['value'], $val, false);
810 810
 							}
811 811
 						}
812
-						$output .= '<option value="'.esc_attr($val).'" '.$selected.'>'.esc_attr($name).'</option>';
812
+						$output .= '<option value="' . esc_attr($val) . '" ' . $selected . '>' . esc_attr($name) . '</option>';
813 813
 					}
814 814
 				}
815 815
 			}
@@ -819,31 +819,31 @@  discard block
 block discarded – undo
819 819
 		// closing tag
820 820
 		$output .= '</select>';
821 821
 
822
-		if(!empty($args['label']) && $label_after){
822
+		if (!empty($args['label']) && $label_after) {
823 823
 			$label_args = array(
824 824
 				'title'=> $args['label'],
825 825
 				'for'=> $args['id'],
826
-				'class' => $args['label_class']." ",
826
+				'class' => $args['label_class'] . " ",
827 827
 				'label_type' => $args['label_type']
828 828
 			);
829 829
 			$output .= self::label($label_args);
830 830
 		}
831 831
 
832 832
 		// help text
833
-		if(!empty($args['help_text'])){
833
+		if (!empty($args['help_text'])) {
834 834
 			$output .= AUI_Component_Helper::help_text($args['help_text']);
835 835
 		}
836 836
 
837 837
 		// maybe horizontal label
838
-		if($args['label_type']=='horizontal'){
838
+		if ($args['label_type'] == 'horizontal') {
839 839
 			$output .= '</div>';
840 840
 		}
841 841
 
842 842
 
843 843
 		// wrap
844
-		if(!$args['no_wrap']){
845
-			$wrap_class = $args['label_type']=='horizontal' ? 'form-group row' : 'form-group';
846
-			$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
844
+		if (!$args['no_wrap']) {
845
+			$wrap_class = $args['label_type'] == 'horizontal' ? 'form-group row' : 'form-group';
846
+			$wrap_class = !empty($args['wrap_class']) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
847 847
 			$output = self::wrap(array(
848 848
 				'content' => $output,
849 849
 				'class'   => $wrap_class,
@@ -864,7 +864,7 @@  discard block
 block discarded – undo
864 864
 	 *
865 865
 	 * @return string The rendered component.
866 866
 	 */
867
-	public static function radio($args = array()){
867
+	public static function radio($args = array()) {
868 868
 		$defaults = array(
869 869
 			'class'      => '',
870 870
 			'wrap_class' => '',
@@ -889,14 +889,14 @@  discard block
 block discarded – undo
889 889
 		/**
890 890
 		 * Parse incoming $args into an array and merge it with $defaults
891 891
 		 */
892
-		$args   = wp_parse_args( $args, $defaults );
892
+		$args = wp_parse_args($args, $defaults);
893 893
 
894 894
 		// for now lets use horizontal for floating
895
-		if( $args['label_type'] == 'floating' ){$args['label_type'] = 'horizontal';}
895
+		if ($args['label_type'] == 'floating') {$args['label_type'] = 'horizontal'; }
896 896
 
897 897
 		$label_args = array(
898 898
 			'title'=> $args['label'],
899
-			'class' => $args['label_class']." pt-0 ",
899
+			'class' => $args['label_class'] . " pt-0 ",
900 900
 			'label_type' => $args['label_type']
901 901
 		);
902 902
 
@@ -905,39 +905,39 @@  discard block
 block discarded – undo
905 905
 
906 906
 
907 907
 		// label before
908
-		if(!empty($args['label'])){
909
-			$output .= self::label( $label_args, 'radio' );
908
+		if (!empty($args['label'])) {
909
+			$output .= self::label($label_args, 'radio');
910 910
 		}
911 911
 
912 912
 		// maybe horizontal label
913
-		if($args['label_type']=='horizontal'){
913
+		if ($args['label_type'] == 'horizontal') {
914 914
 			$output .= '<div class="col-sm-10">';
915 915
 		}
916 916
 
917
-		if(!empty($args['options'])){
917
+		if (!empty($args['options'])) {
918 918
 			$count = 0;
919
-			foreach($args['options'] as $value => $label){
919
+			foreach ($args['options'] as $value => $label) {
920 920
 				$option_args = $args;
921 921
 				$option_args['value'] = $value;
922 922
 				$option_args['label'] = $label;
923 923
 				$option_args['checked'] = $value == $args['value'] ? true : false;
924
-				$output .= self::radio_option($option_args,$count);
924
+				$output .= self::radio_option($option_args, $count);
925 925
 				$count++;
926 926
 			}
927 927
 		}
928 928
 
929 929
 		// help text
930
-		$help_text = ! empty( $args['help_text'] ) ? AUI_Component_Helper::help_text( $args['help_text'] ) : '';
930
+		$help_text = !empty($args['help_text']) ? AUI_Component_Helper::help_text($args['help_text']) : '';
931 931
 		$output .= $help_text;
932 932
 
933 933
 		// maybe horizontal label
934
-		if($args['label_type']=='horizontal'){
934
+		if ($args['label_type'] == 'horizontal') {
935 935
 			$output .= '</div>';
936 936
 		}
937 937
 
938 938
 		// wrap
939
-		$wrap_class = $args['label_type']=='horizontal' ? 'form-group row' : 'form-group';
940
-		$wrap_class = !empty($args['wrap_class']) ? $wrap_class." ".$args['wrap_class'] : $wrap_class;
939
+		$wrap_class = $args['label_type'] == 'horizontal' ? 'form-group row' : 'form-group';
940
+		$wrap_class = !empty($args['wrap_class']) ? $wrap_class . " " . $args['wrap_class'] : $wrap_class;
941 941
 		$output = self::wrap(array(
942 942
 			'content' => $output,
943 943
 			'class'   => $wrap_class,
@@ -957,7 +957,7 @@  discard block
 block discarded – undo
957 957
 	 *
958 958
 	 * @return string The rendered component.
959 959
 	 */
960
-	public static function radio_option($args = array(),$count = ''){
960
+	public static function radio_option($args = array(), $count = '') {
961 961
 		$defaults = array(
962 962
 			'class'      => '',
963 963
 			'id'         => '',
@@ -975,7 +975,7 @@  discard block
 block discarded – undo
975 975
 		/**
976 976
 		 * Parse incoming $args into an array and merge it with $defaults
977 977
 		 */
978
-		$args   = wp_parse_args( $args, $defaults );
978
+		$args   = wp_parse_args($args, $defaults);
979 979
 
980 980
 		$output = '';
981 981
 
@@ -986,27 +986,27 @@  discard block
 block discarded – undo
986 986
 		$output .= ' class="form-check-input" ';
987 987
 
988 988
 		// name
989
-		if(!empty($args['name'])){
989
+		if (!empty($args['name'])) {
990 990
 			$output .= AUI_Component_Helper::name($args['name']);
991 991
 		}
992 992
 
993 993
 		// id
994
-		if(!empty($args['id'])){
995
-			$output .= AUI_Component_Helper::id($args['id'].$count);
994
+		if (!empty($args['id'])) {
995
+			$output .= AUI_Component_Helper::id($args['id'] . $count);
996 996
 		}
997 997
 
998 998
 		// title
999
-		if(!empty($args['title'])){
999
+		if (!empty($args['title'])) {
1000 1000
 			$output .= AUI_Component_Helper::title($args['title']);
1001 1001
 		}
1002 1002
 
1003 1003
 		// value
1004
-		if(isset($args['value'])){
1004
+		if (isset($args['value'])) {
1005 1005
 			$output .= AUI_Component_Helper::value($args['value']);
1006 1006
 		}
1007 1007
 
1008 1008
 		// checked, for radio and checkboxes
1009
-		if( $args['checked'] ){
1009
+		if ($args['checked']) {
1010 1010
 			$output .= ' checked ';
1011 1011
 		}
1012 1012
 
@@ -1017,12 +1017,12 @@  discard block
 block discarded – undo
1017 1017
 		$output .= AUI_Component_Helper::aria_attributes($args);
1018 1018
 
1019 1019
 		// extra attributes
1020
-		if(!empty($args['extra_attributes'])){
1020
+		if (!empty($args['extra_attributes'])) {
1021 1021
 			$output .= AUI_Component_Helper::extra_attributes($args['extra_attributes']);
1022 1022
 		}
1023 1023
 
1024 1024
 		// required
1025
-		if(!empty($args['required'])){
1025
+		if (!empty($args['required'])) {
1026 1026
 			$output .= ' required ';
1027 1027
 		}
1028 1028
 
@@ -1030,29 +1030,29 @@  discard block
 block discarded – undo
1030 1030
 		$output .= ' >';
1031 1031
 
1032 1032
 		// label
1033
-		if(!empty($args['label']) && is_array($args['label'])){
1034
-		}elseif(!empty($args['label'])){
1035
-			$output .= self::label(array('title'=>$args['label'],'for'=>$args['id'].$count,'class'=>'form-check-label'),'radio');
1033
+		if (!empty($args['label']) && is_array($args['label'])) {
1034
+		}elseif (!empty($args['label'])) {
1035
+			$output .= self::label(array('title'=>$args['label'], 'for'=>$args['id'] . $count, 'class'=>'form-check-label'), 'radio');
1036 1036
 		}
1037 1037
 
1038 1038
 		// wrap
1039
-		if ( ! $args['no_wrap'] ) {
1039
+		if (!$args['no_wrap']) {
1040 1040
 			$wrap_class = $args['inline'] ? 'form-check form-check-inline' : 'form-check';
1041 1041
 
1042 1042
 			// Unique wrap class
1043 1043
 			$uniq_class = 'fwrap';
1044
-			if ( ! empty( $args['name'] ) ) {
1044
+			if (!empty($args['name'])) {
1045 1045
 				$uniq_class .= '-' . $args['name'];
1046
-			} else if ( ! empty( $args['id'] ) ) {
1046
+			} else if (!empty($args['id'])) {
1047 1047
 				$uniq_class .= '-' . $args['id'];
1048 1048
 			}
1049 1049
 
1050
-			if ( isset( $args['value'] ) || $args['value'] !== "" ) {
1050
+			if (isset($args['value']) || $args['value'] !== "") {
1051 1051
 				$uniq_class .= '-' . $args['value'];
1052 1052
 			} else {
1053 1053
 				$uniq_class .= '-' . $count;
1054 1054
 			}
1055
-			$wrap_class .= ' ' . sanitize_html_class( $uniq_class );
1055
+			$wrap_class .= ' ' . sanitize_html_class($uniq_class);
1056 1056
 
1057 1057
 			$output = self::wrap(array(
1058 1058
 				'content' => $output,
Please login to merge, or discard this patch.
includes/wpinv-template-functions.php 3 patches
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.
Indentation   +103 added lines, -103 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
 
@@ -821,21 +821,21 @@  discard block
 block discarded – undo
821 821
 
822 822
     $formatted_address = str_ireplace( array_keys( $replacements ), $replacements, $format );
823 823
     
824
-	// Remove unavailable tags.
824
+    // Remove unavailable tags.
825 825
     $formatted_address = preg_replace( "/\{\{\w+\}\}/", '', $formatted_address );
826 826
 
827 827
     // Clean up white space.
828
-	$formatted_address = preg_replace( '/  +/', ' ', trim( $formatted_address ) );
828
+    $formatted_address = preg_replace( '/  +/', ' ', trim( $formatted_address ) );
829 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
-	// We're done!
838
-	return $formatted_address;
837
+    // We're done!
838
+    return $formatted_address;
839 839
     
840 840
 }
841 841
 
@@ -881,7 +881,7 @@  discard block
 block discarded – undo
881 881
 function getpaid_display_invoice_subscriptions( $invoice ) {
882 882
 
883 883
     // Subscriptions.
884
-	$subscriptions = getpaid_get_invoice_subscriptions( $invoice );
884
+    $subscriptions = getpaid_get_invoice_subscriptions( $invoice );
885 885
 
886 886
     if ( empty( $subscriptions ) || ! $invoice->is_recurring() ) {
887 887
         return;
@@ -1089,7 +1089,7 @@  discard block
 block discarded – undo
1089 1089
 }
1090 1090
 
1091 1091
 function wpinv_empty_cart_message() {
1092
-	return apply_filters( 'wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __( 'Your cart is empty.', 'invoicing' ) . '</span>' );
1092
+    return apply_filters( 'wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __( 'Your cart is empty.', 'invoicing' ) . '</span>' );
1093 1093
 }
1094 1094
 
1095 1095
 /**
@@ -1281,10 +1281,10 @@  discard block
 block discarded – undo
1281 1281
 
1282 1282
     if ( 0 == count( $form->get_items() ) ) {
1283 1283
         echo aui()->alert(
1284
-			array(
1285
-				'type'    => 'warning',
1286
-				'content' => __( 'No published items found', 'invoicing' ),
1287
-			)
1284
+            array(
1285
+                'type'    => 'warning',
1286
+                'content' => __( 'No published items found', 'invoicing' ),
1287
+            )
1288 1288
         );
1289 1289
         return;
1290 1290
     }
@@ -1302,21 +1302,21 @@  discard block
 block discarded – undo
1302 1302
     $invoice = wpinv_get_invoice( $invoice_id );
1303 1303
 
1304 1304
     if ( empty( $invoice ) ) {
1305
-		echo aui()->alert(
1306
-			array(
1307
-				'type'    => 'warning',
1308
-				'content' => __( 'Invoice not found', 'invoicing' ),
1309
-			)
1305
+        echo aui()->alert(
1306
+            array(
1307
+                'type'    => 'warning',
1308
+                'content' => __( 'Invoice not found', 'invoicing' ),
1309
+            )
1310 1310
         );
1311 1311
         return;
1312 1312
     }
1313 1313
 
1314 1314
     if ( $invoice->is_paid() ) {
1315
-		echo aui()->alert(
1316
-			array(
1317
-				'type'    => 'warning',
1318
-				'content' => __( 'Invoice has already been paid', 'invoicing' ),
1319
-			)
1315
+        echo aui()->alert(
1316
+            array(
1317
+                'type'    => 'warning',
1318
+                'content' => __( 'Invoice has already been paid', 'invoicing' ),
1319
+            )
1320 1320
         );
1321 1321
         return;
1322 1322
     }
@@ -1378,7 +1378,7 @@  discard block
 block discarded – undo
1378 1378
         return "<button class='btn btn-primary getpaid-payment-button' type='button' data-form='$form'>$label</button>"; 
1379 1379
     }
1380 1380
 	
1381
-	if ( ! empty( $items ) ) {
1381
+    if ( ! empty( $items ) ) {
1382 1382
         $items  = esc_attr( $items );
1383 1383
         return "<button class='btn btn-primary getpaid-payment-button' type='button' data-item='$items'>$label</button>"; 
1384 1384
     }
Please login to merge, or discard this patch.
Spacing   +462 added lines, -462 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'            => -1,
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,119 +844,119 @@  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 subscriptions.
878 878
  * 
879 879
  * @param WPInv_Invoice $invoice
880 880
  */
881
-function getpaid_display_invoice_subscriptions( $invoice ) {
881
+function getpaid_display_invoice_subscriptions($invoice) {
882 882
 
883 883
     // Subscriptions.
884
-	$subscriptions = getpaid_get_invoice_subscriptions( $invoice );
884
+	$subscriptions = getpaid_get_invoice_subscriptions($invoice);
885 885
 
886
-    if ( empty( $subscriptions ) || ! $invoice->is_recurring() ) {
886
+    if (empty($subscriptions) || !$invoice->is_recurring()) {
887 887
         return;
888 888
     }
889 889
 
890
-    $main_subscription = getpaid_get_invoice_subscription( $invoice );
890
+    $main_subscription = getpaid_get_invoice_subscription($invoice);
891 891
 
892 892
     // Display related subscriptions.
893
-    if ( is_array( $subscriptions ) ) {
894
-        printf( '<h2 class="mt-5 mb-1 h4">%s</h2>', esc_html__( 'Related Subscriptions', 'invoicing' ) );
895
-        getpaid_admin_subscription_related_subscriptions_metabox( $main_subscription, false );
893
+    if (is_array($subscriptions)) {
894
+        printf('<h2 class="mt-5 mb-1 h4">%s</h2>', esc_html__('Related Subscriptions', 'invoicing'));
895
+        getpaid_admin_subscription_related_subscriptions_metabox($main_subscription, false);
896 896
     }
897 897
 
898
-    if ( $main_subscription->get_total_payments() > 1 ) {
899
-        printf( '<h2 class="mt-5 mb-1 h4">%s</h2>', esc_html__( 'Related Invoices', 'invoicing' ) );
900
-        getpaid_admin_subscription_invoice_details_metabox( $main_subscription, false );
898
+    if ($main_subscription->get_total_payments() > 1) {
899
+        printf('<h2 class="mt-5 mb-1 h4">%s</h2>', esc_html__('Related Invoices', 'invoicing'));
900
+        getpaid_admin_subscription_invoice_details_metabox($main_subscription, false);
901 901
     }
902 902
 
903 903
 }
904
-add_action( 'getpaid_invoice_line_items', 'getpaid_display_invoice_subscriptions', 55 );
905
-add_action( 'wpinv_receipt_end', 'getpaid_display_invoice_subscriptions', 11 );
904
+add_action('getpaid_invoice_line_items', 'getpaid_display_invoice_subscriptions', 55);
905
+add_action('wpinv_receipt_end', 'getpaid_display_invoice_subscriptions', 11);
906 906
 
907 907
 /**
908 908
  * Displays invoice notices on invoices.
909 909
  */
910 910
 function wpinv_display_invoice_notice() {
911 911
 
912
-    $label  = wpinv_get_option( 'vat_invoice_notice_label' );
913
-    $notice = wpinv_get_option( 'vat_invoice_notice' );
912
+    $label  = wpinv_get_option('vat_invoice_notice_label');
913
+    $notice = wpinv_get_option('vat_invoice_notice');
914 914
 
915
-    if ( empty( $label ) && empty( $notice ) ) {
915
+    if (empty($label) && empty($notice)) {
916 916
         return;
917 917
     }
918 918
 
919 919
     echo '<div class="mt-4 mb-4 wpinv-vat-notice">';
920 920
 
921
-    if ( ! empty( $label ) ) {
922
-        $label = sanitize_text_field( $label );
921
+    if (!empty($label)) {
922
+        $label = sanitize_text_field($label);
923 923
         echo "<h5>$label</h5>";
924 924
     }
925 925
 
926
-    if ( ! empty( $notice ) ) {
927
-        echo '<small class="form-text text-muted">' . wpautop( wptexturize( $notice ) ) . '</small>';
926
+    if (!empty($notice)) {
927
+        echo '<small class="form-text text-muted">' . wpautop(wptexturize($notice)) . '</small>';
928 928
     }
929 929
 
930 930
     echo '</div>';
931 931
 }
932
-add_action( 'getpaid_invoice_line_items', 'wpinv_display_invoice_notice', 100 );
932
+add_action('getpaid_invoice_line_items', 'wpinv_display_invoice_notice', 100);
933 933
 
934 934
 /**
935 935
  * @param WPInv_Invoice $invoice
936 936
  */
937
-function wpinv_display_invoice_notes( $invoice ) {
937
+function wpinv_display_invoice_notes($invoice) {
938 938
 
939 939
     // Retrieve the notes.
940
-    $notes = wpinv_get_invoice_notes( $invoice->get_id(), 'customer' );
940
+    $notes = wpinv_get_invoice_notes($invoice->get_id(), 'customer');
941 941
 
942 942
     // Abort if we have non.
943
-    if ( empty( $notes ) ) {
943
+    if (empty($notes)) {
944 944
         return;
945 945
     }
946 946
 
947 947
     // Echo the note.
948 948
     echo '<div class="getpaid-invoice-notes-wrapper position-relative my-4">';
949
-    echo '<h2 class="getpaid-invoice-notes-title mb-1 p-0 h4">' . __( 'Notes', 'invoicing' ) .'</h2>';
949
+    echo '<h2 class="getpaid-invoice-notes-title mb-1 p-0 h4">' . __('Notes', 'invoicing') . '</h2>';
950 950
     echo '<ul class="getpaid-invoice-notes text-break overflow-auto list-unstyled p-0 m-0">';
951 951
 
952
-    foreach( $notes as $note ) {
953
-        wpinv_get_invoice_note_line_item( $note );
952
+    foreach ($notes as $note) {
953
+        wpinv_get_invoice_note_line_item($note);
954 954
     }
955 955
 
956 956
     echo '</ul>';
957 957
     echo '</div>';
958 958
 }
959
-add_action( 'getpaid_invoice_line_items', 'wpinv_display_invoice_notes', 60 );
959
+add_action('getpaid_invoice_line_items', 'wpinv_display_invoice_notes', 60);
960 960
 
961 961
 /**
962 962
  * Loads scripts on our invoice templates.
@@ -964,31 +964,31 @@  discard block
 block discarded – undo
964 964
 function wpinv_display_style() {
965 965
 
966 966
     // Make sure that all scripts have been loaded.
967
-    if ( ! did_action( 'wp_enqueue_scripts' ) ) {
968
-        do_action( 'wp_enqueue_scripts' );
967
+    if (!did_action('wp_enqueue_scripts')) {
968
+        do_action('wp_enqueue_scripts');
969 969
     }
970 970
 
971 971
     // Register the invoices style.
972
-    wp_register_style( 'wpinv-single-style', WPINV_PLUGIN_URL . 'assets/css/invoice.css', array(), filemtime( WPINV_PLUGIN_DIR . 'assets/css/invoice.css' ) );
972
+    wp_register_style('wpinv-single-style', WPINV_PLUGIN_URL . 'assets/css/invoice.css', array(), filemtime(WPINV_PLUGIN_DIR . 'assets/css/invoice.css'));
973 973
 
974 974
     // Load required styles
975
-    wp_print_styles( 'wpinv-single-style' );
976
-    wp_print_styles( 'ayecode-ui' );
975
+    wp_print_styles('wpinv-single-style');
976
+    wp_print_styles('ayecode-ui');
977 977
 
978 978
     // Maybe load custom css.
979
-    $custom_css = wpinv_get_option( 'template_custom_css' );
979
+    $custom_css = wpinv_get_option('template_custom_css');
980 980
 
981
-    if ( isset( $custom_css ) && ! empty( $custom_css ) ) {
982
-        $custom_css     = wp_kses( $custom_css, array( '\'', '\"' ) );
983
-        $custom_css     = str_replace( '&gt;', '>', $custom_css );
981
+    if (isset($custom_css) && !empty($custom_css)) {
982
+        $custom_css     = wp_kses($custom_css, array('\'', '\"'));
983
+        $custom_css     = str_replace('&gt;', '>', $custom_css);
984 984
         echo '<style type="text/css">';
985 985
         echo $custom_css;
986 986
         echo '</style>';
987 987
     }
988 988
 
989 989
 }
990
-add_action( 'wpinv_invoice_print_head', 'wpinv_display_style' );
991
-add_action( 'wpinv_invalid_invoice_head', 'wpinv_display_style' );
990
+add_action('wpinv_invoice_print_head', 'wpinv_display_style');
991
+add_action('wpinv_invalid_invoice_head', 'wpinv_display_style');
992 992
 
993 993
 
994 994
 /**
@@ -1000,41 +1000,41 @@  discard block
 block discarded – undo
1000 1000
     // Retrieve the current invoice.
1001 1001
     $invoice_id = getpaid_get_current_invoice_id();
1002 1002
 
1003
-    if ( empty( $invoice_id ) ) {
1003
+    if (empty($invoice_id)) {
1004 1004
 
1005 1005
         return aui()->alert(
1006 1006
             array(
1007 1007
                 'type'    => 'warning',
1008
-                'content' => __( 'Invalid invoice', 'invoicing' ),
1008
+                'content' => __('Invalid invoice', 'invoicing'),
1009 1009
             )
1010 1010
         );
1011 1011
 
1012 1012
     }
1013 1013
 
1014 1014
     // Can the user view this invoice?
1015
-    if ( ! wpinv_user_can_view_invoice( $invoice_id ) ) {
1015
+    if (!wpinv_user_can_view_invoice($invoice_id)) {
1016 1016
 
1017 1017
         return aui()->alert(
1018 1018
             array(
1019 1019
                 'type'    => 'warning',
1020
-                'content' => __( 'You are not allowed to view this invoice', 'invoicing' ),
1020
+                'content' => __('You are not allowed to view this invoice', 'invoicing'),
1021 1021
             )
1022 1022
         );
1023 1023
 
1024 1024
     }
1025 1025
 
1026 1026
     // Ensure that it is not yet paid for.
1027
-    $invoice = new WPInv_Invoice( $invoice_id );
1027
+    $invoice = new WPInv_Invoice($invoice_id);
1028 1028
 
1029 1029
     // Maybe mark it as viewed.
1030
-    getpaid_maybe_mark_invoice_as_viewed( $invoice );
1030
+    getpaid_maybe_mark_invoice_as_viewed($invoice);
1031 1031
 
1032
-    if ( $invoice->is_paid() ) {
1032
+    if ($invoice->is_paid()) {
1033 1033
 
1034 1034
         return aui()->alert(
1035 1035
             array(
1036 1036
                 'type'    => 'success',
1037
-                'content' => __( 'This invoice has already been paid.', 'invoicing' ),
1037
+                'content' => __('This invoice has already been paid.', 'invoicing'),
1038 1038
             )
1039 1039
         );
1040 1040
 
@@ -1044,15 +1044,15 @@  discard block
 block discarded – undo
1044 1044
     $wpi_checkout_id = $invoice_id;
1045 1045
 
1046 1046
     // Retrieve appropriate payment form.
1047
-    $payment_form = new GetPaid_Payment_Form( $invoice->get_meta( 'force_payment_form' ) );
1048
-    $payment_form = $payment_form->exists() ? $payment_form : new GetPaid_Payment_Form( wpinv_get_default_payment_form() );
1047
+    $payment_form = new GetPaid_Payment_Form($invoice->get_meta('force_payment_form'));
1048
+    $payment_form = $payment_form->exists() ? $payment_form : new GetPaid_Payment_Form(wpinv_get_default_payment_form());
1049 1049
 
1050
-    if ( ! $payment_form->exists() ) {
1050
+    if (!$payment_form->exists()) {
1051 1051
 
1052 1052
         return aui()->alert(
1053 1053
             array(
1054 1054
                 'type'    => 'warning',
1055
-                'content' => __( 'Error loading the payment form', 'invoicing' ),
1055
+                'content' => __('Error loading the payment form', 'invoicing'),
1056 1056
             )
1057 1057
         );
1058 1058
 
@@ -1061,29 +1061,29 @@  discard block
 block discarded – undo
1061 1061
     // Set the invoice.
1062 1062
     $payment_form->invoice = $invoice;
1063 1063
 
1064
-    if ( ! $payment_form->is_default() ) {
1064
+    if (!$payment_form->is_default()) {
1065 1065
 
1066 1066
         $items    = array();
1067 1067
         $item_ids = array();
1068 1068
 
1069
-        foreach ( $invoice->get_items() as $item ) {
1070
-            if ( ! in_array( $item->get_id(), $item_ids ) ) {
1069
+        foreach ($invoice->get_items() as $item) {
1070
+            if (!in_array($item->get_id(), $item_ids)) {
1071 1071
                 $item_ids[] = $item->get_id();
1072 1072
                 $items[]    = $item;
1073 1073
             }
1074 1074
         }
1075 1075
 
1076
-        foreach ( $payment_form->get_items() as $item ) {
1077
-            if ( ! in_array( $item->get_id(), $item_ids ) ) {
1076
+        foreach ($payment_form->get_items() as $item) {
1077
+            if (!in_array($item->get_id(), $item_ids)) {
1078 1078
                 $item_ids[] = $item->get_id();
1079 1079
                 $items[]    = $item;
1080 1080
             }
1081 1081
         }
1082 1082
 
1083
-        $payment_form->set_items( $items );
1083
+        $payment_form->set_items($items);
1084 1084
 
1085 1085
     } else {
1086
-        $payment_form->set_items( $invoice->get_items() );
1086
+        $payment_form->set_items($invoice->get_items());
1087 1087
     }
1088 1088
 
1089 1089
     // Generate the html.
@@ -1092,7 +1092,7 @@  discard block
 block discarded – undo
1092 1092
 }
1093 1093
 
1094 1094
 function wpinv_empty_cart_message() {
1095
-	return apply_filters( 'wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __( 'Your cart is empty.', 'invoicing' ) . '</span>' );
1095
+	return apply_filters('wpinv_empty_cart_message', '<span class="wpinv_empty_cart">' . __('Your cart is empty.', 'invoicing') . '</span>');
1096 1096
 }
1097 1097
 
1098 1098
 /**
@@ -1109,76 +1109,76 @@  discard block
 block discarded – undo
1109 1109
         )
1110 1110
     );
1111 1111
 }
1112
-add_action( 'wpinv_cart_empty', 'wpinv_empty_checkout_cart' );
1112
+add_action('wpinv_cart_empty', 'wpinv_empty_checkout_cart');
1113 1113
 
1114 1114
 /**
1115 1115
  * Filters the receipt page.
1116 1116
  */
1117
-function wpinv_filter_success_page_content( $content ) {
1117
+function wpinv_filter_success_page_content($content) {
1118 1118
 
1119 1119
     // Maybe abort early.
1120
-    if ( is_admin() || ! is_singular() || ! in_the_loop() || ! is_main_query() || is_preview() ) {
1120
+    if (is_admin() || !is_singular() || !in_the_loop() || !is_main_query() || is_preview()) {
1121 1121
         return $content;
1122 1122
     }
1123 1123
 
1124 1124
     // Ensure this is our page.
1125
-    if ( isset( $_GET['payment-confirm'] ) && wpinv_is_success_page() ) {
1125
+    if (isset($_GET['payment-confirm']) && wpinv_is_success_page()) {
1126 1126
 
1127
-        $gateway = sanitize_text_field( $_GET['payment-confirm'] );
1128
-        return apply_filters( "wpinv_payment_confirm_$gateway", $content );
1127
+        $gateway = sanitize_text_field($_GET['payment-confirm']);
1128
+        return apply_filters("wpinv_payment_confirm_$gateway", $content);
1129 1129
 
1130 1130
     }
1131 1131
 
1132 1132
     return $content;
1133 1133
 }
1134
-add_filter( 'the_content', 'wpinv_filter_success_page_content', 99999 );
1134
+add_filter('the_content', 'wpinv_filter_success_page_content', 99999);
1135 1135
 
1136
-function wpinv_invoice_link( $invoice_id ) {
1137
-    $invoice = wpinv_get_invoice( $invoice_id );
1136
+function wpinv_invoice_link($invoice_id) {
1137
+    $invoice = wpinv_get_invoice($invoice_id);
1138 1138
 
1139
-    if ( empty( $invoice ) ) {
1139
+    if (empty($invoice)) {
1140 1140
         return NULL;
1141 1141
     }
1142 1142
 
1143
-    $invoice_link = '<a href="' . esc_url( $invoice->get_view_url() ) . '">' . $invoice->get_number() . '</a>';
1143
+    $invoice_link = '<a href="' . esc_url($invoice->get_view_url()) . '">' . $invoice->get_number() . '</a>';
1144 1144
 
1145
-    return apply_filters( 'wpinv_get_invoice_link', $invoice_link, $invoice );
1145
+    return apply_filters('wpinv_get_invoice_link', $invoice_link, $invoice);
1146 1146
 }
1147 1147
 
1148
-function wpinv_get_invoice_note_line_item( $note, $echo = true ) {
1149
-    if ( empty( $note ) ) {
1148
+function wpinv_get_invoice_note_line_item($note, $echo = true) {
1149
+    if (empty($note)) {
1150 1150
         return NULL;
1151 1151
     }
1152 1152
 
1153
-    if ( is_int( $note ) ) {
1154
-        $note = get_comment( $note );
1153
+    if (is_int($note)) {
1154
+        $note = get_comment($note);
1155 1155
     }
1156 1156
 
1157
-    if ( !( is_object( $note ) && is_a( $note, 'WP_Comment' ) ) ) {
1157
+    if (!(is_object($note) && is_a($note, 'WP_Comment'))) {
1158 1158
         return NULL;
1159 1159
     }
1160 1160
 
1161
-    $note_classes   = array( 'note' );
1162
-    $note_classes[] = get_comment_meta( $note->comment_ID, '_wpi_customer_note', true ) ? 'customer-note' : '';
1161
+    $note_classes   = array('note');
1162
+    $note_classes[] = get_comment_meta($note->comment_ID, '_wpi_customer_note', true) ? 'customer-note' : '';
1163 1163
     $note_classes[] = $note->comment_author === 'System' ? 'system-note' : '';
1164
-    $note_classes   = apply_filters( 'wpinv_invoice_note_class', array_filter( $note_classes ), $note );
1165
-    $note_classes   = !empty( $note_classes ) ? implode( ' ', $note_classes ) : '';
1164
+    $note_classes   = apply_filters('wpinv_invoice_note_class', array_filter($note_classes), $note);
1165
+    $note_classes   = !empty($note_classes) ? implode(' ', $note_classes) : '';
1166 1166
 
1167 1167
     ob_start();
1168 1168
     ?>
1169
-    <li rel="<?php echo absint( $note->comment_ID ) ; ?>" class="<?php echo esc_attr( $note_classes ); ?> mb-2">
1169
+    <li rel="<?php echo absint($note->comment_ID); ?>" class="<?php echo esc_attr($note_classes); ?> mb-2">
1170 1170
         <div class="note_content">
1171 1171
 
1172
-            <?php echo wptexturize( wp_kses_post( $note->comment_content ) ); ?>
1172
+            <?php echo wptexturize(wp_kses_post($note->comment_content)); ?>
1173 1173
 
1174
-            <?php if ( ! is_admin() ) : ?>
1174
+            <?php if (!is_admin()) : ?>
1175 1175
                 <em class="small form-text text-muted mt-0">
1176 1176
                     <?php
1177 1177
                         printf(
1178
-                            __( '%1$s - %2$s at %3$s', 'invoicing' ),
1178
+                            __('%1$s - %2$s at %3$s', 'invoicing'),
1179 1179
                             $note->comment_author,
1180
-                            getpaid_format_date_value( $note->comment_date ),
1181
-                            date_i18n( get_option( 'time_format' ), strtotime( $note->comment_date ) )
1180
+                            getpaid_format_date_value($note->comment_date),
1181
+                            date_i18n(get_option('time_format'), strtotime($note->comment_date))
1182 1182
                         );
1183 1183
                     ?>
1184 1184
                 </em>
@@ -1186,21 +1186,21 @@  discard block
 block discarded – undo
1186 1186
 
1187 1187
         </div>
1188 1188
 
1189
-        <?php if ( is_admin() ) : ?>
1189
+        <?php if (is_admin()) : ?>
1190 1190
 
1191 1191
             <p class="meta px-4 py-2">
1192
-                <abbr class="exact-date" title="<?php echo esc_attr( $note->comment_date ); ?>">
1192
+                <abbr class="exact-date" title="<?php echo esc_attr($note->comment_date); ?>">
1193 1193
                     <?php
1194 1194
                         printf(
1195
-                            __( '%1$s - %2$s at %3$s', 'invoicing' ),
1195
+                            __('%1$s - %2$s at %3$s', 'invoicing'),
1196 1196
                             $note->comment_author,
1197
-                            getpaid_format_date_value( $note->comment_date ),
1198
-                            date_i18n( get_option( 'time_format' ), strtotime( $note->comment_date ) )
1197
+                            getpaid_format_date_value($note->comment_date),
1198
+                            date_i18n(get_option('time_format'), strtotime($note->comment_date))
1199 1199
                         );
1200 1200
                     ?>
1201 1201
                 </abbr>&nbsp;&nbsp;
1202
-                <?php if ( $note->comment_author !== 'System' && wpinv_current_user_can_manage_invoicing() ) { ?>
1203
-                    <a href="#" class="delete_note"><?php _e( 'Delete note', 'invoicing' ); ?></a>
1202
+                <?php if ($note->comment_author !== 'System' && wpinv_current_user_can_manage_invoicing()) { ?>
1203
+                    <a href="#" class="delete_note"><?php _e('Delete note', 'invoicing'); ?></a>
1204 1204
                 <?php } ?>
1205 1205
             </p>
1206 1206
 
@@ -1209,9 +1209,9 @@  discard block
 block discarded – undo
1209 1209
     </li>
1210 1210
     <?php
1211 1211
     $note_content = ob_get_clean();
1212
-    $note_content = apply_filters( 'wpinv_get_invoice_note_line_item', $note_content, $note, $echo );
1212
+    $note_content = apply_filters('wpinv_get_invoice_note_line_item', $note_content, $note, $echo);
1213 1213
 
1214
-    if ( $echo ) {
1214
+    if ($echo) {
1215 1215
         echo $note_content;
1216 1216
     } else {
1217 1217
         return $note_content;
@@ -1225,21 +1225,21 @@  discard block
 block discarded – undo
1225 1225
  * @return string
1226 1226
  */
1227 1227
 function wpinv_get_policy_text() {
1228
-    $privacy_page_id = get_option( 'wp_page_for_privacy_policy', 0 );
1228
+    $privacy_page_id = get_option('wp_page_for_privacy_policy', 0);
1229 1229
 
1230
-    $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]' ));
1230
+    $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]'));
1231 1231
 
1232
-    if(!$privacy_page_id){
1233
-        $privacy_page_id = wpinv_get_option( 'privacy_page', 0 );
1232
+    if (!$privacy_page_id) {
1233
+        $privacy_page_id = wpinv_get_option('privacy_page', 0);
1234 1234
     }
1235 1235
 
1236
-    $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' );
1236
+    $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');
1237 1237
 
1238 1238
     $find_replace = array(
1239 1239
         '[wpinv_privacy_policy]' => $privacy_link,
1240 1240
     );
1241 1241
 
1242
-    $privacy_text = str_replace( array_keys( $find_replace ), array_values( $find_replace ), $text );
1242
+    $privacy_text = str_replace(array_keys($find_replace), array_values($find_replace), $text);
1243 1243
 
1244 1244
     return wp_kses_post(wpautop($privacy_text));
1245 1245
 }
@@ -1247,21 +1247,21 @@  discard block
 block discarded – undo
1247 1247
 function wpinv_oxygen_fix_conflict() {
1248 1248
     global $ct_ignore_post_types;
1249 1249
 
1250
-    if ( ! is_array( $ct_ignore_post_types ) ) {
1250
+    if (!is_array($ct_ignore_post_types)) {
1251 1251
         $ct_ignore_post_types = array();
1252 1252
     }
1253 1253
 
1254
-    $post_types = array( 'wpi_discount', 'wpi_invoice', 'wpi_item', 'wpi_payment_form' );
1254
+    $post_types = array('wpi_discount', 'wpi_invoice', 'wpi_item', 'wpi_payment_form');
1255 1255
 
1256
-    foreach ( $post_types as $post_type ) {
1256
+    foreach ($post_types as $post_type) {
1257 1257
         $ct_ignore_post_types[] = $post_type;
1258 1258
 
1259 1259
         // Ignore post type
1260
-        add_filter( 'pre_option_oxygen_vsb_ignore_post_type_' . $post_type, '__return_true', 999 );
1260
+        add_filter('pre_option_oxygen_vsb_ignore_post_type_' . $post_type, '__return_true', 999);
1261 1261
     }
1262 1262
 
1263
-    remove_filter( 'template_include', 'wpinv_template', 10, 1 );
1264
-    add_filter( 'template_include', 'wpinv_template', 999, 1 );
1263
+    remove_filter('template_include', 'wpinv_template', 10, 1);
1264
+    add_filter('template_include', 'wpinv_template', 999, 1);
1265 1265
 }
1266 1266
 
1267 1267
 /**
@@ -1269,10 +1269,10 @@  discard block
 block discarded – undo
1269 1269
  * 
1270 1270
  * @param GetPaid_Payment_Form $form
1271 1271
  */
1272
-function getpaid_display_payment_form( $form ) {
1272
+function getpaid_display_payment_form($form) {
1273 1273
 
1274
-    if ( is_numeric( $form ) ) {
1275
-        $form = new GetPaid_Payment_Form( $form );
1274
+    if (is_numeric($form)) {
1275
+        $form = new GetPaid_Payment_Form($form);
1276 1276
     }
1277 1277
 
1278 1278
     $form->display();
@@ -1282,58 +1282,58 @@  discard block
 block discarded – undo
1282 1282
 /**
1283 1283
  * Helper function to display a item payment form on the frontend.
1284 1284
  */
1285
-function getpaid_display_item_payment_form( $items ) {
1285
+function getpaid_display_item_payment_form($items) {
1286 1286
 
1287
-    $form = new GetPaid_Payment_Form( wpinv_get_default_payment_form() );
1288
-    $form->set_items( $items );
1287
+    $form = new GetPaid_Payment_Form(wpinv_get_default_payment_form());
1288
+    $form->set_items($items);
1289 1289
 
1290
-    if ( 0 == count( $form->get_items() ) ) {
1290
+    if (0 == count($form->get_items())) {
1291 1291
         echo aui()->alert(
1292 1292
 			array(
1293 1293
 				'type'    => 'warning',
1294
-				'content' => __( 'No published items found', 'invoicing' ),
1294
+				'content' => __('No published items found', 'invoicing'),
1295 1295
 			)
1296 1296
         );
1297 1297
         return;
1298 1298
     }
1299 1299
 
1300
-    $extra_items     = esc_attr( getpaid_convert_items_to_string( $items ) );
1301
-    $extra_items_key = md5( NONCE_KEY . AUTH_KEY . $extra_items );
1300
+    $extra_items     = esc_attr(getpaid_convert_items_to_string($items));
1301
+    $extra_items_key = md5(NONCE_KEY . AUTH_KEY . $extra_items);
1302 1302
     $extra_items     = "<input type='hidden' name='getpaid-form-items' value='$extra_items' />";
1303 1303
     $extra_items    .= "<input type='hidden' name='getpaid-form-items-key' value='$extra_items_key' />";
1304 1304
 
1305
-    $form->display( $extra_items );
1305
+    $form->display($extra_items);
1306 1306
 }
1307 1307
 
1308 1308
 /**
1309 1309
  * Helper function to display an invoice payment form on the frontend.
1310 1310
  */
1311
-function getpaid_display_invoice_payment_form( $invoice_id ) {
1311
+function getpaid_display_invoice_payment_form($invoice_id) {
1312 1312
 
1313
-    $invoice = wpinv_get_invoice( $invoice_id );
1313
+    $invoice = wpinv_get_invoice($invoice_id);
1314 1314
 
1315
-    if ( empty( $invoice ) ) {
1315
+    if (empty($invoice)) {
1316 1316
 		echo aui()->alert(
1317 1317
 			array(
1318 1318
 				'type'    => 'warning',
1319
-				'content' => __( 'Invoice not found', 'invoicing' ),
1319
+				'content' => __('Invoice not found', 'invoicing'),
1320 1320
 			)
1321 1321
         );
1322 1322
         return;
1323 1323
     }
1324 1324
 
1325
-    if ( $invoice->is_paid() ) {
1325
+    if ($invoice->is_paid()) {
1326 1326
 		echo aui()->alert(
1327 1327
 			array(
1328 1328
 				'type'    => 'warning',
1329
-				'content' => __( 'Invoice has already been paid', 'invoicing' ),
1329
+				'content' => __('Invoice has already been paid', 'invoicing'),
1330 1330
 			)
1331 1331
         );
1332 1332
         return;
1333 1333
     }
1334 1334
 
1335
-    $form = new GetPaid_Payment_Form( wpinv_get_default_payment_form() );
1336
-    $form->set_items( $invoice->get_items() );
1335
+    $form = new GetPaid_Payment_Form(wpinv_get_default_payment_form());
1336
+    $form->set_items($invoice->get_items());
1337 1337
 
1338 1338
     $form->display();
1339 1339
 }
@@ -1341,23 +1341,23 @@  discard block
 block discarded – undo
1341 1341
 /**
1342 1342
  * Helper function to convert item string to array.
1343 1343
  */
1344
-function getpaid_convert_items_to_array( $items ) {
1345
-    $items    = array_filter( array_map( 'trim', explode( ',', $items ) ) );
1344
+function getpaid_convert_items_to_array($items) {
1345
+    $items    = array_filter(array_map('trim', explode(',', $items)));
1346 1346
     $prepared = array();
1347 1347
 
1348
-    foreach ( $items as $item ) {
1349
-        $data = array_map( 'trim', explode( '|', $item ) );
1348
+    foreach ($items as $item) {
1349
+        $data = array_map('trim', explode('|', $item));
1350 1350
 
1351
-        if ( empty( $data[0] ) || ! is_numeric( $data[0] ) ) {
1351
+        if (empty($data[0]) || !is_numeric($data[0])) {
1352 1352
             continue;
1353 1353
         }
1354 1354
 
1355 1355
         $quantity = 1;
1356
-        if ( isset( $data[1] ) && is_numeric( $data[1] ) ) {
1356
+        if (isset($data[1]) && is_numeric($data[1])) {
1357 1357
             $quantity = (float) $data[1];
1358 1358
         }
1359 1359
 
1360
-        $prepared[ $data[0] ] = $quantity;
1360
+        $prepared[$data[0]] = $quantity;
1361 1361
 
1362 1362
     }
1363 1363
 
@@ -1367,13 +1367,13 @@  discard block
 block discarded – undo
1367 1367
 /**
1368 1368
  * Helper function to convert item array to string.
1369 1369
  */
1370
-function getpaid_convert_items_to_string( $items ) {
1370
+function getpaid_convert_items_to_string($items) {
1371 1371
     $prepared = array();
1372 1372
 
1373
-    foreach ( $items as $item => $quantity ) {
1373
+    foreach ($items as $item => $quantity) {
1374 1374
         $prepared[] = "$item|$quantity";
1375 1375
     }
1376
-    return implode( ',', $prepared );
1376
+    return implode(',', $prepared);
1377 1377
 }
1378 1378
 
1379 1379
 /**
@@ -1381,21 +1381,21 @@  discard block
 block discarded – undo
1381 1381
  * 
1382 1382
  * Provide a label and one of $form, $items or $invoice.
1383 1383
  */
1384
-function getpaid_get_payment_button( $label, $form = null, $items = null, $invoice = null ) {
1385
-    $label = sanitize_text_field( $label );
1384
+function getpaid_get_payment_button($label, $form = null, $items = null, $invoice = null) {
1385
+    $label = sanitize_text_field($label);
1386 1386
 
1387
-    if ( ! empty( $form ) ) {
1388
-        $form  = esc_attr( $form );
1387
+    if (!empty($form)) {
1388
+        $form = esc_attr($form);
1389 1389
         return "<button class='btn btn-primary getpaid-payment-button' type='button' data-form='$form'>$label</button>"; 
1390 1390
     }
1391 1391
 	
1392
-	if ( ! empty( $items ) ) {
1393
-        $items  = esc_attr( $items );
1392
+	if (!empty($items)) {
1393
+        $items = esc_attr($items);
1394 1394
         return "<button class='btn btn-primary getpaid-payment-button' type='button' data-item='$items'>$label</button>"; 
1395 1395
     }
1396 1396
     
1397
-    if ( ! empty( $invoice ) ) {
1398
-        $invoice  = esc_attr( $invoice );
1397
+    if (!empty($invoice)) {
1398
+        $invoice = esc_attr($invoice);
1399 1399
         return "<button class='btn btn-primary getpaid-payment-button' type='button' data-invoice='$invoice'>$label</button>"; 
1400 1400
     }
1401 1401
 
@@ -1406,18 +1406,18 @@  discard block
 block discarded – undo
1406 1406
  *
1407 1407
  * @param WPInv_Invoice $invoice
1408 1408
  */
1409
-function getpaid_the_invoice_description( $invoice ) {
1409
+function getpaid_the_invoice_description($invoice) {
1410 1410
     $description = $invoice->get_description();
1411 1411
 
1412
-    if ( empty( $description ) ) {
1412
+    if (empty($description)) {
1413 1413
         return;
1414 1414
     }
1415 1415
 
1416
-    $description = wp_kses_post( wpautop( $description ) );
1416
+    $description = wp_kses_post(wpautop($description));
1417 1417
     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>";
1418 1418
 }
1419
-add_action( 'getpaid_invoice_line_items', 'getpaid_the_invoice_description', 100 );
1420
-add_action( 'wpinv_email_billing_details', 'getpaid_the_invoice_description', 100 );
1419
+add_action('getpaid_invoice_line_items', 'getpaid_the_invoice_description', 100);
1420
+add_action('wpinv_email_billing_details', 'getpaid_the_invoice_description', 100);
1421 1421
 
1422 1422
 /**
1423 1423
  * Render element on a form.
@@ -1425,60 +1425,60 @@  discard block
 block discarded – undo
1425 1425
  * @param array $element
1426 1426
  * @param GetPaid_Payment_Form $form
1427 1427
  */
1428
-function getpaid_payment_form_element( $element, $form ) {
1428
+function getpaid_payment_form_element($element, $form) {
1429 1429
 
1430 1430
     // Set up the args.
1431
-    $element_type    = trim( $element['type'] );
1431
+    $element_type    = trim($element['type']);
1432 1432
     $element['form'] = $form;
1433
-    extract( $element );
1433
+    extract($element);
1434 1434
 
1435 1435
     // Try to locate the appropriate template.
1436
-    $located = wpinv_locate_template( "payment-forms/elements/$element_type.php" );
1436
+    $located = wpinv_locate_template("payment-forms/elements/$element_type.php");
1437 1437
     
1438 1438
     // Abort if this is not our element.
1439
-    if ( empty( $located ) || ! file_exists( $located ) ) {
1439
+    if (empty($located) || !file_exists($located)) {
1440 1440
         return;
1441 1441
     }
1442 1442
 
1443 1443
     // Generate the class and id of the element.
1444
-    $wrapper_class = 'getpaid-payment-form-element-' . trim( esc_attr( $element_type ) );
1445
-    $id            = isset( $id ) ? $id : uniqid( 'gp' );
1444
+    $wrapper_class = 'getpaid-payment-form-element-' . trim(esc_attr($element_type));
1445
+    $id            = isset($id) ? $id : uniqid('gp');
1446 1446
 
1447 1447
     // Echo the opening wrapper.
1448 1448
     echo "<div class='getpaid-payment-form-element $wrapper_class'>";
1449 1449
 
1450 1450
     // Fires before displaying a given element type's content.
1451
-    do_action( "getpaid_before_payment_form_{$element_type}_element", $element, $form );
1451
+    do_action("getpaid_before_payment_form_{$element_type}_element", $element, $form);
1452 1452
 
1453 1453
     // Include the template for the element.
1454 1454
     include $located;
1455 1455
 
1456 1456
     // Fires after displaying a given element type's content.
1457
-    do_action( "getpaid_payment_form_{$element_type}_element", $element, $form );
1457
+    do_action("getpaid_payment_form_{$element_type}_element", $element, $form);
1458 1458
 
1459 1459
     // Echo the closing wrapper.
1460 1460
     echo '</div>';
1461 1461
 }
1462
-add_action( 'getpaid_payment_form_element', 'getpaid_payment_form_element', 10, 2 );
1462
+add_action('getpaid_payment_form_element', 'getpaid_payment_form_element', 10, 2);
1463 1463
 
1464 1464
 /**
1465 1465
  * Render an element's edit page.
1466 1466
  *
1467 1467
  * @param WP_Post $post
1468 1468
  */
1469
-function getpaid_payment_form_edit_element_template( $post ) {
1469
+function getpaid_payment_form_edit_element_template($post) {
1470 1470
 
1471 1471
     // Retrieve all elements.
1472
-    $all_elements = wp_list_pluck( wpinv_get_data( 'payment-form-elements' ), 'type' );
1472
+    $all_elements = wp_list_pluck(wpinv_get_data('payment-form-elements'), 'type');
1473 1473
 
1474
-    foreach ( $all_elements as $element ) {
1474
+    foreach ($all_elements as $element) {
1475 1475
 
1476 1476
         // Try to locate the appropriate template.
1477
-        $element = sanitize_key( $element );
1478
-        $located = wpinv_locate_template( "payment-forms-admin/edit/$element.php" );
1477
+        $element = sanitize_key($element);
1478
+        $located = wpinv_locate_template("payment-forms-admin/edit/$element.php");
1479 1479
 
1480 1480
         // Continue if this is not our element.
1481
-        if ( empty( $located ) || ! file_exists( $located ) ) {
1481
+        if (empty($located) || !file_exists($located)) {
1482 1482
             continue;
1483 1483
         }
1484 1484
 
@@ -1489,7 +1489,7 @@  discard block
 block discarded – undo
1489 1489
     }
1490 1490
 
1491 1491
 }
1492
-add_action( 'getpaid_payment_form_edit_element_template', 'getpaid_payment_form_edit_element_template' );
1492
+add_action('getpaid_payment_form_edit_element_template', 'getpaid_payment_form_edit_element_template');
1493 1493
 
1494 1494
 /**
1495 1495
  * Render an element's preview.
@@ -1498,16 +1498,16 @@  discard block
 block discarded – undo
1498 1498
 function getpaid_payment_form_render_element_preview_template() {
1499 1499
 
1500 1500
     // Retrieve all elements.
1501
-    $all_elements = wp_list_pluck( wpinv_get_data( 'payment-form-elements' ), 'type' );
1501
+    $all_elements = wp_list_pluck(wpinv_get_data('payment-form-elements'), 'type');
1502 1502
 
1503
-    foreach ( $all_elements as $element ) {
1503
+    foreach ($all_elements as $element) {
1504 1504
 
1505 1505
         // Try to locate the appropriate template.
1506
-        $element = sanitize_key( $element );
1507
-        $located = wpinv_locate_template( "payment-forms-admin/previews/$element.php" );
1506
+        $element = sanitize_key($element);
1507
+        $located = wpinv_locate_template("payment-forms-admin/previews/$element.php");
1508 1508
 
1509 1509
         // Continue if this is not our element.
1510
-        if ( empty( $located ) || ! file_exists( $located ) ) {
1510
+        if (empty($located) || !file_exists($located)) {
1511 1511
             continue;
1512 1512
         }
1513 1513
 
@@ -1518,7 +1518,7 @@  discard block
 block discarded – undo
1518 1518
     }
1519 1519
 
1520 1520
 }
1521
-add_action( 'wpinv_payment_form_render_element_template', 'getpaid_payment_form_render_element_preview_template' );
1521
+add_action('wpinv_payment_form_render_element_template', 'getpaid_payment_form_render_element_preview_template');
1522 1522
 
1523 1523
 /**
1524 1524
  * Shows a list of gateways that support recurring payments.
@@ -1526,17 +1526,17 @@  discard block
 block discarded – undo
1526 1526
 function wpinv_get_recurring_gateways_text() {
1527 1527
     $gateways = array();
1528 1528
 
1529
-    foreach ( wpinv_get_payment_gateways() as $key => $gateway ) {
1530
-        if ( wpinv_gateway_support_subscription( $key ) ) {
1531
-            $gateways[] = sanitize_text_field( $gateway['admin_label'] );
1529
+    foreach (wpinv_get_payment_gateways() as $key => $gateway) {
1530
+        if (wpinv_gateway_support_subscription($key)) {
1531
+            $gateways[] = sanitize_text_field($gateway['admin_label']);
1532 1532
         }
1533 1533
     }
1534 1534
 
1535
-    if ( empty( $gateways ) ) {
1536
-        return "<span class='form-text text-danger'>" . __( 'No active gateways support subscription payments.', 'invoicing' ) ."</span>";
1535
+    if (empty($gateways)) {
1536
+        return "<span class='form-text text-danger'>" . __('No active gateways support subscription payments.', 'invoicing') . "</span>";
1537 1537
     }
1538 1538
 
1539
-    return "<span class='form-text text-muted'>" . wp_sprintf( __( 'Subscription payments only supported by: %s', 'invoicing' ), implode( ', ', $gateways ) ) ."</span>";
1539
+    return "<span class='form-text text-muted'>" . wp_sprintf(__('Subscription payments only supported by: %s', 'invoicing'), implode(', ', $gateways)) . "</span>";
1540 1540
 
1541 1541
 }
1542 1542
 
@@ -1546,7 +1546,7 @@  discard block
 block discarded – undo
1546 1546
  * @return GetPaid_Template
1547 1547
  */
1548 1548
 function getpaid_template() {
1549
-    return getpaid()->get( 'template' );
1549
+    return getpaid()->get('template');
1550 1550
 }
1551 1551
 
1552 1552
 /**
@@ -1555,8 +1555,8 @@  discard block
 block discarded – undo
1555 1555
  * @param array args
1556 1556
  * @return string
1557 1557
  */
1558
-function getpaid_paginate_links( $args ) {
1559
-    return str_replace( 'page-link dots', 'page-link text-dark', aui()->pagination( $args ) );
1558
+function getpaid_paginate_links($args) {
1559
+    return str_replace('page-link dots', 'page-link text-dark', aui()->pagination($args));
1560 1560
 }
1561 1561
 
1562 1562
 /**
@@ -1566,21 +1566,21 @@  discard block
 block discarded – undo
1566 1566
  * @param string state
1567 1567
  * @return string
1568 1568
  */
1569
-function getpaid_get_states_select_markup( $country, $state, $placeholder, $label, $help_text, $required = false, $wrapper_class = 'col-12', $field_name = 'wpinv_state' ) {
1569
+function getpaid_get_states_select_markup($country, $state, $placeholder, $label, $help_text, $required = false, $wrapper_class = 'col-12', $field_name = 'wpinv_state') {
1570 1570
 
1571
-    $states = wpinv_get_country_states( $country );
1572
-    $uniqid = uniqid( '_' );
1571
+    $states = wpinv_get_country_states($country);
1572
+    $uniqid = uniqid('_');
1573 1573
 
1574
-    if ( ! empty( $states ) ) {
1574
+    if (!empty($states)) {
1575 1575
 
1576
-        return aui()->select( array(
1576
+        return aui()->select(array(
1577 1577
             'options'          => $states,
1578
-            'name'             => esc_attr( $field_name ),
1579
-            'id'               => sanitize_html_class( $field_name ) . $uniqid,
1580
-            'value'            => sanitize_text_field( $state ),
1578
+            'name'             => esc_attr($field_name),
1579
+            'id'               => sanitize_html_class($field_name) . $uniqid,
1580
+            'value'            => sanitize_text_field($state),
1581 1581
             'placeholder'      => $placeholder,
1582 1582
             'required'         => $required,
1583
-            'label'            => wp_kses_post( $label ),
1583
+            'label'            => wp_kses_post($label),
1584 1584
             'label_type'       => 'vertical',
1585 1585
             'help_text'        => $help_text,
1586 1586
             'class'            => 'getpaid-address-field wpinv_state',
@@ -1595,14 +1595,14 @@  discard block
 block discarded – undo
1595 1595
 
1596 1596
     return aui()->input(
1597 1597
         array(
1598
-            'name'        => esc_attr( $field_name ),
1599
-            'id'          => sanitize_html_class( $field_name ) . $uniqid,
1598
+            'name'        => esc_attr($field_name),
1599
+            'id'          => sanitize_html_class($field_name) . $uniqid,
1600 1600
             'placeholder' => $placeholder,
1601 1601
             'required'    => $required,
1602
-            'label'       => wp_kses_post( $label ),
1602
+            'label'       => wp_kses_post($label),
1603 1603
             'label_type'  => 'vertical',
1604 1604
             'help_text'   => $help_text,
1605
-            'value'       => sanitize_text_field( $state ),
1605
+            'value'       => sanitize_text_field($state),
1606 1606
             'class'       => 'getpaid-address-field wpinv_state',
1607 1607
             'wrap_class'  => "$wrapper_class getpaid-address-field-wrapper__state",
1608 1608
             'label_class' => 'getpaid-address-field-label getpaid-address-field-label__state',
@@ -1620,16 +1620,16 @@  discard block
 block discarded – undo
1620 1620
  * @param array $element
1621 1621
  * @return string
1622 1622
  */
1623
-function getpaid_get_form_element_grid_class( $element ) {
1623
+function getpaid_get_form_element_grid_class($element) {
1624 1624
 
1625 1625
     $class = "col-12";
1626
-    $width = empty( $element['grid_width'] ) ? 'full' : $element['grid_width'];
1626
+    $width = empty($element['grid_width']) ? 'full' : $element['grid_width'];
1627 1627
 
1628
-    if ( $width == 'half' ) {
1628
+    if ($width == 'half') {
1629 1629
         $class .= " col-md-6";
1630 1630
     }
1631 1631
 
1632
-    if ( $width == 'third' ) {
1632
+    if ($width == 'third') {
1633 1633
         $class .= " col-md-4";
1634 1634
     }
1635 1635
 
@@ -1644,15 +1644,15 @@  discard block
 block discarded – undo
1644 1644
  *
1645 1645
  * @return string
1646 1646
  */
1647
-function getpaid_embed_url( $payment_form = false, $items = false ) {
1647
+function getpaid_embed_url($payment_form = false, $items = false) {
1648 1648
 
1649 1649
     return add_query_arg(
1650 1650
         array(
1651 1651
             'getpaid_embed' => 1,
1652
-            'form'          => $payment_form ? absint( $payment_form ) : false,
1653
-            'item'          => $items ? urlencode( $items ) : false
1652
+            'form'          => $payment_form ? absint($payment_form) : false,
1653
+            'item'          => $items ? urlencode($items) : false
1654 1654
         ),
1655
-        home_url( 'index.php' )
1655
+        home_url('index.php')
1656 1656
     );
1657 1657
 
1658 1658
 }
@@ -1662,13 +1662,13 @@  discard block
 block discarded – undo
1662 1662
  *
1663 1663
  * @return string
1664 1664
  */
1665
-function getpaid_filter_embed_template( $template ) {
1665
+function getpaid_filter_embed_template($template) {
1666 1666
 
1667
-    if ( isset( $_GET['getpaid_embed'] ) ) {
1668
-        wpinv_get_template( 'payment-forms/embed.php' );
1667
+    if (isset($_GET['getpaid_embed'])) {
1668
+        wpinv_get_template('payment-forms/embed.php');
1669 1669
         exit;
1670 1670
     }
1671 1671
 
1672 1672
     return $template;
1673 1673
 }
1674
-add_filter( 'template_include', 'getpaid_filter_embed_template' );
1674
+add_filter('template_include', 'getpaid_filter_embed_template');
Please login to merge, or discard this patch.
includes/admin/wpinv-admin-functions.php 2 patches
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -56,7 +56,7 @@
 block discarded – undo
56 56
 }
57 57
 
58 58
 function wpinv_admin_messages() {
59
-	settings_errors( 'wpinv-notices' );
59
+    settings_errors( 'wpinv-notices' );
60 60
 }
61 61
 add_action( 'admin_notices', 'wpinv_admin_messages' );
62 62
 
Please login to merge, or discard this patch.
Spacing   +63 added lines, -63 removed lines patch added patch discarded remove patch
@@ -7,65 +7,65 @@  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
-function wpinv_bulk_actions( $actions ) {
15
-    if ( isset( $actions['edit'] ) ) {
16
-        unset( $actions['edit'] );
14
+function wpinv_bulk_actions($actions) {
15
+    if (isset($actions['edit'])) {
16
+        unset($actions['edit']);
17 17
     }
18 18
 
19 19
     return $actions;
20 20
 }
21
-add_filter( 'bulk_actions-edit-wpi_invoice', 'wpinv_bulk_actions' );
22
-add_filter( 'bulk_actions-edit-wpi_item', 'wpinv_bulk_actions' );
21
+add_filter('bulk_actions-edit-wpi_invoice', 'wpinv_bulk_actions');
22
+add_filter('bulk_actions-edit-wpi_item', 'wpinv_bulk_actions');
23 23
 
24
-function wpinv_admin_post_id( $id = 0 ) {
24
+function wpinv_admin_post_id($id = 0) {
25 25
     global $post;
26 26
 
27
-    if ( isset( $id ) && ! empty( $id ) ) {
28
-        return (int)$id;
29
-    } else if ( get_the_ID() ) {
27
+    if (isset($id) && !empty($id)) {
28
+        return (int) $id;
29
+    } else if (get_the_ID()) {
30 30
         return (int) get_the_ID();
31
-    } else if ( isset( $post->ID ) && !empty( $post->ID ) ) {
31
+    } else if (isset($post->ID) && !empty($post->ID)) {
32 32
         return (int) $post->ID;
33
-    } else if ( isset( $_GET['post'] ) && !empty( $_GET['post'] ) ) {
33
+    } else if (isset($_GET['post']) && !empty($_GET['post'])) {
34 34
         return (int) $_GET['post'];
35
-    } else if ( isset( $_GET['id'] ) && !empty( $_GET['id'] ) ) {
35
+    } else if (isset($_GET['id']) && !empty($_GET['id'])) {
36 36
         return (int) $_GET['id'];
37
-    } else if ( isset( $_POST['id'] ) && !empty( $_POST['id'] ) ) {
37
+    } else if (isset($_POST['id']) && !empty($_POST['id'])) {
38 38
         return (int) $_POST['id'];
39 39
     } 
40 40
 
41 41
     return null;
42 42
 }
43 43
     
44
-function wpinv_admin_post_type( $id = 0 ) {
45
-    if ( !$id ) {
44
+function wpinv_admin_post_type($id = 0) {
45
+    if (!$id) {
46 46
         $id = wpinv_admin_post_id();
47 47
     }
48 48
     
49
-    $type = get_post_type( $id );
49
+    $type = get_post_type($id);
50 50
     
51
-    if ( !$type ) {
52
-        $type = isset( $_GET['post_type'] ) && !empty( $_GET['post_type'] ) ? $_GET['post_type'] : null;
51
+    if (!$type) {
52
+        $type = isset($_GET['post_type']) && !empty($_GET['post_type']) ? $_GET['post_type'] : null;
53 53
     }
54 54
     
55
-    return apply_filters( 'wpinv_admin_post_type', $type, $id );
55
+    return apply_filters('wpinv_admin_post_type', $type, $id);
56 56
 }
57 57
 
58 58
 function wpinv_admin_messages() {
59
-	settings_errors( 'wpinv-notices' );
59
+	settings_errors('wpinv-notices');
60 60
 }
61
-add_action( 'admin_notices', 'wpinv_admin_messages' );
61
+add_action('admin_notices', 'wpinv_admin_messages');
62 62
 
63
-add_action( 'admin_init', 'wpinv_show_test_payment_gateway_notice' );
64
-function wpinv_show_test_payment_gateway_notice(){
65
-    add_action( 'admin_notices', 'wpinv_test_payment_gateway_messages' );
63
+add_action('admin_init', 'wpinv_show_test_payment_gateway_notice');
64
+function wpinv_show_test_payment_gateway_notice() {
65
+    add_action('admin_notices', 'wpinv_test_payment_gateway_messages');
66 66
 }
67 67
 
68
-function wpinv_test_payment_gateway_messages(){
68
+function wpinv_test_payment_gateway_messages() {
69 69
     $gateways = wpinv_get_enabled_payment_gateways();
70 70
     $name = array(); $test_gateways = '';
71 71
     if ($gateways) {
@@ -76,9 +76,9 @@  discard block
 block discarded – undo
76 76
         }
77 77
         $test_gateways = implode(', ', $name);
78 78
     }
79
-    if(isset($test_gateways) && !empty($test_gateways) && wpinv_current_user_can_manage_invoicing()){
79
+    if (isset($test_gateways) && !empty($test_gateways) && wpinv_current_user_can_manage_invoicing()) {
80 80
         $link = admin_url('admin.php?page=wpinv-settings&tab=gateways');
81
-        $notice = wp_sprintf( __('<strong>Important:</strong> Payment Gateway(s) %s are in testing mode and will not receive real payments. Go to <a href="%s"> Gateway Settings</a>.', 'invoicing'), $test_gateways, $link );
81
+        $notice = wp_sprintf(__('<strong>Important:</strong> Payment Gateway(s) %s are in testing mode and will not receive real payments. Go to <a href="%s"> Gateway Settings</a>.', 'invoicing'), $test_gateways, $link);
82 82
         ?>
83 83
         <div class="notice notice-warning is-dismissible">
84 84
             <p><?php echo $notice; ?></p>
@@ -95,29 +95,29 @@  discard block
 block discarded – undo
95 95
     global $wpdb;
96 96
 
97 97
     // Only do this on our settings page.
98
-    if ( empty( $_GET[ 'page' ] ) || 'wpinv-settings' !== $_GET[ 'page' ] ) {
98
+    if (empty($_GET['page']) || 'wpinv-settings' !== $_GET['page']) {
99 99
         return;
100 100
     }
101 101
 
102 102
     // Check tables.
103
-    $tables             = array(
103
+    $tables = array(
104 104
         "{$wpdb->prefix}wpinv_subscriptions",
105 105
         "{$wpdb->prefix}getpaid_invoices",
106 106
         "{$wpdb->prefix}getpaid_invoice_items",
107 107
     );
108 108
 
109
-    foreach ( $tables as $table ) {
110
-        if ( $table != $wpdb->get_var( "SHOW TABLES LIKE '$table'" ) ) {
109
+    foreach ($tables as $table) {
110
+        if ($table != $wpdb->get_var("SHOW TABLES LIKE '$table'")) {
111 111
 
112
-            $url     = esc_url(
112
+            $url = esc_url(
113 113
                 wp_nonce_url(
114
-                    add_query_arg( 'getpaid-admin-action', 'create_missing_tables' ),
114
+                    add_query_arg('getpaid-admin-action', 'create_missing_tables'),
115 115
                     'getpaid-nonce',
116 116
                     'getpaid-nonce'
117 117
                 )
118 118
             );
119
-            $message  = __( 'Some GetPaid database tables are missing. To use GetPaid without any issues, click on the button below to create the missing tables.', 'invoicing' );
120
-            $message2 = __( 'Create Tables', 'invoicing' );
119
+            $message  = __('Some GetPaid database tables are missing. To use GetPaid without any issues, click on the button below to create the missing tables.', 'invoicing');
120
+            $message2 = __('Create Tables', 'invoicing');
121 121
             echo "<div class='notice notice-warning is-dismissible'><p>$message<br><br><a href='$url' class='button button-primary'>$message2</a></p></div>";
122 122
             break;
123 123
 
@@ -125,7 +125,7 @@  discard block
 block discarded – undo
125 125
     }
126 126
 
127 127
 }
128
-add_action( 'admin_notices', 'wpinv_check_for_missing_tables' );
128
+add_action('admin_notices', 'wpinv_check_for_missing_tables');
129 129
 
130 130
 add_action('admin_init', 'wpinv_admin_search_by_invoice');
131 131
 
@@ -135,7 +135,7 @@  discard block
 block discarded – undo
135 135
 function wpinv_admin_search_by_invoice() {
136 136
     global $typenow;
137 137
 
138
-    if ($typenow === 'wpi_invoice' || $typenow === 'wpi_quote' ) {
138
+    if ($typenow === 'wpi_invoice' || $typenow === 'wpi_quote') {
139 139
         add_filter('posts_search', 'wpinv_posts_search_example_type', 10, 2);
140 140
     }
141 141
 }
@@ -150,9 +150,9 @@  discard block
 block discarded – undo
150 150
     global $wpdb;
151 151
 
152 152
     if ($query->is_main_query() && !empty($query->query['s'])) {
153
-        $conditions_str = "{$wpdb->posts}.post_author IN ( SELECT ID FROM {$wpdb->users} WHERE user_email LIKE '%" . esc_sql( $query->query['s'] ) . "%' )";
154
-        if ( ! empty( $search ) ) {
155
-            $search = preg_replace( '/^ AND /', '', $search );
153
+        $conditions_str = "{$wpdb->posts}.post_author IN ( SELECT ID FROM {$wpdb->users} WHERE user_email LIKE '%" . esc_sql($query->query['s']) . "%' )";
154
+        if (!empty($search)) {
155
+            $search = preg_replace('/^ AND /', '', $search);
156 156
             $search = " AND ( {$search} OR ( {$conditions_str} ) )";
157 157
         } else {
158 158
             $search = " AND ( {$conditions_str} )";
@@ -165,17 +165,17 @@  discard block
 block discarded – undo
165 165
 /**
166 166
  * Resets invoice counts.
167 167
  */
168
-function wpinv_reset_invoice_count(){
169
-    if ( ! empty( $_GET['reset_invoice_count'] ) && isset( $_GET['_nonce'] ) && wp_verify_nonce( $_GET['_nonce'], 'reset_invoice_count' ) ) {
168
+function wpinv_reset_invoice_count() {
169
+    if (!empty($_GET['reset_invoice_count']) && isset($_GET['_nonce']) && wp_verify_nonce($_GET['_nonce'], 'reset_invoice_count')) {
170 170
         wpinv_update_option('invoice_sequence_start', 1);
171 171
         delete_option('wpinv_last_invoice_number');
172
-        getpaid_admin()->show_success( __( 'Invoice number sequence reset successfully.', 'invoicing' ) );
173
-        $url = remove_query_arg( array('reset_invoice_count', '_nonce') );
172
+        getpaid_admin()->show_success(__('Invoice number sequence reset successfully.', 'invoicing'));
173
+        $url = remove_query_arg(array('reset_invoice_count', '_nonce'));
174 174
         wp_redirect($url);
175 175
         exit();
176 176
     }
177 177
 }
178
-add_action( 'admin_init', 'wpinv_reset_invoice_count' );
178
+add_action('admin_init', 'wpinv_reset_invoice_count');
179 179
 
180 180
 /**
181 181
  * Displays line items on the invoice edit page.
@@ -184,29 +184,29 @@  discard block
 block discarded – undo
184 184
  * @param array $columns
185 185
  * @return string
186 186
  */
187
-function wpinv_admin_get_line_items( $invoice, $columns ) {
187
+function wpinv_admin_get_line_items($invoice, $columns) {
188 188
 
189 189
     ob_start();
190 190
 
191
-    do_action( 'getpaid_admin_before_line_items', $invoice );
191
+    do_action('getpaid_admin_before_line_items', $invoice);
192 192
 
193 193
     $count = 0;
194
-    foreach ( $invoice->get_items() as $item ) {
194
+    foreach ($invoice->get_items() as $item) {
195 195
 
196
-        $item_price     = wpinv_price( $item->get_price(), $invoice->get_currency() );
196
+        $item_price     = wpinv_price($item->get_price(), $invoice->get_currency());
197 197
         $quantity       = (int) $item->get_quantity();
198
-        $item_subtotal  = wpinv_price( $item->get_sub_total(), $invoice->get_currency() );
199
-        $summary        = apply_filters( 'getpaid_admin_invoice_line_item_summary', $item->get_description(), $item, $invoice );
198
+        $item_subtotal  = wpinv_price($item->get_sub_total(), $invoice->get_currency());
199
+        $summary        = apply_filters('getpaid_admin_invoice_line_item_summary', $item->get_description(), $item, $invoice);
200 200
         $item_tax       = $item->item_tax;
201
-        $tax_rate       = wpinv_round_amount( getpaid_get_invoice_tax_rate( $invoice, $item ), 2, true ) . '%';;
202
-        $tax_rate       = empty( $tax_rate ) ? ' <span class="tax-rate">(' . $tax_rate . '%)</span>' : '';
201
+        $tax_rate       = wpinv_round_amount(getpaid_get_invoice_tax_rate($invoice, $item), 2, true) . '%'; ;
202
+        $tax_rate       = empty($tax_rate) ? ' <span class="tax-rate">(' . $tax_rate . '%)</span>' : '';
203 203
         $line_item_tax  = $item_tax . $tax_rate;
204
-        $line_item      = '<tr class="item item-' . ( ($count % 2 == 0) ? 'even' : 'odd' ) . '" data-item-id="' . esc_attr( $item->get_id() ) . '">';
204
+        $line_item      = '<tr class="item item-' . (($count % 2 == 0) ? 'even' : 'odd') . '" data-item-id="' . esc_attr($item->get_id()) . '">';
205 205
         $line_item     .= '<td class="id">' . (int) $item->get_id() . '</td>';
206
-        $line_item     .= '<td class="title"><a href="' . get_edit_post_link( $item->get_id() ) . '" target="_blank">' . $item->get_name() . '</a>';
206
+        $line_item     .= '<td class="title"><a href="' . get_edit_post_link($item->get_id()) . '" target="_blank">' . $item->get_name() . '</a>';
207 207
 
208
-        if ( $summary !== '' ) {
209
-            $line_item .= '<span class="meta">' . wpautop( wp_kses_post( $summary ) ) . '</span>';
208
+        if ($summary !== '') {
209
+            $line_item .= '<span class="meta">' . wpautop(wp_kses_post($summary)) . '</span>';
210 210
         }
211 211
 
212 212
         $line_item .= '</td>';
@@ -214,23 +214,23 @@  discard block
 block discarded – undo
214 214
         $line_item .= '<td class="qty" data-quantity="' . $quantity . '">&nbsp;&times;&nbsp;' . $quantity . '</td>';
215 215
         $line_item .= '<td class="total">' . $item_subtotal . '</td>';
216 216
 
217
-        if ( wpinv_use_taxes() && $invoice->is_taxable() ) {
217
+        if (wpinv_use_taxes() && $invoice->is_taxable()) {
218 218
             $line_item .= '<td class="tax">' . $line_item_tax . '</td>';
219 219
         }
220 220
 
221 221
         $line_item .= '<td class="action">';
222
-        if ( ! $invoice->is_paid() && ! $invoice->is_refunded() ) {
222
+        if (!$invoice->is_paid() && !$invoice->is_refunded()) {
223 223
             $line_item .= '<i class="fa fa-remove wpinv-item-remove"></i>';
224 224
         }
225 225
         $line_item .= '</td>';
226 226
         $line_item .= '</tr>';
227 227
 
228
-        echo apply_filters( 'getpaid_admin_line_item', $line_item, $item, $invoice );
228
+        echo apply_filters('getpaid_admin_line_item', $line_item, $item, $invoice);
229 229
 
230 230
         $count++;
231 231
     }
232 232
 
233
-    do_action( 'getpaid_admin_after_line_items', $invoice );
233
+    do_action('getpaid_admin_after_line_items', $invoice);
234 234
 
235 235
     return ob_get_clean();
236 236
 }
Please login to merge, or discard this patch.
vendor/composer/platform_check.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -5,7 +5,7 @@
 block discarded – undo
5 5
 $issues = array();
6 6
 
7 7
 if (!(PHP_VERSION_ID >= 50600)) {
8
-    $issues[] = 'Your Composer dependencies require a PHP version ">= 5.6.0". You are running ' . PHP_VERSION  .  '.';
8
+    $issues[] = 'Your Composer dependencies require a PHP version ">= 5.6.0". You are running ' . PHP_VERSION . '.';
9 9
 }
10 10
 
11 11
 if ($issues) {
Please login to merge, or discard this patch.