Passed
Push — master ( 414b02...c77662 )
by Brian
04:42
created
includes/payments/class-getpaid-payment-form-submission-taxes.php 2 patches
Indentation   +209 added lines, -209 removed lines patch added patch discarded remove patch
@@ -12,228 +12,228 @@
 block discarded – undo
12 12
  */
13 13
 class GetPaid_Payment_Form_Submission_Taxes {
14 14
 
15
-	/**
16
-	 * Submission taxes.
17
-	 * @var array
18
-	 */
19
-	public $taxes = array();
20
-
21
-	/**
22
-	 * Whether or not we should skip the taxes.
23
-	 * @var bool
24
-	 */
25
-	protected $skip_taxes = false;
15
+    /**
16
+     * Submission taxes.
17
+     * @var array
18
+     */
19
+    public $taxes = array();
20
+
21
+    /**
22
+     * Whether or not we should skip the taxes.
23
+     * @var bool
24
+     */
25
+    protected $skip_taxes = false;
26 26
 
27 27
     /**
28
-	 * Class constructor
29
-	 *
30
-	 * @param GetPaid_Payment_Form_Submission $submission
31
-	 */
32
-	public function __construct( $submission ) {
33
-
34
-		// Validate VAT number.
35
-		$this->validate_vat( $submission );
36
-
37
-		if ( $this->skip_taxes ) {
38
-			return;
39
-		}
40
-
41
-		foreach ( $submission->get_items() as $item ) {
42
-			$this->process_item_tax( $item, $submission );
43
-		}
44
-
45
-		// Process any existing invoice taxes.
46
-		if ( $submission->has_invoice() ) {
47
-			$this->taxes = array_replace( $submission->get_invoice()->get_taxes(), $this->taxes );
48
-		}
49
-
50
-	}
51
-
52
-	/**
53
-	 * Maybe process tax.
54
-	 *
55
-	 * @since 1.0.19
56
-	 * @param GetPaid_Form_Item $item
57
-	 * @param GetPaid_Payment_Form_Submission $submission
58
-	 */
59
-	public function process_item_tax( $item, $submission ) {
60
-
61
-		$rates    = getpaid_get_item_tax_rates( $item, $submission->country, $submission->state );
62
-		$rates    = getpaid_filter_item_tax_rates( $item, $rates );
63
-		$taxes    = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, false ), $rates );
64
-		$r_taxes  = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, true ), $rates );
65
-
66
-		foreach ( $taxes as $name => $amount ) {
67
-			$recurring = isset( $r_taxes[ $name ] ) ? $r_taxes[ $name ] : 0;
68
-			$tax       = getpaid_prepare_item_tax( $item, $name, $amount, $recurring );
69
-
70
-			$item->item_tax += wpinv_sanitize_amount( $tax['initial_tax'] );
71
-
72
-			if ( ! isset( $this->taxes[ $name ] ) ) {
73
-				$this->taxes[ $name ] = $tax;
74
-				continue;
75
-			}
76
-
77
-			$this->taxes[ $name ]['initial_tax']   += $tax['initial_tax'];
78
-			$this->taxes[ $name ]['recurring_tax'] += $tax['recurring_tax'];
79
-
80
-		}
81
-
82
-	}
83
-
84
-	/**
85
-	 * Checks if the submission has a digital item.
86
-	 *
87
-	 * @param GetPaid_Payment_Form_Submission $submission
88
-	 * @since 1.0.19
89
-	 * @return bool
90
-	 */
91
-	public function has_digital_item( $submission ) {
92
-
93
-		foreach ( $submission->get_items() as $item ) {
94
-
95
-			if ( 'digital' == $item->get_vat_rule() ) {
96
-				return true;
97
-			}
98
-
99
-		}
100
-
101
-		return false;
102
-	}
103
-
104
-	/**
105
-	 * Checks if this is an eu store.
106
-	 *
107
-	 * @since 1.0.19
108
-	 * @return bool
109
-	 */
110
-	public static function is_eu_store() {
111
-		return self::is_eu_country( wpinv_get_default_country() );
112
-	}
113
-
114
-	/**
115
-	 * Checks if this is an eu country.
116
-	 *
117
-	 * @param string $country
118
-	 * @since 1.0.19
119
-	 * @return bool
120
-	 */
121
-	public static function is_eu_country( $country ) {
122
-		return getpaid_is_eu_state( $country );
123
-	}
124
-
125
-	/**
126
-	 * Checks if this is an eu purchase.
127
-	 *
128
-	 * @param string $customer_country
129
-	 * @since 1.0.19
130
-	 * @return bool
131
-	 */
132
-	public static function is_eu_transaction( $customer_country ) {
133
-		return self::is_eu_country( $customer_country ) && self::is_eu_store();
134
-	}
135
-
136
-	/**
137
-	 * Retrieves the vat number.
138
-	 *
139
-	 * @param GetPaid_Payment_Form_Submission $submission
140
-	 * @since 1.0.19
141
-	 * @return string
142
-	 */
143
-	public function get_vat_number( $submission ) {
144
-
145
-		// Retrieve from the posted number.
146
-		$vat_number = $submission->get_field( 'wpinv_vat_number', 'billing' );
147
-		if ( ! is_null( $vat_number ) ) {
148
-			return wpinv_clean( $vat_number );
149
-		}
150
-
151
-		return $submission->has_invoice() ? $submission->get_invoice()->get_vat_number() : '';
152
-	}
153
-
154
-	/**
155
-	 * Retrieves the company.
156
-	 *
157
-	 * @param GetPaid_Payment_Form_Submission $submission
158
-	 * @since 1.0.19
159
-	 * @return string
160
-	 */
161
-	public function get_company( $submission ) {
162
-
163
-		// Retrieve from the posted data.
164
-		$company = $submission->get_field( 'wpinv_company', 'billing' );
165
-		if ( ! empty( $company ) ) {
166
-			return wpinv_clean( $company );
167
-		}
168
-
169
-		// Retrieve from the invoice.
170
-		return $submission->has_invoice() ? $submission->get_invoice()->get_company() : '';
171
-	}
172
-
173
-	/**
174
-	 * Checks if we require a VAT number.
175
-	 *
176
-	 * @param bool $ip_in_eu Whether the customer IP is from the EU
177
-	 * @param bool $country_in_eu Whether the customer country is from the EU
178
-	 * @since 1.0.19
179
-	 * @return string
180
-	 */
181
-	public function requires_vat( $ip_in_eu, $country_in_eu ) {
182
-
183
-		$prevent_b2c = wpinv_get_option( 'vat_prevent_b2c_purchase' );
184
-		$prevent_b2c = ! empty( $prevent_b2c );
185
-		$is_eu       = $ip_in_eu || $country_in_eu;
186
-
187
-		return $prevent_b2c && $is_eu;
188
-	}
189
-
190
-	/**
191
-	 * Validate VAT data.
192
-	 *
193
-	 * @param GetPaid_Payment_Form_Submission $submission
194
-	 * @since 1.0.19
195
-	 */
196
-	public function validate_vat( $submission ) {
197
-
198
-		$in_eu = $this->is_eu_transaction( $submission->country );
199
-
200
-		// Abort if we are not validating vat numbers.
201
-		if ( ! $in_eu ) {
28
+     * Class constructor
29
+     *
30
+     * @param GetPaid_Payment_Form_Submission $submission
31
+     */
32
+    public function __construct( $submission ) {
33
+
34
+        // Validate VAT number.
35
+        $this->validate_vat( $submission );
36
+
37
+        if ( $this->skip_taxes ) {
202 38
             return;
203
-		}
39
+        }
40
+
41
+        foreach ( $submission->get_items() as $item ) {
42
+            $this->process_item_tax( $item, $submission );
43
+        }
44
+
45
+        // Process any existing invoice taxes.
46
+        if ( $submission->has_invoice() ) {
47
+            $this->taxes = array_replace( $submission->get_invoice()->get_taxes(), $this->taxes );
48
+        }
49
+
50
+    }
51
+
52
+    /**
53
+     * Maybe process tax.
54
+     *
55
+     * @since 1.0.19
56
+     * @param GetPaid_Form_Item $item
57
+     * @param GetPaid_Payment_Form_Submission $submission
58
+     */
59
+    public function process_item_tax( $item, $submission ) {
60
+
61
+        $rates    = getpaid_get_item_tax_rates( $item, $submission->country, $submission->state );
62
+        $rates    = getpaid_filter_item_tax_rates( $item, $rates );
63
+        $taxes    = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, false ), $rates );
64
+        $r_taxes  = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, true ), $rates );
65
+
66
+        foreach ( $taxes as $name => $amount ) {
67
+            $recurring = isset( $r_taxes[ $name ] ) ? $r_taxes[ $name ] : 0;
68
+            $tax       = getpaid_prepare_item_tax( $item, $name, $amount, $recurring );
69
+
70
+            $item->item_tax += wpinv_sanitize_amount( $tax['initial_tax'] );
71
+
72
+            if ( ! isset( $this->taxes[ $name ] ) ) {
73
+                $this->taxes[ $name ] = $tax;
74
+                continue;
75
+            }
76
+
77
+            $this->taxes[ $name ]['initial_tax']   += $tax['initial_tax'];
78
+            $this->taxes[ $name ]['recurring_tax'] += $tax['recurring_tax'];
79
+
80
+        }
81
+
82
+    }
83
+
84
+    /**
85
+     * Checks if the submission has a digital item.
86
+     *
87
+     * @param GetPaid_Payment_Form_Submission $submission
88
+     * @since 1.0.19
89
+     * @return bool
90
+     */
91
+    public function has_digital_item( $submission ) {
92
+
93
+        foreach ( $submission->get_items() as $item ) {
94
+
95
+            if ( 'digital' == $item->get_vat_rule() ) {
96
+                return true;
97
+            }
98
+
99
+        }
204 100
 
205
-		// Prepare variables.
206
-		$vat_number  = $this->get_vat_number( $submission );
207
-		$ip_country  = getpaid_get_ip_country();
101
+        return false;
102
+    }
103
+
104
+    /**
105
+     * Checks if this is an eu store.
106
+     *
107
+     * @since 1.0.19
108
+     * @return bool
109
+     */
110
+    public static function is_eu_store() {
111
+        return self::is_eu_country( wpinv_get_default_country() );
112
+    }
113
+
114
+    /**
115
+     * Checks if this is an eu country.
116
+     *
117
+     * @param string $country
118
+     * @since 1.0.19
119
+     * @return bool
120
+     */
121
+    public static function is_eu_country( $country ) {
122
+        return getpaid_is_eu_state( $country );
123
+    }
124
+
125
+    /**
126
+     * Checks if this is an eu purchase.
127
+     *
128
+     * @param string $customer_country
129
+     * @since 1.0.19
130
+     * @return bool
131
+     */
132
+    public static function is_eu_transaction( $customer_country ) {
133
+        return self::is_eu_country( $customer_country ) && self::is_eu_store();
134
+    }
135
+
136
+    /**
137
+     * Retrieves the vat number.
138
+     *
139
+     * @param GetPaid_Payment_Form_Submission $submission
140
+     * @since 1.0.19
141
+     * @return string
142
+     */
143
+    public function get_vat_number( $submission ) {
144
+
145
+        // Retrieve from the posted number.
146
+        $vat_number = $submission->get_field( 'wpinv_vat_number', 'billing' );
147
+        if ( ! is_null( $vat_number ) ) {
148
+            return wpinv_clean( $vat_number );
149
+        }
150
+
151
+        return $submission->has_invoice() ? $submission->get_invoice()->get_vat_number() : '';
152
+    }
153
+
154
+    /**
155
+     * Retrieves the company.
156
+     *
157
+     * @param GetPaid_Payment_Form_Submission $submission
158
+     * @since 1.0.19
159
+     * @return string
160
+     */
161
+    public function get_company( $submission ) {
162
+
163
+        // Retrieve from the posted data.
164
+        $company = $submission->get_field( 'wpinv_company', 'billing' );
165
+        if ( ! empty( $company ) ) {
166
+            return wpinv_clean( $company );
167
+        }
168
+
169
+        // Retrieve from the invoice.
170
+        return $submission->has_invoice() ? $submission->get_invoice()->get_company() : '';
171
+    }
172
+
173
+    /**
174
+     * Checks if we require a VAT number.
175
+     *
176
+     * @param bool $ip_in_eu Whether the customer IP is from the EU
177
+     * @param bool $country_in_eu Whether the customer country is from the EU
178
+     * @since 1.0.19
179
+     * @return string
180
+     */
181
+    public function requires_vat( $ip_in_eu, $country_in_eu ) {
182
+
183
+        $prevent_b2c = wpinv_get_option( 'vat_prevent_b2c_purchase' );
184
+        $prevent_b2c = ! empty( $prevent_b2c );
185
+        $is_eu       = $ip_in_eu || $country_in_eu;
186
+
187
+        return $prevent_b2c && $is_eu;
188
+    }
189
+
190
+    /**
191
+     * Validate VAT data.
192
+     *
193
+     * @param GetPaid_Payment_Form_Submission $submission
194
+     * @since 1.0.19
195
+     */
196
+    public function validate_vat( $submission ) {
197
+
198
+        $in_eu = $this->is_eu_transaction( $submission->country );
199
+
200
+        // Abort if we are not validating vat numbers.
201
+        if ( ! $in_eu ) {
202
+            return;
203
+        }
204
+
205
+        // Prepare variables.
206
+        $vat_number  = $this->get_vat_number( $submission );
207
+        $ip_country  = getpaid_get_ip_country();
208 208
         $is_eu       = $this->is_eu_country( $submission->country );
209 209
         $is_ip_eu    = $this->is_eu_country( $ip_country );
210 210
 
211
-		// Maybe abort early for initial fetches.
212
-		if ( $submission->is_initial_fetch() && empty( $vat_number ) ) {
213
-			return;
214
-		}
211
+        // Maybe abort early for initial fetches.
212
+        if ( $submission->is_initial_fetch() && empty( $vat_number ) ) {
213
+            return;
214
+        }
215 215
 
216
-		// If we're preventing business to consumer purchases,
217
-		if ( $this->requires_vat( $is_ip_eu, $is_eu ) && empty( $vat_number ) ) {
216
+        // If we're preventing business to consumer purchases,
217
+        if ( $this->requires_vat( $is_ip_eu, $is_eu ) && empty( $vat_number ) ) {
218 218
 
219
-			// Ensure that a vat number has been specified.
220
-			throw new GetPaid_Payment_Exception( '.getpaid-error-billingwpinv_vat_number.getpaid-custom-payment-form-errors', __( 'Please enter your VAT number to verify your purchase is by an EU business.', 'invoicing' ) );
219
+            // Ensure that a vat number has been specified.
220
+            throw new GetPaid_Payment_Exception( '.getpaid-error-billingwpinv_vat_number.getpaid-custom-payment-form-errors', __( 'Please enter your VAT number to verify your purchase is by an EU business.', 'invoicing' ) );
221 221
 
222
-		}
222
+        }
223 223
 
224
-		if ( empty( $vat_number ) ) {
225
-			return;
226
-		}
224
+        if ( empty( $vat_number ) ) {
225
+            return;
226
+        }
227 227
 
228
-		if ( wpinv_should_validate_vat_number() && ! wpinv_validate_vat_number( $vat_number, $submission->country ) ) {
229
-			throw new GetPaid_Payment_Exception( '.getpaid-error-billingwpinv_vat_number.getpaid-custom-payment-form-errors', __( 'Your VAT number is invalid', 'invoicing' ) );
230
-		}
228
+        if ( wpinv_should_validate_vat_number() && ! wpinv_validate_vat_number( $vat_number, $submission->country ) ) {
229
+            throw new GetPaid_Payment_Exception( '.getpaid-error-billingwpinv_vat_number.getpaid-custom-payment-form-errors', __( 'Your VAT number is invalid', 'invoicing' ) );
230
+        }
231 231
 
232
-		if (  wpinv_default_billing_country() == $submission->country && 'vat_too' == wpinv_get_option( 'vat_same_country_rule', 'vat_too' ) ) {
233
-			return;
234
-		}
232
+        if (  wpinv_default_billing_country() == $submission->country && 'vat_too' == wpinv_get_option( 'vat_same_country_rule', 'vat_too' ) ) {
233
+            return;
234
+        }
235 235
 
236
-		$this->skip_taxes = true;
237
-	}
236
+        $this->skip_taxes = true;
237
+    }
238 238
 
239 239
 }
Please login to merge, or discard this patch.
Spacing   +53 added lines, -53 removed lines patch added patch discarded remove patch
@@ -4,7 +4,7 @@  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
  * Payment form submission taxes class
@@ -29,22 +29,22 @@  discard block
 block discarded – undo
29 29
 	 *
30 30
 	 * @param GetPaid_Payment_Form_Submission $submission
31 31
 	 */
32
-	public function __construct( $submission ) {
32
+	public function __construct($submission) {
33 33
 
34 34
 		// Validate VAT number.
35
-		$this->validate_vat( $submission );
35
+		$this->validate_vat($submission);
36 36
 
37
-		if ( $this->skip_taxes ) {
37
+		if ($this->skip_taxes) {
38 38
 			return;
39 39
 		}
40 40
 
41
-		foreach ( $submission->get_items() as $item ) {
42
-			$this->process_item_tax( $item, $submission );
41
+		foreach ($submission->get_items() as $item) {
42
+			$this->process_item_tax($item, $submission);
43 43
 		}
44 44
 
45 45
 		// Process any existing invoice taxes.
46
-		if ( $submission->has_invoice() ) {
47
-			$this->taxes = array_replace( $submission->get_invoice()->get_taxes(), $this->taxes );
46
+		if ($submission->has_invoice()) {
47
+			$this->taxes = array_replace($submission->get_invoice()->get_taxes(), $this->taxes);
48 48
 		}
49 49
 
50 50
 	}
@@ -56,26 +56,26 @@  discard block
 block discarded – undo
56 56
 	 * @param GetPaid_Form_Item $item
57 57
 	 * @param GetPaid_Payment_Form_Submission $submission
58 58
 	 */
59
-	public function process_item_tax( $item, $submission ) {
59
+	public function process_item_tax($item, $submission) {
60 60
 
61
-		$rates    = getpaid_get_item_tax_rates( $item, $submission->country, $submission->state );
62
-		$rates    = getpaid_filter_item_tax_rates( $item, $rates );
63
-		$taxes    = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, false ), $rates );
64
-		$r_taxes  = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, true ), $rates );
61
+		$rates    = getpaid_get_item_tax_rates($item, $submission->country, $submission->state);
62
+		$rates    = getpaid_filter_item_tax_rates($item, $rates);
63
+		$taxes    = getpaid_calculate_item_taxes(getpaid_get_taxable_amount($item, false), $rates);
64
+		$r_taxes  = getpaid_calculate_item_taxes(getpaid_get_taxable_amount($item, true), $rates);
65 65
 
66
-		foreach ( $taxes as $name => $amount ) {
67
-			$recurring = isset( $r_taxes[ $name ] ) ? $r_taxes[ $name ] : 0;
68
-			$tax       = getpaid_prepare_item_tax( $item, $name, $amount, $recurring );
66
+		foreach ($taxes as $name => $amount) {
67
+			$recurring = isset($r_taxes[$name]) ? $r_taxes[$name] : 0;
68
+			$tax       = getpaid_prepare_item_tax($item, $name, $amount, $recurring);
69 69
 
70
-			$item->item_tax += wpinv_sanitize_amount( $tax['initial_tax'] );
70
+			$item->item_tax += wpinv_sanitize_amount($tax['initial_tax']);
71 71
 
72
-			if ( ! isset( $this->taxes[ $name ] ) ) {
73
-				$this->taxes[ $name ] = $tax;
72
+			if (!isset($this->taxes[$name])) {
73
+				$this->taxes[$name] = $tax;
74 74
 				continue;
75 75
 			}
76 76
 
77
-			$this->taxes[ $name ]['initial_tax']   += $tax['initial_tax'];
78
-			$this->taxes[ $name ]['recurring_tax'] += $tax['recurring_tax'];
77
+			$this->taxes[$name]['initial_tax']   += $tax['initial_tax'];
78
+			$this->taxes[$name]['recurring_tax'] += $tax['recurring_tax'];
79 79
 
80 80
 		}
81 81
 
@@ -88,11 +88,11 @@  discard block
 block discarded – undo
88 88
 	 * @since 1.0.19
89 89
 	 * @return bool
90 90
 	 */
91
-	public function has_digital_item( $submission ) {
91
+	public function has_digital_item($submission) {
92 92
 
93
-		foreach ( $submission->get_items() as $item ) {
93
+		foreach ($submission->get_items() as $item) {
94 94
 
95
-			if ( 'digital' == $item->get_vat_rule() ) {
95
+			if ('digital' == $item->get_vat_rule()) {
96 96
 				return true;
97 97
 			}
98 98
 
@@ -108,7 +108,7 @@  discard block
 block discarded – undo
108 108
 	 * @return bool
109 109
 	 */
110 110
 	public static function is_eu_store() {
111
-		return self::is_eu_country( wpinv_get_default_country() );
111
+		return self::is_eu_country(wpinv_get_default_country());
112 112
 	}
113 113
 
114 114
 	/**
@@ -118,8 +118,8 @@  discard block
 block discarded – undo
118 118
 	 * @since 1.0.19
119 119
 	 * @return bool
120 120
 	 */
121
-	public static function is_eu_country( $country ) {
122
-		return getpaid_is_eu_state( $country );
121
+	public static function is_eu_country($country) {
122
+		return getpaid_is_eu_state($country);
123 123
 	}
124 124
 
125 125
 	/**
@@ -129,8 +129,8 @@  discard block
 block discarded – undo
129 129
 	 * @since 1.0.19
130 130
 	 * @return bool
131 131
 	 */
132
-	public static function is_eu_transaction( $customer_country ) {
133
-		return self::is_eu_country( $customer_country ) && self::is_eu_store();
132
+	public static function is_eu_transaction($customer_country) {
133
+		return self::is_eu_country($customer_country) && self::is_eu_store();
134 134
 	}
135 135
 
136 136
 	/**
@@ -140,12 +140,12 @@  discard block
 block discarded – undo
140 140
 	 * @since 1.0.19
141 141
 	 * @return string
142 142
 	 */
143
-	public function get_vat_number( $submission ) {
143
+	public function get_vat_number($submission) {
144 144
 
145 145
 		// Retrieve from the posted number.
146
-		$vat_number = $submission->get_field( 'wpinv_vat_number', 'billing' );
147
-		if ( ! is_null( $vat_number ) ) {
148
-			return wpinv_clean( $vat_number );
146
+		$vat_number = $submission->get_field('wpinv_vat_number', 'billing');
147
+		if (!is_null($vat_number)) {
148
+			return wpinv_clean($vat_number);
149 149
 		}
150 150
 
151 151
 		return $submission->has_invoice() ? $submission->get_invoice()->get_vat_number() : '';
@@ -158,12 +158,12 @@  discard block
 block discarded – undo
158 158
 	 * @since 1.0.19
159 159
 	 * @return string
160 160
 	 */
161
-	public function get_company( $submission ) {
161
+	public function get_company($submission) {
162 162
 
163 163
 		// Retrieve from the posted data.
164
-		$company = $submission->get_field( 'wpinv_company', 'billing' );
165
-		if ( ! empty( $company ) ) {
166
-			return wpinv_clean( $company );
164
+		$company = $submission->get_field('wpinv_company', 'billing');
165
+		if (!empty($company)) {
166
+			return wpinv_clean($company);
167 167
 		}
168 168
 
169 169
 		// Retrieve from the invoice.
@@ -178,10 +178,10 @@  discard block
 block discarded – undo
178 178
 	 * @since 1.0.19
179 179
 	 * @return string
180 180
 	 */
181
-	public function requires_vat( $ip_in_eu, $country_in_eu ) {
181
+	public function requires_vat($ip_in_eu, $country_in_eu) {
182 182
 
183
-		$prevent_b2c = wpinv_get_option( 'vat_prevent_b2c_purchase' );
184
-		$prevent_b2c = ! empty( $prevent_b2c );
183
+		$prevent_b2c = wpinv_get_option('vat_prevent_b2c_purchase');
184
+		$prevent_b2c = !empty($prevent_b2c);
185 185
 		$is_eu       = $ip_in_eu || $country_in_eu;
186 186
 
187 187
 		return $prevent_b2c && $is_eu;
@@ -193,43 +193,43 @@  discard block
 block discarded – undo
193 193
 	 * @param GetPaid_Payment_Form_Submission $submission
194 194
 	 * @since 1.0.19
195 195
 	 */
196
-	public function validate_vat( $submission ) {
196
+	public function validate_vat($submission) {
197 197
 
198
-		$in_eu = $this->is_eu_transaction( $submission->country );
198
+		$in_eu = $this->is_eu_transaction($submission->country);
199 199
 
200 200
 		// Abort if we are not validating vat numbers.
201
-		if ( ! $in_eu ) {
201
+		if (!$in_eu) {
202 202
             return;
203 203
 		}
204 204
 
205 205
 		// Prepare variables.
206
-		$vat_number  = $this->get_vat_number( $submission );
206
+		$vat_number  = $this->get_vat_number($submission);
207 207
 		$ip_country  = getpaid_get_ip_country();
208
-        $is_eu       = $this->is_eu_country( $submission->country );
209
-        $is_ip_eu    = $this->is_eu_country( $ip_country );
208
+        $is_eu       = $this->is_eu_country($submission->country);
209
+        $is_ip_eu    = $this->is_eu_country($ip_country);
210 210
 
211 211
 		// Maybe abort early for initial fetches.
212
-		if ( $submission->is_initial_fetch() && empty( $vat_number ) ) {
212
+		if ($submission->is_initial_fetch() && empty($vat_number)) {
213 213
 			return;
214 214
 		}
215 215
 
216 216
 		// If we're preventing business to consumer purchases,
217
-		if ( $this->requires_vat( $is_ip_eu, $is_eu ) && empty( $vat_number ) ) {
217
+		if ($this->requires_vat($is_ip_eu, $is_eu) && empty($vat_number)) {
218 218
 
219 219
 			// Ensure that a vat number has been specified.
220
-			throw new GetPaid_Payment_Exception( '.getpaid-error-billingwpinv_vat_number.getpaid-custom-payment-form-errors', __( 'Please enter your VAT number to verify your purchase is by an EU business.', 'invoicing' ) );
220
+			throw new GetPaid_Payment_Exception('.getpaid-error-billingwpinv_vat_number.getpaid-custom-payment-form-errors', __('Please enter your VAT number to verify your purchase is by an EU business.', 'invoicing'));
221 221
 
222 222
 		}
223 223
 
224
-		if ( empty( $vat_number ) ) {
224
+		if (empty($vat_number)) {
225 225
 			return;
226 226
 		}
227 227
 
228
-		if ( wpinv_should_validate_vat_number() && ! wpinv_validate_vat_number( $vat_number, $submission->country ) ) {
229
-			throw new GetPaid_Payment_Exception( '.getpaid-error-billingwpinv_vat_number.getpaid-custom-payment-form-errors', __( 'Your VAT number is invalid', 'invoicing' ) );
228
+		if (wpinv_should_validate_vat_number() && !wpinv_validate_vat_number($vat_number, $submission->country)) {
229
+			throw new GetPaid_Payment_Exception('.getpaid-error-billingwpinv_vat_number.getpaid-custom-payment-form-errors', __('Your VAT number is invalid', 'invoicing'));
230 230
 		}
231 231
 
232
-		if (  wpinv_default_billing_country() == $submission->country && 'vat_too' == wpinv_get_option( 'vat_same_country_rule', 'vat_too' ) ) {
232
+		if (wpinv_default_billing_country() == $submission->country && 'vat_too' == wpinv_get_option('vat_same_country_rule', 'vat_too')) {
233 233
 			return;
234 234
 		}
235 235
 
Please login to merge, or discard this patch.
vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php 2 patches
Indentation   +18 added lines, -18 removed lines patch added patch discarded remove patch
@@ -7,40 +7,40 @@
 block discarded – undo
7 7
  * Bail if we are not in WP.
8 8
  */
9 9
 if ( ! defined( 'ABSPATH' ) ) {
10
-	exit;
10
+    exit;
11 11
 }
12 12
 
13 13
 /**
14 14
  * Set the version only if its the current newest while loading.
15 15
  */
16 16
 add_action('after_setup_theme', function () {
17
-	global $ayecode_ui_version,$ayecode_ui_file_key;
18
-	$this_version = "0.1.59";
19
-	if(version_compare($this_version , $ayecode_ui_version, '>')){
20
-		$ayecode_ui_version = $this_version ;
21
-		$ayecode_ui_file_key = wp_hash( __FILE__ );
22
-	}
17
+    global $ayecode_ui_version,$ayecode_ui_file_key;
18
+    $this_version = "0.1.59";
19
+    if(version_compare($this_version , $ayecode_ui_version, '>')){
20
+        $ayecode_ui_version = $this_version ;
21
+        $ayecode_ui_file_key = wp_hash( __FILE__ );
22
+    }
23 23
 },0);
24 24
 
25 25
 /**
26 26
  * Load this version of WP Bootstrap Settings only if the file hash is the current one.
27 27
  */
28 28
 add_action('after_setup_theme', function () {
29
-	global $ayecode_ui_file_key;
30
-	if($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash( __FILE__ )){
31
-		include_once( dirname( __FILE__ ) . '/includes/class-aui.php' );
32
-		include_once( dirname( __FILE__ ) . '/includes/ayecode-ui-settings.php' );
33
-	}
29
+    global $ayecode_ui_file_key;
30
+    if($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash( __FILE__ )){
31
+        include_once( dirname( __FILE__ ) . '/includes/class-aui.php' );
32
+        include_once( dirname( __FILE__ ) . '/includes/ayecode-ui-settings.php' );
33
+    }
34 34
 },1);
35 35
 
36 36
 /**
37 37
  * Add the function that calls the class.
38 38
  */
39 39
 if(!function_exists('aui')){
40
-	function aui(){
41
-		if(!class_exists("AUI",false)){
42
-			return false;
43
-		}
44
-		return AUI::instance();
45
-	}
40
+    function aui(){
41
+        if(!class_exists("AUI",false)){
42
+            return false;
43
+        }
44
+        return AUI::instance();
45
+    }
46 46
 }
47 47
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -6,39 +6,39 @@
 block discarded – undo
6 6
 /**
7 7
  * Bail if we are not in WP.
8 8
  */
9
-if ( ! defined( 'ABSPATH' ) ) {
9
+if (!defined('ABSPATH')) {
10 10
 	exit;
11 11
 }
12 12
 
13 13
 /**
14 14
  * Set the version only if its the current newest while loading.
15 15
  */
16
-add_action('after_setup_theme', function () {
17
-	global $ayecode_ui_version,$ayecode_ui_file_key;
16
+add_action('after_setup_theme', function() {
17
+	global $ayecode_ui_version, $ayecode_ui_file_key;
18 18
 	$this_version = "0.1.59";
19
-	if(version_compare($this_version , $ayecode_ui_version, '>')){
20
-		$ayecode_ui_version = $this_version ;
21
-		$ayecode_ui_file_key = wp_hash( __FILE__ );
19
+	if (version_compare($this_version, $ayecode_ui_version, '>')) {
20
+		$ayecode_ui_version = $this_version;
21
+		$ayecode_ui_file_key = wp_hash(__FILE__);
22 22
 	}
23 23
 },0);
24 24
 
25 25
 /**
26 26
  * Load this version of WP Bootstrap Settings only if the file hash is the current one.
27 27
  */
28
-add_action('after_setup_theme', function () {
28
+add_action('after_setup_theme', function() {
29 29
 	global $ayecode_ui_file_key;
30
-	if($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash( __FILE__ )){
31
-		include_once( dirname( __FILE__ ) . '/includes/class-aui.php' );
32
-		include_once( dirname( __FILE__ ) . '/includes/ayecode-ui-settings.php' );
30
+	if ($ayecode_ui_file_key && $ayecode_ui_file_key == wp_hash(__FILE__)) {
31
+		include_once(dirname(__FILE__) . '/includes/class-aui.php');
32
+		include_once(dirname(__FILE__) . '/includes/ayecode-ui-settings.php');
33 33
 	}
34 34
 },1);
35 35
 
36 36
 /**
37 37
  * Add the function that calls the class.
38 38
  */
39
-if(!function_exists('aui')){
40
-	function aui(){
41
-		if(!class_exists("AUI",false)){
39
+if (!function_exists('aui')) {
40
+	function aui() {
41
+		if (!class_exists("AUI", false)) {
42 42
 			return false;
43 43
 		}
44 44
 		return AUI::instance();
Please login to merge, or discard this patch.
vendor/ayecode/wp-super-duper/sd-functions.php 2 patches
Indentation   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -11,18 +11,18 @@  discard block
 block discarded – undo
11 11
  * @return mixed|void
12 12
  */
13 13
 function sd_pagenow_exclude(){
14
-	return apply_filters( 'sd_pagenow_exclude', array(
15
-		'upload.php',
16
-		'edit-comments.php',
17
-		'edit-tags.php',
18
-		'index.php',
19
-		'media-new.php',
20
-		'options-discussion.php',
21
-		'options-writing.php',
22
-		'edit.php',
23
-		'themes.php',
24
-		'users.php',
25
-	) );
14
+    return apply_filters( 'sd_pagenow_exclude', array(
15
+        'upload.php',
16
+        'edit-comments.php',
17
+        'edit-tags.php',
18
+        'index.php',
19
+        'media-new.php',
20
+        'options-discussion.php',
21
+        'options-writing.php',
22
+        'edit.php',
23
+        'themes.php',
24
+        'users.php',
25
+    ) );
26 26
 }
27 27
 
28 28
 
@@ -34,5 +34,5 @@  discard block
 block discarded – undo
34 34
  * @return mixed|void
35 35
  */
36 36
 function sd_widget_exclude(){
37
-	return apply_filters( 'sd_widget_exclude', array() );
37
+    return apply_filters( 'sd_widget_exclude', array() );
38 38
 }
39 39
\ No newline at end of file
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -10,8 +10,8 @@  discard block
 block discarded – undo
10 10
  *
11 11
  * @return mixed|void
12 12
  */
13
-function sd_pagenow_exclude(){
14
-	return apply_filters( 'sd_pagenow_exclude', array(
13
+function sd_pagenow_exclude() {
14
+	return apply_filters('sd_pagenow_exclude', array(
15 15
 		'upload.php',
16 16
 		'edit-comments.php',
17 17
 		'edit-tags.php',
@@ -22,7 +22,7 @@  discard block
 block discarded – undo
22 22
 		'edit.php',
23 23
 		'themes.php',
24 24
 		'users.php',
25
-	) );
25
+	));
26 26
 }
27 27
 
28 28
 
@@ -33,6 +33,6 @@  discard block
 block discarded – undo
33 33
  *
34 34
  * @return mixed|void
35 35
  */
36
-function sd_widget_exclude(){
37
-	return apply_filters( 'sd_widget_exclude', array() );
36
+function sd_widget_exclude() {
37
+	return apply_filters('sd_widget_exclude', array());
38 38
 }
39 39
\ No newline at end of file
Please login to merge, or discard this patch.
vendor/ayecode/wp-super-duper/wp-super-duper.php 3 patches
Indentation   +1937 added lines, -1937 removed lines patch added patch discarded remove patch
@@ -1,262 +1,262 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if ( ! defined( 'ABSPATH' ) ) {
3
-	exit;
3
+    exit;
4 4
 }
5 5
 
6 6
 if ( ! class_exists( 'WP_Super_Duper' ) ) {
7 7
 
8 8
 
9
-	/**
10
-	 * A Class to be able to create a Widget, Shortcode or Block to be able to output content for WordPress.
11
-	 *
12
-	 * Should not be called direct but extended instead.
13
-	 *
14
-	 * Class WP_Super_Duper
15
-	 * @since 1.0.16 change log moved to file change-log.txt - CHANGED
16
-	 * @ver 1.0.19
17
-	 */
18
-	class WP_Super_Duper extends WP_Widget {
19
-
20
-		public $version = "1.0.27";
21
-		public $font_awesome_icon_version = "5.11.2";
22
-		public $block_code;
23
-		public $options;
24
-		public $base_id;
25
-		public $settings_hash;
26
-		public $arguments = array();
27
-		public $instance = array();
28
-		private $class_name;
29
-
30
-		/**
31
-		 * The relative url to the current folder.
32
-		 *
33
-		 * @var string
34
-		 */
35
-		public $url = '';
36
-
37
-		/**
38
-		 * Take the array options and use them to build.
39
-		 */
40
-		public function __construct( $options ) {
41
-			global $sd_widgets;
42
-
43
-			$sd_widgets[ $options['base_id'] ] = array(
44
-				'name'       => $options['name'],
45
-				'class_name' => $options['class_name']
46
-			);
47
-			$this->base_id                     = $options['base_id'];
48
-			// lets filter the options before we do anything
49
-			$options       = apply_filters( "wp_super_duper_options", $options );
50
-			$options       = apply_filters( "wp_super_duper_options_{$this->base_id}", $options );
51
-			$options       = $this->add_name_from_key( $options );
52
-			$this->options = $options;
53
-
54
-			$this->base_id   = $options['base_id'];
55
-			$this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array();
56
-
57
-			// init parent
58
-			parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] );
59
-
60
-			if ( isset( $options['class_name'] ) ) {
61
-				// register widget
62
-				$this->class_name = $options['class_name'];
63
-
64
-				// register shortcode
65
-				$this->register_shortcode();
66
-
67
-				// Fusion Builder (avada) support
68
-				if ( function_exists( 'fusion_builder_map' ) ) {
69
-					add_action( 'init', array( $this, 'register_fusion_element' ) );
70
-				}
71
-
72
-				// register block
73
-				add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) );
74
-			}
75
-
76
-			// add the CSS and JS we need ONCE
77
-			global $sd_widget_scripts;
78
-
79
-			if ( ! $sd_widget_scripts ) {
80
-				wp_add_inline_script( 'admin-widgets', $this->widget_js() );
81
-				wp_add_inline_script( 'customize-controls', $this->widget_js() );
82
-				wp_add_inline_style( 'widgets', $this->widget_css() );
83
-
84
-				// maybe add elementor editor styles
85
-				add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) );
86
-
87
-				$sd_widget_scripts = true;
88
-
89
-				// add shortcode insert button once
90
-				add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) );
91
-				// generatepress theme sections compatibility
92
-				if ( function_exists( 'generate_sections_sections_metabox' ) ) {
93
-					add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) );
94
-				}
95
-				if ( $this->is_preview() ) {
96
-					add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) );
97
-					// this makes the insert button work for elementor
98
-					add_action( 'elementor/editor/after_enqueue_scripts', array(
99
-						$this,
100
-						'shortcode_insert_button_script'
101
-					) ); // for elementor
102
-				}
103
-				// this makes the insert button work for cornerstone
104
-				add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) );
105
-
106
-				add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) );
107
-				add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) );
108
-
109
-				// add generator text to admin head
110
-				add_action( 'admin_head', array( $this, 'generator' ) );
111
-			}
112
-
113
-			do_action( 'wp_super_duper_widget_init', $options, $this );
114
-		}
115
-
116
-		/**
117
-		 * Add our widget CSS to elementor editor.
118
-		 */
119
-		public function elementor_editor_styles() {
120
-			wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) );
121
-		}
122
-
123
-		public function register_fusion_element() {
124
-
125
-			$options = $this->options;
126
-
127
-			if ( $this->base_id ) {
128
-
129
-				$params = $this->get_fusion_params();
130
-
131
-				$args = array(
132
-					'name'            => $options['name'],
133
-					'shortcode'       => $this->base_id,
134
-					'icon'            => $options['block-icon'] ? $options['block-icon'] : 'far fa-square',
135
-					'allow_generator' => true,
136
-				);
137
-
138
-				if ( ! empty( $params ) ) {
139
-					$args['params'] = $params;
140
-				}
141
-
142
-				fusion_builder_map( $args );
143
-			}
144
-
145
-		}
146
-
147
-		public function get_fusion_params() {
148
-			$params    = array();
149
-			$arguments = $this->get_arguments();
150
-
151
-			if ( ! empty( $arguments ) ) {
152
-				foreach ( $arguments as $key => $val ) {
153
-					$param = array();
154
-					// type
155
-					$param['type'] = str_replace(
156
-						array(
157
-							"text",
158
-							"number",
159
-							"email",
160
-							"color",
161
-							"checkbox"
162
-						),
163
-						array(
164
-							"textfield",
165
-							"textfield",
166
-							"textfield",
167
-							"colorpicker",
168
-							"select",
169
-
170
-						),
171
-						$val['type'] );
172
-
173
-					// multiselect
174
-					if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) {
175
-						$param['type']     = 'multiple_select';
176
-						$param['multiple'] = true;
177
-					}
178
-
179
-					// heading
180
-					$param['heading'] = $val['title'];
181
-
182
-					// description
183
-					$param['description'] = isset( $val['desc'] ) ? $val['desc'] : '';
184
-
185
-					// param_name
186
-					$param['param_name'] = $key;
187
-
188
-					// Default
189
-					$param['default'] = isset( $val['default'] ) ? $val['default'] : '';
190
-
191
-					// Group
192
-					if ( isset( $val['group'] ) ) {
193
-						$param['group'] = $val['group'];
194
-					}
195
-
196
-					// value
197
-					if ( $val['type'] == 'checkbox' ) {
198
-						if ( isset( $val['default'] ) && $val['default'] == '0' ) {
199
-							unset( $param['default'] );
200
-						}
201
-						$param['value'] = array( '' => __( "No" ), '1' => __( "Yes" ) );
202
-					} elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) {
203
-						$param['value'] = isset( $val['options'] ) ? $val['options'] : array();
204
-					} else {
205
-						$param['value'] = isset( $val['default'] ) ? $val['default'] : '';
206
-					}
207
-
208
-					// setup the param
209
-					$params[] = $param;
210
-
211
-				}
212
-			}
213
-
214
-
215
-			return $params;
216
-		}
217
-
218
-		/**
219
-		 * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder
220
-		 */
221
-		public static function maybe_cornerstone_builder() {
222
-			if ( did_action( 'cornerstone_before_boot_app' ) ) {
223
-				self::shortcode_insert_button_script();
224
-			}
225
-		}
226
-
227
-		/**
228
-		 * A function to ge the shortcode builder picker html.
229
-		 *
230
-		 * @param string $editor_id
231
-		 *
232
-		 * @return string
233
-		 */
234
-		public static function get_picker( $editor_id = '' ) {
235
-
236
-			ob_start();
237
-			if ( isset( $_POST['editor_id'] ) ) {
238
-				$editor_id = esc_attr( $_POST['editor_id'] );
239
-			} elseif ( isset( $_REQUEST['et_fb'] ) ) {
240
-				$editor_id = 'main_content_content_vb_tiny_mce';
241
-			}
242
-
243
-			global $sd_widgets;
244
-			?>
9
+    /**
10
+     * A Class to be able to create a Widget, Shortcode or Block to be able to output content for WordPress.
11
+     *
12
+     * Should not be called direct but extended instead.
13
+     *
14
+     * Class WP_Super_Duper
15
+     * @since 1.0.16 change log moved to file change-log.txt - CHANGED
16
+     * @ver 1.0.19
17
+     */
18
+    class WP_Super_Duper extends WP_Widget {
19
+
20
+        public $version = "1.0.27";
21
+        public $font_awesome_icon_version = "5.11.2";
22
+        public $block_code;
23
+        public $options;
24
+        public $base_id;
25
+        public $settings_hash;
26
+        public $arguments = array();
27
+        public $instance = array();
28
+        private $class_name;
29
+
30
+        /**
31
+         * The relative url to the current folder.
32
+         *
33
+         * @var string
34
+         */
35
+        public $url = '';
36
+
37
+        /**
38
+         * Take the array options and use them to build.
39
+         */
40
+        public function __construct( $options ) {
41
+            global $sd_widgets;
42
+
43
+            $sd_widgets[ $options['base_id'] ] = array(
44
+                'name'       => $options['name'],
45
+                'class_name' => $options['class_name']
46
+            );
47
+            $this->base_id                     = $options['base_id'];
48
+            // lets filter the options before we do anything
49
+            $options       = apply_filters( "wp_super_duper_options", $options );
50
+            $options       = apply_filters( "wp_super_duper_options_{$this->base_id}", $options );
51
+            $options       = $this->add_name_from_key( $options );
52
+            $this->options = $options;
53
+
54
+            $this->base_id   = $options['base_id'];
55
+            $this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array();
56
+
57
+            // init parent
58
+            parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] );
59
+
60
+            if ( isset( $options['class_name'] ) ) {
61
+                // register widget
62
+                $this->class_name = $options['class_name'];
63
+
64
+                // register shortcode
65
+                $this->register_shortcode();
66
+
67
+                // Fusion Builder (avada) support
68
+                if ( function_exists( 'fusion_builder_map' ) ) {
69
+                    add_action( 'init', array( $this, 'register_fusion_element' ) );
70
+                }
71
+
72
+                // register block
73
+                add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) );
74
+            }
75
+
76
+            // add the CSS and JS we need ONCE
77
+            global $sd_widget_scripts;
78
+
79
+            if ( ! $sd_widget_scripts ) {
80
+                wp_add_inline_script( 'admin-widgets', $this->widget_js() );
81
+                wp_add_inline_script( 'customize-controls', $this->widget_js() );
82
+                wp_add_inline_style( 'widgets', $this->widget_css() );
83
+
84
+                // maybe add elementor editor styles
85
+                add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) );
86
+
87
+                $sd_widget_scripts = true;
88
+
89
+                // add shortcode insert button once
90
+                add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) );
91
+                // generatepress theme sections compatibility
92
+                if ( function_exists( 'generate_sections_sections_metabox' ) ) {
93
+                    add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) );
94
+                }
95
+                if ( $this->is_preview() ) {
96
+                    add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) );
97
+                    // this makes the insert button work for elementor
98
+                    add_action( 'elementor/editor/after_enqueue_scripts', array(
99
+                        $this,
100
+                        'shortcode_insert_button_script'
101
+                    ) ); // for elementor
102
+                }
103
+                // this makes the insert button work for cornerstone
104
+                add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) );
105
+
106
+                add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) );
107
+                add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) );
108
+
109
+                // add generator text to admin head
110
+                add_action( 'admin_head', array( $this, 'generator' ) );
111
+            }
112
+
113
+            do_action( 'wp_super_duper_widget_init', $options, $this );
114
+        }
115
+
116
+        /**
117
+         * Add our widget CSS to elementor editor.
118
+         */
119
+        public function elementor_editor_styles() {
120
+            wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) );
121
+        }
122
+
123
+        public function register_fusion_element() {
124
+
125
+            $options = $this->options;
126
+
127
+            if ( $this->base_id ) {
128
+
129
+                $params = $this->get_fusion_params();
130
+
131
+                $args = array(
132
+                    'name'            => $options['name'],
133
+                    'shortcode'       => $this->base_id,
134
+                    'icon'            => $options['block-icon'] ? $options['block-icon'] : 'far fa-square',
135
+                    'allow_generator' => true,
136
+                );
137
+
138
+                if ( ! empty( $params ) ) {
139
+                    $args['params'] = $params;
140
+                }
141
+
142
+                fusion_builder_map( $args );
143
+            }
144
+
145
+        }
146
+
147
+        public function get_fusion_params() {
148
+            $params    = array();
149
+            $arguments = $this->get_arguments();
150
+
151
+            if ( ! empty( $arguments ) ) {
152
+                foreach ( $arguments as $key => $val ) {
153
+                    $param = array();
154
+                    // type
155
+                    $param['type'] = str_replace(
156
+                        array(
157
+                            "text",
158
+                            "number",
159
+                            "email",
160
+                            "color",
161
+                            "checkbox"
162
+                        ),
163
+                        array(
164
+                            "textfield",
165
+                            "textfield",
166
+                            "textfield",
167
+                            "colorpicker",
168
+                            "select",
169
+
170
+                        ),
171
+                        $val['type'] );
172
+
173
+                    // multiselect
174
+                    if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) {
175
+                        $param['type']     = 'multiple_select';
176
+                        $param['multiple'] = true;
177
+                    }
178
+
179
+                    // heading
180
+                    $param['heading'] = $val['title'];
181
+
182
+                    // description
183
+                    $param['description'] = isset( $val['desc'] ) ? $val['desc'] : '';
184
+
185
+                    // param_name
186
+                    $param['param_name'] = $key;
187
+
188
+                    // Default
189
+                    $param['default'] = isset( $val['default'] ) ? $val['default'] : '';
190
+
191
+                    // Group
192
+                    if ( isset( $val['group'] ) ) {
193
+                        $param['group'] = $val['group'];
194
+                    }
195
+
196
+                    // value
197
+                    if ( $val['type'] == 'checkbox' ) {
198
+                        if ( isset( $val['default'] ) && $val['default'] == '0' ) {
199
+                            unset( $param['default'] );
200
+                        }
201
+                        $param['value'] = array( '' => __( "No" ), '1' => __( "Yes" ) );
202
+                    } elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) {
203
+                        $param['value'] = isset( $val['options'] ) ? $val['options'] : array();
204
+                    } else {
205
+                        $param['value'] = isset( $val['default'] ) ? $val['default'] : '';
206
+                    }
207
+
208
+                    // setup the param
209
+                    $params[] = $param;
210
+
211
+                }
212
+            }
213
+
214
+
215
+            return $params;
216
+        }
217
+
218
+        /**
219
+         * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder
220
+         */
221
+        public static function maybe_cornerstone_builder() {
222
+            if ( did_action( 'cornerstone_before_boot_app' ) ) {
223
+                self::shortcode_insert_button_script();
224
+            }
225
+        }
226
+
227
+        /**
228
+         * A function to ge the shortcode builder picker html.
229
+         *
230
+         * @param string $editor_id
231
+         *
232
+         * @return string
233
+         */
234
+        public static function get_picker( $editor_id = '' ) {
235
+
236
+            ob_start();
237
+            if ( isset( $_POST['editor_id'] ) ) {
238
+                $editor_id = esc_attr( $_POST['editor_id'] );
239
+            } elseif ( isset( $_REQUEST['et_fb'] ) ) {
240
+                $editor_id = 'main_content_content_vb_tiny_mce';
241
+            }
242
+
243
+            global $sd_widgets;
244
+            ?>
245 245
 
246 246
 			<div class="sd-shortcode-left-wrap">
247 247
 				<?php
248
-				ksort( $sd_widgets );
249
-				//				print_r($sd_widgets);exit;
250
-				if ( ! empty( $sd_widgets ) ) {
251
-					echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">';
252
-					echo "<option>" . __( 'Select shortcode' ) . "</option>";
253
-					foreach ( $sd_widgets as $shortcode => $class ) {
254
-						echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>";
255
-					}
256
-					echo "</select>";
257
-
258
-				}
259
-				?>
248
+                ksort( $sd_widgets );
249
+                //				print_r($sd_widgets);exit;
250
+                if ( ! empty( $sd_widgets ) ) {
251
+                    echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">';
252
+                    echo "<option>" . __( 'Select shortcode' ) . "</option>";
253
+                    foreach ( $sd_widgets as $shortcode => $class ) {
254
+                        echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>";
255
+                    }
256
+                    echo "</select>";
257
+
258
+                }
259
+                ?>
260 260
 				<div class="sd-shortcode-settings"></div>
261 261
 
262 262
 			</div>
@@ -267,8 +267,8 @@  discard block
 block discarded – undo
267 267
 					<?php if ( $editor_id != '' ) { ?>
268 268
 						<button class="button sd-insert-shortcode-button"
269 269
 						        onclick="sd_insert_shortcode(<?php if ( ! empty( $editor_id ) ) {
270
-							        echo "'" . $editor_id . "'";
271
-						        } ?>)"><?php _e( 'Insert shortcode' ); ?></button>
270
+                                    echo "'" . $editor_id . "'";
271
+                                } ?>)"><?php _e( 'Insert shortcode' ); ?></button>
272 272
 					<?php } ?>
273 273
 					<button class="button"
274 274
 					        onclick="sd_copy_to_clipboard()"><?php _e( 'Copy shortcode' ); ?></button>
@@ -276,134 +276,134 @@  discard block
 block discarded – undo
276 276
 			</div>
277 277
 			<?php
278 278
 
279
-			$html = ob_get_clean();
280
-
281
-			if ( wp_doing_ajax() ) {
282
-				echo $html;
283
-				$should_die = true;
284
-
285
-				// some builder get the editor via ajax so we should not die on those occasions
286
-				$dont_die = array(
287
-					'parent_tag',// WP Bakery
288
-					'avia_request' // enfold
289
-				);
290
-
291
-				foreach ( $dont_die as $request ) {
292
-					if ( isset( $_REQUEST[ $request ] ) ) {
293
-						$should_die = false;
294
-					}
295
-				}
296
-
297
-				if ( $should_die ) {
298
-					wp_die();
299
-				}
300
-
301
-			} else {
302
-				return $html;
303
-			}
304
-
305
-			return '';
306
-
307
-		}
308
-
309
-		/**
310
-		 * Output the version in the admin header.
311
-		 */
312
-		public function generator() {
313
-			echo '<meta name="generator" content="WP Super Duper v' . $this->version . '" />';
314
-		}
315
-
316
-		/**
317
-		 * Get widget settings.
318
-		 *
319
-		 * @since 1.0.0
320
-		 */
321
-		public static function get_widget_settings() {
322
-			global $sd_widgets;
323
-
324
-			$shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : '';
325
-			if ( ! $shortcode ) {
326
-				wp_die();
327
-			}
328
-			$widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : '';
329
-			if ( ! $widget_args ) {
330
-				wp_die();
331
-			}
332
-			$class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
333
-			if ( ! $class_name ) {
334
-				wp_die();
335
-			}
336
-
337
-			// invoke an instance method
338
-			$widget = new $class_name;
339
-
340
-			ob_start();
341
-			$widget->form( array() );
342
-			$form = ob_get_clean();
343
-			echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>";
344
-			echo "<style>" . $widget->widget_css() . "</style>";
345
-			echo "<script>" . $widget->widget_js() . "</script>";
346
-			?>
279
+            $html = ob_get_clean();
280
+
281
+            if ( wp_doing_ajax() ) {
282
+                echo $html;
283
+                $should_die = true;
284
+
285
+                // some builder get the editor via ajax so we should not die on those occasions
286
+                $dont_die = array(
287
+                    'parent_tag',// WP Bakery
288
+                    'avia_request' // enfold
289
+                );
290
+
291
+                foreach ( $dont_die as $request ) {
292
+                    if ( isset( $_REQUEST[ $request ] ) ) {
293
+                        $should_die = false;
294
+                    }
295
+                }
296
+
297
+                if ( $should_die ) {
298
+                    wp_die();
299
+                }
300
+
301
+            } else {
302
+                return $html;
303
+            }
304
+
305
+            return '';
306
+
307
+        }
308
+
309
+        /**
310
+         * Output the version in the admin header.
311
+         */
312
+        public function generator() {
313
+            echo '<meta name="generator" content="WP Super Duper v' . $this->version . '" />';
314
+        }
315
+
316
+        /**
317
+         * Get widget settings.
318
+         *
319
+         * @since 1.0.0
320
+         */
321
+        public static function get_widget_settings() {
322
+            global $sd_widgets;
323
+
324
+            $shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : '';
325
+            if ( ! $shortcode ) {
326
+                wp_die();
327
+            }
328
+            $widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : '';
329
+            if ( ! $widget_args ) {
330
+                wp_die();
331
+            }
332
+            $class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
333
+            if ( ! $class_name ) {
334
+                wp_die();
335
+            }
336
+
337
+            // invoke an instance method
338
+            $widget = new $class_name;
339
+
340
+            ob_start();
341
+            $widget->form( array() );
342
+            $form = ob_get_clean();
343
+            echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>";
344
+            echo "<style>" . $widget->widget_css() . "</style>";
345
+            echo "<script>" . $widget->widget_js() . "</script>";
346
+            ?>
347 347
 			<?php
348
-			wp_die();
349
-		}
350
-
351
-		/**
352
-		 * Insert shortcode builder button to classic editor (not inside Gutenberg, not needed).
353
-		 *
354
-		 * @since 1.0.0
355
-		 *
356
-		 * @param string $editor_id Optional. Shortcode editor id. Default null.
357
-		 * @param string $insert_shortcode_function Optional. Insert shortcode function. Default null.
358
-		 */
359
-		public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) {
360
-			global $sd_widgets, $shortcode_insert_button_once;
361
-			if ( $shortcode_insert_button_once ) {
362
-				return;
363
-			}
364
-			add_thickbox();
365
-
366
-
367
-			/**
368
-			 * Cornerstone makes us play dirty tricks :/
369
-			 * All media_buttons are removed via JS unless they are two specific id's so we wrap our content in this ID so it is not removed.
370
-			 */
371
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
372
-				echo '<span id="insert-media-button">';
373
-			}
374
-
375
-			echo self::shortcode_button( 'this', 'true' );
376
-
377
-			// see opening note
378
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
379
-				echo '</span>'; // end #insert-media-button
380
-			}
381
-
382
-			// Add separate script for generatepress theme sections
383
-			if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) {
384
-			} else {
385
-				self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function );
386
-			}
387
-
388
-			$shortcode_insert_button_once = true;
389
-		}
390
-
391
-		/**
392
-		 * Gets the shortcode insert button html.
393
-		 *
394
-		 * @param string $id
395
-		 * @param string $search_for_id
396
-		 *
397
-		 * @return mixed
398
-		 */
399
-		public static function shortcode_button( $id = '', $search_for_id = '' ) {
400
-			ob_start();
401
-			?>
348
+            wp_die();
349
+        }
350
+
351
+        /**
352
+         * Insert shortcode builder button to classic editor (not inside Gutenberg, not needed).
353
+         *
354
+         * @since 1.0.0
355
+         *
356
+         * @param string $editor_id Optional. Shortcode editor id. Default null.
357
+         * @param string $insert_shortcode_function Optional. Insert shortcode function. Default null.
358
+         */
359
+        public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) {
360
+            global $sd_widgets, $shortcode_insert_button_once;
361
+            if ( $shortcode_insert_button_once ) {
362
+                return;
363
+            }
364
+            add_thickbox();
365
+
366
+
367
+            /**
368
+             * Cornerstone makes us play dirty tricks :/
369
+             * All media_buttons are removed via JS unless they are two specific id's so we wrap our content in this ID so it is not removed.
370
+             */
371
+            if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
372
+                echo '<span id="insert-media-button">';
373
+            }
374
+
375
+            echo self::shortcode_button( 'this', 'true' );
376
+
377
+            // see opening note
378
+            if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
379
+                echo '</span>'; // end #insert-media-button
380
+            }
381
+
382
+            // Add separate script for generatepress theme sections
383
+            if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) {
384
+            } else {
385
+                self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function );
386
+            }
387
+
388
+            $shortcode_insert_button_once = true;
389
+        }
390
+
391
+        /**
392
+         * Gets the shortcode insert button html.
393
+         *
394
+         * @param string $id
395
+         * @param string $search_for_id
396
+         *
397
+         * @return mixed
398
+         */
399
+        public static function shortcode_button( $id = '', $search_for_id = '' ) {
400
+            ob_start();
401
+            ?>
402 402
 			<span class="sd-lable-shortcode-inserter">
403 403
 				<a onclick="sd_ajax_get_picker(<?php echo $id;
404
-				if ( $search_for_id ) {
405
-					echo "," . $search_for_id;
406
-				} ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed"
404
+                if ( $search_for_id ) {
405
+                    echo "," . $search_for_id;
406
+                } ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed"
407 407
 				   class="thickbox button super-duper-content-open" title="Add Shortcode">
408 408
 					<span style="vertical-align: middle;line-height: 18px;font-size: 20px;"
409 409
 					      class="dashicons dashicons-screenoptions"></span>
@@ -414,21 +414,21 @@  discard block
 block discarded – undo
414 414
 			</span>
415 415
 
416 416
 			<?php
417
-			$html = ob_get_clean();
418
-
419
-			// remove line breaks so we can use it in js
420
-			return preg_replace( "/\r|\n/", "", trim( $html ) );
421
-		}
422
-
423
-		/**
424
-		 * Makes SD work with the siteOrigin page builder.
425
-		 *
426
-		 * @since 1.0.6
427
-		 * @return mixed
428
-		 */
429
-		public static function siteorigin_js() {
430
-			ob_start();
431
-			?>
417
+            $html = ob_get_clean();
418
+
419
+            // remove line breaks so we can use it in js
420
+            return preg_replace( "/\r|\n/", "", trim( $html ) );
421
+        }
422
+
423
+        /**
424
+         * Makes SD work with the siteOrigin page builder.
425
+         *
426
+         * @since 1.0.6
427
+         * @return mixed
428
+         */
429
+        public static function siteorigin_js() {
430
+            ob_start();
431
+            ?>
432 432
 			<script>
433 433
 				/**
434 434
 				 * Check a form to see what items should be shown or hidden.
@@ -506,28 +506,28 @@  discard block
 block discarded – undo
506 506
 				});
507 507
 			</script>
508 508
 			<?php
509
-			$output = ob_get_clean();
509
+            $output = ob_get_clean();
510 510
 
511
-			/*
511
+            /*
512 512
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
513 513
 			 */
514 514
 
515
-			return str_replace( array(
516
-				'<script>',
517
-				'</script>'
518
-			), '', $output );
519
-		}
520
-
521
-		/**
522
-		 * Output the JS and CSS for the shortcode insert button.
523
-		 *
524
-		 * @since 1.0.6
525
-		 *
526
-		 * @param string $editor_id
527
-		 * @param string $insert_shortcode_function
528
-		 */
529
-		public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) {
530
-			?>
515
+            return str_replace( array(
516
+                '<script>',
517
+                '</script>'
518
+            ), '', $output );
519
+        }
520
+
521
+        /**
522
+         * Output the JS and CSS for the shortcode insert button.
523
+         *
524
+         * @since 1.0.6
525
+         *
526
+         * @param string $editor_id
527
+         * @param string $insert_shortcode_function
528
+         */
529
+        public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) {
530
+            ?>
531 531
 			<style>
532 532
 				.sd-shortcode-left-wrap {
533 533
 					float: left;
@@ -653,35 +653,35 @@  discard block
 block discarded – undo
653 653
 				<?php } ?>
654 654
 			</style>
655 655
 			<?php
656
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
657
-				echo "<script>" . self::siteorigin_js() . "</script>";
658
-			}
659
-			?>
656
+            if ( class_exists( 'SiteOrigin_Panels' ) ) {
657
+                echo "<script>" . self::siteorigin_js() . "</script>";
658
+            }
659
+            ?>
660 660
 			<script>
661 661
 				<?php
662
-				if(! empty( $insert_shortcode_function )){
663
-					echo $insert_shortcode_function;
664
-				}else{
665
-
666
-				/**
667
-				 * Function for super duper insert shortcode.
668
-				 *
669
-				 * @since 1.0.0
670
-				 */
671
-				?>
662
+                if(! empty( $insert_shortcode_function )){
663
+                    echo $insert_shortcode_function;
664
+                }else{
665
+
666
+                /**
667
+                 * Function for super duper insert shortcode.
668
+                 *
669
+                 * @since 1.0.0
670
+                 */
671
+                ?>
672 672
 				function sd_insert_shortcode($editor_id) {
673 673
 					$shortcode = jQuery('#TB_ajaxContent #sd-shortcode-output').val();
674 674
 					if ($shortcode) {
675 675
 						if (!$editor_id) {
676 676
 							<?php
677
-							if ( isset( $_REQUEST['et_fb'] ) ) {
678
-								echo '$editor_id = "#main_content_content_vb_tiny_mce";';
679
-							} elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) {
680
-								echo '$editor_id = "#elementor-controls .wp-editor-container textarea";';
681
-							} else {
682
-								echo '$editor_id = "#wp-content-editor-container textarea";';
683
-							}
684
-							?>
677
+                            if ( isset( $_REQUEST['et_fb'] ) ) {
678
+                                echo '$editor_id = "#main_content_content_vb_tiny_mce";';
679
+                            } elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) {
680
+                                echo '$editor_id = "#elementor-controls .wp-editor-container textarea";';
681
+                            } else {
682
+                                echo '$editor_id = "#wp-content-editor-container textarea";';
683
+                            }
684
+                            ?>
685 685
 						} else {
686 686
 							$editor_id = '#' + $editor_id;
687 687
 						}
@@ -1007,18 +1007,18 @@  discard block
 block discarded – undo
1007 1007
 
1008 1008
 			</script>
1009 1009
 			<?php
1010
-		}
1011
-
1012
-		/**
1013
-		 * Gets some CSS for the widgets screen.
1014
-		 *
1015
-		 * @param bool $advanced If we should include advanced CSS.
1016
-		 *
1017
-		 * @return mixed
1018
-		 */
1019
-		public function widget_css( $advanced = true ) {
1020
-			ob_start();
1021
-			?>
1010
+        }
1011
+
1012
+        /**
1013
+         * Gets some CSS for the widgets screen.
1014
+         *
1015
+         * @param bool $advanced If we should include advanced CSS.
1016
+         *
1017
+         * @return mixed
1018
+         */
1019
+        public function widget_css( $advanced = true ) {
1020
+            ob_start();
1021
+            ?>
1022 1022
 			<style>
1023 1023
 				<?php if( $advanced ){ ?>
1024 1024
 				.sd-advanced-setting {
@@ -1056,26 +1056,26 @@  discard block
 block discarded – undo
1056 1056
 				}
1057 1057
 			</style>
1058 1058
 			<?php
1059
-			$output = ob_get_clean();
1059
+            $output = ob_get_clean();
1060 1060
 
1061
-			/*
1061
+            /*
1062 1062
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1063 1063
 			 */
1064 1064
 
1065
-			return str_replace( array(
1066
-				'<style>',
1067
-				'</style>'
1068
-			), '', $output );
1069
-		}
1070
-
1071
-		/**
1072
-		 * Gets some JS for the widgets screen.
1073
-		 *
1074
-		 * @return mixed
1075
-		 */
1076
-		public function widget_js() {
1077
-			ob_start();
1078
-			?>
1065
+            return str_replace( array(
1066
+                '<style>',
1067
+                '</style>'
1068
+            ), '', $output );
1069
+        }
1070
+
1071
+        /**
1072
+         * Gets some JS for the widgets screen.
1073
+         *
1074
+         * @return mixed
1075
+         */
1076
+        public function widget_js() {
1077
+            ob_start();
1078
+            ?>
1079 1079
 			<script>
1080 1080
 
1081 1081
 				/**
@@ -1233,405 +1233,405 @@  discard block
 block discarded – undo
1233 1233
 				<?php do_action( 'wp_super_duper_widget_js', $this ); ?>
1234 1234
 			</script>
1235 1235
 			<?php
1236
-			$output = ob_get_clean();
1236
+            $output = ob_get_clean();
1237 1237
 
1238
-			/*
1238
+            /*
1239 1239
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1240 1240
 			 */
1241 1241
 
1242
-			return str_replace( array(
1243
-				'<script>',
1244
-				'</script>'
1245
-			), '', $output );
1246
-		}
1247
-
1248
-
1249
-		/**
1250
-		 * Set the name from the argument key.
1251
-		 *
1252
-		 * @param $options
1253
-		 *
1254
-		 * @return mixed
1255
-		 */
1256
-		private function add_name_from_key( $options, $arguments = false ) {
1257
-			if ( ! empty( $options['arguments'] ) ) {
1258
-				foreach ( $options['arguments'] as $key => $val ) {
1259
-					$options['arguments'][ $key ]['name'] = $key;
1260
-				}
1261
-			} elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) {
1262
-				foreach ( $options as $key => $val ) {
1263
-					$options[ $key ]['name'] = $key;
1264
-				}
1265
-			}
1266
-
1267
-			return $options;
1268
-		}
1269
-
1270
-		/**
1271
-		 * Register the parent shortcode.
1272
-		 *
1273
-		 * @since 1.0.0
1274
-		 */
1275
-		public function register_shortcode() {
1276
-			add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) );
1277
-			add_action( 'wp_ajax_super_duper_output_shortcode', array( __CLASS__, 'render_shortcode' ) );
1278
-		}
1279
-
1280
-		/**
1281
-		 * Render the shortcode via ajax so we can return it to Gutenberg.
1282
-		 *
1283
-		 * @since 1.0.0
1284
-		 */
1285
-		public static function render_shortcode() {
1286
-
1287
-			check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true );
1288
-			if ( ! current_user_can( 'manage_options' ) ) {
1289
-				wp_die();
1290
-			}
1291
-
1292
-			// we might need the $post value here so lets set it.
1293
-			if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) {
1294
-				$post_obj = get_post( absint( $_POST['post_id'] ) );
1295
-				if ( ! empty( $post_obj ) && empty( $post ) ) {
1296
-					global $post;
1297
-					$post = $post_obj;
1298
-				}
1299
-			}
1300
-
1301
-			if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) {
1302
-				$shortcode_name   = sanitize_title_with_dashes( $_POST['shortcode'] );
1303
-				$attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array();
1304
-				$attributes       = '';
1305
-				if ( ! empty( $attributes_array ) ) {
1306
-					foreach ( $attributes_array as $key => $value ) {
1307
-						if ( is_array( $value ) ) {
1308
-							$value = implode( ",", $value );
1309
-						}
1310
-						$attributes .= " " . sanitize_title_with_dashes( $key ) . "='" . wp_slash( $value ) . "' ";
1311
-					}
1312
-				}
1313
-
1314
-				$shortcode = "[" . $shortcode_name . " " . $attributes . "]";
1315
-
1316
-				echo do_shortcode( $shortcode );
1317
-
1318
-			}
1319
-			wp_die();
1320
-		}
1321
-
1322
-		/**
1323
-		 * Output the shortcode.
1324
-		 *
1325
-		 * @param array $args
1326
-		 * @param string $content
1327
-		 *
1328
-		 * @return string
1329
-		 */
1330
-		public function shortcode_output( $args = array(), $content = '' ) {
1331
-			$args = $this->argument_values( $args );
1332
-
1333
-			// add extra argument so we know its a output to gutenberg
1334
-			//$args
1335
-			$args = $this->string_to_bool( $args );
1336
-
1337
-			// if we have a enclosed shortcode we add it to the special `html` argument
1338
-			if ( ! empty( $content ) ) {
1339
-				$args['html'] = $content;
1340
-			}
1341
-
1342
-			$class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1343
-			$class .= " sdel-".$this->get_instance_hash();
1344
-
1345
-			$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1346
-			$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1347
-
1348
-			$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1349
-			$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
1350
-
1351
-			$shortcode_args = array();
1352
-			$output         = '';
1353
-			$no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1354
-			if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1355
-				$no_wrap = true;
1356
-			}
1357
-			$main_content = $this->output( $args, $shortcode_args, $content );
1358
-			if ( $main_content && ! $no_wrap ) {
1359
-				// wrap the shortcode in a div with the same class as the widget
1360
-				$output .= '<div class="' . $class . '" ' . $attrs . '>';
1361
-				if ( ! empty( $args['title'] ) ) {
1362
-					// if its a shortcode and there is a title try to grab the title wrappers
1363
-					$shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1364
-					if ( empty( $instance ) ) {
1365
-						global $wp_registered_sidebars;
1366
-						if ( ! empty( $wp_registered_sidebars ) ) {
1367
-							foreach ( $wp_registered_sidebars as $sidebar ) {
1368
-								if ( ! empty( $sidebar['before_title'] ) ) {
1369
-									$shortcode_args['before_title'] = $sidebar['before_title'];
1370
-									$shortcode_args['after_title']  = $sidebar['after_title'];
1371
-									break;
1372
-								}
1373
-							}
1374
-						}
1375
-					}
1376
-					$output .= $this->output_title( $shortcode_args, $args );
1377
-				}
1378
-				$output .= $main_content;
1379
-				$output .= '</div>';
1380
-			} elseif ( $main_content && $no_wrap ) {
1381
-				$output .= $main_content;
1382
-			}
1383
-
1384
-			// if preview show a placeholder if empty
1385
-			if ( $this->is_preview() && $output == '' ) {
1386
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1387
-			}
1388
-
1389
-			return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1390
-		}
1391
-
1392
-		/**
1393
-		 * Placeholder text to show if output is empty and we are on a preview/builder page.
1394
-		 *
1395
-		 * @param string $name
1396
-		 *
1397
-		 * @return string
1398
-		 */
1399
-		public function preview_placeholder_text( $name = '' ) {
1400
-			return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . sprintf( __( 'Placeholder for: %s' ), $name ) . "</div>";
1401
-		}
1402
-
1403
-		/**
1404
-		 * Sometimes booleans values can be turned to strings, so we fix that.
1405
-		 *
1406
-		 * @param $options
1407
-		 *
1408
-		 * @return mixed
1409
-		 */
1410
-		public function string_to_bool( $options ) {
1411
-			// convert bool strings to booleans
1412
-			foreach ( $options as $key => $val ) {
1413
-				if ( $val == 'false' ) {
1414
-					$options[ $key ] = false;
1415
-				} elseif ( $val == 'true' ) {
1416
-					$options[ $key ] = true;
1417
-				}
1418
-			}
1419
-
1420
-			return $options;
1421
-		}
1422
-
1423
-		/**
1424
-		 * Get the argument values that are also filterable.
1425
-		 *
1426
-		 * @param $instance
1427
-		 *
1428
-		 * @since 1.0.12 Don't set checkbox default value if the value is empty.
1429
-		 *
1430
-		 * @return array
1431
-		 */
1432
-		public function argument_values( $instance ) {
1433
-			$argument_values = array();
1434
-
1435
-			// set widget instance
1436
-			$this->instance = $instance;
1437
-
1438
-			if ( empty( $this->arguments ) ) {
1439
-				$this->arguments = $this->get_arguments();
1440
-			}
1441
-
1442
-			if ( ! empty( $this->arguments ) ) {
1443
-				foreach ( $this->arguments as $key => $args ) {
1444
-					// set the input name from the key
1445
-					$args['name'] = $key;
1446
-					//
1447
-					$argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1448
-					if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1449
-						// don't set default for an empty checkbox
1450
-					} elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1451
-						$argument_values[ $key ] = $args['default'];
1452
-					}
1453
-				}
1454
-			}
1455
-
1456
-			return $argument_values;
1457
-		}
1458
-
1459
-		/**
1460
-		 * Set arguments in super duper.
1461
-		 *
1462
-		 * @since 1.0.0
1463
-		 *
1464
-		 * @return array Set arguments.
1465
-		 */
1466
-		public function set_arguments() {
1467
-			return $this->arguments;
1468
-		}
1469
-
1470
-		/**
1471
-		 * Get arguments in super duper.
1472
-		 *
1473
-		 * @since 1.0.0
1474
-		 *
1475
-		 * @return array Get arguments.
1476
-		 */
1477
-		public function get_arguments() {
1478
-			if ( empty( $this->arguments ) ) {
1479
-				$this->arguments = $this->set_arguments();
1480
-			}
1481
-
1482
-			$this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1483
-			$this->arguments = $this->add_name_from_key( $this->arguments, true );
1484
-
1485
-			return $this->arguments;
1486
-		}
1487
-
1488
-		/**
1489
-		 * This is the main output class for all 3 items, widget, shortcode and block, it is extended in the calling class.
1490
-		 *
1491
-		 * @param array $args
1492
-		 * @param array $widget_args
1493
-		 * @param string $content
1494
-		 */
1495
-		public function output( $args = array(), $widget_args = array(), $content = '' ) {
1496
-
1497
-		}
1498
-
1499
-		/**
1500
-		 * Add the dynamic block code inline when the wp-block in enqueued.
1501
-		 */
1502
-		public function register_block() {
1503
-			wp_add_inline_script( 'wp-blocks', $this->block() );
1504
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
1505
-				wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1506
-			}
1507
-		}
1508
-
1509
-		/**
1510
-		 * Check if we need to show advanced options.
1511
-		 *
1512
-		 * @return bool
1513
-		 */
1514
-		public function block_show_advanced() {
1515
-
1516
-			$show      = false;
1517
-			$arguments = $this->arguments;
1518
-
1519
-			if ( empty( $arguments ) ) {
1520
-				$arguments = $this->get_arguments();
1521
-			}
1522
-
1523
-			if ( ! empty( $arguments ) ) {
1524
-				foreach ( $arguments as $argument ) {
1525
-					if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1526
-						$show = true;
1527
-						break; // no need to continue if we know we have it
1528
-					}
1529
-				}
1530
-			}
1531
-
1532
-			return $show;
1533
-		}
1534
-
1535
-		/**
1536
-		 * Get the url path to the current folder.
1537
-		 *
1538
-		 * @return string
1539
-		 */
1540
-		public function get_url() {
1541
-
1542
-			$url = $this->url;
1543
-
1544
-			if ( ! $url ) {
1545
-				// check if we are inside a plugin
1546
-				$file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1547
-
1548
-				$dir_parts = explode( "/wp-content/", $file_dir );
1549
-				$url_parts = explode( "/wp-content/", plugins_url() );
1550
-
1551
-				if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1552
-					$url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1553
-					$this->url = $url;
1554
-				}
1555
-			}
1556
-
1557
-
1558
-			return $url;
1559
-		}
1560
-
1561
-		/**
1562
-		 * Generate the block icon.
1563
-		 *
1564
-		 * Enables the use of Font Awesome icons.
1565
-		 *
1566
-		 * @note xlink:href is actually deprecated but href is not supported by all so we use both.
1567
-		 *
1568
-		 * @param $icon
1569
-		 *
1570
-		 * @since 1.1.0
1571
-		 * @return string
1572
-		 */
1573
-		public function get_block_icon( $icon ) {
1574
-
1575
-			// check if we have a Font Awesome icon
1576
-			$fa_type = '';
1577
-			if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1578
-				$fa_type = 'solid';
1579
-			} elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1580
-				$fa_type = 'regular';
1581
-			} elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1582
-				$fa_type = 'brands';
1583
-			} else {
1584
-				$icon = "'" . $icon . "'";
1585
-			}
1586
-
1587
-			// set the icon if we found one
1588
-			if ( $fa_type ) {
1589
-				$fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1590
-				$icon    = "el('svg',{width: 20, height: 20, viewBox: '0 0 20 20'},el('use', {'xlink:href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "','href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "'}))";
1591
-			}
1592
-
1593
-			return $icon;
1594
-		}
1595
-
1596
-		public function group_arguments( $arguments ) {
1242
+            return str_replace( array(
1243
+                '<script>',
1244
+                '</script>'
1245
+            ), '', $output );
1246
+        }
1247
+
1248
+
1249
+        /**
1250
+         * Set the name from the argument key.
1251
+         *
1252
+         * @param $options
1253
+         *
1254
+         * @return mixed
1255
+         */
1256
+        private function add_name_from_key( $options, $arguments = false ) {
1257
+            if ( ! empty( $options['arguments'] ) ) {
1258
+                foreach ( $options['arguments'] as $key => $val ) {
1259
+                    $options['arguments'][ $key ]['name'] = $key;
1260
+                }
1261
+            } elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) {
1262
+                foreach ( $options as $key => $val ) {
1263
+                    $options[ $key ]['name'] = $key;
1264
+                }
1265
+            }
1266
+
1267
+            return $options;
1268
+        }
1269
+
1270
+        /**
1271
+         * Register the parent shortcode.
1272
+         *
1273
+         * @since 1.0.0
1274
+         */
1275
+        public function register_shortcode() {
1276
+            add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) );
1277
+            add_action( 'wp_ajax_super_duper_output_shortcode', array( __CLASS__, 'render_shortcode' ) );
1278
+        }
1279
+
1280
+        /**
1281
+         * Render the shortcode via ajax so we can return it to Gutenberg.
1282
+         *
1283
+         * @since 1.0.0
1284
+         */
1285
+        public static function render_shortcode() {
1286
+
1287
+            check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true );
1288
+            if ( ! current_user_can( 'manage_options' ) ) {
1289
+                wp_die();
1290
+            }
1291
+
1292
+            // we might need the $post value here so lets set it.
1293
+            if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) {
1294
+                $post_obj = get_post( absint( $_POST['post_id'] ) );
1295
+                if ( ! empty( $post_obj ) && empty( $post ) ) {
1296
+                    global $post;
1297
+                    $post = $post_obj;
1298
+                }
1299
+            }
1300
+
1301
+            if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) {
1302
+                $shortcode_name   = sanitize_title_with_dashes( $_POST['shortcode'] );
1303
+                $attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array();
1304
+                $attributes       = '';
1305
+                if ( ! empty( $attributes_array ) ) {
1306
+                    foreach ( $attributes_array as $key => $value ) {
1307
+                        if ( is_array( $value ) ) {
1308
+                            $value = implode( ",", $value );
1309
+                        }
1310
+                        $attributes .= " " . sanitize_title_with_dashes( $key ) . "='" . wp_slash( $value ) . "' ";
1311
+                    }
1312
+                }
1313
+
1314
+                $shortcode = "[" . $shortcode_name . " " . $attributes . "]";
1315
+
1316
+                echo do_shortcode( $shortcode );
1317
+
1318
+            }
1319
+            wp_die();
1320
+        }
1321
+
1322
+        /**
1323
+         * Output the shortcode.
1324
+         *
1325
+         * @param array $args
1326
+         * @param string $content
1327
+         *
1328
+         * @return string
1329
+         */
1330
+        public function shortcode_output( $args = array(), $content = '' ) {
1331
+            $args = $this->argument_values( $args );
1332
+
1333
+            // add extra argument so we know its a output to gutenberg
1334
+            //$args
1335
+            $args = $this->string_to_bool( $args );
1336
+
1337
+            // if we have a enclosed shortcode we add it to the special `html` argument
1338
+            if ( ! empty( $content ) ) {
1339
+                $args['html'] = $content;
1340
+            }
1341
+
1342
+            $class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1343
+            $class .= " sdel-".$this->get_instance_hash();
1344
+
1345
+            $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1346
+            $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1347
+
1348
+            $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1349
+            $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
1350
+
1351
+            $shortcode_args = array();
1352
+            $output         = '';
1353
+            $no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1354
+            if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1355
+                $no_wrap = true;
1356
+            }
1357
+            $main_content = $this->output( $args, $shortcode_args, $content );
1358
+            if ( $main_content && ! $no_wrap ) {
1359
+                // wrap the shortcode in a div with the same class as the widget
1360
+                $output .= '<div class="' . $class . '" ' . $attrs . '>';
1361
+                if ( ! empty( $args['title'] ) ) {
1362
+                    // if its a shortcode and there is a title try to grab the title wrappers
1363
+                    $shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1364
+                    if ( empty( $instance ) ) {
1365
+                        global $wp_registered_sidebars;
1366
+                        if ( ! empty( $wp_registered_sidebars ) ) {
1367
+                            foreach ( $wp_registered_sidebars as $sidebar ) {
1368
+                                if ( ! empty( $sidebar['before_title'] ) ) {
1369
+                                    $shortcode_args['before_title'] = $sidebar['before_title'];
1370
+                                    $shortcode_args['after_title']  = $sidebar['after_title'];
1371
+                                    break;
1372
+                                }
1373
+                            }
1374
+                        }
1375
+                    }
1376
+                    $output .= $this->output_title( $shortcode_args, $args );
1377
+                }
1378
+                $output .= $main_content;
1379
+                $output .= '</div>';
1380
+            } elseif ( $main_content && $no_wrap ) {
1381
+                $output .= $main_content;
1382
+            }
1383
+
1384
+            // if preview show a placeholder if empty
1385
+            if ( $this->is_preview() && $output == '' ) {
1386
+                $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1387
+            }
1388
+
1389
+            return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1390
+        }
1391
+
1392
+        /**
1393
+         * Placeholder text to show if output is empty and we are on a preview/builder page.
1394
+         *
1395
+         * @param string $name
1396
+         *
1397
+         * @return string
1398
+         */
1399
+        public function preview_placeholder_text( $name = '' ) {
1400
+            return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . sprintf( __( 'Placeholder for: %s' ), $name ) . "</div>";
1401
+        }
1402
+
1403
+        /**
1404
+         * Sometimes booleans values can be turned to strings, so we fix that.
1405
+         *
1406
+         * @param $options
1407
+         *
1408
+         * @return mixed
1409
+         */
1410
+        public function string_to_bool( $options ) {
1411
+            // convert bool strings to booleans
1412
+            foreach ( $options as $key => $val ) {
1413
+                if ( $val == 'false' ) {
1414
+                    $options[ $key ] = false;
1415
+                } elseif ( $val == 'true' ) {
1416
+                    $options[ $key ] = true;
1417
+                }
1418
+            }
1419
+
1420
+            return $options;
1421
+        }
1422
+
1423
+        /**
1424
+         * Get the argument values that are also filterable.
1425
+         *
1426
+         * @param $instance
1427
+         *
1428
+         * @since 1.0.12 Don't set checkbox default value if the value is empty.
1429
+         *
1430
+         * @return array
1431
+         */
1432
+        public function argument_values( $instance ) {
1433
+            $argument_values = array();
1434
+
1435
+            // set widget instance
1436
+            $this->instance = $instance;
1437
+
1438
+            if ( empty( $this->arguments ) ) {
1439
+                $this->arguments = $this->get_arguments();
1440
+            }
1441
+
1442
+            if ( ! empty( $this->arguments ) ) {
1443
+                foreach ( $this->arguments as $key => $args ) {
1444
+                    // set the input name from the key
1445
+                    $args['name'] = $key;
1446
+                    //
1447
+                    $argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1448
+                    if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1449
+                        // don't set default for an empty checkbox
1450
+                    } elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1451
+                        $argument_values[ $key ] = $args['default'];
1452
+                    }
1453
+                }
1454
+            }
1455
+
1456
+            return $argument_values;
1457
+        }
1458
+
1459
+        /**
1460
+         * Set arguments in super duper.
1461
+         *
1462
+         * @since 1.0.0
1463
+         *
1464
+         * @return array Set arguments.
1465
+         */
1466
+        public function set_arguments() {
1467
+            return $this->arguments;
1468
+        }
1469
+
1470
+        /**
1471
+         * Get arguments in super duper.
1472
+         *
1473
+         * @since 1.0.0
1474
+         *
1475
+         * @return array Get arguments.
1476
+         */
1477
+        public function get_arguments() {
1478
+            if ( empty( $this->arguments ) ) {
1479
+                $this->arguments = $this->set_arguments();
1480
+            }
1481
+
1482
+            $this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1483
+            $this->arguments = $this->add_name_from_key( $this->arguments, true );
1484
+
1485
+            return $this->arguments;
1486
+        }
1487
+
1488
+        /**
1489
+         * This is the main output class for all 3 items, widget, shortcode and block, it is extended in the calling class.
1490
+         *
1491
+         * @param array $args
1492
+         * @param array $widget_args
1493
+         * @param string $content
1494
+         */
1495
+        public function output( $args = array(), $widget_args = array(), $content = '' ) {
1496
+
1497
+        }
1498
+
1499
+        /**
1500
+         * Add the dynamic block code inline when the wp-block in enqueued.
1501
+         */
1502
+        public function register_block() {
1503
+            wp_add_inline_script( 'wp-blocks', $this->block() );
1504
+            if ( class_exists( 'SiteOrigin_Panels' ) ) {
1505
+                wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1506
+            }
1507
+        }
1508
+
1509
+        /**
1510
+         * Check if we need to show advanced options.
1511
+         *
1512
+         * @return bool
1513
+         */
1514
+        public function block_show_advanced() {
1515
+
1516
+            $show      = false;
1517
+            $arguments = $this->arguments;
1518
+
1519
+            if ( empty( $arguments ) ) {
1520
+                $arguments = $this->get_arguments();
1521
+            }
1522
+
1523
+            if ( ! empty( $arguments ) ) {
1524
+                foreach ( $arguments as $argument ) {
1525
+                    if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1526
+                        $show = true;
1527
+                        break; // no need to continue if we know we have it
1528
+                    }
1529
+                }
1530
+            }
1531
+
1532
+            return $show;
1533
+        }
1534
+
1535
+        /**
1536
+         * Get the url path to the current folder.
1537
+         *
1538
+         * @return string
1539
+         */
1540
+        public function get_url() {
1541
+
1542
+            $url = $this->url;
1543
+
1544
+            if ( ! $url ) {
1545
+                // check if we are inside a plugin
1546
+                $file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1547
+
1548
+                $dir_parts = explode( "/wp-content/", $file_dir );
1549
+                $url_parts = explode( "/wp-content/", plugins_url() );
1550
+
1551
+                if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1552
+                    $url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1553
+                    $this->url = $url;
1554
+                }
1555
+            }
1556
+
1557
+
1558
+            return $url;
1559
+        }
1560
+
1561
+        /**
1562
+         * Generate the block icon.
1563
+         *
1564
+         * Enables the use of Font Awesome icons.
1565
+         *
1566
+         * @note xlink:href is actually deprecated but href is not supported by all so we use both.
1567
+         *
1568
+         * @param $icon
1569
+         *
1570
+         * @since 1.1.0
1571
+         * @return string
1572
+         */
1573
+        public function get_block_icon( $icon ) {
1574
+
1575
+            // check if we have a Font Awesome icon
1576
+            $fa_type = '';
1577
+            if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1578
+                $fa_type = 'solid';
1579
+            } elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1580
+                $fa_type = 'regular';
1581
+            } elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1582
+                $fa_type = 'brands';
1583
+            } else {
1584
+                $icon = "'" . $icon . "'";
1585
+            }
1586
+
1587
+            // set the icon if we found one
1588
+            if ( $fa_type ) {
1589
+                $fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1590
+                $icon    = "el('svg',{width: 20, height: 20, viewBox: '0 0 20 20'},el('use', {'xlink:href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "','href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "'}))";
1591
+            }
1592
+
1593
+            return $icon;
1594
+        }
1595
+
1596
+        public function group_arguments( $arguments ) {
1597 1597
 //			echo '###';print_r($arguments);
1598
-			if ( ! empty( $arguments ) ) {
1599
-				$temp_arguments = array();
1600
-				$general        = __( "General" );
1601
-				$add_sections   = false;
1602
-				foreach ( $arguments as $key => $args ) {
1603
-					if ( isset( $args['group'] ) ) {
1604
-						$temp_arguments[ $args['group'] ][ $key ] = $args;
1605
-						$add_sections                             = true;
1606
-					} else {
1607
-						$temp_arguments[ $general ][ $key ] = $args;
1608
-					}
1609
-				}
1610
-
1611
-				// only add sections if more than one
1612
-				if ( $add_sections ) {
1613
-					$arguments = $temp_arguments;
1614
-				}
1615
-			}
1598
+            if ( ! empty( $arguments ) ) {
1599
+                $temp_arguments = array();
1600
+                $general        = __( "General" );
1601
+                $add_sections   = false;
1602
+                foreach ( $arguments as $key => $args ) {
1603
+                    if ( isset( $args['group'] ) ) {
1604
+                        $temp_arguments[ $args['group'] ][ $key ] = $args;
1605
+                        $add_sections                             = true;
1606
+                    } else {
1607
+                        $temp_arguments[ $general ][ $key ] = $args;
1608
+                    }
1609
+                }
1610
+
1611
+                // only add sections if more than one
1612
+                if ( $add_sections ) {
1613
+                    $arguments = $temp_arguments;
1614
+                }
1615
+            }
1616 1616
 
1617 1617
 //			echo '###';print_r($arguments);
1618
-			return $arguments;
1619
-		}
1620
-
1621
-
1622
-		/**
1623
-		 * Output the JS for building the dynamic Guntenberg block.
1624
-		 *
1625
-		 * @since 1.0.4 Added block_wrap property which will set the block wrapping output element ie: div, span, p or empty for no wrap.
1626
-		 * @since 1.0.9 Save numbers as numbers and not strings.
1627
-		 * @since 1.1.0 Font Awesome classes can be used for icons.
1628
-		 * @return mixed
1629
-		 */
1630
-		public function block() {
1631
-			ob_start();
1632
-
1633
-			$show_advanced = $this->block_show_advanced();
1634
-			?>
1618
+            return $arguments;
1619
+        }
1620
+
1621
+
1622
+        /**
1623
+         * Output the JS for building the dynamic Guntenberg block.
1624
+         *
1625
+         * @since 1.0.4 Added block_wrap property which will set the block wrapping output element ie: div, span, p or empty for no wrap.
1626
+         * @since 1.0.9 Save numbers as numbers and not strings.
1627
+         * @since 1.1.0 Font Awesome classes can be used for icons.
1628
+         * @return mixed
1629
+         */
1630
+        public function block() {
1631
+            ob_start();
1632
+
1633
+            $show_advanced = $this->block_show_advanced();
1634
+            ?>
1635 1635
 			<script>
1636 1636
 				/**
1637 1637
 				 * BLOCK: Basic
@@ -1675,97 +1675,97 @@  discard block
 block discarded – undo
1675 1675
 						icon: <?php echo $this->get_block_icon( $this->options['block-icon'] );?>,//'<?php echo isset( $this->options['block-icon'] ) ? esc_attr( $this->options['block-icon'] ) : 'shield-alt';?>', // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/.
1676 1676
 						supports: {
1677 1677
 							<?php
1678
-							if ( isset( $this->options['block-supports'] ) ) {
1679
-								echo $this->array_to_attributes( $this->options['block-supports'] );
1680
-							}
1681
-							?>
1678
+                            if ( isset( $this->options['block-supports'] ) ) {
1679
+                                echo $this->array_to_attributes( $this->options['block-supports'] );
1680
+                            }
1681
+                            ?>
1682 1682
 						},
1683 1683
 						category: '<?php echo isset( $this->options['block-category'] ) ? esc_attr( $this->options['block-category'] ) : 'common';?>', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed.
1684 1684
 						<?php if ( isset( $this->options['block-keywords'] ) ) {
1685
-						echo "keywords : " . $this->options['block-keywords'] . ",";
1686
-					}?>
1685
+                        echo "keywords : " . $this->options['block-keywords'] . ",";
1686
+                    }?>
1687 1687
 
1688 1688
 						<?php
1689 1689
 
1690
-						// maybe set no_wrap
1691
-						$no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1692
-						if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
1693
-							$no_wrap = true;
1694
-						}
1695
-						if ( $no_wrap ) {
1696
-							$this->options['block-wrap'] = '';
1697
-						}
1690
+                        // maybe set no_wrap
1691
+                        $no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1692
+                        if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
1693
+                            $no_wrap = true;
1694
+                        }
1695
+                        if ( $no_wrap ) {
1696
+                            $this->options['block-wrap'] = '';
1697
+                        }
1698 1698
 
1699 1699
 
1700 1700
 
1701
-						$show_alignment = false;
1702
-						// align feature
1703
-						/*echo "supports: {";
1701
+                        $show_alignment = false;
1702
+                        // align feature
1703
+                        /*echo "supports: {";
1704 1704
 						echo "	align: true,";
1705 1705
 						echo "  html: false";
1706 1706
 						echo "},";*/
1707 1707
 
1708
-						if ( ! empty( $this->arguments ) ) {
1709
-							echo "attributes : {";
1710
-
1711
-							if ( $show_advanced ) {
1712
-								echo "show_advanced: {";
1713
-								echo "	type: 'boolean',";
1714
-								echo "  default: false,";
1715
-								echo "},";
1716
-							}
1717
-
1718
-							// block wrap element
1719
-							if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
1720
-								echo "block_wrap: {";
1721
-								echo "	type: 'string',";
1722
-								echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
1723
-								echo "},";
1724
-							}
1725
-
1726
-							foreach ( $this->arguments as $key => $args ) {
1727
-
1728
-								// set if we should show alignment
1729
-								if ( $key == 'alignment' ) {
1730
-									$show_alignment = true;
1731
-								}
1732
-
1733
-								$extra = '';
1734
-
1735
-								if ( $args['type'] == 'checkbox' ) {
1736
-									$type    = 'boolean';
1737
-									$default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
1738
-								} elseif ( $args['type'] == 'number' ) {
1739
-									$type    = 'number';
1740
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1741
-								} elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
1742
-									$type = 'array';
1743
-									if ( isset( $args['default'] ) && is_array( $args['default'] ) ) {
1744
-										$default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
1745
-									} else {
1746
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1747
-									}
1748
-								} elseif ( $args['type'] == 'multiselect' ) {
1749
-									$type    = 'array';
1750
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1751
-								} else {
1752
-									$type    = 'string';
1753
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1754
-								}
1755
-								echo $key . " : {";
1756
-								echo "type : '$type',";
1757
-								echo "default : $default,";
1758
-								echo "},";
1759
-							}
1760
-
1761
-							echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},";
1762
-							echo "className: { type: 'string', default: '' },";
1763
-
1764
-							echo "},";
1765
-
1766
-						}
1767
-
1768
-						?>
1708
+                        if ( ! empty( $this->arguments ) ) {
1709
+                            echo "attributes : {";
1710
+
1711
+                            if ( $show_advanced ) {
1712
+                                echo "show_advanced: {";
1713
+                                echo "	type: 'boolean',";
1714
+                                echo "  default: false,";
1715
+                                echo "},";
1716
+                            }
1717
+
1718
+                            // block wrap element
1719
+                            if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
1720
+                                echo "block_wrap: {";
1721
+                                echo "	type: 'string',";
1722
+                                echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
1723
+                                echo "},";
1724
+                            }
1725
+
1726
+                            foreach ( $this->arguments as $key => $args ) {
1727
+
1728
+                                // set if we should show alignment
1729
+                                if ( $key == 'alignment' ) {
1730
+                                    $show_alignment = true;
1731
+                                }
1732
+
1733
+                                $extra = '';
1734
+
1735
+                                if ( $args['type'] == 'checkbox' ) {
1736
+                                    $type    = 'boolean';
1737
+                                    $default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
1738
+                                } elseif ( $args['type'] == 'number' ) {
1739
+                                    $type    = 'number';
1740
+                                    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1741
+                                } elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
1742
+                                    $type = 'array';
1743
+                                    if ( isset( $args['default'] ) && is_array( $args['default'] ) ) {
1744
+                                        $default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
1745
+                                    } else {
1746
+                                        $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1747
+                                    }
1748
+                                } elseif ( $args['type'] == 'multiselect' ) {
1749
+                                    $type    = 'array';
1750
+                                    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1751
+                                } else {
1752
+                                    $type    = 'string';
1753
+                                    $default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1754
+                                }
1755
+                                echo $key . " : {";
1756
+                                echo "type : '$type',";
1757
+                                echo "default : $default,";
1758
+                                echo "},";
1759
+                            }
1760
+
1761
+                            echo "content : {type : 'string',default: 'Please select the attributes in the block settings'},";
1762
+                            echo "className: { type: 'string', default: '' },";
1763
+
1764
+                            echo "},";
1765
+
1766
+                        }
1767
+
1768
+                        ?>
1769 1769
 
1770 1770
 						// The "edit" property must be a valid function.
1771 1771
 						edit: function (props) {
@@ -1773,9 +1773,9 @@  discard block
 block discarded – undo
1773 1773
 
1774 1774
 							var $value = '';
1775 1775
 							<?php
1776
-							// if we have a post_type and a category then link them
1777
-							if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
1778
-							?>
1776
+                            // if we have a post_type and a category then link them
1777
+                            if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
1778
+                            ?>
1779 1779
 							if(typeof(prev_attributes[props.id]) != 'undefined' ){
1780 1780
 								$pt = props.attributes.post_type;
1781 1781
 								if(post_type_rest_slugs.length){
@@ -1859,8 +1859,8 @@  discard block
 block discarded – undo
1859 1859
 										'shortcode': '<?php echo $this->options['base_id'];?>',
1860 1860
 										'attributes': props.attributes,
1861 1861
 										'post_id': <?php global $post; if ( isset( $post->ID ) ) {
1862
-										echo $post->ID;
1863
-									}else{echo '0';}?>,
1862
+                                        echo $post->ID;
1863
+                                    }else{echo '0';}?>,
1864 1864
 										'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
1865 1865
 									};
1866 1866
 
@@ -1912,10 +1912,10 @@  discard block
 block discarded – undo
1912 1912
 
1913 1913
 									<?php
1914 1914
 
1915
-									if(! empty( $this->arguments )){
1915
+                                    if(! empty( $this->arguments )){
1916 1916
 
1917
-									if ( $show_advanced ) {
1918
-									?>
1917
+                                    if ( $show_advanced ) {
1918
+                                    ?>
1919 1919
 									el('div', {
1920 1920
 											style: {'padding-left': '16px','padding-right': '16px'}
1921 1921
 										},
@@ -1933,79 +1933,79 @@  discard block
 block discarded – undo
1933 1933
 									,
1934 1934
 									<?php
1935 1935
 
1936
-									}
1936
+                                    }
1937 1937
 
1938
-									$arguments = $this->group_arguments( $this->arguments );
1938
+                                    $arguments = $this->group_arguments( $this->arguments );
1939 1939
 
1940
-									// Do we have sections?
1941
-									$has_sections = $arguments == $this->arguments ? false : true;
1940
+                                    // Do we have sections?
1941
+                                    $has_sections = $arguments == $this->arguments ? false : true;
1942 1942
 
1943 1943
 
1944
-									if($has_sections){
1945
-									$panel_count = 0;
1946
-									foreach($arguments as $key => $args){
1947
-									?>
1944
+                                    if($has_sections){
1945
+                                    $panel_count = 0;
1946
+                                    foreach($arguments as $key => $args){
1947
+                                    ?>
1948 1948
 									el(wp.components.PanelBody, {
1949 1949
 											title: '<?php esc_attr_e( $key ); ?>',
1950 1950
 											initialOpen: <?php if ( $panel_count ) {
1951
-											echo "false";
1952
-										} else {
1953
-											echo "true";
1954
-										}?>
1951
+                                            echo "false";
1952
+                                        } else {
1953
+                                            echo "true";
1954
+                                        }?>
1955 1955
 										},
1956 1956
 										<?php
1957 1957
 
1958 1958
 
1959 1959
 
1960
-										foreach ( $args as $k => $a ) {
1960
+                                        foreach ( $args as $k => $a ) {
1961 1961
 
1962
-											$this->block_row_start( $k, $a );
1963
-											$this->build_block_arguments( $k, $a );
1964
-											$this->block_row_end( $k, $a );
1965
-										}
1966
-										?>
1962
+                                            $this->block_row_start( $k, $a );
1963
+                                            $this->build_block_arguments( $k, $a );
1964
+                                            $this->block_row_end( $k, $a );
1965
+                                        }
1966
+                                        ?>
1967 1967
 									),
1968 1968
 									<?php
1969
-									$panel_count ++;
1969
+                                    $panel_count ++;
1970 1970
 
1971
-									}
1972
-									}else {
1973
-									?>
1971
+                                    }
1972
+                                    }else {
1973
+                                    ?>
1974 1974
 									el(wp.components.PanelBody, {
1975 1975
 											title: '<?php esc_attr_e( "Settings" ); ?>',
1976 1976
 											initialOpen: true
1977 1977
 										},
1978 1978
 										<?php
1979
-										foreach ( $this->arguments as $key => $args ) {
1980
-											$this->block_row_start( $key, $args );
1981
-											$this->build_block_arguments( $key, $args );
1982
-											$this->block_row_end( $key, $args );
1983
-										}
1984
-										?>
1979
+                                        foreach ( $this->arguments as $key => $args ) {
1980
+                                            $this->block_row_start( $key, $args );
1981
+                                            $this->build_block_arguments( $key, $args );
1982
+                                            $this->block_row_end( $key, $args );
1983
+                                        }
1984
+                                        ?>
1985 1985
 									),
1986 1986
 									<?php
1987
-									}
1987
+                                    }
1988 1988
 
1989
-									}
1990
-									?>
1989
+                                    }
1990
+                                    ?>
1991 1991
 
1992 1992
 								),
1993 1993
 
1994 1994
 								<?php
1995
-								// If the user sets block-output array then build it
1996
-								if ( ! empty( $this->options['block-output'] ) ) {
1997
-								$this->block_element( $this->options['block-output'] );
1998
-							}else{
1999
-								// if no block-output is set then we try and get the shortcode html output via ajax.
2000
-								?>
1995
+                                // If the user sets block-output array then build it
1996
+                                if ( ! empty( $this->options['block-output'] ) ) {
1997
+                                $this->block_element( $this->options['block-output'] );
1998
+                            }else{
1999
+                                // if no block-output is set then we try and get the shortcode html output via ajax.
2000
+                                ?>
2001 2001
 								el('div', {
2002 2002
 									dangerouslySetInnerHTML: {__html: onChangeContent()},
2003 2003
 									className: props.className,
2004 2004
 									style: {'minHeight': '30px'}
2005 2005
 								})
2006 2006
 								<?php
2007
-								}
2008
-								?>
2007
+                                }
2008
+                                ?>
2009 2009
 							]; // end return
2010 2010
 						},
2011 2011
 
@@ -2023,10 +2023,10 @@  discard block
 block discarded – undo
2023 2023
 							$html = '';
2024 2024
 							<?php
2025 2025
 
2026
-							if(! empty( $this->arguments )){
2026
+                            if(! empty( $this->arguments )){
2027 2027
 
2028
-							foreach($this->arguments as $key => $args){
2029
-							?>
2028
+                            foreach($this->arguments as $key => $args){
2029
+                            ?>
2030 2030
 							if (attr.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
2031 2031
 								if ('<?php echo esc_attr( $key );?>' == 'html') {
2032 2032
 									$html = attr.<?php echo esc_attr( $key );?>;
@@ -2035,10 +2035,10 @@  discard block
 block discarded – undo
2035 2035
 								}
2036 2036
 							}
2037 2037
 							<?php
2038
-							}
2039
-							}
2038
+                            }
2039
+                            }
2040 2040
 
2041
-							?>
2041
+                            ?>
2042 2042
 							content += "]";
2043 2043
 
2044 2044
 							// if has html element
@@ -2061,20 +2061,20 @@  discard block
 block discarded – undo
2061 2061
 							}
2062 2062
 
2063 2063
 							<?php
2064
-							if(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
2065
-							?>
2064
+                            if(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
2065
+                            ?>
2066 2066
 							return content;
2067 2067
 							<?php
2068
-							}else{
2069
-							?>
2068
+                            }else{
2069
+                            ?>
2070 2070
 							var block_wrap = 'div';
2071 2071
 							if (attr.hasOwnProperty("block_wrap")) {
2072 2072
 								block_wrap = attr.block_wrap;
2073 2073
 							}
2074 2074
 							return el(block_wrap, {dangerouslySetInnerHTML: {__html: content}, className: align});
2075 2075
 							<?php
2076
-							}
2077
-							?>
2076
+                            }
2077
+                            ?>
2078 2078
 
2079 2079
 
2080 2080
 						}
@@ -2082,30 +2082,30 @@  discard block
 block discarded – undo
2082 2082
 				})();
2083 2083
 			</script>
2084 2084
 			<?php
2085
-			$output = ob_get_clean();
2085
+            $output = ob_get_clean();
2086 2086
 
2087
-			/*
2087
+            /*
2088 2088
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
2089 2089
 			 */
2090 2090
 
2091
-			return str_replace( array(
2092
-				'<script>',
2093
-				'</script>'
2094
-			), '', $output );
2095
-		}
2091
+            return str_replace( array(
2092
+                '<script>',
2093
+                '</script>'
2094
+            ), '', $output );
2095
+        }
2096 2096
 
2097
-		public function block_row_start($key, $args){
2097
+        public function block_row_start($key, $args){
2098 2098
 
2099
-			// check for row
2100
-			if(!empty($args['row'])){
2099
+            // check for row
2100
+            if(!empty($args['row'])){
2101 2101
 
2102
-				if(!empty($args['row']['open'])){
2102
+                if(!empty($args['row']['open'])){
2103 2103
 
2104
-				// element require
2105
-				$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
2106
-				echo $element_require;
2104
+                // element require
2105
+                $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
2106
+                echo $element_require;
2107 2107
 
2108
-					if(false){?><script><?php }?>
2108
+                    if(false){?><script><?php }?>
2109 2109
 						el('div', {
2110 2110
 								className: 'bsui components-base-control',
2111 2111
 							},
@@ -2135,87 +2135,87 @@  discard block
 block discarded – undo
2135 2135
 									},
2136 2136
 
2137 2137
 					<?php
2138
-					if(false){?></script><?php }
2139
-				}elseif(!empty($args['row']['close'])){
2140
-					if(false){?><script><?php }?>
2138
+                    if(false){?></script><?php }
2139
+                }elseif(!empty($args['row']['close'])){
2140
+                    if(false){?><script><?php }?>
2141 2141
 						el(
2142 2142
 							'div',
2143 2143
 							{
2144 2144
 								className: 'col pl-0',
2145 2145
 							},
2146 2146
 					<?php
2147
-					if(false){?></script><?php }
2148
-				}else{
2149
-					if(false){?><script><?php }?>
2147
+                    if(false){?></script><?php }
2148
+                }else{
2149
+                    if(false){?><script><?php }?>
2150 2150
 						el(
2151 2151
 							'div',
2152 2152
 							{
2153 2153
 								className: 'col pl-0 pr-2',
2154 2154
 							},
2155 2155
 					<?php
2156
-					if(false){?></script><?php }
2157
-				}
2158
-
2159
-			}
2160
-
2161
-		}
2162
-
2163
-		public function block_row_end($key, $args){
2164
-
2165
-			if(!empty($args['row'])){
2166
-				// maybe close
2167
-				if(!empty($args['row']['close'])){
2168
-					echo "))";
2169
-				}
2170
-
2171
-				echo "),";
2172
-			}
2173
-		}
2174
-
2175
-		public function build_block_arguments( $key, $args ) {
2176
-			$custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
2177
-			$options           = '';
2178
-			$extra             = '';
2179
-			$require           = '';
2180
-
2181
-			// `content` is a protected and special argument
2182
-			if ( $key == 'content' ) {
2183
-				return;
2184
-			}
2185
-
2186
-
2187
-			// icon
2188
-			$icon = '';
2189
-			if( !empty( $args['icon'] ) ){
2190
-				$icon .= "el('div', {";
2191
-									$icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
2192
-									$icon .= "className: 'text-center',";
2193
-									$icon .= "title: '".addslashes( $args['title'] )."',";
2194
-								$icon .= "}),";
2195
-
2196
-				// blank title as its added to the icon.
2197
-				$args['title'] = '';
2198
-			}
2199
-
2200
-			// require advanced
2201
-			$require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
2202
-
2203
-			// element require
2204
-			$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
2205
-
2206
-
2207
-			$onchange  = "props.setAttributes({ $key: $key } )";
2208
-			$onchangecomplete  = "";
2209
-			$value     = "props.attributes.$key";
2210
-			$text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx' );
2211
-			if ( in_array( $args['type'], $text_type ) ) {
2212
-				$type = 'TextControl';
2213
-				// Save numbers as numbers and not strings
2214
-				if ( $args['type'] == 'number' ) {
2215
-					$onchange = "props.setAttributes({ $key: Number($key) } )";
2216
-				}
2217
-			}
2218
-			/*
2156
+                    if(false){?></script><?php }
2157
+                }
2158
+
2159
+            }
2160
+
2161
+        }
2162
+
2163
+        public function block_row_end($key, $args){
2164
+
2165
+            if(!empty($args['row'])){
2166
+                // maybe close
2167
+                if(!empty($args['row']['close'])){
2168
+                    echo "))";
2169
+                }
2170
+
2171
+                echo "),";
2172
+            }
2173
+        }
2174
+
2175
+        public function build_block_arguments( $key, $args ) {
2176
+            $custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
2177
+            $options           = '';
2178
+            $extra             = '';
2179
+            $require           = '';
2180
+
2181
+            // `content` is a protected and special argument
2182
+            if ( $key == 'content' ) {
2183
+                return;
2184
+            }
2185
+
2186
+
2187
+            // icon
2188
+            $icon = '';
2189
+            if( !empty( $args['icon'] ) ){
2190
+                $icon .= "el('div', {";
2191
+                                    $icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
2192
+                                    $icon .= "className: 'text-center',";
2193
+                                    $icon .= "title: '".addslashes( $args['title'] )."',";
2194
+                                $icon .= "}),";
2195
+
2196
+                // blank title as its added to the icon.
2197
+                $args['title'] = '';
2198
+            }
2199
+
2200
+            // require advanced
2201
+            $require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
2202
+
2203
+            // element require
2204
+            $element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
2205
+
2206
+
2207
+            $onchange  = "props.setAttributes({ $key: $key } )";
2208
+            $onchangecomplete  = "";
2209
+            $value     = "props.attributes.$key";
2210
+            $text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx' );
2211
+            if ( in_array( $args['type'], $text_type ) ) {
2212
+                $type = 'TextControl';
2213
+                // Save numbers as numbers and not strings
2214
+                if ( $args['type'] == 'number' ) {
2215
+                    $onchange = "props.setAttributes({ $key: Number($key) } )";
2216
+                }
2217
+            }
2218
+            /*
2219 2219
 			 * https://www.wptricks.com/question/set-current-tab-on-a-gutenberg-tabpanel-component-from-outside-that-component/ es5 layout
2220 2220
 						elseif($args['type']=='tabs'){
2221 2221
 							?>
@@ -2249,85 +2249,85 @@  discard block
 block discarded – undo
2249 2249
 							return;
2250 2250
 						}
2251 2251
 			*/
2252
-			elseif ( $args['type'] == 'color' ) {
2253
-				$type = 'ColorPicker';
2254
-				$onchange = "";
2255
-				$extra = "color: $value,";
2256
-				if(!empty($args['disable_alpha'])){
2257
-					$extra .= "disableAlpha: true,";
2258
-				}
2259
-				$onchangecomplete = "onChangeComplete: function($key) {
2252
+            elseif ( $args['type'] == 'color' ) {
2253
+                $type = 'ColorPicker';
2254
+                $onchange = "";
2255
+                $extra = "color: $value,";
2256
+                if(!empty($args['disable_alpha'])){
2257
+                    $extra .= "disableAlpha: true,";
2258
+                }
2259
+                $onchangecomplete = "onChangeComplete: function($key) {
2260 2260
 				value =  $key.rgb.a && $key.rgb.a < 1 ? \"rgba(\"+$key.rgb.r+\",\"+$key.rgb.g+\",\"+$key.rgb.b+\",\"+$key.rgb.a+\")\" : $key.hex;
2261 2261
                         props.setAttributes({
2262 2262
                             $key: value
2263 2263
                         });
2264 2264
                     },";
2265
-			}
2266
-			elseif ( $args['type'] == 'checkbox' ) {
2267
-				$type = 'CheckboxControl';
2268
-				$extra .= "checked: props.attributes.$key,";
2269
-				$onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
2270
-			} elseif ( $args['type'] == 'textarea' ) {
2271
-				$type = 'TextareaControl';
2272
-			} elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
2273
-				$type = 'SelectControl';
2274
-
2275
-				if($args['name'] == 'category' && !empty($args['post_type_linked'])){
2276
-					$options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
2277
-				}elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
2278
-					$options .= "options: sort_by_".str_replace("-","_", $this->id).",";
2279
-				}else {
2280
-
2281
-					if ( ! empty( $args['options'] ) ) {
2282
-						$options .= "options: [";
2283
-						foreach ( $args['options'] as $option_val => $option_label ) {
2284
-							$options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . addslashes( $option_label ) . "' },";
2285
-						}
2286
-						$options .= "],";
2287
-					}
2288
-				}
2289
-				if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
2290
-					$extra .= ' multiple: true, ';
2291
-				}
2292
-			} elseif ( $args['type'] == 'alignment' ) {
2293
-				$type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
2294
-			}elseif ( $args['type'] == 'margins' ) {
2295
-
2296
-			} else {
2297
-				return;// if we have not implemented the control then don't break the JS.
2298
-			}
2299
-
2300
-
2301
-
2302
-			// color input does not show the labels so we add them
2303
-			if($args['type']=='color'){
2304
-				// add show only if advanced
2305
-				echo $require_advanced;
2306
-				// add setting require if defined
2307
-				echo $element_require;
2308
-				echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
2309
-			}
2310
-
2311
-			// add show only if advanced
2312
-			echo $require_advanced;
2313
-			// add setting require if defined
2314
-			echo $element_require;
2315
-
2316
-			// icon
2317
-			echo $icon;
2318
-			?>
2265
+            }
2266
+            elseif ( $args['type'] == 'checkbox' ) {
2267
+                $type = 'CheckboxControl';
2268
+                $extra .= "checked: props.attributes.$key,";
2269
+                $onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
2270
+            } elseif ( $args['type'] == 'textarea' ) {
2271
+                $type = 'TextareaControl';
2272
+            } elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
2273
+                $type = 'SelectControl';
2274
+
2275
+                if($args['name'] == 'category' && !empty($args['post_type_linked'])){
2276
+                    $options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
2277
+                }elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
2278
+                    $options .= "options: sort_by_".str_replace("-","_", $this->id).",";
2279
+                }else {
2280
+
2281
+                    if ( ! empty( $args['options'] ) ) {
2282
+                        $options .= "options: [";
2283
+                        foreach ( $args['options'] as $option_val => $option_label ) {
2284
+                            $options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . addslashes( $option_label ) . "' },";
2285
+                        }
2286
+                        $options .= "],";
2287
+                    }
2288
+                }
2289
+                if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
2290
+                    $extra .= ' multiple: true, ';
2291
+                }
2292
+            } elseif ( $args['type'] == 'alignment' ) {
2293
+                $type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
2294
+            }elseif ( $args['type'] == 'margins' ) {
2295
+
2296
+            } else {
2297
+                return;// if we have not implemented the control then don't break the JS.
2298
+            }
2299
+
2300
+
2301
+
2302
+            // color input does not show the labels so we add them
2303
+            if($args['type']=='color'){
2304
+                // add show only if advanced
2305
+                echo $require_advanced;
2306
+                // add setting require if defined
2307
+                echo $element_require;
2308
+                echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
2309
+            }
2310
+
2311
+            // add show only if advanced
2312
+            echo $require_advanced;
2313
+            // add setting require if defined
2314
+            echo $element_require;
2315
+
2316
+            // icon
2317
+            echo $icon;
2318
+            ?>
2319 2319
 			el( wp.components.<?php echo $type; ?>, {
2320 2320
 			label: '<?php echo addslashes( $args['title'] ); ?>',
2321 2321
 			help: '<?php if ( isset( $args['desc'] ) ) {
2322
-				echo addslashes( $args['desc'] );
2323
-			} ?>',
2322
+                echo addslashes( $args['desc'] );
2323
+            } ?>',
2324 2324
 			value: <?php echo $value; ?>,
2325 2325
 			<?php if ( $type == 'TextControl' && $args['type'] != 'text' ) {
2326
-				echo "type: '" . addslashes( $args['type'] ) . "',";
2327
-			} ?>
2326
+                echo "type: '" . addslashes( $args['type'] ) . "',";
2327
+            } ?>
2328 2328
 			<?php if ( ! empty( $args['placeholder'] ) ) {
2329
-				echo "placeholder: '" . addslashes( $args['placeholder'] ) . "',";
2330
-			} ?>
2329
+                echo "placeholder: '" . addslashes( $args['placeholder'] ) . "',";
2330
+            } ?>
2331 2331
 			<?php echo $options; ?>
2332 2332
 			<?php echo $extra; ?>
2333 2333
 			<?php echo $custom_attributes; ?>
@@ -2339,608 +2339,608 @@  discard block
 block discarded – undo
2339 2339
 			<?php
2340 2340
 
2341 2341
 
2342
-		}
2343
-
2344
-		/**
2345
-		 * Convert an array of attributes to block string.
2346
-		 *
2347
-		 * @todo there is prob a faster way to do this, also we could add some validation here.
2348
-		 *
2349
-		 * @param $custom_attributes
2350
-		 *
2351
-		 * @return string
2352
-		 */
2353
-		public function array_to_attributes( $custom_attributes, $html = false ) {
2354
-			$attributes = '';
2355
-			if ( ! empty( $custom_attributes ) ) {
2356
-
2357
-				if ( $html ) {
2358
-					foreach ( $custom_attributes as $key => $val ) {
2359
-						$attributes .= " $key='$val' ";
2360
-					}
2361
-				} else {
2362
-					foreach ( $custom_attributes as $key => $val ) {
2363
-						$attributes .= "'$key': '$val',";
2364
-					}
2365
-				}
2366
-			}
2367
-
2368
-			return $attributes;
2369
-		}
2370
-
2371
-		/**
2372
-		 * A self looping function to create the output for JS block elements.
2373
-		 *
2374
-		 * This is what is output in the WP Editor visual view.
2375
-		 *
2376
-		 * @param $args
2377
-		 */
2378
-		public function block_element( $args ) {
2379
-
2380
-
2381
-			if ( ! empty( $args ) ) {
2382
-				foreach ( $args as $element => $new_args ) {
2383
-
2384
-					if ( is_array( $new_args ) ) { // its an element
2385
-
2386
-
2387
-						if ( isset( $new_args['element'] ) ) {
2388
-
2389
-							if ( isset( $new_args['element_require'] ) ) {
2390
-								echo str_replace( array(
2391
-										"'+",
2392
-										"+'"
2393
-									), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
2394
-								unset( $new_args['element_require'] );
2395
-							}
2396
-
2397
-							echo "\n el( '" . $new_args['element'] . "', {";
2398
-
2399
-							// get the attributes
2400
-							foreach ( $new_args as $new_key => $new_value ) {
2401
-
2402
-
2403
-								if ( $new_key == 'element' || $new_key == 'content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
2404
-									// do nothing
2405
-								} else {
2406
-									echo $this->block_element( array( $new_key => $new_value ) );
2407
-								}
2408
-							}
2409
-
2410
-							echo "},";// end attributes
2411
-
2412
-							// get the content
2413
-							$first_item = 0;
2414
-							foreach ( $new_args as $new_key => $new_value ) {
2415
-								if ( $new_key === 'content' || is_array( $new_value ) ) {
2416
-
2417
-									if ( $new_key === 'content' ) {
2418
-										echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
2419
-									}
2420
-
2421
-									if ( is_array( $new_value ) ) {
2422
-
2423
-										if ( isset( $new_value['element_require'] ) ) {
2424
-											echo str_replace( array(
2425
-													"'+",
2426
-													"+'"
2427
-												), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
2428
-											unset( $new_value['element_require'] );
2429
-										}
2430
-
2431
-										if ( isset( $new_value['element_repeat'] ) ) {
2432
-											$x = 1;
2433
-											while ( $x <= absint( $new_value['element_repeat'] ) ) {
2434
-												$this->block_element( array( '' => $new_value ) );
2435
-												$x ++;
2436
-											}
2437
-										} else {
2438
-											$this->block_element( array( '' => $new_value ) );
2439
-										}
2440
-									}
2441
-									$first_item ++;
2442
-								}
2443
-							}
2444
-
2445
-							echo ")";// end content
2446
-
2447
-							echo ", \n";
2448
-
2449
-						}
2450
-					} else {
2451
-
2452
-						if ( substr( $element, 0, 3 ) === "if_" ) {
2453
-							echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
2454
-						} elseif ( $element == 'style' ) {
2455
-							echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
2456
-						} else {
2457
-							echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
2458
-						}
2459
-
2460
-					}
2461
-				}
2462
-			}
2463
-		}
2464
-
2465
-		/**
2466
-		 * Replace block attributes placeholders with the proper naming.
2467
-		 *
2468
-		 * @param $string
2469
-		 *
2470
-		 * @return mixed
2471
-		 */
2472
-		public function block_props_replace( $string, $no_wrap = false ) {
2473
-
2474
-			if ( $no_wrap ) {
2475
-				$string = str_replace( array( "[%", "%]" ), array( "props.attributes.", "" ), $string );
2476
-			} else {
2477
-				$string = str_replace( array( "[%", "%]" ), array( "'+props.attributes.", "+'" ), $string );
2478
-			}
2479
-
2480
-			return $string;
2481
-		}
2482
-
2483
-		/**
2484
-		 * Outputs the content of the widget
2485
-		 *
2486
-		 * @param array $args
2487
-		 * @param array $instance
2488
-		 */
2489
-		public function widget( $args, $instance ) {
2490
-
2491
-			// get the filtered values
2492
-			$argument_values = $this->argument_values( $instance );
2493
-			$argument_values = $this->string_to_bool( $argument_values );
2494
-			$output          = $this->output( $argument_values, $args );
2495
-
2496
-			$no_wrap = false;
2497
-			if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
2498
-				$no_wrap = true;
2499
-			}
2500
-
2501
-			ob_start();
2502
-			if ( $output && ! $no_wrap ) {
2503
-
2504
-				$class_original = $this->options['widget_ops']['classname'];
2505
-				$class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
2506
-
2507
-				// Before widget
2508
-				$before_widget = $args['before_widget'];
2509
-				$before_widget = str_replace($class_original,$class,$before_widget);
2510
-				$before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
2511
-				$before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
2512
-
2513
-				// After widget
2514
-				$after_widget = $args['after_widget'];
2515
-				$after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
2516
-				$after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
2517
-
2518
-				echo $before_widget;
2519
-				// elementor strips the widget wrapping div so we check for and add it back if needed
2520
-				if ( $this->is_elementor_widget_output() ) {
2521
-					// Filter class & attrs for elementor widget output.
2522
-					$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
2523
-					$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
2524
-
2525
-					$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
2526
-					$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
2527
-
2528
-					echo "<span class='" . esc_attr( $class  ) . "' " . $attrs . ">";
2529
-				}
2530
-				echo $this->output_title( $args, $instance );
2531
-				echo $output;
2532
-				if ( $this->is_elementor_widget_output() ) {
2533
-					echo "</span>";
2534
-				}
2535
-				echo $after_widget;
2536
-			} elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
2537
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
2538
-				echo $output;
2539
-			} elseif ( $output && $no_wrap ) {
2540
-				echo $output;
2541
-			}
2542
-			$output = ob_get_clean();
2543
-
2544
-			$output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
2545
-
2546
-			echo $output;
2547
-		}
2548
-
2549
-		/**
2550
-		 * Tests if the current output is inside a elementor container.
2551
-		 *
2552
-		 * @since 1.0.4
2553
-		 * @return bool
2554
-		 */
2555
-		public function is_elementor_widget_output() {
2556
-			$result = false;
2557
-			if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
2558
-				$result = true;
2559
-			}
2560
-
2561
-			return $result;
2562
-		}
2563
-
2564
-		/**
2565
-		 * Tests if the current output is inside a elementor preview.
2566
-		 *
2567
-		 * @since 1.0.4
2568
-		 * @return bool
2569
-		 */
2570
-		public function is_elementor_preview() {
2571
-			$result = false;
2572
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
2573
-				$result = true;
2574
-			}
2575
-
2576
-			return $result;
2577
-		}
2578
-
2579
-		/**
2580
-		 * Tests if the current output is inside a Divi preview.
2581
-		 *
2582
-		 * @since 1.0.6
2583
-		 * @return bool
2584
-		 */
2585
-		public function is_divi_preview() {
2586
-			$result = false;
2587
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
2588
-				$result = true;
2589
-			}
2590
-
2591
-			return $result;
2592
-		}
2593
-
2594
-		/**
2595
-		 * Tests if the current output is inside a Beaver builder preview.
2596
-		 *
2597
-		 * @since 1.0.6
2598
-		 * @return bool
2599
-		 */
2600
-		public function is_beaver_preview() {
2601
-			$result = false;
2602
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
2603
-				$result = true;
2604
-			}
2605
-
2606
-			return $result;
2607
-		}
2608
-
2609
-		/**
2610
-		 * Tests if the current output is inside a siteorigin builder preview.
2611
-		 *
2612
-		 * @since 1.0.6
2613
-		 * @return bool
2614
-		 */
2615
-		public function is_siteorigin_preview() {
2616
-			$result = false;
2617
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
2618
-				$result = true;
2619
-			}
2620
-
2621
-			return $result;
2622
-		}
2623
-
2624
-		/**
2625
-		 * Tests if the current output is inside a cornerstone builder preview.
2626
-		 *
2627
-		 * @since 1.0.8
2628
-		 * @return bool
2629
-		 */
2630
-		public function is_cornerstone_preview() {
2631
-			$result = false;
2632
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
2633
-				$result = true;
2634
-			}
2635
-
2636
-			return $result;
2637
-		}
2638
-
2639
-		/**
2640
-		 * Tests if the current output is inside a fusion builder preview.
2641
-		 *
2642
-		 * @since 1.1.0
2643
-		 * @return bool
2644
-		 */
2645
-		public function is_fusion_preview() {
2646
-			$result = false;
2647
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
2648
-				$result = true;
2649
-			}
2650
-
2651
-			return $result;
2652
-		}
2653
-
2654
-		/**
2655
-		 * Tests if the current output is inside a Oxygen builder preview.
2656
-		 *
2657
-		 * @since 1.0.18
2658
-		 * @return bool
2659
-		 */
2660
-		public function is_oxygen_preview() {
2661
-			$result = false;
2662
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
2663
-				$result = true;
2664
-			}
2665
-
2666
-			return $result;
2667
-		}
2668
-
2669
-		/**
2670
-		 * General function to check if we are in a preview situation.
2671
-		 *
2672
-		 * @since 1.0.6
2673
-		 * @return bool
2674
-		 */
2675
-		public function is_preview() {
2676
-			$preview = false;
2677
-			if ( $this->is_divi_preview() ) {
2678
-				$preview = true;
2679
-			} elseif ( $this->is_elementor_preview() ) {
2680
-				$preview = true;
2681
-			} elseif ( $this->is_beaver_preview() ) {
2682
-				$preview = true;
2683
-			} elseif ( $this->is_siteorigin_preview() ) {
2684
-				$preview = true;
2685
-			} elseif ( $this->is_cornerstone_preview() ) {
2686
-				$preview = true;
2687
-			} elseif ( $this->is_fusion_preview() ) {
2688
-				$preview = true;
2689
-			} elseif ( $this->is_oxygen_preview() ) {
2690
-				$preview = true;
2691
-			} elseif( $this->is_block_content_call() ) {
2692
-				$preview = true;
2693
-			}
2694
-
2695
-			return $preview;
2696
-		}
2697
-
2698
-		/**
2699
-		 * Output the super title.
2700
-		 *
2701
-		 * @param $args
2702
-		 * @param array $instance
2703
-		 *
2704
-		 * @return string
2705
-		 */
2706
-		public function output_title( $args, $instance = array() ) {
2707
-			$output = '';
2708
-			if ( ! empty( $instance['title'] ) ) {
2709
-				/** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
2710
-				$title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
2711
-
2712
-				if(empty($instance['widget_title_tag'])){
2713
-					$output = $args['before_title'] . $title . $args['after_title'];
2714
-				}else{
2715
-					$title_tag = esc_attr( $instance['widget_title_tag'] );
2716
-
2717
-					// classes
2718
-					$title_classes = array();
2719
-					$title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
2720
-					$title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
2721
-					$title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
2722
-					$title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
2723
-					$title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
2724
-					$title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
2725
-					$title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
2726
-					$title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
2727
-					$title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
2728
-					$title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
2729
-					$title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
2730
-					$title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
2731
-					$title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
2732
-
2733
-					$class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
2734
-					$output = "<$title_tag class='$class' >$title</$title_tag>";
2735
-				}
2736
-
2737
-			}
2738
-
2739
-			return $output;
2740
-		}
2741
-
2742
-		/**
2743
-		 * Outputs the options form inputs for the widget.
2744
-		 *
2745
-		 * @param array $instance The widget options.
2746
-		 */
2747
-		public function form( $instance ) {
2748
-
2749
-			// set widget instance
2750
-			$this->instance = $instance;
2751
-
2752
-			// set it as a SD widget
2753
-			echo $this->widget_advanced_toggle();
2754
-
2755
-			echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
2756
-			$arguments_raw = $this->get_arguments();
2757
-
2758
-			if ( is_array( $arguments_raw ) ) {
2759
-
2760
-				$arguments = $this->group_arguments( $arguments_raw );
2761
-
2762
-				// Do we have sections?
2763
-				$has_sections = $arguments == $arguments_raw ? false : true;
2764
-
2765
-
2766
-				if ( $has_sections ) {
2767
-					$panel_count = 0;
2768
-					foreach ( $arguments as $key => $args ) {
2769
-
2770
-						?>
2342
+        }
2343
+
2344
+        /**
2345
+         * Convert an array of attributes to block string.
2346
+         *
2347
+         * @todo there is prob a faster way to do this, also we could add some validation here.
2348
+         *
2349
+         * @param $custom_attributes
2350
+         *
2351
+         * @return string
2352
+         */
2353
+        public function array_to_attributes( $custom_attributes, $html = false ) {
2354
+            $attributes = '';
2355
+            if ( ! empty( $custom_attributes ) ) {
2356
+
2357
+                if ( $html ) {
2358
+                    foreach ( $custom_attributes as $key => $val ) {
2359
+                        $attributes .= " $key='$val' ";
2360
+                    }
2361
+                } else {
2362
+                    foreach ( $custom_attributes as $key => $val ) {
2363
+                        $attributes .= "'$key': '$val',";
2364
+                    }
2365
+                }
2366
+            }
2367
+
2368
+            return $attributes;
2369
+        }
2370
+
2371
+        /**
2372
+         * A self looping function to create the output for JS block elements.
2373
+         *
2374
+         * This is what is output in the WP Editor visual view.
2375
+         *
2376
+         * @param $args
2377
+         */
2378
+        public function block_element( $args ) {
2379
+
2380
+
2381
+            if ( ! empty( $args ) ) {
2382
+                foreach ( $args as $element => $new_args ) {
2383
+
2384
+                    if ( is_array( $new_args ) ) { // its an element
2385
+
2386
+
2387
+                        if ( isset( $new_args['element'] ) ) {
2388
+
2389
+                            if ( isset( $new_args['element_require'] ) ) {
2390
+                                echo str_replace( array(
2391
+                                        "'+",
2392
+                                        "+'"
2393
+                                    ), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
2394
+                                unset( $new_args['element_require'] );
2395
+                            }
2396
+
2397
+                            echo "\n el( '" . $new_args['element'] . "', {";
2398
+
2399
+                            // get the attributes
2400
+                            foreach ( $new_args as $new_key => $new_value ) {
2401
+
2402
+
2403
+                                if ( $new_key == 'element' || $new_key == 'content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
2404
+                                    // do nothing
2405
+                                } else {
2406
+                                    echo $this->block_element( array( $new_key => $new_value ) );
2407
+                                }
2408
+                            }
2409
+
2410
+                            echo "},";// end attributes
2411
+
2412
+                            // get the content
2413
+                            $first_item = 0;
2414
+                            foreach ( $new_args as $new_key => $new_value ) {
2415
+                                if ( $new_key === 'content' || is_array( $new_value ) ) {
2416
+
2417
+                                    if ( $new_key === 'content' ) {
2418
+                                        echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
2419
+                                    }
2420
+
2421
+                                    if ( is_array( $new_value ) ) {
2422
+
2423
+                                        if ( isset( $new_value['element_require'] ) ) {
2424
+                                            echo str_replace( array(
2425
+                                                    "'+",
2426
+                                                    "+'"
2427
+                                                ), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
2428
+                                            unset( $new_value['element_require'] );
2429
+                                        }
2430
+
2431
+                                        if ( isset( $new_value['element_repeat'] ) ) {
2432
+                                            $x = 1;
2433
+                                            while ( $x <= absint( $new_value['element_repeat'] ) ) {
2434
+                                                $this->block_element( array( '' => $new_value ) );
2435
+                                                $x ++;
2436
+                                            }
2437
+                                        } else {
2438
+                                            $this->block_element( array( '' => $new_value ) );
2439
+                                        }
2440
+                                    }
2441
+                                    $first_item ++;
2442
+                                }
2443
+                            }
2444
+
2445
+                            echo ")";// end content
2446
+
2447
+                            echo ", \n";
2448
+
2449
+                        }
2450
+                    } else {
2451
+
2452
+                        if ( substr( $element, 0, 3 ) === "if_" ) {
2453
+                            echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
2454
+                        } elseif ( $element == 'style' ) {
2455
+                            echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
2456
+                        } else {
2457
+                            echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
2458
+                        }
2459
+
2460
+                    }
2461
+                }
2462
+            }
2463
+        }
2464
+
2465
+        /**
2466
+         * Replace block attributes placeholders with the proper naming.
2467
+         *
2468
+         * @param $string
2469
+         *
2470
+         * @return mixed
2471
+         */
2472
+        public function block_props_replace( $string, $no_wrap = false ) {
2473
+
2474
+            if ( $no_wrap ) {
2475
+                $string = str_replace( array( "[%", "%]" ), array( "props.attributes.", "" ), $string );
2476
+            } else {
2477
+                $string = str_replace( array( "[%", "%]" ), array( "'+props.attributes.", "+'" ), $string );
2478
+            }
2479
+
2480
+            return $string;
2481
+        }
2482
+
2483
+        /**
2484
+         * Outputs the content of the widget
2485
+         *
2486
+         * @param array $args
2487
+         * @param array $instance
2488
+         */
2489
+        public function widget( $args, $instance ) {
2490
+
2491
+            // get the filtered values
2492
+            $argument_values = $this->argument_values( $instance );
2493
+            $argument_values = $this->string_to_bool( $argument_values );
2494
+            $output          = $this->output( $argument_values, $args );
2495
+
2496
+            $no_wrap = false;
2497
+            if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
2498
+                $no_wrap = true;
2499
+            }
2500
+
2501
+            ob_start();
2502
+            if ( $output && ! $no_wrap ) {
2503
+
2504
+                $class_original = $this->options['widget_ops']['classname'];
2505
+                $class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
2506
+
2507
+                // Before widget
2508
+                $before_widget = $args['before_widget'];
2509
+                $before_widget = str_replace($class_original,$class,$before_widget);
2510
+                $before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
2511
+                $before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
2512
+
2513
+                // After widget
2514
+                $after_widget = $args['after_widget'];
2515
+                $after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
2516
+                $after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
2517
+
2518
+                echo $before_widget;
2519
+                // elementor strips the widget wrapping div so we check for and add it back if needed
2520
+                if ( $this->is_elementor_widget_output() ) {
2521
+                    // Filter class & attrs for elementor widget output.
2522
+                    $class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
2523
+                    $class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
2524
+
2525
+                    $attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
2526
+                    $attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
2527
+
2528
+                    echo "<span class='" . esc_attr( $class  ) . "' " . $attrs . ">";
2529
+                }
2530
+                echo $this->output_title( $args, $instance );
2531
+                echo $output;
2532
+                if ( $this->is_elementor_widget_output() ) {
2533
+                    echo "</span>";
2534
+                }
2535
+                echo $after_widget;
2536
+            } elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
2537
+                $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
2538
+                echo $output;
2539
+            } elseif ( $output && $no_wrap ) {
2540
+                echo $output;
2541
+            }
2542
+            $output = ob_get_clean();
2543
+
2544
+            $output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
2545
+
2546
+            echo $output;
2547
+        }
2548
+
2549
+        /**
2550
+         * Tests if the current output is inside a elementor container.
2551
+         *
2552
+         * @since 1.0.4
2553
+         * @return bool
2554
+         */
2555
+        public function is_elementor_widget_output() {
2556
+            $result = false;
2557
+            if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
2558
+                $result = true;
2559
+            }
2560
+
2561
+            return $result;
2562
+        }
2563
+
2564
+        /**
2565
+         * Tests if the current output is inside a elementor preview.
2566
+         *
2567
+         * @since 1.0.4
2568
+         * @return bool
2569
+         */
2570
+        public function is_elementor_preview() {
2571
+            $result = false;
2572
+            if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
2573
+                $result = true;
2574
+            }
2575
+
2576
+            return $result;
2577
+        }
2578
+
2579
+        /**
2580
+         * Tests if the current output is inside a Divi preview.
2581
+         *
2582
+         * @since 1.0.6
2583
+         * @return bool
2584
+         */
2585
+        public function is_divi_preview() {
2586
+            $result = false;
2587
+            if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
2588
+                $result = true;
2589
+            }
2590
+
2591
+            return $result;
2592
+        }
2593
+
2594
+        /**
2595
+         * Tests if the current output is inside a Beaver builder preview.
2596
+         *
2597
+         * @since 1.0.6
2598
+         * @return bool
2599
+         */
2600
+        public function is_beaver_preview() {
2601
+            $result = false;
2602
+            if ( isset( $_REQUEST['fl_builder'] ) ) {
2603
+                $result = true;
2604
+            }
2605
+
2606
+            return $result;
2607
+        }
2608
+
2609
+        /**
2610
+         * Tests if the current output is inside a siteorigin builder preview.
2611
+         *
2612
+         * @since 1.0.6
2613
+         * @return bool
2614
+         */
2615
+        public function is_siteorigin_preview() {
2616
+            $result = false;
2617
+            if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
2618
+                $result = true;
2619
+            }
2620
+
2621
+            return $result;
2622
+        }
2623
+
2624
+        /**
2625
+         * Tests if the current output is inside a cornerstone builder preview.
2626
+         *
2627
+         * @since 1.0.8
2628
+         * @return bool
2629
+         */
2630
+        public function is_cornerstone_preview() {
2631
+            $result = false;
2632
+            if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
2633
+                $result = true;
2634
+            }
2635
+
2636
+            return $result;
2637
+        }
2638
+
2639
+        /**
2640
+         * Tests if the current output is inside a fusion builder preview.
2641
+         *
2642
+         * @since 1.1.0
2643
+         * @return bool
2644
+         */
2645
+        public function is_fusion_preview() {
2646
+            $result = false;
2647
+            if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
2648
+                $result = true;
2649
+            }
2650
+
2651
+            return $result;
2652
+        }
2653
+
2654
+        /**
2655
+         * Tests if the current output is inside a Oxygen builder preview.
2656
+         *
2657
+         * @since 1.0.18
2658
+         * @return bool
2659
+         */
2660
+        public function is_oxygen_preview() {
2661
+            $result = false;
2662
+            if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
2663
+                $result = true;
2664
+            }
2665
+
2666
+            return $result;
2667
+        }
2668
+
2669
+        /**
2670
+         * General function to check if we are in a preview situation.
2671
+         *
2672
+         * @since 1.0.6
2673
+         * @return bool
2674
+         */
2675
+        public function is_preview() {
2676
+            $preview = false;
2677
+            if ( $this->is_divi_preview() ) {
2678
+                $preview = true;
2679
+            } elseif ( $this->is_elementor_preview() ) {
2680
+                $preview = true;
2681
+            } elseif ( $this->is_beaver_preview() ) {
2682
+                $preview = true;
2683
+            } elseif ( $this->is_siteorigin_preview() ) {
2684
+                $preview = true;
2685
+            } elseif ( $this->is_cornerstone_preview() ) {
2686
+                $preview = true;
2687
+            } elseif ( $this->is_fusion_preview() ) {
2688
+                $preview = true;
2689
+            } elseif ( $this->is_oxygen_preview() ) {
2690
+                $preview = true;
2691
+            } elseif( $this->is_block_content_call() ) {
2692
+                $preview = true;
2693
+            }
2694
+
2695
+            return $preview;
2696
+        }
2697
+
2698
+        /**
2699
+         * Output the super title.
2700
+         *
2701
+         * @param $args
2702
+         * @param array $instance
2703
+         *
2704
+         * @return string
2705
+         */
2706
+        public function output_title( $args, $instance = array() ) {
2707
+            $output = '';
2708
+            if ( ! empty( $instance['title'] ) ) {
2709
+                /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
2710
+                $title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
2711
+
2712
+                if(empty($instance['widget_title_tag'])){
2713
+                    $output = $args['before_title'] . $title . $args['after_title'];
2714
+                }else{
2715
+                    $title_tag = esc_attr( $instance['widget_title_tag'] );
2716
+
2717
+                    // classes
2718
+                    $title_classes = array();
2719
+                    $title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
2720
+                    $title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
2721
+                    $title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
2722
+                    $title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
2723
+                    $title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
2724
+                    $title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
2725
+                    $title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
2726
+                    $title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
2727
+                    $title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
2728
+                    $title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
2729
+                    $title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
2730
+                    $title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
2731
+                    $title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
2732
+
2733
+                    $class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
2734
+                    $output = "<$title_tag class='$class' >$title</$title_tag>";
2735
+                }
2736
+
2737
+            }
2738
+
2739
+            return $output;
2740
+        }
2741
+
2742
+        /**
2743
+         * Outputs the options form inputs for the widget.
2744
+         *
2745
+         * @param array $instance The widget options.
2746
+         */
2747
+        public function form( $instance ) {
2748
+
2749
+            // set widget instance
2750
+            $this->instance = $instance;
2751
+
2752
+            // set it as a SD widget
2753
+            echo $this->widget_advanced_toggle();
2754
+
2755
+            echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
2756
+            $arguments_raw = $this->get_arguments();
2757
+
2758
+            if ( is_array( $arguments_raw ) ) {
2759
+
2760
+                $arguments = $this->group_arguments( $arguments_raw );
2761
+
2762
+                // Do we have sections?
2763
+                $has_sections = $arguments == $arguments_raw ? false : true;
2764
+
2765
+
2766
+                if ( $has_sections ) {
2767
+                    $panel_count = 0;
2768
+                    foreach ( $arguments as $key => $args ) {
2769
+
2770
+                        ?>
2771 2771
 						<script>
2772 2772
 							//							jQuery(this).find("i").toggleClass("fas fa-chevron-up fas fa-chevron-down");jQuery(this).next().toggle();
2773 2773
 						</script>
2774 2774
 						<?php
2775 2775
 
2776
-						$hide       = $panel_count ? ' style="display:none;" ' : '';
2777
-						$icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
2778
-						echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes( $key ) . "'>" . esc_attr( $key ) . " <i style='float:right;' class='" . $icon_class . "'></i></button>";
2779
-						echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
2776
+                        $hide       = $panel_count ? ' style="display:none;" ' : '';
2777
+                        $icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
2778
+                        echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes( $key ) . "'>" . esc_attr( $key ) . " <i style='float:right;' class='" . $icon_class . "'></i></button>";
2779
+                        echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
2780 2780
 
2781
-						foreach ( $args as $k => $a ) {
2781
+                        foreach ( $args as $k => $a ) {
2782 2782
 
2783
-							$this->widget_inputs_row_start($k, $a);
2784
-							$this->widget_inputs( $a, $instance );
2785
-							$this->widget_inputs_row_end($k, $a);
2783
+                            $this->widget_inputs_row_start($k, $a);
2784
+                            $this->widget_inputs( $a, $instance );
2785
+                            $this->widget_inputs_row_end($k, $a);
2786 2786
 
2787
-						}
2787
+                        }
2788 2788
 
2789
-						echo "</div>";
2789
+                        echo "</div>";
2790 2790
 
2791
-						$panel_count ++;
2791
+                        $panel_count ++;
2792 2792
 
2793
-					}
2794
-				} else {
2795
-					foreach ( $arguments as $key => $args ) {
2796
-						$this->widget_inputs_row_start($key, $args);
2797
-						$this->widget_inputs( $args, $instance );
2798
-						$this->widget_inputs_row_end($key, $args);
2799
-					}
2800
-				}
2793
+                    }
2794
+                } else {
2795
+                    foreach ( $arguments as $key => $args ) {
2796
+                        $this->widget_inputs_row_start($key, $args);
2797
+                        $this->widget_inputs( $args, $instance );
2798
+                        $this->widget_inputs_row_end($key, $args);
2799
+                    }
2800
+                }
2801 2801
 
2802
-			}
2803
-		}
2802
+            }
2803
+        }
2804 2804
 
2805
-		public function widget_inputs_row_start($key, $args){
2806
-			if(!empty($args['row'])){
2807
-				// maybe open
2808
-				if(!empty($args['row']['open'])){
2809
-					?>
2805
+        public function widget_inputs_row_start($key, $args){
2806
+            if(!empty($args['row'])){
2807
+                // maybe open
2808
+                if(!empty($args['row']['open'])){
2809
+                    ?>
2810 2810
 					<div class='bsui sd-argument ' data-argument='<?php echo esc_attr( $args['row']['key'] ); ?>' data-element_require='<?php if ( !empty($args['row']['element_require'])) {
2811
-						echo $this->convert_element_require( $args['row']['element_require'] );
2812
-					} ?>'>
2811
+                        echo $this->convert_element_require( $args['row']['element_require'] );
2812
+                    } ?>'>
2813 2813
 					<?php if(!empty($args['row']['title'])){ ?>
2814 2814
 					<label class="mb-0 "><?php echo esc_attr( $args['row']['title'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label>
2815 2815
 					<?php }?>
2816 2816
 					<div class='row <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>'>
2817 2817
 					<div class='col pr-2'>
2818 2818
 					<?php
2819
-				}elseif(!empty($args['row']['close'])){
2820
-					echo "<div class='col pl-0'>";
2821
-				}else{
2822
-					echo "<div class='col pl-0 pr-2'>";
2823
-				}
2824
-			}
2825
-		}
2826
-
2827
-		public function widget_inputs_row_end($key, $args){
2828
-
2829
-			if(!empty($args['row'])){
2830
-				// maybe close
2831
-				if(!empty($args['row']['close'])){
2832
-					echo "</div></div>";
2833
-				}
2834
-
2835
-				echo "</div>";
2836
-			}
2837
-		}
2838
-
2839
-		/**
2840
-		 * Get the hidden input that when added makes the advanced button show on widget settings.
2841
-		 *
2842
-		 * @return string
2843
-		 */
2844
-		public function widget_advanced_toggle() {
2845
-
2846
-			$output = '';
2847
-			if ( $this->block_show_advanced() ) {
2848
-				$val = 1;
2849
-			} else {
2850
-				$val = 0;
2851
-			}
2852
-
2853
-			$output .= "<input type='hidden'  class='sd-show-advanced' value='$val' />";
2854
-
2855
-			return $output;
2856
-		}
2857
-
2858
-		/**
2859
-		 * Convert require element.
2860
-		 *
2861
-		 * @since 1.0.0
2862
-		 *
2863
-		 * @param string $input Input element.
2864
-		 *
2865
-		 * @return string $output
2866
-		 */
2867
-		public function convert_element_require( $input ) {
2868
-
2869
-			$input = str_replace( "'", '"', $input );// we only want double quotes
2870
-
2871
-			$output = esc_attr( str_replace( array( "[%", "%]" ), array(
2872
-				"jQuery(form).find('[data-argument=\"",
2873
-				"\"]').find('input,select,textarea').val()"
2874
-			), $input ) );
2875
-
2876
-			return $output;
2877
-		}
2878
-
2879
-		/**
2880
-		 * Builds the inputs for the widget options.
2881
-		 *
2882
-		 * @param $args
2883
-		 * @param $instance
2884
-		 */
2885
-		public function widget_inputs( $args, $instance ) {
2886
-
2887
-			$class             = "";
2888
-			$element_require   = "";
2889
-			$custom_attributes = "";
2890
-
2891
-			// get value
2892
-			if ( isset( $instance[ $args['name'] ] ) ) {
2893
-				$value = $instance[ $args['name'] ];
2894
-			} elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
2895
-				$value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
2896
-			} else {
2897
-				$value = '';
2898
-			}
2899
-
2900
-			// get placeholder
2901
-			if ( ! empty( $args['placeholder'] ) ) {
2902
-				$placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
2903
-			} else {
2904
-				$placeholder = '';
2905
-			}
2906
-
2907
-			// get if advanced
2908
-			if ( isset( $args['advanced'] ) && $args['advanced'] ) {
2909
-				$class .= " sd-advanced-setting ";
2910
-			}
2911
-
2912
-			// element_require
2913
-			if ( isset( $args['element_require'] ) && $args['element_require'] ) {
2914
-				$element_require = $args['element_require'];
2915
-			}
2916
-
2917
-			// custom_attributes
2918
-			if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
2919
-				$custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
2920
-			}
2921
-
2922
-
2923
-			// before wrapper
2924
-			?>
2819
+                }elseif(!empty($args['row']['close'])){
2820
+                    echo "<div class='col pl-0'>";
2821
+                }else{
2822
+                    echo "<div class='col pl-0 pr-2'>";
2823
+                }
2824
+            }
2825
+        }
2826
+
2827
+        public function widget_inputs_row_end($key, $args){
2828
+
2829
+            if(!empty($args['row'])){
2830
+                // maybe close
2831
+                if(!empty($args['row']['close'])){
2832
+                    echo "</div></div>";
2833
+                }
2834
+
2835
+                echo "</div>";
2836
+            }
2837
+        }
2838
+
2839
+        /**
2840
+         * Get the hidden input that when added makes the advanced button show on widget settings.
2841
+         *
2842
+         * @return string
2843
+         */
2844
+        public function widget_advanced_toggle() {
2845
+
2846
+            $output = '';
2847
+            if ( $this->block_show_advanced() ) {
2848
+                $val = 1;
2849
+            } else {
2850
+                $val = 0;
2851
+            }
2852
+
2853
+            $output .= "<input type='hidden'  class='sd-show-advanced' value='$val' />";
2854
+
2855
+            return $output;
2856
+        }
2857
+
2858
+        /**
2859
+         * Convert require element.
2860
+         *
2861
+         * @since 1.0.0
2862
+         *
2863
+         * @param string $input Input element.
2864
+         *
2865
+         * @return string $output
2866
+         */
2867
+        public function convert_element_require( $input ) {
2868
+
2869
+            $input = str_replace( "'", '"', $input );// we only want double quotes
2870
+
2871
+            $output = esc_attr( str_replace( array( "[%", "%]" ), array(
2872
+                "jQuery(form).find('[data-argument=\"",
2873
+                "\"]').find('input,select,textarea').val()"
2874
+            ), $input ) );
2875
+
2876
+            return $output;
2877
+        }
2878
+
2879
+        /**
2880
+         * Builds the inputs for the widget options.
2881
+         *
2882
+         * @param $args
2883
+         * @param $instance
2884
+         */
2885
+        public function widget_inputs( $args, $instance ) {
2886
+
2887
+            $class             = "";
2888
+            $element_require   = "";
2889
+            $custom_attributes = "";
2890
+
2891
+            // get value
2892
+            if ( isset( $instance[ $args['name'] ] ) ) {
2893
+                $value = $instance[ $args['name'] ];
2894
+            } elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
2895
+                $value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
2896
+            } else {
2897
+                $value = '';
2898
+            }
2899
+
2900
+            // get placeholder
2901
+            if ( ! empty( $args['placeholder'] ) ) {
2902
+                $placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
2903
+            } else {
2904
+                $placeholder = '';
2905
+            }
2906
+
2907
+            // get if advanced
2908
+            if ( isset( $args['advanced'] ) && $args['advanced'] ) {
2909
+                $class .= " sd-advanced-setting ";
2910
+            }
2911
+
2912
+            // element_require
2913
+            if ( isset( $args['element_require'] ) && $args['element_require'] ) {
2914
+                $element_require = $args['element_require'];
2915
+            }
2916
+
2917
+            // custom_attributes
2918
+            if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
2919
+                $custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
2920
+            }
2921
+
2922
+
2923
+            // before wrapper
2924
+            ?>
2925 2925
 			<p class="sd-argument <?php echo esc_attr( $class ); ?>"
2926 2926
 			data-argument='<?php echo esc_attr( $args['name'] ); ?>'
2927 2927
 			data-element_require='<?php if ( $element_require ) {
2928
-				echo $this->convert_element_require( $element_require );
2929
-			} ?>'
2928
+                echo $this->convert_element_require( $element_require );
2929
+            } ?>'
2930 2930
 			>
2931 2931
 			<?php
2932 2932
 
2933 2933
 
2934
-			switch ( $args['type'] ) {
2935
-				//array('text','password','number','email','tel','url','color')
2936
-				case "text":
2937
-				case "password":
2938
-				case "number":
2939
-				case "email":
2940
-				case "tel":
2941
-				case "url":
2942
-				case "color":
2943
-					?>
2934
+            switch ( $args['type'] ) {
2935
+                //array('text','password','number','email','tel','url','color')
2936
+                case "text":
2937
+                case "password":
2938
+                case "number":
2939
+                case "email":
2940
+                case "tel":
2941
+                case "url":
2942
+                case "color":
2943
+                    ?>
2944 2944
 					<label
2945 2945
 						for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args );?><?php echo $this->widget_field_desc( $args ); ?></label>
2946 2946
 					<input <?php echo $placeholder; ?> class="widefat"
@@ -2951,47 +2951,47 @@  discard block
 block discarded – undo
2951 2951
 						                               value="<?php echo esc_attr( $value ); ?>">
2952 2952
 					<?php
2953 2953
 
2954
-					break;
2955
-				case "select":
2956
-					$multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false;
2957
-					if ( $multiple ) {
2958
-						if ( empty( $value ) ) {
2959
-							$value = array();
2960
-						}
2961
-					}
2962
-					?>
2954
+                    break;
2955
+                case "select":
2956
+                    $multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false;
2957
+                    if ( $multiple ) {
2958
+                        if ( empty( $value ) ) {
2959
+                            $value = array();
2960
+                        }
2961
+                    }
2962
+                    ?>
2963 2963
 					<label
2964 2964
 						for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args ); ?><?php echo $this->widget_field_desc( $args ); ?></label>
2965 2965
 					<select <?php echo $placeholder; ?> class="widefat"
2966 2966
 						<?php echo $custom_attributes; ?>
2967 2967
 						                                id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
2968 2968
 						                                name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) );
2969
-						                                if ( $multiple ) {
2970
-							                                echo "[]";
2971
-						                                } ?>"
2969
+                                                        if ( $multiple ) {
2970
+                                                            echo "[]";
2971
+                                                        } ?>"
2972 2972
 						<?php if ( $multiple ) {
2973
-							echo "multiple";
2974
-						} //@todo not implemented yet due to gutenberg not supporting it
2975
-						?>
2973
+                            echo "multiple";
2974
+                        } //@todo not implemented yet due to gutenberg not supporting it
2975
+                        ?>
2976 2976
 					>
2977 2977
 						<?php
2978 2978
 
2979
-						if ( ! empty( $args['options'] ) ) {
2980
-							foreach ( $args['options'] as $val => $label ) {
2981
-								if ( $multiple ) {
2982
-									$selected = in_array( $val, $value ) ? 'selected="selected"' : '';
2983
-								} else {
2984
-									$selected = selected( $value, $val, false );
2985
-								}
2986
-								echo "<option value='$val' " . $selected . ">$label</option>";
2987
-							}
2988
-						}
2989
-						?>
2979
+                        if ( ! empty( $args['options'] ) ) {
2980
+                            foreach ( $args['options'] as $val => $label ) {
2981
+                                if ( $multiple ) {
2982
+                                    $selected = in_array( $val, $value ) ? 'selected="selected"' : '';
2983
+                                } else {
2984
+                                    $selected = selected( $value, $val, false );
2985
+                                }
2986
+                                echo "<option value='$val' " . $selected . ">$label</option>";
2987
+                            }
2988
+                        }
2989
+                        ?>
2990 2990
 					</select>
2991 2991
 					<?php
2992
-					break;
2993
-				case "checkbox":
2994
-					?>
2992
+                    break;
2993
+                case "checkbox":
2994
+                    ?>
2995 2995
 					<input <?php echo $placeholder; ?>
2996 2996
 						<?php checked( 1, $value, true ) ?>
2997 2997
 						<?php echo $custom_attributes; ?>
@@ -3001,9 +3001,9 @@  discard block
 block discarded – undo
3001 3001
 					<label
3002 3002
 						for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args );?><?php echo $this->widget_field_desc( $args ); ?></label>
3003 3003
 					<?php
3004
-					break;
3005
-				case "textarea":
3006
-					?>
3004
+                    break;
3005
+                case "textarea":
3006
+                    ?>
3007 3007
 					<label
3008 3008
 						for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args ); ?><?php echo $this->widget_field_desc( $args ); ?></label>
3009 3009
 					<textarea <?php echo $placeholder; ?> class="widefat"
@@ -3013,203 +3013,203 @@  discard block
 block discarded – undo
3013 3013
 					><?php echo esc_attr( $value ); ?></textarea>
3014 3014
 					<?php
3015 3015
 
3016
-					break;
3017
-				case "hidden":
3018
-					?>
3016
+                    break;
3017
+                case "hidden":
3018
+                    ?>
3019 3019
 					<input id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
3020 3020
 					       name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="hidden"
3021 3021
 					       value="<?php echo esc_attr( $value ); ?>">
3022 3022
 					<?php
3023
-					break;
3024
-				default:
3025
-					echo "No input type found!"; // @todo we need to add more input types.
3026
-			}
3023
+                    break;
3024
+                default:
3025
+                    echo "No input type found!"; // @todo we need to add more input types.
3026
+            }
3027 3027
 
3028
-			// after wrapper
3029
-			?>
3028
+            // after wrapper
3029
+            ?>
3030 3030
 			</p>
3031 3031
 			<?php
3032 3032
 
3033 3033
 
3034
-		}
3035
-
3036
-		public function get_widget_icon($icon = 'box-top', $title = ''){
3037
-			if($icon=='box-top'){
3038
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>';
3039
-			}elseif($icon=='box-right'){
3040
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>';
3041
-			}elseif($icon=='box-bottom'){
3042
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>';
3043
-			}elseif($icon=='box-left'){
3044
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>';
3045
-			}
3046
-		}
3047
-
3048
-		/**
3049
-		 * Get the widget input description html.
3050
-		 *
3051
-		 * @param $args
3052
-		 *
3053
-		 * @return string
3054
-		 * @todo, need to make its own tooltip script
3055
-		 */
3056
-		public function widget_field_desc( $args ) {
3057
-
3058
-			$description = '';
3059
-			if ( isset( $args['desc'] ) && $args['desc'] ) {
3060
-				if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) {
3061
-					$description = $this->desc_tip( $args['desc'] );
3062
-				} else {
3063
-					$description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>';
3064
-				}
3065
-			}
3066
-
3067
-			return $description;
3068
-		}
3069
-
3070
-		/**
3071
-		 * Get the widget input title html.
3072
-		 *
3073
-		 * @param $args
3074
-		 *
3075
-		 * @return string
3076
-		 */
3077
-		public function widget_field_title( $args ) {
3078
-
3079
-			$title = '';
3080
-			if ( isset( $args['title'] ) && $args['title'] ) {
3081
-				if ( isset( $args['icon'] ) && $args['icon'] ) {
3082
-					$title = self::get_widget_icon( $args['icon'], $args['title']  );
3083
-				} else {
3084
-					$title = esc_attr($args['title']);
3085
-				}
3086
-			}
3087
-
3088
-			return $title;
3089
-		}
3090
-
3091
-		/**
3092
-		 * Get the tool tip html.
3093
-		 *
3094
-		 * @param $tip
3095
-		 * @param bool $allow_html
3096
-		 *
3097
-		 * @return string
3098
-		 */
3099
-		function desc_tip( $tip, $allow_html = false ) {
3100
-			if ( $allow_html ) {
3101
-				$tip = $this->sanitize_tooltip( $tip );
3102
-			} else {
3103
-				$tip = esc_attr( $tip );
3104
-			}
3105
-
3106
-			return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>';
3107
-		}
3108
-
3109
-		/**
3110
-		 * Sanitize a string destined to be a tooltip.
3111
-		 *
3112
-		 * @param string $var
3113
-		 *
3114
-		 * @return string
3115
-		 */
3116
-		public function sanitize_tooltip( $var ) {
3117
-			return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
3118
-				'br'     => array(),
3119
-				'em'     => array(),
3120
-				'strong' => array(),
3121
-				'small'  => array(),
3122
-				'span'   => array(),
3123
-				'ul'     => array(),
3124
-				'li'     => array(),
3125
-				'ol'     => array(),
3126
-				'p'      => array(),
3127
-			) ) );
3128
-		}
3129
-
3130
-		/**
3131
-		 * Processing widget options on save
3132
-		 *
3133
-		 * @param array $new_instance The new options
3134
-		 * @param array $old_instance The previous options
3135
-		 *
3136
-		 * @return array
3137
-		 * @todo we should add some sanitation here.
3138
-		 */
3139
-		public function update( $new_instance, $old_instance ) {
3140
-
3141
-			//save the widget
3142
-			$instance = array_merge( (array) $old_instance, (array) $new_instance );
3143
-
3144
-			// set widget instance
3145
-			$this->instance = $instance;
3146
-
3147
-			if ( empty( $this->arguments ) ) {
3148
-				$this->get_arguments();
3149
-			}
3150
-
3151
-			// check for checkboxes
3152
-			if ( ! empty( $this->arguments ) ) {
3153
-				foreach ( $this->arguments as $argument ) {
3154
-					if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) {
3155
-						$instance[ $argument['name'] ] = '0';
3156
-					}
3157
-				}
3158
-			}
3159
-
3160
-			return $instance;
3161
-		}
3162
-
3163
-		/**
3164
-		 * Checks if the current call is a ajax call to get the block content.
3165
-		 *
3166
-		 * This can be used in your widget to return different content as the block content.
3167
-		 *
3168
-		 * @since 1.0.3
3169
-		 * @return bool
3170
-		 */
3171
-		public function is_block_content_call() {
3172
-			$result = false;
3173
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3174
-				$result = true;
3175
-			}
3176
-
3177
-			return $result;
3178
-		}
3179
-
3180
-		/**
3181
-		 * Get an instance hash that will be unique to the type and settings.
3182
-		 *
3183
-		 * @since 1.0.20
3184
-		 * @return string
3185
-		 */
3186
-		public function get_instance_hash(){
3187
-			$instance_string = $this->base_id.serialize($this->instance);
3188
-			return hash('crc32b',$instance_string);
3189
-		}
3190
-
3191
-		/**
3192
-		 * Generate and return inline styles from CSS rules that will match the unique class of the instance.
3193
-		 *
3194
-		 * @param array $rules
3195
-		 *
3196
-		 * @since 1.0.20
3197
-		 * @return string
3198
-		 */
3199
-		public function get_instance_style($rules = array()){
3200
-			$css = '';
3201
-
3202
-			if(!empty($rules)){
3203
-				$rules = array_unique($rules);
3204
-				$instance_hash = $this->get_instance_hash();
3205
-				$css .= "<style>";
3206
-				foreach($rules as $rule){
3207
-					$css .= ".sdel-$instance_hash $rule";
3208
-				}
3209
-				$css .= "</style>";
3210
-			}
3211
-
3212
-			return $css;
3213
-		}
3214
-	}
3034
+        }
3035
+
3036
+        public function get_widget_icon($icon = 'box-top', $title = ''){
3037
+            if($icon=='box-top'){
3038
+                return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>';
3039
+            }elseif($icon=='box-right'){
3040
+                return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>';
3041
+            }elseif($icon=='box-bottom'){
3042
+                return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>';
3043
+            }elseif($icon=='box-left'){
3044
+                return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>';
3045
+            }
3046
+        }
3047
+
3048
+        /**
3049
+         * Get the widget input description html.
3050
+         *
3051
+         * @param $args
3052
+         *
3053
+         * @return string
3054
+         * @todo, need to make its own tooltip script
3055
+         */
3056
+        public function widget_field_desc( $args ) {
3057
+
3058
+            $description = '';
3059
+            if ( isset( $args['desc'] ) && $args['desc'] ) {
3060
+                if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) {
3061
+                    $description = $this->desc_tip( $args['desc'] );
3062
+                } else {
3063
+                    $description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>';
3064
+                }
3065
+            }
3066
+
3067
+            return $description;
3068
+        }
3069
+
3070
+        /**
3071
+         * Get the widget input title html.
3072
+         *
3073
+         * @param $args
3074
+         *
3075
+         * @return string
3076
+         */
3077
+        public function widget_field_title( $args ) {
3078
+
3079
+            $title = '';
3080
+            if ( isset( $args['title'] ) && $args['title'] ) {
3081
+                if ( isset( $args['icon'] ) && $args['icon'] ) {
3082
+                    $title = self::get_widget_icon( $args['icon'], $args['title']  );
3083
+                } else {
3084
+                    $title = esc_attr($args['title']);
3085
+                }
3086
+            }
3087
+
3088
+            return $title;
3089
+        }
3090
+
3091
+        /**
3092
+         * Get the tool tip html.
3093
+         *
3094
+         * @param $tip
3095
+         * @param bool $allow_html
3096
+         *
3097
+         * @return string
3098
+         */
3099
+        function desc_tip( $tip, $allow_html = false ) {
3100
+            if ( $allow_html ) {
3101
+                $tip = $this->sanitize_tooltip( $tip );
3102
+            } else {
3103
+                $tip = esc_attr( $tip );
3104
+            }
3105
+
3106
+            return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>';
3107
+        }
3108
+
3109
+        /**
3110
+         * Sanitize a string destined to be a tooltip.
3111
+         *
3112
+         * @param string $var
3113
+         *
3114
+         * @return string
3115
+         */
3116
+        public function sanitize_tooltip( $var ) {
3117
+            return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
3118
+                'br'     => array(),
3119
+                'em'     => array(),
3120
+                'strong' => array(),
3121
+                'small'  => array(),
3122
+                'span'   => array(),
3123
+                'ul'     => array(),
3124
+                'li'     => array(),
3125
+                'ol'     => array(),
3126
+                'p'      => array(),
3127
+            ) ) );
3128
+        }
3129
+
3130
+        /**
3131
+         * Processing widget options on save
3132
+         *
3133
+         * @param array $new_instance The new options
3134
+         * @param array $old_instance The previous options
3135
+         *
3136
+         * @return array
3137
+         * @todo we should add some sanitation here.
3138
+         */
3139
+        public function update( $new_instance, $old_instance ) {
3140
+
3141
+            //save the widget
3142
+            $instance = array_merge( (array) $old_instance, (array) $new_instance );
3143
+
3144
+            // set widget instance
3145
+            $this->instance = $instance;
3146
+
3147
+            if ( empty( $this->arguments ) ) {
3148
+                $this->get_arguments();
3149
+            }
3150
+
3151
+            // check for checkboxes
3152
+            if ( ! empty( $this->arguments ) ) {
3153
+                foreach ( $this->arguments as $argument ) {
3154
+                    if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) {
3155
+                        $instance[ $argument['name'] ] = '0';
3156
+                    }
3157
+                }
3158
+            }
3159
+
3160
+            return $instance;
3161
+        }
3162
+
3163
+        /**
3164
+         * Checks if the current call is a ajax call to get the block content.
3165
+         *
3166
+         * This can be used in your widget to return different content as the block content.
3167
+         *
3168
+         * @since 1.0.3
3169
+         * @return bool
3170
+         */
3171
+        public function is_block_content_call() {
3172
+            $result = false;
3173
+            if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3174
+                $result = true;
3175
+            }
3176
+
3177
+            return $result;
3178
+        }
3179
+
3180
+        /**
3181
+         * Get an instance hash that will be unique to the type and settings.
3182
+         *
3183
+         * @since 1.0.20
3184
+         * @return string
3185
+         */
3186
+        public function get_instance_hash(){
3187
+            $instance_string = $this->base_id.serialize($this->instance);
3188
+            return hash('crc32b',$instance_string);
3189
+        }
3190
+
3191
+        /**
3192
+         * Generate and return inline styles from CSS rules that will match the unique class of the instance.
3193
+         *
3194
+         * @param array $rules
3195
+         *
3196
+         * @since 1.0.20
3197
+         * @return string
3198
+         */
3199
+        public function get_instance_style($rules = array()){
3200
+            $css = '';
3201
+
3202
+            if(!empty($rules)){
3203
+                $rules = array_unique($rules);
3204
+                $instance_hash = $this->get_instance_hash();
3205
+                $css .= "<style>";
3206
+                foreach($rules as $rule){
3207
+                    $css .= ".sdel-$instance_hash $rule";
3208
+                }
3209
+                $css .= "</style>";
3210
+            }
3211
+
3212
+            return $css;
3213
+        }
3214
+    }
3215 3215
 }
Please login to merge, or discard this patch.
Spacing   +562 added lines, -562 removed lines patch added patch discarded remove patch
@@ -1,9 +1,9 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! defined( 'ABSPATH' ) ) {
2
+if (!defined('ABSPATH')) {
3 3
 	exit;
4 4
 }
5 5
 
6
-if ( ! class_exists( 'WP_Super_Duper' ) ) {
6
+if (!class_exists('WP_Super_Duper')) {
7 7
 
8 8
 
9 9
 	/**
@@ -37,27 +37,27 @@  discard block
 block discarded – undo
37 37
 		/**
38 38
 		 * Take the array options and use them to build.
39 39
 		 */
40
-		public function __construct( $options ) {
40
+		public function __construct($options) {
41 41
 			global $sd_widgets;
42 42
 
43
-			$sd_widgets[ $options['base_id'] ] = array(
43
+			$sd_widgets[$options['base_id']] = array(
44 44
 				'name'       => $options['name'],
45 45
 				'class_name' => $options['class_name']
46 46
 			);
47
-			$this->base_id                     = $options['base_id'];
47
+			$this->base_id = $options['base_id'];
48 48
 			// lets filter the options before we do anything
49
-			$options       = apply_filters( "wp_super_duper_options", $options );
50
-			$options       = apply_filters( "wp_super_duper_options_{$this->base_id}", $options );
51
-			$options       = $this->add_name_from_key( $options );
49
+			$options       = apply_filters("wp_super_duper_options", $options);
50
+			$options       = apply_filters("wp_super_duper_options_{$this->base_id}", $options);
51
+			$options       = $this->add_name_from_key($options);
52 52
 			$this->options = $options;
53 53
 
54 54
 			$this->base_id   = $options['base_id'];
55
-			$this->arguments = isset( $options['arguments'] ) ? $options['arguments'] : array();
55
+			$this->arguments = isset($options['arguments']) ? $options['arguments'] : array();
56 56
 
57 57
 			// init parent
58
-			parent::__construct( $options['base_id'], $options['name'], $options['widget_ops'] );
58
+			parent::__construct($options['base_id'], $options['name'], $options['widget_ops']);
59 59
 
60
-			if ( isset( $options['class_name'] ) ) {
60
+			if (isset($options['class_name'])) {
61 61
 				// register widget
62 62
 				$this->class_name = $options['class_name'];
63 63
 
@@ -65,66 +65,66 @@  discard block
 block discarded – undo
65 65
 				$this->register_shortcode();
66 66
 
67 67
 				// Fusion Builder (avada) support
68
-				if ( function_exists( 'fusion_builder_map' ) ) {
69
-					add_action( 'init', array( $this, 'register_fusion_element' ) );
68
+				if (function_exists('fusion_builder_map')) {
69
+					add_action('init', array($this, 'register_fusion_element'));
70 70
 				}
71 71
 
72 72
 				// register block
73
-				add_action( 'admin_enqueue_scripts', array( $this, 'register_block' ) );
73
+				add_action('admin_enqueue_scripts', array($this, 'register_block'));
74 74
 			}
75 75
 
76 76
 			// add the CSS and JS we need ONCE
77 77
 			global $sd_widget_scripts;
78 78
 
79
-			if ( ! $sd_widget_scripts ) {
80
-				wp_add_inline_script( 'admin-widgets', $this->widget_js() );
81
-				wp_add_inline_script( 'customize-controls', $this->widget_js() );
82
-				wp_add_inline_style( 'widgets', $this->widget_css() );
79
+			if (!$sd_widget_scripts) {
80
+				wp_add_inline_script('admin-widgets', $this->widget_js());
81
+				wp_add_inline_script('customize-controls', $this->widget_js());
82
+				wp_add_inline_style('widgets', $this->widget_css());
83 83
 
84 84
 				// maybe add elementor editor styles
85
-				add_action( 'elementor/editor/after_enqueue_styles', array( $this, 'elementor_editor_styles' ) );
85
+				add_action('elementor/editor/after_enqueue_styles', array($this, 'elementor_editor_styles'));
86 86
 
87 87
 				$sd_widget_scripts = true;
88 88
 
89 89
 				// add shortcode insert button once
90
-				add_action( 'media_buttons', array( $this, 'shortcode_insert_button' ) );
90
+				add_action('media_buttons', array($this, 'shortcode_insert_button'));
91 91
 				// generatepress theme sections compatibility
92
-				if ( function_exists( 'generate_sections_sections_metabox' ) ) {
93
-					add_action( 'generate_sections_metabox', array( $this, 'shortcode_insert_button_script' ) );
92
+				if (function_exists('generate_sections_sections_metabox')) {
93
+					add_action('generate_sections_metabox', array($this, 'shortcode_insert_button_script'));
94 94
 				}
95
-				if ( $this->is_preview() ) {
96
-					add_action( 'wp_footer', array( $this, 'shortcode_insert_button_script' ) );
95
+				if ($this->is_preview()) {
96
+					add_action('wp_footer', array($this, 'shortcode_insert_button_script'));
97 97
 					// this makes the insert button work for elementor
98
-					add_action( 'elementor/editor/after_enqueue_scripts', array(
98
+					add_action('elementor/editor/after_enqueue_scripts', array(
99 99
 						$this,
100 100
 						'shortcode_insert_button_script'
101
-					) ); // for elementor
101
+					)); // for elementor
102 102
 				}
103 103
 				// this makes the insert button work for cornerstone
104
-				add_action( 'wp_print_footer_scripts', array( __CLASS__, 'maybe_cornerstone_builder' ) );
104
+				add_action('wp_print_footer_scripts', array(__CLASS__, 'maybe_cornerstone_builder'));
105 105
 
106
-				add_action( 'wp_ajax_super_duper_get_widget_settings', array( __CLASS__, 'get_widget_settings' ) );
107
-				add_action( 'wp_ajax_super_duper_get_picker', array( __CLASS__, 'get_picker' ) );
106
+				add_action('wp_ajax_super_duper_get_widget_settings', array(__CLASS__, 'get_widget_settings'));
107
+				add_action('wp_ajax_super_duper_get_picker', array(__CLASS__, 'get_picker'));
108 108
 
109 109
 				// add generator text to admin head
110
-				add_action( 'admin_head', array( $this, 'generator' ) );
110
+				add_action('admin_head', array($this, 'generator'));
111 111
 			}
112 112
 
113
-			do_action( 'wp_super_duper_widget_init', $options, $this );
113
+			do_action('wp_super_duper_widget_init', $options, $this);
114 114
 		}
115 115
 
116 116
 		/**
117 117
 		 * Add our widget CSS to elementor editor.
118 118
 		 */
119 119
 		public function elementor_editor_styles() {
120
-			wp_add_inline_style( 'elementor-editor', $this->widget_css( false ) );
120
+			wp_add_inline_style('elementor-editor', $this->widget_css(false));
121 121
 		}
122 122
 
123 123
 		public function register_fusion_element() {
124 124
 
125 125
 			$options = $this->options;
126 126
 
127
-			if ( $this->base_id ) {
127
+			if ($this->base_id) {
128 128
 
129 129
 				$params = $this->get_fusion_params();
130 130
 
@@ -135,11 +135,11 @@  discard block
 block discarded – undo
135 135
 					'allow_generator' => true,
136 136
 				);
137 137
 
138
-				if ( ! empty( $params ) ) {
138
+				if (!empty($params)) {
139 139
 					$args['params'] = $params;
140 140
 				}
141 141
 
142
-				fusion_builder_map( $args );
142
+				fusion_builder_map($args);
143 143
 			}
144 144
 
145 145
 		}
@@ -148,8 +148,8 @@  discard block
 block discarded – undo
148 148
 			$params    = array();
149 149
 			$arguments = $this->get_arguments();
150 150
 
151
-			if ( ! empty( $arguments ) ) {
152
-				foreach ( $arguments as $key => $val ) {
151
+			if (!empty($arguments)) {
152
+				foreach ($arguments as $key => $val) {
153 153
 					$param = array();
154 154
 					// type
155 155
 					$param['type'] = str_replace(
@@ -171,7 +171,7 @@  discard block
 block discarded – undo
171 171
 						$val['type'] );
172 172
 
173 173
 					// multiselect
174
-					if ( $val['type'] == 'multiselect' || ( ( $param['type'] == 'select' || $val['type'] == 'select' ) && ! empty( $val['multiple'] ) ) ) {
174
+					if ($val['type'] == 'multiselect' || (($param['type'] == 'select' || $val['type'] == 'select') && !empty($val['multiple']))) {
175 175
 						$param['type']     = 'multiple_select';
176 176
 						$param['multiple'] = true;
177 177
 					}
@@ -180,29 +180,29 @@  discard block
 block discarded – undo
180 180
 					$param['heading'] = $val['title'];
181 181
 
182 182
 					// description
183
-					$param['description'] = isset( $val['desc'] ) ? $val['desc'] : '';
183
+					$param['description'] = isset($val['desc']) ? $val['desc'] : '';
184 184
 
185 185
 					// param_name
186 186
 					$param['param_name'] = $key;
187 187
 
188 188
 					// Default
189
-					$param['default'] = isset( $val['default'] ) ? $val['default'] : '';
189
+					$param['default'] = isset($val['default']) ? $val['default'] : '';
190 190
 
191 191
 					// Group
192
-					if ( isset( $val['group'] ) ) {
192
+					if (isset($val['group'])) {
193 193
 						$param['group'] = $val['group'];
194 194
 					}
195 195
 
196 196
 					// value
197
-					if ( $val['type'] == 'checkbox' ) {
198
-						if ( isset( $val['default'] ) && $val['default'] == '0' ) {
199
-							unset( $param['default'] );
197
+					if ($val['type'] == 'checkbox') {
198
+						if (isset($val['default']) && $val['default'] == '0') {
199
+							unset($param['default']);
200 200
 						}
201
-						$param['value'] = array( '' => __( "No" ), '1' => __( "Yes" ) );
202
-					} elseif ( $param['type'] == 'select' || $param['type'] == 'multiple_select' ) {
203
-						$param['value'] = isset( $val['options'] ) ? $val['options'] : array();
201
+						$param['value'] = array('' => __("No"), '1' => __("Yes"));
202
+					} elseif ($param['type'] == 'select' || $param['type'] == 'multiple_select') {
203
+						$param['value'] = isset($val['options']) ? $val['options'] : array();
204 204
 					} else {
205
-						$param['value'] = isset( $val['default'] ) ? $val['default'] : '';
205
+						$param['value'] = isset($val['default']) ? $val['default'] : '';
206 206
 					}
207 207
 
208 208
 					// setup the param
@@ -219,7 +219,7 @@  discard block
 block discarded – undo
219 219
 		 * Maybe insert the shortcode inserter button in the footer if we are in the cornerstone builder
220 220
 		 */
221 221
 		public static function maybe_cornerstone_builder() {
222
-			if ( did_action( 'cornerstone_before_boot_app' ) ) {
222
+			if (did_action('cornerstone_before_boot_app')) {
223 223
 				self::shortcode_insert_button_script();
224 224
 			}
225 225
 		}
@@ -231,12 +231,12 @@  discard block
 block discarded – undo
231 231
 		 *
232 232
 		 * @return string
233 233
 		 */
234
-		public static function get_picker( $editor_id = '' ) {
234
+		public static function get_picker($editor_id = '') {
235 235
 
236 236
 			ob_start();
237
-			if ( isset( $_POST['editor_id'] ) ) {
238
-				$editor_id = esc_attr( $_POST['editor_id'] );
239
-			} elseif ( isset( $_REQUEST['et_fb'] ) ) {
237
+			if (isset($_POST['editor_id'])) {
238
+				$editor_id = esc_attr($_POST['editor_id']);
239
+			} elseif (isset($_REQUEST['et_fb'])) {
240 240
 				$editor_id = 'main_content_content_vb_tiny_mce';
241 241
 			}
242 242
 
@@ -245,13 +245,13 @@  discard block
 block discarded – undo
245 245
 
246 246
 			<div class="sd-shortcode-left-wrap">
247 247
 				<?php
248
-				ksort( $sd_widgets );
248
+				ksort($sd_widgets);
249 249
 				//				print_r($sd_widgets);exit;
250
-				if ( ! empty( $sd_widgets ) ) {
250
+				if (!empty($sd_widgets)) {
251 251
 					echo '<select class="widefat" onchange="sd_get_shortcode_options(this);">';
252
-					echo "<option>" . __( 'Select shortcode' ) . "</option>";
253
-					foreach ( $sd_widgets as $shortcode => $class ) {
254
-						echo "<option value='" . esc_attr( $shortcode ) . "'>" . esc_attr( $shortcode ) . " (" . esc_attr( $class['name'] ) . ")</option>";
252
+					echo "<option>" . __('Select shortcode') . "</option>";
253
+					foreach ($sd_widgets as $shortcode => $class) {
254
+						echo "<option value='" . esc_attr($shortcode) . "'>" . esc_attr($shortcode) . " (" . esc_attr($class['name']) . ")</option>";
255 255
 					}
256 256
 					echo "</select>";
257 257
 
@@ -264,37 +264,37 @@  discard block
 block discarded – undo
264 264
 			<div class="sd-shortcode-right-wrap">
265 265
 				<textarea id='sd-shortcode-output' disabled></textarea>
266 266
 				<div id='sd-shortcode-output-actions'>
267
-					<?php if ( $editor_id != '' ) { ?>
267
+					<?php if ($editor_id != '') { ?>
268 268
 						<button class="button sd-insert-shortcode-button"
269
-						        onclick="sd_insert_shortcode(<?php if ( ! empty( $editor_id ) ) {
269
+						        onclick="sd_insert_shortcode(<?php if (!empty($editor_id)) {
270 270
 							        echo "'" . $editor_id . "'";
271
-						        } ?>)"><?php _e( 'Insert shortcode' ); ?></button>
271
+						        } ?>)"><?php _e('Insert shortcode'); ?></button>
272 272
 					<?php } ?>
273 273
 					<button class="button"
274
-					        onclick="sd_copy_to_clipboard()"><?php _e( 'Copy shortcode' ); ?></button>
274
+					        onclick="sd_copy_to_clipboard()"><?php _e('Copy shortcode'); ?></button>
275 275
 				</div>
276 276
 			</div>
277 277
 			<?php
278 278
 
279 279
 			$html = ob_get_clean();
280 280
 
281
-			if ( wp_doing_ajax() ) {
281
+			if (wp_doing_ajax()) {
282 282
 				echo $html;
283 283
 				$should_die = true;
284 284
 
285 285
 				// some builder get the editor via ajax so we should not die on those occasions
286 286
 				$dont_die = array(
287
-					'parent_tag',// WP Bakery
287
+					'parent_tag', // WP Bakery
288 288
 					'avia_request' // enfold
289 289
 				);
290 290
 
291
-				foreach ( $dont_die as $request ) {
292
-					if ( isset( $_REQUEST[ $request ] ) ) {
291
+				foreach ($dont_die as $request) {
292
+					if (isset($_REQUEST[$request])) {
293 293
 						$should_die = false;
294 294
 					}
295 295
 				}
296 296
 
297
-				if ( $should_die ) {
297
+				if ($should_die) {
298 298
 					wp_die();
299 299
 				}
300 300
 
@@ -321,16 +321,16 @@  discard block
 block discarded – undo
321 321
 		public static function get_widget_settings() {
322 322
 			global $sd_widgets;
323 323
 
324
-			$shortcode = isset( $_REQUEST['shortcode'] ) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes( $_REQUEST['shortcode'] ) : '';
325
-			if ( ! $shortcode ) {
324
+			$shortcode = isset($_REQUEST['shortcode']) && $_REQUEST['shortcode'] ? sanitize_title_with_dashes($_REQUEST['shortcode']) : '';
325
+			if (!$shortcode) {
326 326
 				wp_die();
327 327
 			}
328
-			$widget_args = isset( $sd_widgets[ $shortcode ] ) ? $sd_widgets[ $shortcode ] : '';
329
-			if ( ! $widget_args ) {
328
+			$widget_args = isset($sd_widgets[$shortcode]) ? $sd_widgets[$shortcode] : '';
329
+			if (!$widget_args) {
330 330
 				wp_die();
331 331
 			}
332
-			$class_name = isset( $widget_args['class_name'] ) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
333
-			if ( ! $class_name ) {
332
+			$class_name = isset($widget_args['class_name']) && $widget_args['class_name'] ? $widget_args['class_name'] : '';
333
+			if (!$class_name) {
334 334
 				wp_die();
335 335
 			}
336 336
 
@@ -338,7 +338,7 @@  discard block
 block discarded – undo
338 338
 			$widget = new $class_name;
339 339
 
340 340
 			ob_start();
341
-			$widget->form( array() );
341
+			$widget->form(array());
342 342
 			$form = ob_get_clean();
343 343
 			echo "<form id='$shortcode'>" . $form . "<div class=\"widget-control-save\"></div></form>";
344 344
 			echo "<style>" . $widget->widget_css() . "</style>";
@@ -356,9 +356,9 @@  discard block
 block discarded – undo
356 356
 		 * @param string $editor_id Optional. Shortcode editor id. Default null.
357 357
 		 * @param string $insert_shortcode_function Optional. Insert shortcode function. Default null.
358 358
 		 */
359
-		public static function shortcode_insert_button( $editor_id = '', $insert_shortcode_function = '' ) {
359
+		public static function shortcode_insert_button($editor_id = '', $insert_shortcode_function = '') {
360 360
 			global $sd_widgets, $shortcode_insert_button_once;
361
-			if ( $shortcode_insert_button_once ) {
361
+			if ($shortcode_insert_button_once) {
362 362
 				return;
363 363
 			}
364 364
 			add_thickbox();
@@ -368,21 +368,21 @@  discard block
 block discarded – undo
368 368
 			 * Cornerstone makes us play dirty tricks :/
369 369
 			 * All media_buttons are removed via JS unless they are two specific id's so we wrap our content in this ID so it is not removed.
370 370
 			 */
371
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
371
+			if (function_exists('cornerstone_plugin_init') && !is_admin()) {
372 372
 				echo '<span id="insert-media-button">';
373 373
 			}
374 374
 
375
-			echo self::shortcode_button( 'this', 'true' );
375
+			echo self::shortcode_button('this', 'true');
376 376
 
377 377
 			// see opening note
378
-			if ( function_exists( 'cornerstone_plugin_init' ) && ! is_admin() ) {
378
+			if (function_exists('cornerstone_plugin_init') && !is_admin()) {
379 379
 				echo '</span>'; // end #insert-media-button
380 380
 			}
381 381
 
382 382
 			// Add separate script for generatepress theme sections
383
-			if ( function_exists( 'generate_sections_sections_metabox' ) && did_action( 'generate_sections_metabox' ) ) {
383
+			if (function_exists('generate_sections_sections_metabox') && did_action('generate_sections_metabox')) {
384 384
 			} else {
385
-				self::shortcode_insert_button_script( $editor_id, $insert_shortcode_function );
385
+				self::shortcode_insert_button_script($editor_id, $insert_shortcode_function);
386 386
 			}
387 387
 
388 388
 			$shortcode_insert_button_once = true;
@@ -396,12 +396,12 @@  discard block
 block discarded – undo
396 396
 		 *
397 397
 		 * @return mixed
398 398
 		 */
399
-		public static function shortcode_button( $id = '', $search_for_id = '' ) {
399
+		public static function shortcode_button($id = '', $search_for_id = '') {
400 400
 			ob_start();
401 401
 			?>
402 402
 			<span class="sd-lable-shortcode-inserter">
403 403
 				<a onclick="sd_ajax_get_picker(<?php echo $id;
404
-				if ( $search_for_id ) {
404
+				if ($search_for_id) {
405 405
 					echo "," . $search_for_id;
406 406
 				} ?>);" href="#TB_inline?width=100%&height=550&inlineId=super-duper-content-ajaxed"
407 407
 				   class="thickbox button super-duper-content-open" title="Add Shortcode">
@@ -417,7 +417,7 @@  discard block
 block discarded – undo
417 417
 			$html = ob_get_clean();
418 418
 
419 419
 			// remove line breaks so we can use it in js
420
-			return preg_replace( "/\r|\n/", "", trim( $html ) );
420
+			return preg_replace("/\r|\n/", "", trim($html));
421 421
 		}
422 422
 
423 423
 		/**
@@ -475,7 +475,7 @@  discard block
 block discarded – undo
475 475
 						jQuery($this).data('sd-widget-enabled', true);
476 476
 					}
477 477
 
478
-					var $button = '<button title="<?php _e( 'Advanced Settings' );?>" class="button button-primary right sd-advanced-button" onclick="sd_so_toggle_advanced(this);return false;"><i class="fas fa-sliders-h" aria-hidden="true"></i></button>';
478
+					var $button = '<button title="<?php _e('Advanced Settings'); ?>" class="button button-primary right sd-advanced-button" onclick="sd_so_toggle_advanced(this);return false;"><i class="fas fa-sliders-h" aria-hidden="true"></i></button>';
479 479
 					var form = jQuery($this).parents('' + $selector + '');
480 480
 
481 481
 					if (jQuery($this).val() == '1' && jQuery(form).find('.sd-advanced-button').length == 0) {
@@ -512,10 +512,10 @@  discard block
 block discarded – undo
512 512
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
513 513
 			 */
514 514
 
515
-			return str_replace( array(
515
+			return str_replace(array(
516 516
 				'<script>',
517 517
 				'</script>'
518
-			), '', $output );
518
+			), '', $output);
519 519
 		}
520 520
 
521 521
 		/**
@@ -526,7 +526,7 @@  discard block
 block discarded – undo
526 526
 		 * @param string $editor_id
527 527
 		 * @param string $insert_shortcode_function
528 528
 		 */
529
-		public static function shortcode_insert_button_script( $editor_id = '', $insert_shortcode_function = '' ) {
529
+		public static function shortcode_insert_button_script($editor_id = '', $insert_shortcode_function = '') {
530 530
 			?>
531 531
 			<style>
532 532
 				.sd-shortcode-left-wrap {
@@ -645,7 +645,7 @@  discard block
 block discarded – undo
645 645
 					width: 100%;
646 646
 				}
647 647
 
648
-				<?php if ( function_exists( 'generate_sections_sections_metabox' ) ) { ?>
648
+				<?php if (function_exists('generate_sections_sections_metabox')) { ?>
649 649
 				.generate-sections-modal #custom-media-buttons > .sd-lable-shortcode-inserter {
650 650
 					display: inline;
651 651
 				}
@@ -653,15 +653,15 @@  discard block
 block discarded – undo
653 653
 				<?php } ?>
654 654
 			</style>
655 655
 			<?php
656
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
656
+			if (class_exists('SiteOrigin_Panels')) {
657 657
 				echo "<script>" . self::siteorigin_js() . "</script>";
658 658
 			}
659 659
 			?>
660 660
 			<script>
661 661
 				<?php
662
-				if(! empty( $insert_shortcode_function )){
662
+				if (!empty($insert_shortcode_function)) {
663 663
 					echo $insert_shortcode_function;
664
-				}else{
664
+				} else {
665 665
 
666 666
 				/**
667 667
 				 * Function for super duper insert shortcode.
@@ -674,9 +674,9 @@  discard block
 block discarded – undo
674 674
 					if ($shortcode) {
675 675
 						if (!$editor_id) {
676 676
 							<?php
677
-							if ( isset( $_REQUEST['et_fb'] ) ) {
677
+							if (isset($_REQUEST['et_fb'])) {
678 678
 								echo '$editor_id = "#main_content_content_vb_tiny_mce";';
679
-							} elseif ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) {
679
+							} elseif (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') {
680 680
 								echo '$editor_id = "#elementor-controls .wp-editor-container textarea";';
681 681
 							} else {
682 682
 								echo '$editor_id = "#wp-content-editor-container textarea";';
@@ -761,11 +761,11 @@  discard block
 block discarded – undo
761 761
 							'shortcode': $short_code,
762 762
 							'attributes': 123,
763 763
 							'post_id': 321,
764
-							'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
764
+							'_ajax_nonce': '<?php echo wp_create_nonce('super_duper_output_shortcode'); ?>'
765 765
 						};
766 766
 
767 767
 						if (typeof ajaxurl === 'undefined') {
768
-							var ajaxurl = "<?php echo admin_url( 'admin-ajax.php' );?>";
768
+							var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
769 769
 						}
770 770
 
771 771
 						jQuery.post(ajaxurl, data, function (response) {
@@ -974,11 +974,11 @@  discard block
 block discarded – undo
974 974
 					var data = {
975 975
 						'action': 'super_duper_get_picker',
976 976
 						'editor_id': $id,
977
-						'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_picker' );?>'
977
+						'_ajax_nonce': '<?php echo wp_create_nonce('super_duper_picker'); ?>'
978 978
 					};
979 979
 
980 980
 					if (!ajaxurl) {
981
-						var ajaxurl = "<?php echo admin_url( 'admin-ajax.php' ); ?>";
981
+						var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
982 982
 					}
983 983
 
984 984
 					jQuery.post(ajaxurl, data, function (response) {
@@ -999,9 +999,9 @@  discard block
 block discarded – undo
999 999
 				 */
1000 1000
 				function sd_shortcode_button($id) {
1001 1001
 					if ($id) {
1002
-						return '<?php echo self::shortcode_button( "\\''+\$id+'\\'" );?>';
1002
+						return '<?php echo self::shortcode_button("\\''+\$id+'\\'"); ?>';
1003 1003
 					} else {
1004
-						return '<?php echo self::shortcode_button();?>';
1004
+						return '<?php echo self::shortcode_button(); ?>';
1005 1005
 					}
1006 1006
 				}
1007 1007
 
@@ -1016,11 +1016,11 @@  discard block
 block discarded – undo
1016 1016
 		 *
1017 1017
 		 * @return mixed
1018 1018
 		 */
1019
-		public function widget_css( $advanced = true ) {
1019
+		public function widget_css($advanced = true) {
1020 1020
 			ob_start();
1021 1021
 			?>
1022 1022
 			<style>
1023
-				<?php if( $advanced ){ ?>
1023
+				<?php if ($advanced) { ?>
1024 1024
 				.sd-advanced-setting {
1025 1025
 					display: none;
1026 1026
 				}
@@ -1062,10 +1062,10 @@  discard block
 block discarded – undo
1062 1062
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1063 1063
 			 */
1064 1064
 
1065
-			return str_replace( array(
1065
+			return str_replace(array(
1066 1066
 				'<style>',
1067 1067
 				'</style>'
1068
-			), '', $output );
1068
+			), '', $output);
1069 1069
 		}
1070 1070
 
1071 1071
 		/**
@@ -1135,7 +1135,7 @@  discard block
 block discarded – undo
1135 1135
 						jQuery($this).data('sd-widget-enabled', true);
1136 1136
 					}
1137 1137
 
1138
-					var $button = '<button title="<?php _e( 'Advanced Settings' );?>" style="line-height: 28px;" class="button button-primary right sd-advanced-button" onclick="sd_toggle_advanced(this);return false;"><span class="dashicons dashicons-admin-settings" style="width: 28px;font-size: 28px;"></span></button>';
1138
+					var $button = '<button title="<?php _e('Advanced Settings'); ?>" style="line-height: 28px;" class="button button-primary right sd-advanced-button" onclick="sd_toggle_advanced(this);return false;"><span class="dashicons dashicons-admin-settings" style="width: 28px;font-size: 28px;"></span></button>';
1139 1139
 					var form = jQuery($this).parents('' + $selector + '');
1140 1140
 
1141 1141
 					if (jQuery($this).val() == '1' && jQuery(form).find('.sd-advanced-button').length == 0) {
@@ -1230,7 +1230,7 @@  discard block
 block discarded – undo
1230 1230
 					});
1231 1231
 
1232 1232
 				}
1233
-				<?php do_action( 'wp_super_duper_widget_js', $this ); ?>
1233
+				<?php do_action('wp_super_duper_widget_js', $this); ?>
1234 1234
 			</script>
1235 1235
 			<?php
1236 1236
 			$output = ob_get_clean();
@@ -1239,10 +1239,10 @@  discard block
 block discarded – undo
1239 1239
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
1240 1240
 			 */
1241 1241
 
1242
-			return str_replace( array(
1242
+			return str_replace(array(
1243 1243
 				'<script>',
1244 1244
 				'</script>'
1245
-			), '', $output );
1245
+			), '', $output);
1246 1246
 		}
1247 1247
 
1248 1248
 
@@ -1253,14 +1253,14 @@  discard block
 block discarded – undo
1253 1253
 		 *
1254 1254
 		 * @return mixed
1255 1255
 		 */
1256
-		private function add_name_from_key( $options, $arguments = false ) {
1257
-			if ( ! empty( $options['arguments'] ) ) {
1258
-				foreach ( $options['arguments'] as $key => $val ) {
1259
-					$options['arguments'][ $key ]['name'] = $key;
1256
+		private function add_name_from_key($options, $arguments = false) {
1257
+			if (!empty($options['arguments'])) {
1258
+				foreach ($options['arguments'] as $key => $val) {
1259
+					$options['arguments'][$key]['name'] = $key;
1260 1260
 				}
1261
-			} elseif ( $arguments && is_array( $options ) && ! empty( $options ) ) {
1262
-				foreach ( $options as $key => $val ) {
1263
-					$options[ $key ]['name'] = $key;
1261
+			} elseif ($arguments && is_array($options) && !empty($options)) {
1262
+				foreach ($options as $key => $val) {
1263
+					$options[$key]['name'] = $key;
1264 1264
 				}
1265 1265
 			}
1266 1266
 
@@ -1273,8 +1273,8 @@  discard block
 block discarded – undo
1273 1273
 		 * @since 1.0.0
1274 1274
 		 */
1275 1275
 		public function register_shortcode() {
1276
-			add_shortcode( $this->base_id, array( $this, 'shortcode_output' ) );
1277
-			add_action( 'wp_ajax_super_duper_output_shortcode', array( __CLASS__, 'render_shortcode' ) );
1276
+			add_shortcode($this->base_id, array($this, 'shortcode_output'));
1277
+			add_action('wp_ajax_super_duper_output_shortcode', array(__CLASS__, 'render_shortcode'));
1278 1278
 		}
1279 1279
 
1280 1280
 		/**
@@ -1284,36 +1284,36 @@  discard block
 block discarded – undo
1284 1284
 		 */
1285 1285
 		public static function render_shortcode() {
1286 1286
 
1287
-			check_ajax_referer( 'super_duper_output_shortcode', '_ajax_nonce', true );
1288
-			if ( ! current_user_can( 'manage_options' ) ) {
1287
+			check_ajax_referer('super_duper_output_shortcode', '_ajax_nonce', true);
1288
+			if (!current_user_can('manage_options')) {
1289 1289
 				wp_die();
1290 1290
 			}
1291 1291
 
1292 1292
 			// we might need the $post value here so lets set it.
1293
-			if ( isset( $_POST['post_id'] ) && $_POST['post_id'] ) {
1294
-				$post_obj = get_post( absint( $_POST['post_id'] ) );
1295
-				if ( ! empty( $post_obj ) && empty( $post ) ) {
1293
+			if (isset($_POST['post_id']) && $_POST['post_id']) {
1294
+				$post_obj = get_post(absint($_POST['post_id']));
1295
+				if (!empty($post_obj) && empty($post)) {
1296 1296
 					global $post;
1297 1297
 					$post = $post_obj;
1298 1298
 				}
1299 1299
 			}
1300 1300
 
1301
-			if ( isset( $_POST['shortcode'] ) && $_POST['shortcode'] ) {
1302
-				$shortcode_name   = sanitize_title_with_dashes( $_POST['shortcode'] );
1303
-				$attributes_array = isset( $_POST['attributes'] ) && $_POST['attributes'] ? $_POST['attributes'] : array();
1301
+			if (isset($_POST['shortcode']) && $_POST['shortcode']) {
1302
+				$shortcode_name   = sanitize_title_with_dashes($_POST['shortcode']);
1303
+				$attributes_array = isset($_POST['attributes']) && $_POST['attributes'] ? $_POST['attributes'] : array();
1304 1304
 				$attributes       = '';
1305
-				if ( ! empty( $attributes_array ) ) {
1306
-					foreach ( $attributes_array as $key => $value ) {
1307
-						if ( is_array( $value ) ) {
1308
-							$value = implode( ",", $value );
1305
+				if (!empty($attributes_array)) {
1306
+					foreach ($attributes_array as $key => $value) {
1307
+						if (is_array($value)) {
1308
+							$value = implode(",", $value);
1309 1309
 						}
1310
-						$attributes .= " " . sanitize_title_with_dashes( $key ) . "='" . wp_slash( $value ) . "' ";
1310
+						$attributes .= " " . sanitize_title_with_dashes($key) . "='" . wp_slash($value) . "' ";
1311 1311
 					}
1312 1312
 				}
1313 1313
 
1314 1314
 				$shortcode = "[" . $shortcode_name . " " . $attributes . "]";
1315 1315
 
1316
-				echo do_shortcode( $shortcode );
1316
+				echo do_shortcode($shortcode);
1317 1317
 
1318 1318
 			}
1319 1319
 			wp_die();
@@ -1327,45 +1327,45 @@  discard block
 block discarded – undo
1327 1327
 		 *
1328 1328
 		 * @return string
1329 1329
 		 */
1330
-		public function shortcode_output( $args = array(), $content = '' ) {
1331
-			$args = $this->argument_values( $args );
1330
+		public function shortcode_output($args = array(), $content = '') {
1331
+			$args = $this->argument_values($args);
1332 1332
 
1333 1333
 			// add extra argument so we know its a output to gutenberg
1334 1334
 			//$args
1335
-			$args = $this->string_to_bool( $args );
1335
+			$args = $this->string_to_bool($args);
1336 1336
 
1337 1337
 			// if we have a enclosed shortcode we add it to the special `html` argument
1338
-			if ( ! empty( $content ) ) {
1338
+			if (!empty($content)) {
1339 1339
 				$args['html'] = $content;
1340 1340
 			}
1341 1341
 
1342
-			$class = isset( $this->options['widget_ops']['classname'] ) ? esc_attr( $this->options['widget_ops']['classname'] ) : '';
1343
-			$class .= " sdel-".$this->get_instance_hash();
1342
+			$class = isset($this->options['widget_ops']['classname']) ? esc_attr($this->options['widget_ops']['classname']) : '';
1343
+			$class .= " sdel-" . $this->get_instance_hash();
1344 1344
 
1345
-			$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
1346
-			$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
1345
+			$class = apply_filters('wp_super_duper_div_classname', $class, $args, $this);
1346
+			$class = apply_filters('wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this);
1347 1347
 
1348
-			$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
1349
-			$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
1348
+			$attrs = apply_filters('wp_super_duper_div_attrs', '', $args, $this);
1349
+			$attrs = apply_filters('wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this);
1350 1350
 
1351 1351
 			$shortcode_args = array();
1352 1352
 			$output         = '';
1353
-			$no_wrap        = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1354
-			if ( isset( $args['no_wrap'] ) && $args['no_wrap'] ) {
1353
+			$no_wrap        = isset($this->options['no_wrap']) && $this->options['no_wrap'] ? true : false;
1354
+			if (isset($args['no_wrap']) && $args['no_wrap']) {
1355 1355
 				$no_wrap = true;
1356 1356
 			}
1357
-			$main_content = $this->output( $args, $shortcode_args, $content );
1358
-			if ( $main_content && ! $no_wrap ) {
1357
+			$main_content = $this->output($args, $shortcode_args, $content);
1358
+			if ($main_content && !$no_wrap) {
1359 1359
 				// wrap the shortcode in a div with the same class as the widget
1360 1360
 				$output .= '<div class="' . $class . '" ' . $attrs . '>';
1361
-				if ( ! empty( $args['title'] ) ) {
1361
+				if (!empty($args['title'])) {
1362 1362
 					// if its a shortcode and there is a title try to grab the title wrappers
1363
-					$shortcode_args = array( 'before_title' => '', 'after_title' => '' );
1364
-					if ( empty( $instance ) ) {
1363
+					$shortcode_args = array('before_title' => '', 'after_title' => '');
1364
+					if (empty($instance)) {
1365 1365
 						global $wp_registered_sidebars;
1366
-						if ( ! empty( $wp_registered_sidebars ) ) {
1367
-							foreach ( $wp_registered_sidebars as $sidebar ) {
1368
-								if ( ! empty( $sidebar['before_title'] ) ) {
1366
+						if (!empty($wp_registered_sidebars)) {
1367
+							foreach ($wp_registered_sidebars as $sidebar) {
1368
+								if (!empty($sidebar['before_title'])) {
1369 1369
 									$shortcode_args['before_title'] = $sidebar['before_title'];
1370 1370
 									$shortcode_args['after_title']  = $sidebar['after_title'];
1371 1371
 									break;
@@ -1373,20 +1373,20 @@  discard block
 block discarded – undo
1373 1373
 							}
1374 1374
 						}
1375 1375
 					}
1376
-					$output .= $this->output_title( $shortcode_args, $args );
1376
+					$output .= $this->output_title($shortcode_args, $args);
1377 1377
 				}
1378 1378
 				$output .= $main_content;
1379 1379
 				$output .= '</div>';
1380
-			} elseif ( $main_content && $no_wrap ) {
1380
+			} elseif ($main_content && $no_wrap) {
1381 1381
 				$output .= $main_content;
1382 1382
 			}
1383 1383
 
1384 1384
 			// if preview show a placeholder if empty
1385
-			if ( $this->is_preview() && $output == '' ) {
1386
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
1385
+			if ($this->is_preview() && $output == '') {
1386
+				$output = $this->preview_placeholder_text("{{" . $this->base_id . "}}");
1387 1387
 			}
1388 1388
 
1389
-			return apply_filters( 'wp_super_duper_widget_output', $output, $args, $shortcode_args, $this );
1389
+			return apply_filters('wp_super_duper_widget_output', $output, $args, $shortcode_args, $this);
1390 1390
 		}
1391 1391
 
1392 1392
 		/**
@@ -1396,8 +1396,8 @@  discard block
 block discarded – undo
1396 1396
 		 *
1397 1397
 		 * @return string
1398 1398
 		 */
1399
-		public function preview_placeholder_text( $name = '' ) {
1400
-			return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . sprintf( __( 'Placeholder for: %s' ), $name ) . "</div>";
1399
+		public function preview_placeholder_text($name = '') {
1400
+			return "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" . sprintf(__('Placeholder for: %s'), $name) . "</div>";
1401 1401
 		}
1402 1402
 
1403 1403
 		/**
@@ -1407,13 +1407,13 @@  discard block
 block discarded – undo
1407 1407
 		 *
1408 1408
 		 * @return mixed
1409 1409
 		 */
1410
-		public function string_to_bool( $options ) {
1410
+		public function string_to_bool($options) {
1411 1411
 			// convert bool strings to booleans
1412
-			foreach ( $options as $key => $val ) {
1413
-				if ( $val == 'false' ) {
1414
-					$options[ $key ] = false;
1415
-				} elseif ( $val == 'true' ) {
1416
-					$options[ $key ] = true;
1412
+			foreach ($options as $key => $val) {
1413
+				if ($val == 'false') {
1414
+					$options[$key] = false;
1415
+				} elseif ($val == 'true') {
1416
+					$options[$key] = true;
1417 1417
 				}
1418 1418
 			}
1419 1419
 
@@ -1429,26 +1429,26 @@  discard block
 block discarded – undo
1429 1429
 		 *
1430 1430
 		 * @return array
1431 1431
 		 */
1432
-		public function argument_values( $instance ) {
1432
+		public function argument_values($instance) {
1433 1433
 			$argument_values = array();
1434 1434
 
1435 1435
 			// set widget instance
1436 1436
 			$this->instance = $instance;
1437 1437
 
1438
-			if ( empty( $this->arguments ) ) {
1438
+			if (empty($this->arguments)) {
1439 1439
 				$this->arguments = $this->get_arguments();
1440 1440
 			}
1441 1441
 
1442
-			if ( ! empty( $this->arguments ) ) {
1443
-				foreach ( $this->arguments as $key => $args ) {
1442
+			if (!empty($this->arguments)) {
1443
+				foreach ($this->arguments as $key => $args) {
1444 1444
 					// set the input name from the key
1445 1445
 					$args['name'] = $key;
1446 1446
 					//
1447
-					$argument_values[ $key ] = isset( $instance[ $key ] ) ? $instance[ $key ] : '';
1448
-					if ( $args['type'] == 'checkbox' && $argument_values[ $key ] == '' ) {
1447
+					$argument_values[$key] = isset($instance[$key]) ? $instance[$key] : '';
1448
+					if ($args['type'] == 'checkbox' && $argument_values[$key] == '') {
1449 1449
 						// don't set default for an empty checkbox
1450
-					} elseif ( $argument_values[ $key ] == '' && isset( $args['default'] ) ) {
1451
-						$argument_values[ $key ] = $args['default'];
1450
+					} elseif ($argument_values[$key] == '' && isset($args['default'])) {
1451
+						$argument_values[$key] = $args['default'];
1452 1452
 					}
1453 1453
 				}
1454 1454
 			}
@@ -1475,12 +1475,12 @@  discard block
 block discarded – undo
1475 1475
 		 * @return array Get arguments.
1476 1476
 		 */
1477 1477
 		public function get_arguments() {
1478
-			if ( empty( $this->arguments ) ) {
1478
+			if (empty($this->arguments)) {
1479 1479
 				$this->arguments = $this->set_arguments();
1480 1480
 			}
1481 1481
 
1482
-			$this->arguments = apply_filters( 'wp_super_duper_arguments', $this->arguments, $this->options, $this->instance );
1483
-			$this->arguments = $this->add_name_from_key( $this->arguments, true );
1482
+			$this->arguments = apply_filters('wp_super_duper_arguments', $this->arguments, $this->options, $this->instance);
1483
+			$this->arguments = $this->add_name_from_key($this->arguments, true);
1484 1484
 
1485 1485
 			return $this->arguments;
1486 1486
 		}
@@ -1492,7 +1492,7 @@  discard block
 block discarded – undo
1492 1492
 		 * @param array $widget_args
1493 1493
 		 * @param string $content
1494 1494
 		 */
1495
-		public function output( $args = array(), $widget_args = array(), $content = '' ) {
1495
+		public function output($args = array(), $widget_args = array(), $content = '') {
1496 1496
 
1497 1497
 		}
1498 1498
 
@@ -1500,9 +1500,9 @@  discard block
 block discarded – undo
1500 1500
 		 * Add the dynamic block code inline when the wp-block in enqueued.
1501 1501
 		 */
1502 1502
 		public function register_block() {
1503
-			wp_add_inline_script( 'wp-blocks', $this->block() );
1504
-			if ( class_exists( 'SiteOrigin_Panels' ) ) {
1505
-				wp_add_inline_script( 'wp-blocks', $this->siteorigin_js() );
1503
+			wp_add_inline_script('wp-blocks', $this->block());
1504
+			if (class_exists('SiteOrigin_Panels')) {
1505
+				wp_add_inline_script('wp-blocks', $this->siteorigin_js());
1506 1506
 			}
1507 1507
 		}
1508 1508
 
@@ -1516,13 +1516,13 @@  discard block
 block discarded – undo
1516 1516
 			$show      = false;
1517 1517
 			$arguments = $this->arguments;
1518 1518
 
1519
-			if ( empty( $arguments ) ) {
1519
+			if (empty($arguments)) {
1520 1520
 				$arguments = $this->get_arguments();
1521 1521
 			}
1522 1522
 
1523
-			if ( ! empty( $arguments ) ) {
1524
-				foreach ( $arguments as $argument ) {
1525
-					if ( isset( $argument['advanced'] ) && $argument['advanced'] ) {
1523
+			if (!empty($arguments)) {
1524
+				foreach ($arguments as $argument) {
1525
+					if (isset($argument['advanced']) && $argument['advanced']) {
1526 1526
 						$show = true;
1527 1527
 						break; // no need to continue if we know we have it
1528 1528
 					}
@@ -1541,15 +1541,15 @@  discard block
 block discarded – undo
1541 1541
 
1542 1542
 			$url = $this->url;
1543 1543
 
1544
-			if ( ! $url ) {
1544
+			if (!$url) {
1545 1545
 				// check if we are inside a plugin
1546
-				$file_dir = str_replace( "/includes", "", dirname( __FILE__ ) );
1546
+				$file_dir = str_replace("/includes", "", dirname(__FILE__));
1547 1547
 
1548
-				$dir_parts = explode( "/wp-content/", $file_dir );
1549
-				$url_parts = explode( "/wp-content/", plugins_url() );
1548
+				$dir_parts = explode("/wp-content/", $file_dir);
1549
+				$url_parts = explode("/wp-content/", plugins_url());
1550 1550
 
1551
-				if ( ! empty( $url_parts[0] ) && ! empty( $dir_parts[1] ) ) {
1552
-					$url       = trailingslashit( $url_parts[0] . "/wp-content/" . $dir_parts[1] );
1551
+				if (!empty($url_parts[0]) && !empty($dir_parts[1])) {
1552
+					$url       = trailingslashit($url_parts[0] . "/wp-content/" . $dir_parts[1]);
1553 1553
 					$this->url = $url;
1554 1554
 				}
1555 1555
 			}
@@ -1570,46 +1570,46 @@  discard block
 block discarded – undo
1570 1570
 		 * @since 1.1.0
1571 1571
 		 * @return string
1572 1572
 		 */
1573
-		public function get_block_icon( $icon ) {
1573
+		public function get_block_icon($icon) {
1574 1574
 
1575 1575
 			// check if we have a Font Awesome icon
1576 1576
 			$fa_type = '';
1577
-			if ( substr( $icon, 0, 7 ) === "fas fa-" ) {
1577
+			if (substr($icon, 0, 7) === "fas fa-") {
1578 1578
 				$fa_type = 'solid';
1579
-			} elseif ( substr( $icon, 0, 7 ) === "far fa-" ) {
1579
+			} elseif (substr($icon, 0, 7) === "far fa-") {
1580 1580
 				$fa_type = 'regular';
1581
-			} elseif ( substr( $icon, 0, 7 ) === "fab fa-" ) {
1581
+			} elseif (substr($icon, 0, 7) === "fab fa-") {
1582 1582
 				$fa_type = 'brands';
1583 1583
 			} else {
1584 1584
 				$icon = "'" . $icon . "'";
1585 1585
 			}
1586 1586
 
1587 1587
 			// set the icon if we found one
1588
-			if ( $fa_type ) {
1589
-				$fa_icon = str_replace( array( "fas fa-", "far fa-", "fab fa-" ), "", $icon );
1588
+			if ($fa_type) {
1589
+				$fa_icon = str_replace(array("fas fa-", "far fa-", "fab fa-"), "", $icon);
1590 1590
 				$icon    = "el('svg',{width: 20, height: 20, viewBox: '0 0 20 20'},el('use', {'xlink:href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "','href': '" . $this->get_url() . "icons/" . $fa_type . ".svg#" . $fa_icon . "'}))";
1591 1591
 			}
1592 1592
 
1593 1593
 			return $icon;
1594 1594
 		}
1595 1595
 
1596
-		public function group_arguments( $arguments ) {
1596
+		public function group_arguments($arguments) {
1597 1597
 //			echo '###';print_r($arguments);
1598
-			if ( ! empty( $arguments ) ) {
1598
+			if (!empty($arguments)) {
1599 1599
 				$temp_arguments = array();
1600
-				$general        = __( "General" );
1600
+				$general        = __("General");
1601 1601
 				$add_sections   = false;
1602
-				foreach ( $arguments as $key => $args ) {
1603
-					if ( isset( $args['group'] ) ) {
1604
-						$temp_arguments[ $args['group'] ][ $key ] = $args;
1602
+				foreach ($arguments as $key => $args) {
1603
+					if (isset($args['group'])) {
1604
+						$temp_arguments[$args['group']][$key] = $args;
1605 1605
 						$add_sections                             = true;
1606 1606
 					} else {
1607
-						$temp_arguments[ $general ][ $key ] = $args;
1607
+						$temp_arguments[$general][$key] = $args;
1608 1608
 					}
1609 1609
 				}
1610 1610
 
1611 1611
 				// only add sections if more than one
1612
-				if ( $add_sections ) {
1612
+				if ($add_sections) {
1613 1613
 					$arguments = $temp_arguments;
1614 1614
 				}
1615 1615
 			}
@@ -1653,9 +1653,9 @@  discard block
 block discarded – undo
1653 1653
 					var prev_attributes = [];
1654 1654
 
1655 1655
 					var term_query_type = '';
1656
-					var post_type_rest_slugs = <?php if(! empty( $this->arguments ) && isset($this->arguments['post_type']['onchange_rest']['values'])){echo "[".json_encode($this->arguments['post_type']['onchange_rest']['values'])."]";}else{echo "[]";} ?>;
1657
-					const taxonomies_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
1658
-					const sort_by_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
1656
+					var post_type_rest_slugs = <?php if (!empty($this->arguments) && isset($this->arguments['post_type']['onchange_rest']['values'])) {echo "[" . json_encode($this->arguments['post_type']['onchange_rest']['values']) . "]"; } else {echo "[]"; } ?>;
1657
+					const taxonomies_<?php echo str_replace("-", "_", $this->id); ?> = [{label: "Please wait", value: 0}];
1658
+					const sort_by_<?php echo str_replace("-", "_", $this->id); ?> = [{label: "Please wait", value: 0}];
1659 1659
 
1660 1660
 					/**
1661 1661
 					 * Register Basic Block.
@@ -1669,30 +1669,30 @@  discard block
 block discarded – undo
1669 1669
 					 * @return {?WPBlock}          The block, if it has been successfully
1670 1670
 					 *                             registered; otherwise `undefined`.
1671 1671
 					 */
1672
-					registerBlockType('<?php echo str_replace( "_", "-", sanitize_title_with_dashes( $this->options['textdomain'] ) . '/' . sanitize_title_with_dashes( $this->options['class_name'] ) );  ?>', { // Block name. Block names must be string that contains a namespace prefix. Example: my-plugin/my-custom-block.
1673
-						title: '<?php echo addslashes( $this->options['name'] ); ?>', // Block title.
1674
-						description: '<?php echo addslashes( $this->options['widget_ops']['description'] )?>', // Block title.
1675
-						icon: <?php echo $this->get_block_icon( $this->options['block-icon'] );?>,//'<?php echo isset( $this->options['block-icon'] ) ? esc_attr( $this->options['block-icon'] ) : 'shield-alt';?>', // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/.
1672
+					registerBlockType('<?php echo str_replace("_", "-", sanitize_title_with_dashes($this->options['textdomain']) . '/' . sanitize_title_with_dashes($this->options['class_name'])); ?>', { // Block name. Block names must be string that contains a namespace prefix. Example: my-plugin/my-custom-block.
1673
+						title: '<?php echo addslashes($this->options['name']); ?>', // Block title.
1674
+						description: '<?php echo addslashes($this->options['widget_ops']['description'])?>', // Block title.
1675
+						icon: <?php echo $this->get_block_icon($this->options['block-icon']); ?>,//'<?php echo isset($this->options['block-icon']) ? esc_attr($this->options['block-icon']) : 'shield-alt'; ?>', // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/.
1676 1676
 						supports: {
1677 1677
 							<?php
1678
-							if ( isset( $this->options['block-supports'] ) ) {
1679
-								echo $this->array_to_attributes( $this->options['block-supports'] );
1678
+							if (isset($this->options['block-supports'])) {
1679
+								echo $this->array_to_attributes($this->options['block-supports']);
1680 1680
 							}
1681 1681
 							?>
1682 1682
 						},
1683
-						category: '<?php echo isset( $this->options['block-category'] ) ? esc_attr( $this->options['block-category'] ) : 'common';?>', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed.
1684
-						<?php if ( isset( $this->options['block-keywords'] ) ) {
1683
+						category: '<?php echo isset($this->options['block-category']) ? esc_attr($this->options['block-category']) : 'common'; ?>', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed.
1684
+						<?php if (isset($this->options['block-keywords'])) {
1685 1685
 						echo "keywords : " . $this->options['block-keywords'] . ",";
1686 1686
 					}?>
1687 1687
 
1688 1688
 						<?php
1689 1689
 
1690 1690
 						// maybe set no_wrap
1691
-						$no_wrap = isset( $this->options['no_wrap'] ) && $this->options['no_wrap'] ? true : false;
1692
-						if ( isset( $this->arguments['no_wrap'] ) && $this->arguments['no_wrap'] ) {
1691
+						$no_wrap = isset($this->options['no_wrap']) && $this->options['no_wrap'] ? true : false;
1692
+						if (isset($this->arguments['no_wrap']) && $this->arguments['no_wrap']) {
1693 1693
 							$no_wrap = true;
1694 1694
 						}
1695
-						if ( $no_wrap ) {
1695
+						if ($no_wrap) {
1696 1696
 							$this->options['block-wrap'] = '';
1697 1697
 						}
1698 1698
 
@@ -1705,10 +1705,10 @@  discard block
 block discarded – undo
1705 1705
 						echo "  html: false";
1706 1706
 						echo "},";*/
1707 1707
 
1708
-						if ( ! empty( $this->arguments ) ) {
1708
+						if (!empty($this->arguments)) {
1709 1709
 							echo "attributes : {";
1710 1710
 
1711
-							if ( $show_advanced ) {
1711
+							if ($show_advanced) {
1712 1712
 								echo "show_advanced: {";
1713 1713
 								echo "	type: 'boolean',";
1714 1714
 								echo "  default: false,";
@@ -1716,41 +1716,41 @@  discard block
 block discarded – undo
1716 1716
 							}
1717 1717
 
1718 1718
 							// block wrap element
1719
-							if ( ! empty( $this->options['block-wrap'] ) ) { //@todo we should validate this?
1719
+							if (!empty($this->options['block-wrap'])) { //@todo we should validate this?
1720 1720
 								echo "block_wrap: {";
1721 1721
 								echo "	type: 'string',";
1722
-								echo "  default: '" . esc_attr( $this->options['block-wrap'] ) . "',";
1722
+								echo "  default: '" . esc_attr($this->options['block-wrap']) . "',";
1723 1723
 								echo "},";
1724 1724
 							}
1725 1725
 
1726
-							foreach ( $this->arguments as $key => $args ) {
1726
+							foreach ($this->arguments as $key => $args) {
1727 1727
 
1728 1728
 								// set if we should show alignment
1729
-								if ( $key == 'alignment' ) {
1729
+								if ($key == 'alignment') {
1730 1730
 									$show_alignment = true;
1731 1731
 								}
1732 1732
 
1733 1733
 								$extra = '';
1734 1734
 
1735
-								if ( $args['type'] == 'checkbox' ) {
1735
+								if ($args['type'] == 'checkbox') {
1736 1736
 									$type    = 'boolean';
1737
-									$default = isset( $args['default'] ) && $args['default'] ? 'true' : 'false';
1738
-								} elseif ( $args['type'] == 'number' ) {
1737
+									$default = isset($args['default']) && $args['default'] ? 'true' : 'false';
1738
+								} elseif ($args['type'] == 'number') {
1739 1739
 									$type    = 'number';
1740
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1741
-								} elseif ( $args['type'] == 'select' && ! empty( $args['multiple'] ) ) {
1740
+									$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
1741
+								} elseif ($args['type'] == 'select' && !empty($args['multiple'])) {
1742 1742
 									$type = 'array';
1743
-									if ( isset( $args['default'] ) && is_array( $args['default'] ) ) {
1744
-										$default = ! empty( $args['default'] ) ? "['" . implode( "','", $args['default'] ) . "']" : "[]";
1743
+									if (isset($args['default']) && is_array($args['default'])) {
1744
+										$default = !empty($args['default']) ? "['" . implode("','", $args['default']) . "']" : "[]";
1745 1745
 									} else {
1746
-										$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1746
+										$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
1747 1747
 									}
1748
-								} elseif ( $args['type'] == 'multiselect' ) {
1748
+								} elseif ($args['type'] == 'multiselect') {
1749 1749
 									$type    = 'array';
1750
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1750
+									$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
1751 1751
 								} else {
1752 1752
 									$type    = 'string';
1753
-									$default = isset( $args['default'] ) ? "'" . $args['default'] . "'" : "''";
1753
+									$default = isset($args['default']) ? "'" . $args['default'] . "'" : "''";
1754 1754
 								}
1755 1755
 								echo $key . " : {";
1756 1756
 								echo "type : '$type',";
@@ -1774,7 +1774,7 @@  discard block
 block discarded – undo
1774 1774
 							var $value = '';
1775 1775
 							<?php
1776 1776
 							// if we have a post_type and a category then link them
1777
-							if( isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked']) ){
1777
+							if (isset($this->arguments['post_type']) && isset($this->arguments['category']) && !empty($this->arguments['category']['post_type_linked'])) {
1778 1778
 							?>
1779 1779
 							if(typeof(prev_attributes[props.id]) != 'undefined' ){
1780 1780
 								$pt = props.attributes.post_type;
@@ -1790,13 +1790,13 @@  discard block
 block discarded – undo
1790 1790
 
1791 1791
 								// taxonomies
1792 1792
 								if( $value && 'post_type' in prev_attributes[props.id] && 'category' in prev_attributes[props.id] && run ){
1793
-									wp.apiFetch({path: "<?php if(isset($this->arguments['post_type']['onchange_rest']['path'])){echo $this->arguments['post_type']['onchange_rest']['path'];}else{'/wp/v2/"+$value+"/categories/?per_page=100';} ?>"}).then(terms => {
1794
-										while (taxonomies_<?php echo str_replace("-","_", $this->id);?>.length) {
1795
-										taxonomies_<?php echo str_replace("-","_", $this->id);?>.pop();
1793
+									wp.apiFetch({path: "<?php if (isset($this->arguments['post_type']['onchange_rest']['path'])) {echo $this->arguments['post_type']['onchange_rest']['path']; } else {'/wp/v2/"+$value+"/categories/?per_page=100'; } ?>"}).then(terms => {
1794
+										while (taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.length) {
1795
+										taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.pop();
1796 1796
 									}
1797
-									taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: "All", value: 0});
1797
+									taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: "All", value: 0});
1798 1798
 									jQuery.each( terms, function( key, val ) {
1799
-										taxonomies_<?php echo str_replace("-","_", $this->id);?>.push({label: val.name, value: val.id});
1799
+										taxonomies_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val.name, value: val.id});
1800 1800
 									});
1801 1801
 
1802 1802
 									// setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options.
@@ -1804,7 +1804,7 @@  discard block
 block discarded – undo
1804 1804
 									props.setAttributes({category: [0] });
1805 1805
 									props.setAttributes({category: $old_cat_value });
1806 1806
 
1807
-									return taxonomies_<?php echo str_replace("-","_", $this->id);?>;
1807
+									return taxonomies_<?php echo str_replace("-", "_", $this->id); ?>;
1808 1808
 								});
1809 1809
 								}
1810 1810
 
@@ -1816,12 +1816,12 @@  discard block
 block discarded – undo
1816 1816
 									};
1817 1817
 									jQuery.post(ajaxurl, data, function(response) {
1818 1818
 										response = JSON.parse(response);
1819
-										while (sort_by_<?php echo str_replace("-","_", $this->id);?>.length) {
1820
-											sort_by_<?php echo str_replace("-","_", $this->id);?>.pop();
1819
+										while (sort_by_<?php echo str_replace("-", "_", $this->id); ?>.length) {
1820
+											sort_by_<?php echo str_replace("-", "_", $this->id); ?>.pop();
1821 1821
 										}
1822 1822
 
1823 1823
 										jQuery.each( response, function( key, val ) {
1824
-											sort_by_<?php echo str_replace("-","_", $this->id);?>.push({label: val, value: key});
1824
+											sort_by_<?php echo str_replace("-", "_", $this->id); ?>.push({label: val, value: key});
1825 1825
 										});
1826 1826
 
1827 1827
 										// setting the value back and fourth fixes the no update issue that sometimes happens where it won't update the options.
@@ -1829,7 +1829,7 @@  discard block
 block discarded – undo
1829 1829
 										props.setAttributes({sort_by: [0] });
1830 1830
 										props.setAttributes({sort_by: $old_sort_by_value });
1831 1831
 
1832
-										return sort_by_<?php echo str_replace("-","_", $this->id);?>;
1832
+										return sort_by_<?php echo str_replace("-", "_", $this->id); ?>;
1833 1833
 									});
1834 1834
 
1835 1835
 								}
@@ -1856,12 +1856,12 @@  discard block
 block discarded – undo
1856 1856
 									is_fetching = true;
1857 1857
 									var data = {
1858 1858
 										'action': 'super_duper_output_shortcode',
1859
-										'shortcode': '<?php echo $this->options['base_id'];?>',
1859
+										'shortcode': '<?php echo $this->options['base_id']; ?>',
1860 1860
 										'attributes': props.attributes,
1861
-										'post_id': <?php global $post; if ( isset( $post->ID ) ) {
1861
+										'post_id': <?php global $post; if (isset($post->ID)) {
1862 1862
 										echo $post->ID;
1863
-									}else{echo '0';}?>,
1864
-										'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
1863
+									} else {echo '0'; }?>,
1864
+										'_ajax_nonce': '<?php echo wp_create_nonce('super_duper_output_shortcode'); ?>'
1865 1865
 									};
1866 1866
 
1867 1867
 									jQuery.post(ajaxurl, data, function (response) {
@@ -1870,7 +1870,7 @@  discard block
 block discarded – undo
1870 1870
 
1871 1871
 										// if the content is empty then we place some placeholder text
1872 1872
 										if (env == '') {
1873
-											env = "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" + "<?php _e( 'Placeholder for: ' );?>" + props.name + "</div>";
1873
+											env = "<div style='background:#0185ba33;padding: 10px;border: 4px #ccc dashed;'>" + "<?php _e('Placeholder for: '); ?>" + props.name + "</div>";
1874 1874
 										}
1875 1875
 
1876 1876
 										props.setAttributes({content: env});
@@ -1894,7 +1894,7 @@  discard block
 block discarded – undo
1894 1894
 
1895 1895
 								el(wp.blockEditor.BlockControls, {key: 'controls'},
1896 1896
 
1897
-									<?php if($show_alignment){?>
1897
+									<?php if ($show_alignment) {?>
1898 1898
 									el(
1899 1899
 										wp.blockEditor.AlignmentToolbar,
1900 1900
 										{
@@ -1912,9 +1912,9 @@  discard block
 block discarded – undo
1912 1912
 
1913 1913
 									<?php
1914 1914
 
1915
-									if(! empty( $this->arguments )){
1915
+									if (!empty($this->arguments)) {
1916 1916
 
1917
-									if ( $show_advanced ) {
1917
+									if ($show_advanced) {
1918 1918
 									?>
1919 1919
 									el('div', {
1920 1920
 											style: {'padding-left': '16px','padding-right': '16px'}
@@ -1935,19 +1935,19 @@  discard block
 block discarded – undo
1935 1935
 
1936 1936
 									}
1937 1937
 
1938
-									$arguments = $this->group_arguments( $this->arguments );
1938
+									$arguments = $this->group_arguments($this->arguments);
1939 1939
 
1940 1940
 									// Do we have sections?
1941 1941
 									$has_sections = $arguments == $this->arguments ? false : true;
1942 1942
 
1943 1943
 
1944
-									if($has_sections){
1944
+									if ($has_sections) {
1945 1945
 									$panel_count = 0;
1946
-									foreach($arguments as $key => $args){
1946
+									foreach ($arguments as $key => $args) {
1947 1947
 									?>
1948 1948
 									el(wp.components.PanelBody, {
1949
-											title: '<?php esc_attr_e( $key ); ?>',
1950
-											initialOpen: <?php if ( $panel_count ) {
1949
+											title: '<?php esc_attr_e($key); ?>',
1950
+											initialOpen: <?php if ($panel_count) {
1951 1951
 											echo "false";
1952 1952
 										} else {
1953 1953
 											echo "true";
@@ -1957,29 +1957,29 @@  discard block
 block discarded – undo
1957 1957
 
1958 1958
 
1959 1959
 
1960
-										foreach ( $args as $k => $a ) {
1960
+										foreach ($args as $k => $a) {
1961 1961
 
1962
-											$this->block_row_start( $k, $a );
1963
-											$this->build_block_arguments( $k, $a );
1964
-											$this->block_row_end( $k, $a );
1962
+											$this->block_row_start($k, $a);
1963
+											$this->build_block_arguments($k, $a);
1964
+											$this->block_row_end($k, $a);
1965 1965
 										}
1966 1966
 										?>
1967 1967
 									),
1968 1968
 									<?php
1969
-									$panel_count ++;
1969
+									$panel_count++;
1970 1970
 
1971 1971
 									}
1972
-									}else {
1972
+									} else {
1973 1973
 									?>
1974 1974
 									el(wp.components.PanelBody, {
1975
-											title: '<?php esc_attr_e( "Settings" ); ?>',
1975
+											title: '<?php esc_attr_e("Settings"); ?>',
1976 1976
 											initialOpen: true
1977 1977
 										},
1978 1978
 										<?php
1979
-										foreach ( $this->arguments as $key => $args ) {
1980
-											$this->block_row_start( $key, $args );
1981
-											$this->build_block_arguments( $key, $args );
1982
-											$this->block_row_end( $key, $args );
1979
+										foreach ($this->arguments as $key => $args) {
1980
+											$this->block_row_start($key, $args);
1981
+											$this->build_block_arguments($key, $args);
1982
+											$this->block_row_end($key, $args);
1983 1983
 										}
1984 1984
 										?>
1985 1985
 									),
@@ -1993,9 +1993,9 @@  discard block
 block discarded – undo
1993 1993
 
1994 1994
 								<?php
1995 1995
 								// If the user sets block-output array then build it
1996
-								if ( ! empty( $this->options['block-output'] ) ) {
1997
-								$this->block_element( $this->options['block-output'] );
1998
-							}else{
1996
+								if (!empty($this->options['block-output'])) {
1997
+								$this->block_element($this->options['block-output']);
1998
+							} else {
1999 1999
 								// if no block-output is set then we try and get the shortcode html output via ajax.
2000 2000
 								?>
2001 2001
 								el('div', {
@@ -2019,19 +2019,19 @@  discard block
 block discarded – undo
2019 2019
 							var align = '';
2020 2020
 
2021 2021
 							// build the shortcode.
2022
-							var content = "[<?php echo $this->options['base_id'];?>";
2022
+							var content = "[<?php echo $this->options['base_id']; ?>";
2023 2023
 							$html = '';
2024 2024
 							<?php
2025 2025
 
2026
-							if(! empty( $this->arguments )){
2026
+							if (!empty($this->arguments)) {
2027 2027
 
2028
-							foreach($this->arguments as $key => $args){
2028
+							foreach ($this->arguments as $key => $args) {
2029 2029
 							?>
2030
-							if (attr.hasOwnProperty("<?php echo esc_attr( $key );?>")) {
2031
-								if ('<?php echo esc_attr( $key );?>' == 'html') {
2032
-									$html = attr.<?php echo esc_attr( $key );?>;
2030
+							if (attr.hasOwnProperty("<?php echo esc_attr($key); ?>")) {
2031
+								if ('<?php echo esc_attr($key); ?>' == 'html') {
2032
+									$html = attr.<?php echo esc_attr($key); ?>;
2033 2033
 								} else {
2034
-									content += " <?php echo esc_attr( $key );?>='" + attr.<?php echo esc_attr( $key );?>+ "' ";
2034
+									content += " <?php echo esc_attr($key); ?>='" + attr.<?php echo esc_attr($key); ?>+ "' ";
2035 2035
 								}
2036 2036
 							}
2037 2037
 							<?php
@@ -2043,7 +2043,7 @@  discard block
 block discarded – undo
2043 2043
 
2044 2044
 							// if has html element
2045 2045
 							if ($html) {
2046
-								content += $html + "[/<?php echo $this->options['base_id'];?>]";
2046
+								content += $html + "[/<?php echo $this->options['base_id']; ?>]";
2047 2047
 							}
2048 2048
 
2049 2049
 
@@ -2061,11 +2061,11 @@  discard block
 block discarded – undo
2061 2061
 							}
2062 2062
 
2063 2063
 							<?php
2064
-							if(isset( $this->options['block-wrap'] ) && $this->options['block-wrap'] == ''){
2064
+							if (isset($this->options['block-wrap']) && $this->options['block-wrap'] == '') {
2065 2065
 							?>
2066 2066
 							return content;
2067 2067
 							<?php
2068
-							}else{
2068
+							} else {
2069 2069
 							?>
2070 2070
 							var block_wrap = 'div';
2071 2071
 							if (attr.hasOwnProperty("block_wrap")) {
@@ -2088,45 +2088,45 @@  discard block
 block discarded – undo
2088 2088
 			 * We only add the <script> tags for code highlighting, so we strip them from the output.
2089 2089
 			 */
2090 2090
 
2091
-			return str_replace( array(
2091
+			return str_replace(array(
2092 2092
 				'<script>',
2093 2093
 				'</script>'
2094
-			), '', $output );
2094
+			), '', $output);
2095 2095
 		}
2096 2096
 
2097
-		public function block_row_start($key, $args){
2097
+		public function block_row_start($key, $args) {
2098 2098
 
2099 2099
 			// check for row
2100
-			if(!empty($args['row'])){
2100
+			if (!empty($args['row'])) {
2101 2101
 
2102
-				if(!empty($args['row']['open'])){
2102
+				if (!empty($args['row']['open'])) {
2103 2103
 
2104 2104
 				// element require
2105
-				$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
2105
+				$element_require = !empty($args['element_require']) ? $this->block_props_replace($args['element_require'], true) . " && " : "";
2106 2106
 				echo $element_require;
2107 2107
 
2108
-					if(false){?><script><?php }?>
2108
+					if (false) {?><script><?php }?>
2109 2109
 						el('div', {
2110 2110
 								className: 'bsui components-base-control',
2111 2111
 							},
2112
-							<?php if(!empty($args['row']['title'])){ ?>
2112
+							<?php if (!empty($args['row']['title'])) { ?>
2113 2113
 							el('label', {
2114 2114
 									className: 'components-base-control__label',
2115 2115
 								},
2116
-								'<?php echo addslashes( $args['row']['title'] ); ?>'
2116
+								'<?php echo addslashes($args['row']['title']); ?>'
2117 2117
 							),
2118 2118
 							<?php }?>
2119
-							<?php if(!empty($args['row']['desc'])){ ?>
2119
+							<?php if (!empty($args['row']['desc'])) { ?>
2120 2120
 							el('p', {
2121 2121
 									className: 'components-base-control__help mb-0',
2122 2122
 								},
2123
-								'<?php echo addslashes( $args['row']['desc'] ); ?>'
2123
+								'<?php echo addslashes($args['row']['desc']); ?>'
2124 2124
 							),
2125 2125
 							<?php }?>
2126 2126
 							el(
2127 2127
 								'div',
2128 2128
 								{
2129
-									className: 'row mb-n2 <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>',
2129
+									className: 'row mb-n2 <?php if (!empty($args['row']['class'])) { echo esc_attr($args['row']['class']); } ?>',
2130 2130
 								},
2131 2131
 								el(
2132 2132
 									'div',
@@ -2135,36 +2135,36 @@  discard block
 block discarded – undo
2135 2135
 									},
2136 2136
 
2137 2137
 					<?php
2138
-					if(false){?></script><?php }
2139
-				}elseif(!empty($args['row']['close'])){
2140
-					if(false){?><script><?php }?>
2138
+					if (false) {?></script><?php }
2139
+				}elseif (!empty($args['row']['close'])) {
2140
+					if (false) {?><script><?php }?>
2141 2141
 						el(
2142 2142
 							'div',
2143 2143
 							{
2144 2144
 								className: 'col pl-0',
2145 2145
 							},
2146 2146
 					<?php
2147
-					if(false){?></script><?php }
2148
-				}else{
2149
-					if(false){?><script><?php }?>
2147
+					if (false) {?></script><?php }
2148
+				} else {
2149
+					if (false) {?><script><?php }?>
2150 2150
 						el(
2151 2151
 							'div',
2152 2152
 							{
2153 2153
 								className: 'col pl-0 pr-2',
2154 2154
 							},
2155 2155
 					<?php
2156
-					if(false){?></script><?php }
2156
+					if (false) {?></script><?php }
2157 2157
 				}
2158 2158
 
2159 2159
 			}
2160 2160
 
2161 2161
 		}
2162 2162
 
2163
-		public function block_row_end($key, $args){
2163
+		public function block_row_end($key, $args) {
2164 2164
 
2165
-			if(!empty($args['row'])){
2165
+			if (!empty($args['row'])) {
2166 2166
 				// maybe close
2167
-				if(!empty($args['row']['close'])){
2167
+				if (!empty($args['row']['close'])) {
2168 2168
 					echo "))";
2169 2169
 				}
2170 2170
 
@@ -2172,25 +2172,25 @@  discard block
 block discarded – undo
2172 2172
 			}
2173 2173
 		}
2174 2174
 
2175
-		public function build_block_arguments( $key, $args ) {
2176
-			$custom_attributes = ! empty( $args['custom_attributes'] ) ? $this->array_to_attributes( $args['custom_attributes'] ) : '';
2175
+		public function build_block_arguments($key, $args) {
2176
+			$custom_attributes = !empty($args['custom_attributes']) ? $this->array_to_attributes($args['custom_attributes']) : '';
2177 2177
 			$options           = '';
2178 2178
 			$extra             = '';
2179 2179
 			$require           = '';
2180 2180
 
2181 2181
 			// `content` is a protected and special argument
2182
-			if ( $key == 'content' ) {
2182
+			if ($key == 'content') {
2183 2183
 				return;
2184 2184
 			}
2185 2185
 
2186 2186
 
2187 2187
 			// icon
2188 2188
 			$icon = '';
2189
-			if( !empty( $args['icon'] ) ){
2189
+			if (!empty($args['icon'])) {
2190 2190
 				$icon .= "el('div', {";
2191
-									$icon .= "dangerouslySetInnerHTML: {__html: '".self::get_widget_icon( esc_attr($args['icon']))."'},";
2191
+									$icon .= "dangerouslySetInnerHTML: {__html: '" . self::get_widget_icon(esc_attr($args['icon'])) . "'},";
2192 2192
 									$icon .= "className: 'text-center',";
2193
-									$icon .= "title: '".addslashes( $args['title'] )."',";
2193
+									$icon .= "title: '" . addslashes($args['title']) . "',";
2194 2194
 								$icon .= "}),";
2195 2195
 
2196 2196
 				// blank title as its added to the icon.
@@ -2198,20 +2198,20 @@  discard block
 block discarded – undo
2198 2198
 			}
2199 2199
 
2200 2200
 			// require advanced
2201
-			$require_advanced = ! empty( $args['advanced'] ) ? "props.attributes.show_advanced && " : "";
2201
+			$require_advanced = !empty($args['advanced']) ? "props.attributes.show_advanced && " : "";
2202 2202
 
2203 2203
 			// element require
2204
-			$element_require = ! empty( $args['element_require'] ) ? $this->block_props_replace( $args['element_require'], true ) . " && " : "";
2204
+			$element_require = !empty($args['element_require']) ? $this->block_props_replace($args['element_require'], true) . " && " : "";
2205 2205
 
2206 2206
 
2207 2207
 			$onchange  = "props.setAttributes({ $key: $key } )";
2208
-			$onchangecomplete  = "";
2208
+			$onchangecomplete = "";
2209 2209
 			$value     = "props.attributes.$key";
2210
-			$text_type = array( 'text', 'password', 'number', 'email', 'tel', 'url', 'colorx' );
2211
-			if ( in_array( $args['type'], $text_type ) ) {
2210
+			$text_type = array('text', 'password', 'number', 'email', 'tel', 'url', 'colorx');
2211
+			if (in_array($args['type'], $text_type)) {
2212 2212
 				$type = 'TextControl';
2213 2213
 				// Save numbers as numbers and not strings
2214
-				if ( $args['type'] == 'number' ) {
2214
+				if ($args['type'] == 'number') {
2215 2215
 					$onchange = "props.setAttributes({ $key: Number($key) } )";
2216 2216
 				}
2217 2217
 			}
@@ -2249,11 +2249,11 @@  discard block
 block discarded – undo
2249 2249
 							return;
2250 2250
 						}
2251 2251
 			*/
2252
-			elseif ( $args['type'] == 'color' ) {
2252
+			elseif ($args['type'] == 'color') {
2253 2253
 				$type = 'ColorPicker';
2254 2254
 				$onchange = "";
2255 2255
 				$extra = "color: $value,";
2256
-				if(!empty($args['disable_alpha'])){
2256
+				if (!empty($args['disable_alpha'])) {
2257 2257
 					$extra .= "disableAlpha: true,";
2258 2258
 				}
2259 2259
 				$onchangecomplete = "onChangeComplete: function($key) {
@@ -2263,49 +2263,49 @@  discard block
 block discarded – undo
2263 2263
                         });
2264 2264
                     },";
2265 2265
 			}
2266
-			elseif ( $args['type'] == 'checkbox' ) {
2266
+			elseif ($args['type'] == 'checkbox') {
2267 2267
 				$type = 'CheckboxControl';
2268 2268
 				$extra .= "checked: props.attributes.$key,";
2269 2269
 				$onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
2270
-			} elseif ( $args['type'] == 'textarea' ) {
2270
+			} elseif ($args['type'] == 'textarea') {
2271 2271
 				$type = 'TextareaControl';
2272
-			} elseif ( $args['type'] == 'select' || $args['type'] == 'multiselect' ) {
2272
+			} elseif ($args['type'] == 'select' || $args['type'] == 'multiselect') {
2273 2273
 				$type = 'SelectControl';
2274 2274
 
2275
-				if($args['name'] == 'category' && !empty($args['post_type_linked'])){
2276
-					$options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
2277
-				}elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
2278
-					$options .= "options: sort_by_".str_replace("-","_", $this->id).",";
2279
-				}else {
2275
+				if ($args['name'] == 'category' && !empty($args['post_type_linked'])) {
2276
+					$options .= "options: taxonomies_" . str_replace("-", "_", $this->id) . ",";
2277
+				}elseif ($args['name'] == 'sort_by' && !empty($args['post_type_linked'])) {
2278
+					$options .= "options: sort_by_" . str_replace("-", "_", $this->id) . ",";
2279
+				} else {
2280 2280
 
2281
-					if ( ! empty( $args['options'] ) ) {
2281
+					if (!empty($args['options'])) {
2282 2282
 						$options .= "options: [";
2283
-						foreach ( $args['options'] as $option_val => $option_label ) {
2284
-							$options .= "{ value: '" . esc_attr( $option_val ) . "', label: '" . addslashes( $option_label ) . "' },";
2283
+						foreach ($args['options'] as $option_val => $option_label) {
2284
+							$options .= "{ value: '" . esc_attr($option_val) . "', label: '" . addslashes($option_label) . "' },";
2285 2285
 						}
2286 2286
 						$options .= "],";
2287 2287
 					}
2288 2288
 				}
2289
-				if ( isset( $args['multiple'] ) && $args['multiple'] ) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
2289
+				if (isset($args['multiple']) && $args['multiple']) { //@todo multiselect does not work at the moment: https://github.com/WordPress/gutenberg/issues/5550
2290 2290
 					$extra .= ' multiple: true, ';
2291 2291
 				}
2292
-			} elseif ( $args['type'] == 'alignment' ) {
2292
+			} elseif ($args['type'] == 'alignment') {
2293 2293
 				$type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
2294
-			}elseif ( $args['type'] == 'margins' ) {
2294
+			}elseif ($args['type'] == 'margins') {
2295 2295
 
2296 2296
 			} else {
2297
-				return;// if we have not implemented the control then don't break the JS.
2297
+				return; // if we have not implemented the control then don't break the JS.
2298 2298
 			}
2299 2299
 
2300 2300
 
2301 2301
 
2302 2302
 			// color input does not show the labels so we add them
2303
-			if($args['type']=='color'){
2303
+			if ($args['type'] == 'color') {
2304 2304
 				// add show only if advanced
2305 2305
 				echo $require_advanced;
2306 2306
 				// add setting require if defined
2307 2307
 				echo $element_require;
2308
-				echo "el('div', {style: {'marginBottom': '8px'}}, '".addslashes( $args['title'] )."'),";
2308
+				echo "el('div', {style: {'marginBottom': '8px'}}, '" . addslashes($args['title']) . "'),";
2309 2309
 			}
2310 2310
 
2311 2311
 			// add show only if advanced
@@ -2317,21 +2317,21 @@  discard block
 block discarded – undo
2317 2317
 			echo $icon;
2318 2318
 			?>
2319 2319
 			el( wp.components.<?php echo $type; ?>, {
2320
-			label: '<?php echo addslashes( $args['title'] ); ?>',
2321
-			help: '<?php if ( isset( $args['desc'] ) ) {
2322
-				echo addslashes( $args['desc'] );
2320
+			label: '<?php echo addslashes($args['title']); ?>',
2321
+			help: '<?php if (isset($args['desc'])) {
2322
+				echo addslashes($args['desc']);
2323 2323
 			} ?>',
2324 2324
 			value: <?php echo $value; ?>,
2325
-			<?php if ( $type == 'TextControl' && $args['type'] != 'text' ) {
2326
-				echo "type: '" . addslashes( $args['type'] ) . "',";
2325
+			<?php if ($type == 'TextControl' && $args['type'] != 'text') {
2326
+				echo "type: '" . addslashes($args['type']) . "',";
2327 2327
 			} ?>
2328
-			<?php if ( ! empty( $args['placeholder'] ) ) {
2329
-				echo "placeholder: '" . addslashes( $args['placeholder'] ) . "',";
2328
+			<?php if (!empty($args['placeholder'])) {
2329
+				echo "placeholder: '" . addslashes($args['placeholder']) . "',";
2330 2330
 			} ?>
2331 2331
 			<?php echo $options; ?>
2332 2332
 			<?php echo $extra; ?>
2333 2333
 			<?php echo $custom_attributes; ?>
2334
-			<?php echo $onchangecomplete;?>
2334
+			<?php echo $onchangecomplete; ?>
2335 2335
 			onChange: function ( <?php echo $key; ?> ) {
2336 2336
 			<?php echo $onchange; ?>
2337 2337
 			}
@@ -2350,16 +2350,16 @@  discard block
 block discarded – undo
2350 2350
 		 *
2351 2351
 		 * @return string
2352 2352
 		 */
2353
-		public function array_to_attributes( $custom_attributes, $html = false ) {
2353
+		public function array_to_attributes($custom_attributes, $html = false) {
2354 2354
 			$attributes = '';
2355
-			if ( ! empty( $custom_attributes ) ) {
2355
+			if (!empty($custom_attributes)) {
2356 2356
 
2357
-				if ( $html ) {
2358
-					foreach ( $custom_attributes as $key => $val ) {
2357
+				if ($html) {
2358
+					foreach ($custom_attributes as $key => $val) {
2359 2359
 						$attributes .= " $key='$val' ";
2360 2360
 					}
2361 2361
 				} else {
2362
-					foreach ( $custom_attributes as $key => $val ) {
2362
+					foreach ($custom_attributes as $key => $val) {
2363 2363
 						$attributes .= "'$key': '$val',";
2364 2364
 					}
2365 2365
 				}
@@ -2375,86 +2375,86 @@  discard block
 block discarded – undo
2375 2375
 		 *
2376 2376
 		 * @param $args
2377 2377
 		 */
2378
-		public function block_element( $args ) {
2378
+		public function block_element($args) {
2379 2379
 
2380 2380
 
2381
-			if ( ! empty( $args ) ) {
2382
-				foreach ( $args as $element => $new_args ) {
2381
+			if (!empty($args)) {
2382
+				foreach ($args as $element => $new_args) {
2383 2383
 
2384
-					if ( is_array( $new_args ) ) { // its an element
2384
+					if (is_array($new_args)) { // its an element
2385 2385
 
2386 2386
 
2387
-						if ( isset( $new_args['element'] ) ) {
2387
+						if (isset($new_args['element'])) {
2388 2388
 
2389
-							if ( isset( $new_args['element_require'] ) ) {
2390
-								echo str_replace( array(
2389
+							if (isset($new_args['element_require'])) {
2390
+								echo str_replace(array(
2391 2391
 										"'+",
2392 2392
 										"+'"
2393
-									), '', $this->block_props_replace( $new_args['element_require'] ) ) . " &&  ";
2394
-								unset( $new_args['element_require'] );
2393
+									), '', $this->block_props_replace($new_args['element_require'])) . " &&  ";
2394
+								unset($new_args['element_require']);
2395 2395
 							}
2396 2396
 
2397 2397
 							echo "\n el( '" . $new_args['element'] . "', {";
2398 2398
 
2399 2399
 							// get the attributes
2400
-							foreach ( $new_args as $new_key => $new_value ) {
2400
+							foreach ($new_args as $new_key => $new_value) {
2401 2401
 
2402 2402
 
2403
-								if ( $new_key == 'element' || $new_key == 'content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array( $new_value ) ) {
2403
+								if ($new_key == 'element' || $new_key == 'content' || $new_key == 'element_require' || $new_key == 'element_repeat' || is_array($new_value)) {
2404 2404
 									// do nothing
2405 2405
 								} else {
2406
-									echo $this->block_element( array( $new_key => $new_value ) );
2406
+									echo $this->block_element(array($new_key => $new_value));
2407 2407
 								}
2408 2408
 							}
2409 2409
 
2410
-							echo "},";// end attributes
2410
+							echo "},"; // end attributes
2411 2411
 
2412 2412
 							// get the content
2413 2413
 							$first_item = 0;
2414
-							foreach ( $new_args as $new_key => $new_value ) {
2415
-								if ( $new_key === 'content' || is_array( $new_value ) ) {
2414
+							foreach ($new_args as $new_key => $new_value) {
2415
+								if ($new_key === 'content' || is_array($new_value)) {
2416 2416
 
2417
-									if ( $new_key === 'content' ) {
2418
-										echo "'" . $this->block_props_replace( wp_slash( $new_value ) ) . "'";
2417
+									if ($new_key === 'content') {
2418
+										echo "'" . $this->block_props_replace(wp_slash($new_value)) . "'";
2419 2419
 									}
2420 2420
 
2421
-									if ( is_array( $new_value ) ) {
2421
+									if (is_array($new_value)) {
2422 2422
 
2423
-										if ( isset( $new_value['element_require'] ) ) {
2424
-											echo str_replace( array(
2423
+										if (isset($new_value['element_require'])) {
2424
+											echo str_replace(array(
2425 2425
 													"'+",
2426 2426
 													"+'"
2427
-												), '', $this->block_props_replace( $new_value['element_require'] ) ) . " &&  ";
2428
-											unset( $new_value['element_require'] );
2427
+												), '', $this->block_props_replace($new_value['element_require'])) . " &&  ";
2428
+											unset($new_value['element_require']);
2429 2429
 										}
2430 2430
 
2431
-										if ( isset( $new_value['element_repeat'] ) ) {
2431
+										if (isset($new_value['element_repeat'])) {
2432 2432
 											$x = 1;
2433
-											while ( $x <= absint( $new_value['element_repeat'] ) ) {
2434
-												$this->block_element( array( '' => $new_value ) );
2435
-												$x ++;
2433
+											while ($x <= absint($new_value['element_repeat'])) {
2434
+												$this->block_element(array('' => $new_value));
2435
+												$x++;
2436 2436
 											}
2437 2437
 										} else {
2438
-											$this->block_element( array( '' => $new_value ) );
2438
+											$this->block_element(array('' => $new_value));
2439 2439
 										}
2440 2440
 									}
2441
-									$first_item ++;
2441
+									$first_item++;
2442 2442
 								}
2443 2443
 							}
2444 2444
 
2445
-							echo ")";// end content
2445
+							echo ")"; // end content
2446 2446
 
2447 2447
 							echo ", \n";
2448 2448
 
2449 2449
 						}
2450 2450
 					} else {
2451 2451
 
2452
-						if ( substr( $element, 0, 3 ) === "if_" ) {
2453
-							echo str_replace( "if_", "", $element ) . ": " . $this->block_props_replace( $new_args, true ) . ",";
2454
-						} elseif ( $element == 'style' ) {
2455
-							echo $element . ": " . $this->block_props_replace( $new_args ) . ",";
2452
+						if (substr($element, 0, 3) === "if_") {
2453
+							echo str_replace("if_", "", $element) . ": " . $this->block_props_replace($new_args, true) . ",";
2454
+						} elseif ($element == 'style') {
2455
+							echo $element . ": " . $this->block_props_replace($new_args) . ",";
2456 2456
 						} else {
2457
-							echo $element . ": '" . $this->block_props_replace( $new_args ) . "',";
2457
+							echo $element . ": '" . $this->block_props_replace($new_args) . "',";
2458 2458
 						}
2459 2459
 
2460 2460
 					}
@@ -2469,12 +2469,12 @@  discard block
 block discarded – undo
2469 2469
 		 *
2470 2470
 		 * @return mixed
2471 2471
 		 */
2472
-		public function block_props_replace( $string, $no_wrap = false ) {
2472
+		public function block_props_replace($string, $no_wrap = false) {
2473 2473
 
2474
-			if ( $no_wrap ) {
2475
-				$string = str_replace( array( "[%", "%]" ), array( "props.attributes.", "" ), $string );
2474
+			if ($no_wrap) {
2475
+				$string = str_replace(array("[%", "%]"), array("props.attributes.", ""), $string);
2476 2476
 			} else {
2477
-				$string = str_replace( array( "[%", "%]" ), array( "'+props.attributes.", "+'" ), $string );
2477
+				$string = str_replace(array("[%", "%]"), array("'+props.attributes.", "+'"), $string);
2478 2478
 			}
2479 2479
 
2480 2480
 			return $string;
@@ -2486,62 +2486,62 @@  discard block
 block discarded – undo
2486 2486
 		 * @param array $args
2487 2487
 		 * @param array $instance
2488 2488
 		 */
2489
-		public function widget( $args, $instance ) {
2489
+		public function widget($args, $instance) {
2490 2490
 
2491 2491
 			// get the filtered values
2492
-			$argument_values = $this->argument_values( $instance );
2493
-			$argument_values = $this->string_to_bool( $argument_values );
2494
-			$output          = $this->output( $argument_values, $args );
2492
+			$argument_values = $this->argument_values($instance);
2493
+			$argument_values = $this->string_to_bool($argument_values);
2494
+			$output          = $this->output($argument_values, $args);
2495 2495
 
2496 2496
 			$no_wrap = false;
2497
-			if ( isset( $argument_values['no_wrap'] ) && $argument_values['no_wrap'] ) {
2497
+			if (isset($argument_values['no_wrap']) && $argument_values['no_wrap']) {
2498 2498
 				$no_wrap = true;
2499 2499
 			}
2500 2500
 
2501 2501
 			ob_start();
2502
-			if ( $output && ! $no_wrap ) {
2502
+			if ($output && !$no_wrap) {
2503 2503
 
2504 2504
 				$class_original = $this->options['widget_ops']['classname'];
2505
-				$class = $this->options['widget_ops']['classname']." sdel-".$this->get_instance_hash();
2505
+				$class = $this->options['widget_ops']['classname'] . " sdel-" . $this->get_instance_hash();
2506 2506
 
2507 2507
 				// Before widget
2508 2508
 				$before_widget = $args['before_widget'];
2509
-				$before_widget = str_replace($class_original,$class,$before_widget);
2510
-				$before_widget = apply_filters( 'wp_super_duper_before_widget', $before_widget, $args, $instance, $this );
2511
-				$before_widget = apply_filters( 'wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this );
2509
+				$before_widget = str_replace($class_original, $class, $before_widget);
2510
+				$before_widget = apply_filters('wp_super_duper_before_widget', $before_widget, $args, $instance, $this);
2511
+				$before_widget = apply_filters('wp_super_duper_before_widget_' . $this->base_id, $before_widget, $args, $instance, $this);
2512 2512
 
2513 2513
 				// After widget
2514 2514
 				$after_widget = $args['after_widget'];
2515
-				$after_widget = apply_filters( 'wp_super_duper_after_widget', $after_widget, $args, $instance, $this );
2516
-				$after_widget = apply_filters( 'wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this );
2515
+				$after_widget = apply_filters('wp_super_duper_after_widget', $after_widget, $args, $instance, $this);
2516
+				$after_widget = apply_filters('wp_super_duper_after_widget_' . $this->base_id, $after_widget, $args, $instance, $this);
2517 2517
 
2518 2518
 				echo $before_widget;
2519 2519
 				// elementor strips the widget wrapping div so we check for and add it back if needed
2520
-				if ( $this->is_elementor_widget_output() ) {
2520
+				if ($this->is_elementor_widget_output()) {
2521 2521
 					// Filter class & attrs for elementor widget output.
2522
-					$class = apply_filters( 'wp_super_duper_div_classname', $class, $args, $this );
2523
-					$class = apply_filters( 'wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this );
2522
+					$class = apply_filters('wp_super_duper_div_classname', $class, $args, $this);
2523
+					$class = apply_filters('wp_super_duper_div_classname_' . $this->base_id, $class, $args, $this);
2524 2524
 
2525
-					$attrs = apply_filters( 'wp_super_duper_div_attrs', '', $args, $this );
2526
-					$attrs = apply_filters( 'wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this );
2525
+					$attrs = apply_filters('wp_super_duper_div_attrs', '', $args, $this);
2526
+					$attrs = apply_filters('wp_super_duper_div_attrs_' . $this->base_id, '', $args, $this);
2527 2527
 
2528
-					echo "<span class='" . esc_attr( $class  ) . "' " . $attrs . ">";
2528
+					echo "<span class='" . esc_attr($class) . "' " . $attrs . ">";
2529 2529
 				}
2530
-				echo $this->output_title( $args, $instance );
2530
+				echo $this->output_title($args, $instance);
2531 2531
 				echo $output;
2532
-				if ( $this->is_elementor_widget_output() ) {
2532
+				if ($this->is_elementor_widget_output()) {
2533 2533
 					echo "</span>";
2534 2534
 				}
2535 2535
 				echo $after_widget;
2536
-			} elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty
2537
-				$output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" );
2536
+			} elseif ($this->is_preview() && $output == '') {// if preview show a placeholder if empty
2537
+				$output = $this->preview_placeholder_text("{{" . $this->base_id . "}}");
2538 2538
 				echo $output;
2539
-			} elseif ( $output && $no_wrap ) {
2539
+			} elseif ($output && $no_wrap) {
2540 2540
 				echo $output;
2541 2541
 			}
2542 2542
 			$output = ob_get_clean();
2543 2543
 
2544
-			$output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this );
2544
+			$output = apply_filters('wp_super_duper_widget_output', $output, $instance, $args, $this);
2545 2545
 
2546 2546
 			echo $output;
2547 2547
 		}
@@ -2554,7 +2554,7 @@  discard block
 block discarded – undo
2554 2554
 		 */
2555 2555
 		public function is_elementor_widget_output() {
2556 2556
 			$result = false;
2557
-			if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) {
2557
+			if (defined('ELEMENTOR_VERSION') && isset($this->number) && $this->number == 'REPLACE_TO_ID') {
2558 2558
 				$result = true;
2559 2559
 			}
2560 2560
 
@@ -2569,7 +2569,7 @@  discard block
 block discarded – undo
2569 2569
 		 */
2570 2570
 		public function is_elementor_preview() {
2571 2571
 			$result = false;
2572
-			if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) {
2572
+			if (isset($_REQUEST['elementor-preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') || (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor_ajax')) {
2573 2573
 				$result = true;
2574 2574
 			}
2575 2575
 
@@ -2584,7 +2584,7 @@  discard block
 block discarded – undo
2584 2584
 		 */
2585 2585
 		public function is_divi_preview() {
2586 2586
 			$result = false;
2587
-			if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) {
2587
+			if (isset($_REQUEST['et_fb']) || isset($_REQUEST['et_pb_preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor')) {
2588 2588
 				$result = true;
2589 2589
 			}
2590 2590
 
@@ -2599,7 +2599,7 @@  discard block
 block discarded – undo
2599 2599
 		 */
2600 2600
 		public function is_beaver_preview() {
2601 2601
 			$result = false;
2602
-			if ( isset( $_REQUEST['fl_builder'] ) ) {
2602
+			if (isset($_REQUEST['fl_builder'])) {
2603 2603
 				$result = true;
2604 2604
 			}
2605 2605
 
@@ -2614,7 +2614,7 @@  discard block
 block discarded – undo
2614 2614
 		 */
2615 2615
 		public function is_siteorigin_preview() {
2616 2616
 			$result = false;
2617
-			if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) {
2617
+			if (!empty($_REQUEST['siteorigin_panels_live_editor'])) {
2618 2618
 				$result = true;
2619 2619
 			}
2620 2620
 
@@ -2629,7 +2629,7 @@  discard block
 block discarded – undo
2629 2629
 		 */
2630 2630
 		public function is_cornerstone_preview() {
2631 2631
 			$result = false;
2632
-			if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) {
2632
+			if (!empty($_REQUEST['cornerstone_preview']) || basename($_SERVER['REQUEST_URI']) == 'cornerstone-endpoint') {
2633 2633
 				$result = true;
2634 2634
 			}
2635 2635
 
@@ -2644,7 +2644,7 @@  discard block
 block discarded – undo
2644 2644
 		 */
2645 2645
 		public function is_fusion_preview() {
2646 2646
 			$result = false;
2647
-			if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) {
2647
+			if (!empty($_REQUEST['fb-edit']) || !empty($_REQUEST['fusion_load_nonce'])) {
2648 2648
 				$result = true;
2649 2649
 			}
2650 2650
 
@@ -2659,7 +2659,7 @@  discard block
 block discarded – undo
2659 2659
 		 */
2660 2660
 		public function is_oxygen_preview() {
2661 2661
 			$result = false;
2662
-			if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) {
2662
+			if (!empty($_REQUEST['ct_builder']) || (!empty($_REQUEST['action']) && (substr($_REQUEST['action'], 0, 11) === "oxy_render_" || substr($_REQUEST['action'], 0, 10) === "ct_render_"))) {
2663 2663
 				$result = true;
2664 2664
 			}
2665 2665
 
@@ -2674,21 +2674,21 @@  discard block
 block discarded – undo
2674 2674
 		 */
2675 2675
 		public function is_preview() {
2676 2676
 			$preview = false;
2677
-			if ( $this->is_divi_preview() ) {
2677
+			if ($this->is_divi_preview()) {
2678 2678
 				$preview = true;
2679
-			} elseif ( $this->is_elementor_preview() ) {
2679
+			} elseif ($this->is_elementor_preview()) {
2680 2680
 				$preview = true;
2681
-			} elseif ( $this->is_beaver_preview() ) {
2681
+			} elseif ($this->is_beaver_preview()) {
2682 2682
 				$preview = true;
2683
-			} elseif ( $this->is_siteorigin_preview() ) {
2683
+			} elseif ($this->is_siteorigin_preview()) {
2684 2684
 				$preview = true;
2685
-			} elseif ( $this->is_cornerstone_preview() ) {
2685
+			} elseif ($this->is_cornerstone_preview()) {
2686 2686
 				$preview = true;
2687
-			} elseif ( $this->is_fusion_preview() ) {
2687
+			} elseif ($this->is_fusion_preview()) {
2688 2688
 				$preview = true;
2689
-			} elseif ( $this->is_oxygen_preview() ) {
2689
+			} elseif ($this->is_oxygen_preview()) {
2690 2690
 				$preview = true;
2691
-			} elseif( $this->is_block_content_call() ) {
2691
+			} elseif ($this->is_block_content_call()) {
2692 2692
 				$preview = true;
2693 2693
 			}
2694 2694
 
@@ -2703,34 +2703,34 @@  discard block
 block discarded – undo
2703 2703
 		 *
2704 2704
 		 * @return string
2705 2705
 		 */
2706
-		public function output_title( $args, $instance = array() ) {
2706
+		public function output_title($args, $instance = array()) {
2707 2707
 			$output = '';
2708
-			if ( ! empty( $instance['title'] ) ) {
2708
+			if (!empty($instance['title'])) {
2709 2709
 				/** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
2710
-				$title  = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base );
2710
+				$title = apply_filters('widget_title', $instance['title'], $instance, $this->id_base);
2711 2711
 
2712
-				if(empty($instance['widget_title_tag'])){
2712
+				if (empty($instance['widget_title_tag'])) {
2713 2713
 					$output = $args['before_title'] . $title . $args['after_title'];
2714
-				}else{
2715
-					$title_tag = esc_attr( $instance['widget_title_tag'] );
2714
+				} else {
2715
+					$title_tag = esc_attr($instance['widget_title_tag']);
2716 2716
 
2717 2717
 					// classes
2718 2718
 					$title_classes = array();
2719
-					$title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : '';
2720
-					$title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : '';
2721
-					$title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : '';
2722
-					$title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : '';
2723
-					$title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : '';
2724
-					$title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : '';
2725
-					$title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : '';
2726
-					$title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : '';
2727
-					$title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : '';
2728
-					$title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : '';
2729
-					$title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : '';
2730
-					$title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : '';
2731
-					$title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : '';
2732
-
2733
-					$class = !empty( $title_classes ) ? implode(" ",$title_classes) : '';
2719
+					$title_classes[] = !empty($instance['widget_title_size_class']) ? sanitize_html_class($instance['widget_title_size_class']) : '';
2720
+					$title_classes[] = !empty($instance['widget_title_align_class']) ? sanitize_html_class($instance['widget_title_align_class']) : '';
2721
+					$title_classes[] = !empty($instance['widget_title_color_class']) ? "text-" . sanitize_html_class($instance['widget_title_color_class']) : '';
2722
+					$title_classes[] = !empty($instance['widget_title_border_class']) ? sanitize_html_class($instance['widget_title_border_class']) : '';
2723
+					$title_classes[] = !empty($instance['widget_title_border_color_class']) ? "border-" . sanitize_html_class($instance['widget_title_border_color_class']) : '';
2724
+					$title_classes[] = !empty($instance['widget_title_mt_class']) ? "mt-" . absint($instance['widget_title_mt_class']) : '';
2725
+					$title_classes[] = !empty($instance['widget_title_mr_class']) ? "mr-" . absint($instance['widget_title_mr_class']) : '';
2726
+					$title_classes[] = !empty($instance['widget_title_mb_class']) ? "mb-" . absint($instance['widget_title_mb_class']) : '';
2727
+					$title_classes[] = !empty($instance['widget_title_ml_class']) ? "ml-" . absint($instance['widget_title_ml_class']) : '';
2728
+					$title_classes[] = !empty($instance['widget_title_pt_class']) ? "pt-" . absint($instance['widget_title_pt_class']) : '';
2729
+					$title_classes[] = !empty($instance['widget_title_pr_class']) ? "pr-" . absint($instance['widget_title_pr_class']) : '';
2730
+					$title_classes[] = !empty($instance['widget_title_pb_class']) ? "pb-" . absint($instance['widget_title_pb_class']) : '';
2731
+					$title_classes[] = !empty($instance['widget_title_pl_class']) ? "pl-" . absint($instance['widget_title_pl_class']) : '';
2732
+
2733
+					$class = !empty($title_classes) ? implode(" ", $title_classes) : '';
2734 2734
 					$output = "<$title_tag class='$class' >$title</$title_tag>";
2735 2735
 				}
2736 2736
 
@@ -2744,7 +2744,7 @@  discard block
 block discarded – undo
2744 2744
 		 *
2745 2745
 		 * @param array $instance The widget options.
2746 2746
 		 */
2747
-		public function form( $instance ) {
2747
+		public function form($instance) {
2748 2748
 
2749 2749
 			// set widget instance
2750 2750
 			$this->instance = $instance;
@@ -2752,20 +2752,20 @@  discard block
 block discarded – undo
2752 2752
 			// set it as a SD widget
2753 2753
 			echo $this->widget_advanced_toggle();
2754 2754
 
2755
-			echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>";
2755
+			echo "<p>" . esc_attr($this->options['widget_ops']['description']) . "</p>";
2756 2756
 			$arguments_raw = $this->get_arguments();
2757 2757
 
2758
-			if ( is_array( $arguments_raw ) ) {
2758
+			if (is_array($arguments_raw)) {
2759 2759
 
2760
-				$arguments = $this->group_arguments( $arguments_raw );
2760
+				$arguments = $this->group_arguments($arguments_raw);
2761 2761
 
2762 2762
 				// Do we have sections?
2763 2763
 				$has_sections = $arguments == $arguments_raw ? false : true;
2764 2764
 
2765 2765
 
2766
-				if ( $has_sections ) {
2766
+				if ($has_sections) {
2767 2767
 					$panel_count = 0;
2768
-					foreach ( $arguments as $key => $args ) {
2768
+					foreach ($arguments as $key => $args) {
2769 2769
 
2770 2770
 						?>
2771 2771
 						<script>
@@ -2775,26 +2775,26 @@  discard block
 block discarded – undo
2775 2775
 
2776 2776
 						$hide       = $panel_count ? ' style="display:none;" ' : '';
2777 2777
 						$icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down';
2778
-						echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes( $key ) . "'>" . esc_attr( $key ) . " <i style='float:right;' class='" . $icon_class . "'></i></button>";
2779
-						echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>";
2778
+						echo "<button onclick='jQuery(this).find(\"i\").toggleClass(\"fas fa-chevron-up fas fa-chevron-down\");jQuery(this).next().slideToggle();' type='button' class='sd-toggle-group-button sd-input-group-toggle" . sanitize_title_with_dashes($key) . "'>" . esc_attr($key) . " <i style='float:right;' class='" . $icon_class . "'></i></button>";
2779
+						echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes($key) . "' $hide>";
2780 2780
 
2781
-						foreach ( $args as $k => $a ) {
2781
+						foreach ($args as $k => $a) {
2782 2782
 
2783 2783
 							$this->widget_inputs_row_start($k, $a);
2784
-							$this->widget_inputs( $a, $instance );
2784
+							$this->widget_inputs($a, $instance);
2785 2785
 							$this->widget_inputs_row_end($k, $a);
2786 2786
 
2787 2787
 						}
2788 2788
 
2789 2789
 						echo "</div>";
2790 2790
 
2791
-						$panel_count ++;
2791
+						$panel_count++;
2792 2792
 
2793 2793
 					}
2794 2794
 				} else {
2795
-					foreach ( $arguments as $key => $args ) {
2795
+					foreach ($arguments as $key => $args) {
2796 2796
 						$this->widget_inputs_row_start($key, $args);
2797
-						$this->widget_inputs( $args, $instance );
2797
+						$this->widget_inputs($args, $instance);
2798 2798
 						$this->widget_inputs_row_end($key, $args);
2799 2799
 					}
2800 2800
 				}
@@ -2802,33 +2802,33 @@  discard block
 block discarded – undo
2802 2802
 			}
2803 2803
 		}
2804 2804
 
2805
-		public function widget_inputs_row_start($key, $args){
2806
-			if(!empty($args['row'])){
2805
+		public function widget_inputs_row_start($key, $args) {
2806
+			if (!empty($args['row'])) {
2807 2807
 				// maybe open
2808
-				if(!empty($args['row']['open'])){
2808
+				if (!empty($args['row']['open'])) {
2809 2809
 					?>
2810
-					<div class='bsui sd-argument ' data-argument='<?php echo esc_attr( $args['row']['key'] ); ?>' data-element_require='<?php if ( !empty($args['row']['element_require'])) {
2811
-						echo $this->convert_element_require( $args['row']['element_require'] );
2810
+					<div class='bsui sd-argument ' data-argument='<?php echo esc_attr($args['row']['key']); ?>' data-element_require='<?php if (!empty($args['row']['element_require'])) {
2811
+						echo $this->convert_element_require($args['row']['element_require']);
2812 2812
 					} ?>'>
2813
-					<?php if(!empty($args['row']['title'])){ ?>
2814
-					<label class="mb-0 "><?php echo esc_attr( $args['row']['title'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label>
2813
+					<?php if (!empty($args['row']['title'])) { ?>
2814
+					<label class="mb-0 "><?php echo esc_attr($args['row']['title']); ?><?php echo $this->widget_field_desc($args['row']); ?></label>
2815 2815
 					<?php }?>
2816
-					<div class='row <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>'>
2816
+					<div class='row <?php if (!empty($args['row']['class'])) { echo esc_attr($args['row']['class']); } ?>'>
2817 2817
 					<div class='col pr-2'>
2818 2818
 					<?php
2819
-				}elseif(!empty($args['row']['close'])){
2819
+				}elseif (!empty($args['row']['close'])) {
2820 2820
 					echo "<div class='col pl-0'>";
2821
-				}else{
2821
+				} else {
2822 2822
 					echo "<div class='col pl-0 pr-2'>";
2823 2823
 				}
2824 2824
 			}
2825 2825
 		}
2826 2826
 
2827
-		public function widget_inputs_row_end($key, $args){
2827
+		public function widget_inputs_row_end($key, $args) {
2828 2828
 
2829
-			if(!empty($args['row'])){
2829
+			if (!empty($args['row'])) {
2830 2830
 				// maybe close
2831
-				if(!empty($args['row']['close'])){
2831
+				if (!empty($args['row']['close'])) {
2832 2832
 					echo "</div></div>";
2833 2833
 				}
2834 2834
 
@@ -2844,7 +2844,7 @@  discard block
 block discarded – undo
2844 2844
 		public function widget_advanced_toggle() {
2845 2845
 
2846 2846
 			$output = '';
2847
-			if ( $this->block_show_advanced() ) {
2847
+			if ($this->block_show_advanced()) {
2848 2848
 				$val = 1;
2849 2849
 			} else {
2850 2850
 				$val = 0;
@@ -2864,14 +2864,14 @@  discard block
 block discarded – undo
2864 2864
 		 *
2865 2865
 		 * @return string $output
2866 2866
 		 */
2867
-		public function convert_element_require( $input ) {
2867
+		public function convert_element_require($input) {
2868 2868
 
2869
-			$input = str_replace( "'", '"', $input );// we only want double quotes
2869
+			$input = str_replace("'", '"', $input); // we only want double quotes
2870 2870
 
2871
-			$output = esc_attr( str_replace( array( "[%", "%]" ), array(
2871
+			$output = esc_attr(str_replace(array("[%", "%]"), array(
2872 2872
 				"jQuery(form).find('[data-argument=\"",
2873 2873
 				"\"]').find('input,select,textarea').val()"
2874
-			), $input ) );
2874
+			), $input));
2875 2875
 
2876 2876
 			return $output;
2877 2877
 		}
@@ -2882,56 +2882,56 @@  discard block
 block discarded – undo
2882 2882
 		 * @param $args
2883 2883
 		 * @param $instance
2884 2884
 		 */
2885
-		public function widget_inputs( $args, $instance ) {
2885
+		public function widget_inputs($args, $instance) {
2886 2886
 
2887 2887
 			$class             = "";
2888 2888
 			$element_require   = "";
2889 2889
 			$custom_attributes = "";
2890 2890
 
2891 2891
 			// get value
2892
-			if ( isset( $instance[ $args['name'] ] ) ) {
2893
-				$value = $instance[ $args['name'] ];
2894
-			} elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) {
2895
-				$value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] );
2892
+			if (isset($instance[$args['name']])) {
2893
+				$value = $instance[$args['name']];
2894
+			} elseif (!isset($instance[$args['name']]) && !empty($args['default'])) {
2895
+				$value = is_array($args['default']) ? array_map("esc_html", $args['default']) : esc_html($args['default']);
2896 2896
 			} else {
2897 2897
 				$value = '';
2898 2898
 			}
2899 2899
 
2900 2900
 			// get placeholder
2901
-			if ( ! empty( $args['placeholder'] ) ) {
2902
-				$placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'";
2901
+			if (!empty($args['placeholder'])) {
2902
+				$placeholder = "placeholder='" . esc_html($args['placeholder']) . "'";
2903 2903
 			} else {
2904 2904
 				$placeholder = '';
2905 2905
 			}
2906 2906
 
2907 2907
 			// get if advanced
2908
-			if ( isset( $args['advanced'] ) && $args['advanced'] ) {
2908
+			if (isset($args['advanced']) && $args['advanced']) {
2909 2909
 				$class .= " sd-advanced-setting ";
2910 2910
 			}
2911 2911
 
2912 2912
 			// element_require
2913
-			if ( isset( $args['element_require'] ) && $args['element_require'] ) {
2913
+			if (isset($args['element_require']) && $args['element_require']) {
2914 2914
 				$element_require = $args['element_require'];
2915 2915
 			}
2916 2916
 
2917 2917
 			// custom_attributes
2918
-			if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) {
2919
-				$custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true );
2918
+			if (isset($args['custom_attributes']) && $args['custom_attributes']) {
2919
+				$custom_attributes = $this->array_to_attributes($args['custom_attributes'], true);
2920 2920
 			}
2921 2921
 
2922 2922
 
2923 2923
 			// before wrapper
2924 2924
 			?>
2925
-			<p class="sd-argument <?php echo esc_attr( $class ); ?>"
2926
-			data-argument='<?php echo esc_attr( $args['name'] ); ?>'
2927
-			data-element_require='<?php if ( $element_require ) {
2928
-				echo $this->convert_element_require( $element_require );
2925
+			<p class="sd-argument <?php echo esc_attr($class); ?>"
2926
+			data-argument='<?php echo esc_attr($args['name']); ?>'
2927
+			data-element_require='<?php if ($element_require) {
2928
+				echo $this->convert_element_require($element_require);
2929 2929
 			} ?>'
2930 2930
 			>
2931 2931
 			<?php
2932 2932
 
2933 2933
 
2934
-			switch ( $args['type'] ) {
2934
+			switch ($args['type']) {
2935 2935
 				//array('text','password','number','email','tel','url','color')
2936 2936
 				case "text":
2937 2937
 				case "password":
@@ -2942,46 +2942,46 @@  discard block
 block discarded – undo
2942 2942
 				case "color":
2943 2943
 					?>
2944 2944
 					<label
2945
-						for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args );?><?php echo $this->widget_field_desc( $args ); ?></label>
2945
+						for="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"><?php echo $this->widget_field_title($args); ?><?php echo $this->widget_field_desc($args); ?></label>
2946 2946
 					<input <?php echo $placeholder; ?> class="widefat"
2947 2947
 						<?php echo $custom_attributes; ?>
2948
-						                               id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
2949
-						                               name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>"
2950
-						                               type="<?php echo esc_attr( $args['type'] ); ?>"
2951
-						                               value="<?php echo esc_attr( $value ); ?>">
2948
+						                               id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"
2949
+						                               name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>"
2950
+						                               type="<?php echo esc_attr($args['type']); ?>"
2951
+						                               value="<?php echo esc_attr($value); ?>">
2952 2952
 					<?php
2953 2953
 
2954 2954
 					break;
2955 2955
 				case "select":
2956
-					$multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false;
2957
-					if ( $multiple ) {
2958
-						if ( empty( $value ) ) {
2956
+					$multiple = isset($args['multiple']) && $args['multiple'] ? true : false;
2957
+					if ($multiple) {
2958
+						if (empty($value)) {
2959 2959
 							$value = array();
2960 2960
 						}
2961 2961
 					}
2962 2962
 					?>
2963 2963
 					<label
2964
-						for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args ); ?><?php echo $this->widget_field_desc( $args ); ?></label>
2964
+						for="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"><?php echo $this->widget_field_title($args); ?><?php echo $this->widget_field_desc($args); ?></label>
2965 2965
 					<select <?php echo $placeholder; ?> class="widefat"
2966 2966
 						<?php echo $custom_attributes; ?>
2967
-						                                id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
2968
-						                                name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) );
2969
-						                                if ( $multiple ) {
2967
+						                                id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"
2968
+						                                name="<?php echo esc_attr($this->get_field_name($args['name']));
2969
+						                                if ($multiple) {
2970 2970
 							                                echo "[]";
2971 2971
 						                                } ?>"
2972
-						<?php if ( $multiple ) {
2972
+						<?php if ($multiple) {
2973 2973
 							echo "multiple";
2974 2974
 						} //@todo not implemented yet due to gutenberg not supporting it
2975 2975
 						?>
2976 2976
 					>
2977 2977
 						<?php
2978 2978
 
2979
-						if ( ! empty( $args['options'] ) ) {
2980
-							foreach ( $args['options'] as $val => $label ) {
2981
-								if ( $multiple ) {
2982
-									$selected = in_array( $val, $value ) ? 'selected="selected"' : '';
2979
+						if (!empty($args['options'])) {
2980
+							foreach ($args['options'] as $val => $label) {
2981
+								if ($multiple) {
2982
+									$selected = in_array($val, $value) ? 'selected="selected"' : '';
2983 2983
 								} else {
2984
-									$selected = selected( $value, $val, false );
2984
+									$selected = selected($value, $val, false);
2985 2985
 								}
2986 2986
 								echo "<option value='$val' " . $selected . ">$label</option>";
2987 2987
 							}
@@ -2993,32 +2993,32 @@  discard block
 block discarded – undo
2993 2993
 				case "checkbox":
2994 2994
 					?>
2995 2995
 					<input <?php echo $placeholder; ?>
2996
-						<?php checked( 1, $value, true ) ?>
2996
+						<?php checked(1, $value, true) ?>
2997 2997
 						<?php echo $custom_attributes; ?>
2998
-						class="widefat" id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
2999
-						name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="checkbox"
2998
+						class="widefat" id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"
2999
+						name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>" type="checkbox"
3000 3000
 						value="1">
3001 3001
 					<label
3002
-						for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args );?><?php echo $this->widget_field_desc( $args ); ?></label>
3002
+						for="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"><?php echo $this->widget_field_title($args); ?><?php echo $this->widget_field_desc($args); ?></label>
3003 3003
 					<?php
3004 3004
 					break;
3005 3005
 				case "textarea":
3006 3006
 					?>
3007 3007
 					<label
3008
-						for="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"><?php echo $this->widget_field_title( $args ); ?><?php echo $this->widget_field_desc( $args ); ?></label>
3008
+						for="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"><?php echo $this->widget_field_title($args); ?><?php echo $this->widget_field_desc($args); ?></label>
3009 3009
 					<textarea <?php echo $placeholder; ?> class="widefat"
3010 3010
 						<?php echo $custom_attributes; ?>
3011
-						                                  id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
3012
-						                                  name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>"
3013
-					><?php echo esc_attr( $value ); ?></textarea>
3011
+						                                  id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"
3012
+						                                  name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>"
3013
+					><?php echo esc_attr($value); ?></textarea>
3014 3014
 					<?php
3015 3015
 
3016 3016
 					break;
3017 3017
 				case "hidden":
3018 3018
 					?>
3019
-					<input id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>"
3020
-					       name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="hidden"
3021
-					       value="<?php echo esc_attr( $value ); ?>">
3019
+					<input id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>"
3020
+					       name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>" type="hidden"
3021
+					       value="<?php echo esc_attr($value); ?>">
3022 3022
 					<?php
3023 3023
 					break;
3024 3024
 				default:
@@ -3033,15 +3033,15 @@  discard block
 block discarded – undo
3033 3033
 
3034 3034
 		}
3035 3035
 
3036
-		public function get_widget_icon($icon = 'box-top', $title = ''){
3037
-			if($icon=='box-top'){
3038
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>';
3039
-			}elseif($icon=='box-right'){
3040
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>';
3041
-			}elseif($icon=='box-bottom'){
3042
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>';
3043
-			}elseif($icon=='box-left'){
3044
-				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>';
3036
+		public function get_widget_icon($icon = 'box-top', $title = '') {
3037
+			if ($icon == 'box-top') {
3038
+				return '<svg title="' . esc_attr($title) . '" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>';
3039
+			}elseif ($icon == 'box-right') {
3040
+				return '<svg title="' . esc_attr($title) . '" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>';
3041
+			}elseif ($icon == 'box-bottom') {
3042
+				return '<svg title="' . esc_attr($title) . '" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>';
3043
+			}elseif ($icon == 'box-left') {
3044
+				return '<svg title="' . esc_attr($title) . '" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>';
3045 3045
 			}
3046 3046
 		}
3047 3047
 
@@ -3053,14 +3053,14 @@  discard block
 block discarded – undo
3053 3053
 		 * @return string
3054 3054
 		 * @todo, need to make its own tooltip script
3055 3055
 		 */
3056
-		public function widget_field_desc( $args ) {
3056
+		public function widget_field_desc($args) {
3057 3057
 
3058 3058
 			$description = '';
3059
-			if ( isset( $args['desc'] ) && $args['desc'] ) {
3060
-				if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) {
3061
-					$description = $this->desc_tip( $args['desc'] );
3059
+			if (isset($args['desc']) && $args['desc']) {
3060
+				if (isset($args['desc_tip']) && $args['desc_tip']) {
3061
+					$description = $this->desc_tip($args['desc']);
3062 3062
 				} else {
3063
-					$description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>';
3063
+					$description = '<span class="description">' . wp_kses_post($args['desc']) . '</span>';
3064 3064
 				}
3065 3065
 			}
3066 3066
 
@@ -3074,12 +3074,12 @@  discard block
 block discarded – undo
3074 3074
 		 *
3075 3075
 		 * @return string
3076 3076
 		 */
3077
-		public function widget_field_title( $args ) {
3077
+		public function widget_field_title($args) {
3078 3078
 
3079 3079
 			$title = '';
3080
-			if ( isset( $args['title'] ) && $args['title'] ) {
3081
-				if ( isset( $args['icon'] ) && $args['icon'] ) {
3082
-					$title = self::get_widget_icon( $args['icon'], $args['title']  );
3080
+			if (isset($args['title']) && $args['title']) {
3081
+				if (isset($args['icon']) && $args['icon']) {
3082
+					$title = self::get_widget_icon($args['icon'], $args['title']);
3083 3083
 				} else {
3084 3084
 					$title = esc_attr($args['title']);
3085 3085
 				}
@@ -3096,11 +3096,11 @@  discard block
 block discarded – undo
3096 3096
 		 *
3097 3097
 		 * @return string
3098 3098
 		 */
3099
-		function desc_tip( $tip, $allow_html = false ) {
3100
-			if ( $allow_html ) {
3101
-				$tip = $this->sanitize_tooltip( $tip );
3099
+		function desc_tip($tip, $allow_html = false) {
3100
+			if ($allow_html) {
3101
+				$tip = $this->sanitize_tooltip($tip);
3102 3102
 			} else {
3103
-				$tip = esc_attr( $tip );
3103
+				$tip = esc_attr($tip);
3104 3104
 			}
3105 3105
 
3106 3106
 			return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>';
@@ -3113,8 +3113,8 @@  discard block
 block discarded – undo
3113 3113
 		 *
3114 3114
 		 * @return string
3115 3115
 		 */
3116
-		public function sanitize_tooltip( $var ) {
3117
-			return htmlspecialchars( wp_kses( html_entity_decode( $var ), array(
3116
+		public function sanitize_tooltip($var) {
3117
+			return htmlspecialchars(wp_kses(html_entity_decode($var), array(
3118 3118
 				'br'     => array(),
3119 3119
 				'em'     => array(),
3120 3120
 				'strong' => array(),
@@ -3124,7 +3124,7 @@  discard block
 block discarded – undo
3124 3124
 				'li'     => array(),
3125 3125
 				'ol'     => array(),
3126 3126
 				'p'      => array(),
3127
-			) ) );
3127
+			)));
3128 3128
 		}
3129 3129
 
3130 3130
 		/**
@@ -3136,23 +3136,23 @@  discard block
 block discarded – undo
3136 3136
 		 * @return array
3137 3137
 		 * @todo we should add some sanitation here.
3138 3138
 		 */
3139
-		public function update( $new_instance, $old_instance ) {
3139
+		public function update($new_instance, $old_instance) {
3140 3140
 
3141 3141
 			//save the widget
3142
-			$instance = array_merge( (array) $old_instance, (array) $new_instance );
3142
+			$instance = array_merge((array) $old_instance, (array) $new_instance);
3143 3143
 
3144 3144
 			// set widget instance
3145 3145
 			$this->instance = $instance;
3146 3146
 
3147
-			if ( empty( $this->arguments ) ) {
3147
+			if (empty($this->arguments)) {
3148 3148
 				$this->get_arguments();
3149 3149
 			}
3150 3150
 
3151 3151
 			// check for checkboxes
3152
-			if ( ! empty( $this->arguments ) ) {
3153
-				foreach ( $this->arguments as $argument ) {
3154
-					if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) {
3155
-						$instance[ $argument['name'] ] = '0';
3152
+			if (!empty($this->arguments)) {
3153
+				foreach ($this->arguments as $argument) {
3154
+					if (isset($argument['type']) && $argument['type'] == 'checkbox' && !isset($new_instance[$argument['name']])) {
3155
+						$instance[$argument['name']] = '0';
3156 3156
 					}
3157 3157
 				}
3158 3158
 			}
@@ -3170,7 +3170,7 @@  discard block
 block discarded – undo
3170 3170
 		 */
3171 3171
 		public function is_block_content_call() {
3172 3172
 			$result = false;
3173
-			if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) {
3173
+			if (wp_doing_ajax() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'super_duper_output_shortcode') {
3174 3174
 				$result = true;
3175 3175
 			}
3176 3176
 
@@ -3183,9 +3183,9 @@  discard block
 block discarded – undo
3183 3183
 		 * @since 1.0.20
3184 3184
 		 * @return string
3185 3185
 		 */
3186
-		public function get_instance_hash(){
3187
-			$instance_string = $this->base_id.serialize($this->instance);
3188
-			return hash('crc32b',$instance_string);
3186
+		public function get_instance_hash() {
3187
+			$instance_string = $this->base_id . serialize($this->instance);
3188
+			return hash('crc32b', $instance_string);
3189 3189
 		}
3190 3190
 
3191 3191
 		/**
@@ -3196,14 +3196,14 @@  discard block
 block discarded – undo
3196 3196
 		 * @since 1.0.20
3197 3197
 		 * @return string
3198 3198
 		 */
3199
-		public function get_instance_style($rules = array()){
3199
+		public function get_instance_style($rules = array()) {
3200 3200
 			$css = '';
3201 3201
 
3202
-			if(!empty($rules)){
3202
+			if (!empty($rules)) {
3203 3203
 				$rules = array_unique($rules);
3204 3204
 				$instance_hash = $this->get_instance_hash();
3205 3205
 				$css .= "<style>";
3206
-				foreach($rules as $rule){
3206
+				foreach ($rules as $rule) {
3207 3207
 					$css .= ".sdel-$instance_hash $rule";
3208 3208
 				}
3209 3209
 				$css .= "</style>";
Please login to merge, or discard this patch.
Braces   +19 added lines, -20 removed lines patch added patch discarded remove patch
@@ -661,7 +661,7 @@  discard block
 block discarded – undo
661 661
 				<?php
662 662
 				if(! empty( $insert_shortcode_function )){
663 663
 					echo $insert_shortcode_function;
664
-				}else{
664
+				} else{
665 665
 
666 666
 				/**
667 667
 				 * Function for super duper insert shortcode.
@@ -1653,7 +1653,7 @@  discard block
 block discarded – undo
1653 1653
 					var prev_attributes = [];
1654 1654
 
1655 1655
 					var term_query_type = '';
1656
-					var post_type_rest_slugs = <?php if(! empty( $this->arguments ) && isset($this->arguments['post_type']['onchange_rest']['values'])){echo "[".json_encode($this->arguments['post_type']['onchange_rest']['values'])."]";}else{echo "[]";} ?>;
1656
+					var post_type_rest_slugs = <?php if(! empty( $this->arguments ) && isset($this->arguments['post_type']['onchange_rest']['values'])){echo "[".json_encode($this->arguments['post_type']['onchange_rest']['values'])."]";} else{echo "[]";} ?>;
1657 1657
 					const taxonomies_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
1658 1658
 					const sort_by_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}];
1659 1659
 
@@ -1790,7 +1790,7 @@  discard block
 block discarded – undo
1790 1790
 
1791 1791
 								// taxonomies
1792 1792
 								if( $value && 'post_type' in prev_attributes[props.id] && 'category' in prev_attributes[props.id] && run ){
1793
-									wp.apiFetch({path: "<?php if(isset($this->arguments['post_type']['onchange_rest']['path'])){echo $this->arguments['post_type']['onchange_rest']['path'];}else{'/wp/v2/"+$value+"/categories/?per_page=100';} ?>"}).then(terms => {
1793
+									wp.apiFetch({path: "<?php if(isset($this->arguments['post_type']['onchange_rest']['path'])){echo $this->arguments['post_type']['onchange_rest']['path'];} else{'/wp/v2/"+$value+"/categories/?per_page=100';} ?>"}).then(terms => {
1794 1794
 										while (taxonomies_<?php echo str_replace("-","_", $this->id);?>.length) {
1795 1795
 										taxonomies_<?php echo str_replace("-","_", $this->id);?>.pop();
1796 1796
 									}
@@ -1860,7 +1860,7 @@  discard block
 block discarded – undo
1860 1860
 										'attributes': props.attributes,
1861 1861
 										'post_id': <?php global $post; if ( isset( $post->ID ) ) {
1862 1862
 										echo $post->ID;
1863
-									}else{echo '0';}?>,
1863
+									} else{echo '0';}?>,
1864 1864
 										'_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>'
1865 1865
 									};
1866 1866
 
@@ -1969,7 +1969,7 @@  discard block
 block discarded – undo
1969 1969
 									$panel_count ++;
1970 1970
 
1971 1971
 									}
1972
-									}else {
1972
+									} else {
1973 1973
 									?>
1974 1974
 									el(wp.components.PanelBody, {
1975 1975
 											title: '<?php esc_attr_e( "Settings" ); ?>',
@@ -1995,7 +1995,7 @@  discard block
 block discarded – undo
1995 1995
 								// If the user sets block-output array then build it
1996 1996
 								if ( ! empty( $this->options['block-output'] ) ) {
1997 1997
 								$this->block_element( $this->options['block-output'] );
1998
-							}else{
1998
+							} else{
1999 1999
 								// if no block-output is set then we try and get the shortcode html output via ajax.
2000 2000
 								?>
2001 2001
 								el('div', {
@@ -2065,7 +2065,7 @@  discard block
 block discarded – undo
2065 2065
 							?>
2066 2066
 							return content;
2067 2067
 							<?php
2068
-							}else{
2068
+							} else{
2069 2069
 							?>
2070 2070
 							var block_wrap = 'div';
2071 2071
 							if (attr.hasOwnProperty("block_wrap")) {
@@ -2136,7 +2136,7 @@  discard block
 block discarded – undo
2136 2136
 
2137 2137
 					<?php
2138 2138
 					if(false){?></script><?php }
2139
-				}elseif(!empty($args['row']['close'])){
2139
+				} elseif(!empty($args['row']['close'])){
2140 2140
 					if(false){?><script><?php }?>
2141 2141
 						el(
2142 2142
 							'div',
@@ -2145,7 +2145,7 @@  discard block
 block discarded – undo
2145 2145
 							},
2146 2146
 					<?php
2147 2147
 					if(false){?></script><?php }
2148
-				}else{
2148
+				} else{
2149 2149
 					if(false){?><script><?php }?>
2150 2150
 						el(
2151 2151
 							'div',
@@ -2262,8 +2262,7 @@  discard block
 block discarded – undo
2262 2262
                             $key: value
2263 2263
                         });
2264 2264
                     },";
2265
-			}
2266
-			elseif ( $args['type'] == 'checkbox' ) {
2265
+			} elseif ( $args['type'] == 'checkbox' ) {
2267 2266
 				$type = 'CheckboxControl';
2268 2267
 				$extra .= "checked: props.attributes.$key,";
2269 2268
 				$onchange = "props.setAttributes({ $key: ! props.attributes.$key } )";
@@ -2274,9 +2273,9 @@  discard block
 block discarded – undo
2274 2273
 
2275 2274
 				if($args['name'] == 'category' && !empty($args['post_type_linked'])){
2276 2275
 					$options .= "options: taxonomies_".str_replace("-","_", $this->id).",";
2277
-				}elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
2276
+				} elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){
2278 2277
 					$options .= "options: sort_by_".str_replace("-","_", $this->id).",";
2279
-				}else {
2278
+				} else {
2280 2279
 
2281 2280
 					if ( ! empty( $args['options'] ) ) {
2282 2281
 						$options .= "options: [";
@@ -2291,7 +2290,7 @@  discard block
 block discarded – undo
2291 2290
 				}
2292 2291
 			} elseif ( $args['type'] == 'alignment' ) {
2293 2292
 				$type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example
2294
-			}elseif ( $args['type'] == 'margins' ) {
2293
+			} elseif ( $args['type'] == 'margins' ) {
2295 2294
 
2296 2295
 			} else {
2297 2296
 				return;// if we have not implemented the control then don't break the JS.
@@ -2711,7 +2710,7 @@  discard block
 block discarded – undo
2711 2710
 
2712 2711
 				if(empty($instance['widget_title_tag'])){
2713 2712
 					$output = $args['before_title'] . $title . $args['after_title'];
2714
-				}else{
2713
+				} else{
2715 2714
 					$title_tag = esc_attr( $instance['widget_title_tag'] );
2716 2715
 
2717 2716
 					// classes
@@ -2816,9 +2815,9 @@  discard block
 block discarded – undo
2816 2815
 					<div class='row <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>'>
2817 2816
 					<div class='col pr-2'>
2818 2817
 					<?php
2819
-				}elseif(!empty($args['row']['close'])){
2818
+				} elseif(!empty($args['row']['close'])){
2820 2819
 					echo "<div class='col pl-0'>";
2821
-				}else{
2820
+				} else{
2822 2821
 					echo "<div class='col pl-0 pr-2'>";
2823 2822
 				}
2824 2823
 			}
@@ -3036,11 +3035,11 @@  discard block
 block discarded – undo
3036 3035
 		public function get_widget_icon($icon = 'box-top', $title = ''){
3037 3036
 			if($icon=='box-top'){
3038 3037
 				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.048" height="9.017" fill="#555D66"></rect><rect x="16.265" y="5.498" width="1.023" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.186" width="8.964" height="2.482" fill="#272B2F"></rect><rect x="5.487" y="16.261" width="9.026" height="1.037" fill="#555D66"></rect></svg>';
3039
-			}elseif($icon=='box-right'){
3038
+			} elseif($icon=='box-right'){
3040 3039
 				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1.046" height="9.017" fill="#555D66"></rect><rect x="15.244" y="5.498" width="2.518" height="9.003" fill="#272B2F"></rect><rect x="5.518" y="2.719" width="8.964" height="0.954" fill="#555D66"></rect><rect x="5.487" y="16.308" width="9.026" height="0.99" fill="#555D66"></rect></svg>';
3041
-			}elseif($icon=='box-bottom'){
3040
+			} elseif($icon=='box-bottom'){
3042 3041
 				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.714" y="5.492" width="1" height="9.017" fill="#555D66"></rect><rect x="16.261" y="5.498" width="1.027" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.968" fill="#555D66"></rect><rect x="5.487" y="15.28" width="9.026" height="2.499" fill="#272B2F"></rect></svg>';
3043
-			}elseif($icon=='box-left'){
3042
+			} elseif($icon=='box-left'){
3044 3043
 				return '<svg title="'.esc_attr($title).'" width="20px" height="20px" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414" role="img" aria-hidden="true" focusable="false"><rect x="2.202" y="5.492" width="2.503" height="9.017" fill="#272B2F"></rect><rect x="16.276" y="5.498" width="1.012" height="9.003" fill="#555D66"></rect><rect x="5.518" y="2.719" width="8.964" height="0.966" fill="#555D66"></rect><rect x="5.487" y="16.303" width="9.026" height="0.995" fill="#555D66"></rect></svg>';
3045 3044
 			}
3046 3045
 		}
Please login to merge, or discard this patch.
vendor/composer/autoload_static.php 1 patch
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -6,35 +6,35 @@  discard block
 block discarded – undo
6 6
 
7 7
 class ComposerStaticInit8b6d4385c391849a80038f0b0e87c8b5
8 8
 {
9
-    public static $files = array (
9
+    public static $files = array(
10 10
         '24583d3588ebda5228dd453cfaa070da' => __DIR__ . '/..' . '/ayecode/wp-font-awesome-settings/wp-font-awesome-settings.php',
11 11
         'e8d544c98e79f913e13eae1306ab635e' => __DIR__ . '/..' . '/ayecode/wp-ayecode-ui/ayecode-ui-loader.php',
12 12
         '42671a413efb740d7040437ff2a982cd' => __DIR__ . '/..' . '/ayecode/wp-super-duper/sd-functions.php',
13 13
     );
14 14
 
15
-    public static $prefixLengthsPsr4 = array (
15
+    public static $prefixLengthsPsr4 = array(
16 16
         'M' => 
17
-        array (
17
+        array(
18 18
             'MaxMind\\Db\\' => 11,
19 19
         ),
20 20
         'C' => 
21
-        array (
21
+        array(
22 22
             'Composer\\Installers\\' => 20,
23 23
         ),
24 24
     );
25 25
 
26
-    public static $prefixDirsPsr4 = array (
26
+    public static $prefixDirsPsr4 = array(
27 27
         'MaxMind\\Db\\' => 
28
-        array (
28
+        array(
29 29
             0 => __DIR__ . '/..' . '/maxmind-db/reader/src/MaxMind/Db',
30 30
         ),
31 31
         'Composer\\Installers\\' => 
32
-        array (
32
+        array(
33 33
             0 => __DIR__ . '/..' . '/composer/installers/src/Composer/Installers',
34 34
         ),
35 35
     );
36 36
 
37
-    public static $classMap = array (
37
+    public static $classMap = array(
38 38
         'AyeCode_Connect_Helper' => __DIR__ . '/..' . '/ayecode/ayecode-connect-helper/ayecode-connect-helper.php',
39 39
         'AyeCode_Deactivation_Survey' => __DIR__ . '/..' . '/ayecode/wp-deactivation-survey/wp-deactivation-survey.php',
40 40
         'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
@@ -43,7 +43,7 @@  discard block
 block discarded – undo
43 43
 
44 44
     public static function getInitializer(ClassLoader $loader)
45 45
     {
46
-        return \Closure::bind(function () use ($loader) {
46
+        return \Closure::bind(function() use ($loader) {
47 47
             $loader->prefixLengthsPsr4 = ComposerStaticInit8b6d4385c391849a80038f0b0e87c8b5::$prefixLengthsPsr4;
48 48
             $loader->prefixDirsPsr4 = ComposerStaticInit8b6d4385c391849a80038f0b0e87c8b5::$prefixDirsPsr4;
49 49
             $loader->classMap = ComposerStaticInit8b6d4385c391849a80038f0b0e87c8b5::$classMap;
Please login to merge, or discard this patch.
vendor/composer/InstalledVersions.php 2 patches
Indentation   +60 added lines, -60 removed lines patch added patch discarded remove patch
@@ -12,8 +12,8 @@  discard block
 block discarded – undo
12 12
 class InstalledVersions
13 13
 {
14 14
 private static $installed = array (
15
-  'root' => 
16
-  array (
15
+    'root' => 
16
+    array (
17 17
     'pretty_version' => 'dev-master',
18 18
     'version' => 'dev-master',
19 19
     'aliases' => 
@@ -21,96 +21,96 @@  discard block
 block discarded – undo
21 21
     ),
22 22
     'reference' => '32890d44a9c4256c0b78e919f15f3ecb7d667f09',
23 23
     'name' => 'ayecode/invoicing',
24
-  ),
25
-  'versions' => 
26
-  array (
24
+    ),
25
+    'versions' => 
26
+    array (
27 27
     'ayecode/ayecode-connect-helper' => 
28 28
     array (
29
-      'pretty_version' => '1.0.3',
30
-      'version' => '1.0.3.0',
31
-      'aliases' => 
32
-      array (
33
-      ),
34
-      'reference' => '1af7cdefdbd20d4443a3ab4834e4c1cd8fe57fb4',
29
+        'pretty_version' => '1.0.3',
30
+        'version' => '1.0.3.0',
31
+        'aliases' => 
32
+        array (
33
+        ),
34
+        'reference' => '1af7cdefdbd20d4443a3ab4834e4c1cd8fe57fb4',
35 35
     ),
36 36
     'ayecode/invoicing' => 
37 37
     array (
38
-      'pretty_version' => 'dev-master',
39
-      'version' => 'dev-master',
40
-      'aliases' => 
41
-      array (
42
-      ),
43
-      'reference' => '32890d44a9c4256c0b78e919f15f3ecb7d667f09',
38
+        'pretty_version' => 'dev-master',
39
+        'version' => 'dev-master',
40
+        'aliases' => 
41
+        array (
42
+        ),
43
+        'reference' => '32890d44a9c4256c0b78e919f15f3ecb7d667f09',
44 44
     ),
45 45
     'ayecode/wp-ayecode-ui' => 
46 46
     array (
47
-      'pretty_version' => '0.1.59',
48
-      'version' => '0.1.59.0',
49
-      'aliases' => 
50
-      array (
51
-      ),
52
-      'reference' => '6f0777660abe021f89e7723baa80e74cfaa2ddf8',
47
+        'pretty_version' => '0.1.59',
48
+        'version' => '0.1.59.0',
49
+        'aliases' => 
50
+        array (
51
+        ),
52
+        'reference' => '6f0777660abe021f89e7723baa80e74cfaa2ddf8',
53 53
     ),
54 54
     'ayecode/wp-deactivation-survey' => 
55 55
     array (
56
-      'pretty_version' => '1.0.3',
57
-      'version' => '1.0.3.0',
58
-      'aliases' => 
59
-      array (
60
-      ),
61
-      'reference' => 'c4b0ba914835f17dca0cf69fe621c2db491d4667',
56
+        'pretty_version' => '1.0.3',
57
+        'version' => '1.0.3.0',
58
+        'aliases' => 
59
+        array (
60
+        ),
61
+        'reference' => 'c4b0ba914835f17dca0cf69fe621c2db491d4667',
62 62
     ),
63 63
     'ayecode/wp-font-awesome-settings' => 
64 64
     array (
65
-      'pretty_version' => '1.0.13',
66
-      'version' => '1.0.13.0',
67
-      'aliases' => 
68
-      array (
69
-      ),
70
-      'reference' => 'a7a11ee4290674ec214d1fe694139af275350402',
65
+        'pretty_version' => '1.0.13',
66
+        'version' => '1.0.13.0',
67
+        'aliases' => 
68
+        array (
69
+        ),
70
+        'reference' => 'a7a11ee4290674ec214d1fe694139af275350402',
71 71
     ),
72 72
     'ayecode/wp-super-duper' => 
73 73
     array (
74
-      'pretty_version' => '1.0.27',
75
-      'version' => '1.0.27.0',
76
-      'aliases' => 
77
-      array (
78
-      ),
79
-      'reference' => 'ce187bc9afc5cd7f5d790d84eb6fd9b98e56992d',
74
+        'pretty_version' => '1.0.27',
75
+        'version' => '1.0.27.0',
76
+        'aliases' => 
77
+        array (
78
+        ),
79
+        'reference' => 'ce187bc9afc5cd7f5d790d84eb6fd9b98e56992d',
80 80
     ),
81 81
     'composer/installers' => 
82 82
     array (
83
-      'pretty_version' => 'v1.11.0',
84
-      'version' => '1.11.0.0',
85
-      'aliases' => 
86
-      array (
87
-      ),
88
-      'reference' => 'ae03311f45dfe194412081526be2e003960df74b',
83
+        'pretty_version' => 'v1.11.0',
84
+        'version' => '1.11.0.0',
85
+        'aliases' => 
86
+        array (
87
+        ),
88
+        'reference' => 'ae03311f45dfe194412081526be2e003960df74b',
89 89
     ),
90 90
     'maxmind-db/reader' => 
91 91
     array (
92
-      'pretty_version' => 'v1.6.0',
93
-      'version' => '1.6.0.0',
94
-      'aliases' => 
95
-      array (
96
-      ),
97
-      'reference' => 'febd4920bf17c1da84cef58e56a8227dfb37fbe4',
92
+        'pretty_version' => 'v1.6.0',
93
+        'version' => '1.6.0.0',
94
+        'aliases' => 
95
+        array (
96
+        ),
97
+        'reference' => 'febd4920bf17c1da84cef58e56a8227dfb37fbe4',
98 98
     ),
99 99
     'roundcube/plugin-installer' => 
100 100
     array (
101
-      'replaced' => 
102
-      array (
101
+        'replaced' => 
102
+        array (
103 103
         0 => '*',
104
-      ),
104
+        ),
105 105
     ),
106 106
     'shama/baton' => 
107 107
     array (
108
-      'replaced' => 
109
-      array (
108
+        'replaced' => 
109
+        array (
110 110
         0 => '*',
111
-      ),
111
+        ),
112
+    ),
112 113
     ),
113
-  ),
114 114
 );
115 115
 
116 116
 
Please login to merge, or discard this patch.
Spacing   +24 added lines, -24 removed lines patch added patch discarded remove patch
@@ -11,102 +11,102 @@
 block discarded – undo
11 11
 
12 12
 class InstalledVersions
13 13
 {
14
-private static $installed = array (
14
+private static $installed = array(
15 15
   'root' => 
16
-  array (
16
+  array(
17 17
     'pretty_version' => 'dev-master',
18 18
     'version' => 'dev-master',
19 19
     'aliases' => 
20
-    array (
20
+    array(
21 21
     ),
22 22
     'reference' => '32890d44a9c4256c0b78e919f15f3ecb7d667f09',
23 23
     'name' => 'ayecode/invoicing',
24 24
   ),
25 25
   'versions' => 
26
-  array (
26
+  array(
27 27
     'ayecode/ayecode-connect-helper' => 
28
-    array (
28
+    array(
29 29
       'pretty_version' => '1.0.3',
30 30
       'version' => '1.0.3.0',
31 31
       'aliases' => 
32
-      array (
32
+      array(
33 33
       ),
34 34
       'reference' => '1af7cdefdbd20d4443a3ab4834e4c1cd8fe57fb4',
35 35
     ),
36 36
     'ayecode/invoicing' => 
37
-    array (
37
+    array(
38 38
       'pretty_version' => 'dev-master',
39 39
       'version' => 'dev-master',
40 40
       'aliases' => 
41
-      array (
41
+      array(
42 42
       ),
43 43
       'reference' => '32890d44a9c4256c0b78e919f15f3ecb7d667f09',
44 44
     ),
45 45
     'ayecode/wp-ayecode-ui' => 
46
-    array (
46
+    array(
47 47
       'pretty_version' => '0.1.59',
48 48
       'version' => '0.1.59.0',
49 49
       'aliases' => 
50
-      array (
50
+      array(
51 51
       ),
52 52
       'reference' => '6f0777660abe021f89e7723baa80e74cfaa2ddf8',
53 53
     ),
54 54
     'ayecode/wp-deactivation-survey' => 
55
-    array (
55
+    array(
56 56
       'pretty_version' => '1.0.3',
57 57
       'version' => '1.0.3.0',
58 58
       'aliases' => 
59
-      array (
59
+      array(
60 60
       ),
61 61
       'reference' => 'c4b0ba914835f17dca0cf69fe621c2db491d4667',
62 62
     ),
63 63
     'ayecode/wp-font-awesome-settings' => 
64
-    array (
64
+    array(
65 65
       'pretty_version' => '1.0.13',
66 66
       'version' => '1.0.13.0',
67 67
       'aliases' => 
68
-      array (
68
+      array(
69 69
       ),
70 70
       'reference' => 'a7a11ee4290674ec214d1fe694139af275350402',
71 71
     ),
72 72
     'ayecode/wp-super-duper' => 
73
-    array (
73
+    array(
74 74
       'pretty_version' => '1.0.27',
75 75
       'version' => '1.0.27.0',
76 76
       'aliases' => 
77
-      array (
77
+      array(
78 78
       ),
79 79
       'reference' => 'ce187bc9afc5cd7f5d790d84eb6fd9b98e56992d',
80 80
     ),
81 81
     'composer/installers' => 
82
-    array (
82
+    array(
83 83
       'pretty_version' => 'v1.11.0',
84 84
       'version' => '1.11.0.0',
85 85
       'aliases' => 
86
-      array (
86
+      array(
87 87
       ),
88 88
       'reference' => 'ae03311f45dfe194412081526be2e003960df74b',
89 89
     ),
90 90
     'maxmind-db/reader' => 
91
-    array (
91
+    array(
92 92
       'pretty_version' => 'v1.6.0',
93 93
       'version' => '1.6.0.0',
94 94
       'aliases' => 
95
-      array (
95
+      array(
96 96
       ),
97 97
       'reference' => 'febd4920bf17c1da84cef58e56a8227dfb37fbe4',
98 98
     ),
99 99
     'roundcube/plugin-installer' => 
100
-    array (
100
+    array(
101 101
       'replaced' => 
102
-      array (
102
+      array(
103 103
         0 => '*',
104 104
       ),
105 105
     ),
106 106
     'shama/baton' => 
107
-    array (
107
+    array(
108 108
       'replaced' => 
109
-      array (
109
+      array(
110 110
         0 => '*',
111 111
       ),
112 112
     ),
Please login to merge, or discard this patch.
vendor/composer/installed.php 2 patches
Indentation   +60 added lines, -60 removed lines patch added patch discarded remove patch
@@ -1,6 +1,6 @@  discard block
 block discarded – undo
1 1
 <?php return array (
2
-  'root' => 
3
-  array (
2
+    'root' => 
3
+    array (
4 4
     'pretty_version' => 'dev-master',
5 5
     'version' => 'dev-master',
6 6
     'aliases' => 
@@ -8,94 +8,94 @@  discard block
 block discarded – undo
8 8
     ),
9 9
     'reference' => '32890d44a9c4256c0b78e919f15f3ecb7d667f09',
10 10
     'name' => 'ayecode/invoicing',
11
-  ),
12
-  'versions' => 
13
-  array (
11
+    ),
12
+    'versions' => 
13
+    array (
14 14
     'ayecode/ayecode-connect-helper' => 
15 15
     array (
16
-      'pretty_version' => '1.0.3',
17
-      'version' => '1.0.3.0',
18
-      'aliases' => 
19
-      array (
20
-      ),
21
-      'reference' => '1af7cdefdbd20d4443a3ab4834e4c1cd8fe57fb4',
16
+        'pretty_version' => '1.0.3',
17
+        'version' => '1.0.3.0',
18
+        'aliases' => 
19
+        array (
20
+        ),
21
+        'reference' => '1af7cdefdbd20d4443a3ab4834e4c1cd8fe57fb4',
22 22
     ),
23 23
     'ayecode/invoicing' => 
24 24
     array (
25
-      'pretty_version' => 'dev-master',
26
-      'version' => 'dev-master',
27
-      'aliases' => 
28
-      array (
29
-      ),
30
-      'reference' => '32890d44a9c4256c0b78e919f15f3ecb7d667f09',
25
+        'pretty_version' => 'dev-master',
26
+        'version' => 'dev-master',
27
+        'aliases' => 
28
+        array (
29
+        ),
30
+        'reference' => '32890d44a9c4256c0b78e919f15f3ecb7d667f09',
31 31
     ),
32 32
     'ayecode/wp-ayecode-ui' => 
33 33
     array (
34
-      'pretty_version' => '0.1.59',
35
-      'version' => '0.1.59.0',
36
-      'aliases' => 
37
-      array (
38
-      ),
39
-      'reference' => '6f0777660abe021f89e7723baa80e74cfaa2ddf8',
34
+        'pretty_version' => '0.1.59',
35
+        'version' => '0.1.59.0',
36
+        'aliases' => 
37
+        array (
38
+        ),
39
+        'reference' => '6f0777660abe021f89e7723baa80e74cfaa2ddf8',
40 40
     ),
41 41
     'ayecode/wp-deactivation-survey' => 
42 42
     array (
43
-      'pretty_version' => '1.0.3',
44
-      'version' => '1.0.3.0',
45
-      'aliases' => 
46
-      array (
47
-      ),
48
-      'reference' => 'c4b0ba914835f17dca0cf69fe621c2db491d4667',
43
+        'pretty_version' => '1.0.3',
44
+        'version' => '1.0.3.0',
45
+        'aliases' => 
46
+        array (
47
+        ),
48
+        'reference' => 'c4b0ba914835f17dca0cf69fe621c2db491d4667',
49 49
     ),
50 50
     'ayecode/wp-font-awesome-settings' => 
51 51
     array (
52
-      'pretty_version' => '1.0.13',
53
-      'version' => '1.0.13.0',
54
-      'aliases' => 
55
-      array (
56
-      ),
57
-      'reference' => 'a7a11ee4290674ec214d1fe694139af275350402',
52
+        'pretty_version' => '1.0.13',
53
+        'version' => '1.0.13.0',
54
+        'aliases' => 
55
+        array (
56
+        ),
57
+        'reference' => 'a7a11ee4290674ec214d1fe694139af275350402',
58 58
     ),
59 59
     'ayecode/wp-super-duper' => 
60 60
     array (
61
-      'pretty_version' => '1.0.27',
62
-      'version' => '1.0.27.0',
63
-      'aliases' => 
64
-      array (
65
-      ),
66
-      'reference' => 'ce187bc9afc5cd7f5d790d84eb6fd9b98e56992d',
61
+        'pretty_version' => '1.0.27',
62
+        'version' => '1.0.27.0',
63
+        'aliases' => 
64
+        array (
65
+        ),
66
+        'reference' => 'ce187bc9afc5cd7f5d790d84eb6fd9b98e56992d',
67 67
     ),
68 68
     'composer/installers' => 
69 69
     array (
70
-      'pretty_version' => 'v1.11.0',
71
-      'version' => '1.11.0.0',
72
-      'aliases' => 
73
-      array (
74
-      ),
75
-      'reference' => 'ae03311f45dfe194412081526be2e003960df74b',
70
+        'pretty_version' => 'v1.11.0',
71
+        'version' => '1.11.0.0',
72
+        'aliases' => 
73
+        array (
74
+        ),
75
+        'reference' => 'ae03311f45dfe194412081526be2e003960df74b',
76 76
     ),
77 77
     'maxmind-db/reader' => 
78 78
     array (
79
-      'pretty_version' => 'v1.6.0',
80
-      'version' => '1.6.0.0',
81
-      'aliases' => 
82
-      array (
83
-      ),
84
-      'reference' => 'febd4920bf17c1da84cef58e56a8227dfb37fbe4',
79
+        'pretty_version' => 'v1.6.0',
80
+        'version' => '1.6.0.0',
81
+        'aliases' => 
82
+        array (
83
+        ),
84
+        'reference' => 'febd4920bf17c1da84cef58e56a8227dfb37fbe4',
85 85
     ),
86 86
     'roundcube/plugin-installer' => 
87 87
     array (
88
-      'replaced' => 
89
-      array (
88
+        'replaced' => 
89
+        array (
90 90
         0 => '*',
91
-      ),
91
+        ),
92 92
     ),
93 93
     'shama/baton' => 
94 94
     array (
95
-      'replaced' => 
96
-      array (
95
+        'replaced' => 
96
+        array (
97 97
         0 => '*',
98
-      ),
98
+        ),
99
+    ),
99 100
     ),
100
-  ),
101 101
 );
Please login to merge, or discard this patch.
Spacing   +24 added lines, -24 removed lines patch added patch discarded remove patch
@@ -1,99 +1,99 @@
 block discarded – undo
1
-<?php return array (
1
+<?php return array(
2 2
   'root' => 
3
-  array (
3
+  array(
4 4
     'pretty_version' => 'dev-master',
5 5
     'version' => 'dev-master',
6 6
     'aliases' => 
7
-    array (
7
+    array(
8 8
     ),
9 9
     'reference' => '32890d44a9c4256c0b78e919f15f3ecb7d667f09',
10 10
     'name' => 'ayecode/invoicing',
11 11
   ),
12 12
   'versions' => 
13
-  array (
13
+  array(
14 14
     'ayecode/ayecode-connect-helper' => 
15
-    array (
15
+    array(
16 16
       'pretty_version' => '1.0.3',
17 17
       'version' => '1.0.3.0',
18 18
       'aliases' => 
19
-      array (
19
+      array(
20 20
       ),
21 21
       'reference' => '1af7cdefdbd20d4443a3ab4834e4c1cd8fe57fb4',
22 22
     ),
23 23
     'ayecode/invoicing' => 
24
-    array (
24
+    array(
25 25
       'pretty_version' => 'dev-master',
26 26
       'version' => 'dev-master',
27 27
       'aliases' => 
28
-      array (
28
+      array(
29 29
       ),
30 30
       'reference' => '32890d44a9c4256c0b78e919f15f3ecb7d667f09',
31 31
     ),
32 32
     'ayecode/wp-ayecode-ui' => 
33
-    array (
33
+    array(
34 34
       'pretty_version' => '0.1.59',
35 35
       'version' => '0.1.59.0',
36 36
       'aliases' => 
37
-      array (
37
+      array(
38 38
       ),
39 39
       'reference' => '6f0777660abe021f89e7723baa80e74cfaa2ddf8',
40 40
     ),
41 41
     'ayecode/wp-deactivation-survey' => 
42
-    array (
42
+    array(
43 43
       'pretty_version' => '1.0.3',
44 44
       'version' => '1.0.3.0',
45 45
       'aliases' => 
46
-      array (
46
+      array(
47 47
       ),
48 48
       'reference' => 'c4b0ba914835f17dca0cf69fe621c2db491d4667',
49 49
     ),
50 50
     'ayecode/wp-font-awesome-settings' => 
51
-    array (
51
+    array(
52 52
       'pretty_version' => '1.0.13',
53 53
       'version' => '1.0.13.0',
54 54
       'aliases' => 
55
-      array (
55
+      array(
56 56
       ),
57 57
       'reference' => 'a7a11ee4290674ec214d1fe694139af275350402',
58 58
     ),
59 59
     'ayecode/wp-super-duper' => 
60
-    array (
60
+    array(
61 61
       'pretty_version' => '1.0.27',
62 62
       'version' => '1.0.27.0',
63 63
       'aliases' => 
64
-      array (
64
+      array(
65 65
       ),
66 66
       'reference' => 'ce187bc9afc5cd7f5d790d84eb6fd9b98e56992d',
67 67
     ),
68 68
     'composer/installers' => 
69
-    array (
69
+    array(
70 70
       'pretty_version' => 'v1.11.0',
71 71
       'version' => '1.11.0.0',
72 72
       'aliases' => 
73
-      array (
73
+      array(
74 74
       ),
75 75
       'reference' => 'ae03311f45dfe194412081526be2e003960df74b',
76 76
     ),
77 77
     'maxmind-db/reader' => 
78
-    array (
78
+    array(
79 79
       'pretty_version' => 'v1.6.0',
80 80
       'version' => '1.6.0.0',
81 81
       'aliases' => 
82
-      array (
82
+      array(
83 83
       ),
84 84
       'reference' => 'febd4920bf17c1da84cef58e56a8227dfb37fbe4',
85 85
     ),
86 86
     'roundcube/plugin-installer' => 
87
-    array (
87
+    array(
88 88
       'replaced' => 
89
-      array (
89
+      array(
90 90
         0 => '*',
91 91
       ),
92 92
     ),
93 93
     'shama/baton' => 
94
-    array (
94
+    array(
95 95
       'replaced' => 
96
-      array (
96
+      array(
97 97
         0 => '*',
98 98
       ),
99 99
     ),
Please login to merge, or discard this patch.
includes/class-wpinv.php 3 patches
Indentation   +564 added lines, -564 removed lines patch added patch discarded remove patch
@@ -14,605 +14,605 @@
 block discarded – undo
14 14
  */
15 15
 class WPInv_Plugin {
16 16
 
17
-	/**
18
-	 * GetPaid version.
19
-	 *
20
-	 * @var string
21
-	 */
22
-	public $version;
23
-
24
-	/**
25
-	 * Data container.
26
-	 *
27
-	 * @var array
28
-	 */
29
-	protected $data = array();
30
-
31
-	/**
32
-	 * Form elements instance.
33
-	 *
34
-	 * @var WPInv_Payment_Form_Elements
35
-	 */
36
-	public $form_elements;
37
-
38
-	/**
39
-	 * @var array An array of payment gateways.
40
-	 */
41
-	public $gateways;
42
-
43
-	/**
44
-	 * Class constructor.
45
-	 */
46
-	public function __construct() {
47
-		$this->define_constants();
48
-		$this->includes();
49
-		$this->init_hooks();
50
-		$this->set_properties();
51
-	}
52
-
53
-	/**
54
-	 * Sets a custom data property.
55
-	 *
56
-	 * @param string $prop The prop to set.
57
-	 * @param mixed $value The value to retrieve.
58
-	 */
59
-	public function set( $prop, $value ) {
60
-		$this->data[ $prop ] = $value;
61
-	}
62
-
63
-	/**
64
-	 * Gets a custom data property.
65
-	 *
66
-	 * @param string $prop The prop to set.
67
-	 * @return mixed The value.
68
-	 */
69
-	public function get( $prop ) {
70
-
71
-		if ( isset( $this->data[ $prop ] ) ) {
72
-			return $this->data[ $prop ];
73
-		}
74
-
75
-		return null;
76
-	}
77
-
78
-	/**
79
-	 * Define class properties.
80
-	 */
81
-	public function set_properties() {
82
-
83
-		// Sessions.
84
-		$this->set( 'session', new WPInv_Session_Handler() );
85
-		$GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility.
86
-		$GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility.
87
-
88
-		// Init other objects.
89
-		$this->set( 'session', new WPInv_Session_Handler() );
90
-		$this->set( 'notes', new WPInv_Notes() );
91
-		$this->set( 'api', new WPInv_API() );
92
-		$this->set( 'post_types', new GetPaid_Post_Types() );
93
-		$this->set( 'template', new GetPaid_Template() );
94
-		$this->set( 'admin', new GetPaid_Admin() );
95
-		$this->set( 'subscriptions', new WPInv_Subscriptions() );
96
-		$this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() );
97
-		$this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() );
98
-		$this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() );
99
-		$this->set( 'payment_forms', new GetPaid_Payment_Forms() );
100
-		$this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() );
101
-
102
-	}
103
-
104
-	 /**
105
-	 * Define plugin constants.
106
-	 */
107
-	public function define_constants() {
108
-		define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) );
109
-		define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) );
110
-		$this->version = WPINV_VERSION;
111
-	}
112
-
113
-	/**
114
-	 * Hook into actions and filters.
115
-	 *
116
-	 * @since 1.0.19
117
-	 */
118
-	protected function init_hooks() {
119
-		/* Internationalize the text strings used. */
120
-		add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) );
121
-
122
-		// Init the plugin after WordPress inits.
123
-		add_action( 'init', array( $this, 'init' ), 1 );
124
-		add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 );
125
-		add_action( 'init', array( $this, 'wpinv_actions' ) );
126
-		add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 );
127
-		add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 );
128
-		add_action( 'wp_footer', array( $this, 'wp_footer' ) );
129
-		add_action( 'wp_head', array( $this, 'wp_head' ) );
130
-		add_action( 'widgets_init', array( $this, 'register_widgets' ) );
131
-		add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
132
-		add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
133
-
134
-		add_filter( 'query_vars', array( $this, 'custom_query_vars' ) );
17
+    /**
18
+     * GetPaid version.
19
+     *
20
+     * @var string
21
+     */
22
+    public $version;
23
+
24
+    /**
25
+     * Data container.
26
+     *
27
+     * @var array
28
+     */
29
+    protected $data = array();
30
+
31
+    /**
32
+     * Form elements instance.
33
+     *
34
+     * @var WPInv_Payment_Form_Elements
35
+     */
36
+    public $form_elements;
37
+
38
+    /**
39
+     * @var array An array of payment gateways.
40
+     */
41
+    public $gateways;
42
+
43
+    /**
44
+     * Class constructor.
45
+     */
46
+    public function __construct() {
47
+        $this->define_constants();
48
+        $this->includes();
49
+        $this->init_hooks();
50
+        $this->set_properties();
51
+    }
52
+
53
+    /**
54
+     * Sets a custom data property.
55
+     *
56
+     * @param string $prop The prop to set.
57
+     * @param mixed $value The value to retrieve.
58
+     */
59
+    public function set( $prop, $value ) {
60
+        $this->data[ $prop ] = $value;
61
+    }
62
+
63
+    /**
64
+     * Gets a custom data property.
65
+     *
66
+     * @param string $prop The prop to set.
67
+     * @return mixed The value.
68
+     */
69
+    public function get( $prop ) {
70
+
71
+        if ( isset( $this->data[ $prop ] ) ) {
72
+            return $this->data[ $prop ];
73
+        }
74
+
75
+        return null;
76
+    }
77
+
78
+    /**
79
+     * Define class properties.
80
+     */
81
+    public function set_properties() {
82
+
83
+        // Sessions.
84
+        $this->set( 'session', new WPInv_Session_Handler() );
85
+        $GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility.
86
+        $GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility.
87
+
88
+        // Init other objects.
89
+        $this->set( 'session', new WPInv_Session_Handler() );
90
+        $this->set( 'notes', new WPInv_Notes() );
91
+        $this->set( 'api', new WPInv_API() );
92
+        $this->set( 'post_types', new GetPaid_Post_Types() );
93
+        $this->set( 'template', new GetPaid_Template() );
94
+        $this->set( 'admin', new GetPaid_Admin() );
95
+        $this->set( 'subscriptions', new WPInv_Subscriptions() );
96
+        $this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() );
97
+        $this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() );
98
+        $this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() );
99
+        $this->set( 'payment_forms', new GetPaid_Payment_Forms() );
100
+        $this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() );
101
+
102
+    }
103
+
104
+        /**
105
+         * Define plugin constants.
106
+         */
107
+    public function define_constants() {
108
+        define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) );
109
+        define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) );
110
+        $this->version = WPINV_VERSION;
111
+    }
112
+
113
+    /**
114
+     * Hook into actions and filters.
115
+     *
116
+     * @since 1.0.19
117
+     */
118
+    protected function init_hooks() {
119
+        /* Internationalize the text strings used. */
120
+        add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) );
121
+
122
+        // Init the plugin after WordPress inits.
123
+        add_action( 'init', array( $this, 'init' ), 1 );
124
+        add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 );
125
+        add_action( 'init', array( $this, 'wpinv_actions' ) );
126
+        add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 );
127
+        add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 );
128
+        add_action( 'wp_footer', array( $this, 'wp_footer' ) );
129
+        add_action( 'wp_head', array( $this, 'wp_head' ) );
130
+        add_action( 'widgets_init', array( $this, 'register_widgets' ) );
131
+        add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
132
+        add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
133
+
134
+        add_filter( 'query_vars', array( $this, 'custom_query_vars' ) );
135 135
         add_action( 'init', array( $this, 'add_rewrite_rule' ), 10, 0 );
136
-		add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 );
137
-
138
-		// Fires after registering actions.
139
-		do_action( 'wpinv_actions', $this );
140
-		do_action( 'getpaid_actions', $this );
141
-
142
-	}
143
-
144
-	public function plugins_loaded() {
145
-		/* Internationalize the text strings used. */
146
-		$this->load_textdomain();
147
-
148
-		do_action( 'wpinv_loaded' );
149
-
150
-		// Fix oxygen page builder conflict
151
-		if ( function_exists( 'ct_css_output' ) ) {
152
-			wpinv_oxygen_fix_conflict();
153
-		}
154
-	}
155
-
156
-	/**
157
-	 * Load Localisation files.
158
-	 *
159
-	 * Note: the first-loaded translation file overrides any following ones if the same translation is present.
160
-	 *
161
-	 * Locales found in:
162
-	 *      - WP_LANG_DIR/plugins/invoicing-LOCALE.mo
163
-	 *      - WP_PLUGIN_DIR/invoicing/languages/invoicing-LOCALE.mo
164
-	 *
165
-	 * @since 1.0.0
166
-	 */
167
-	public function load_textdomain() {
168
-
169
-		load_plugin_textdomain(
170
-			'invoicing',
171
-			false,
172
-			plugin_basename( dirname( WPINV_PLUGIN_FILE ) ) . '/languages/'
173
-		);
174
-
175
-	}
176
-
177
-	/**
178
-	 * Include required core files used in admin and on the frontend.
179
-	 */
180
-	public function includes() {
181
-
182
-		// Start with the settings.
183
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php' );
184
-
185
-		// Packages/libraries.
186
-		require_once( WPINV_PLUGIN_DIR . 'vendor/autoload.php' );
187
-		require_once( WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php' );
188
-
189
-		// Load functions.
190
-		require_once( WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php' );
191
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php' );
192
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php' );
193
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php' );
194
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php' );
195
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php' );
196
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php' );
197
-		require_once( WPINV_PLUGIN_DIR . 'includes/invoice-functions.php' );
198
-		require_once( WPINV_PLUGIN_DIR . 'includes/subscription-functions.php' );
199
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php' );
200
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php' );
201
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php' );
202
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php' );
203
-		require_once( WPINV_PLUGIN_DIR . 'includes/user-functions.php' );
204
-		require_once( WPINV_PLUGIN_DIR . 'includes/error-functions.php' );
205
-
206
-		// Register autoloader.
207
-		try {
208
-			spl_autoload_register( array( $this, 'autoload' ), true );
209
-		} catch ( Exception $e ) {
210
-			wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
211
-		}
212
-
213
-		require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php' );
214
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php' );
215
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php' );
216
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php' );
217
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php' );
218
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php' );
219
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' );
220
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php' );
221
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php' );
222
-		require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php' );
223
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php' );
224
-		require_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php' );
225
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php' );
226
-		require_once( WPINV_PLUGIN_DIR . 'widgets/checkout.php' );
227
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-history.php' );
228
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php' );
229
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php' );
230
-		require_once( WPINV_PLUGIN_DIR . 'widgets/subscriptions.php' );
231
-		require_once( WPINV_PLUGIN_DIR . 'widgets/buy-item.php' );
232
-		require_once( WPINV_PLUGIN_DIR . 'widgets/getpaid.php' );
233
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php' );
234
-
235
-		if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
236
-			GetPaid_Post_Types_Admin::init();
237
-
238
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php' );
239
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php' );
240
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php' );
241
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php' );
242
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php' );
243
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php' );
244
-			// load the user class only on the users.php page
245
-			global $pagenow;
246
-			if($pagenow=='users.php'){
247
-				new WPInv_Admin_Users();
248
-			}
249
-		}
250
-
251
-		// Register cli commands
252
-		if ( defined( 'WP_CLI' ) && WP_CLI ) {
253
-			require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php' );
254
-			WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
255
-		}
256
-
257
-	}
258
-
259
-	/**
260
-	 * Class autoloader
261
-	 *
262
-	 * @param       string $class_name The name of the class to load.
263
-	 * @access      public
264
-	 * @since       1.0.19
265
-	 * @return      void
266
-	 */
267
-	public function autoload( $class_name ) {
268
-
269
-		// Normalize the class name...
270
-		$class_name  = strtolower( $class_name );
271
-
272
-		// ... and make sure it is our class.
273
-		if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
274
-			return;
275
-		}
276
-
277
-		// Next, prepare the file name from the class.
278
-		$file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
279
-
280
-		// Base path of the classes.
281
-		$plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
282
-
283
-		// And an array of possible locations in order of importance.
284
-		$locations = array(
285
-			"$plugin_path/includes",
286
-			"$plugin_path/includes/data-stores",
287
-			"$plugin_path/includes/gateways",
288
-			"$plugin_path/includes/payments",
289
-			"$plugin_path/includes/geolocation",
290
-			"$plugin_path/includes/reports",
291
-			"$plugin_path/includes/api",
292
-			"$plugin_path/includes/admin",
293
-			"$plugin_path/includes/admin/meta-boxes",
294
-		);
295
-
296
-		foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
297
-
298
-			if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
299
-				include trailingslashit( $location ) . $file_name;
300
-				break;
301
-			}
302
-
303
-		}
304
-
305
-	}
306
-
307
-	/**
308
-	 * Inits hooks etc.
309
-	 */
310
-	public function init() {
311
-
312
-		// Fires before getpaid inits.
313
-		do_action( 'before_getpaid_init', $this );
314
-
315
-		// Maybe upgrade.
316
-		$this->maybe_upgrade_database();
317
-
318
-		// Load default gateways.
319
-		$gateways = apply_filters(
320
-			'getpaid_default_gateways',
321
-			array(
322
-				'manual'        => 'GetPaid_Manual_Gateway',
323
-				'paypal'        => 'GetPaid_Paypal_Gateway',
324
-				'worldpay'      => 'GetPaid_Worldpay_Gateway',
325
-				'bank_transfer' => 'GetPaid_Bank_Transfer_Gateway',
326
-				'authorizenet'  => 'GetPaid_Authorize_Net_Gateway',
327
-			)
328
-		);
329
-
330
-		foreach ( $gateways as $id => $class ) {
331
-			$this->gateways[ $id ] = new $class();
332
-		}
333
-
334
-		if ( 'yes' != get_option( 'wpinv_renamed_gateways' ) ) {
335
-			GetPaid_Installer::rename_gateways_label();
336
-			update_option( 'wpinv_renamed_gateways', 'yes' );
337
-		}
338
-
339
-		// Fires after getpaid inits.
340
-		do_action( 'getpaid_init', $this );
341
-
342
-	}
343
-
344
-	/**
345
-	 * Checks if this is an IPN request and processes it.
346
-	 */
347
-	public function maybe_process_ipn() {
348
-
349
-		// Ensure that this is an IPN request.
350
-		if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
351
-			return;
352
-		}
353
-
354
-		$gateway = wpinv_clean( $_GET['wpi-gateway'] );
355
-
356
-		do_action( 'wpinv_verify_payment_ipn', $gateway );
357
-		do_action( "wpinv_verify_{$gateway}_ipn" );
358
-		exit;
359
-
360
-	}
361
-
362
-	public function enqueue_scripts() {
363
-
364
-		// Fires before adding scripts.
365
-		do_action( 'getpaid_enqueue_scripts' );
366
-
367
-		$localize                         = array();
368
-		$localize['ajax_url']             = admin_url( 'admin-ajax.php' );
369
-		$localize['thousands']            = wpinv_thousands_separator();
370
-		$localize['decimals']             = wpinv_decimal_separator();
371
-		$localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
372
-		$localize['txtComplete']          = __( 'Continue', 'invoicing' );
373
-		$localize['UseTaxes']             = wpinv_use_taxes();
374
-		$localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
375
-		$localize['loading']              = __( 'Loading...', 'invoicing' );
376
-		$localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
377
-
378
-		$localize = apply_filters( 'wpinv_front_js_localize', $localize );
379
-
380
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
381
-		wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ),  $version, true );
382
-		wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
383
-	}
384
-
385
-	public function wpinv_actions() {
386
-		if ( isset( $_REQUEST['wpi_action'] ) ) {
387
-			do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
388
-		}
389
-	}
390
-
391
-	/**
136
+        add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 );
137
+
138
+        // Fires after registering actions.
139
+        do_action( 'wpinv_actions', $this );
140
+        do_action( 'getpaid_actions', $this );
141
+
142
+    }
143
+
144
+    public function plugins_loaded() {
145
+        /* Internationalize the text strings used. */
146
+        $this->load_textdomain();
147
+
148
+        do_action( 'wpinv_loaded' );
149
+
150
+        // Fix oxygen page builder conflict
151
+        if ( function_exists( 'ct_css_output' ) ) {
152
+            wpinv_oxygen_fix_conflict();
153
+        }
154
+    }
155
+
156
+    /**
157
+     * Load Localisation files.
158
+     *
159
+     * Note: the first-loaded translation file overrides any following ones if the same translation is present.
160
+     *
161
+     * Locales found in:
162
+     *      - WP_LANG_DIR/plugins/invoicing-LOCALE.mo
163
+     *      - WP_PLUGIN_DIR/invoicing/languages/invoicing-LOCALE.mo
164
+     *
165
+     * @since 1.0.0
166
+     */
167
+    public function load_textdomain() {
168
+
169
+        load_plugin_textdomain(
170
+            'invoicing',
171
+            false,
172
+            plugin_basename( dirname( WPINV_PLUGIN_FILE ) ) . '/languages/'
173
+        );
174
+
175
+    }
176
+
177
+    /**
178
+     * Include required core files used in admin and on the frontend.
179
+     */
180
+    public function includes() {
181
+
182
+        // Start with the settings.
183
+        require_once( WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php' );
184
+
185
+        // Packages/libraries.
186
+        require_once( WPINV_PLUGIN_DIR . 'vendor/autoload.php' );
187
+        require_once( WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php' );
188
+
189
+        // Load functions.
190
+        require_once( WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php' );
191
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php' );
192
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php' );
193
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php' );
194
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php' );
195
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php' );
196
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php' );
197
+        require_once( WPINV_PLUGIN_DIR . 'includes/invoice-functions.php' );
198
+        require_once( WPINV_PLUGIN_DIR . 'includes/subscription-functions.php' );
199
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php' );
200
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php' );
201
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php' );
202
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php' );
203
+        require_once( WPINV_PLUGIN_DIR . 'includes/user-functions.php' );
204
+        require_once( WPINV_PLUGIN_DIR . 'includes/error-functions.php' );
205
+
206
+        // Register autoloader.
207
+        try {
208
+            spl_autoload_register( array( $this, 'autoload' ), true );
209
+        } catch ( Exception $e ) {
210
+            wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
211
+        }
212
+
213
+        require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php' );
214
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php' );
215
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php' );
216
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php' );
217
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php' );
218
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php' );
219
+        require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' );
220
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php' );
221
+        require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php' );
222
+        require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php' );
223
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php' );
224
+        require_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php' );
225
+        require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php' );
226
+        require_once( WPINV_PLUGIN_DIR . 'widgets/checkout.php' );
227
+        require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-history.php' );
228
+        require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php' );
229
+        require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php' );
230
+        require_once( WPINV_PLUGIN_DIR . 'widgets/subscriptions.php' );
231
+        require_once( WPINV_PLUGIN_DIR . 'widgets/buy-item.php' );
232
+        require_once( WPINV_PLUGIN_DIR . 'widgets/getpaid.php' );
233
+        require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php' );
234
+
235
+        if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
236
+            GetPaid_Post_Types_Admin::init();
237
+
238
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php' );
239
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php' );
240
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php' );
241
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php' );
242
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php' );
243
+            require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php' );
244
+            // load the user class only on the users.php page
245
+            global $pagenow;
246
+            if($pagenow=='users.php'){
247
+                new WPInv_Admin_Users();
248
+            }
249
+        }
250
+
251
+        // Register cli commands
252
+        if ( defined( 'WP_CLI' ) && WP_CLI ) {
253
+            require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php' );
254
+            WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
255
+        }
256
+
257
+    }
258
+
259
+    /**
260
+     * Class autoloader
261
+     *
262
+     * @param       string $class_name The name of the class to load.
263
+     * @access      public
264
+     * @since       1.0.19
265
+     * @return      void
266
+     */
267
+    public function autoload( $class_name ) {
268
+
269
+        // Normalize the class name...
270
+        $class_name  = strtolower( $class_name );
271
+
272
+        // ... and make sure it is our class.
273
+        if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
274
+            return;
275
+        }
276
+
277
+        // Next, prepare the file name from the class.
278
+        $file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
279
+
280
+        // Base path of the classes.
281
+        $plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
282
+
283
+        // And an array of possible locations in order of importance.
284
+        $locations = array(
285
+            "$plugin_path/includes",
286
+            "$plugin_path/includes/data-stores",
287
+            "$plugin_path/includes/gateways",
288
+            "$plugin_path/includes/payments",
289
+            "$plugin_path/includes/geolocation",
290
+            "$plugin_path/includes/reports",
291
+            "$plugin_path/includes/api",
292
+            "$plugin_path/includes/admin",
293
+            "$plugin_path/includes/admin/meta-boxes",
294
+        );
295
+
296
+        foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
297
+
298
+            if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
299
+                include trailingslashit( $location ) . $file_name;
300
+                break;
301
+            }
302
+
303
+        }
304
+
305
+    }
306
+
307
+    /**
308
+     * Inits hooks etc.
309
+     */
310
+    public function init() {
311
+
312
+        // Fires before getpaid inits.
313
+        do_action( 'before_getpaid_init', $this );
314
+
315
+        // Maybe upgrade.
316
+        $this->maybe_upgrade_database();
317
+
318
+        // Load default gateways.
319
+        $gateways = apply_filters(
320
+            'getpaid_default_gateways',
321
+            array(
322
+                'manual'        => 'GetPaid_Manual_Gateway',
323
+                'paypal'        => 'GetPaid_Paypal_Gateway',
324
+                'worldpay'      => 'GetPaid_Worldpay_Gateway',
325
+                'bank_transfer' => 'GetPaid_Bank_Transfer_Gateway',
326
+                'authorizenet'  => 'GetPaid_Authorize_Net_Gateway',
327
+            )
328
+        );
329
+
330
+        foreach ( $gateways as $id => $class ) {
331
+            $this->gateways[ $id ] = new $class();
332
+        }
333
+
334
+        if ( 'yes' != get_option( 'wpinv_renamed_gateways' ) ) {
335
+            GetPaid_Installer::rename_gateways_label();
336
+            update_option( 'wpinv_renamed_gateways', 'yes' );
337
+        }
338
+
339
+        // Fires after getpaid inits.
340
+        do_action( 'getpaid_init', $this );
341
+
342
+    }
343
+
344
+    /**
345
+     * Checks if this is an IPN request and processes it.
346
+     */
347
+    public function maybe_process_ipn() {
348
+
349
+        // Ensure that this is an IPN request.
350
+        if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
351
+            return;
352
+        }
353
+
354
+        $gateway = wpinv_clean( $_GET['wpi-gateway'] );
355
+
356
+        do_action( 'wpinv_verify_payment_ipn', $gateway );
357
+        do_action( "wpinv_verify_{$gateway}_ipn" );
358
+        exit;
359
+
360
+    }
361
+
362
+    public function enqueue_scripts() {
363
+
364
+        // Fires before adding scripts.
365
+        do_action( 'getpaid_enqueue_scripts' );
366
+
367
+        $localize                         = array();
368
+        $localize['ajax_url']             = admin_url( 'admin-ajax.php' );
369
+        $localize['thousands']            = wpinv_thousands_separator();
370
+        $localize['decimals']             = wpinv_decimal_separator();
371
+        $localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
372
+        $localize['txtComplete']          = __( 'Continue', 'invoicing' );
373
+        $localize['UseTaxes']             = wpinv_use_taxes();
374
+        $localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
375
+        $localize['loading']              = __( 'Loading...', 'invoicing' );
376
+        $localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
377
+
378
+        $localize = apply_filters( 'wpinv_front_js_localize', $localize );
379
+
380
+        $version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
381
+        wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ),  $version, true );
382
+        wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
383
+    }
384
+
385
+    public function wpinv_actions() {
386
+        if ( isset( $_REQUEST['wpi_action'] ) ) {
387
+            do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
388
+        }
389
+    }
390
+
391
+    /**
392 392
      * Fires an action after verifying that a user can fire them.
393
-	 *
394
-	 * Note: If the action is on an invoice, subscription etc, esure that the
395
-	 * current user owns the invoice/subscription.
393
+     *
394
+     * Note: If the action is on an invoice, subscription etc, esure that the
395
+     * current user owns the invoice/subscription.
396 396
      */
397 397
     public function maybe_do_authenticated_action() {
398 398
 
399
-		if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
399
+        if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
400
+
401
+            $key  = sanitize_key( $_REQUEST['getpaid-action'] );
402
+            $data = wp_unslash( $_REQUEST );
403
+            if ( is_user_logged_in() ) {
404
+                do_action( "getpaid_authenticated_action_$key", $data );
405
+            }
406
+
407
+            do_action( "getpaid_unauthenticated_action_$key", $data );
408
+
409
+        }
410
+
411
+    }
412
+
413
+    public function pre_get_posts( $wp_query ) {
414
+
415
+        if ( ! is_admin() && ! empty( $wp_query->query_vars['post_type'] ) && getpaid_is_invoice_post_type( $wp_query->query_vars['post_type'] ) && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) {
416
+            $wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) );
417
+        }
418
+
419
+        return $wp_query;
420
+    }
421
+
422
+    /**
423
+     * Register widgets
424
+     *
425
+     */
426
+    public function register_widgets() {
427
+        global $pagenow;
428
+
429
+        // Currently, UX Builder does not work particulaly well with SuperDuper.
430
+        // So we disable our widgets when editing a page with UX Builder.
431
+        if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) {
432
+            return;
433
+        }
434
+
435
+        $block_widget_init_screens = function_exists('sd_pagenow_exclude') ? sd_pagenow_exclude() : array();
436
+
437
+        if ( is_admin() && $pagenow && in_array($pagenow, $block_widget_init_screens)) {
438
+            // don't initiate in these conditions.
439
+        }else{
440
+
441
+            $exclude = function_exists('sd_widget_exclude') ? sd_widget_exclude() : array();
442
+            $widgets = apply_filters(
443
+                'getpaid_widget_classes',
444
+                array(
445
+                    'WPInv_Checkout_Widget',
446
+                    'WPInv_History_Widget',
447
+                    'WPInv_Receipt_Widget',
448
+                    'WPInv_Subscriptions_Widget',
449
+                    'WPInv_Buy_Item_Widget',
450
+                    'WPInv_Messages_Widget',
451
+                    'WPInv_GetPaid_Widget'
452
+                )
453
+            );
454
+
455
+            if( !empty($widgets) ){
456
+                foreach ( $widgets as $widget ) {
457
+                    if(!in_array($widget,$exclude)){
458
+                        register_widget( $widget );
459
+                    }
460
+                }
461
+            }
462
+
463
+        }
464
+
465
+    }
466
+
467
+    /**
468
+     * Upgrades the database.
469
+     *
470
+     * @since 2.0.2
471
+     */
472
+    public function maybe_upgrade_database() {
473
+
474
+        $wpi_version = get_option( 'wpinv_version', 0 );
475
+
476
+        if ( $wpi_version == WPINV_VERSION ) {
477
+            return;
478
+        }
479
+
480
+        $installer = new GetPaid_Installer();
400 481
 
401
-			$key  = sanitize_key( $_REQUEST['getpaid-action'] );
402
-			$data = wp_unslash( $_REQUEST );
403
-			if ( is_user_logged_in() ) {
404
-				do_action( "getpaid_authenticated_action_$key", $data );
405
-			}
482
+        if ( empty( $wpi_version ) ) {
483
+            return $installer->upgrade_db( 0 );
484
+        }
406 485
 
407
-			do_action( "getpaid_unauthenticated_action_$key", $data );
486
+        $upgrades  = array(
487
+            '0.0.5' => '004',
488
+            '1.0.3' => '102',
489
+            '2.0.0' => '118',
490
+            '2.0.8' => '207',
491
+        );
408 492
 
409
-		}
493
+        foreach ( $upgrades as $key => $method ) {
494
+
495
+            if ( version_compare( $wpi_version, $key, '<' ) ) {
496
+                return $installer->upgrade_db( $method );
497
+            }
498
+
499
+        }
410 500
 
411 501
     }
412 502
 
413
-	public function pre_get_posts( $wp_query ) {
414
-
415
-		if ( ! is_admin() && ! empty( $wp_query->query_vars['post_type'] ) && getpaid_is_invoice_post_type( $wp_query->query_vars['post_type'] ) && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) {
416
-			$wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) );
417
-		}
503
+    /**
504
+     * Flushes the permalinks if needed.
505
+     *
506
+     * @since 2.0.8
507
+     */
508
+    public function maybe_flush_permalinks() {
418 509
 
419
-		return $wp_query;
420
-	}
421
-
422
-	/**
423
-	 * Register widgets
424
-	 *
425
-	 */
426
-	public function register_widgets() {
427
-		global $pagenow;
428
-
429
-		// Currently, UX Builder does not work particulaly well with SuperDuper.
430
-		// So we disable our widgets when editing a page with UX Builder.
431
-		if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) {
432
-			return;
433
-		}
434
-
435
-		$block_widget_init_screens = function_exists('sd_pagenow_exclude') ? sd_pagenow_exclude() : array();
436
-
437
-		if ( is_admin() && $pagenow && in_array($pagenow, $block_widget_init_screens)) {
438
-			// don't initiate in these conditions.
439
-		}else{
440
-
441
-			$exclude = function_exists('sd_widget_exclude') ? sd_widget_exclude() : array();
442
-			$widgets = apply_filters(
443
-				'getpaid_widget_classes',
444
-				array(
445
-					'WPInv_Checkout_Widget',
446
-					'WPInv_History_Widget',
447
-					'WPInv_Receipt_Widget',
448
-					'WPInv_Subscriptions_Widget',
449
-					'WPInv_Buy_Item_Widget',
450
-					'WPInv_Messages_Widget',
451
-					'WPInv_GetPaid_Widget'
452
-				)
453
-			);
510
+        $flush = get_option( 'wpinv_flush_permalinks', 0 );
454 511
 
455
-			if( !empty($widgets) ){
456
-				foreach ( $widgets as $widget ) {
457
-					if(!in_array($widget,$exclude)){
458
-						register_widget( $widget );
459
-					}
460
-				}
461
-			}
512
+        if ( ! empty( $flush ) ) {
513
+            flush_rewrite_rules();
514
+            delete_option( 'wpinv_flush_permalinks' );
515
+        }
516
+
517
+    }
518
+
519
+    /**
520
+     * Remove our pages from yoast sitemaps.
521
+     *
522
+     * @since 1.0.19
523
+     * @param int[] $excluded_posts_ids
524
+     */
525
+    public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ){
526
+
527
+        // Ensure that we have an array.
528
+        if ( ! is_array( $excluded_posts_ids ) ) {
529
+            $excluded_posts_ids = array();
530
+        }
462 531
 
463
-		}
464
-
465
-	}
532
+        // Prepare our pages.
533
+        $our_pages = array();
466 534
 
467
-	/**
468
-	 * Upgrades the database.
469
-	 *
470
-	 * @since 2.0.2
471
-	 */
472
-	public function maybe_upgrade_database() {
473
-
474
-		$wpi_version = get_option( 'wpinv_version', 0 );
475
-
476
-		if ( $wpi_version == WPINV_VERSION ) {
477
-			return;
478
-		}
479
-
480
-		$installer = new GetPaid_Installer();
481
-
482
-		if ( empty( $wpi_version ) ) {
483
-			return $installer->upgrade_db( 0 );
484
-		}
485
-
486
-		$upgrades  = array(
487
-			'0.0.5' => '004',
488
-			'1.0.3' => '102',
489
-			'2.0.0' => '118',
490
-			'2.0.8' => '207',
491
-		);
492
-
493
-		foreach ( $upgrades as $key => $method ) {
494
-
495
-			if ( version_compare( $wpi_version, $key, '<' ) ) {
496
-				return $installer->upgrade_db( $method );
497
-			}
498
-
499
-		}
500
-
501
-	}
502
-
503
-	/**
504
-	 * Flushes the permalinks if needed.
505
-	 *
506
-	 * @since 2.0.8
507
-	 */
508
-	public function maybe_flush_permalinks() {
509
-
510
-		$flush = get_option( 'wpinv_flush_permalinks', 0 );
511
-
512
-		if ( ! empty( $flush ) ) {
513
-			flush_rewrite_rules();
514
-			delete_option( 'wpinv_flush_permalinks' );
515
-		}
516
-
517
-	}
518
-
519
-	/**
520
-	 * Remove our pages from yoast sitemaps.
521
-	 *
522
-	 * @since 1.0.19
523
-	 * @param int[] $excluded_posts_ids
524
-	 */
525
-	public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ){
526
-
527
-		// Ensure that we have an array.
528
-		if ( ! is_array( $excluded_posts_ids ) ) {
529
-			$excluded_posts_ids = array();
530
-		}
531
-
532
-		// Prepare our pages.
533
-		$our_pages = array();
534
-
535
-		// Checkout page.
536
-		$our_pages[] = wpinv_get_option( 'checkout_page', false );
537
-
538
-		// Success page.
539
-		$our_pages[] = wpinv_get_option( 'success_page', false );
540
-
541
-		// Failure page.
542
-		$our_pages[] = wpinv_get_option( 'failure_page', false );
543
-
544
-		// History page.
545
-		$our_pages[] = wpinv_get_option( 'invoice_history_page', false );
546
-
547
-		// Subscriptions page.
548
-		$our_pages[] = wpinv_get_option( 'invoice_subscription_page', false );
549
-
550
-		$our_pages   = array_map( 'intval', array_filter( $our_pages ) );
551
-
552
-		$excluded_posts_ids = $excluded_posts_ids + $our_pages;
553
-		return array_unique( $excluded_posts_ids );
535
+        // Checkout page.
536
+        $our_pages[] = wpinv_get_option( 'checkout_page', false );
554 537
 
555
-	}
556
-
557
-	/**
558
-	 * Displays additional footer code.
559
-	 *
560
-	 * @since 2.0.0
561
-	 */
562
-	public function wp_footer() {
563
-		wpinv_get_template( 'frontend-footer.php' );
564
-	}
538
+        // Success page.
539
+        $our_pages[] = wpinv_get_option( 'success_page', false );
565 540
 
566
-	/**
567
-	 * Displays additional header code.
568
-	 *
569
-	 * @since 2.0.0
570
-	 */
571
-	public function wp_head() {
572
-		wpinv_get_template( 'frontend-head.php' );
573
-	}
541
+        // Failure page.
542
+        $our_pages[] = wpinv_get_option( 'failure_page', false );
574 543
 
575
-	/**
576
-	 * Custom query vars.
577
-	 *
578
-	 */
579
-	public function custom_query_vars( $vars ) {
544
+        // History page.
545
+        $our_pages[] = wpinv_get_option( 'invoice_history_page', false );
546
+
547
+        // Subscriptions page.
548
+        $our_pages[] = wpinv_get_option( 'invoice_subscription_page', false );
549
+
550
+        $our_pages   = array_map( 'intval', array_filter( $our_pages ) );
551
+
552
+        $excluded_posts_ids = $excluded_posts_ids + $our_pages;
553
+        return array_unique( $excluded_posts_ids );
554
+
555
+    }
556
+
557
+    /**
558
+     * Displays additional footer code.
559
+     *
560
+     * @since 2.0.0
561
+     */
562
+    public function wp_footer() {
563
+        wpinv_get_template( 'frontend-footer.php' );
564
+    }
565
+
566
+    /**
567
+     * Displays additional header code.
568
+     *
569
+     * @since 2.0.0
570
+     */
571
+    public function wp_head() {
572
+        wpinv_get_template( 'frontend-head.php' );
573
+    }
574
+
575
+    /**
576
+     * Custom query vars.
577
+     *
578
+     */
579
+    public function custom_query_vars( $vars ) {
580 580
         $vars[] = 'getpaid-ipn';
581 581
         return $vars;
582
-	}
582
+    }
583 583
 
584
-	/**
585
-	 * Add rewrite tags and rules.
586
-	 *
587
-	 */
588
-	public function add_rewrite_rule() {
584
+    /**
585
+     * Add rewrite tags and rules.
586
+     *
587
+     */
588
+    public function add_rewrite_rule() {
589 589
         $tag = 'getpaid-ipn';
590 590
         add_rewrite_tag( "%$tag%", '([^&]+)' );
591 591
         add_rewrite_rule( "^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]",'top' );
592
-	}
592
+    }
593 593
 
594
-	/**
595
-	 * Processes non-query string ipns.
596
-	 *
597
-	 */
598
-	public function maybe_process_new_ipn( $query ) {
594
+    /**
595
+     * Processes non-query string ipns.
596
+     *
597
+     */
598
+    public function maybe_process_new_ipn( $query ) {
599 599
 
600 600
         if ( is_admin() || ! $query->is_main_query() ) {
601 601
             return;
602 602
         }
603 603
 
604
-		$gateway = get_query_var( 'getpaid-ipn' );
604
+        $gateway = get_query_var( 'getpaid-ipn' );
605 605
 
606 606
         if ( ! empty( $gateway ) ){
607 607
 
608
-			$gateway = sanitize_text_field( $gateway );
609
-			nocache_headers();
610
-			do_action( 'wpinv_verify_payment_ipn', $gateway );
611
-			do_action( "wpinv_verify_{$gateway}_ipn" );
612
-			exit;
608
+            $gateway = sanitize_text_field( $gateway );
609
+            nocache_headers();
610
+            do_action( 'wpinv_verify_payment_ipn', $gateway );
611
+            do_action( "wpinv_verify_{$gateway}_ipn" );
612
+            exit;
613 613
 
614 614
         }
615 615
 
616
-	}
616
+    }
617 617
 
618 618
 }
Please login to merge, or discard this patch.
Spacing   +175 added lines, -175 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @since   1.0.0
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * Main Invoicing class.
@@ -56,8 +56,8 @@  discard block
 block discarded – undo
56 56
 	 * @param string $prop The prop to set.
57 57
 	 * @param mixed $value The value to retrieve.
58 58
 	 */
59
-	public function set( $prop, $value ) {
60
-		$this->data[ $prop ] = $value;
59
+	public function set($prop, $value) {
60
+		$this->data[$prop] = $value;
61 61
 	}
62 62
 
63 63
 	/**
@@ -66,10 +66,10 @@  discard block
 block discarded – undo
66 66
 	 * @param string $prop The prop to set.
67 67
 	 * @return mixed The value.
68 68
 	 */
69
-	public function get( $prop ) {
69
+	public function get($prop) {
70 70
 
71
-		if ( isset( $this->data[ $prop ] ) ) {
72
-			return $this->data[ $prop ];
71
+		if (isset($this->data[$prop])) {
72
+			return $this->data[$prop];
73 73
 		}
74 74
 
75 75
 		return null;
@@ -81,23 +81,23 @@  discard block
 block discarded – undo
81 81
 	public function set_properties() {
82 82
 
83 83
 		// Sessions.
84
-		$this->set( 'session', new WPInv_Session_Handler() );
85
-		$GLOBALS['wpi_session'] = $this->get( 'session' ); // Backwards compatibility.
84
+		$this->set('session', new WPInv_Session_Handler());
85
+		$GLOBALS['wpi_session'] = $this->get('session'); // Backwards compatibility.
86 86
 		$GLOBALS['wpinv_euvat'] = new WPInv_EUVat(); // Backwards compatibility.
87 87
 
88 88
 		// Init other objects.
89
-		$this->set( 'session', new WPInv_Session_Handler() );
90
-		$this->set( 'notes', new WPInv_Notes() );
91
-		$this->set( 'api', new WPInv_API() );
92
-		$this->set( 'post_types', new GetPaid_Post_Types() );
93
-		$this->set( 'template', new GetPaid_Template() );
94
-		$this->set( 'admin', new GetPaid_Admin() );
95
-		$this->set( 'subscriptions', new WPInv_Subscriptions() );
96
-		$this->set( 'invoice_emails', new GetPaid_Invoice_Notification_Emails() );
97
-		$this->set( 'subscription_emails', new GetPaid_Subscription_Notification_Emails() );
98
-		$this->set( 'daily_maintenace', new GetPaid_Daily_Maintenance() );
99
-		$this->set( 'payment_forms', new GetPaid_Payment_Forms() );
100
-		$this->set( 'maxmind', new GetPaid_MaxMind_Geolocation() );
89
+		$this->set('session', new WPInv_Session_Handler());
90
+		$this->set('notes', new WPInv_Notes());
91
+		$this->set('api', new WPInv_API());
92
+		$this->set('post_types', new GetPaid_Post_Types());
93
+		$this->set('template', new GetPaid_Template());
94
+		$this->set('admin', new GetPaid_Admin());
95
+		$this->set('subscriptions', new WPInv_Subscriptions());
96
+		$this->set('invoice_emails', new GetPaid_Invoice_Notification_Emails());
97
+		$this->set('subscription_emails', new GetPaid_Subscription_Notification_Emails());
98
+		$this->set('daily_maintenace', new GetPaid_Daily_Maintenance());
99
+		$this->set('payment_forms', new GetPaid_Payment_Forms());
100
+		$this->set('maxmind', new GetPaid_MaxMind_Geolocation());
101 101
 
102 102
 	}
103 103
 
@@ -105,8 +105,8 @@  discard block
 block discarded – undo
105 105
 	 * Define plugin constants.
106 106
 	 */
107 107
 	public function define_constants() {
108
-		define( 'WPINV_PLUGIN_DIR', plugin_dir_path( WPINV_PLUGIN_FILE ) );
109
-		define( 'WPINV_PLUGIN_URL', plugin_dir_url( WPINV_PLUGIN_FILE ) );
108
+		define('WPINV_PLUGIN_DIR', plugin_dir_path(WPINV_PLUGIN_FILE));
109
+		define('WPINV_PLUGIN_URL', plugin_dir_url(WPINV_PLUGIN_FILE));
110 110
 		$this->version = WPINV_VERSION;
111 111
 	}
112 112
 
@@ -117,27 +117,27 @@  discard block
 block discarded – undo
117 117
 	 */
118 118
 	protected function init_hooks() {
119 119
 		/* Internationalize the text strings used. */
120
-		add_action( 'plugins_loaded', array( &$this, 'plugins_loaded' ) );
120
+		add_action('plugins_loaded', array(&$this, 'plugins_loaded'));
121 121
 
122 122
 		// Init the plugin after WordPress inits.
123
-		add_action( 'init', array( $this, 'init' ), 1 );
124
-		add_action( 'init', array( $this, 'maybe_process_ipn' ), 10 );
125
-		add_action( 'init', array( $this, 'wpinv_actions' ) );
126
-		add_action( 'init', array( $this, 'maybe_do_authenticated_action' ), 100 );
127
-		add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ), 11 );
128
-		add_action( 'wp_footer', array( $this, 'wp_footer' ) );
129
-		add_action( 'wp_head', array( $this, 'wp_head' ) );
130
-		add_action( 'widgets_init', array( $this, 'register_widgets' ) );
131
-		add_filter( 'wpseo_exclude_from_sitemap_by_post_ids', array( $this, 'wpseo_exclude_from_sitemap_by_post_ids' ) );
132
-		add_filter( 'pre_get_posts', array( &$this, 'pre_get_posts' ) );
133
-
134
-		add_filter( 'query_vars', array( $this, 'custom_query_vars' ) );
135
-        add_action( 'init', array( $this, 'add_rewrite_rule' ), 10, 0 );
136
-		add_action( 'pre_get_posts', array( $this, 'maybe_process_new_ipn' ), 1 );
123
+		add_action('init', array($this, 'init'), 1);
124
+		add_action('init', array($this, 'maybe_process_ipn'), 10);
125
+		add_action('init', array($this, 'wpinv_actions'));
126
+		add_action('init', array($this, 'maybe_do_authenticated_action'), 100);
127
+		add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), 11);
128
+		add_action('wp_footer', array($this, 'wp_footer'));
129
+		add_action('wp_head', array($this, 'wp_head'));
130
+		add_action('widgets_init', array($this, 'register_widgets'));
131
+		add_filter('wpseo_exclude_from_sitemap_by_post_ids', array($this, 'wpseo_exclude_from_sitemap_by_post_ids'));
132
+		add_filter('pre_get_posts', array(&$this, 'pre_get_posts'));
133
+
134
+		add_filter('query_vars', array($this, 'custom_query_vars'));
135
+        add_action('init', array($this, 'add_rewrite_rule'), 10, 0);
136
+		add_action('pre_get_posts', array($this, 'maybe_process_new_ipn'), 1);
137 137
 
138 138
 		// Fires after registering actions.
139
-		do_action( 'wpinv_actions', $this );
140
-		do_action( 'getpaid_actions', $this );
139
+		do_action('wpinv_actions', $this);
140
+		do_action('getpaid_actions', $this);
141 141
 
142 142
 	}
143 143
 
@@ -145,10 +145,10 @@  discard block
 block discarded – undo
145 145
 		/* Internationalize the text strings used. */
146 146
 		$this->load_textdomain();
147 147
 
148
-		do_action( 'wpinv_loaded' );
148
+		do_action('wpinv_loaded');
149 149
 
150 150
 		// Fix oxygen page builder conflict
151
-		if ( function_exists( 'ct_css_output' ) ) {
151
+		if (function_exists('ct_css_output')) {
152 152
 			wpinv_oxygen_fix_conflict();
153 153
 		}
154 154
 	}
@@ -169,7 +169,7 @@  discard block
 block discarded – undo
169 169
 		load_plugin_textdomain(
170 170
 			'invoicing',
171 171
 			false,
172
-			plugin_basename( dirname( WPINV_PLUGIN_FILE ) ) . '/languages/'
172
+			plugin_basename(dirname(WPINV_PLUGIN_FILE)) . '/languages/'
173 173
 		);
174 174
 
175 175
 	}
@@ -180,78 +180,78 @@  discard block
 block discarded – undo
180 180
 	public function includes() {
181 181
 
182 182
 		// Start with the settings.
183
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php' );
183
+		require_once(WPINV_PLUGIN_DIR . 'includes/admin/register-settings.php');
184 184
 
185 185
 		// Packages/libraries.
186
-		require_once( WPINV_PLUGIN_DIR . 'vendor/autoload.php' );
187
-		require_once( WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php' );
186
+		require_once(WPINV_PLUGIN_DIR . 'vendor/autoload.php');
187
+		require_once(WPINV_PLUGIN_DIR . 'vendor/ayecode/wp-ayecode-ui/ayecode-ui-loader.php');
188 188
 
189 189
 		// Load functions.
190
-		require_once( WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php' );
191
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php' );
192
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php' );
193
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php' );
194
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php' );
195
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php' );
196
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php' );
197
-		require_once( WPINV_PLUGIN_DIR . 'includes/invoice-functions.php' );
198
-		require_once( WPINV_PLUGIN_DIR . 'includes/subscription-functions.php' );
199
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php' );
200
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php' );
201
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php' );
202
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php' );
203
-		require_once( WPINV_PLUGIN_DIR . 'includes/user-functions.php' );
204
-		require_once( WPINV_PLUGIN_DIR . 'includes/error-functions.php' );
190
+		require_once(WPINV_PLUGIN_DIR . 'includes/deprecated-functions.php');
191
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-email-functions.php');
192
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-general-functions.php');
193
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-helper-functions.php');
194
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-tax-functions.php');
195
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-template-functions.php');
196
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-address-functions.php');
197
+		require_once(WPINV_PLUGIN_DIR . 'includes/invoice-functions.php');
198
+		require_once(WPINV_PLUGIN_DIR . 'includes/subscription-functions.php');
199
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-item-functions.php');
200
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-discount-functions.php');
201
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-gateway-functions.php');
202
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-payment-functions.php');
203
+		require_once(WPINV_PLUGIN_DIR . 'includes/user-functions.php');
204
+		require_once(WPINV_PLUGIN_DIR . 'includes/error-functions.php');
205 205
 
206 206
 		// Register autoloader.
207 207
 		try {
208
-			spl_autoload_register( array( $this, 'autoload' ), true );
209
-		} catch ( Exception $e ) {
210
-			wpinv_error_log( $e->getMessage(), '', __FILE__, 149, true );
208
+			spl_autoload_register(array($this, 'autoload'), true);
209
+		} catch (Exception $e) {
210
+			wpinv_error_log($e->getMessage(), '', __FILE__, 149, true);
211 211
 		}
212 212
 
213
-		require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php' );
214
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php' );
215
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php' );
216
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php' );
217
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php' );
218
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php' );
219
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php' );
220
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php' );
221
-		require_once( WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php' );
222
-		require_once( WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php' );
223
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php' );
224
-		require_once( WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php' );
225
-		require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php' );
226
-		require_once( WPINV_PLUGIN_DIR . 'widgets/checkout.php' );
227
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-history.php' );
228
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php' );
229
-		require_once( WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php' );
230
-		require_once( WPINV_PLUGIN_DIR . 'widgets/subscriptions.php' );
231
-		require_once( WPINV_PLUGIN_DIR . 'widgets/buy-item.php' );
232
-		require_once( WPINV_PLUGIN_DIR . 'widgets/getpaid.php' );
233
-		require_once( WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php' );
234
-
235
-		if ( is_admin() || ( defined( 'WP_CLI' ) && WP_CLI ) ) {
213
+		require_once(WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-session.php');
214
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-session-handler.php');
215
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-ajax.php');
216
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-api.php');
217
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-cache-helper.php');
218
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-db.php');
219
+		require_once(WPINV_PLUGIN_DIR . 'includes/admin/subscriptions.php');
220
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-subscriptions-db.php');
221
+		require_once(WPINV_PLUGIN_DIR . 'includes/wpinv-subscription.php');
222
+		require_once(WPINV_PLUGIN_DIR . 'includes/abstracts/abstract-wpinv-privacy.php');
223
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-privacy.php');
224
+		require_once(WPINV_PLUGIN_DIR . 'includes/libraries/class-ayecode-addons.php');
225
+		require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-addons.php');
226
+		require_once(WPINV_PLUGIN_DIR . 'widgets/checkout.php');
227
+		require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-history.php');
228
+		require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-receipt.php');
229
+		require_once(WPINV_PLUGIN_DIR . 'widgets/invoice-messages.php');
230
+		require_once(WPINV_PLUGIN_DIR . 'widgets/subscriptions.php');
231
+		require_once(WPINV_PLUGIN_DIR . 'widgets/buy-item.php');
232
+		require_once(WPINV_PLUGIN_DIR . 'widgets/getpaid.php');
233
+		require_once(WPINV_PLUGIN_DIR . 'includes/admin/admin-pages.php');
234
+
235
+		if (is_admin() || (defined('WP_CLI') && WP_CLI)) {
236 236
 			GetPaid_Post_Types_Admin::init();
237 237
 
238
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php' );
239
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php' );
240
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php' );
241
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php' );
242
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php' );
243
-			require_once( WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php' );
238
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/wpinv-admin-functions.php');
239
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-payment-form.php');
240
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/meta-boxes/class-mb-invoice-notes.php');
241
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-admin-menus.php');
242
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-wpinv-users.php');
243
+			require_once(WPINV_PLUGIN_DIR . 'includes/admin/class-getpaid-admin-profile.php');
244 244
 			// load the user class only on the users.php page
245 245
 			global $pagenow;
246
-			if($pagenow=='users.php'){
246
+			if ($pagenow == 'users.php') {
247 247
 				new WPInv_Admin_Users();
248 248
 			}
249 249
 		}
250 250
 
251 251
 		// Register cli commands
252
-		if ( defined( 'WP_CLI' ) && WP_CLI ) {
253
-			require_once( WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php' );
254
-			WP_CLI::add_command( 'invoicing', 'WPInv_CLI' );
252
+		if (defined('WP_CLI') && WP_CLI) {
253
+			require_once(WPINV_PLUGIN_DIR . 'includes/class-wpinv-cli.php');
254
+			WP_CLI::add_command('invoicing', 'WPInv_CLI');
255 255
 		}
256 256
 
257 257
 	}
@@ -264,21 +264,21 @@  discard block
 block discarded – undo
264 264
 	 * @since       1.0.19
265 265
 	 * @return      void
266 266
 	 */
267
-	public function autoload( $class_name ) {
267
+	public function autoload($class_name) {
268 268
 
269 269
 		// Normalize the class name...
270
-		$class_name  = strtolower( $class_name );
270
+		$class_name = strtolower($class_name);
271 271
 
272 272
 		// ... and make sure it is our class.
273
-		if ( false === strpos( $class_name, 'getpaid_' ) && false === strpos( $class_name, 'wpinv_' ) ) {
273
+		if (false === strpos($class_name, 'getpaid_') && false === strpos($class_name, 'wpinv_')) {
274 274
 			return;
275 275
 		}
276 276
 
277 277
 		// Next, prepare the file name from the class.
278
-		$file_name = 'class-' . str_replace( '_', '-', $class_name ) . '.php';
278
+		$file_name = 'class-' . str_replace('_', '-', $class_name) . '.php';
279 279
 
280 280
 		// Base path of the classes.
281
-		$plugin_path = untrailingslashit( WPINV_PLUGIN_DIR );
281
+		$plugin_path = untrailingslashit(WPINV_PLUGIN_DIR);
282 282
 
283 283
 		// And an array of possible locations in order of importance.
284 284
 		$locations = array(
@@ -293,10 +293,10 @@  discard block
 block discarded – undo
293 293
 			"$plugin_path/includes/admin/meta-boxes",
294 294
 		);
295 295
 
296
-		foreach ( apply_filters( 'getpaid_autoload_locations', $locations ) as $location ) {
296
+		foreach (apply_filters('getpaid_autoload_locations', $locations) as $location) {
297 297
 
298
-			if ( file_exists( trailingslashit( $location ) . $file_name ) ) {
299
-				include trailingslashit( $location ) . $file_name;
298
+			if (file_exists(trailingslashit($location) . $file_name)) {
299
+				include trailingslashit($location) . $file_name;
300 300
 				break;
301 301
 			}
302 302
 
@@ -310,7 +310,7 @@  discard block
 block discarded – undo
310 310
 	public function init() {
311 311
 
312 312
 		// Fires before getpaid inits.
313
-		do_action( 'before_getpaid_init', $this );
313
+		do_action('before_getpaid_init', $this);
314 314
 
315 315
 		// Maybe upgrade.
316 316
 		$this->maybe_upgrade_database();
@@ -327,17 +327,17 @@  discard block
 block discarded – undo
327 327
 			)
328 328
 		);
329 329
 
330
-		foreach ( $gateways as $id => $class ) {
331
-			$this->gateways[ $id ] = new $class();
330
+		foreach ($gateways as $id => $class) {
331
+			$this->gateways[$id] = new $class();
332 332
 		}
333 333
 
334
-		if ( 'yes' != get_option( 'wpinv_renamed_gateways' ) ) {
334
+		if ('yes' != get_option('wpinv_renamed_gateways')) {
335 335
 			GetPaid_Installer::rename_gateways_label();
336
-			update_option( 'wpinv_renamed_gateways', 'yes' );
336
+			update_option('wpinv_renamed_gateways', 'yes');
337 337
 		}
338 338
 
339 339
 		// Fires after getpaid inits.
340
-		do_action( 'getpaid_init', $this );
340
+		do_action('getpaid_init', $this);
341 341
 
342 342
 	}
343 343
 
@@ -347,14 +347,14 @@  discard block
 block discarded – undo
347 347
 	public function maybe_process_ipn() {
348 348
 
349 349
 		// Ensure that this is an IPN request.
350
-		if ( empty( $_GET['wpi-listener'] ) || 'IPN' !== $_GET['wpi-listener'] || empty( $_GET['wpi-gateway'] ) ) {
350
+		if (empty($_GET['wpi-listener']) || 'IPN' !== $_GET['wpi-listener'] || empty($_GET['wpi-gateway'])) {
351 351
 			return;
352 352
 		}
353 353
 
354
-		$gateway = wpinv_clean( $_GET['wpi-gateway'] );
354
+		$gateway = wpinv_clean($_GET['wpi-gateway']);
355 355
 
356
-		do_action( 'wpinv_verify_payment_ipn', $gateway );
357
-		do_action( "wpinv_verify_{$gateway}_ipn" );
356
+		do_action('wpinv_verify_payment_ipn', $gateway);
357
+		do_action("wpinv_verify_{$gateway}_ipn");
358 358
 		exit;
359 359
 
360 360
 	}
@@ -362,29 +362,29 @@  discard block
 block discarded – undo
362 362
 	public function enqueue_scripts() {
363 363
 
364 364
 		// Fires before adding scripts.
365
-		do_action( 'getpaid_enqueue_scripts' );
365
+		do_action('getpaid_enqueue_scripts');
366 366
 
367 367
 		$localize                         = array();
368
-		$localize['ajax_url']             = admin_url( 'admin-ajax.php' );
368
+		$localize['ajax_url']             = admin_url('admin-ajax.php');
369 369
 		$localize['thousands']            = wpinv_thousands_separator();
370 370
 		$localize['decimals']             = wpinv_decimal_separator();
371
-		$localize['nonce']                = wp_create_nonce( 'wpinv-nonce' );
372
-		$localize['txtComplete']          = __( 'Continue', 'invoicing' );
371
+		$localize['nonce']                = wp_create_nonce('wpinv-nonce');
372
+		$localize['txtComplete']          = __('Continue', 'invoicing');
373 373
 		$localize['UseTaxes']             = wpinv_use_taxes();
374
-		$localize['formNonce']            = wp_create_nonce( 'getpaid_form_nonce' );
375
-		$localize['loading']              = __( 'Loading...', 'invoicing' );
376
-		$localize['connectionError']      = __( 'Could not establish a connection to the server.', 'invoicing' );
374
+		$localize['formNonce']            = wp_create_nonce('getpaid_form_nonce');
375
+		$localize['loading']              = __('Loading...', 'invoicing');
376
+		$localize['connectionError']      = __('Could not establish a connection to the server.', 'invoicing');
377 377
 
378
-		$localize = apply_filters( 'wpinv_front_js_localize', $localize );
378
+		$localize = apply_filters('wpinv_front_js_localize', $localize);
379 379
 
380
-		$version = filemtime( WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js' );
381
-		wp_enqueue_script( 'wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array( 'jquery' ),  $version, true );
382
-		wp_localize_script( 'wpinv-front-script', 'WPInv', $localize );
380
+		$version = filemtime(WPINV_PLUGIN_DIR . 'assets/js/payment-forms.js');
381
+		wp_enqueue_script('wpinv-front-script', WPINV_PLUGIN_URL . 'assets/js/payment-forms.js', array('jquery'), $version, true);
382
+		wp_localize_script('wpinv-front-script', 'WPInv', $localize);
383 383
 	}
384 384
 
385 385
 	public function wpinv_actions() {
386
-		if ( isset( $_REQUEST['wpi_action'] ) ) {
387
-			do_action( 'wpinv_' . wpinv_sanitize_key( $_REQUEST['wpi_action'] ), $_REQUEST );
386
+		if (isset($_REQUEST['wpi_action'])) {
387
+			do_action('wpinv_' . wpinv_sanitize_key($_REQUEST['wpi_action']), $_REQUEST);
388 388
 		}
389 389
 	}
390 390
 
@@ -396,24 +396,24 @@  discard block
 block discarded – undo
396 396
      */
397 397
     public function maybe_do_authenticated_action() {
398 398
 
399
-		if ( isset( $_REQUEST['getpaid-action'] ) && isset( $_REQUEST['getpaid-nonce'] ) && wp_verify_nonce( $_REQUEST['getpaid-nonce'], 'getpaid-nonce' ) ) {
399
+		if (isset($_REQUEST['getpaid-action']) && isset($_REQUEST['getpaid-nonce']) && wp_verify_nonce($_REQUEST['getpaid-nonce'], 'getpaid-nonce')) {
400 400
 
401
-			$key  = sanitize_key( $_REQUEST['getpaid-action'] );
402
-			$data = wp_unslash( $_REQUEST );
403
-			if ( is_user_logged_in() ) {
404
-				do_action( "getpaid_authenticated_action_$key", $data );
401
+			$key  = sanitize_key($_REQUEST['getpaid-action']);
402
+			$data = wp_unslash($_REQUEST);
403
+			if (is_user_logged_in()) {
404
+				do_action("getpaid_authenticated_action_$key", $data);
405 405
 			}
406 406
 
407
-			do_action( "getpaid_unauthenticated_action_$key", $data );
407
+			do_action("getpaid_unauthenticated_action_$key", $data);
408 408
 
409 409
 		}
410 410
 
411 411
     }
412 412
 
413
-	public function pre_get_posts( $wp_query ) {
413
+	public function pre_get_posts($wp_query) {
414 414
 
415
-		if ( ! is_admin() && ! empty( $wp_query->query_vars['post_type'] ) && getpaid_is_invoice_post_type( $wp_query->query_vars['post_type'] ) && is_user_logged_in() && is_single() && $wp_query->is_main_query() ) {
416
-			$wp_query->query_vars['post_status'] = array_keys( wpinv_get_invoice_statuses( false, false, $wp_query->query_vars['post_type'] ) );
415
+		if (!is_admin() && !empty($wp_query->query_vars['post_type']) && getpaid_is_invoice_post_type($wp_query->query_vars['post_type']) && is_user_logged_in() && is_single() && $wp_query->is_main_query()) {
416
+			$wp_query->query_vars['post_status'] = array_keys(wpinv_get_invoice_statuses(false, false, $wp_query->query_vars['post_type']));
417 417
 		}
418 418
 
419 419
 		return $wp_query;
@@ -428,15 +428,15 @@  discard block
 block discarded – undo
428 428
 
429 429
 		// Currently, UX Builder does not work particulaly well with SuperDuper.
430 430
 		// So we disable our widgets when editing a page with UX Builder.
431
-		if ( function_exists( 'ux_builder_is_active' ) && ux_builder_is_active() ) {
431
+		if (function_exists('ux_builder_is_active') && ux_builder_is_active()) {
432 432
 			return;
433 433
 		}
434 434
 
435 435
 		$block_widget_init_screens = function_exists('sd_pagenow_exclude') ? sd_pagenow_exclude() : array();
436 436
 
437
-		if ( is_admin() && $pagenow && in_array($pagenow, $block_widget_init_screens)) {
437
+		if (is_admin() && $pagenow && in_array($pagenow, $block_widget_init_screens)) {
438 438
 			// don't initiate in these conditions.
439
-		}else{
439
+		} else {
440 440
 
441 441
 			$exclude = function_exists('sd_widget_exclude') ? sd_widget_exclude() : array();
442 442
 			$widgets = apply_filters(
@@ -452,10 +452,10 @@  discard block
 block discarded – undo
452 452
 				)
453 453
 			);
454 454
 
455
-			if( !empty($widgets) ){
456
-				foreach ( $widgets as $widget ) {
457
-					if(!in_array($widget,$exclude)){
458
-						register_widget( $widget );
455
+			if (!empty($widgets)) {
456
+				foreach ($widgets as $widget) {
457
+					if (!in_array($widget, $exclude)) {
458
+						register_widget($widget);
459 459
 					}
460 460
 				}
461 461
 			}
@@ -471,29 +471,29 @@  discard block
 block discarded – undo
471 471
 	 */
472 472
 	public function maybe_upgrade_database() {
473 473
 
474
-		$wpi_version = get_option( 'wpinv_version', 0 );
474
+		$wpi_version = get_option('wpinv_version', 0);
475 475
 
476
-		if ( $wpi_version == WPINV_VERSION ) {
476
+		if ($wpi_version == WPINV_VERSION) {
477 477
 			return;
478 478
 		}
479 479
 
480 480
 		$installer = new GetPaid_Installer();
481 481
 
482
-		if ( empty( $wpi_version ) ) {
483
-			return $installer->upgrade_db( 0 );
482
+		if (empty($wpi_version)) {
483
+			return $installer->upgrade_db(0);
484 484
 		}
485 485
 
486
-		$upgrades  = array(
486
+		$upgrades = array(
487 487
 			'0.0.5' => '004',
488 488
 			'1.0.3' => '102',
489 489
 			'2.0.0' => '118',
490 490
 			'2.0.8' => '207',
491 491
 		);
492 492
 
493
-		foreach ( $upgrades as $key => $method ) {
493
+		foreach ($upgrades as $key => $method) {
494 494
 
495
-			if ( version_compare( $wpi_version, $key, '<' ) ) {
496
-				return $installer->upgrade_db( $method );
495
+			if (version_compare($wpi_version, $key, '<')) {
496
+				return $installer->upgrade_db($method);
497 497
 			}
498 498
 
499 499
 		}
@@ -507,11 +507,11 @@  discard block
 block discarded – undo
507 507
 	 */
508 508
 	public function maybe_flush_permalinks() {
509 509
 
510
-		$flush = get_option( 'wpinv_flush_permalinks', 0 );
510
+		$flush = get_option('wpinv_flush_permalinks', 0);
511 511
 
512
-		if ( ! empty( $flush ) ) {
512
+		if (!empty($flush)) {
513 513
 			flush_rewrite_rules();
514
-			delete_option( 'wpinv_flush_permalinks' );
514
+			delete_option('wpinv_flush_permalinks');
515 515
 		}
516 516
 
517 517
 	}
@@ -522,10 +522,10 @@  discard block
 block discarded – undo
522 522
 	 * @since 1.0.19
523 523
 	 * @param int[] $excluded_posts_ids
524 524
 	 */
525
-	public function wpseo_exclude_from_sitemap_by_post_ids( $excluded_posts_ids ){
525
+	public function wpseo_exclude_from_sitemap_by_post_ids($excluded_posts_ids) {
526 526
 
527 527
 		// Ensure that we have an array.
528
-		if ( ! is_array( $excluded_posts_ids ) ) {
528
+		if (!is_array($excluded_posts_ids)) {
529 529
 			$excluded_posts_ids = array();
530 530
 		}
531 531
 
@@ -533,24 +533,24 @@  discard block
 block discarded – undo
533 533
 		$our_pages = array();
534 534
 
535 535
 		// Checkout page.
536
-		$our_pages[] = wpinv_get_option( 'checkout_page', false );
536
+		$our_pages[] = wpinv_get_option('checkout_page', false);
537 537
 
538 538
 		// Success page.
539
-		$our_pages[] = wpinv_get_option( 'success_page', false );
539
+		$our_pages[] = wpinv_get_option('success_page', false);
540 540
 
541 541
 		// Failure page.
542
-		$our_pages[] = wpinv_get_option( 'failure_page', false );
542
+		$our_pages[] = wpinv_get_option('failure_page', false);
543 543
 
544 544
 		// History page.
545
-		$our_pages[] = wpinv_get_option( 'invoice_history_page', false );
545
+		$our_pages[] = wpinv_get_option('invoice_history_page', false);
546 546
 
547 547
 		// Subscriptions page.
548
-		$our_pages[] = wpinv_get_option( 'invoice_subscription_page', false );
548
+		$our_pages[] = wpinv_get_option('invoice_subscription_page', false);
549 549
 
550
-		$our_pages   = array_map( 'intval', array_filter( $our_pages ) );
550
+		$our_pages   = array_map('intval', array_filter($our_pages));
551 551
 
552 552
 		$excluded_posts_ids = $excluded_posts_ids + $our_pages;
553
-		return array_unique( $excluded_posts_ids );
553
+		return array_unique($excluded_posts_ids);
554 554
 
555 555
 	}
556 556
 
@@ -560,7 +560,7 @@  discard block
 block discarded – undo
560 560
 	 * @since 2.0.0
561 561
 	 */
562 562
 	public function wp_footer() {
563
-		wpinv_get_template( 'frontend-footer.php' );
563
+		wpinv_get_template('frontend-footer.php');
564 564
 	}
565 565
 
566 566
 	/**
@@ -569,14 +569,14 @@  discard block
 block discarded – undo
569 569
 	 * @since 2.0.0
570 570
 	 */
571 571
 	public function wp_head() {
572
-		wpinv_get_template( 'frontend-head.php' );
572
+		wpinv_get_template('frontend-head.php');
573 573
 	}
574 574
 
575 575
 	/**
576 576
 	 * Custom query vars.
577 577
 	 *
578 578
 	 */
579
-	public function custom_query_vars( $vars ) {
579
+	public function custom_query_vars($vars) {
580 580
         $vars[] = 'getpaid-ipn';
581 581
         return $vars;
582 582
 	}
@@ -587,28 +587,28 @@  discard block
 block discarded – undo
587 587
 	 */
588 588
 	public function add_rewrite_rule() {
589 589
         $tag = 'getpaid-ipn';
590
-        add_rewrite_tag( "%$tag%", '([^&]+)' );
591
-        add_rewrite_rule( "^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]",'top' );
590
+        add_rewrite_tag("%$tag%", '([^&]+)');
591
+        add_rewrite_rule("^$tag/([^/]*)/?", "index.php?$tag=\$matches[1]", 'top');
592 592
 	}
593 593
 
594 594
 	/**
595 595
 	 * Processes non-query string ipns.
596 596
 	 *
597 597
 	 */
598
-	public function maybe_process_new_ipn( $query ) {
598
+	public function maybe_process_new_ipn($query) {
599 599
 
600
-        if ( is_admin() || ! $query->is_main_query() ) {
600
+        if (is_admin() || !$query->is_main_query()) {
601 601
             return;
602 602
         }
603 603
 
604
-		$gateway = get_query_var( 'getpaid-ipn' );
604
+		$gateway = get_query_var('getpaid-ipn');
605 605
 
606
-        if ( ! empty( $gateway ) ){
606
+        if (!empty($gateway)) {
607 607
 
608
-			$gateway = sanitize_text_field( $gateway );
608
+			$gateway = sanitize_text_field($gateway);
609 609
 			nocache_headers();
610
-			do_action( 'wpinv_verify_payment_ipn', $gateway );
611
-			do_action( "wpinv_verify_{$gateway}_ipn" );
610
+			do_action('wpinv_verify_payment_ipn', $gateway);
611
+			do_action("wpinv_verify_{$gateway}_ipn");
612 612
 			exit;
613 613
 
614 614
         }
Please login to merge, or discard this patch.
Braces   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -436,7 +436,7 @@
 block discarded – undo
436 436
 
437 437
 		if ( is_admin() && $pagenow && in_array($pagenow, $block_widget_init_screens)) {
438 438
 			// don't initiate in these conditions.
439
-		}else{
439
+		} else{
440 440
 
441 441
 			$exclude = function_exists('sd_widget_exclude') ? sd_widget_exclude() : array();
442 442
 			$widgets = apply_filters(
Please login to merge, or discard this patch.
includes/class-wpinv-invoice.php 2 patches
Indentation   +2546 added lines, -2546 removed lines patch added patch discarded remove patch
@@ -14,30 +14,30 @@  discard block
 block discarded – undo
14 14
 class WPInv_Invoice extends GetPaid_Data {
15 15
 
16 16
     /**
17
-	 * Which data store to load.
18
-	 *
19
-	 * @var string
20
-	 */
17
+     * Which data store to load.
18
+     *
19
+     * @var string
20
+     */
21 21
     protected $data_store_name = 'invoice';
22 22
 
23 23
     /**
24
-	 * This is the name of this object type.
25
-	 *
26
-	 * @var string
27
-	 */
24
+     * This is the name of this object type.
25
+     *
26
+     * @var string
27
+     */
28 28
     protected $object_type = 'invoice';
29 29
 
30 30
     /**
31
-	 * Item Data array. This is the core item data exposed in APIs.
32
-	 *
33
-	 * @since 1.0.19
34
-	 * @var array
35
-	 */
36
-	protected $data = array(
37
-		'parent_id'            => 0,
38
-		'status'               => 'wpi-pending',
39
-		'version'              => '',
40
-		'date_created'         => null,
31
+     * Item Data array. This is the core item data exposed in APIs.
32
+     *
33
+     * @since 1.0.19
34
+     * @var array
35
+     */
36
+    protected $data = array(
37
+        'parent_id'            => 0,
38
+        'status'               => 'wpi-pending',
39
+        'version'              => '',
40
+        'date_created'         => null,
41 41
         'date_modified'        => null,
42 42
         'due_date'             => null,
43 43
         'completed_date'       => null,
@@ -60,7 +60,7 @@  discard block
 block discarded – undo
60 60
         'state'                => null,
61 61
         'zip'                  => null,
62 62
         'company'              => null,
63
-		'company_id'           => null,
63
+        'company_id'           => null,
64 64
         'vat_number'           => null,
65 65
         'vat_rate'             => null,
66 66
         'address'              => null,
@@ -68,8 +68,8 @@  discard block
 block discarded – undo
68 68
         'subtotal'             => 0,
69 69
         'total_discount'       => 0,
70 70
         'total_tax'            => 0,
71
-		'total_fees'           => 0,
72
-		'total'                => 0,
71
+        'total_fees'           => 0,
72
+        'total'                => 0,
73 73
         'fees'                 => array(),
74 74
         'discounts'            => array(),
75 75
         'taxes'                => array(),
@@ -81,22 +81,22 @@  discard block
 block discarded – undo
81 81
         'transaction_id'       => '',
82 82
         'currency'             => '',
83 83
         'disable_taxes'        => false,
84
-		'subscription_id'      => null,
85
-		'remote_subscription_id' => null,
86
-		'is_viewed'            => false,
87
-		'email_cc'             => '',
88
-		'template'             => 'quantity', // hours, amount only
89
-		'created_via'          => null,
84
+        'subscription_id'      => null,
85
+        'remote_subscription_id' => null,
86
+        'is_viewed'            => false,
87
+        'email_cc'             => '',
88
+        'template'             => 'quantity', // hours, amount only
89
+        'created_via'          => null,
90 90
     );
91 91
 
92 92
     /**
93
-	 * Stores meta in cache for future reads.
94
-	 *
95
-	 * A group must be set to to enable caching.
96
-	 *
97
-	 * @var string
98
-	 */
99
-	protected $cache_group = 'getpaid_invoices';
93
+     * Stores meta in cache for future reads.
94
+     *
95
+     * A group must be set to to enable caching.
96
+     *
97
+     * @var string
98
+     */
99
+    protected $cache_group = 'getpaid_invoices';
100 100
 
101 101
     /**
102 102
      * Stores a reference to the original WP_Post object
@@ -110,111 +110,111 @@  discard block
 block discarded – undo
110 110
      *
111 111
      * @var int
112 112
      */
113
-	protected $recurring_item = null;
113
+    protected $recurring_item = null;
114 114
 
115
-	/**
115
+    /**
116 116
      * Stores an array of item totals.
117
-	 *
118
-	 * e.g $totals['discount'] = array(
119
-	 * 		'initial'   => 10,
120
-	 * 		'recurring' => 10,
121
-	 * )
117
+     *
118
+     * e.g $totals['discount'] = array(
119
+     * 		'initial'   => 10,
120
+     * 		'recurring' => 10,
121
+     * )
122 122
      *
123 123
      * @var array
124 124
      */
125
-	protected $totals = array();
125
+    protected $totals = array();
126 126
 
127
-	/**
127
+    /**
128 128
      * Tax rate.
129
-	 *
129
+     *
130 130
      * @var float
131 131
      */
132
-	protected $tax_rate = 0;
132
+    protected $tax_rate = 0;
133 133
 
134
-	/**
135
-	 * Stores the status transition information.
136
-	 *
137
-	 * @since 1.0.19
138
-	 * @var bool|array
139
-	 */
140
-	protected $status_transition = false;
134
+    /**
135
+     * Stores the status transition information.
136
+     *
137
+     * @since 1.0.19
138
+     * @var bool|array
139
+     */
140
+    protected $status_transition = false;
141 141
 
142 142
     /**
143
-	 * Get the invoice if ID is passed, otherwise the invoice is new and empty.
144
-	 *
145
-	 * @param  int|string|object|WPInv_Invoice|WPInv_Legacy_Invoice|WP_Post $invoice Invoice id, key, transaction id, number or object to read.
146
-	 */
143
+     * Get the invoice if ID is passed, otherwise the invoice is new and empty.
144
+     *
145
+     * @param  int|string|object|WPInv_Invoice|WPInv_Legacy_Invoice|WP_Post $invoice Invoice id, key, transaction id, number or object to read.
146
+     */
147 147
     public function __construct( $invoice = 0 ) {
148 148
 
149 149
         parent::__construct( $invoice );
150 150
 
151
-		if ( ! empty( $invoice ) && is_numeric( $invoice ) && getpaid_is_invoice_post_type( get_post_type( (int) $invoice ) ) ) {
152
-			$this->set_id( (int) $invoice );
153
-		} elseif ( $invoice instanceof self ) {
154
-			$this->set_id( $invoice->get_id() );
155
-		} elseif ( ! empty( $invoice->ID ) ) {
156
-			$this->set_id( $invoice->ID );
157
-		} elseif ( is_array( $invoice ) ) {
158
-			$this->set_props( $invoice );
159
-
160
-			if ( isset( $invoice['ID'] ) ) {
161
-				$this->set_id( $invoice['ID'] );
162
-			}
163
-
164
-		} elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'key' ) ) {
165
-			$this->set_id( $invoice_id );
166
-		} elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'number' ) ) {
167
-			$this->set_id( $invoice_id );
168
-		} elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'transaction_id' ) ) {
169
-			$this->set_id( $invoice_id );
170
-		} else {
171
-			$this->set_object_read( true );
172
-		}
151
+        if ( ! empty( $invoice ) && is_numeric( $invoice ) && getpaid_is_invoice_post_type( get_post_type( (int) $invoice ) ) ) {
152
+            $this->set_id( (int) $invoice );
153
+        } elseif ( $invoice instanceof self ) {
154
+            $this->set_id( $invoice->get_id() );
155
+        } elseif ( ! empty( $invoice->ID ) ) {
156
+            $this->set_id( $invoice->ID );
157
+        } elseif ( is_array( $invoice ) ) {
158
+            $this->set_props( $invoice );
159
+
160
+            if ( isset( $invoice['ID'] ) ) {
161
+                $this->set_id( $invoice['ID'] );
162
+            }
163
+
164
+        } elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'key' ) ) {
165
+            $this->set_id( $invoice_id );
166
+        } elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'number' ) ) {
167
+            $this->set_id( $invoice_id );
168
+        } elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'transaction_id' ) ) {
169
+            $this->set_id( $invoice_id );
170
+        } else {
171
+            $this->set_object_read( true );
172
+        }
173 173
 
174 174
         // Load the datastore.
175
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
175
+        $this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
176 176
 
177
-		if ( $this->get_id() > 0 ) {
177
+        if ( $this->get_id() > 0 ) {
178 178
             $this->post = get_post( $this->get_id() );
179 179
             $this->ID   = $this->get_id();
180
-			$this->data_store->read( $this );
180
+            $this->data_store->read( $this );
181 181
         }
182 182
 
183 183
     }
184 184
 
185 185
     /**
186
-	 * Given an invoice key/number, it returns its id.
187
-	 *
188
-	 *
189
-	 * @static
190
-	 * @param string $value The invoice key or number
191
-	 * @param string $field Either key, transaction_id or number.
192
-	 * @since 1.0.15
193
-	 * @return int
194
-	 */
195
-	public static function get_invoice_id_by_field( $value, $field = 'key' ) {
186
+     * Given an invoice key/number, it returns its id.
187
+     *
188
+     *
189
+     * @static
190
+     * @param string $value The invoice key or number
191
+     * @param string $field Either key, transaction_id or number.
192
+     * @since 1.0.15
193
+     * @return int
194
+     */
195
+    public static function get_invoice_id_by_field( $value, $field = 'key' ) {
196 196
         global $wpdb;
197 197
 
198
-		// Trim the value.
199
-		$value = trim( $value );
198
+        // Trim the value.
199
+        $value = trim( $value );
200 200
 
201
-		if ( empty( $value ) ) {
202
-			return 0;
203
-		}
201
+        if ( empty( $value ) ) {
202
+            return 0;
203
+        }
204 204
 
205 205
         // Valid fields.
206 206
         $fields = array( 'key', 'number', 'transaction_id' );
207 207
 
208
-		// Ensure a field has been passed.
209
-		if ( empty( $field ) || ! in_array( $field, $fields ) ) {
210
-			return 0;
211
-		}
208
+        // Ensure a field has been passed.
209
+        if ( empty( $field ) || ! in_array( $field, $fields ) ) {
210
+            return 0;
211
+        }
212 212
 
213
-		// Maybe retrieve from the cache.
214
-		$invoice_id   = wp_cache_get( $value, "getpaid_invoice_{$field}s_to_invoice_ids" );
215
-		if ( false !== $invoice_id ) {
216
-			return $invoice_id;
217
-		}
213
+        // Maybe retrieve from the cache.
214
+        $invoice_id   = wp_cache_get( $value, "getpaid_invoice_{$field}s_to_invoice_ids" );
215
+        if ( false !== $invoice_id ) {
216
+            return $invoice_id;
217
+        }
218 218
 
219 219
         // Fetch from the db.
220 220
         $table       = $wpdb->prefix . 'getpaid_invoices';
@@ -222,10 +222,10 @@  discard block
 block discarded – undo
222 222
             $wpdb->prepare( "SELECT `post_id` FROM $table WHERE `$field`=%s LIMIT 1", $value )
223 223
         );
224 224
 
225
-		// Update the cache with our data
226
-		wp_cache_set( $value, $invoice_id, "getpaid_invoice_{$field}s_to_invoice_ids" );
225
+        // Update the cache with our data
226
+        wp_cache_set( $value, $invoice_id, "getpaid_invoice_{$field}s_to_invoice_ids" );
227 227
 
228
-		return $invoice_id;
228
+        return $invoice_id;
229 229
     }
230 230
 
231 231
     /**
@@ -251,83 +251,83 @@  discard block
 block discarded – undo
251 251
     */
252 252
 
253 253
     /**
254
-	 * Get parent invoice ID.
255
-	 *
256
-	 * @since 1.0.19
257
-	 * @param  string $context View or edit context.
258
-	 * @return int
259
-	 */
260
-	public function get_parent_id( $context = 'view' ) {
261
-		return (int) $this->get_prop( 'parent_id', $context );
254
+     * Get parent invoice ID.
255
+     *
256
+     * @since 1.0.19
257
+     * @param  string $context View or edit context.
258
+     * @return int
259
+     */
260
+    public function get_parent_id( $context = 'view' ) {
261
+        return (int) $this->get_prop( 'parent_id', $context );
262 262
     }
263 263
 
264 264
     /**
265
-	 * Get parent invoice.
266
-	 *
267
-	 * @since 1.0.19
268
-	 * @return WPInv_Invoice
269
-	 */
265
+     * Get parent invoice.
266
+     *
267
+     * @since 1.0.19
268
+     * @return WPInv_Invoice
269
+     */
270 270
     public function get_parent_payment() {
271 271
         return new WPInv_Invoice( $this->get_parent_id() );
272 272
     }
273 273
 
274 274
     /**
275
-	 * Alias for self::get_parent_payment().
276
-	 *
277
-	 * @since 1.0.19
278
-	 * @return WPInv_Invoice
279
-	 */
275
+     * Alias for self::get_parent_payment().
276
+     *
277
+     * @since 1.0.19
278
+     * @return WPInv_Invoice
279
+     */
280 280
     public function get_parent() {
281 281
         return $this->get_parent_payment();
282 282
     }
283 283
 
284 284
     /**
285
-	 * Get invoice status.
286
-	 *
287
-	 * @since 1.0.19
288
-	 * @param  string $context View or edit context.
289
-	 * @return string
290
-	 */
291
-	public function get_status( $context = 'view' ) {
292
-		return $this->get_prop( 'status', $context );
293
-	}
285
+     * Get invoice status.
286
+     *
287
+     * @since 1.0.19
288
+     * @param  string $context View or edit context.
289
+     * @return string
290
+     */
291
+    public function get_status( $context = 'view' ) {
292
+        return $this->get_prop( 'status', $context );
293
+    }
294 294
 	
295
-	/**
296
-	 * Retrieves an array of possible invoice statuses.
297
-	 *
298
-	 * @since 1.0.19
299
-	 * @return array
300
-	 */
301
-	public function get_all_statuses() {
302
-		return wpinv_get_invoice_statuses( true, true, $this );
303
-    }
304
-
305
-    /**
306
-	 * Get invoice status nice name.
307
-	 *
308
-	 * @since 1.0.19
309
-	 * @return string
310
-	 */
295
+    /**
296
+     * Retrieves an array of possible invoice statuses.
297
+     *
298
+     * @since 1.0.19
299
+     * @return array
300
+     */
301
+    public function get_all_statuses() {
302
+        return wpinv_get_invoice_statuses( true, true, $this );
303
+    }
304
+
305
+    /**
306
+     * Get invoice status nice name.
307
+     *
308
+     * @since 1.0.19
309
+     * @return string
310
+     */
311 311
     public function get_status_nicename() {
312
-		$statuses = $this->get_all_statuses();
312
+        $statuses = $this->get_all_statuses();
313 313
 
314 314
         $status = isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : $this->get_status();
315 315
 
316 316
         return apply_filters( 'wpinv_get_invoice_status_nicename', $status, $this );
317 317
     }
318 318
 
319
-	/**
320
-	 * Retrieves the invoice status class
321
-	 *
322
-	 * @since  1.0.19
323
-	 * @return string
324
-	 */
325
-	public function get_status_class() {
326
-		$statuses = getpaid_get_invoice_status_classes();
327
-		return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'badge-dark';
328
-	}
319
+    /**
320
+     * Retrieves the invoice status class
321
+     *
322
+     * @since  1.0.19
323
+     * @return string
324
+     */
325
+    public function get_status_class() {
326
+        $statuses = getpaid_get_invoice_status_classes();
327
+        return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'badge-dark';
328
+    }
329 329
 
330
-	/**
330
+    /**
331 331
      * Retrieves the invoice status label html
332 332
      *
333 333
      * @since  1.0.0
@@ -335,263 +335,263 @@  discard block
 block discarded – undo
335 335
      */
336 336
     public function get_status_label_html() {
337 337
 
338
-		$status_label = sanitize_text_field( $this->get_status_nicename() );
339
-		$status       = sanitize_html_class( $this->get_status() );
340
-		$class        = esc_attr( $this->get_status_class() );
338
+        $status_label = sanitize_text_field( $this->get_status_nicename() );
339
+        $status       = sanitize_html_class( $this->get_status() );
340
+        $class        = esc_attr( $this->get_status_class() );
341 341
 
342
-		return "<span class='bsui'><span class='badge $class $status'>$status_label</span></span>";
343
-	}
342
+        return "<span class='bsui'><span class='badge $class $status'>$status_label</span></span>";
343
+    }
344 344
 
345 345
     /**
346
-	 * Get plugin version when the invoice was created.
347
-	 *
348
-	 * @since 1.0.19
349
-	 * @param  string $context View or edit context.
350
-	 * @return string
351
-	 */
352
-	public function get_version( $context = 'view' ) {
353
-		return $this->get_prop( 'version', $context );
354
-	}
346
+     * Get plugin version when the invoice was created.
347
+     *
348
+     * @since 1.0.19
349
+     * @param  string $context View or edit context.
350
+     * @return string
351
+     */
352
+    public function get_version( $context = 'view' ) {
353
+        return $this->get_prop( 'version', $context );
354
+    }
355 355
 
356
-	/**
357
-	 * @deprecated
358
-	 */
359
-	public function get_invoice_date( $format = true ) {
360
-		$date      = getpaid_format_date( $this->get_date_completed() );
361
-		$date      = empty( $date ) ? $this->get_date_created() : $this->get_date_completed();
362
-		$formatted = getpaid_format_date( $date );
356
+    /**
357
+     * @deprecated
358
+     */
359
+    public function get_invoice_date( $format = true ) {
360
+        $date      = getpaid_format_date( $this->get_date_completed() );
361
+        $date      = empty( $date ) ? $this->get_date_created() : $this->get_date_completed();
362
+        $formatted = getpaid_format_date( $date );
363 363
 
364
-		if ( $format ) {
365
-			return $formatted;
366
-		}
364
+        if ( $format ) {
365
+            return $formatted;
366
+        }
367 367
 
368
-		return empty( $formatted ) ? '' : $date;
368
+        return empty( $formatted ) ? '' : $date;
369 369
 
370 370
     }
371 371
 
372 372
     /**
373
-	 * Get date when the invoice was created.
374
-	 *
375
-	 * @since 1.0.19
376
-	 * @param  string $context View or edit context.
377
-	 * @return string
378
-	 */
379
-	public function get_date_created( $context = 'view' ) {
380
-		return $this->get_prop( 'date_created', $context );
381
-	}
373
+     * Get date when the invoice was created.
374
+     *
375
+     * @since 1.0.19
376
+     * @param  string $context View or edit context.
377
+     * @return string
378
+     */
379
+    public function get_date_created( $context = 'view' ) {
380
+        return $this->get_prop( 'date_created', $context );
381
+    }
382 382
 	
383
-	/**
384
-	 * Alias for self::get_date_created().
385
-	 *
386
-	 * @since 1.0.19
387
-	 * @param  string $context View or edit context.
388
-	 * @return string
389
-	 */
390
-	public function get_created_date( $context = 'view' ) {
391
-		return $this->get_date_created( $context );
392
-    }
393
-
394
-    /**
395
-	 * Get GMT date when the invoice was created.
396
-	 *
397
-	 * @since 1.0.19
398
-	 * @param  string $context View or edit context.
399
-	 * @return string
400
-	 */
401
-	public function get_date_created_gmt( $context = 'view' ) {
383
+    /**
384
+     * Alias for self::get_date_created().
385
+     *
386
+     * @since 1.0.19
387
+     * @param  string $context View or edit context.
388
+     * @return string
389
+     */
390
+    public function get_created_date( $context = 'view' ) {
391
+        return $this->get_date_created( $context );
392
+    }
393
+
394
+    /**
395
+     * Get GMT date when the invoice was created.
396
+     *
397
+     * @since 1.0.19
398
+     * @param  string $context View or edit context.
399
+     * @return string
400
+     */
401
+    public function get_date_created_gmt( $context = 'view' ) {
402 402
         $date = $this->get_date_created( $context );
403 403
 
404 404
         if ( $date ) {
405 405
             $date = get_gmt_from_date( $date );
406 406
         }
407
-		return $date;
407
+        return $date;
408 408
     }
409 409
 
410 410
     /**
411
-	 * Get date when the invoice was last modified.
412
-	 *
413
-	 * @since 1.0.19
414
-	 * @param  string $context View or edit context.
415
-	 * @return string
416
-	 */
417
-	public function get_date_modified( $context = 'view' ) {
418
-		return $this->get_prop( 'date_modified', $context );
419
-	}
411
+     * Get date when the invoice was last modified.
412
+     *
413
+     * @since 1.0.19
414
+     * @param  string $context View or edit context.
415
+     * @return string
416
+     */
417
+    public function get_date_modified( $context = 'view' ) {
418
+        return $this->get_prop( 'date_modified', $context );
419
+    }
420 420
 
421
-	/**
422
-	 * Alias for self::get_date_modified().
423
-	 *
424
-	 * @since 1.0.19
425
-	 * @param  string $context View or edit context.
426
-	 * @return string
427
-	 */
428
-	public function get_modified_date( $context = 'view' ) {
429
-		return $this->get_date_modified( $context );
421
+    /**
422
+     * Alias for self::get_date_modified().
423
+     *
424
+     * @since 1.0.19
425
+     * @param  string $context View or edit context.
426
+     * @return string
427
+     */
428
+    public function get_modified_date( $context = 'view' ) {
429
+        return $this->get_date_modified( $context );
430 430
     }
431 431
 
432 432
     /**
433
-	 * Get GMT date when the invoice was last modified.
434
-	 *
435
-	 * @since 1.0.19
436
-	 * @param  string $context View or edit context.
437
-	 * @return string
438
-	 */
439
-	public function get_date_modified_gmt( $context = 'view' ) {
433
+     * Get GMT date when the invoice was last modified.
434
+     *
435
+     * @since 1.0.19
436
+     * @param  string $context View or edit context.
437
+     * @return string
438
+     */
439
+    public function get_date_modified_gmt( $context = 'view' ) {
440 440
         $date = $this->get_date_modified( $context );
441 441
 
442 442
         if ( $date ) {
443 443
             $date = get_gmt_from_date( $date );
444 444
         }
445
-		return $date;
445
+        return $date;
446 446
     }
447 447
 
448 448
     /**
449
-	 * Get the invoice due date.
450
-	 *
451
-	 * @since 1.0.19
452
-	 * @param  string $context View or edit context.
453
-	 * @return string
454
-	 */
455
-	public function get_due_date( $context = 'view' ) {
456
-		return $this->get_prop( 'due_date', $context );
449
+     * Get the invoice due date.
450
+     *
451
+     * @since 1.0.19
452
+     * @param  string $context View or edit context.
453
+     * @return string
454
+     */
455
+    public function get_due_date( $context = 'view' ) {
456
+        return $this->get_prop( 'due_date', $context );
457 457
     }
458 458
 
459 459
     /**
460
-	 * Alias for self::get_due_date().
461
-	 *
462
-	 * @since 1.0.19
463
-	 * @param  string $context View or edit context.
464
-	 * @return string
465
-	 */
466
-	public function get_date_due( $context = 'view' ) {
467
-		return $this->get_due_date( $context );
460
+     * Alias for self::get_due_date().
461
+     *
462
+     * @since 1.0.19
463
+     * @param  string $context View or edit context.
464
+     * @return string
465
+     */
466
+    public function get_date_due( $context = 'view' ) {
467
+        return $this->get_due_date( $context );
468 468
     }
469 469
 
470 470
     /**
471
-	 * Get the invoice GMT due date.
472
-	 *
473
-	 * @since 1.0.19
474
-	 * @param  string $context View or edit context.
475
-	 * @return string
476
-	 */
477
-	public function get_due_date_gmt( $context = 'view' ) {
471
+     * Get the invoice GMT due date.
472
+     *
473
+     * @since 1.0.19
474
+     * @param  string $context View or edit context.
475
+     * @return string
476
+     */
477
+    public function get_due_date_gmt( $context = 'view' ) {
478 478
         $date = $this->get_due_date( $context );
479 479
 
480 480
         if ( $date ) {
481 481
             $date = get_gmt_from_date( $date );
482 482
         }
483
-		return $date;
483
+        return $date;
484 484
     }
485 485
 
486 486
     /**
487
-	 * Alias for self::get_due_date_gmt().
488
-	 *
489
-	 * @since 1.0.19
490
-	 * @param  string $context View or edit context.
491
-	 * @return string
492
-	 */
493
-	public function get_gmt_date_due( $context = 'view' ) {
494
-		return $this->get_due_date_gmt( $context );
487
+     * Alias for self::get_due_date_gmt().
488
+     *
489
+     * @since 1.0.19
490
+     * @param  string $context View or edit context.
491
+     * @return string
492
+     */
493
+    public function get_gmt_date_due( $context = 'view' ) {
494
+        return $this->get_due_date_gmt( $context );
495 495
     }
496 496
 
497 497
     /**
498
-	 * Get date when the invoice was completed.
499
-	 *
500
-	 * @since 1.0.19
501
-	 * @param  string $context View or edit context.
502
-	 * @return string
503
-	 */
504
-	public function get_completed_date( $context = 'view' ) {
505
-		return $this->get_prop( 'completed_date', $context );
498
+     * Get date when the invoice was completed.
499
+     *
500
+     * @since 1.0.19
501
+     * @param  string $context View or edit context.
502
+     * @return string
503
+     */
504
+    public function get_completed_date( $context = 'view' ) {
505
+        return $this->get_prop( 'completed_date', $context );
506 506
     }
507 507
 
508 508
     /**
509
-	 * Alias for self::get_completed_date().
510
-	 *
511
-	 * @since 1.0.19
512
-	 * @param  string $context View or edit context.
513
-	 * @return string
514
-	 */
515
-	public function get_date_completed( $context = 'view' ) {
516
-		return $this->get_completed_date( $context );
509
+     * Alias for self::get_completed_date().
510
+     *
511
+     * @since 1.0.19
512
+     * @param  string $context View or edit context.
513
+     * @return string
514
+     */
515
+    public function get_date_completed( $context = 'view' ) {
516
+        return $this->get_completed_date( $context );
517 517
     }
518 518
 
519 519
     /**
520
-	 * Get GMT date when the invoice was was completed.
521
-	 *
522
-	 * @since 1.0.19
523
-	 * @param  string $context View or edit context.
524
-	 * @return string
525
-	 */
526
-	public function get_completed_date_gmt( $context = 'view' ) {
520
+     * Get GMT date when the invoice was was completed.
521
+     *
522
+     * @since 1.0.19
523
+     * @param  string $context View or edit context.
524
+     * @return string
525
+     */
526
+    public function get_completed_date_gmt( $context = 'view' ) {
527 527
         $date = $this->get_completed_date( $context );
528 528
 
529 529
         if ( $date ) {
530 530
             $date = get_gmt_from_date( $date );
531 531
         }
532
-		return $date;
532
+        return $date;
533 533
     }
534 534
 
535 535
     /**
536
-	 * Alias for self::get_completed_date_gmt().
537
-	 *
538
-	 * @since 1.0.19
539
-	 * @param  string $context View or edit context.
540
-	 * @return string
541
-	 */
542
-	public function get_gmt_completed_date( $context = 'view' ) {
543
-		return $this->get_completed_date_gmt( $context );
536
+     * Alias for self::get_completed_date_gmt().
537
+     *
538
+     * @since 1.0.19
539
+     * @param  string $context View or edit context.
540
+     * @return string
541
+     */
542
+    public function get_gmt_completed_date( $context = 'view' ) {
543
+        return $this->get_completed_date_gmt( $context );
544 544
     }
545 545
 
546 546
     /**
547
-	 * Get the invoice number.
548
-	 *
549
-	 * @since 1.0.19
550
-	 * @param  string $context View or edit context.
551
-	 * @return string
552
-	 */
553
-	public function get_number( $context = 'view' ) {
554
-		$number = $this->get_prop( 'number', $context );
547
+     * Get the invoice number.
548
+     *
549
+     * @since 1.0.19
550
+     * @param  string $context View or edit context.
551
+     * @return string
552
+     */
553
+    public function get_number( $context = 'view' ) {
554
+        $number = $this->get_prop( 'number', $context );
555 555
 
556
-		if ( empty( $number ) ) {
557
-			$number = $this->generate_number();
558
-			$this->set_number( $this->generate_number() );
559
-		}
556
+        if ( empty( $number ) ) {
557
+            $number = $this->generate_number();
558
+            $this->set_number( $this->generate_number() );
559
+        }
560 560
 
561
-		return $number;
561
+        return $number;
562 562
     }
563 563
 
564
-	/**
565
-	 * Set the invoice number.
566
-	 *
567
-	 * @since 1.0.19
568
-	 */
569
-	public function maybe_set_number() {
564
+    /**
565
+     * Set the invoice number.
566
+     *
567
+     * @since 1.0.19
568
+     */
569
+    public function maybe_set_number() {
570 570
         $number = $this->get_number();
571 571
 
572 572
         if ( empty( $number ) || $this->get_id() == $number ) {
573
-			$this->set_number( $this->generate_number() );
573
+            $this->set_number( $this->generate_number() );
574 574
         }
575 575
 
576
-	}
576
+    }
577 577
 
578 578
     /**
579
-	 * Get the invoice key.
580
-	 *
581
-	 * @since 1.0.19
582
-	 * @param  string $context View or edit context.
583
-	 * @return string
584
-	 */
585
-	public function get_key( $context = 'view' ) {
579
+     * Get the invoice key.
580
+     *
581
+     * @since 1.0.19
582
+     * @param  string $context View or edit context.
583
+     * @return string
584
+     */
585
+    public function get_key( $context = 'view' ) {
586 586
         return $this->get_prop( 'key', $context );
587
-	}
588
-
589
-	/**
590
-	 * Set the invoice key.
591
-	 *
592
-	 * @since 1.0.19
593
-	 */
594
-	public function maybe_set_key() {
587
+    }
588
+
589
+    /**
590
+     * Set the invoice key.
591
+     *
592
+     * @since 1.0.19
593
+     */
594
+    public function maybe_set_key() {
595 595
         $key = $this->get_key();
596 596
 
597 597
         if ( empty( $key ) ) {
@@ -602,140 +602,140 @@  discard block
 block discarded – undo
602 602
     }
603 603
 
604 604
     /**
605
-	 * Get the invoice type.
606
-	 *
607
-	 * @since 1.0.19
608
-	 * @param  string $context View or edit context.
609
-	 * @return string
610
-	 */
611
-	public function get_type( $context = 'view' ) {
605
+     * Get the invoice type.
606
+     *
607
+     * @since 1.0.19
608
+     * @param  string $context View or edit context.
609
+     * @return string
610
+     */
611
+    public function get_type( $context = 'view' ) {
612 612
         return $this->get_prop( 'type', $context );
613
-	}
614
-
615
-	/**
616
-	 * Returns the post type name.
617
-	 *
618
-	 * @since 1.0.19
619
-	 * @return string
620
-	 */
621
-	public function get_invoice_quote_type() {
613
+    }
614
+
615
+    /**
616
+     * Returns the post type name.
617
+     *
618
+     * @since 1.0.19
619
+     * @return string
620
+     */
621
+    public function get_invoice_quote_type() {
622 622
         return getpaid_get_post_type_label( $this->get_post_type(), false );
623 623
     }
624 624
 
625 625
     /**
626
-	 * Get the invoice post type label.
627
-	 *
628
-	 * @since 1.0.19
629
-	 * @param  string $context View or edit context.
630
-	 * @return string
631
-	 */
632
-	public function get_label( $context = 'view' ) {
626
+     * Get the invoice post type label.
627
+     *
628
+     * @since 1.0.19
629
+     * @param  string $context View or edit context.
630
+     * @return string
631
+     */
632
+    public function get_label( $context = 'view' ) {
633 633
         return getpaid_get_post_type_label( $this->get_post_type( $context ), false );
634
-	}
635
-
636
-	/**
637
-	 * Get the invoice post type.
638
-	 *
639
-	 * @since 1.0.19
640
-	 * @param  string $context View or edit context.
641
-	 * @return string
642
-	 */
643
-	public function get_post_type( $context = 'view' ) {
634
+    }
635
+
636
+    /**
637
+     * Get the invoice post type.
638
+     *
639
+     * @since 1.0.19
640
+     * @param  string $context View or edit context.
641
+     * @return string
642
+     */
643
+    public function get_post_type( $context = 'view' ) {
644 644
         return $this->get_prop( 'post_type', $context );
645 645
     }
646 646
 
647 647
     /**
648
-	 * Get the invoice mode.
649
-	 *
650
-	 * @since 1.0.19
651
-	 * @param  string $context View or edit context.
652
-	 * @return string
653
-	 */
654
-	public function get_mode( $context = 'view' ) {
648
+     * Get the invoice mode.
649
+     *
650
+     * @since 1.0.19
651
+     * @param  string $context View or edit context.
652
+     * @return string
653
+     */
654
+    public function get_mode( $context = 'view' ) {
655 655
         return $this->get_prop( 'mode', $context );
656 656
     }
657 657
 
658 658
     /**
659
-	 * Get the invoice path.
660
-	 *
661
-	 * @since 1.0.19
662
-	 * @param  string $context View or edit context.
663
-	 * @return string
664
-	 */
665
-	public function get_path( $context = 'view' ) {
659
+     * Get the invoice path.
660
+     *
661
+     * @since 1.0.19
662
+     * @param  string $context View or edit context.
663
+     * @return string
664
+     */
665
+    public function get_path( $context = 'view' ) {
666 666
         $path   = $this->get_prop( 'path', $context );
667
-		$prefix = $this->get_type();
667
+        $prefix = $this->get_type();
668 668
 
669
-		if ( 0 !== strpos( $path, $prefix ) ) {
670
-			$path = sanitize_title(  $prefix . '-' . $this->get_id()  );
671
-			$this->set_path( $path );
672
-		}
669
+        if ( 0 !== strpos( $path, $prefix ) ) {
670
+            $path = sanitize_title(  $prefix . '-' . $this->get_id()  );
671
+            $this->set_path( $path );
672
+        }
673 673
 
674
-		return $path;
674
+        return $path;
675 675
     }
676 676
 
677 677
     /**
678
-	 * Get the invoice name/title.
679
-	 *
680
-	 * @since 1.0.19
681
-	 * @param  string $context View or edit context.
682
-	 * @return string
683
-	 */
684
-	public function get_name( $context = 'view' ) {
678
+     * Get the invoice name/title.
679
+     *
680
+     * @since 1.0.19
681
+     * @param  string $context View or edit context.
682
+     * @return string
683
+     */
684
+    public function get_name( $context = 'view' ) {
685 685
         return $this->get_prop( 'title', $context );
686 686
     }
687 687
 
688 688
     /**
689
-	 * Alias of self::get_name().
690
-	 *
691
-	 * @since 1.0.19
692
-	 * @param  string $context View or edit context.
693
-	 * @return string
694
-	 */
695
-	public function get_title( $context = 'view' ) {
696
-		return $this->get_name( $context );
689
+     * Alias of self::get_name().
690
+     *
691
+     * @since 1.0.19
692
+     * @param  string $context View or edit context.
693
+     * @return string
694
+     */
695
+    public function get_title( $context = 'view' ) {
696
+        return $this->get_name( $context );
697 697
     }
698 698
 
699 699
     /**
700
-	 * Get the invoice description.
701
-	 *
702
-	 * @since 1.0.19
703
-	 * @param  string $context View or edit context.
704
-	 * @return string
705
-	 */
706
-	public function get_description( $context = 'view' ) {
707
-		return $this->get_prop( 'description', $context );
700
+     * Get the invoice description.
701
+     *
702
+     * @since 1.0.19
703
+     * @param  string $context View or edit context.
704
+     * @return string
705
+     */
706
+    public function get_description( $context = 'view' ) {
707
+        return $this->get_prop( 'description', $context );
708 708
     }
709 709
 
710 710
     /**
711
-	 * Alias of self::get_description().
712
-	 *
713
-	 * @since 1.0.19
714
-	 * @param  string $context View or edit context.
715
-	 * @return string
716
-	 */
717
-	public function get_excerpt( $context = 'view' ) {
718
-		return $this->get_description( $context );
711
+     * Alias of self::get_description().
712
+     *
713
+     * @since 1.0.19
714
+     * @param  string $context View or edit context.
715
+     * @return string
716
+     */
717
+    public function get_excerpt( $context = 'view' ) {
718
+        return $this->get_description( $context );
719 719
     }
720 720
 
721 721
     /**
722
-	 * Alias of self::get_description().
723
-	 *
724
-	 * @since 1.0.19
725
-	 * @param  string $context View or edit context.
726
-	 * @return string
727
-	 */
728
-	public function get_summary( $context = 'view' ) {
729
-		return $this->get_description( $context );
722
+     * Alias of self::get_description().
723
+     *
724
+     * @since 1.0.19
725
+     * @param  string $context View or edit context.
726
+     * @return string
727
+     */
728
+    public function get_summary( $context = 'view' ) {
729
+        return $this->get_description( $context );
730 730
     }
731 731
 
732 732
     /**
733
-	 * Returns the user info.
734
-	 *
735
-	 * @since 1.0.19
733
+     * Returns the user info.
734
+     *
735
+     * @since 1.0.19
736 736
      * @param  string $context View or edit context.
737
-	 * @return array
738
-	 */
737
+     * @return array
738
+     */
739 739
     public function get_user_info( $context = 'view' ) {
740 740
 
741 741
         $user_info = array(
@@ -750,630 +750,630 @@  discard block
 block discarded – undo
750 750
             'state'      => $this->get_state( $context ),
751 751
             'zip'        => $this->get_zip( $context ),
752 752
             'company'    => $this->get_company( $context ),
753
-			'company_id' => $this->get_company_id( $context ),
753
+            'company_id' => $this->get_company_id( $context ),
754 754
             'vat_number' => $this->get_vat_number( $context ),
755 755
             'discount'   => $this->get_discount_code( $context ),
756
-		);
756
+        );
757 757
 
758
-		return apply_filters( 'wpinv_user_info', $user_info, $this->get_id(), $this );
758
+        return apply_filters( 'wpinv_user_info', $user_info, $this->get_id(), $this );
759 759
 
760 760
     }
761 761
 
762 762
     /**
763
-	 * Get the customer id.
764
-	 *
765
-	 * @since 1.0.19
766
-	 * @param  string $context View or edit context.
767
-	 * @return int
768
-	 */
769
-	public function get_author( $context = 'view' ) {
770
-		return (int) $this->get_prop( 'author', $context );
763
+     * Get the customer id.
764
+     *
765
+     * @since 1.0.19
766
+     * @param  string $context View or edit context.
767
+     * @return int
768
+     */
769
+    public function get_author( $context = 'view' ) {
770
+        return (int) $this->get_prop( 'author', $context );
771 771
     }
772 772
 
773 773
     /**
774
-	 * Alias of self::get_author().
775
-	 *
776
-	 * @since 1.0.19
777
-	 * @param  string $context View or edit context.
778
-	 * @return int
779
-	 */
780
-	public function get_user_id( $context = 'view' ) {
781
-		return $this->get_author( $context );
774
+     * Alias of self::get_author().
775
+     *
776
+     * @since 1.0.19
777
+     * @param  string $context View or edit context.
778
+     * @return int
779
+     */
780
+    public function get_user_id( $context = 'view' ) {
781
+        return $this->get_author( $context );
782 782
     }
783 783
 
784
-     /**
785
-	 * Alias of self::get_author().
786
-	 *
787
-	 * @since 1.0.19
788
-	 * @param  string $context View or edit context.
789
-	 * @return int
790
-	 */
791
-	public function get_customer_id( $context = 'view' ) {
792
-		return $this->get_author( $context );
784
+        /**
785
+         * Alias of self::get_author().
786
+         *
787
+         * @since 1.0.19
788
+         * @param  string $context View or edit context.
789
+         * @return int
790
+         */
791
+    public function get_customer_id( $context = 'view' ) {
792
+        return $this->get_author( $context );
793 793
     }
794 794
 
795 795
     /**
796
-	 * Get the customer's ip.
797
-	 *
798
-	 * @since 1.0.19
799
-	 * @param  string $context View or edit context.
800
-	 * @return string
801
-	 */
802
-	public function get_ip( $context = 'view' ) {
803
-		return $this->get_prop( 'user_ip', $context );
796
+     * Get the customer's ip.
797
+     *
798
+     * @since 1.0.19
799
+     * @param  string $context View or edit context.
800
+     * @return string
801
+     */
802
+    public function get_ip( $context = 'view' ) {
803
+        return $this->get_prop( 'user_ip', $context );
804 804
     }
805 805
 
806 806
     /**
807
-	 * Alias of self::get_ip().
808
-	 *
809
-	 * @since 1.0.19
810
-	 * @param  string $context View or edit context.
811
-	 * @return string
812
-	 */
813
-	public function get_user_ip( $context = 'view' ) {
814
-		return $this->get_ip( $context );
807
+     * Alias of self::get_ip().
808
+     *
809
+     * @since 1.0.19
810
+     * @param  string $context View or edit context.
811
+     * @return string
812
+     */
813
+    public function get_user_ip( $context = 'view' ) {
814
+        return $this->get_ip( $context );
815 815
     }
816 816
 
817
-     /**
818
-	 * Alias of self::get_ip().
819
-	 *
820
-	 * @since 1.0.19
821
-	 * @param  string $context View or edit context.
822
-	 * @return string
823
-	 */
824
-	public function get_customer_ip( $context = 'view' ) {
825
-		return $this->get_ip( $context );
817
+        /**
818
+         * Alias of self::get_ip().
819
+         *
820
+         * @since 1.0.19
821
+         * @param  string $context View or edit context.
822
+         * @return string
823
+         */
824
+    public function get_customer_ip( $context = 'view' ) {
825
+        return $this->get_ip( $context );
826 826
     }
827 827
 
828 828
     /**
829
-	 * Get the customer's first name.
830
-	 *
831
-	 * @since 1.0.19
832
-	 * @param  string $context View or edit context.
833
-	 * @return string
834
-	 */
835
-	public function get_first_name( $context = 'view' ) {
836
-		return $this->get_prop( 'first_name', $context );
829
+     * Get the customer's first name.
830
+     *
831
+     * @since 1.0.19
832
+     * @param  string $context View or edit context.
833
+     * @return string
834
+     */
835
+    public function get_first_name( $context = 'view' ) {
836
+        return $this->get_prop( 'first_name', $context );
837 837
     }
838 838
 
839 839
     /**
840
-	 * Alias of self::get_first_name().
841
-	 *
842
-	 * @since 1.0.19
843
-	 * @param  string $context View or edit context.
844
-	 * @return string
845
-	 */
846
-	public function get_user_first_name( $context = 'view' ) {
847
-		return $this->get_first_name( $context );
840
+     * Alias of self::get_first_name().
841
+     *
842
+     * @since 1.0.19
843
+     * @param  string $context View or edit context.
844
+     * @return string
845
+     */
846
+    public function get_user_first_name( $context = 'view' ) {
847
+        return $this->get_first_name( $context );
848 848
     }
849 849
 
850
-     /**
851
-	 * Alias of self::get_first_name().
852
-	 *
853
-	 * @since 1.0.19
854
-	 * @param  string $context View or edit context.
855
-	 * @return string
856
-	 */
857
-	public function get_customer_first_name( $context = 'view' ) {
858
-		return $this->get_first_name( $context );
850
+        /**
851
+         * Alias of self::get_first_name().
852
+         *
853
+         * @since 1.0.19
854
+         * @param  string $context View or edit context.
855
+         * @return string
856
+         */
857
+    public function get_customer_first_name( $context = 'view' ) {
858
+        return $this->get_first_name( $context );
859 859
     }
860 860
 
861 861
     /**
862
-	 * Get the customer's last name.
863
-	 *
864
-	 * @since 1.0.19
865
-	 * @param  string $context View or edit context.
866
-	 * @return string
867
-	 */
868
-	public function get_last_name( $context = 'view' ) {
869
-		return $this->get_prop( 'last_name', $context );
862
+     * Get the customer's last name.
863
+     *
864
+     * @since 1.0.19
865
+     * @param  string $context View or edit context.
866
+     * @return string
867
+     */
868
+    public function get_last_name( $context = 'view' ) {
869
+        return $this->get_prop( 'last_name', $context );
870 870
     }
871 871
 
872 872
     /**
873
-	 * Alias of self::get_last_name().
874
-	 *
875
-	 * @since 1.0.19
876
-	 * @param  string $context View or edit context.
877
-	 * @return string
878
-	 */
879
-	public function get_user_last_name( $context = 'view' ) {
880
-		return $this->get_last_name( $context );
873
+     * Alias of self::get_last_name().
874
+     *
875
+     * @since 1.0.19
876
+     * @param  string $context View or edit context.
877
+     * @return string
878
+     */
879
+    public function get_user_last_name( $context = 'view' ) {
880
+        return $this->get_last_name( $context );
881 881
     }
882 882
 
883 883
     /**
884
-	 * Alias of self::get_last_name().
885
-	 *
886
-	 * @since 1.0.19
887
-	 * @param  string $context View or edit context.
888
-	 * @return string
889
-	 */
890
-	public function get_customer_last_name( $context = 'view' ) {
891
-		return $this->get_last_name( $context );
884
+     * Alias of self::get_last_name().
885
+     *
886
+     * @since 1.0.19
887
+     * @param  string $context View or edit context.
888
+     * @return string
889
+     */
890
+    public function get_customer_last_name( $context = 'view' ) {
891
+        return $this->get_last_name( $context );
892 892
     }
893 893
 
894 894
     /**
895
-	 * Get the customer's full name.
896
-	 *
897
-	 * @since 1.0.19
898
-	 * @param  string $context View or edit context.
899
-	 * @return string
900
-	 */
901
-	public function get_full_name( $context = 'view' ) {
902
-		return trim( $this->get_first_name( $context ) . ' ' . $this->get_last_name( $context ) );
895
+     * Get the customer's full name.
896
+     *
897
+     * @since 1.0.19
898
+     * @param  string $context View or edit context.
899
+     * @return string
900
+     */
901
+    public function get_full_name( $context = 'view' ) {
902
+        return trim( $this->get_first_name( $context ) . ' ' . $this->get_last_name( $context ) );
903 903
     }
904 904
 
905 905
     /**
906
-	 * Alias of self::get_full_name().
907
-	 *
908
-	 * @since 1.0.19
909
-	 * @param  string $context View or edit context.
910
-	 * @return string
911
-	 */
912
-	public function get_user_full_name( $context = 'view' ) {
913
-		return $this->get_full_name( $context );
906
+     * Alias of self::get_full_name().
907
+     *
908
+     * @since 1.0.19
909
+     * @param  string $context View or edit context.
910
+     * @return string
911
+     */
912
+    public function get_user_full_name( $context = 'view' ) {
913
+        return $this->get_full_name( $context );
914 914
     }
915 915
 
916 916
     /**
917
-	 * Alias of self::get_full_name().
918
-	 *
919
-	 * @since 1.0.19
920
-	 * @param  string $context View or edit context.
921
-	 * @return string
922
-	 */
923
-	public function get_customer_full_name( $context = 'view' ) {
924
-		return $this->get_full_name( $context );
917
+     * Alias of self::get_full_name().
918
+     *
919
+     * @since 1.0.19
920
+     * @param  string $context View or edit context.
921
+     * @return string
922
+     */
923
+    public function get_customer_full_name( $context = 'view' ) {
924
+        return $this->get_full_name( $context );
925 925
     }
926 926
 
927 927
     /**
928
-	 * Get the customer's phone number.
929
-	 *
930
-	 * @since 1.0.19
931
-	 * @param  string $context View or edit context.
932
-	 * @return string
933
-	 */
934
-	public function get_phone( $context = 'view' ) {
935
-		return $this->get_prop( 'phone', $context );
928
+     * Get the customer's phone number.
929
+     *
930
+     * @since 1.0.19
931
+     * @param  string $context View or edit context.
932
+     * @return string
933
+     */
934
+    public function get_phone( $context = 'view' ) {
935
+        return $this->get_prop( 'phone', $context );
936 936
     }
937 937
 
938 938
     /**
939
-	 * Alias of self::get_phone().
940
-	 *
941
-	 * @since 1.0.19
942
-	 * @param  string $context View or edit context.
943
-	 * @return string
944
-	 */
945
-	public function get_phone_number( $context = 'view' ) {
946
-		return $this->get_phone( $context );
939
+     * Alias of self::get_phone().
940
+     *
941
+     * @since 1.0.19
942
+     * @param  string $context View or edit context.
943
+     * @return string
944
+     */
945
+    public function get_phone_number( $context = 'view' ) {
946
+        return $this->get_phone( $context );
947 947
     }
948 948
 
949 949
     /**
950
-	 * Alias of self::get_phone().
951
-	 *
952
-	 * @since 1.0.19
953
-	 * @param  string $context View or edit context.
954
-	 * @return string
955
-	 */
956
-	public function get_user_phone( $context = 'view' ) {
957
-		return $this->get_phone( $context );
958
-    }
959
-
950
+     * Alias of self::get_phone().
951
+     *
952
+     * @since 1.0.19
953
+     * @param  string $context View or edit context.
954
+     * @return string
955
+     */
956
+    public function get_user_phone( $context = 'view' ) {
957
+        return $this->get_phone( $context );
958
+    }
959
+
960
+    /**
961
+     * Alias of self::get_phone().
962
+     *
963
+     * @since 1.0.19
964
+     * @param  string $context View or edit context.
965
+     * @return string
966
+     */
967
+    public function get_customer_phone( $context = 'view' ) {
968
+        return $this->get_phone( $context );
969
+    }
970
+
971
+    /**
972
+     * Get the customer's email address.
973
+     *
974
+     * @since 1.0.19
975
+     * @param  string $context View or edit context.
976
+     * @return string
977
+     */
978
+    public function get_email( $context = 'view' ) {
979
+        return $this->get_prop( 'email', $context );
980
+    }
981
+
982
+    /**
983
+     * Alias of self::get_email().
984
+     *
985
+     * @since 1.0.19
986
+     * @param  string $context View or edit context.
987
+     * @return string
988
+     */
989
+    public function get_email_address( $context = 'view' ) {
990
+        return $this->get_email( $context );
991
+    }
992
+
993
+    /**
994
+     * Alias of self::get_email().
995
+     *
996
+     * @since 1.0.19
997
+     * @param  string $context View or edit context.
998
+     * @return string
999
+     */
1000
+    public function get_user_email( $context = 'view' ) {
1001
+        return $this->get_email( $context );
1002
+    }
1003
+
960 1004
     /**
961
-	 * Alias of self::get_phone().
962
-	 *
963
-	 * @since 1.0.19
964
-	 * @param  string $context View or edit context.
965
-	 * @return string
966
-	 */
967
-	public function get_customer_phone( $context = 'view' ) {
968
-		return $this->get_phone( $context );
1005
+     * Alias of self::get_email().
1006
+     *
1007
+     * @since 1.0.19
1008
+     * @param  string $context View or edit context.
1009
+     * @return string
1010
+     */
1011
+    public function get_customer_email( $context = 'view' ) {
1012
+        return $this->get_email( $context );
969 1013
     }
970 1014
 
971 1015
     /**
972
-	 * Get the customer's email address.
973
-	 *
974
-	 * @since 1.0.19
975
-	 * @param  string $context View or edit context.
976
-	 * @return string
977
-	 */
978
-	public function get_email( $context = 'view' ) {
979
-		return $this->get_prop( 'email', $context );
1016
+     * Get the customer's country.
1017
+     *
1018
+     * @since 1.0.19
1019
+     * @param  string $context View or edit context.
1020
+     * @return string
1021
+     */
1022
+    public function get_country( $context = 'view' ) {
1023
+        $country = $this->get_prop( 'country', $context );
1024
+        return empty( $country ) ? wpinv_get_default_country() : $country;
980 1025
     }
981 1026
 
982 1027
     /**
983
-	 * Alias of self::get_email().
984
-	 *
985
-	 * @since 1.0.19
986
-	 * @param  string $context View or edit context.
987
-	 * @return string
988
-	 */
989
-	public function get_email_address( $context = 'view' ) {
990
-		return $this->get_email( $context );
1028
+     * Alias of self::get_country().
1029
+     *
1030
+     * @since 1.0.19
1031
+     * @param  string $context View or edit context.
1032
+     * @return string
1033
+     */
1034
+    public function get_user_country( $context = 'view' ) {
1035
+        return $this->get_country( $context );
991 1036
     }
992 1037
 
993 1038
     /**
994
-	 * Alias of self::get_email().
995
-	 *
996
-	 * @since 1.0.19
997
-	 * @param  string $context View or edit context.
998
-	 * @return string
999
-	 */
1000
-	public function get_user_email( $context = 'view' ) {
1001
-		return $this->get_email( $context );
1039
+     * Alias of self::get_country().
1040
+     *
1041
+     * @since 1.0.19
1042
+     * @param  string $context View or edit context.
1043
+     * @return string
1044
+     */
1045
+    public function get_customer_country( $context = 'view' ) {
1046
+        return $this->get_country( $context );
1002 1047
     }
1003 1048
 
1004 1049
     /**
1005
-	 * Alias of self::get_email().
1006
-	 *
1007
-	 * @since 1.0.19
1008
-	 * @param  string $context View or edit context.
1009
-	 * @return string
1010
-	 */
1011
-	public function get_customer_email( $context = 'view' ) {
1012
-		return $this->get_email( $context );
1050
+     * Get the customer's state.
1051
+     *
1052
+     * @since 1.0.19
1053
+     * @param  string $context View or edit context.
1054
+     * @return string
1055
+     */
1056
+    public function get_state( $context = 'view' ) {
1057
+        $state = $this->get_prop( 'state', $context );
1058
+        return empty( $state ) ? wpinv_get_default_state() : $state;
1013 1059
     }
1014 1060
 
1015 1061
     /**
1016
-	 * Get the customer's country.
1017
-	 *
1018
-	 * @since 1.0.19
1019
-	 * @param  string $context View or edit context.
1020
-	 * @return string
1021
-	 */
1022
-	public function get_country( $context = 'view' ) {
1023
-		$country = $this->get_prop( 'country', $context );
1024
-		return empty( $country ) ? wpinv_get_default_country() : $country;
1062
+     * Alias of self::get_state().
1063
+     *
1064
+     * @since 1.0.19
1065
+     * @param  string $context View or edit context.
1066
+     * @return string
1067
+     */
1068
+    public function get_user_state( $context = 'view' ) {
1069
+        return $this->get_state( $context );
1025 1070
     }
1026 1071
 
1027 1072
     /**
1028
-	 * Alias of self::get_country().
1029
-	 *
1030
-	 * @since 1.0.19
1031
-	 * @param  string $context View or edit context.
1032
-	 * @return string
1033
-	 */
1034
-	public function get_user_country( $context = 'view' ) {
1035
-		return $this->get_country( $context );
1073
+     * Alias of self::get_state().
1074
+     *
1075
+     * @since 1.0.19
1076
+     * @param  string $context View or edit context.
1077
+     * @return string
1078
+     */
1079
+    public function get_customer_state( $context = 'view' ) {
1080
+        return $this->get_state( $context );
1036 1081
     }
1037 1082
 
1038 1083
     /**
1039
-	 * Alias of self::get_country().
1040
-	 *
1041
-	 * @since 1.0.19
1042
-	 * @param  string $context View or edit context.
1043
-	 * @return string
1044
-	 */
1045
-	public function get_customer_country( $context = 'view' ) {
1046
-		return $this->get_country( $context );
1084
+     * Get the customer's city.
1085
+     *
1086
+     * @since 1.0.19
1087
+     * @param  string $context View or edit context.
1088
+     * @return string
1089
+     */
1090
+    public function get_city( $context = 'view' ) {
1091
+        return $this->get_prop( 'city', $context );
1047 1092
     }
1048 1093
 
1049 1094
     /**
1050
-	 * Get the customer's state.
1051
-	 *
1052
-	 * @since 1.0.19
1053
-	 * @param  string $context View or edit context.
1054
-	 * @return string
1055
-	 */
1056
-	public function get_state( $context = 'view' ) {
1057
-		$state = $this->get_prop( 'state', $context );
1058
-		return empty( $state ) ? wpinv_get_default_state() : $state;
1095
+     * Alias of self::get_city().
1096
+     *
1097
+     * @since 1.0.19
1098
+     * @param  string $context View or edit context.
1099
+     * @return string
1100
+     */
1101
+    public function get_user_city( $context = 'view' ) {
1102
+        return $this->get_city( $context );
1103
+    }
1104
+
1105
+    /**
1106
+     * Alias of self::get_city().
1107
+     *
1108
+     * @since 1.0.19
1109
+     * @param  string $context View or edit context.
1110
+     * @return string
1111
+     */
1112
+    public function get_customer_city( $context = 'view' ) {
1113
+        return $this->get_city( $context );
1114
+    }
1115
+
1116
+    /**
1117
+     * Get the customer's zip.
1118
+     *
1119
+     * @since 1.0.19
1120
+     * @param  string $context View or edit context.
1121
+     * @return string
1122
+     */
1123
+    public function get_zip( $context = 'view' ) {
1124
+        return $this->get_prop( 'zip', $context );
1125
+    }
1126
+
1127
+    /**
1128
+     * Alias of self::get_zip().
1129
+     *
1130
+     * @since 1.0.19
1131
+     * @param  string $context View or edit context.
1132
+     * @return string
1133
+     */
1134
+    public function get_user_zip( $context = 'view' ) {
1135
+        return $this->get_zip( $context );
1136
+    }
1137
+
1138
+    /**
1139
+     * Alias of self::get_zip().
1140
+     *
1141
+     * @since 1.0.19
1142
+     * @param  string $context View or edit context.
1143
+     * @return string
1144
+     */
1145
+    public function get_customer_zip( $context = 'view' ) {
1146
+        return $this->get_zip( $context );
1147
+    }
1148
+
1149
+    /**
1150
+     * Get the customer's company.
1151
+     *
1152
+     * @since 1.0.19
1153
+     * @param  string $context View or edit context.
1154
+     * @return string
1155
+     */
1156
+    public function get_company( $context = 'view' ) {
1157
+        return $this->get_prop( 'company', $context );
1158
+    }
1159
+
1160
+    /**
1161
+     * Alias of self::get_company().
1162
+     *
1163
+     * @since 1.0.19
1164
+     * @param  string $context View or edit context.
1165
+     * @return string
1166
+     */
1167
+    public function get_user_company( $context = 'view' ) {
1168
+        return $this->get_company( $context );
1169
+    }
1170
+
1171
+    /**
1172
+     * Alias of self::get_company().
1173
+     *
1174
+     * @since 1.0.19
1175
+     * @param  string $context View or edit context.
1176
+     * @return string
1177
+     */
1178
+    public function get_customer_company( $context = 'view' ) {
1179
+        return $this->get_company( $context );
1180
+    }
1181
+
1182
+    /**
1183
+     * Get the customer's company id.
1184
+     *
1185
+     * @since 1.0.19
1186
+     * @param  string $context View or edit context.
1187
+     * @return string
1188
+     */
1189
+    public function get_company_id( $context = 'view' ) {
1190
+        return $this->get_prop( 'company_id', $context );
1191
+    }
1192
+
1193
+    /**
1194
+     * Get the customer's vat number.
1195
+     *
1196
+     * @since 1.0.19
1197
+     * @param  string $context View or edit context.
1198
+     * @return string
1199
+     */
1200
+    public function get_vat_number( $context = 'view' ) {
1201
+        return $this->get_prop( 'vat_number', $context );
1059 1202
     }
1060 1203
 
1061 1204
     /**
1062
-	 * Alias of self::get_state().
1063
-	 *
1064
-	 * @since 1.0.19
1065
-	 * @param  string $context View or edit context.
1066
-	 * @return string
1067
-	 */
1068
-	public function get_user_state( $context = 'view' ) {
1069
-		return $this->get_state( $context );
1205
+     * Alias of self::get_vat_number().
1206
+     *
1207
+     * @since 1.0.19
1208
+     * @param  string $context View or edit context.
1209
+     * @return string
1210
+     */
1211
+    public function get_user_vat_number( $context = 'view' ) {
1212
+        return $this->get_vat_number( $context );
1070 1213
     }
1071 1214
 
1072 1215
     /**
1073
-	 * Alias of self::get_state().
1074
-	 *
1075
-	 * @since 1.0.19
1076
-	 * @param  string $context View or edit context.
1077
-	 * @return string
1078
-	 */
1079
-	public function get_customer_state( $context = 'view' ) {
1080
-		return $this->get_state( $context );
1216
+     * Alias of self::get_vat_number().
1217
+     *
1218
+     * @since 1.0.19
1219
+     * @param  string $context View or edit context.
1220
+     * @return string
1221
+     */
1222
+    public function get_customer_vat_number( $context = 'view' ) {
1223
+        return $this->get_vat_number( $context );
1081 1224
     }
1082 1225
 
1083 1226
     /**
1084
-	 * Get the customer's city.
1085
-	 *
1086
-	 * @since 1.0.19
1087
-	 * @param  string $context View or edit context.
1088
-	 * @return string
1089
-	 */
1090
-	public function get_city( $context = 'view' ) {
1091
-		return $this->get_prop( 'city', $context );
1227
+     * Get the customer's vat rate.
1228
+     *
1229
+     * @since 1.0.19
1230
+     * @param  string $context View or edit context.
1231
+     * @return string
1232
+     */
1233
+    public function get_vat_rate( $context = 'view' ) {
1234
+        return $this->get_prop( 'vat_rate', $context );
1092 1235
     }
1093 1236
 
1094 1237
     /**
1095
-	 * Alias of self::get_city().
1096
-	 *
1097
-	 * @since 1.0.19
1098
-	 * @param  string $context View or edit context.
1099
-	 * @return string
1100
-	 */
1101
-	public function get_user_city( $context = 'view' ) {
1102
-		return $this->get_city( $context );
1238
+     * Alias of self::get_vat_rate().
1239
+     *
1240
+     * @since 1.0.19
1241
+     * @param  string $context View or edit context.
1242
+     * @return string
1243
+     */
1244
+    public function get_user_vat_rate( $context = 'view' ) {
1245
+        return $this->get_vat_rate( $context );
1103 1246
     }
1104 1247
 
1105 1248
     /**
1106
-	 * Alias of self::get_city().
1107
-	 *
1108
-	 * @since 1.0.19
1109
-	 * @param  string $context View or edit context.
1110
-	 * @return string
1111
-	 */
1112
-	public function get_customer_city( $context = 'view' ) {
1113
-		return $this->get_city( $context );
1249
+     * Alias of self::get_vat_rate().
1250
+     *
1251
+     * @since 1.0.19
1252
+     * @param  string $context View or edit context.
1253
+     * @return string
1254
+     */
1255
+    public function get_customer_vat_rate( $context = 'view' ) {
1256
+        return $this->get_vat_rate( $context );
1114 1257
     }
1115 1258
 
1116 1259
     /**
1117
-	 * Get the customer's zip.
1118
-	 *
1119
-	 * @since 1.0.19
1120
-	 * @param  string $context View or edit context.
1121
-	 * @return string
1122
-	 */
1123
-	public function get_zip( $context = 'view' ) {
1124
-		return $this->get_prop( 'zip', $context );
1260
+     * Get the customer's address.
1261
+     *
1262
+     * @since 1.0.19
1263
+     * @param  string $context View or edit context.
1264
+     * @return string
1265
+     */
1266
+    public function get_address( $context = 'view' ) {
1267
+        return $this->get_prop( 'address', $context );
1125 1268
     }
1126 1269
 
1127 1270
     /**
1128
-	 * Alias of self::get_zip().
1129
-	 *
1130
-	 * @since 1.0.19
1131
-	 * @param  string $context View or edit context.
1132
-	 * @return string
1133
-	 */
1134
-	public function get_user_zip( $context = 'view' ) {
1135
-		return $this->get_zip( $context );
1271
+     * Alias of self::get_address().
1272
+     *
1273
+     * @since 1.0.19
1274
+     * @param  string $context View or edit context.
1275
+     * @return string
1276
+     */
1277
+    public function get_user_address( $context = 'view' ) {
1278
+        return $this->get_address( $context );
1136 1279
     }
1137 1280
 
1138 1281
     /**
1139
-	 * Alias of self::get_zip().
1140
-	 *
1141
-	 * @since 1.0.19
1142
-	 * @param  string $context View or edit context.
1143
-	 * @return string
1144
-	 */
1145
-	public function get_customer_zip( $context = 'view' ) {
1146
-		return $this->get_zip( $context );
1282
+     * Alias of self::get_address().
1283
+     *
1284
+     * @since 1.0.19
1285
+     * @param  string $context View or edit context.
1286
+     * @return string
1287
+     */
1288
+    public function get_customer_address( $context = 'view' ) {
1289
+        return $this->get_address( $context );
1147 1290
     }
1148 1291
 
1149 1292
     /**
1150
-	 * Get the customer's company.
1151
-	 *
1152
-	 * @since 1.0.19
1153
-	 * @param  string $context View or edit context.
1154
-	 * @return string
1155
-	 */
1156
-	public function get_company( $context = 'view' ) {
1157
-		return $this->get_prop( 'company', $context );
1293
+     * Get whether the customer has viewed the invoice or not.
1294
+     *
1295
+     * @since 1.0.19
1296
+     * @param  string $context View or edit context.
1297
+     * @return bool
1298
+     */
1299
+    public function get_is_viewed( $context = 'view' ) {
1300
+        return (bool) $this->get_prop( 'is_viewed', $context );
1158 1301
     }
1159 1302
 
1160 1303
     /**
1161
-	 * Alias of self::get_company().
1162
-	 *
1163
-	 * @since 1.0.19
1164
-	 * @param  string $context View or edit context.
1165
-	 * @return string
1166
-	 */
1167
-	public function get_user_company( $context = 'view' ) {
1168
-		return $this->get_company( $context );
1304
+     * Get other recipients for invoice communications.
1305
+     *
1306
+     * @since 1.0.19
1307
+     * @param  string $context View or edit context.
1308
+     * @return bool
1309
+     */
1310
+    public function get_email_cc( $context = 'view' ) {
1311
+        return $this->get_prop( 'email_cc', $context );
1169 1312
     }
1170 1313
 
1171 1314
     /**
1172
-	 * Alias of self::get_company().
1173
-	 *
1174
-	 * @since 1.0.19
1175
-	 * @param  string $context View or edit context.
1176
-	 * @return string
1177
-	 */
1178
-	public function get_customer_company( $context = 'view' ) {
1179
-		return $this->get_company( $context );
1315
+     * Get invoice template.
1316
+     *
1317
+     * @since 1.0.19
1318
+     * @param  string $context View or edit context.
1319
+     * @return bool
1320
+     */
1321
+    public function get_template( $context = 'view' ) {
1322
+        return $this->get_prop( 'template', $context );
1180 1323
     }
1181 1324
 
1182
-	/**
1183
-	 * Get the customer's company id.
1184
-	 *
1185
-	 * @since 1.0.19
1186
-	 * @param  string $context View or edit context.
1187
-	 * @return string
1188
-	 */
1189
-	public function get_company_id( $context = 'view' ) {
1190
-		return $this->get_prop( 'company_id', $context );
1325
+    /**
1326
+     * Get invoice source.
1327
+     *
1328
+     * @since 1.0.19
1329
+     * @param  string $context View or edit context.
1330
+     * @return bool
1331
+     */
1332
+    public function get_created_via( $context = 'view' ) {
1333
+        return $this->get_prop( 'created_via', $context );
1191 1334
     }
1192 1335
 
1193 1336
     /**
1194
-	 * Get the customer's vat number.
1195
-	 *
1196
-	 * @since 1.0.19
1197
-	 * @param  string $context View or edit context.
1198
-	 * @return string
1199
-	 */
1200
-	public function get_vat_number( $context = 'view' ) {
1201
-		return $this->get_prop( 'vat_number', $context );
1337
+     * Get whether the customer has confirmed their address.
1338
+     *
1339
+     * @since 1.0.19
1340
+     * @param  string $context View or edit context.
1341
+     * @return bool
1342
+     */
1343
+    public function get_address_confirmed( $context = 'view' ) {
1344
+        return (bool) $this->get_prop( 'address_confirmed', $context );
1202 1345
     }
1203 1346
 
1204 1347
     /**
1205
-	 * Alias of self::get_vat_number().
1206
-	 *
1207
-	 * @since 1.0.19
1208
-	 * @param  string $context View or edit context.
1209
-	 * @return string
1210
-	 */
1211
-	public function get_user_vat_number( $context = 'view' ) {
1212
-		return $this->get_vat_number( $context );
1348
+     * Alias of self::get_address_confirmed().
1349
+     *
1350
+     * @since 1.0.19
1351
+     * @param  string $context View or edit context.
1352
+     * @return bool
1353
+     */
1354
+    public function get_user_address_confirmed( $context = 'view' ) {
1355
+        return $this->get_address_confirmed( $context );
1213 1356
     }
1214 1357
 
1215 1358
     /**
1216
-	 * Alias of self::get_vat_number().
1217
-	 *
1218
-	 * @since 1.0.19
1219
-	 * @param  string $context View or edit context.
1220
-	 * @return string
1221
-	 */
1222
-	public function get_customer_vat_number( $context = 'view' ) {
1223
-		return $this->get_vat_number( $context );
1359
+     * Alias of self::get_address().
1360
+     *
1361
+     * @since 1.0.19
1362
+     * @param  string $context View or edit context.
1363
+     * @return bool
1364
+     */
1365
+    public function get_customer_address_confirmed( $context = 'view' ) {
1366
+        return $this->get_address_confirmed( $context );
1224 1367
     }
1225 1368
 
1226
-    /**
1227
-	 * Get the customer's vat rate.
1228
-	 *
1229
-	 * @since 1.0.19
1230
-	 * @param  string $context View or edit context.
1231
-	 * @return string
1232
-	 */
1233
-	public function get_vat_rate( $context = 'view' ) {
1234
-		return $this->get_prop( 'vat_rate', $context );
1235
-    }
1236
-
1237
-    /**
1238
-	 * Alias of self::get_vat_rate().
1239
-	 *
1240
-	 * @since 1.0.19
1241
-	 * @param  string $context View or edit context.
1242
-	 * @return string
1243
-	 */
1244
-	public function get_user_vat_rate( $context = 'view' ) {
1245
-		return $this->get_vat_rate( $context );
1246
-    }
1247
-
1248
-    /**
1249
-	 * Alias of self::get_vat_rate().
1250
-	 *
1251
-	 * @since 1.0.19
1252
-	 * @param  string $context View or edit context.
1253
-	 * @return string
1254
-	 */
1255
-	public function get_customer_vat_rate( $context = 'view' ) {
1256
-		return $this->get_vat_rate( $context );
1257
-    }
1258
-
1259
-    /**
1260
-	 * Get the customer's address.
1261
-	 *
1262
-	 * @since 1.0.19
1263
-	 * @param  string $context View or edit context.
1264
-	 * @return string
1265
-	 */
1266
-	public function get_address( $context = 'view' ) {
1267
-		return $this->get_prop( 'address', $context );
1268
-    }
1269
-
1270
-    /**
1271
-	 * Alias of self::get_address().
1272
-	 *
1273
-	 * @since 1.0.19
1274
-	 * @param  string $context View or edit context.
1275
-	 * @return string
1276
-	 */
1277
-	public function get_user_address( $context = 'view' ) {
1278
-		return $this->get_address( $context );
1279
-    }
1280
-
1281
-    /**
1282
-	 * Alias of self::get_address().
1283
-	 *
1284
-	 * @since 1.0.19
1285
-	 * @param  string $context View or edit context.
1286
-	 * @return string
1287
-	 */
1288
-	public function get_customer_address( $context = 'view' ) {
1289
-		return $this->get_address( $context );
1290
-    }
1291
-
1292
-    /**
1293
-	 * Get whether the customer has viewed the invoice or not.
1294
-	 *
1295
-	 * @since 1.0.19
1296
-	 * @param  string $context View or edit context.
1297
-	 * @return bool
1298
-	 */
1299
-	public function get_is_viewed( $context = 'view' ) {
1300
-		return (bool) $this->get_prop( 'is_viewed', $context );
1301
-	}
1302
-
1303
-	/**
1304
-	 * Get other recipients for invoice communications.
1305
-	 *
1306
-	 * @since 1.0.19
1307
-	 * @param  string $context View or edit context.
1308
-	 * @return bool
1309
-	 */
1310
-	public function get_email_cc( $context = 'view' ) {
1311
-		return $this->get_prop( 'email_cc', $context );
1312
-	}
1313
-
1314
-	/**
1315
-	 * Get invoice template.
1316
-	 *
1317
-	 * @since 1.0.19
1318
-	 * @param  string $context View or edit context.
1319
-	 * @return bool
1320
-	 */
1321
-	public function get_template( $context = 'view' ) {
1322
-		return $this->get_prop( 'template', $context );
1323
-	}
1324
-
1325
-	/**
1326
-	 * Get invoice source.
1327
-	 *
1328
-	 * @since 1.0.19
1329
-	 * @param  string $context View or edit context.
1330
-	 * @return bool
1331
-	 */
1332
-	public function get_created_via( $context = 'view' ) {
1333
-		return $this->get_prop( 'created_via', $context );
1334
-	}
1335
-
1336
-	/**
1337
-	 * Get whether the customer has confirmed their address.
1338
-	 *
1339
-	 * @since 1.0.19
1340
-	 * @param  string $context View or edit context.
1341
-	 * @return bool
1342
-	 */
1343
-	public function get_address_confirmed( $context = 'view' ) {
1344
-		return (bool) $this->get_prop( 'address_confirmed', $context );
1345
-    }
1346
-
1347
-    /**
1348
-	 * Alias of self::get_address_confirmed().
1349
-	 *
1350
-	 * @since 1.0.19
1351
-	 * @param  string $context View or edit context.
1352
-	 * @return bool
1353
-	 */
1354
-	public function get_user_address_confirmed( $context = 'view' ) {
1355
-		return $this->get_address_confirmed( $context );
1356
-    }
1357
-
1358
-    /**
1359
-	 * Alias of self::get_address().
1360
-	 *
1361
-	 * @since 1.0.19
1362
-	 * @param  string $context View or edit context.
1363
-	 * @return bool
1364
-	 */
1365
-	public function get_customer_address_confirmed( $context = 'view' ) {
1366
-		return $this->get_address_confirmed( $context );
1367
-    }
1368
-
1369
-    /**
1370
-	 * Get the invoice subtotal.
1371
-	 *
1372
-	 * @since 1.0.19
1373
-	 * @param  string $context View or edit context.
1374
-	 * @return float
1375
-	 */
1376
-	public function get_subtotal( $context = 'view' ) {
1369
+    /**
1370
+     * Get the invoice subtotal.
1371
+     *
1372
+     * @since 1.0.19
1373
+     * @param  string $context View or edit context.
1374
+     * @return float
1375
+     */
1376
+    public function get_subtotal( $context = 'view' ) {
1377 1377
         $subtotal = (float) $this->get_prop( 'subtotal', $context );
1378 1378
 
1379 1379
         // Backwards compatibility.
@@ -1385,192 +1385,192 @@  discard block
 block discarded – undo
1385 1385
     }
1386 1386
 
1387 1387
     /**
1388
-	 * Get the invoice discount total.
1389
-	 *
1390
-	 * @since 1.0.19
1391
-	 * @param  string $context View or edit context.
1392
-	 * @return float
1393
-	 */
1394
-	public function get_total_discount( $context = 'view' ) {
1395
-		return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_discount', $context ) ) );
1388
+     * Get the invoice discount total.
1389
+     *
1390
+     * @since 1.0.19
1391
+     * @param  string $context View or edit context.
1392
+     * @return float
1393
+     */
1394
+    public function get_total_discount( $context = 'view' ) {
1395
+        return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_discount', $context ) ) );
1396 1396
     }
1397 1397
 
1398 1398
     /**
1399
-	 * Get the invoice tax total.
1400
-	 *
1401
-	 * @since 1.0.19
1402
-	 * @param  string $context View or edit context.
1403
-	 * @return float
1404
-	 */
1405
-	public function get_total_tax( $context = 'view' ) {
1406
-		return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_tax', $context ) ) );
1407
-	}
1399
+     * Get the invoice tax total.
1400
+     *
1401
+     * @since 1.0.19
1402
+     * @param  string $context View or edit context.
1403
+     * @return float
1404
+     */
1405
+    public function get_total_tax( $context = 'view' ) {
1406
+        return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_tax', $context ) ) );
1407
+    }
1408 1408
 
1409
-	/**
1410
-	 * @deprecated
1411
-	 */
1412
-	public function get_final_tax( $currency = false ) {
1413
-		$tax = $this->get_total_tax();
1409
+    /**
1410
+     * @deprecated
1411
+     */
1412
+    public function get_final_tax( $currency = false ) {
1413
+        $tax = $this->get_total_tax();
1414 1414
 
1415 1415
         if ( $currency ) {
1416
-			return wpinv_price( $tax, $this->get_currency() );
1416
+            return wpinv_price( $tax, $this->get_currency() );
1417 1417
         }
1418 1418
 
1419 1419
         return $tax;
1420 1420
     }
1421 1421
 
1422 1422
     /**
1423
-	 * Get the invoice fees total.
1424
-	 *
1425
-	 * @since 1.0.19
1426
-	 * @param  string $context View or edit context.
1427
-	 * @return float
1428
-	 */
1429
-	public function get_total_fees( $context = 'view' ) {
1430
-		return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_fees', $context ) ) );
1423
+     * Get the invoice fees total.
1424
+     *
1425
+     * @since 1.0.19
1426
+     * @param  string $context View or edit context.
1427
+     * @return float
1428
+     */
1429
+    public function get_total_fees( $context = 'view' ) {
1430
+        return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_fees', $context ) ) );
1431 1431
     }
1432 1432
 
1433 1433
     /**
1434
-	 * Alias for self::get_total_fees().
1435
-	 *
1436
-	 * @since 1.0.19
1437
-	 * @param  string $context View or edit context.
1438
-	 * @return float
1439
-	 */
1440
-	public function get_fees_total( $context = 'view' ) {
1441
-		return $this->get_total_fees( $context );
1434
+     * Alias for self::get_total_fees().
1435
+     *
1436
+     * @since 1.0.19
1437
+     * @param  string $context View or edit context.
1438
+     * @return float
1439
+     */
1440
+    public function get_fees_total( $context = 'view' ) {
1441
+        return $this->get_total_fees( $context );
1442 1442
     }
1443 1443
 
1444 1444
     /**
1445
-	 * Get the invoice total.
1446
-	 *
1447
-	 * @since 1.0.19
1445
+     * Get the invoice total.
1446
+     *
1447
+     * @since 1.0.19
1448 1448
      * @return float
1449
-	 */
1450
-	public function get_total( $context = 'view' ) {
1451
-		return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total', $context ) ) );
1452
-	}
1453
-
1454
-	/**
1455
-	 * Retrieves the non-recurring total of items.
1456
-	 *
1457
-	 * @since 2.3.0
1458
-	 * @return float
1459
-	 */
1460
-	public function get_non_recurring_total() {
1461
-
1462
-		$subtotal = 0;
1463
-		foreach ( $this->get_items() as $item ) {
1464
-			if ( ! $item->is_recurring() ) {
1465
-				$subtotal += $item->get_sub_total();
1466
-			}
1467
-		}
1468
-
1469
-		foreach ( $this->get_fees() as $fee ) {
1470
-			if ( empty( $fee['recurring_fee'] ) ) {
1471
-				$subtotal += wpinv_sanitize_amount( $fee['initial_fee'] );
1472
-			}
1473
-		}
1474
-
1475
-		$subtotal = wpinv_round_amount( wpinv_sanitize_amount( $subtotal ) );
1449
+     */
1450
+    public function get_total( $context = 'view' ) {
1451
+        return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total', $context ) ) );
1452
+    }
1453
+
1454
+    /**
1455
+     * Retrieves the non-recurring total of items.
1456
+     *
1457
+     * @since 2.3.0
1458
+     * @return float
1459
+     */
1460
+    public function get_non_recurring_total() {
1461
+
1462
+        $subtotal = 0;
1463
+        foreach ( $this->get_items() as $item ) {
1464
+            if ( ! $item->is_recurring() ) {
1465
+                $subtotal += $item->get_sub_total();
1466
+            }
1467
+        }
1468
+
1469
+        foreach ( $this->get_fees() as $fee ) {
1470
+            if ( empty( $fee['recurring_fee'] ) ) {
1471
+                $subtotal += wpinv_sanitize_amount( $fee['initial_fee'] );
1472
+            }
1473
+        }
1474
+
1475
+        $subtotal = wpinv_round_amount( wpinv_sanitize_amount( $subtotal ) );
1476 1476
         return apply_filters( 'wpinv_get_non_recurring_invoice_total', $subtotal, $this );
1477 1477
 
1478 1478
     }
1479 1479
 
1480
-	/**
1481
-	 * Get the invoice totals.
1482
-	 *
1483
-	 * @since 1.0.19
1480
+    /**
1481
+     * Get the invoice totals.
1482
+     *
1483
+     * @since 1.0.19
1484 1484
      * @return array
1485
-	 */
1486
-	public function get_totals() {
1487
-		return $this->totals;
1485
+     */
1486
+    public function get_totals() {
1487
+        return $this->totals;
1488 1488
     }
1489 1489
 
1490 1490
     /**
1491
-	 * Get the initial invoice total.
1492
-	 *
1493
-	 * @since 1.0.19
1491
+     * Get the initial invoice total.
1492
+     *
1493
+     * @since 1.0.19
1494 1494
      * @param  string $context View or edit context.
1495 1495
      * @return float
1496
-	 */
1496
+     */
1497 1497
     public function get_initial_total() {
1498 1498
 
1499
-		if ( empty( $this->totals ) ) {
1500
-			$this->recalculate_total();
1501
-		}
1499
+        if ( empty( $this->totals ) ) {
1500
+            $this->recalculate_total();
1501
+        }
1502 1502
 
1503
-		$tax      = $this->totals['tax']['initial'];
1504
-		$fee      = $this->totals['fee']['initial'];
1505
-		$discount = $this->totals['discount']['initial'];
1506
-		$subtotal = $this->totals['subtotal']['initial'];
1507
-		$total    = $tax + $fee - $discount + $subtotal;
1503
+        $tax      = $this->totals['tax']['initial'];
1504
+        $fee      = $this->totals['fee']['initial'];
1505
+        $discount = $this->totals['discount']['initial'];
1506
+        $subtotal = $this->totals['subtotal']['initial'];
1507
+        $total    = $tax + $fee - $discount + $subtotal;
1508 1508
 
1509
-		if ( 0 > $total ) {
1510
-			$total = 0;
1511
-		}
1509
+        if ( 0 > $total ) {
1510
+            $total = 0;
1511
+        }
1512 1512
 
1513
-		$total = wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1513
+        $total = wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1514 1514
         return apply_filters( 'wpinv_get_initial_invoice_total', $total, $this );
1515
-	}
1515
+    }
1516 1516
 
1517
-	/**
1518
-	 * Get the recurring invoice total.
1519
-	 *
1520
-	 * @since 1.0.19
1517
+    /**
1518
+     * Get the recurring invoice total.
1519
+     *
1520
+     * @since 1.0.19
1521 1521
      * @param  string $context View or edit context.
1522 1522
      * @return float
1523
-	 */
1523
+     */
1524 1524
     public function get_recurring_total() {
1525 1525
 
1526
-		if ( empty( $this->totals ) ) {
1527
-			$this->recalculate_total();
1528
-		}
1526
+        if ( empty( $this->totals ) ) {
1527
+            $this->recalculate_total();
1528
+        }
1529 1529
 
1530
-		$tax      = $this->totals['tax']['recurring'];
1531
-		$fee      = $this->totals['fee']['recurring'];
1532
-		$discount = $this->totals['discount']['recurring'];
1533
-		$subtotal = $this->totals['subtotal']['recurring'];
1534
-		$total    = $tax + $fee - $discount + $subtotal;
1530
+        $tax      = $this->totals['tax']['recurring'];
1531
+        $fee      = $this->totals['fee']['recurring'];
1532
+        $discount = $this->totals['discount']['recurring'];
1533
+        $subtotal = $this->totals['subtotal']['recurring'];
1534
+        $total    = $tax + $fee - $discount + $subtotal;
1535 1535
 
1536
-		if ( 0 > $total ) {
1537
-			$total = 0;
1538
-		}
1536
+        if ( 0 > $total ) {
1537
+            $total = 0;
1538
+        }
1539 1539
 
1540
-		$total = wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1540
+        $total = wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1541 1541
         return apply_filters( 'wpinv_get_recurring_invoice_total', $total, $this );
1542
-	}
1542
+    }
1543 1543
 
1544
-	/**
1545
-	 * Returns recurring payment details.
1546
-	 *
1547
-	 * @since 1.0.19
1544
+    /**
1545
+     * Returns recurring payment details.
1546
+     *
1547
+     * @since 1.0.19
1548 1548
      * @param  string $field Optionally provide a field to return.
1549
-	 * @param string $currency Whether to include the currency.
1549
+     * @param string $currency Whether to include the currency.
1550 1550
      * @return float|string
1551
-	 */
1551
+     */
1552 1552
     public function get_recurring_details( $field = '', $currency = false ) {
1553 1553
 
1554
-		// Maybe recalculate totals.
1555
-		if ( empty( $this->totals ) ) {
1556
-			$this->recalculate_total();
1557
-		}
1554
+        // Maybe recalculate totals.
1555
+        if ( empty( $this->totals ) ) {
1556
+            $this->recalculate_total();
1557
+        }
1558 1558
 
1559
-		// Prepare recurring totals.
1559
+        // Prepare recurring totals.
1560 1560
         $data = apply_filters(
1561
-			'wpinv_get_invoice_recurring_details',
1562
-			array(
1563
-				'cart_details' => $this->get_cart_details(),
1564
-				'subtotal'     => $this->totals['subtotal']['recurring'],
1565
-				'discount'     => $this->totals['discount']['recurring'],
1566
-				'tax'          => $this->totals['tax']['recurring'],
1567
-				'fee'          => $this->totals['fee']['recurring'],
1568
-				'total'        => $this->get_recurring_total(),
1569
-			),
1570
-			$this,
1571
-			$field,
1572
-			$currency
1573
-		);
1561
+            'wpinv_get_invoice_recurring_details',
1562
+            array(
1563
+                'cart_details' => $this->get_cart_details(),
1564
+                'subtotal'     => $this->totals['subtotal']['recurring'],
1565
+                'discount'     => $this->totals['discount']['recurring'],
1566
+                'tax'          => $this->totals['tax']['recurring'],
1567
+                'fee'          => $this->totals['fee']['recurring'],
1568
+                'total'        => $this->get_recurring_total(),
1569
+            ),
1570
+            $this,
1571
+            $field,
1572
+            $currency
1573
+        );
1574 1574
 
1575 1575
         if ( isset( $data[$field] ) ) {
1576 1576
             return ( $currency ? wpinv_price( $data[$field], $this->get_currency() ) : $data[$field] );
@@ -1580,166 +1580,166 @@  discard block
 block discarded – undo
1580 1580
     }
1581 1581
 
1582 1582
     /**
1583
-	 * Get the invoice fees.
1584
-	 *
1585
-	 * @since 1.0.19
1586
-	 * @param  string $context View or edit context.
1587
-	 * @return array
1588
-	 */
1589
-	public function get_fees( $context = 'view' ) {
1590
-		return wpinv_parse_list( $this->get_prop( 'fees', $context ) );
1583
+     * Get the invoice fees.
1584
+     *
1585
+     * @since 1.0.19
1586
+     * @param  string $context View or edit context.
1587
+     * @return array
1588
+     */
1589
+    public function get_fees( $context = 'view' ) {
1590
+        return wpinv_parse_list( $this->get_prop( 'fees', $context ) );
1591
+    }
1592
+
1593
+    /**
1594
+     * Get the invoice discounts.
1595
+     *
1596
+     * @since 1.0.19
1597
+     * @param  string $context View or edit context.
1598
+     * @return array
1599
+     */
1600
+    public function get_discounts( $context = 'view' ) {
1601
+        return wpinv_parse_list( $this->get_prop( 'discounts', $context ) );
1591 1602
     }
1592 1603
 
1593 1604
     /**
1594
-	 * Get the invoice discounts.
1595
-	 *
1596
-	 * @since 1.0.19
1597
-	 * @param  string $context View or edit context.
1598
-	 * @return array
1599
-	 */
1600
-	public function get_discounts( $context = 'view' ) {
1601
-		return wpinv_parse_list( $this->get_prop( 'discounts', $context ) );
1605
+     * Get the invoice taxes.
1606
+     *
1607
+     * @since 1.0.19
1608
+     * @param  string $context View or edit context.
1609
+     * @return array
1610
+     */
1611
+    public function get_taxes( $context = 'view' ) {
1612
+        return wpinv_parse_list( $this->get_prop( 'taxes', $context ) );
1602 1613
     }
1603 1614
 
1604 1615
     /**
1605
-	 * Get the invoice taxes.
1606
-	 *
1607
-	 * @since 1.0.19
1608
-	 * @param  string $context View or edit context.
1609
-	 * @return array
1610
-	 */
1611
-	public function get_taxes( $context = 'view' ) {
1612
-		return wpinv_parse_list( $this->get_prop( 'taxes', $context ) );
1616
+     * Get the invoice items.
1617
+     *
1618
+     * @since 1.0.19
1619
+     * @param  string $context View or edit context.
1620
+     * @return GetPaid_Form_Item[]
1621
+     */
1622
+    public function get_items( $context = 'view' ) {
1623
+        return $this->get_prop( 'items', $context );
1613 1624
     }
1614 1625
 
1615 1626
     /**
1616
-	 * Get the invoice items.
1617
-	 *
1618
-	 * @since 1.0.19
1619
-	 * @param  string $context View or edit context.
1620
-	 * @return GetPaid_Form_Item[]
1621
-	 */
1622
-	public function get_items( $context = 'view' ) {
1623
-        return $this->get_prop( 'items', $context );
1624
-	}
1625
-
1626
-	/**
1627
-	 * Get the invoice item ids.
1628
-	 *
1629
-	 * @since 1.0.19
1630
-	 * @return string
1631
-	 */
1632
-	public function get_item_ids() {
1633
-		return implode( ', ', wp_list_pluck( $this->get_cart_details(), 'item_id' ) );
1627
+     * Get the invoice item ids.
1628
+     *
1629
+     * @since 1.0.19
1630
+     * @return string
1631
+     */
1632
+    public function get_item_ids() {
1633
+        return implode( ', ', wp_list_pluck( $this->get_cart_details(), 'item_id' ) );
1634 1634
     }
1635 1635
 
1636 1636
     /**
1637
-	 * Get the invoice's payment form.
1638
-	 *
1639
-	 * @since 1.0.19
1640
-	 * @param  string $context View or edit context.
1641
-	 * @return int
1642
-	 */
1643
-	public function get_payment_form( $context = 'view' ) {
1644
-		return intval( $this->get_prop( 'payment_form', $context ) );
1637
+     * Get the invoice's payment form.
1638
+     *
1639
+     * @since 1.0.19
1640
+     * @param  string $context View or edit context.
1641
+     * @return int
1642
+     */
1643
+    public function get_payment_form( $context = 'view' ) {
1644
+        return intval( $this->get_prop( 'payment_form', $context ) );
1645 1645
     }
1646 1646
 
1647 1647
     /**
1648
-	 * Get the invoice's submission id.
1649
-	 *
1650
-	 * @since 1.0.19
1651
-	 * @param  string $context View or edit context.
1652
-	 * @return string
1653
-	 */
1654
-	public function get_submission_id( $context = 'view' ) {
1655
-		return $this->get_prop( 'submission_id', $context );
1648
+     * Get the invoice's submission id.
1649
+     *
1650
+     * @since 1.0.19
1651
+     * @param  string $context View or edit context.
1652
+     * @return string
1653
+     */
1654
+    public function get_submission_id( $context = 'view' ) {
1655
+        return $this->get_prop( 'submission_id', $context );
1656 1656
     }
1657 1657
 
1658 1658
     /**
1659
-	 * Get the invoice's discount code.
1660
-	 *
1661
-	 * @since 1.0.19
1662
-	 * @param  string $context View or edit context.
1663
-	 * @return string
1664
-	 */
1665
-	public function get_discount_code( $context = 'view' ) {
1666
-		return $this->get_prop( 'discount_code', $context );
1659
+     * Get the invoice's discount code.
1660
+     *
1661
+     * @since 1.0.19
1662
+     * @param  string $context View or edit context.
1663
+     * @return string
1664
+     */
1665
+    public function get_discount_code( $context = 'view' ) {
1666
+        return $this->get_prop( 'discount_code', $context );
1667 1667
     }
1668 1668
 
1669 1669
     /**
1670
-	 * Get the invoice's gateway.
1671
-	 *
1672
-	 * @since 1.0.19
1673
-	 * @param  string $context View or edit context.
1674
-	 * @return string
1675
-	 */
1676
-	public function get_gateway( $context = 'view' ) {
1677
-		return $this->get_prop( 'gateway', $context );
1670
+     * Get the invoice's gateway.
1671
+     *
1672
+     * @since 1.0.19
1673
+     * @param  string $context View or edit context.
1674
+     * @return string
1675
+     */
1676
+    public function get_gateway( $context = 'view' ) {
1677
+        return $this->get_prop( 'gateway', $context );
1678 1678
     }
1679 1679
 
1680 1680
     /**
1681
-	 * Get the invoice's gateway display title.
1682
-	 *
1683
-	 * @since 1.0.19
1684
-	 * @return string
1685
-	 */
1681
+     * Get the invoice's gateway display title.
1682
+     *
1683
+     * @since 1.0.19
1684
+     * @return string
1685
+     */
1686 1686
     public function get_gateway_title() {
1687 1687
         $title =  wpinv_get_gateway_checkout_label( $this->get_gateway() );
1688 1688
         return apply_filters( 'wpinv_gateway_title', $title, $this->get_id(), $this );
1689 1689
     }
1690 1690
 
1691 1691
     /**
1692
-	 * Get the invoice's transaction id.
1693
-	 *
1694
-	 * @since 1.0.19
1695
-	 * @param  string $context View or edit context.
1696
-	 * @return string
1697
-	 */
1698
-	public function get_transaction_id( $context = 'view' ) {
1699
-		return $this->get_prop( 'transaction_id', $context );
1692
+     * Get the invoice's transaction id.
1693
+     *
1694
+     * @since 1.0.19
1695
+     * @param  string $context View or edit context.
1696
+     * @return string
1697
+     */
1698
+    public function get_transaction_id( $context = 'view' ) {
1699
+        return $this->get_prop( 'transaction_id', $context );
1700 1700
     }
1701 1701
 
1702 1702
     /**
1703
-	 * Get the invoice's currency.
1704
-	 *
1705
-	 * @since 1.0.19
1706
-	 * @param  string $context View or edit context.
1707
-	 * @return string
1708
-	 */
1709
-	public function get_currency( $context = 'view' ) {
1703
+     * Get the invoice's currency.
1704
+     *
1705
+     * @since 1.0.19
1706
+     * @param  string $context View or edit context.
1707
+     * @return string
1708
+     */
1709
+    public function get_currency( $context = 'view' ) {
1710 1710
         $currency = $this->get_prop( 'currency', $context );
1711 1711
         return empty( $currency ) ? wpinv_get_currency() : $currency;
1712 1712
     }
1713 1713
 
1714 1714
     /**
1715
-	 * Checks if we are charging taxes for this invoice.
1716
-	 *
1717
-	 * @since 1.0.19
1718
-	 * @param  string $context View or edit context.
1719
-	 * @return bool
1720
-	 */
1721
-	public function get_disable_taxes( $context = 'view' ) {
1715
+     * Checks if we are charging taxes for this invoice.
1716
+     *
1717
+     * @since 1.0.19
1718
+     * @param  string $context View or edit context.
1719
+     * @return bool
1720
+     */
1721
+    public function get_disable_taxes( $context = 'view' ) {
1722 1722
         return (bool) $this->get_prop( 'disable_taxes', $context );
1723 1723
     }
1724 1724
 
1725 1725
     /**
1726
-	 * Retrieves the subscription id for an invoice.
1727
-	 *
1728
-	 * @since 1.0.19
1729
-	 * @param  string $context View or edit context.
1730
-	 * @return int
1731
-	 */
1726
+     * Retrieves the subscription id for an invoice.
1727
+     *
1728
+     * @since 1.0.19
1729
+     * @param  string $context View or edit context.
1730
+     * @return int
1731
+     */
1732 1732
     public function get_subscription_id( $context = 'view' ) {
1733
-		return $this->is_renewal() ? $this->get_parent()->get_subscription_id( $context ) : $this->get_prop( 'subscription_id', $context );
1734
-	}
1735
-
1736
-	/**
1737
-	 * Retrieves the remote subscription id for an invoice.
1738
-	 *
1739
-	 * @since 1.0.19
1740
-	 * @param  string $context View or edit context.
1741
-	 * @return int
1742
-	 */
1733
+        return $this->is_renewal() ? $this->get_parent()->get_subscription_id( $context ) : $this->get_prop( 'subscription_id', $context );
1734
+    }
1735
+
1736
+    /**
1737
+     * Retrieves the remote subscription id for an invoice.
1738
+     *
1739
+     * @since 1.0.19
1740
+     * @param  string $context View or edit context.
1741
+     * @return int
1742
+     */
1743 1743
     public function get_remote_subscription_id( $context = 'view' ) {
1744 1744
         $subscription_id = $this->get_prop( 'remote_subscription_id', $context );
1745 1745
 
@@ -1752,12 +1752,12 @@  discard block
 block discarded – undo
1752 1752
     }
1753 1753
 
1754 1754
     /**
1755
-	 * Retrieves the payment meta for an invoice.
1756
-	 *
1757
-	 * @since 1.0.19
1758
-	 * @param  string $context View or edit context.
1759
-	 * @return array
1760
-	 */
1755
+     * Retrieves the payment meta for an invoice.
1756
+     *
1757
+     * @since 1.0.19
1758
+     * @param  string $context View or edit context.
1759
+     * @return array
1760
+     */
1761 1761
     public function get_payment_meta( $context = 'view' ) {
1762 1762
 
1763 1763
         return array(
@@ -1777,31 +1777,31 @@  discard block
 block discarded – undo
1777 1777
     }
1778 1778
 
1779 1779
     /**
1780
-	 * Retrieves the cart details for an invoice.
1781
-	 *
1782
-	 * @since 1.0.19
1783
-	 * @return array
1784
-	 */
1780
+     * Retrieves the cart details for an invoice.
1781
+     *
1782
+     * @since 1.0.19
1783
+     * @return array
1784
+     */
1785 1785
     public function get_cart_details() {
1786 1786
         $items        = $this->get_items();
1787 1787
         $cart_details = array();
1788 1788
 
1789 1789
         foreach ( $items as $item ) {
1790
-			$item->invoice_id = $this->get_id();
1790
+            $item->invoice_id = $this->get_id();
1791 1791
             $cart_details[]   = $item->prepare_data_for_saving();
1792 1792
         }
1793 1793
 
1794 1794
         return $cart_details;
1795
-	}
1795
+    }
1796 1796
 
1797
-	/**
1798
-	 * Retrieves the recurring item.
1799
-	 *
1800
-	 * @return null|GetPaid_Form_Item|int
1801
-	 */
1802
-	public function get_recurring( $object = false ) {
1797
+    /**
1798
+     * Retrieves the recurring item.
1799
+     *
1800
+     * @return null|GetPaid_Form_Item|int
1801
+     */
1802
+    public function get_recurring( $object = false ) {
1803 1803
 
1804
-		// Are we returning an object?
1804
+        // Are we returning an object?
1805 1805
         if ( $object ) {
1806 1806
             return $this->get_item( $this->recurring_item );
1807 1807
         }
@@ -1809,114 +1809,114 @@  discard block
 block discarded – undo
1809 1809
         return $this->recurring_item;
1810 1810
     }
1811 1811
 
1812
-	/**
1813
-	 * Retrieves the subscription name.
1814
-	 *
1815
-	 * @since 1.0.19
1816
-	 * @return string
1817
-	 */
1818
-	public function get_subscription_name() {
1812
+    /**
1813
+     * Retrieves the subscription name.
1814
+     *
1815
+     * @since 1.0.19
1816
+     * @return string
1817
+     */
1818
+    public function get_subscription_name() {
1819 1819
 
1820
-		// Retrieve the recurring name
1820
+        // Retrieve the recurring name
1821 1821
         $item = $this->get_recurring( true );
1822 1822
 
1823
-		// Abort if it does not exist.
1823
+        // Abort if it does not exist.
1824 1824
         if ( empty( $item ) ) {
1825 1825
             return '';
1826 1826
         }
1827 1827
 
1828
-		// Return the item name.
1828
+        // Return the item name.
1829 1829
         return apply_filters( 'wpinv_invoice_get_subscription_name', $item->get_name(), $this );
1830
-	}
1831
-
1832
-	/**
1833
-	 * Retrieves the view url.
1834
-	 *
1835
-	 * @since 1.0.19
1836
-	 * @return string
1837
-	 */
1838
-	public function get_view_url() {
1830
+    }
1831
+
1832
+    /**
1833
+     * Retrieves the view url.
1834
+     *
1835
+     * @since 1.0.19
1836
+     * @return string
1837
+     */
1838
+    public function get_view_url() {
1839 1839
         $invoice_url = get_permalink( $this->get_id() );
1840
-		$invoice_url = add_query_arg( 'invoice_key', $this->get_key(), $invoice_url );
1840
+        $invoice_url = add_query_arg( 'invoice_key', $this->get_key(), $invoice_url );
1841 1841
         return apply_filters( 'wpinv_get_view_url', $invoice_url, $this );
1842
-	}
1842
+    }
1843 1843
 
1844
-	/**
1845
-	 * Retrieves the payment url.
1846
-	 *
1847
-	 * @since 1.0.19
1848
-	 * @return string
1849
-	 */
1850
-	public function get_checkout_payment_url( $deprecated = false, $secret = false ) {
1844
+    /**
1845
+     * Retrieves the payment url.
1846
+     *
1847
+     * @since 1.0.19
1848
+     * @return string
1849
+     */
1850
+    public function get_checkout_payment_url( $deprecated = false, $secret = false ) {
1851 1851
 
1852
-		// Retrieve the checkout url.
1852
+        // Retrieve the checkout url.
1853 1853
         $pay_url = wpinv_get_checkout_uri();
1854 1854
 
1855
-		// Maybe force ssl.
1855
+        // Maybe force ssl.
1856 1856
         if ( is_ssl() ) {
1857 1857
             $pay_url = str_replace( 'http:', 'https:', $pay_url );
1858 1858
         }
1859 1859
 
1860
-		// Add the invoice key.
1861
-		$pay_url = add_query_arg( 'invoice_key', $this->get_key(), $pay_url );
1860
+        // Add the invoice key.
1861
+        $pay_url = add_query_arg( 'invoice_key', $this->get_key(), $pay_url );
1862 1862
 
1863
-		// (Maybe?) add a secret
1863
+        // (Maybe?) add a secret
1864 1864
         if ( $secret ) {
1865 1865
             $pay_url = add_query_arg( array( '_wpipay' => md5( $this->get_user_id() . '::' . $this->get_email() . '::' . $this->get_key() ) ), $pay_url );
1866 1866
         }
1867 1867
 
1868 1868
         return apply_filters( 'wpinv_get_checkout_payment_url', $pay_url, $this, $deprecated, $secret );
1869
-	}
1869
+    }
1870 1870
 	
1871
-	/**
1872
-	 * Retrieves the receipt url.
1873
-	 *
1874
-	 * @since 1.0.19
1875
-	 * @return string
1876
-	 */
1877
-	public function get_receipt_url() {
1878
-
1879
-		// Retrieve the checkout url.
1871
+    /**
1872
+     * Retrieves the receipt url.
1873
+     *
1874
+     * @since 1.0.19
1875
+     * @return string
1876
+     */
1877
+    public function get_receipt_url() {
1878
+
1879
+        // Retrieve the checkout url.
1880 1880
         $receipt_url = wpinv_get_success_page_uri();
1881 1881
 
1882
-		// Maybe force ssl.
1882
+        // Maybe force ssl.
1883 1883
         if ( is_ssl() ) {
1884 1884
             $receipt_url = str_replace( 'http:', 'https:', $receipt_url );
1885 1885
         }
1886 1886
 
1887
-		// Add the invoice key.
1888
-		$receipt_url = add_query_arg( 'invoice_key', $this->get_key(), $receipt_url );
1887
+        // Add the invoice key.
1888
+        $receipt_url = add_query_arg( 'invoice_key', $this->get_key(), $receipt_url );
1889 1889
 
1890 1890
         return apply_filters( 'getpaid_get_invoice_receipt_url', $receipt_url, $this );
1891
-	}
1891
+    }
1892 1892
 	
1893
-	/**
1894
-	 * Retrieves the default status.
1895
-	 *
1896
-	 * @since 1.0.19
1897
-	 * @return string
1898
-	 */
1899
-	public function get_default_status() {
1900
-
1901
-		$type   = $this->get_type();
1902
-		$status = "wpi-$type-pending";
1903
-		return str_replace( '-invoice', '', $status );
1904
-
1905
-	}
1906
-
1907
-    /**
1908
-	 * Magic method for accessing invoice properties.
1909
-	 *
1910
-	 * @since 1.0.15
1911
-	 * @access public
1912
-	 *
1913
-	 * @param string $key Discount data to retrieve
1914
-	 * @param  string $context View or edit context.
1915
-	 * @return mixed Value of the given invoice property (if set).
1916
-	 */
1917
-	public function get( $key, $context = 'view' ) {
1893
+    /**
1894
+     * Retrieves the default status.
1895
+     *
1896
+     * @since 1.0.19
1897
+     * @return string
1898
+     */
1899
+    public function get_default_status() {
1900
+
1901
+        $type   = $this->get_type();
1902
+        $status = "wpi-$type-pending";
1903
+        return str_replace( '-invoice', '', $status );
1904
+
1905
+    }
1906
+
1907
+    /**
1908
+     * Magic method for accessing invoice properties.
1909
+     *
1910
+     * @since 1.0.15
1911
+     * @access public
1912
+     *
1913
+     * @param string $key Discount data to retrieve
1914
+     * @param  string $context View or edit context.
1915
+     * @return mixed Value of the given invoice property (if set).
1916
+     */
1917
+    public function get( $key, $context = 'view' ) {
1918 1918
         return $this->get_prop( $key, $context );
1919
-	}
1919
+    }
1920 1920
 
1921 1921
     /*
1922 1922
 	|--------------------------------------------------------------------------
@@ -1929,130 +1929,130 @@  discard block
 block discarded – undo
1929 1929
     */
1930 1930
 
1931 1931
     /**
1932
-	 * Magic method for setting invoice properties.
1933
-	 *
1934
-	 * @since 1.0.19
1935
-	 * @access public
1936
-	 *
1937
-	 * @param string $key Discount data to retrieve
1938
-	 * @param  mixed $value new value.
1939
-	 * @return mixed Value of the given invoice property (if set).
1940
-	 */
1941
-	public function set( $key, $value ) {
1932
+     * Magic method for setting invoice properties.
1933
+     *
1934
+     * @since 1.0.19
1935
+     * @access public
1936
+     *
1937
+     * @param string $key Discount data to retrieve
1938
+     * @param  mixed $value new value.
1939
+     * @return mixed Value of the given invoice property (if set).
1940
+     */
1941
+    public function set( $key, $value ) {
1942 1942
 
1943 1943
         $setter = "set_$key";
1944 1944
         if ( is_callable( array( $this, $setter ) ) ) {
1945 1945
             $this->{$setter}( $value );
1946 1946
         }
1947 1947
 
1948
-	}
1948
+    }
1949 1949
 
1950
-	/**
1951
-	 * Sets item status.
1952
-	 *
1953
-	 * @since 1.0.19
1954
-	 * @param string $new_status    New status.
1955
-	 * @param string $note          Optional note to add.
1956
-	 * @param bool   $manual_update Is this a manual status change?.
1957
-	 * @return array details of change.
1958
-	 */
1959
-	public function set_status( $new_status, $note = '', $manual_update = false ) {
1960
-		$old_status = $this->get_status();
1950
+    /**
1951
+     * Sets item status.
1952
+     *
1953
+     * @since 1.0.19
1954
+     * @param string $new_status    New status.
1955
+     * @param string $note          Optional note to add.
1956
+     * @param bool   $manual_update Is this a manual status change?.
1957
+     * @return array details of change.
1958
+     */
1959
+    public function set_status( $new_status, $note = '', $manual_update = false ) {
1960
+        $old_status = $this->get_status();
1961 1961
 
1962
-		$statuses = $this->get_all_statuses();
1962
+        $statuses = $this->get_all_statuses();
1963 1963
 
1964
-		if ( isset( $statuses[ 'draft' ] ) ) {
1965
-			unset( $statuses[ 'draft' ] );
1966
-		}
1964
+        if ( isset( $statuses[ 'draft' ] ) ) {
1965
+            unset( $statuses[ 'draft' ] );
1966
+        }
1967 1967
 
1968
-		$this->set_prop( 'status', $new_status );
1968
+        $this->set_prop( 'status', $new_status );
1969 1969
 
1970
-		// If setting the status, ensure it's set to a valid status.
1971
-		if ( true === $this->object_read ) {
1970
+        // If setting the status, ensure it's set to a valid status.
1971
+        if ( true === $this->object_read ) {
1972 1972
 
1973
-			// Only allow valid new status.
1974
-			if ( ! array_key_exists( $new_status, $statuses ) ) {
1975
-				$new_status = $this->get_default_status();
1976
-			}
1973
+            // Only allow valid new status.
1974
+            if ( ! array_key_exists( $new_status, $statuses ) ) {
1975
+                $new_status = $this->get_default_status();
1976
+            }
1977 1977
 
1978
-			// If the old status is set but unknown (e.g. draft) assume its pending for action usage.
1979
-			if ( $old_status && ! array_key_exists( $new_status, $statuses ) ) {
1980
-				$old_status = $this->get_default_status();
1981
-			}
1978
+            // If the old status is set but unknown (e.g. draft) assume its pending for action usage.
1979
+            if ( $old_status && ! array_key_exists( $new_status, $statuses ) ) {
1980
+                $old_status = $this->get_default_status();
1981
+            }
1982 1982
 
1983
-			// Paid - Renewal (i.e when duplicating a parent invoice )
1984
-			if ( $new_status == 'wpi-pending' && $old_status == 'publish' && ! $this->get_id() ) {
1985
-				$old_status = 'wpi-pending';
1986
-			}
1983
+            // Paid - Renewal (i.e when duplicating a parent invoice )
1984
+            if ( $new_status == 'wpi-pending' && $old_status == 'publish' && ! $this->get_id() ) {
1985
+                $old_status = 'wpi-pending';
1986
+            }
1987 1987
 
1988
-			if ( $old_status !== $new_status ) {
1989
-				$this->status_transition = array(
1990
-					'from'   => ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $old_status,
1991
-					'to'     => $new_status,
1992
-					'note'   => $note,
1993
-					'manual' => (bool) $manual_update,
1994
-				);
1988
+            if ( $old_status !== $new_status ) {
1989
+                $this->status_transition = array(
1990
+                    'from'   => ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $old_status,
1991
+                    'to'     => $new_status,
1992
+                    'note'   => $note,
1993
+                    'manual' => (bool) $manual_update,
1994
+                );
1995 1995
 
1996
-				if ( $manual_update ) {
1997
-					do_action( 'getpaid_' . $this->object_type .'_edit_status', $this->get_id(), $new_status );
1998
-				}
1996
+                if ( $manual_update ) {
1997
+                    do_action( 'getpaid_' . $this->object_type .'_edit_status', $this->get_id(), $new_status );
1998
+                }
1999 1999
 
2000
-				$this->maybe_set_date_paid();
2000
+                $this->maybe_set_date_paid();
2001 2001
 
2002
-			}
2002
+            }
2003 2003
 
2004
-		}
2004
+        }
2005 2005
 
2006
-		return array(
2007
-			'from' => $old_status,
2008
-			'to'   => $new_status,
2009
-		);
2010
-	}
2006
+        return array(
2007
+            'from' => $old_status,
2008
+            'to'   => $new_status,
2009
+        );
2010
+    }
2011 2011
 
2012
-	/**
2013
-	 * Maybe set date paid.
2014
-	 *
2015
-	 * Sets the date paid variable when transitioning to the payment complete
2016
-	 * order status.
2017
-	 *
2018
-	 * @since 1.0.19
2019
-	 */
2020
-	public function maybe_set_date_paid() {
2012
+    /**
2013
+     * Maybe set date paid.
2014
+     *
2015
+     * Sets the date paid variable when transitioning to the payment complete
2016
+     * order status.
2017
+     *
2018
+     * @since 1.0.19
2019
+     */
2020
+    public function maybe_set_date_paid() {
2021 2021
 
2022
-		if ( ! $this->get_date_completed( 'edit' ) && $this->is_paid() ) {
2023
-			$this->set_date_completed( current_time( 'mysql' ) );
2024
-		}
2025
-	}
2022
+        if ( ! $this->get_date_completed( 'edit' ) && $this->is_paid() ) {
2023
+            $this->set_date_completed( current_time( 'mysql' ) );
2024
+        }
2025
+    }
2026 2026
 
2027 2027
     /**
2028
-	 * Set parent invoice ID.
2029
-	 *
2030
-	 * @since 1.0.19
2031
-	 */
2032
-	public function set_parent_id( $value ) {
2033
-		if ( $value && ( $value === $this->get_id() ) ) {
2034
-			return;
2035
-		}
2036
-		$this->set_prop( 'parent_id', absint( $value ) );
2028
+     * Set parent invoice ID.
2029
+     *
2030
+     * @since 1.0.19
2031
+     */
2032
+    public function set_parent_id( $value ) {
2033
+        if ( $value && ( $value === $this->get_id() ) ) {
2034
+            return;
2035
+        }
2036
+        $this->set_prop( 'parent_id', absint( $value ) );
2037 2037
     }
2038 2038
 
2039 2039
     /**
2040
-	 * Set plugin version when the invoice was created.
2041
-	 *
2042
-	 * @since 1.0.19
2043
-	 */
2044
-	public function set_version( $value ) {
2045
-		$this->set_prop( 'version', $value );
2040
+     * Set plugin version when the invoice was created.
2041
+     *
2042
+     * @since 1.0.19
2043
+     */
2044
+    public function set_version( $value ) {
2045
+        $this->set_prop( 'version', $value );
2046 2046
     }
2047
-
2048
-    /**
2049
-	 * Set date when the invoice was created.
2050
-	 *
2051
-	 * @since 1.0.19
2052
-	 * @param string $value Value to set.
2047
+
2048
+    /**
2049
+     * Set date when the invoice was created.
2050
+     *
2051
+     * @since 1.0.19
2052
+     * @param string $value Value to set.
2053 2053
      * @return bool Whether or not the date was set.
2054
-	 */
2055
-	public function set_date_created( $value ) {
2054
+     */
2055
+    public function set_date_created( $value ) {
2056 2056
         $date = strtotime( $value );
2057 2057
 
2058 2058
         if ( $date && $value !== '0000-00-00 00:00:00' ) {
@@ -2060,19 +2060,19 @@  discard block
 block discarded – undo
2060 2060
             return true;
2061 2061
         }
2062 2062
 
2063
-		$this->set_prop( 'date_created', '' );
2064
-		return false;
2063
+        $this->set_prop( 'date_created', '' );
2064
+        return false;
2065 2065
 
2066 2066
     }
2067 2067
 
2068 2068
     /**
2069
-	 * Set date invoice due date.
2070
-	 *
2071
-	 * @since 1.0.19
2072
-	 * @param string $value Value to set.
2069
+     * Set date invoice due date.
2070
+     *
2071
+     * @since 1.0.19
2072
+     * @param string $value Value to set.
2073 2073
      * @return bool Whether or not the date was set.
2074
-	 */
2075
-	public function set_due_date( $value ) {
2074
+     */
2075
+    public function set_due_date( $value ) {
2076 2076
         $date = strtotime( $value );
2077 2077
 
2078 2078
         if ( $date && $value !== '0000-00-00 00:00:00' ) {
@@ -2080,29 +2080,29 @@  discard block
 block discarded – undo
2080 2080
             return true;
2081 2081
         }
2082 2082
 
2083
-		$this->set_prop( 'due_date', '' );
2083
+        $this->set_prop( 'due_date', '' );
2084 2084
         return false;
2085 2085
 
2086 2086
     }
2087 2087
 
2088 2088
     /**
2089
-	 * Alias of self::set_due_date().
2090
-	 *
2091
-	 * @since 1.0.19
2092
-	 * @param  string $value New name.
2093
-	 */
2094
-	public function set_date_due( $value ) {
2095
-		$this->set_due_date( $value );
2089
+     * Alias of self::set_due_date().
2090
+     *
2091
+     * @since 1.0.19
2092
+     * @param  string $value New name.
2093
+     */
2094
+    public function set_date_due( $value ) {
2095
+        $this->set_due_date( $value );
2096 2096
     }
2097 2097
 
2098 2098
     /**
2099
-	 * Set date invoice was completed.
2100
-	 *
2101
-	 * @since 1.0.19
2102
-	 * @param string $value Value to set.
2099
+     * Set date invoice was completed.
2100
+     *
2101
+     * @since 1.0.19
2102
+     * @param string $value Value to set.
2103 2103
      * @return bool Whether or not the date was set.
2104
-	 */
2105
-	public function set_completed_date( $value ) {
2104
+     */
2105
+    public function set_completed_date( $value ) {
2106 2106
         $date = strtotime( $value );
2107 2107
 
2108 2108
         if ( $date && $value !== '0000-00-00 00:00:00'  ) {
@@ -2110,29 +2110,29 @@  discard block
 block discarded – undo
2110 2110
             return true;
2111 2111
         }
2112 2112
 
2113
-		$this->set_prop( 'completed_date', '' );
2113
+        $this->set_prop( 'completed_date', '' );
2114 2114
         return false;
2115 2115
 
2116 2116
     }
2117 2117
 
2118 2118
     /**
2119
-	 * Alias of self::set_completed_date().
2120
-	 *
2121
-	 * @since 1.0.19
2122
-	 * @param  string $value New name.
2123
-	 */
2124
-	public function set_date_completed( $value ) {
2125
-		$this->set_completed_date( $value );
2119
+     * Alias of self::set_completed_date().
2120
+     *
2121
+     * @since 1.0.19
2122
+     * @param  string $value New name.
2123
+     */
2124
+    public function set_date_completed( $value ) {
2125
+        $this->set_completed_date( $value );
2126 2126
     }
2127 2127
 
2128 2128
     /**
2129
-	 * Set date when the invoice was last modified.
2130
-	 *
2131
-	 * @since 1.0.19
2132
-	 * @param string $value Value to set.
2129
+     * Set date when the invoice was last modified.
2130
+     *
2131
+     * @since 1.0.19
2132
+     * @param string $value Value to set.
2133 2133
      * @return bool Whether or not the date was set.
2134
-	 */
2135
-	public function set_date_modified( $value ) {
2134
+     */
2135
+    public function set_date_modified( $value ) {
2136 2136
         $date = strtotime( $value );
2137 2137
 
2138 2138
         if ( $date && $value !== '0000-00-00 00:00:00' ) {
@@ -2140,798 +2140,798 @@  discard block
 block discarded – undo
2140 2140
             return true;
2141 2141
         }
2142 2142
 
2143
-		$this->set_prop( 'date_modified', '' );
2143
+        $this->set_prop( 'date_modified', '' );
2144 2144
         return false;
2145 2145
 
2146 2146
     }
2147 2147
 
2148 2148
     /**
2149
-	 * Set the invoice number.
2150
-	 *
2151
-	 * @since 1.0.19
2152
-	 * @param  string $value New number.
2153
-	 */
2154
-	public function set_number( $value ) {
2149
+     * Set the invoice number.
2150
+     *
2151
+     * @since 1.0.19
2152
+     * @param  string $value New number.
2153
+     */
2154
+    public function set_number( $value ) {
2155 2155
         $number = sanitize_text_field( $value );
2156
-		$this->set_prop( 'number', $number );
2156
+        $this->set_prop( 'number', $number );
2157 2157
     }
2158 2158
 
2159 2159
     /**
2160
-	 * Set the invoice type.
2161
-	 *
2162
-	 * @since 1.0.19
2163
-	 * @param  string $value Type.
2164
-	 */
2165
-	public function set_type( $value ) {
2160
+     * Set the invoice type.
2161
+     *
2162
+     * @since 1.0.19
2163
+     * @param  string $value Type.
2164
+     */
2165
+    public function set_type( $value ) {
2166 2166
         $type = sanitize_text_field( str_replace( 'wpi_', '', $value ) );
2167
-		$this->set_prop( 'type', $type );
2168
-	}
2167
+        $this->set_prop( 'type', $type );
2168
+    }
2169 2169
 
2170 2170
     /**
2171
-	 * Set the invoice post type.
2172
-	 *
2173
-	 * @since 1.0.19
2174
-	 * @param  string $value Post type.
2175
-	 */
2176
-	public function set_post_type( $value ) {
2171
+     * Set the invoice post type.
2172
+     *
2173
+     * @since 1.0.19
2174
+     * @param  string $value Post type.
2175
+     */
2176
+    public function set_post_type( $value ) {
2177 2177
         if ( getpaid_is_invoice_post_type( $value ) ) {
2178
-			$this->set_type( $value );
2178
+            $this->set_type( $value );
2179 2179
             $this->set_prop( 'post_type', $value );
2180 2180
         }
2181 2181
     }
2182 2182
 
2183 2183
     /**
2184
-	 * Set the invoice key.
2185
-	 *
2186
-	 * @since 1.0.19
2187
-	 * @param  string $value New key.
2188
-	 */
2189
-	public function set_key( $value ) {
2184
+     * Set the invoice key.
2185
+     *
2186
+     * @since 1.0.19
2187
+     * @param  string $value New key.
2188
+     */
2189
+    public function set_key( $value ) {
2190 2190
         $key = sanitize_text_field( $value );
2191
-		$this->set_prop( 'key', $key );
2191
+        $this->set_prop( 'key', $key );
2192 2192
     }
2193 2193
 
2194 2194
     /**
2195
-	 * Set the invoice mode.
2196
-	 *
2197
-	 * @since 1.0.19
2198
-	 * @param  string $value mode.
2199
-	 */
2200
-	public function set_mode( $value ) {
2195
+     * Set the invoice mode.
2196
+     *
2197
+     * @since 1.0.19
2198
+     * @param  string $value mode.
2199
+     */
2200
+    public function set_mode( $value ) {
2201 2201
         if ( in_array( $value, array( 'live', 'test' ) ) ) {
2202 2202
             $this->set_prop( 'mode', $value );
2203 2203
         }
2204 2204
     }
2205 2205
 
2206 2206
     /**
2207
-	 * Set the invoice path.
2208
-	 *
2209
-	 * @since 1.0.19
2210
-	 * @param  string $value path.
2211
-	 */
2212
-	public function set_path( $value ) {
2207
+     * Set the invoice path.
2208
+     *
2209
+     * @since 1.0.19
2210
+     * @param  string $value path.
2211
+     */
2212
+    public function set_path( $value ) {
2213 2213
         $this->set_prop( 'path', $value );
2214 2214
     }
2215 2215
 
2216 2216
     /**
2217
-	 * Set the invoice name.
2218
-	 *
2219
-	 * @since 1.0.19
2220
-	 * @param  string $value New name.
2221
-	 */
2222
-	public function set_name( $value ) {
2217
+     * Set the invoice name.
2218
+     *
2219
+     * @since 1.0.19
2220
+     * @param  string $value New name.
2221
+     */
2222
+    public function set_name( $value ) {
2223 2223
         $name = sanitize_text_field( $value );
2224
-		$this->set_prop( 'name', $name );
2224
+        $this->set_prop( 'name', $name );
2225 2225
     }
2226 2226
 
2227 2227
     /**
2228
-	 * Alias of self::set_name().
2229
-	 *
2230
-	 * @since 1.0.19
2231
-	 * @param  string $value New name.
2232
-	 */
2233
-	public function set_title( $value ) {
2234
-		$this->set_name( $value );
2228
+     * Alias of self::set_name().
2229
+     *
2230
+     * @since 1.0.19
2231
+     * @param  string $value New name.
2232
+     */
2233
+    public function set_title( $value ) {
2234
+        $this->set_name( $value );
2235 2235
     }
2236 2236
 
2237 2237
     /**
2238
-	 * Set the invoice description.
2239
-	 *
2240
-	 * @since 1.0.19
2241
-	 * @param  string $value New description.
2242
-	 */
2243
-	public function set_description( $value ) {
2238
+     * Set the invoice description.
2239
+     *
2240
+     * @since 1.0.19
2241
+     * @param  string $value New description.
2242
+     */
2243
+    public function set_description( $value ) {
2244 2244
         $description = wp_kses_post( $value );
2245
-		$this->set_prop( 'description', $description );
2245
+        $this->set_prop( 'description', $description );
2246
+    }
2247
+
2248
+    /**
2249
+     * Alias of self::set_description().
2250
+     *
2251
+     * @since 1.0.19
2252
+     * @param  string $value New description.
2253
+     */
2254
+    public function set_excerpt( $value ) {
2255
+        $this->set_description( $value );
2256
+    }
2257
+
2258
+    /**
2259
+     * Alias of self::set_description().
2260
+     *
2261
+     * @since 1.0.19
2262
+     * @param  string $value New description.
2263
+     */
2264
+    public function set_summary( $value ) {
2265
+        $this->set_description( $value );
2266
+    }
2267
+
2268
+    /**
2269
+     * Set the receiver of the invoice.
2270
+     *
2271
+     * @since 1.0.19
2272
+     * @param  int $value New author.
2273
+     */
2274
+    public function set_author( $value ) {
2275
+        $user = get_user_by( 'id', (int) $value );
2276
+
2277
+        if ( $user && $user->ID ) {
2278
+            $this->set_prop( 'author', $user->ID );
2279
+            $this->set_prop( 'email', $user->user_email );
2280
+        }
2281
+
2282
+    }
2283
+
2284
+    /**
2285
+     * Alias of self::set_author().
2286
+     *
2287
+     * @since 1.0.19
2288
+     * @param  int $value New user id.
2289
+     */
2290
+    public function set_user_id( $value ) {
2291
+        $this->set_author( $value );
2292
+    }
2293
+
2294
+    /**
2295
+     * Alias of self::set_author().
2296
+     *
2297
+     * @since 1.0.19
2298
+     * @param  int $value New user id.
2299
+     */
2300
+    public function set_customer_id( $value ) {
2301
+        $this->set_author( $value );
2302
+    }
2303
+
2304
+    /**
2305
+     * Set the customer's ip.
2306
+     *
2307
+     * @since 1.0.19
2308
+     * @param  string $value ip address.
2309
+     */
2310
+    public function set_ip( $value ) {
2311
+        $this->set_prop( 'ip', $value );
2312
+    }
2313
+
2314
+    /**
2315
+     * Alias of self::set_ip().
2316
+     *
2317
+     * @since 1.0.19
2318
+     * @param  string $value ip address.
2319
+     */
2320
+    public function set_user_ip( $value ) {
2321
+        $this->set_ip( $value );
2322
+    }
2323
+
2324
+    /**
2325
+     * Set the customer's first name.
2326
+     *
2327
+     * @since 1.0.19
2328
+     * @param  string $value first name.
2329
+     */
2330
+    public function set_first_name( $value ) {
2331
+        $this->set_prop( 'first_name', $value );
2332
+    }
2333
+
2334
+    /**
2335
+     * Alias of self::set_first_name().
2336
+     *
2337
+     * @since 1.0.19
2338
+     * @param  string $value first name.
2339
+     */
2340
+    public function set_user_first_name( $value ) {
2341
+        $this->set_first_name( $value );
2342
+    }
2343
+
2344
+    /**
2345
+     * Alias of self::set_first_name().
2346
+     *
2347
+     * @since 1.0.19
2348
+     * @param  string $value first name.
2349
+     */
2350
+    public function set_customer_first_name( $value ) {
2351
+        $this->set_first_name( $value );
2352
+    }
2353
+
2354
+    /**
2355
+     * Set the customer's last name.
2356
+     *
2357
+     * @since 1.0.19
2358
+     * @param  string $value last name.
2359
+     */
2360
+    public function set_last_name( $value ) {
2361
+        $this->set_prop( 'last_name', $value );
2246 2362
     }
2247 2363
 
2248 2364
     /**
2249
-	 * Alias of self::set_description().
2250
-	 *
2251
-	 * @since 1.0.19
2252
-	 * @param  string $value New description.
2253
-	 */
2254
-	public function set_excerpt( $value ) {
2255
-		$this->set_description( $value );
2365
+     * Alias of self::set_last_name().
2366
+     *
2367
+     * @since 1.0.19
2368
+     * @param  string $value last name.
2369
+     */
2370
+    public function set_user_last_name( $value ) {
2371
+        $this->set_last_name( $value );
2372
+    }
2373
+
2374
+    /**
2375
+     * Alias of self::set_last_name().
2376
+     *
2377
+     * @since 1.0.19
2378
+     * @param  string $value last name.
2379
+     */
2380
+    public function set_customer_last_name( $value ) {
2381
+        $this->set_last_name( $value );
2382
+    }
2383
+
2384
+    /**
2385
+     * Set the customer's phone number.
2386
+     *
2387
+     * @since 1.0.19
2388
+     * @param  string $value phone.
2389
+     */
2390
+    public function set_phone( $value ) {
2391
+        $this->set_prop( 'phone', $value );
2256 2392
     }
2257 2393
 
2258 2394
     /**
2259
-	 * Alias of self::set_description().
2260
-	 *
2261
-	 * @since 1.0.19
2262
-	 * @param  string $value New description.
2263
-	 */
2264
-	public function set_summary( $value ) {
2265
-		$this->set_description( $value );
2395
+     * Alias of self::set_phone().
2396
+     *
2397
+     * @since 1.0.19
2398
+     * @param  string $value phone.
2399
+     */
2400
+    public function set_user_phone( $value ) {
2401
+        $this->set_phone( $value );
2266 2402
     }
2267 2403
 
2268 2404
     /**
2269
-	 * Set the receiver of the invoice.
2270
-	 *
2271
-	 * @since 1.0.19
2272
-	 * @param  int $value New author.
2273
-	 */
2274
-	public function set_author( $value ) {
2275
-		$user = get_user_by( 'id', (int) $value );
2405
+     * Alias of self::set_phone().
2406
+     *
2407
+     * @since 1.0.19
2408
+     * @param  string $value phone.
2409
+     */
2410
+    public function set_customer_phone( $value ) {
2411
+        $this->set_phone( $value );
2412
+    }
2276 2413
 
2277
-		if ( $user && $user->ID ) {
2278
-			$this->set_prop( 'author', $user->ID );
2279
-			$this->set_prop( 'email', $user->user_email );
2280
-		}
2414
+    /**
2415
+     * Alias of self::set_phone().
2416
+     *
2417
+     * @since 1.0.19
2418
+     * @param  string $value phone.
2419
+     */
2420
+    public function set_phone_number( $value ) {
2421
+        $this->set_phone( $value );
2422
+    }
2281 2423
 
2424
+    /**
2425
+     * Set the customer's email address.
2426
+     *
2427
+     * @since 1.0.19
2428
+     * @param  string $value email address.
2429
+     */
2430
+    public function set_email( $value ) {
2431
+        $this->set_prop( 'email', $value );
2282 2432
     }
2283 2433
 
2284 2434
     /**
2285
-	 * Alias of self::set_author().
2286
-	 *
2287
-	 * @since 1.0.19
2288
-	 * @param  int $value New user id.
2289
-	 */
2290
-	public function set_user_id( $value ) {
2291
-		$this->set_author( $value );
2435
+     * Alias of self::set_email().
2436
+     *
2437
+     * @since 1.0.19
2438
+     * @param  string $value email address.
2439
+     */
2440
+    public function set_user_email( $value ) {
2441
+        $this->set_email( $value );
2292 2442
     }
2293 2443
 
2294 2444
     /**
2295
-	 * Alias of self::set_author().
2296
-	 *
2297
-	 * @since 1.0.19
2298
-	 * @param  int $value New user id.
2299
-	 */
2300
-	public function set_customer_id( $value ) {
2301
-		$this->set_author( $value );
2445
+     * Alias of self::set_email().
2446
+     *
2447
+     * @since 1.0.19
2448
+     * @param  string $value email address.
2449
+     */
2450
+    public function set_email_address( $value ) {
2451
+        $this->set_email( $value );
2302 2452
     }
2303 2453
 
2304 2454
     /**
2305
-	 * Set the customer's ip.
2306
-	 *
2307
-	 * @since 1.0.19
2308
-	 * @param  string $value ip address.
2309
-	 */
2310
-	public function set_ip( $value ) {
2311
-		$this->set_prop( 'ip', $value );
2455
+     * Alias of self::set_email().
2456
+     *
2457
+     * @since 1.0.19
2458
+     * @param  string $value email address.
2459
+     */
2460
+    public function set_customer_email( $value ) {
2461
+        $this->set_email( $value );
2312 2462
     }
2313 2463
 
2314 2464
     /**
2315
-	 * Alias of self::set_ip().
2316
-	 *
2317
-	 * @since 1.0.19
2318
-	 * @param  string $value ip address.
2319
-	 */
2320
-	public function set_user_ip( $value ) {
2321
-		$this->set_ip( $value );
2465
+     * Set the customer's country.
2466
+     *
2467
+     * @since 1.0.19
2468
+     * @param  string $value country.
2469
+     */
2470
+    public function set_country( $value ) {
2471
+        $this->set_prop( 'country', $value );
2322 2472
     }
2323 2473
 
2324 2474
     /**
2325
-	 * Set the customer's first name.
2326
-	 *
2327
-	 * @since 1.0.19
2328
-	 * @param  string $value first name.
2329
-	 */
2330
-	public function set_first_name( $value ) {
2331
-		$this->set_prop( 'first_name', $value );
2475
+     * Alias of self::set_country().
2476
+     *
2477
+     * @since 1.0.19
2478
+     * @param  string $value country.
2479
+     */
2480
+    public function set_user_country( $value ) {
2481
+        $this->set_country( $value );
2332 2482
     }
2333 2483
 
2334 2484
     /**
2335
-	 * Alias of self::set_first_name().
2336
-	 *
2337
-	 * @since 1.0.19
2338
-	 * @param  string $value first name.
2339
-	 */
2340
-	public function set_user_first_name( $value ) {
2341
-		$this->set_first_name( $value );
2485
+     * Alias of self::set_country().
2486
+     *
2487
+     * @since 1.0.19
2488
+     * @param  string $value country.
2489
+     */
2490
+    public function set_customer_country( $value ) {
2491
+        $this->set_country( $value );
2342 2492
     }
2343 2493
 
2344 2494
     /**
2345
-	 * Alias of self::set_first_name().
2346
-	 *
2347
-	 * @since 1.0.19
2348
-	 * @param  string $value first name.
2349
-	 */
2350
-	public function set_customer_first_name( $value ) {
2351
-		$this->set_first_name( $value );
2495
+     * Set the customer's state.
2496
+     *
2497
+     * @since 1.0.19
2498
+     * @param  string $value state.
2499
+     */
2500
+    public function set_state( $value ) {
2501
+        $this->set_prop( 'state', $value );
2352 2502
     }
2353 2503
 
2354 2504
     /**
2355
-	 * Set the customer's last name.
2356
-	 *
2357
-	 * @since 1.0.19
2358
-	 * @param  string $value last name.
2359
-	 */
2360
-	public function set_last_name( $value ) {
2361
-		$this->set_prop( 'last_name', $value );
2505
+     * Alias of self::set_state().
2506
+     *
2507
+     * @since 1.0.19
2508
+     * @param  string $value state.
2509
+     */
2510
+    public function set_user_state( $value ) {
2511
+        $this->set_state( $value );
2362 2512
     }
2363 2513
 
2364 2514
     /**
2365
-	 * Alias of self::set_last_name().
2366
-	 *
2367
-	 * @since 1.0.19
2368
-	 * @param  string $value last name.
2369
-	 */
2370
-	public function set_user_last_name( $value ) {
2371
-		$this->set_last_name( $value );
2515
+     * Alias of self::set_state().
2516
+     *
2517
+     * @since 1.0.19
2518
+     * @param  string $value state.
2519
+     */
2520
+    public function set_customer_state( $value ) {
2521
+        $this->set_state( $value );
2372 2522
     }
2373 2523
 
2374 2524
     /**
2375
-	 * Alias of self::set_last_name().
2376
-	 *
2377
-	 * @since 1.0.19
2378
-	 * @param  string $value last name.
2379
-	 */
2380
-	public function set_customer_last_name( $value ) {
2381
-		$this->set_last_name( $value );
2525
+     * Set the customer's city.
2526
+     *
2527
+     * @since 1.0.19
2528
+     * @param  string $value city.
2529
+     */
2530
+    public function set_city( $value ) {
2531
+        $this->set_prop( 'city', $value );
2382 2532
     }
2383 2533
 
2384 2534
     /**
2385
-	 * Set the customer's phone number.
2386
-	 *
2387
-	 * @since 1.0.19
2388
-	 * @param  string $value phone.
2389
-	 */
2390
-	public function set_phone( $value ) {
2391
-		$this->set_prop( 'phone', $value );
2535
+     * Alias of self::set_city().
2536
+     *
2537
+     * @since 1.0.19
2538
+     * @param  string $value city.
2539
+     */
2540
+    public function set_user_city( $value ) {
2541
+        $this->set_city( $value );
2392 2542
     }
2393 2543
 
2394 2544
     /**
2395
-	 * Alias of self::set_phone().
2396
-	 *
2397
-	 * @since 1.0.19
2398
-	 * @param  string $value phone.
2399
-	 */
2400
-	public function set_user_phone( $value ) {
2401
-		$this->set_phone( $value );
2545
+     * Alias of self::set_city().
2546
+     *
2547
+     * @since 1.0.19
2548
+     * @param  string $value city.
2549
+     */
2550
+    public function set_customer_city( $value ) {
2551
+        $this->set_city( $value );
2402 2552
     }
2403 2553
 
2404 2554
     /**
2405
-	 * Alias of self::set_phone().
2406
-	 *
2407
-	 * @since 1.0.19
2408
-	 * @param  string $value phone.
2409
-	 */
2410
-	public function set_customer_phone( $value ) {
2411
-		$this->set_phone( $value );
2555
+     * Set the customer's zip code.
2556
+     *
2557
+     * @since 1.0.19
2558
+     * @param  string $value zip.
2559
+     */
2560
+    public function set_zip( $value ) {
2561
+        $this->set_prop( 'zip', $value );
2412 2562
     }
2413 2563
 
2414 2564
     /**
2415
-	 * Alias of self::set_phone().
2416
-	 *
2417
-	 * @since 1.0.19
2418
-	 * @param  string $value phone.
2419
-	 */
2420
-	public function set_phone_number( $value ) {
2421
-		$this->set_phone( $value );
2565
+     * Alias of self::set_zip().
2566
+     *
2567
+     * @since 1.0.19
2568
+     * @param  string $value zip.
2569
+     */
2570
+    public function set_user_zip( $value ) {
2571
+        $this->set_zip( $value );
2422 2572
     }
2423 2573
 
2424 2574
     /**
2425
-	 * Set the customer's email address.
2426
-	 *
2427
-	 * @since 1.0.19
2428
-	 * @param  string $value email address.
2429
-	 */
2430
-	public function set_email( $value ) {
2431
-		$this->set_prop( 'email', $value );
2575
+     * Alias of self::set_zip().
2576
+     *
2577
+     * @since 1.0.19
2578
+     * @param  string $value zip.
2579
+     */
2580
+    public function set_customer_zip( $value ) {
2581
+        $this->set_zip( $value );
2432 2582
     }
2433 2583
 
2434 2584
     /**
2435
-	 * Alias of self::set_email().
2436
-	 *
2437
-	 * @since 1.0.19
2438
-	 * @param  string $value email address.
2439
-	 */
2440
-	public function set_user_email( $value ) {
2441
-		$this->set_email( $value );
2585
+     * Set the customer's company.
2586
+     *
2587
+     * @since 1.0.19
2588
+     * @param  string $value company.
2589
+     */
2590
+    public function set_company( $value ) {
2591
+        $this->set_prop( 'company', $value );
2442 2592
     }
2443 2593
 
2444 2594
     /**
2445
-	 * Alias of self::set_email().
2446
-	 *
2447
-	 * @since 1.0.19
2448
-	 * @param  string $value email address.
2449
-	 */
2450
-	public function set_email_address( $value ) {
2451
-		$this->set_email( $value );
2595
+     * Alias of self::set_company().
2596
+     *
2597
+     * @since 1.0.19
2598
+     * @param  string $value company.
2599
+     */
2600
+    public function set_user_company( $value ) {
2601
+        $this->set_company( $value );
2452 2602
     }
2453 2603
 
2454 2604
     /**
2455
-	 * Alias of self::set_email().
2456
-	 *
2457
-	 * @since 1.0.19
2458
-	 * @param  string $value email address.
2459
-	 */
2460
-	public function set_customer_email( $value ) {
2461
-		$this->set_email( $value );
2605
+     * Alias of self::set_company().
2606
+     *
2607
+     * @since 1.0.19
2608
+     * @param  string $value company.
2609
+     */
2610
+    public function set_customer_company( $value ) {
2611
+        $this->set_company( $value );
2462 2612
     }
2463 2613
 
2464 2614
     /**
2465
-	 * Set the customer's country.
2466
-	 *
2467
-	 * @since 1.0.19
2468
-	 * @param  string $value country.
2469
-	 */
2470
-	public function set_country( $value ) {
2471
-		$this->set_prop( 'country', $value );
2615
+     * Set the customer's company id.
2616
+     *
2617
+     * @since 1.0.19
2618
+     * @param  string $value company id.
2619
+     */
2620
+    public function set_company_id( $value ) {
2621
+        $this->set_prop( 'company_id', $value );
2472 2622
     }
2473 2623
 
2474 2624
     /**
2475
-	 * Alias of self::set_country().
2476
-	 *
2477
-	 * @since 1.0.19
2478
-	 * @param  string $value country.
2479
-	 */
2480
-	public function set_user_country( $value ) {
2481
-		$this->set_country( $value );
2625
+     * Set the customer's var number.
2626
+     *
2627
+     * @since 1.0.19
2628
+     * @param  string $value var number.
2629
+     */
2630
+    public function set_vat_number( $value ) {
2631
+        $this->set_prop( 'vat_number', $value );
2482 2632
     }
2483 2633
 
2484 2634
     /**
2485
-	 * Alias of self::set_country().
2486
-	 *
2487
-	 * @since 1.0.19
2488
-	 * @param  string $value country.
2489
-	 */
2490
-	public function set_customer_country( $value ) {
2491
-		$this->set_country( $value );
2635
+     * Alias of self::set_vat_number().
2636
+     *
2637
+     * @since 1.0.19
2638
+     * @param  string $value var number.
2639
+     */
2640
+    public function set_user_vat_number( $value ) {
2641
+        $this->set_vat_number( $value );
2492 2642
     }
2493 2643
 
2494 2644
     /**
2495
-	 * Set the customer's state.
2496
-	 *
2497
-	 * @since 1.0.19
2498
-	 * @param  string $value state.
2499
-	 */
2500
-	public function set_state( $value ) {
2501
-		$this->set_prop( 'state', $value );
2645
+     * Alias of self::set_vat_number().
2646
+     *
2647
+     * @since 1.0.19
2648
+     * @param  string $value var number.
2649
+     */
2650
+    public function set_customer_vat_number( $value ) {
2651
+        $this->set_vat_number( $value );
2502 2652
     }
2503 2653
 
2504 2654
     /**
2505
-	 * Alias of self::set_state().
2506
-	 *
2507
-	 * @since 1.0.19
2508
-	 * @param  string $value state.
2509
-	 */
2510
-	public function set_user_state( $value ) {
2511
-		$this->set_state( $value );
2655
+     * Set the customer's vat rate.
2656
+     *
2657
+     * @since 1.0.19
2658
+     * @param  string $value var rate.
2659
+     */
2660
+    public function set_vat_rate( $value ) {
2661
+        $this->set_prop( 'vat_rate', $value );
2512 2662
     }
2513 2663
 
2514 2664
     /**
2515
-	 * Alias of self::set_state().
2516
-	 *
2517
-	 * @since 1.0.19
2518
-	 * @param  string $value state.
2519
-	 */
2520
-	public function set_customer_state( $value ) {
2521
-		$this->set_state( $value );
2665
+     * Alias of self::set_vat_rate().
2666
+     *
2667
+     * @since 1.0.19
2668
+     * @param  string $value var number.
2669
+     */
2670
+    public function set_user_vat_rate( $value ) {
2671
+        $this->set_vat_rate( $value );
2522 2672
     }
2523 2673
 
2524 2674
     /**
2525
-	 * Set the customer's city.
2526
-	 *
2527
-	 * @since 1.0.19
2528
-	 * @param  string $value city.
2529
-	 */
2530
-	public function set_city( $value ) {
2531
-		$this->set_prop( 'city', $value );
2675
+     * Alias of self::set_vat_rate().
2676
+     *
2677
+     * @since 1.0.19
2678
+     * @param  string $value var number.
2679
+     */
2680
+    public function set_customer_vat_rate( $value ) {
2681
+        $this->set_vat_rate( $value );
2532 2682
     }
2533 2683
 
2534 2684
     /**
2535
-	 * Alias of self::set_city().
2536
-	 *
2537
-	 * @since 1.0.19
2538
-	 * @param  string $value city.
2539
-	 */
2540
-	public function set_user_city( $value ) {
2541
-		$this->set_city( $value );
2685
+     * Set the customer's address.
2686
+     *
2687
+     * @since 1.0.19
2688
+     * @param  string $value address.
2689
+     */
2690
+    public function set_address( $value ) {
2691
+        $this->set_prop( 'address', $value );
2542 2692
     }
2543 2693
 
2544 2694
     /**
2545
-	 * Alias of self::set_city().
2546
-	 *
2547
-	 * @since 1.0.19
2548
-	 * @param  string $value city.
2549
-	 */
2550
-	public function set_customer_city( $value ) {
2551
-		$this->set_city( $value );
2695
+     * Alias of self::set_address().
2696
+     *
2697
+     * @since 1.0.19
2698
+     * @param  string $value address.
2699
+     */
2700
+    public function set_user_address( $value ) {
2701
+        $this->set_address( $value );
2552 2702
     }
2553 2703
 
2554 2704
     /**
2555
-	 * Set the customer's zip code.
2556
-	 *
2557
-	 * @since 1.0.19
2558
-	 * @param  string $value zip.
2559
-	 */
2560
-	public function set_zip( $value ) {
2561
-		$this->set_prop( 'zip', $value );
2705
+     * Alias of self::set_address().
2706
+     *
2707
+     * @since 1.0.19
2708
+     * @param  string $value address.
2709
+     */
2710
+    public function set_customer_address( $value ) {
2711
+        $this->set_address( $value );
2562 2712
     }
2563 2713
 
2564 2714
     /**
2565
-	 * Alias of self::set_zip().
2566
-	 *
2567
-	 * @since 1.0.19
2568
-	 * @param  string $value zip.
2569
-	 */
2570
-	public function set_user_zip( $value ) {
2571
-		$this->set_zip( $value );
2715
+     * Set whether the customer has viewed the invoice or not.
2716
+     *
2717
+     * @since 1.0.19
2718
+     * @param  int|bool $value confirmed.
2719
+     */
2720
+    public function set_is_viewed( $value ) {
2721
+        $this->set_prop( 'is_viewed', $value );
2572 2722
     }
2573 2723
 
2574 2724
     /**
2575
-	 * Alias of self::set_zip().
2576
-	 *
2577
-	 * @since 1.0.19
2578
-	 * @param  string $value zip.
2579
-	 */
2580
-	public function set_customer_zip( $value ) {
2581
-		$this->set_zip( $value );
2725
+     * Set extra email recipients.
2726
+     *
2727
+     * @since 1.0.19
2728
+     * @param  string $value email recipients.
2729
+     */
2730
+    public function set_email_cc( $value ) {
2731
+        $this->set_prop( 'email_cc', $value );
2582 2732
     }
2583 2733
 
2584 2734
     /**
2585
-	 * Set the customer's company.
2586
-	 *
2587
-	 * @since 1.0.19
2588
-	 * @param  string $value company.
2589
-	 */
2590
-	public function set_company( $value ) {
2591
-		$this->set_prop( 'company', $value );
2735
+     * Set the invoice template.
2736
+     *
2737
+     * @since 1.0.19
2738
+     * @param  string $value template.
2739
+     */
2740
+    public function set_template( $value ) {
2741
+        if ( in_array( $value, array( 'quantity', 'hours', 'amount' ) ) ) {
2742
+            $this->set_prop( 'template', $value );
2743
+        }
2592 2744
     }
2593 2745
 
2594 2746
     /**
2595
-	 * Alias of self::set_company().
2596
-	 *
2597
-	 * @since 1.0.19
2598
-	 * @param  string $value company.
2599
-	 */
2600
-	public function set_user_company( $value ) {
2601
-		$this->set_company( $value );
2747
+     * Set the invoice source.
2748
+     *
2749
+     * @since 1.0.19
2750
+     * @param  string $value source.
2751
+     * @deprecated
2752
+     */
2753
+    public function created_via( $value ) {
2754
+        $this->set_created_via( sanitize_text_field( $value ) );
2602 2755
     }
2603 2756
 
2604 2757
     /**
2605
-	 * Alias of self::set_company().
2606
-	 *
2607
-	 * @since 1.0.19
2608
-	 * @param  string $value company.
2609
-	 */
2610
-	public function set_customer_company( $value ) {
2611
-		$this->set_company( $value );
2758
+     * Set the invoice source.
2759
+     *
2760
+     * @since 1.0.19
2761
+     * @param  string $value source.
2762
+     */
2763
+    public function set_created_via( $value ) {
2764
+        $this->set_prop( 'created_via', sanitize_text_field( $value ) );
2612 2765
     }
2613 2766
 
2614
-	/**
2615
-	 * Set the customer's company id.
2616
-	 *
2617
-	 * @since 1.0.19
2618
-	 * @param  string $value company id.
2619
-	 */
2620
-	public function set_company_id( $value ) {
2621
-		$this->set_prop( 'company_id', $value );
2767
+    /**
2768
+     * Set the customer's address confirmed status.
2769
+     *
2770
+     * @since 1.0.19
2771
+     * @param  int|bool $value confirmed.
2772
+     */
2773
+    public function set_address_confirmed( $value ) {
2774
+        $this->set_prop( 'address_confirmed', $value );
2622 2775
     }
2623 2776
 
2624 2777
     /**
2625
-	 * Set the customer's var number.
2626
-	 *
2627
-	 * @since 1.0.19
2628
-	 * @param  string $value var number.
2629
-	 */
2630
-	public function set_vat_number( $value ) {
2631
-		$this->set_prop( 'vat_number', $value );
2778
+     * Alias of self::set_address_confirmed().
2779
+     *
2780
+     * @since 1.0.19
2781
+     * @param  int|bool $value confirmed.
2782
+     */
2783
+    public function set_user_address_confirmed( $value ) {
2784
+        $this->set_address_confirmed( $value );
2632 2785
     }
2633 2786
 
2634 2787
     /**
2635
-	 * Alias of self::set_vat_number().
2636
-	 *
2637
-	 * @since 1.0.19
2638
-	 * @param  string $value var number.
2639
-	 */
2640
-	public function set_user_vat_number( $value ) {
2641
-		$this->set_vat_number( $value );
2788
+     * Alias of self::set_address_confirmed().
2789
+     *
2790
+     * @since 1.0.19
2791
+     * @param  int|bool $value confirmed.
2792
+     */
2793
+    public function set_customer_address_confirmed( $value ) {
2794
+        $this->set_address_confirmed( $value );
2642 2795
     }
2643 2796
 
2644 2797
     /**
2645
-	 * Alias of self::set_vat_number().
2646
-	 *
2647
-	 * @since 1.0.19
2648
-	 * @param  string $value var number.
2649
-	 */
2650
-	public function set_customer_vat_number( $value ) {
2651
-		$this->set_vat_number( $value );
2798
+     * Set the invoice sub total.
2799
+     *
2800
+     * @since 1.0.19
2801
+     * @param  float $value sub total.
2802
+     */
2803
+    public function set_subtotal( $value ) {
2804
+        $this->set_prop( 'subtotal', max( 0, $value ) );
2652 2805
     }
2653 2806
 
2654 2807
     /**
2655
-	 * Set the customer's vat rate.
2656
-	 *
2657
-	 * @since 1.0.19
2658
-	 * @param  string $value var rate.
2659
-	 */
2660
-	public function set_vat_rate( $value ) {
2661
-		$this->set_prop( 'vat_rate', $value );
2808
+     * Set the invoice total.
2809
+     *
2810
+     * @since 1.0.19
2811
+     * @param  float $value sub total.
2812
+     */
2813
+    public function set_total( $value ) {
2814
+        $this->set_prop( 'total', max( 0, $value ) );
2662 2815
     }
2663 2816
 
2664
-    /**
2665
-	 * Alias of self::set_vat_rate().
2666
-	 *
2667
-	 * @since 1.0.19
2668
-	 * @param  string $value var number.
2669
-	 */
2670
-	public function set_user_vat_rate( $value ) {
2671
-		$this->set_vat_rate( $value );
2672
-    }
2673
-
2674
-    /**
2675
-	 * Alias of self::set_vat_rate().
2676
-	 *
2677
-	 * @since 1.0.19
2678
-	 * @param  string $value var number.
2679
-	 */
2680
-	public function set_customer_vat_rate( $value ) {
2681
-		$this->set_vat_rate( $value );
2682
-    }
2683
-
2684
-    /**
2685
-	 * Set the customer's address.
2686
-	 *
2687
-	 * @since 1.0.19
2688
-	 * @param  string $value address.
2689
-	 */
2690
-	public function set_address( $value ) {
2691
-		$this->set_prop( 'address', $value );
2692
-    }
2693
-
2694
-    /**
2695
-	 * Alias of self::set_address().
2696
-	 *
2697
-	 * @since 1.0.19
2698
-	 * @param  string $value address.
2699
-	 */
2700
-	public function set_user_address( $value ) {
2701
-		$this->set_address( $value );
2702
-    }
2703
-
2704
-    /**
2705
-	 * Alias of self::set_address().
2706
-	 *
2707
-	 * @since 1.0.19
2708
-	 * @param  string $value address.
2709
-	 */
2710
-	public function set_customer_address( $value ) {
2711
-		$this->set_address( $value );
2712
-    }
2713
-
2714
-    /**
2715
-	 * Set whether the customer has viewed the invoice or not.
2716
-	 *
2717
-	 * @since 1.0.19
2718
-	 * @param  int|bool $value confirmed.
2719
-	 */
2720
-	public function set_is_viewed( $value ) {
2721
-		$this->set_prop( 'is_viewed', $value );
2722
-	}
2723
-
2724
-	/**
2725
-	 * Set extra email recipients.
2726
-	 *
2727
-	 * @since 1.0.19
2728
-	 * @param  string $value email recipients.
2729
-	 */
2730
-	public function set_email_cc( $value ) {
2731
-		$this->set_prop( 'email_cc', $value );
2732
-	}
2733
-
2734
-	/**
2735
-	 * Set the invoice template.
2736
-	 *
2737
-	 * @since 1.0.19
2738
-	 * @param  string $value template.
2739
-	 */
2740
-	public function set_template( $value ) {
2741
-		if ( in_array( $value, array( 'quantity', 'hours', 'amount' ) ) ) {
2742
-			$this->set_prop( 'template', $value );
2743
-		}
2744
-	}
2745
-
2746
-	/**
2747
-	 * Set the invoice source.
2748
-	 *
2749
-	 * @since 1.0.19
2750
-	 * @param  string $value source.
2751
-	 * @deprecated
2752
-	 */
2753
-	public function created_via( $value ) {
2754
-		$this->set_created_via( sanitize_text_field( $value ) );
2755
-	}
2756
-
2757
-	/**
2758
-	 * Set the invoice source.
2759
-	 *
2760
-	 * @since 1.0.19
2761
-	 * @param  string $value source.
2762
-	 */
2763
-	public function set_created_via( $value ) {
2764
-		$this->set_prop( 'created_via', sanitize_text_field( $value ) );
2765
-	}
2766
-
2767
-	/**
2768
-	 * Set the customer's address confirmed status.
2769
-	 *
2770
-	 * @since 1.0.19
2771
-	 * @param  int|bool $value confirmed.
2772
-	 */
2773
-	public function set_address_confirmed( $value ) {
2774
-		$this->set_prop( 'address_confirmed', $value );
2775
-    }
2776
-
2777
-    /**
2778
-	 * Alias of self::set_address_confirmed().
2779
-	 *
2780
-	 * @since 1.0.19
2781
-	 * @param  int|bool $value confirmed.
2782
-	 */
2783
-	public function set_user_address_confirmed( $value ) {
2784
-		$this->set_address_confirmed( $value );
2785
-    }
2786
-
2787
-    /**
2788
-	 * Alias of self::set_address_confirmed().
2789
-	 *
2790
-	 * @since 1.0.19
2791
-	 * @param  int|bool $value confirmed.
2792
-	 */
2793
-	public function set_customer_address_confirmed( $value ) {
2794
-		$this->set_address_confirmed( $value );
2795
-    }
2796
-
2797
-    /**
2798
-	 * Set the invoice sub total.
2799
-	 *
2800
-	 * @since 1.0.19
2801
-	 * @param  float $value sub total.
2802
-	 */
2803
-	public function set_subtotal( $value ) {
2804
-		$this->set_prop( 'subtotal', max( 0, $value ) );
2805
-	}
2806
-
2807
-	/**
2808
-	 * Set the invoice total.
2809
-	 *
2810
-	 * @since 1.0.19
2811
-	 * @param  float $value sub total.
2812
-	 */
2813
-	public function set_total( $value ) {
2814
-		$this->set_prop( 'total', max( 0, $value ) );
2815
-    }
2816
-
2817
-    /**
2818
-	 * Set the invoice discount amount.
2819
-	 *
2820
-	 * @since 1.0.19
2821
-	 * @param  float $value discount total.
2822
-	 */
2823
-	public function set_total_discount( $value ) {
2824
-		$this->set_prop( 'total_discount', max( 0, $value ) );
2817
+    /**
2818
+     * Set the invoice discount amount.
2819
+     *
2820
+     * @since 1.0.19
2821
+     * @param  float $value discount total.
2822
+     */
2823
+    public function set_total_discount( $value ) {
2824
+        $this->set_prop( 'total_discount', max( 0, $value ) );
2825 2825
     }
2826 2826
 
2827 2827
     /**
2828
-	 * Alias of self::set_total_discount().
2829
-	 *
2830
-	 * @since 1.0.19
2831
-	 * @param  float $value discount total.
2832
-	 */
2833
-	public function set_discount( $value ) {
2834
-		$this->set_total_discount( $value );
2828
+     * Alias of self::set_total_discount().
2829
+     *
2830
+     * @since 1.0.19
2831
+     * @param  float $value discount total.
2832
+     */
2833
+    public function set_discount( $value ) {
2834
+        $this->set_total_discount( $value );
2835 2835
     }
2836 2836
 
2837 2837
     /**
2838
-	 * Set the invoice tax amount.
2839
-	 *
2840
-	 * @since 1.0.19
2841
-	 * @param  float $value tax total.
2842
-	 */
2843
-	public function set_total_tax( $value ) {
2844
-		$this->set_prop( 'total_tax', max( 0, $value ) );
2838
+     * Set the invoice tax amount.
2839
+     *
2840
+     * @since 1.0.19
2841
+     * @param  float $value tax total.
2842
+     */
2843
+    public function set_total_tax( $value ) {
2844
+        $this->set_prop( 'total_tax', max( 0, $value ) );
2845 2845
     }
2846 2846
 
2847 2847
     /**
2848
-	 * Alias of self::set_total_tax().
2849
-	 *
2850
-	 * @since 1.0.19
2851
-	 * @param  float $value tax total.
2852
-	 */
2853
-	public function set_tax_total( $value ) {
2854
-		$this->set_total_tax( $value );
2848
+     * Alias of self::set_total_tax().
2849
+     *
2850
+     * @since 1.0.19
2851
+     * @param  float $value tax total.
2852
+     */
2853
+    public function set_tax_total( $value ) {
2854
+        $this->set_total_tax( $value );
2855 2855
     }
2856 2856
 
2857 2857
     /**
2858
-	 * Set the invoice fees amount.
2859
-	 *
2860
-	 * @since 1.0.19
2861
-	 * @param  float $value fees total.
2862
-	 */
2863
-	public function set_total_fees( $value ) {
2864
-		$this->set_prop( 'total_fees', max( 0, $value ) );
2858
+     * Set the invoice fees amount.
2859
+     *
2860
+     * @since 1.0.19
2861
+     * @param  float $value fees total.
2862
+     */
2863
+    public function set_total_fees( $value ) {
2864
+        $this->set_prop( 'total_fees', max( 0, $value ) );
2865 2865
     }
2866 2866
 
2867 2867
     /**
2868
-	 * Alias of self::set_total_fees().
2869
-	 *
2870
-	 * @since 1.0.19
2871
-	 * @param  float $value fees total.
2872
-	 */
2873
-	public function set_fees_total( $value ) {
2874
-		$this->set_total_fees( $value );
2868
+     * Alias of self::set_total_fees().
2869
+     *
2870
+     * @since 1.0.19
2871
+     * @param  float $value fees total.
2872
+     */
2873
+    public function set_fees_total( $value ) {
2874
+        $this->set_total_fees( $value );
2875 2875
     }
2876 2876
 
2877 2877
     /**
2878
-	 * Set the invoice fees.
2879
-	 *
2880
-	 * @since 1.0.19
2881
-	 * @param  array $value fees.
2882
-	 */
2883
-	public function set_fees( $value ) {
2878
+     * Set the invoice fees.
2879
+     *
2880
+     * @since 1.0.19
2881
+     * @param  array $value fees.
2882
+     */
2883
+    public function set_fees( $value ) {
2884 2884
 
2885
-		if ( ! is_array( $value ) ) {
2886
-			$value = array();
2887
-		}
2885
+        if ( ! is_array( $value ) ) {
2886
+            $value = array();
2887
+        }
2888 2888
 
2889
-		$this->set_prop( 'fees', $value );
2889
+        $this->set_prop( 'fees', $value );
2890 2890
 
2891 2891
     }
2892 2892
 
2893 2893
     /**
2894
-	 * Set the invoice taxes.
2895
-	 *
2896
-	 * @since 1.0.19
2897
-	 * @param  array $value taxes.
2898
-	 */
2899
-	public function set_taxes( $value ) {
2894
+     * Set the invoice taxes.
2895
+     *
2896
+     * @since 1.0.19
2897
+     * @param  array $value taxes.
2898
+     */
2899
+    public function set_taxes( $value ) {
2900 2900
 
2901
-		if ( ! is_array( $value ) ) {
2902
-			$value = array();
2903
-		}
2901
+        if ( ! is_array( $value ) ) {
2902
+            $value = array();
2903
+        }
2904 2904
 
2905
-		$this->set_prop( 'taxes', $value );
2905
+        $this->set_prop( 'taxes', $value );
2906 2906
 
2907 2907
     }
2908 2908
 
2909 2909
     /**
2910
-	 * Set the invoice discounts.
2911
-	 *
2912
-	 * @since 1.0.19
2913
-	 * @param  array $value discounts.
2914
-	 */
2915
-	public function set_discounts( $value ) {
2910
+     * Set the invoice discounts.
2911
+     *
2912
+     * @since 1.0.19
2913
+     * @param  array $value discounts.
2914
+     */
2915
+    public function set_discounts( $value ) {
2916 2916
 
2917
-		if ( ! is_array( $value ) ) {
2918
-			$value = array();
2919
-		}
2917
+        if ( ! is_array( $value ) ) {
2918
+            $value = array();
2919
+        }
2920 2920
 
2921
-		$this->set_prop( 'discounts', $value );
2921
+        $this->set_prop( 'discounts', $value );
2922 2922
     }
2923 2923
 
2924 2924
     /**
2925
-	 * Set the invoice items.
2926
-	 *
2927
-	 * @since 1.0.19
2928
-	 * @param  GetPaid_Form_Item[] $value items.
2929
-	 */
2930
-	public function set_items( $value ) {
2925
+     * Set the invoice items.
2926
+     *
2927
+     * @since 1.0.19
2928
+     * @param  GetPaid_Form_Item[] $value items.
2929
+     */
2930
+    public function set_items( $value ) {
2931 2931
 
2932 2932
         // Remove existing items.
2933 2933
         $this->set_prop( 'items', array() );
2934
-		$this->recurring_item = null;
2934
+        $this->recurring_item = null;
2935 2935
 
2936 2936
         // Ensure that we have an array.
2937 2937
         if ( ! is_array( $value ) ) {
@@ -2945,95 +2945,95 @@  discard block
 block discarded – undo
2945 2945
     }
2946 2946
 
2947 2947
     /**
2948
-	 * Set the payment form.
2949
-	 *
2950
-	 * @since 1.0.19
2951
-	 * @param  int $value payment form.
2952
-	 */
2953
-	public function set_payment_form( $value ) {
2954
-		$this->set_prop( 'payment_form', $value );
2948
+     * Set the payment form.
2949
+     *
2950
+     * @since 1.0.19
2951
+     * @param  int $value payment form.
2952
+     */
2953
+    public function set_payment_form( $value ) {
2954
+        $this->set_prop( 'payment_form', $value );
2955 2955
     }
2956 2956
 
2957 2957
     /**
2958
-	 * Set the submission id.
2959
-	 *
2960
-	 * @since 1.0.19
2961
-	 * @param  string $value submission id.
2962
-	 */
2963
-	public function set_submission_id( $value ) {
2964
-		$this->set_prop( 'submission_id', $value );
2958
+     * Set the submission id.
2959
+     *
2960
+     * @since 1.0.19
2961
+     * @param  string $value submission id.
2962
+     */
2963
+    public function set_submission_id( $value ) {
2964
+        $this->set_prop( 'submission_id', $value );
2965 2965
     }
2966 2966
 
2967 2967
     /**
2968
-	 * Set the discount code.
2969
-	 *
2970
-	 * @since 1.0.19
2971
-	 * @param  string $value discount code.
2972
-	 */
2973
-	public function set_discount_code( $value ) {
2974
-		$this->set_prop( 'discount_code', sanitize_text_field( $value ) );
2968
+     * Set the discount code.
2969
+     *
2970
+     * @since 1.0.19
2971
+     * @param  string $value discount code.
2972
+     */
2973
+    public function set_discount_code( $value ) {
2974
+        $this->set_prop( 'discount_code', sanitize_text_field( $value ) );
2975 2975
     }
2976 2976
 
2977 2977
     /**
2978
-	 * Set the gateway.
2979
-	 *
2980
-	 * @since 1.0.19
2981
-	 * @param  string $value gateway.
2982
-	 */
2983
-	public function set_gateway( $value ) {
2984
-		$this->set_prop( 'gateway', $value );
2978
+     * Set the gateway.
2979
+     *
2980
+     * @since 1.0.19
2981
+     * @param  string $value gateway.
2982
+     */
2983
+    public function set_gateway( $value ) {
2984
+        $this->set_prop( 'gateway', $value );
2985 2985
     }
2986 2986
 
2987 2987
     /**
2988
-	 * Set the transaction id.
2989
-	 *
2990
-	 * @since 1.0.19
2991
-	 * @param  string $value transaction id.
2992
-	 */
2993
-	public function set_transaction_id( $value ) {
2994
-		if ( ! empty( $value ) ) {
2995
-			$this->set_prop( 'transaction_id', $value );
2996
-		}
2988
+     * Set the transaction id.
2989
+     *
2990
+     * @since 1.0.19
2991
+     * @param  string $value transaction id.
2992
+     */
2993
+    public function set_transaction_id( $value ) {
2994
+        if ( ! empty( $value ) ) {
2995
+            $this->set_prop( 'transaction_id', $value );
2996
+        }
2997 2997
     }
2998 2998
 
2999 2999
     /**
3000
-	 * Set the currency id.
3001
-	 *
3002
-	 * @since 1.0.19
3003
-	 * @param  string $value currency id.
3004
-	 */
3005
-	public function set_currency( $value ) {
3006
-		$this->set_prop( 'currency', $value );
3000
+     * Set the currency id.
3001
+     *
3002
+     * @since 1.0.19
3003
+     * @param  string $value currency id.
3004
+     */
3005
+    public function set_currency( $value ) {
3006
+        $this->set_prop( 'currency', $value );
3007 3007
     }
3008 3008
 
3009
-	/**
3010
-	 * Set whether to disable taxes.
3011
-	 *
3012
-	 * @since 1.0.19
3013
-	 * @param  bool $value value.
3014
-	 */
3015
-	public function set_disable_taxes( $value ) {
3016
-		$this->set_prop( 'disable_taxes', (bool) $value );
3017
-	}
3009
+    /**
3010
+     * Set whether to disable taxes.
3011
+     *
3012
+     * @since 1.0.19
3013
+     * @param  bool $value value.
3014
+     */
3015
+    public function set_disable_taxes( $value ) {
3016
+        $this->set_prop( 'disable_taxes', (bool) $value );
3017
+    }
3018 3018
 
3019 3019
     /**
3020
-	 * Set the subscription id.
3021
-	 *
3022
-	 * @since 1.0.19
3023
-	 * @param  string $value subscription id.
3024
-	 */
3025
-	public function set_subscription_id( $value ) {
3026
-		$this->set_prop( 'subscription_id', $value );
3027
-	}
3020
+     * Set the subscription id.
3021
+     *
3022
+     * @since 1.0.19
3023
+     * @param  string $value subscription id.
3024
+     */
3025
+    public function set_subscription_id( $value ) {
3026
+        $this->set_prop( 'subscription_id', $value );
3027
+    }
3028 3028
 	
3029
-	/**
3030
-	 * Set the remote subscription id.
3031
-	 *
3032
-	 * @since 1.0.19
3033
-	 * @param  string $value subscription id.
3034
-	 */
3035
-	public function set_remote_subscription_id( $value ) {
3036
-		$this->set_prop( 'remote_subscription_id', $value );
3029
+    /**
3030
+     * Set the remote subscription id.
3031
+     *
3032
+     * @since 1.0.19
3033
+     * @param  string $value subscription id.
3034
+     */
3035
+    public function set_remote_subscription_id( $value ) {
3036
+        $this->set_prop( 'remote_subscription_id', $value );
3037 3037
     }
3038 3038
 
3039 3039
     /*
@@ -3072,24 +3072,24 @@  discard block
 block discarded – undo
3072 3072
      */
3073 3073
     public function is_taxable() {
3074 3074
         return ! $this->get_disable_taxes();
3075
-	}
3075
+    }
3076 3076
 
3077
-	/**
3078
-	 * @deprecated
3079
-	 */
3080
-	public function has_vat() {
3077
+    /**
3078
+     * @deprecated
3079
+     */
3080
+    public function has_vat() {
3081 3081
         return $this->is_taxable();
3082
-	}
3082
+    }
3083 3083
 
3084
-	/**
3085
-	 * Checks to see if the invoice requires payment.
3086
-	 */
3087
-	public function is_free() {
3084
+    /**
3085
+     * Checks to see if the invoice requires payment.
3086
+     */
3087
+    public function is_free() {
3088 3088
         $is_free = ( (float) wpinv_round_amount( $this->get_initial_total() ) == 0 );
3089 3089
 
3090
-		if ( $this->is_recurring() && $this->get_recurring_total() > 0 ) {
3091
-			$is_free = false;
3092
-		}
3090
+        if ( $this->is_recurring() && $this->get_recurring_total() > 0 ) {
3091
+            $is_free = false;
3092
+        }
3093 3093
 
3094 3094
         return apply_filters( 'wpinv_invoice_is_free', $is_free, $this );
3095 3095
     }
@@ -3100,46 +3100,46 @@  discard block
 block discarded – undo
3100 3100
     public function is_paid() {
3101 3101
         $is_paid = $this->has_status( array( 'publish', 'wpi-processing', 'wpi-renewal' ) );
3102 3102
         return apply_filters( 'wpinv_invoice_is_paid', $is_paid, $this );
3103
-	}
3103
+    }
3104 3104
 
3105
-	/**
3105
+    /**
3106 3106
      * Checks if the invoice needs payment.
3107 3107
      */
3108
-	public function needs_payment() {
3109
-		$needs_payment = ! $this->is_paid() && ! $this->is_refunded() && ! $this->is_free();
3108
+    public function needs_payment() {
3109
+        $needs_payment = ! $this->is_paid() && ! $this->is_refunded() && ! $this->is_free();
3110 3110
         return apply_filters( 'wpinv_needs_payment', $needs_payment, $this );
3111 3111
     }
3112 3112
   
3113
-	/**
3113
+    /**
3114 3114
      * Checks if the invoice is refunded.
3115 3115
      */
3116
-	public function is_refunded() {
3116
+    public function is_refunded() {
3117 3117
         $is_refunded = $this->has_status( 'wpi-refunded' );
3118 3118
         return apply_filters( 'wpinv_invoice_is_refunded', $is_refunded, $this );
3119
-	}
3119
+    }
3120 3120
 
3121
-	/**
3121
+    /**
3122 3122
      * Checks if the invoice is held.
3123 3123
      */
3124
-	public function is_held() {
3124
+    public function is_held() {
3125 3125
         $is_held = $this->has_status( 'wpi-onhold' );
3126 3126
         return apply_filters( 'wpinv_invoice_is_held', $is_held, $this );
3127
-	}
3127
+    }
3128 3128
 
3129
-	/**
3129
+    /**
3130 3130
      * Checks if the invoice is due.
3131 3131
      */
3132
-	public function is_due() {
3133
-		$due_date = $this->get_due_date();
3134
-		return empty( $due_date ) ? false : current_time( 'timestamp' ) > strtotime( $due_date );
3135
-	}
3132
+    public function is_due() {
3133
+        $due_date = $this->get_due_date();
3134
+        return empty( $due_date ) ? false : current_time( 'timestamp' ) > strtotime( $due_date );
3135
+    }
3136 3136
 
3137
-	/**
3137
+    /**
3138 3138
      * Checks if the invoice is draft.
3139 3139
      */
3140
-	public function is_draft() {
3140
+    public function is_draft() {
3141 3141
         return $this->has_status( 'draft, auto-draft' );
3142
-	}
3142
+    }
3143 3143
 
3144 3144
     /**
3145 3145
      * Checks if the invoice has a given status.
@@ -3147,9 +3147,9 @@  discard block
 block discarded – undo
3147 3147
     public function has_status( $status ) {
3148 3148
         $status = wpinv_parse_list( $status );
3149 3149
         return apply_filters( 'wpinv_has_status', in_array( $this->get_status(), $status ), $status );
3150
-	}
3150
+    }
3151 3151
 
3152
-	/**
3152
+    /**
3153 3153
      * Checks if the invoice is of a given type.
3154 3154
      */
3155 3155
     public function is_type( $type ) {
@@ -3172,25 +3172,25 @@  discard block
 block discarded – undo
3172 3172
      */
3173 3173
     public function has_free_trial() {
3174 3174
         return $this->is_recurring() && 0 == $this->get_initial_total();
3175
-	}
3175
+    }
3176 3176
 
3177
-	/**
3177
+    /**
3178 3178
      * @deprecated
3179 3179
      */
3180 3180
     public function is_free_trial() {
3181 3181
         $this->has_free_trial();
3182 3182
     }
3183 3183
 
3184
-	/**
3184
+    /**
3185 3185
      * Check if the initial payment if 0.
3186 3186
      *
3187 3187
      */
3188
-	public function is_initial_free() {
3188
+    public function is_initial_free() {
3189 3189
         $is_initial_free = ! ( (float) wpinv_round_amount( $this->get_initial_total() ) > 0 );
3190 3190
         return apply_filters( 'wpinv_invoice_is_initial_free', $is_initial_free, $this->get_cart_details(), $this );
3191 3191
     }
3192 3192
 	
3193
-	/**
3193
+    /**
3194 3194
      * Check if the recurring item has a free trial.
3195 3195
      *
3196 3196
      */
@@ -3203,21 +3203,21 @@  discard block
 block discarded – undo
3203 3203
 
3204 3204
         $item = $this->get_recurring( true );
3205 3205
         return $item->has_free_trial();
3206
-	}
3206
+    }
3207 3207
 
3208
-	/**
3208
+    /**
3209 3209
      * Check if the free trial is a result of a discount.
3210 3210
      */
3211 3211
     public function is_free_trial_from_discount() {
3212
-		return $this->has_free_trial() && ! $this->item_has_free_trial();
3213
-	}
3212
+        return $this->has_free_trial() && ! $this->item_has_free_trial();
3213
+    }
3214 3214
 	
3215
-	/**
3215
+    /**
3216 3216
      * @deprecated
3217 3217
      */
3218 3218
     public function discount_first_payment_only() {
3219 3219
 
3220
-		$discount = wpinv_get_discount_obj( $this->get_discount_code() );
3220
+        $discount = wpinv_get_discount_obj( $this->get_discount_code() );
3221 3221
         if ( ! $discount->exists() || ! $this->is_recurring() ) {
3222 3222
             return true;
3223 3223
         }
@@ -3242,147 +3242,147 @@  discard block
 block discarded – undo
3242 3242
      */
3243 3243
     public function add_item( $item ) {
3244 3244
 
3245
-		if ( is_array( $item ) ) {
3246
-			$item = $this->process_array_item( $item );
3247
-		}
3245
+        if ( is_array( $item ) ) {
3246
+            $item = $this->process_array_item( $item );
3247
+        }
3248 3248
 
3249
-		if ( is_numeric( $item ) ) {
3250
-			$item = new GetPaid_Form_Item( $item );
3251
-		}
3249
+        if ( is_numeric( $item ) ) {
3250
+            $item = new GetPaid_Form_Item( $item );
3251
+        }
3252 3252
 
3253 3253
         // Make sure that it is available for purchase.
3254
-		if ( $item->get_id() > 0 && ! $item->can_purchase() ) {
3255
-			return new WP_Error( 'invalid_item', __( 'This item is not available for purchase', 'invoicing' ) );
3254
+        if ( $item->get_id() > 0 && ! $item->can_purchase() ) {
3255
+            return new WP_Error( 'invalid_item', __( 'This item is not available for purchase', 'invoicing' ) );
3256 3256
         }
3257 3257
 
3258 3258
         // Do we have a recurring item?
3259
-		if ( $item->is_recurring() ) {
3260
-			$this->recurring_item = $item->get_id();
3259
+        if ( $item->is_recurring() ) {
3260
+            $this->recurring_item = $item->get_id();
3261 3261
         }
3262 3262
 
3263 3263
         // Invoice id.
3264 3264
         $item->invoice_id = (int) $this->get_id();
3265 3265
 
3266
-		// Remove duplicates.
3267
-		$this->remove_item( $item->get_id() );
3266
+        // Remove duplicates.
3267
+        $this->remove_item( $item->get_id() );
3268 3268
 
3269
-		if ( 0 == $item->get_quantity() ) {
3270
-			return;
3271
-		}
3269
+        if ( 0 == $item->get_quantity() ) {
3270
+            return;
3271
+        }
3272 3272
 
3273
-		// Retrieve all items.
3273
+        // Retrieve all items.
3274 3274
         $items   = $this->get_items();
3275 3275
 
3276
-		// Add new item.
3276
+        // Add new item.
3277 3277
         $items[] = $item;
3278 3278
 
3279 3279
         $this->set_prop( 'items', $items );
3280 3280
 
3281
-		return true;
3282
-	}
3281
+        return true;
3282
+    }
3283 3283
 
3284
-	/**
3285
-	 * Converts an array to an item.
3286
-	 *
3287
-	 * @since 1.0.19
3288
-	 * @return GetPaid_Form_Item
3289
-	 */
3290
-	protected function process_array_item( $array ) {
3284
+    /**
3285
+     * Converts an array to an item.
3286
+     *
3287
+     * @since 1.0.19
3288
+     * @return GetPaid_Form_Item
3289
+     */
3290
+    protected function process_array_item( $array ) {
3291 3291
 
3292
-		$item_id = isset( $array['item_id'] ) ? $array['item_id'] : 0;
3293
-		$item    = new GetPaid_Form_Item( $item_id );
3292
+        $item_id = isset( $array['item_id'] ) ? $array['item_id'] : 0;
3293
+        $item    = new GetPaid_Form_Item( $item_id );
3294 3294
 
3295
-		// Set item data.
3296
-		foreach ( array( 'name', 'price', 'description' ) as $key ) {
3297
-			if ( isset( $array[ "item_$key" ] ) ) {
3298
-				$method = "set_$key";
3299
-				$item->$method( $array[ "item_$key" ] );
3300
-			}
3301
-		}
3295
+        // Set item data.
3296
+        foreach ( array( 'name', 'price', 'description' ) as $key ) {
3297
+            if ( isset( $array[ "item_$key" ] ) ) {
3298
+                $method = "set_$key";
3299
+                $item->$method( $array[ "item_$key" ] );
3300
+            }
3301
+        }
3302 3302
 
3303
-		if ( isset( $array['quantity'] ) ) {
3304
-			$item->set_quantity( $array['quantity'] );
3305
-		}
3303
+        if ( isset( $array['quantity'] ) ) {
3304
+            $item->set_quantity( $array['quantity'] );
3305
+        }
3306 3306
 
3307
-		// Set item meta.
3308
-		if ( isset( $array['meta'] ) && is_array( $array['meta'] ) ) {
3309
-			$item->set_item_meta( $array['meta'] );
3310
-		}
3307
+        // Set item meta.
3308
+        if ( isset( $array['meta'] ) && is_array( $array['meta'] ) ) {
3309
+            $item->set_item_meta( $array['meta'] );
3310
+        }
3311 3311
 
3312
-		return $item;
3312
+        return $item;
3313 3313
 
3314
-	}
3314
+    }
3315 3315
 
3316 3316
     /**
3317
-	 * Retrieves a specific item.
3318
-	 *
3319
-	 * @since 1.0.19
3320
-	 * @return GetPaid_Form_Item|null
3321
-	 */
3322
-	public function get_item( $item_id ) {
3317
+     * Retrieves a specific item.
3318
+     *
3319
+     * @since 1.0.19
3320
+     * @return GetPaid_Form_Item|null
3321
+     */
3322
+    public function get_item( $item_id ) {
3323 3323
 
3324
-		foreach ( $this->get_items() as $item ) {
3325
-			if ( (int) $item_id == $item->get_id() ) {
3326
-				return $item;
3327
-			}
3328
-		}
3324
+        foreach ( $this->get_items() as $item ) {
3325
+            if ( (int) $item_id == $item->get_id() ) {
3326
+                return $item;
3327
+            }
3328
+        }
3329 3329
 
3330
-		return null;
3330
+        return null;
3331 3331
     }
3332 3332
 
3333 3333
     /**
3334
-	 * Removes a specific item.
3335
-	 *
3336
-	 * @since 1.0.19
3337
-	 */
3338
-	public function remove_item( $item_id ) {
3339
-		$items   = $this->get_items();
3340
-		$item_id = (int) $item_id;
3334
+     * Removes a specific item.
3335
+     *
3336
+     * @since 1.0.19
3337
+     */
3338
+    public function remove_item( $item_id ) {
3339
+        $items   = $this->get_items();
3340
+        $item_id = (int) $item_id;
3341 3341
 
3342
-		foreach ( $items as $index => $item ) {
3343
-			if ( (int) $item_id == $item->get_id() ) {
3344
-				unset( $items[ $index ] );
3345
-				$this->set_prop( 'items', $items );
3342
+        foreach ( $items as $index => $item ) {
3343
+            if ( (int) $item_id == $item->get_id() ) {
3344
+                unset( $items[ $index ] );
3345
+                $this->set_prop( 'items', $items );
3346 3346
 
3347
-				if ( $item_id == $this->recurring_item ) {
3348
-					$this->recurring_item = null;
3349
-				}
3347
+                if ( $item_id == $this->recurring_item ) {
3348
+                    $this->recurring_item = null;
3349
+                }
3350 3350
 
3351
-			}
3352
-		}
3351
+            }
3352
+        }
3353 3353
 
3354 3354
     }
3355 3355
 
3356 3356
     /**
3357
-	 * Adds a fee to the invoice.
3358
-	 *
3359
-	 * @param array $fee An array of fee details. name, initial_fee, and recurring_fee are required.
3360
-	 * @since 1.0.19
3361
-	 */
3357
+     * Adds a fee to the invoice.
3358
+     *
3359
+     * @param array $fee An array of fee details. name, initial_fee, and recurring_fee are required.
3360
+     * @since 1.0.19
3361
+     */
3362 3362
     public function add_fee( $fee ) {
3363 3363
 
3364
-		$fees                 = $this->get_fees();
3365
-		$fees[ $fee['name'] ] = $fee;
3366
-		$this->set_prop( 'fees', $fees );
3364
+        $fees                 = $this->get_fees();
3365
+        $fees[ $fee['name'] ] = $fee;
3366
+        $this->set_prop( 'fees', $fees );
3367 3367
 
3368 3368
     }
3369 3369
 
3370 3370
     /**
3371
-	 * Retrieves a specific fee.
3372
-	 *
3373
-	 * @since 1.0.19
3374
-	 */
3375
-	public function get_fee( $fee ) {
3371
+     * Retrieves a specific fee.
3372
+     *
3373
+     * @since 1.0.19
3374
+     */
3375
+    public function get_fee( $fee ) {
3376 3376
         $fees = $this->get_fees();
3377
-		return isset( $fees[ $fee ] ) ? $fees[ $fee ] : null;
3377
+        return isset( $fees[ $fee ] ) ? $fees[ $fee ] : null;
3378 3378
     }
3379 3379
 
3380 3380
     /**
3381
-	 * Removes a specific fee.
3382
-	 *
3383
-	 * @since 1.0.19
3384
-	 */
3385
-	public function remove_fee( $fee ) {
3381
+     * Removes a specific fee.
3382
+     *
3383
+     * @since 1.0.19
3384
+     */
3385
+    public function remove_fee( $fee ) {
3386 3386
         $fees = $this->get_fees();
3387 3387
         if ( isset( $fees[ $fee ] ) ) {
3388 3388
             unset( $fees[ $fee ] );
@@ -3390,55 +3390,55 @@  discard block
 block discarded – undo
3390 3390
         }
3391 3391
     }
3392 3392
 
3393
-	/**
3394
-	 * Adds a discount to the invoice.
3395
-	 *
3396
-	 * @param array $discount An array of discount details. name, initial_discount, and recurring_discount are required. Include discount_code if the discount is from a discount code.
3397
-	 * @since 1.0.19
3398
-	 */
3399
-	public function add_discount( $discount ) {
3393
+    /**
3394
+     * Adds a discount to the invoice.
3395
+     *
3396
+     * @param array $discount An array of discount details. name, initial_discount, and recurring_discount are required. Include discount_code if the discount is from a discount code.
3397
+     * @since 1.0.19
3398
+     */
3399
+    public function add_discount( $discount ) {
3400 3400
 
3401
-		$discounts = $this->get_discounts();
3402
-		$discounts[ $discount['name'] ] = $discount;
3403
-		$this->set_prop( 'discounts', $discounts );
3401
+        $discounts = $this->get_discounts();
3402
+        $discounts[ $discount['name'] ] = $discount;
3403
+        $this->set_prop( 'discounts', $discounts );
3404 3404
 
3405
-	}
3405
+    }
3406 3406
 
3407 3407
     /**
3408
-	 * Retrieves a specific discount.
3409
-	 *
3410
-	 * @since 1.0.19
3411
-	 * @return float
3412
-	 */
3413
-	public function get_discount( $discount = false ) {
3408
+     * Retrieves a specific discount.
3409
+     *
3410
+     * @since 1.0.19
3411
+     * @return float
3412
+     */
3413
+    public function get_discount( $discount = false ) {
3414 3414
 
3415
-		// Backwards compatibilty.
3416
-		if ( empty( $discount ) ) {
3417
-			return $this->get_total_discount();
3418
-		}
3415
+        // Backwards compatibilty.
3416
+        if ( empty( $discount ) ) {
3417
+            return $this->get_total_discount();
3418
+        }
3419 3419
 
3420 3420
         $discounts = $this->get_discounts();
3421
-		return isset( $discounts[ $discount ] ) ? $discounts[ $discount ] : null;
3421
+        return isset( $discounts[ $discount ] ) ? $discounts[ $discount ] : null;
3422 3422
     }
3423 3423
 
3424 3424
     /**
3425
-	 * Removes a specific discount.
3426
-	 *
3427
-	 * @since 1.0.19
3428
-	 */
3429
-	public function remove_discount( $discount ) {
3425
+     * Removes a specific discount.
3426
+     *
3427
+     * @since 1.0.19
3428
+     */
3429
+    public function remove_discount( $discount ) {
3430 3430
         $discounts = $this->get_discounts();
3431 3431
         if ( isset( $discounts[ $discount ] ) ) {
3432 3432
             unset( $discounts[ $discount ] );
3433 3433
             $this->set_prop( 'discounts', $discounts );
3434 3434
         }
3435 3435
 
3436
-		if ( 'discount_code' == $discount ) {
3437
-			foreach ( $this->get_items() as $item ) {
3438
-				$item->item_discount           = 0;
3439
-				$item->recurring_item_discount = 0;
3440
-			}
3441
-		}
3436
+        if ( 'discount_code' == $discount ) {
3437
+            foreach ( $this->get_items() as $item ) {
3438
+                $item->item_discount           = 0;
3439
+                $item->recurring_item_discount = 0;
3440
+            }
3441
+        }
3442 3442
 
3443 3443
     }
3444 3444
 
@@ -3451,34 +3451,34 @@  discard block
 block discarded – undo
3451 3451
         if ( $this->is_taxable() ) {
3452 3452
 
3453 3453
             $taxes                 = $this->get_taxes();
3454
-			$taxes[ $tax['name'] ] = $tax;
3455
-			$this->set_prop( 'taxes', $tax );
3454
+            $taxes[ $tax['name'] ] = $tax;
3455
+            $this->set_prop( 'taxes', $tax );
3456 3456
 
3457 3457
         }
3458 3458
     }
3459 3459
 
3460 3460
     /**
3461
-	 * Retrieves a specific tax.
3462
-	 *
3463
-	 * @since 1.0.19
3464
-	 */
3465
-	public function get_tax( $tax = null ) {
3461
+     * Retrieves a specific tax.
3462
+     *
3463
+     * @since 1.0.19
3464
+     */
3465
+    public function get_tax( $tax = null ) {
3466 3466
 
3467
-		// Backwards compatility.
3468
-		if ( empty( $tax ) ) {
3469
-			return $this->get_total_tax();
3470
-		}
3467
+        // Backwards compatility.
3468
+        if ( empty( $tax ) ) {
3469
+            return $this->get_total_tax();
3470
+        }
3471 3471
 
3472 3472
         $taxes = $this->get_taxes();
3473
-		return isset( $taxes[ $tax ] ) ? $taxes[ $tax ] : null;
3473
+        return isset( $taxes[ $tax ] ) ? $taxes[ $tax ] : null;
3474 3474
     }
3475 3475
 
3476 3476
     /**
3477
-	 * Removes a specific tax.
3478
-	 *
3479
-	 * @since 1.0.19
3480
-	 */
3481
-	public function remove_tax( $tax ) {
3477
+     * Removes a specific tax.
3478
+     *
3479
+     * @since 1.0.19
3480
+     */
3481
+    public function remove_tax( $tax ) {
3482 3482
         $taxes = $this->get_taxes();
3483 3483
         if ( isset( $taxes[ $tax ] ) ) {
3484 3484
             unset( $taxes[ $tax ] );
@@ -3487,185 +3487,185 @@  discard block
 block discarded – undo
3487 3487
     }
3488 3488
 
3489 3489
     /**
3490
-	 * Recalculates the invoice subtotal.
3491
-	 *
3492
-	 * @since 1.0.19
3493
-	 * @return float The recalculated subtotal
3494
-	 */
3495
-	public function recalculate_subtotal() {
3490
+     * Recalculates the invoice subtotal.
3491
+     *
3492
+     * @since 1.0.19
3493
+     * @return float The recalculated subtotal
3494
+     */
3495
+    public function recalculate_subtotal() {
3496 3496
         $items     = $this->get_items();
3497
-		$subtotal  = 0;
3498
-		$recurring = 0;
3497
+        $subtotal  = 0;
3498
+        $recurring = 0;
3499 3499
 
3500 3500
         foreach ( $items as $item ) {
3501
-			$subtotal  += $item->get_sub_total();
3502
-			$recurring += $item->get_recurring_sub_total();
3501
+            $subtotal  += $item->get_sub_total();
3502
+            $recurring += $item->get_recurring_sub_total();
3503 3503
         }
3504 3504
 
3505
-		if ( wpinv_prices_include_tax() ) {
3506
-			$subtotal  = max( 0, $subtotal - $this->totals['tax']['initial'] );
3507
-			$recurring = max( 0, $recurring - $this->totals['tax']['recurring'] );
3508
-		}
3505
+        if ( wpinv_prices_include_tax() ) {
3506
+            $subtotal  = max( 0, $subtotal - $this->totals['tax']['initial'] );
3507
+            $recurring = max( 0, $recurring - $this->totals['tax']['recurring'] );
3508
+        }
3509 3509
 
3510
-		$current = $this->is_renewal() ? $recurring : $subtotal;
3511
-		$this->set_subtotal( $current );
3510
+        $current = $this->is_renewal() ? $recurring : $subtotal;
3511
+        $this->set_subtotal( $current );
3512 3512
 
3513
-		$this->totals['subtotal'] = array(
3514
-			'initial'   => $subtotal,
3515
-			'recurring' => $recurring,
3516
-		);
3513
+        $this->totals['subtotal'] = array(
3514
+            'initial'   => $subtotal,
3515
+            'recurring' => $recurring,
3516
+        );
3517 3517
 
3518 3518
         return $current;
3519 3519
     }
3520 3520
 
3521 3521
     /**
3522
-	 * Recalculates the invoice discount total.
3523
-	 *
3524
-	 * @since 1.0.19
3525
-	 * @return float The recalculated discount
3526
-	 */
3527
-	public function recalculate_total_discount() {
3522
+     * Recalculates the invoice discount total.
3523
+     *
3524
+     * @since 1.0.19
3525
+     * @return float The recalculated discount
3526
+     */
3527
+    public function recalculate_total_discount() {
3528 3528
         $discounts = $this->get_discounts();
3529
-		$discount  = 0;
3530
-		$recurring = 0;
3529
+        $discount  = 0;
3530
+        $recurring = 0;
3531 3531
 
3532 3532
         foreach ( $discounts as $data ) {
3533
-			$discount  += wpinv_sanitize_amount( $data['initial_discount'] );
3534
-			$recurring += wpinv_sanitize_amount( $data['recurring_discount'] );
3535
-		}
3533
+            $discount  += wpinv_sanitize_amount( $data['initial_discount'] );
3534
+            $recurring += wpinv_sanitize_amount( $data['recurring_discount'] );
3535
+        }
3536 3536
 
3537
-		$current = $this->is_renewal() ? $recurring : $discount;
3537
+        $current = $this->is_renewal() ? $recurring : $discount;
3538 3538
 
3539
-		$this->set_total_discount( $current );
3539
+        $this->set_total_discount( $current );
3540 3540
 
3541
-		$this->totals['discount'] = array(
3542
-			'initial'   => $discount,
3543
-			'recurring' => $recurring,
3544
-		);
3541
+        $this->totals['discount'] = array(
3542
+            'initial'   => $discount,
3543
+            'recurring' => $recurring,
3544
+        );
3545 3545
 
3546
-		return $current;
3546
+        return $current;
3547 3547
 
3548 3548
     }
3549 3549
 
3550 3550
     /**
3551
-	 * Recalculates the invoice tax total.
3552
-	 *
3553
-	 * @since 1.0.19
3554
-	 * @return float The recalculated tax
3555
-	 */
3556
-	public function recalculate_total_tax() {
3551
+     * Recalculates the invoice tax total.
3552
+     *
3553
+     * @since 1.0.19
3554
+     * @return float The recalculated tax
3555
+     */
3556
+    public function recalculate_total_tax() {
3557 3557
 
3558
-		// Maybe disable taxes.
3559
-		$vat_number = $this->get_vat_number();
3560
-		$skip_tax   = GetPaid_Payment_Form_Submission_Taxes::is_eu_transaction( $this->get_country() ) && ! empty( $vat_number );
3558
+        // Maybe disable taxes.
3559
+        $vat_number = $this->get_vat_number();
3560
+        $skip_tax   = GetPaid_Payment_Form_Submission_Taxes::is_eu_transaction( $this->get_country() ) && ! empty( $vat_number );
3561 3561
 
3562
-		if ( wpinv_is_base_country( $this->get_country() ) && 'vat_too' == wpinv_get_option( 'vat_same_country_rule', 'vat_too' ) ) {
3563
-			$skip_tax = false;
3564
-		}
3562
+        if ( wpinv_is_base_country( $this->get_country() ) && 'vat_too' == wpinv_get_option( 'vat_same_country_rule', 'vat_too' ) ) {
3563
+            $skip_tax = false;
3564
+        }
3565 3565
 
3566
-		if ( ! wpinv_use_taxes() || $this->get_disable_taxes() || ! wpinv_is_country_taxable( $this->get_country() ) || $skip_tax   ) {
3566
+        if ( ! wpinv_use_taxes() || $this->get_disable_taxes() || ! wpinv_is_country_taxable( $this->get_country() ) || $skip_tax   ) {
3567 3567
 
3568
-			$this->totals['tax'] = array(
3569
-				'initial'   => 0,
3570
-				'recurring' => 0,
3571
-			);
3568
+            $this->totals['tax'] = array(
3569
+                'initial'   => 0,
3570
+                'recurring' => 0,
3571
+            );
3572 3572
 
3573
-			$this->tax_rate = 0;
3573
+            $this->tax_rate = 0;
3574 3574
 
3575
-			$this->set_taxes( array() );
3576
-			$current = 0;
3577
-		} else {
3575
+            $this->set_taxes( array() );
3576
+            $current = 0;
3577
+        } else {
3578 3578
 
3579
-			$item_taxes = array();
3579
+            $item_taxes = array();
3580 3580
 
3581
-			foreach ( $this->get_items() as $item ) {
3582
-				$rates    = getpaid_get_item_tax_rates( $item, $this->get_country(), $this->get_state() );
3583
-				$rates    = getpaid_filter_item_tax_rates( $item, $rates );
3584
-				$taxes    = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, false ), $rates );
3585
-				$r_taxes  = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, true ), $rates );
3586
-				foreach ( $taxes as $name => $amount ) {
3587
-					$recurring = isset( $r_taxes[ $name ] ) ? $r_taxes[ $name ] : 0;
3588
-					$tax       = getpaid_prepare_item_tax( $item, $name, $amount, $recurring );
3581
+            foreach ( $this->get_items() as $item ) {
3582
+                $rates    = getpaid_get_item_tax_rates( $item, $this->get_country(), $this->get_state() );
3583
+                $rates    = getpaid_filter_item_tax_rates( $item, $rates );
3584
+                $taxes    = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, false ), $rates );
3585
+                $r_taxes  = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, true ), $rates );
3586
+                foreach ( $taxes as $name => $amount ) {
3587
+                    $recurring = isset( $r_taxes[ $name ] ) ? $r_taxes[ $name ] : 0;
3588
+                    $tax       = getpaid_prepare_item_tax( $item, $name, $amount, $recurring );
3589 3589
 
3590
-					if ( ! isset( $item_taxes[ $name ] ) ) {
3591
-						$item_taxes[ $name ] = $tax;
3592
-						continue;
3593
-					}
3590
+                    if ( ! isset( $item_taxes[ $name ] ) ) {
3591
+                        $item_taxes[ $name ] = $tax;
3592
+                        continue;
3593
+                    }
3594 3594
 
3595
-					$item_taxes[ $name ]['initial_tax']   += $tax['initial_tax'];
3596
-					$item_taxes[ $name ]['recurring_tax'] += $tax['recurring_tax'];
3595
+                    $item_taxes[ $name ]['initial_tax']   += $tax['initial_tax'];
3596
+                    $item_taxes[ $name ]['recurring_tax'] += $tax['recurring_tax'];
3597 3597
 
3598
-				}
3598
+                }
3599 3599
 
3600
-			}
3600
+            }
3601 3601
 
3602
-			$item_taxes = array_replace( $this->get_taxes(), $item_taxes );
3603
-			$this->set_taxes( $item_taxes );
3602
+            $item_taxes = array_replace( $this->get_taxes(), $item_taxes );
3603
+            $this->set_taxes( $item_taxes );
3604 3604
 
3605
-			$initial_tax   = array_sum( wp_list_pluck( $item_taxes, 'initial_tax' ) );
3606
-			$recurring_tax = array_sum( wp_list_pluck( $item_taxes, 'recurring_tax' ) );
3605
+            $initial_tax   = array_sum( wp_list_pluck( $item_taxes, 'initial_tax' ) );
3606
+            $recurring_tax = array_sum( wp_list_pluck( $item_taxes, 'recurring_tax' ) );
3607 3607
 
3608
-			$current = $this->is_renewal() ? $recurring_tax : $initial_tax;
3608
+            $current = $this->is_renewal() ? $recurring_tax : $initial_tax;
3609 3609
 
3610
-			$this->totals['tax'] = array(
3611
-				'initial'   => $initial_tax,
3612
-				'recurring' => $recurring_tax,
3613
-			);
3610
+            $this->totals['tax'] = array(
3611
+                'initial'   => $initial_tax,
3612
+                'recurring' => $recurring_tax,
3613
+            );
3614 3614
 
3615
-		}
3615
+        }
3616 3616
 
3617
-		$this->set_total_tax( $current );
3617
+        $this->set_total_tax( $current );
3618 3618
 
3619
-		return $current;
3619
+        return $current;
3620 3620
 
3621 3621
     }
3622 3622
 
3623 3623
     /**
3624
-	 * Recalculates the invoice fees total.
3625
-	 *
3626
-	 * @since 1.0.19
3627
-	 * @return float The recalculated fee
3628
-	 */
3629
-	public function recalculate_total_fees() {
3630
-		$fees      = $this->get_fees();
3631
-		$fee       = 0;
3632
-		$recurring = 0;
3624
+     * Recalculates the invoice fees total.
3625
+     *
3626
+     * @since 1.0.19
3627
+     * @return float The recalculated fee
3628
+     */
3629
+    public function recalculate_total_fees() {
3630
+        $fees      = $this->get_fees();
3631
+        $fee       = 0;
3632
+        $recurring = 0;
3633 3633
 
3634 3634
         foreach ( $fees as $data ) {
3635
-			$fee       += wpinv_sanitize_amount( $data['initial_fee'] );
3636
-			$recurring += wpinv_sanitize_amount( $data['recurring_fee'] );
3637
-		}
3635
+            $fee       += wpinv_sanitize_amount( $data['initial_fee'] );
3636
+            $recurring += wpinv_sanitize_amount( $data['recurring_fee'] );
3637
+        }
3638 3638
 
3639
-		$current = $this->is_renewal() ? $recurring : $fee;
3640
-		$this->set_total_fees( $current );
3639
+        $current = $this->is_renewal() ? $recurring : $fee;
3640
+        $this->set_total_fees( $current );
3641 3641
 
3642
-		$this->totals['fee'] = array(
3643
-			'initial'   => $fee,
3644
-			'recurring' => $recurring,
3645
-		);
3642
+        $this->totals['fee'] = array(
3643
+            'initial'   => $fee,
3644
+            'recurring' => $recurring,
3645
+        );
3646 3646
 
3647 3647
         $this->set_total_fees( $fee );
3648 3648
         return $current;
3649 3649
     }
3650 3650
 
3651 3651
     /**
3652
-	 * Recalculates the invoice total.
3653
-	 *
3654
-	 * @since 1.0.19
3652
+     * Recalculates the invoice total.
3653
+     *
3654
+     * @since 1.0.19
3655 3655
      * @return float The invoice total
3656
-	 */
3657
-	public function recalculate_total() {
3656
+     */
3657
+    public function recalculate_total() {
3658 3658
         $this->recalculate_total_fees();
3659 3659
         $this->recalculate_total_discount();
3660
-		$this->recalculate_total_tax();
3661
-		$this->recalculate_subtotal();
3662
-		$this->set_total( $this->get_total_tax() + $this->get_total_fees() + $this->get_subtotal() - $this->get_total_discount() );
3663
-		return $this->get_total();
3664
-	}
3665
-
3666
-	/**
3667
-	 * @deprecated
3668
-	 */
3660
+        $this->recalculate_total_tax();
3661
+        $this->recalculate_subtotal();
3662
+        $this->set_total( $this->get_total_tax() + $this->get_total_fees() + $this->get_subtotal() - $this->get_total_discount() );
3663
+        return $this->get_total();
3664
+    }
3665
+
3666
+    /**
3667
+     * @deprecated
3668
+     */
3669 3669
     public function recalculate_totals() {
3670 3670
         $this->recalculate_total();
3671 3671
         $this->save( true );
@@ -3679,22 +3679,22 @@  discard block
 block discarded – undo
3679 3679
         return $this->get_data();
3680 3680
     }
3681 3681
 
3682
-	/**
3682
+    /**
3683 3683
      * Adds a system note to an invoice.
3684 3684
      *
3685 3685
      * @param string $note The note being added.
3686
-	 * @return int|false The new note's ID on success, false on failure.
3686
+     * @return int|false The new note's ID on success, false on failure.
3687 3687
      *
3688 3688
      */
3689 3689
     public function add_system_note( $note ) {
3690
-		return $this->add_note( $note, false, false, true );
3691
-	}
3690
+        return $this->add_note( $note, false, false, true );
3691
+    }
3692 3692
 
3693 3693
     /**
3694 3694
      * Adds a note to an invoice.
3695 3695
      *
3696 3696
      * @param string $note The note being added.
3697
-	 * @return int|false The new note's ID on success, false on failure.
3697
+     * @return int|false The new note's ID on success, false on failure.
3698 3698
      *
3699 3699
      */
3700 3700
     public function add_note( $note = '', $customer_type = false, $added_by_user = false, $system = false ) {
@@ -3704,21 +3704,21 @@  discard block
 block discarded – undo
3704 3704
             return false;
3705 3705
         }
3706 3706
 
3707
-		$author       = 'System';
3708
-		$author_email = '[email protected]';
3707
+        $author       = 'System';
3708
+        $author_email = '[email protected]';
3709 3709
 
3710
-		// If this is an admin comment or it has been added by the user.
3711
-		if ( is_user_logged_in() && ( ! $system || $added_by_user ) ) {
3712
-			$user         = get_user_by( 'id', get_current_user_id() );
3710
+        // If this is an admin comment or it has been added by the user.
3711
+        if ( is_user_logged_in() && ( ! $system || $added_by_user ) ) {
3712
+            $user         = get_user_by( 'id', get_current_user_id() );
3713 3713
             $author       = $user->display_name;
3714 3714
             $author_email = $user->user_email;
3715
-		}
3715
+        }
3716 3716
 
3717
-		return getpaid_notes()->add_invoice_note( $this, $note, $author, $author_email, $customer_type );
3717
+        return getpaid_notes()->add_invoice_note( $this, $note, $author, $author_email, $customer_type );
3718 3718
 
3719
-	}
3719
+    }
3720 3720
 
3721
-	/**
3721
+    /**
3722 3722
      * Generates a unique key for the invoice.
3723 3723
      */
3724 3724
     public function generate_key( $string = '' ) {
@@ -3738,113 +3738,113 @@  discard block
 block discarded – undo
3738 3738
             $number = wpinv_get_next_invoice_number( $this->get_post_type() );
3739 3739
         }
3740 3740
 
3741
-		return wpinv_format_invoice_number( $number, $this->get_post_type() );
3742
-
3743
-	}
3744
-
3745
-	/**
3746
-	 * Handle the status transition.
3747
-	 */
3748
-	protected function status_transition() {
3749
-		$status_transition = $this->status_transition;
3750
-
3751
-		// Reset status transition variable.
3752
-		$this->status_transition = false;
3741
+        return wpinv_format_invoice_number( $number, $this->get_post_type() );
3753 3742
 
3754
-		if ( $status_transition ) {
3755
-			try {
3756
-
3757
-				// Fire a hook for the status change.
3758
-				do_action( 'getpaid_invoice_status_' . $status_transition['to'], $this, $status_transition );
3759
-
3760
-				// @deprecated this is deprecated and will be removed in the future.
3761
-				do_action( 'wpinv_status_' . $status_transition['to'], $this->get_id(), $status_transition['from'] );
3762
-
3763
-				if ( ! empty( $status_transition['from'] ) ) {
3764
-
3765
-					/* translators: 1: old invoice status 2: new invoice status */
3766
-					$transition_note = sprintf( __( 'Status changed from %1$s to %2$s.', 'invoicing' ), wpinv_status_nicename( $status_transition['from'], $this ), wpinv_status_nicename( $status_transition['to'], $this  ) );
3767
-
3768
-					// Fire another hook.
3769
-					do_action( 'getpaid_invoice_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this );
3770
-					do_action( 'getpaid_invoice_status_changed', $this, $status_transition['from'], $status_transition['to'] );
3771
-
3772
-					// @deprecated this is deprecated and will be removed in the future.
3773
-					do_action( 'wpinv_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $status_transition['from'] );
3774
-
3775
-					// Note the transition occurred.
3776
-					$this->add_note( trim( $status_transition['note'] . ' ' . $transition_note ), false, $status_transition['manual'] );
3777
-
3778
-					// Work out if this was for a payment, and trigger a payment_status hook instead.
3779
-					if (
3780
-						in_array( $status_transition['from'], array( 'wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold' ), true )
3781
-						&& in_array( $status_transition['to'], array( 'publish', 'wpi-processing', 'wpi-renewal' ), true )
3782
-					) {
3783
-						do_action( 'getpaid_invoice_payment_status_changed', $this, $status_transition );
3784
-					}
3785
-
3786
-					// Work out if this was for a payment reversal, and trigger a payment_status_reversed hook instead.
3787
-					if (
3788
-						in_array( $status_transition['from'], array( 'publish', 'wpi-processing', 'wpi-renewal' ), true )
3789
-						&& in_array( $status_transition['to'], array( 'wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold' ), true )
3790
-					) {
3791
-						do_action( 'getpaid_invoice_payment_status_reversed', $this, $status_transition );
3792
-					}
3793
-				} else {
3794
-					/* translators: %s: new invoice status */
3795
-					$transition_note = sprintf( __( 'Status set to %s.', 'invoicing' ), wpinv_status_nicename( $status_transition['to'], $this  ) );
3796
-
3797
-					// Note the transition occurred.
3798
-					$this->add_note( trim( $status_transition['note'] . ' ' . $transition_note ), 0, $status_transition['manual'] );
3743
+    }
3799 3744
 
3800
-				}
3801
-			} catch ( Exception $e ) {
3802
-				$this->add_note( __( 'Error during status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
3803
-			}
3804
-		}
3805
-	}
3745
+    /**
3746
+     * Handle the status transition.
3747
+     */
3748
+    protected function status_transition() {
3749
+        $status_transition = $this->status_transition;
3750
+
3751
+        // Reset status transition variable.
3752
+        $this->status_transition = false;
3753
+
3754
+        if ( $status_transition ) {
3755
+            try {
3756
+
3757
+                // Fire a hook for the status change.
3758
+                do_action( 'getpaid_invoice_status_' . $status_transition['to'], $this, $status_transition );
3759
+
3760
+                // @deprecated this is deprecated and will be removed in the future.
3761
+                do_action( 'wpinv_status_' . $status_transition['to'], $this->get_id(), $status_transition['from'] );
3762
+
3763
+                if ( ! empty( $status_transition['from'] ) ) {
3764
+
3765
+                    /* translators: 1: old invoice status 2: new invoice status */
3766
+                    $transition_note = sprintf( __( 'Status changed from %1$s to %2$s.', 'invoicing' ), wpinv_status_nicename( $status_transition['from'], $this ), wpinv_status_nicename( $status_transition['to'], $this  ) );
3767
+
3768
+                    // Fire another hook.
3769
+                    do_action( 'getpaid_invoice_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this );
3770
+                    do_action( 'getpaid_invoice_status_changed', $this, $status_transition['from'], $status_transition['to'] );
3771
+
3772
+                    // @deprecated this is deprecated and will be removed in the future.
3773
+                    do_action( 'wpinv_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $status_transition['from'] );
3774
+
3775
+                    // Note the transition occurred.
3776
+                    $this->add_note( trim( $status_transition['note'] . ' ' . $transition_note ), false, $status_transition['manual'] );
3777
+
3778
+                    // Work out if this was for a payment, and trigger a payment_status hook instead.
3779
+                    if (
3780
+                        in_array( $status_transition['from'], array( 'wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold' ), true )
3781
+                        && in_array( $status_transition['to'], array( 'publish', 'wpi-processing', 'wpi-renewal' ), true )
3782
+                    ) {
3783
+                        do_action( 'getpaid_invoice_payment_status_changed', $this, $status_transition );
3784
+                    }
3785
+
3786
+                    // Work out if this was for a payment reversal, and trigger a payment_status_reversed hook instead.
3787
+                    if (
3788
+                        in_array( $status_transition['from'], array( 'publish', 'wpi-processing', 'wpi-renewal' ), true )
3789
+                        && in_array( $status_transition['to'], array( 'wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold' ), true )
3790
+                    ) {
3791
+                        do_action( 'getpaid_invoice_payment_status_reversed', $this, $status_transition );
3792
+                    }
3793
+                } else {
3794
+                    /* translators: %s: new invoice status */
3795
+                    $transition_note = sprintf( __( 'Status set to %s.', 'invoicing' ), wpinv_status_nicename( $status_transition['to'], $this  ) );
3796
+
3797
+                    // Note the transition occurred.
3798
+                    $this->add_note( trim( $status_transition['note'] . ' ' . $transition_note ), 0, $status_transition['manual'] );
3799
+
3800
+                }
3801
+            } catch ( Exception $e ) {
3802
+                $this->add_note( __( 'Error during status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
3803
+            }
3804
+        }
3805
+    }
3806 3806
 
3807
-	/**
3808
-	 * Updates an invoice status.
3809
-	 */
3810
-	public function update_status( $new_status = false, $note = '', $manual = false ) {
3807
+    /**
3808
+     * Updates an invoice status.
3809
+     */
3810
+    public function update_status( $new_status = false, $note = '', $manual = false ) {
3811 3811
 
3812
-		// Fires before updating a status.
3813
-		do_action( 'wpinv_before_invoice_status_change', $this->get_id(), $new_status, $this->get_status( 'edit' ) );
3812
+        // Fires before updating a status.
3813
+        do_action( 'wpinv_before_invoice_status_change', $this->get_id(), $new_status, $this->get_status( 'edit' ) );
3814 3814
 
3815
-		// Update the status.
3816
-		$this->set_status( $new_status, $note, $manual );
3815
+        // Update the status.
3816
+        $this->set_status( $new_status, $note, $manual );
3817 3817
 
3818
-		// Save the order.
3819
-		return $this->save();
3818
+        // Save the order.
3819
+        return $this->save();
3820 3820
 
3821
-	}
3821
+    }
3822 3822
 
3823
-	/**
3824
-	 * @deprecated
3825
-	 */
3826
-	public function refresh_item_ids() {
3823
+    /**
3824
+     * @deprecated
3825
+     */
3826
+    public function refresh_item_ids() {
3827 3827
         $item_ids = implode( ',', array_unique( wp_list_pluck( $this->get_cart_details(), 'item_id' ) ) );
3828 3828
         update_post_meta( $this->get_id(), '_wpinv_item_ids', $item_ids );
3829
-	}
3829
+    }
3830 3830
 
3831
-	/**
3832
-	 * @deprecated
3833
-	 */
3834
-	public function update_items( $temp = false ) {
3831
+    /**
3832
+     * @deprecated
3833
+     */
3834
+    public function update_items( $temp = false ) {
3835 3835
 
3836
-		$this->set_items( $this->get_items() );
3836
+        $this->set_items( $this->get_items() );
3837 3837
 
3838
-		if ( ! $temp ) {
3839
-			$this->save();
3840
-		}
3838
+        if ( ! $temp ) {
3839
+            $this->save();
3840
+        }
3841 3841
 
3842 3842
         return $this;
3843
-	}
3843
+    }
3844 3844
 
3845
-	/**
3846
-	 * @deprecated
3847
-	 */
3845
+    /**
3846
+     * @deprecated
3847
+     */
3848 3848
     public function validate_discount() {
3849 3849
 
3850 3850
         $discount_code = $this->get_discount_code();
@@ -3860,93 +3860,93 @@  discard block
 block discarded – undo
3860 3860
 
3861 3861
     }
3862 3862
 
3863
-	/**
3864
-	 * Refunds an invoice.
3865
-	 */
3863
+    /**
3864
+     * Refunds an invoice.
3865
+     */
3866 3866
     public function refund() {
3867
-		$this->set_status( 'wpi-refunded' );
3867
+        $this->set_status( 'wpi-refunded' );
3868 3868
         $this->save();
3869
-	}
3869
+    }
3870 3870
 
3871
-	/**
3872
-	 * Marks an invoice as paid.
3873
-	 * 
3874
-	 * @param string $transaction_id
3875
-	 */
3871
+    /**
3872
+     * Marks an invoice as paid.
3873
+     * 
3874
+     * @param string $transaction_id
3875
+     */
3876 3876
     public function mark_paid( $transaction_id = null, $note = '' ) {
3877 3877
 
3878
-		// Set the transaction id.
3879
-		if ( empty( $transaction_id ) ) {
3880
-			$transaction_id = $this->generate_key('trans_');
3881
-		}
3878
+        // Set the transaction id.
3879
+        if ( empty( $transaction_id ) ) {
3880
+            $transaction_id = $this->generate_key('trans_');
3881
+        }
3882 3882
 
3883
-		if ( ! $this->get_transaction_id() ) {
3884
-			$this->set_transaction_id( $transaction_id );
3885
-		}
3883
+        if ( ! $this->get_transaction_id() ) {
3884
+            $this->set_transaction_id( $transaction_id );
3885
+        }
3886 3886
 
3887
-		if ( $this->is_paid() && 'wpi-processing' != $this->get_status() ) {
3888
-			return $this->save();
3889
-		}
3887
+        if ( $this->is_paid() && 'wpi-processing' != $this->get_status() ) {
3888
+            return $this->save();
3889
+        }
3890 3890
 
3891
-		// Set the completed date.
3892
-		$this->set_date_completed( current_time( 'mysql' ) );
3891
+        // Set the completed date.
3892
+        $this->set_date_completed( current_time( 'mysql' ) );
3893 3893
 
3894
-		// Set the new status.
3895
-		$gateway = sanitize_text_field( $this->get_gateway_title() );
3896
-		if ( $this->is_renewal() || ! $this->is_parent() ) {
3894
+        // Set the new status.
3895
+        $gateway = sanitize_text_field( $this->get_gateway_title() );
3896
+        if ( $this->is_renewal() || ! $this->is_parent() ) {
3897 3897
 
3898
-			$_note = wp_sprintf( __( 'Renewed via %s', 'invoicing' ), $gateway );
3899
-			$_note = $_note . empty( $note ) ? '' : " ($note)";
3898
+            $_note = wp_sprintf( __( 'Renewed via %s', 'invoicing' ), $gateway );
3899
+            $_note = $_note . empty( $note ) ? '' : " ($note)";
3900 3900
 
3901
-			if ( 'none' == $this->get_gateway() ) {
3902
-				$_note = $note;
3903
-			}
3901
+            if ( 'none' == $this->get_gateway() ) {
3902
+                $_note = $note;
3903
+            }
3904 3904
 
3905
-			$this->set_status( 'wpi-renewal', $_note );
3905
+            $this->set_status( 'wpi-renewal', $_note );
3906 3906
 
3907
-		} else {
3907
+        } else {
3908 3908
 
3909
-			$_note = wp_sprintf( __( 'Paid via %s', 'invoicing' ), $gateway );
3910
-			$_note = $_note . empty( $note ) ? '' : " ($note)";
3909
+            $_note = wp_sprintf( __( 'Paid via %s', 'invoicing' ), $gateway );
3910
+            $_note = $_note . empty( $note ) ? '' : " ($note)";
3911 3911
 
3912
-			if ( 'none' == $this->get_gateway() ) {
3913
-				$_note = $note;
3914
-			}
3912
+            if ( 'none' == $this->get_gateway() ) {
3913
+                $_note = $note;
3914
+            }
3915 3915
 
3916
-			$this->set_status( 'publish', $_note );
3916
+            $this->set_status( 'publish', $_note );
3917 3917
 
3918
-		}
3918
+        }
3919 3919
 
3920
-		// Set checkout mode.
3921
-		$mode = wpinv_is_test_mode( $this->get_gateway() ) ? 'test' : 'live';
3922
-		$this->set_mode( $mode );
3920
+        // Set checkout mode.
3921
+        $mode = wpinv_is_test_mode( $this->get_gateway() ) ? 'test' : 'live';
3922
+        $this->set_mode( $mode );
3923 3923
 
3924
-		// Save the invoice.
3924
+        // Save the invoice.
3925 3925
         $this->save();
3926
-	}
3927
-
3928
-	/**
3929
-	 * Save data to the database.
3930
-	 *
3931
-	 * @since 1.0.19
3932
-	 * @return int invoice ID
3933
-	 */
3934
-	public function save() {
3935
-		$this->maybe_set_date_paid();
3936
-		$this->maybe_set_key();
3937
-		parent::save();
3938
-		$this->clear_cache();
3939
-		$this->status_transition();
3940
-		return $this->get_id();
3941
-	}
3942
-
3943
-	/**
3926
+    }
3927
+
3928
+    /**
3929
+     * Save data to the database.
3930
+     *
3931
+     * @since 1.0.19
3932
+     * @return int invoice ID
3933
+     */
3934
+    public function save() {
3935
+        $this->maybe_set_date_paid();
3936
+        $this->maybe_set_key();
3937
+        parent::save();
3938
+        $this->clear_cache();
3939
+        $this->status_transition();
3940
+        return $this->get_id();
3941
+    }
3942
+
3943
+    /**
3944 3944
      * Clears the subscription's cache.
3945 3945
      */
3946 3946
     public function clear_cache() {
3947
-		wp_cache_delete( $this->get_key(), 'getpaid_invoice_keys_to_invoice_ids' );
3948
-		wp_cache_delete( $this->get_number(), 'getpaid_invoice_numbers_to_invoice_ids' );
3949
-		wp_cache_delete( $this->get_transaction_id(), 'getpaid_invoice_transaction_ids_to_invoice_ids' );
3950
-	}
3947
+        wp_cache_delete( $this->get_key(), 'getpaid_invoice_keys_to_invoice_ids' );
3948
+        wp_cache_delete( $this->get_number(), 'getpaid_invoice_numbers_to_invoice_ids' );
3949
+        wp_cache_delete( $this->get_transaction_id(), 'getpaid_invoice_transaction_ids_to_invoice_ids' );
3950
+    }
3951 3951
 
3952 3952
 }
Please login to merge, or discard this patch.
Spacing   +788 added lines, -788 removed lines patch added patch discarded remove patch
@@ -6,7 +6,7 @@  discard block
 block discarded – undo
6 6
  * @package Invoicing
7 7
  */
8 8
 
9
-defined( 'ABSPATH' ) || exit;
9
+defined('ABSPATH') || exit;
10 10
 
11 11
 /**
12 12
  * Invoice class.
@@ -144,40 +144,40 @@  discard block
 block discarded – undo
144 144
 	 *
145 145
 	 * @param  int|string|object|WPInv_Invoice|WPInv_Legacy_Invoice|WP_Post $invoice Invoice id, key, transaction id, number or object to read.
146 146
 	 */
147
-    public function __construct( $invoice = 0 ) {
147
+    public function __construct($invoice = 0) {
148 148
 
149
-        parent::__construct( $invoice );
149
+        parent::__construct($invoice);
150 150
 
151
-		if ( ! empty( $invoice ) && is_numeric( $invoice ) && getpaid_is_invoice_post_type( get_post_type( (int) $invoice ) ) ) {
152
-			$this->set_id( (int) $invoice );
153
-		} elseif ( $invoice instanceof self ) {
154
-			$this->set_id( $invoice->get_id() );
155
-		} elseif ( ! empty( $invoice->ID ) ) {
156
-			$this->set_id( $invoice->ID );
157
-		} elseif ( is_array( $invoice ) ) {
158
-			$this->set_props( $invoice );
151
+		if (!empty($invoice) && is_numeric($invoice) && getpaid_is_invoice_post_type(get_post_type((int) $invoice))) {
152
+			$this->set_id((int) $invoice);
153
+		} elseif ($invoice instanceof self) {
154
+			$this->set_id($invoice->get_id());
155
+		} elseif (!empty($invoice->ID)) {
156
+			$this->set_id($invoice->ID);
157
+		} elseif (is_array($invoice)) {
158
+			$this->set_props($invoice);
159 159
 
160
-			if ( isset( $invoice['ID'] ) ) {
161
-				$this->set_id( $invoice['ID'] );
160
+			if (isset($invoice['ID'])) {
161
+				$this->set_id($invoice['ID']);
162 162
 			}
163 163
 
164
-		} elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'key' ) ) {
165
-			$this->set_id( $invoice_id );
166
-		} elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'number' ) ) {
167
-			$this->set_id( $invoice_id );
168
-		} elseif ( is_string( $invoice ) && $invoice_id = self::get_invoice_id_by_field( $invoice, 'transaction_id' ) ) {
169
-			$this->set_id( $invoice_id );
164
+		} elseif (is_string($invoice) && $invoice_id = self::get_invoice_id_by_field($invoice, 'key')) {
165
+			$this->set_id($invoice_id);
166
+		} elseif (is_string($invoice) && $invoice_id = self::get_invoice_id_by_field($invoice, 'number')) {
167
+			$this->set_id($invoice_id);
168
+		} elseif (is_string($invoice) && $invoice_id = self::get_invoice_id_by_field($invoice, 'transaction_id')) {
169
+			$this->set_id($invoice_id);
170 170
 		} else {
171
-			$this->set_object_read( true );
171
+			$this->set_object_read(true);
172 172
 		}
173 173
 
174 174
         // Load the datastore.
175
-		$this->data_store = GetPaid_Data_Store::load( $this->data_store_name );
175
+		$this->data_store = GetPaid_Data_Store::load($this->data_store_name);
176 176
 
177
-		if ( $this->get_id() > 0 ) {
178
-            $this->post = get_post( $this->get_id() );
177
+		if ($this->get_id() > 0) {
178
+            $this->post = get_post($this->get_id());
179 179
             $this->ID   = $this->get_id();
180
-			$this->data_store->read( $this );
180
+			$this->data_store->read($this);
181 181
         }
182 182
 
183 183
     }
@@ -192,38 +192,38 @@  discard block
 block discarded – undo
192 192
 	 * @since 1.0.15
193 193
 	 * @return int
194 194
 	 */
195
-	public static function get_invoice_id_by_field( $value, $field = 'key' ) {
195
+	public static function get_invoice_id_by_field($value, $field = 'key') {
196 196
         global $wpdb;
197 197
 
198 198
 		// Trim the value.
199
-		$value = trim( $value );
199
+		$value = trim($value);
200 200
 
201
-		if ( empty( $value ) ) {
201
+		if (empty($value)) {
202 202
 			return 0;
203 203
 		}
204 204
 
205 205
         // Valid fields.
206
-        $fields = array( 'key', 'number', 'transaction_id' );
206
+        $fields = array('key', 'number', 'transaction_id');
207 207
 
208 208
 		// Ensure a field has been passed.
209
-		if ( empty( $field ) || ! in_array( $field, $fields ) ) {
209
+		if (empty($field) || !in_array($field, $fields)) {
210 210
 			return 0;
211 211
 		}
212 212
 
213 213
 		// Maybe retrieve from the cache.
214
-		$invoice_id   = wp_cache_get( $value, "getpaid_invoice_{$field}s_to_invoice_ids" );
215
-		if ( false !== $invoice_id ) {
214
+		$invoice_id = wp_cache_get($value, "getpaid_invoice_{$field}s_to_invoice_ids");
215
+		if (false !== $invoice_id) {
216 216
 			return $invoice_id;
217 217
 		}
218 218
 
219 219
         // Fetch from the db.
220 220
         $table       = $wpdb->prefix . 'getpaid_invoices';
221 221
         $invoice_id  = (int) $wpdb->get_var(
222
-            $wpdb->prepare( "SELECT `post_id` FROM $table WHERE `$field`=%s LIMIT 1", $value )
222
+            $wpdb->prepare("SELECT `post_id` FROM $table WHERE `$field`=%s LIMIT 1", $value)
223 223
         );
224 224
 
225 225
 		// Update the cache with our data
226
-		wp_cache_set( $value, $invoice_id, "getpaid_invoice_{$field}s_to_invoice_ids" );
226
+		wp_cache_set($value, $invoice_id, "getpaid_invoice_{$field}s_to_invoice_ids");
227 227
 
228 228
 		return $invoice_id;
229 229
     }
@@ -231,8 +231,8 @@  discard block
 block discarded – undo
231 231
     /**
232 232
      * Checks if an invoice key is set.
233 233
      */
234
-    public function _isset( $key ) {
235
-        return isset( $this->data[$key] ) || method_exists( $this, "get_$key" );
234
+    public function _isset($key) {
235
+        return isset($this->data[$key]) || method_exists($this, "get_$key");
236 236
     }
237 237
 
238 238
     /*
@@ -257,8 +257,8 @@  discard block
 block discarded – undo
257 257
 	 * @param  string $context View or edit context.
258 258
 	 * @return int
259 259
 	 */
260
-	public function get_parent_id( $context = 'view' ) {
261
-		return (int) $this->get_prop( 'parent_id', $context );
260
+	public function get_parent_id($context = 'view') {
261
+		return (int) $this->get_prop('parent_id', $context);
262 262
     }
263 263
 
264 264
     /**
@@ -268,7 +268,7 @@  discard block
 block discarded – undo
268 268
 	 * @return WPInv_Invoice
269 269
 	 */
270 270
     public function get_parent_payment() {
271
-        return new WPInv_Invoice( $this->get_parent_id() );
271
+        return new WPInv_Invoice($this->get_parent_id());
272 272
     }
273 273
 
274 274
     /**
@@ -288,8 +288,8 @@  discard block
 block discarded – undo
288 288
 	 * @param  string $context View or edit context.
289 289
 	 * @return string
290 290
 	 */
291
-	public function get_status( $context = 'view' ) {
292
-		return $this->get_prop( 'status', $context );
291
+	public function get_status($context = 'view') {
292
+		return $this->get_prop('status', $context);
293 293
 	}
294 294
 	
295 295
 	/**
@@ -299,7 +299,7 @@  discard block
 block discarded – undo
299 299
 	 * @return array
300 300
 	 */
301 301
 	public function get_all_statuses() {
302
-		return wpinv_get_invoice_statuses( true, true, $this );
302
+		return wpinv_get_invoice_statuses(true, true, $this);
303 303
     }
304 304
 
305 305
     /**
@@ -311,9 +311,9 @@  discard block
 block discarded – undo
311 311
     public function get_status_nicename() {
312 312
 		$statuses = $this->get_all_statuses();
313 313
 
314
-        $status = isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : $this->get_status();
314
+        $status = isset($statuses[$this->get_status()]) ? $statuses[$this->get_status()] : $this->get_status();
315 315
 
316
-        return apply_filters( 'wpinv_get_invoice_status_nicename', $status, $this );
316
+        return apply_filters('wpinv_get_invoice_status_nicename', $status, $this);
317 317
     }
318 318
 
319 319
 	/**
@@ -324,7 +324,7 @@  discard block
 block discarded – undo
324 324
 	 */
325 325
 	public function get_status_class() {
326 326
 		$statuses = getpaid_get_invoice_status_classes();
327
-		return isset( $statuses[ $this->get_status() ] ) ? $statuses[ $this->get_status() ] : 'badge-dark';
327
+		return isset($statuses[$this->get_status()]) ? $statuses[$this->get_status()] : 'badge-dark';
328 328
 	}
329 329
 
330 330
 	/**
@@ -335,9 +335,9 @@  discard block
 block discarded – undo
335 335
      */
336 336
     public function get_status_label_html() {
337 337
 
338
-		$status_label = sanitize_text_field( $this->get_status_nicename() );
339
-		$status       = sanitize_html_class( $this->get_status() );
340
-		$class        = esc_attr( $this->get_status_class() );
338
+		$status_label = sanitize_text_field($this->get_status_nicename());
339
+		$status       = sanitize_html_class($this->get_status());
340
+		$class        = esc_attr($this->get_status_class());
341 341
 
342 342
 		return "<span class='bsui'><span class='badge $class $status'>$status_label</span></span>";
343 343
 	}
@@ -349,23 +349,23 @@  discard block
 block discarded – undo
349 349
 	 * @param  string $context View or edit context.
350 350
 	 * @return string
351 351
 	 */
352
-	public function get_version( $context = 'view' ) {
353
-		return $this->get_prop( 'version', $context );
352
+	public function get_version($context = 'view') {
353
+		return $this->get_prop('version', $context);
354 354
 	}
355 355
 
356 356
 	/**
357 357
 	 * @deprecated
358 358
 	 */
359
-	public function get_invoice_date( $format = true ) {
360
-		$date      = getpaid_format_date( $this->get_date_completed() );
361
-		$date      = empty( $date ) ? $this->get_date_created() : $this->get_date_completed();
362
-		$formatted = getpaid_format_date( $date );
359
+	public function get_invoice_date($format = true) {
360
+		$date      = getpaid_format_date($this->get_date_completed());
361
+		$date      = empty($date) ? $this->get_date_created() : $this->get_date_completed();
362
+		$formatted = getpaid_format_date($date);
363 363
 
364
-		if ( $format ) {
364
+		if ($format) {
365 365
 			return $formatted;
366 366
 		}
367 367
 
368
-		return empty( $formatted ) ? '' : $date;
368
+		return empty($formatted) ? '' : $date;
369 369
 
370 370
     }
371 371
 
@@ -376,8 +376,8 @@  discard block
 block discarded – undo
376 376
 	 * @param  string $context View or edit context.
377 377
 	 * @return string
378 378
 	 */
379
-	public function get_date_created( $context = 'view' ) {
380
-		return $this->get_prop( 'date_created', $context );
379
+	public function get_date_created($context = 'view') {
380
+		return $this->get_prop('date_created', $context);
381 381
 	}
382 382
 	
383 383
 	/**
@@ -387,8 +387,8 @@  discard block
 block discarded – undo
387 387
 	 * @param  string $context View or edit context.
388 388
 	 * @return string
389 389
 	 */
390
-	public function get_created_date( $context = 'view' ) {
391
-		return $this->get_date_created( $context );
390
+	public function get_created_date($context = 'view') {
391
+		return $this->get_date_created($context);
392 392
     }
393 393
 
394 394
     /**
@@ -398,11 +398,11 @@  discard block
 block discarded – undo
398 398
 	 * @param  string $context View or edit context.
399 399
 	 * @return string
400 400
 	 */
401
-	public function get_date_created_gmt( $context = 'view' ) {
402
-        $date = $this->get_date_created( $context );
401
+	public function get_date_created_gmt($context = 'view') {
402
+        $date = $this->get_date_created($context);
403 403
 
404
-        if ( $date ) {
405
-            $date = get_gmt_from_date( $date );
404
+        if ($date) {
405
+            $date = get_gmt_from_date($date);
406 406
         }
407 407
 		return $date;
408 408
     }
@@ -414,8 +414,8 @@  discard block
 block discarded – undo
414 414
 	 * @param  string $context View or edit context.
415 415
 	 * @return string
416 416
 	 */
417
-	public function get_date_modified( $context = 'view' ) {
418
-		return $this->get_prop( 'date_modified', $context );
417
+	public function get_date_modified($context = 'view') {
418
+		return $this->get_prop('date_modified', $context);
419 419
 	}
420 420
 
421 421
 	/**
@@ -425,8 +425,8 @@  discard block
 block discarded – undo
425 425
 	 * @param  string $context View or edit context.
426 426
 	 * @return string
427 427
 	 */
428
-	public function get_modified_date( $context = 'view' ) {
429
-		return $this->get_date_modified( $context );
428
+	public function get_modified_date($context = 'view') {
429
+		return $this->get_date_modified($context);
430 430
     }
431 431
 
432 432
     /**
@@ -436,11 +436,11 @@  discard block
 block discarded – undo
436 436
 	 * @param  string $context View or edit context.
437 437
 	 * @return string
438 438
 	 */
439
-	public function get_date_modified_gmt( $context = 'view' ) {
440
-        $date = $this->get_date_modified( $context );
439
+	public function get_date_modified_gmt($context = 'view') {
440
+        $date = $this->get_date_modified($context);
441 441
 
442
-        if ( $date ) {
443
-            $date = get_gmt_from_date( $date );
442
+        if ($date) {
443
+            $date = get_gmt_from_date($date);
444 444
         }
445 445
 		return $date;
446 446
     }
@@ -452,8 +452,8 @@  discard block
 block discarded – undo
452 452
 	 * @param  string $context View or edit context.
453 453
 	 * @return string
454 454
 	 */
455
-	public function get_due_date( $context = 'view' ) {
456
-		return $this->get_prop( 'due_date', $context );
455
+	public function get_due_date($context = 'view') {
456
+		return $this->get_prop('due_date', $context);
457 457
     }
458 458
 
459 459
     /**
@@ -463,8 +463,8 @@  discard block
 block discarded – undo
463 463
 	 * @param  string $context View or edit context.
464 464
 	 * @return string
465 465
 	 */
466
-	public function get_date_due( $context = 'view' ) {
467
-		return $this->get_due_date( $context );
466
+	public function get_date_due($context = 'view') {
467
+		return $this->get_due_date($context);
468 468
     }
469 469
 
470 470
     /**
@@ -474,11 +474,11 @@  discard block
 block discarded – undo
474 474
 	 * @param  string $context View or edit context.
475 475
 	 * @return string
476 476
 	 */
477
-	public function get_due_date_gmt( $context = 'view' ) {
478
-        $date = $this->get_due_date( $context );
477
+	public function get_due_date_gmt($context = 'view') {
478
+        $date = $this->get_due_date($context);
479 479
 
480
-        if ( $date ) {
481
-            $date = get_gmt_from_date( $date );
480
+        if ($date) {
481
+            $date = get_gmt_from_date($date);
482 482
         }
483 483
 		return $date;
484 484
     }
@@ -490,8 +490,8 @@  discard block
 block discarded – undo
490 490
 	 * @param  string $context View or edit context.
491 491
 	 * @return string
492 492
 	 */
493
-	public function get_gmt_date_due( $context = 'view' ) {
494
-		return $this->get_due_date_gmt( $context );
493
+	public function get_gmt_date_due($context = 'view') {
494
+		return $this->get_due_date_gmt($context);
495 495
     }
496 496
 
497 497
     /**
@@ -501,8 +501,8 @@  discard block
 block discarded – undo
501 501
 	 * @param  string $context View or edit context.
502 502
 	 * @return string
503 503
 	 */
504
-	public function get_completed_date( $context = 'view' ) {
505
-		return $this->get_prop( 'completed_date', $context );
504
+	public function get_completed_date($context = 'view') {
505
+		return $this->get_prop('completed_date', $context);
506 506
     }
507 507
 
508 508
     /**
@@ -512,8 +512,8 @@  discard block
 block discarded – undo
512 512
 	 * @param  string $context View or edit context.
513 513
 	 * @return string
514 514
 	 */
515
-	public function get_date_completed( $context = 'view' ) {
516
-		return $this->get_completed_date( $context );
515
+	public function get_date_completed($context = 'view') {
516
+		return $this->get_completed_date($context);
517 517
     }
518 518
 
519 519
     /**
@@ -523,11 +523,11 @@  discard block
 block discarded – undo
523 523
 	 * @param  string $context View or edit context.
524 524
 	 * @return string
525 525
 	 */
526
-	public function get_completed_date_gmt( $context = 'view' ) {
527
-        $date = $this->get_completed_date( $context );
526
+	public function get_completed_date_gmt($context = 'view') {
527
+        $date = $this->get_completed_date($context);
528 528
 
529
-        if ( $date ) {
530
-            $date = get_gmt_from_date( $date );
529
+        if ($date) {
530
+            $date = get_gmt_from_date($date);
531 531
         }
532 532
 		return $date;
533 533
     }
@@ -539,8 +539,8 @@  discard block
 block discarded – undo
539 539
 	 * @param  string $context View or edit context.
540 540
 	 * @return string
541 541
 	 */
542
-	public function get_gmt_completed_date( $context = 'view' ) {
543
-		return $this->get_completed_date_gmt( $context );
542
+	public function get_gmt_completed_date($context = 'view') {
543
+		return $this->get_completed_date_gmt($context);
544 544
     }
545 545
 
546 546
     /**
@@ -550,12 +550,12 @@  discard block
 block discarded – undo
550 550
 	 * @param  string $context View or edit context.
551 551
 	 * @return string
552 552
 	 */
553
-	public function get_number( $context = 'view' ) {
554
-		$number = $this->get_prop( 'number', $context );
553
+	public function get_number($context = 'view') {
554
+		$number = $this->get_prop('number', $context);
555 555
 
556
-		if ( empty( $number ) ) {
556
+		if (empty($number)) {
557 557
 			$number = $this->generate_number();
558
-			$this->set_number( $this->generate_number() );
558
+			$this->set_number($this->generate_number());
559 559
 		}
560 560
 
561 561
 		return $number;
@@ -569,8 +569,8 @@  discard block
 block discarded – undo
569 569
 	public function maybe_set_number() {
570 570
         $number = $this->get_number();
571 571
 
572
-        if ( empty( $number ) || $this->get_id() == $number ) {
573
-			$this->set_number( $this->generate_number() );
572
+        if (empty($number) || $this->get_id() == $number) {
573
+			$this->set_number($this->generate_number());
574 574
         }
575 575
 
576 576
 	}
@@ -582,8 +582,8 @@  discard block
 block discarded – undo
582 582
 	 * @param  string $context View or edit context.
583 583
 	 * @return string
584 584
 	 */
585
-	public function get_key( $context = 'view' ) {
586
-        return $this->get_prop( 'key', $context );
585
+	public function get_key($context = 'view') {
586
+        return $this->get_prop('key', $context);
587 587
 	}
588 588
 
589 589
 	/**
@@ -594,9 +594,9 @@  discard block
 block discarded – undo
594 594
 	public function maybe_set_key() {
595 595
         $key = $this->get_key();
596 596
 
597
-        if ( empty( $key ) ) {
598
-            $key = $this->generate_key( $this->get_type() . '_' );
599
-            $this->set_key( $key );
597
+        if (empty($key)) {
598
+            $key = $this->generate_key($this->get_type() . '_');
599
+            $this->set_key($key);
600 600
         }
601 601
 
602 602
     }
@@ -608,8 +608,8 @@  discard block
 block discarded – undo
608 608
 	 * @param  string $context View or edit context.
609 609
 	 * @return string
610 610
 	 */
611
-	public function get_type( $context = 'view' ) {
612
-        return $this->get_prop( 'type', $context );
611
+	public function get_type($context = 'view') {
612
+        return $this->get_prop('type', $context);
613 613
 	}
614 614
 
615 615
 	/**
@@ -619,7 +619,7 @@  discard block
 block discarded – undo
619 619
 	 * @return string
620 620
 	 */
621 621
 	public function get_invoice_quote_type() {
622
-        return getpaid_get_post_type_label( $this->get_post_type(), false );
622
+        return getpaid_get_post_type_label($this->get_post_type(), false);
623 623
     }
624 624
 
625 625
     /**
@@ -629,8 +629,8 @@  discard block
 block discarded – undo
629 629
 	 * @param  string $context View or edit context.
630 630
 	 * @return string
631 631
 	 */
632
-	public function get_label( $context = 'view' ) {
633
-        return getpaid_get_post_type_label( $this->get_post_type( $context ), false );
632
+	public function get_label($context = 'view') {
633
+        return getpaid_get_post_type_label($this->get_post_type($context), false);
634 634
 	}
635 635
 
636 636
 	/**
@@ -640,8 +640,8 @@  discard block
 block discarded – undo
640 640
 	 * @param  string $context View or edit context.
641 641
 	 * @return string
642 642
 	 */
643
-	public function get_post_type( $context = 'view' ) {
644
-        return $this->get_prop( 'post_type', $context );
643
+	public function get_post_type($context = 'view') {
644
+        return $this->get_prop('post_type', $context);
645 645
     }
646 646
 
647 647
     /**
@@ -651,8 +651,8 @@  discard block
 block discarded – undo
651 651
 	 * @param  string $context View or edit context.
652 652
 	 * @return string
653 653
 	 */
654
-	public function get_mode( $context = 'view' ) {
655
-        return $this->get_prop( 'mode', $context );
654
+	public function get_mode($context = 'view') {
655
+        return $this->get_prop('mode', $context);
656 656
     }
657 657
 
658 658
     /**
@@ -662,13 +662,13 @@  discard block
 block discarded – undo
662 662
 	 * @param  string $context View or edit context.
663 663
 	 * @return string
664 664
 	 */
665
-	public function get_path( $context = 'view' ) {
666
-        $path   = $this->get_prop( 'path', $context );
665
+	public function get_path($context = 'view') {
666
+        $path = $this->get_prop('path', $context);
667 667
 		$prefix = $this->get_type();
668 668
 
669
-		if ( 0 !== strpos( $path, $prefix ) ) {
670
-			$path = sanitize_title(  $prefix . '-' . $this->get_id()  );
671
-			$this->set_path( $path );
669
+		if (0 !== strpos($path, $prefix)) {
670
+			$path = sanitize_title($prefix . '-' . $this->get_id());
671
+			$this->set_path($path);
672 672
 		}
673 673
 
674 674
 		return $path;
@@ -681,8 +681,8 @@  discard block
 block discarded – undo
681 681
 	 * @param  string $context View or edit context.
682 682
 	 * @return string
683 683
 	 */
684
-	public function get_name( $context = 'view' ) {
685
-        return $this->get_prop( 'title', $context );
684
+	public function get_name($context = 'view') {
685
+        return $this->get_prop('title', $context);
686 686
     }
687 687
 
688 688
     /**
@@ -692,8 +692,8 @@  discard block
 block discarded – undo
692 692
 	 * @param  string $context View or edit context.
693 693
 	 * @return string
694 694
 	 */
695
-	public function get_title( $context = 'view' ) {
696
-		return $this->get_name( $context );
695
+	public function get_title($context = 'view') {
696
+		return $this->get_name($context);
697 697
     }
698 698
 
699 699
     /**
@@ -703,8 +703,8 @@  discard block
 block discarded – undo
703 703
 	 * @param  string $context View or edit context.
704 704
 	 * @return string
705 705
 	 */
706
-	public function get_description( $context = 'view' ) {
707
-		return $this->get_prop( 'description', $context );
706
+	public function get_description($context = 'view') {
707
+		return $this->get_prop('description', $context);
708 708
     }
709 709
 
710 710
     /**
@@ -714,8 +714,8 @@  discard block
 block discarded – undo
714 714
 	 * @param  string $context View or edit context.
715 715
 	 * @return string
716 716
 	 */
717
-	public function get_excerpt( $context = 'view' ) {
718
-		return $this->get_description( $context );
717
+	public function get_excerpt($context = 'view') {
718
+		return $this->get_description($context);
719 719
     }
720 720
 
721 721
     /**
@@ -725,8 +725,8 @@  discard block
 block discarded – undo
725 725
 	 * @param  string $context View or edit context.
726 726
 	 * @return string
727 727
 	 */
728
-	public function get_summary( $context = 'view' ) {
729
-		return $this->get_description( $context );
728
+	public function get_summary($context = 'view') {
729
+		return $this->get_description($context);
730 730
     }
731 731
 
732 732
     /**
@@ -736,26 +736,26 @@  discard block
 block discarded – undo
736 736
      * @param  string $context View or edit context.
737 737
 	 * @return array
738 738
 	 */
739
-    public function get_user_info( $context = 'view' ) {
739
+    public function get_user_info($context = 'view') {
740 740
 
741 741
         $user_info = array(
742
-            'user_id'    => $this->get_user_id( $context ),
743
-            'email'      => $this->get_email( $context ),
744
-            'first_name' => $this->get_first_name( $context ),
745
-            'last_name'  => $this->get_last_name( $context ),
746
-            'address'    => $this->get_address( $context ),
747
-            'phone'      => $this->get_phone( $context ),
748
-            'city'       => $this->get_city( $context ),
749
-            'country'    => $this->get_country( $context ),
750
-            'state'      => $this->get_state( $context ),
751
-            'zip'        => $this->get_zip( $context ),
752
-            'company'    => $this->get_company( $context ),
753
-			'company_id' => $this->get_company_id( $context ),
754
-            'vat_number' => $this->get_vat_number( $context ),
755
-            'discount'   => $this->get_discount_code( $context ),
742
+            'user_id'    => $this->get_user_id($context),
743
+            'email'      => $this->get_email($context),
744
+            'first_name' => $this->get_first_name($context),
745
+            'last_name'  => $this->get_last_name($context),
746
+            'address'    => $this->get_address($context),
747
+            'phone'      => $this->get_phone($context),
748
+            'city'       => $this->get_city($context),
749
+            'country'    => $this->get_country($context),
750
+            'state'      => $this->get_state($context),
751
+            'zip'        => $this->get_zip($context),
752
+            'company'    => $this->get_company($context),
753
+			'company_id' => $this->get_company_id($context),
754
+            'vat_number' => $this->get_vat_number($context),
755
+            'discount'   => $this->get_discount_code($context),
756 756
 		);
757 757
 
758
-		return apply_filters( 'wpinv_user_info', $user_info, $this->get_id(), $this );
758
+		return apply_filters('wpinv_user_info', $user_info, $this->get_id(), $this);
759 759
 
760 760
     }
761 761
 
@@ -766,8 +766,8 @@  discard block
 block discarded – undo
766 766
 	 * @param  string $context View or edit context.
767 767
 	 * @return int
768 768
 	 */
769
-	public function get_author( $context = 'view' ) {
770
-		return (int) $this->get_prop( 'author', $context );
769
+	public function get_author($context = 'view') {
770
+		return (int) $this->get_prop('author', $context);
771 771
     }
772 772
 
773 773
     /**
@@ -777,8 +777,8 @@  discard block
 block discarded – undo
777 777
 	 * @param  string $context View or edit context.
778 778
 	 * @return int
779 779
 	 */
780
-	public function get_user_id( $context = 'view' ) {
781
-		return $this->get_author( $context );
780
+	public function get_user_id($context = 'view') {
781
+		return $this->get_author($context);
782 782
     }
783 783
 
784 784
      /**
@@ -788,8 +788,8 @@  discard block
 block discarded – undo
788 788
 	 * @param  string $context View or edit context.
789 789
 	 * @return int
790 790
 	 */
791
-	public function get_customer_id( $context = 'view' ) {
792
-		return $this->get_author( $context );
791
+	public function get_customer_id($context = 'view') {
792
+		return $this->get_author($context);
793 793
     }
794 794
 
795 795
     /**
@@ -799,8 +799,8 @@  discard block
 block discarded – undo
799 799
 	 * @param  string $context View or edit context.
800 800
 	 * @return string
801 801
 	 */
802
-	public function get_ip( $context = 'view' ) {
803
-		return $this->get_prop( 'user_ip', $context );
802
+	public function get_ip($context = 'view') {
803
+		return $this->get_prop('user_ip', $context);
804 804
     }
805 805
 
806 806
     /**
@@ -810,8 +810,8 @@  discard block
 block discarded – undo
810 810
 	 * @param  string $context View or edit context.
811 811
 	 * @return string
812 812
 	 */
813
-	public function get_user_ip( $context = 'view' ) {
814
-		return $this->get_ip( $context );
813
+	public function get_user_ip($context = 'view') {
814
+		return $this->get_ip($context);
815 815
     }
816 816
 
817 817
      /**
@@ -821,8 +821,8 @@  discard block
 block discarded – undo
821 821
 	 * @param  string $context View or edit context.
822 822
 	 * @return string
823 823
 	 */
824
-	public function get_customer_ip( $context = 'view' ) {
825
-		return $this->get_ip( $context );
824
+	public function get_customer_ip($context = 'view') {
825
+		return $this->get_ip($context);
826 826
     }
827 827
 
828 828
     /**
@@ -832,8 +832,8 @@  discard block
 block discarded – undo
832 832
 	 * @param  string $context View or edit context.
833 833
 	 * @return string
834 834
 	 */
835
-	public function get_first_name( $context = 'view' ) {
836
-		return $this->get_prop( 'first_name', $context );
835
+	public function get_first_name($context = 'view') {
836
+		return $this->get_prop('first_name', $context);
837 837
     }
838 838
 
839 839
     /**
@@ -843,8 +843,8 @@  discard block
 block discarded – undo
843 843
 	 * @param  string $context View or edit context.
844 844
 	 * @return string
845 845
 	 */
846
-	public function get_user_first_name( $context = 'view' ) {
847
-		return $this->get_first_name( $context );
846
+	public function get_user_first_name($context = 'view') {
847
+		return $this->get_first_name($context);
848 848
     }
849 849
 
850 850
      /**
@@ -854,8 +854,8 @@  discard block
 block discarded – undo
854 854
 	 * @param  string $context View or edit context.
855 855
 	 * @return string
856 856
 	 */
857
-	public function get_customer_first_name( $context = 'view' ) {
858
-		return $this->get_first_name( $context );
857
+	public function get_customer_first_name($context = 'view') {
858
+		return $this->get_first_name($context);
859 859
     }
860 860
 
861 861
     /**
@@ -865,8 +865,8 @@  discard block
 block discarded – undo
865 865
 	 * @param  string $context View or edit context.
866 866
 	 * @return string
867 867
 	 */
868
-	public function get_last_name( $context = 'view' ) {
869
-		return $this->get_prop( 'last_name', $context );
868
+	public function get_last_name($context = 'view') {
869
+		return $this->get_prop('last_name', $context);
870 870
     }
871 871
 
872 872
     /**
@@ -876,8 +876,8 @@  discard block
 block discarded – undo
876 876
 	 * @param  string $context View or edit context.
877 877
 	 * @return string
878 878
 	 */
879
-	public function get_user_last_name( $context = 'view' ) {
880
-		return $this->get_last_name( $context );
879
+	public function get_user_last_name($context = 'view') {
880
+		return $this->get_last_name($context);
881 881
     }
882 882
 
883 883
     /**
@@ -887,8 +887,8 @@  discard block
 block discarded – undo
887 887
 	 * @param  string $context View or edit context.
888 888
 	 * @return string
889 889
 	 */
890
-	public function get_customer_last_name( $context = 'view' ) {
891
-		return $this->get_last_name( $context );
890
+	public function get_customer_last_name($context = 'view') {
891
+		return $this->get_last_name($context);
892 892
     }
893 893
 
894 894
     /**
@@ -898,8 +898,8 @@  discard block
 block discarded – undo
898 898
 	 * @param  string $context View or edit context.
899 899
 	 * @return string
900 900
 	 */
901
-	public function get_full_name( $context = 'view' ) {
902
-		return trim( $this->get_first_name( $context ) . ' ' . $this->get_last_name( $context ) );
901
+	public function get_full_name($context = 'view') {
902
+		return trim($this->get_first_name($context) . ' ' . $this->get_last_name($context));
903 903
     }
904 904
 
905 905
     /**
@@ -909,8 +909,8 @@  discard block
 block discarded – undo
909 909
 	 * @param  string $context View or edit context.
910 910
 	 * @return string
911 911
 	 */
912
-	public function get_user_full_name( $context = 'view' ) {
913
-		return $this->get_full_name( $context );
912
+	public function get_user_full_name($context = 'view') {
913
+		return $this->get_full_name($context);
914 914
     }
915 915
 
916 916
     /**
@@ -920,8 +920,8 @@  discard block
 block discarded – undo
920 920
 	 * @param  string $context View or edit context.
921 921
 	 * @return string
922 922
 	 */
923
-	public function get_customer_full_name( $context = 'view' ) {
924
-		return $this->get_full_name( $context );
923
+	public function get_customer_full_name($context = 'view') {
924
+		return $this->get_full_name($context);
925 925
     }
926 926
 
927 927
     /**
@@ -931,8 +931,8 @@  discard block
 block discarded – undo
931 931
 	 * @param  string $context View or edit context.
932 932
 	 * @return string
933 933
 	 */
934
-	public function get_phone( $context = 'view' ) {
935
-		return $this->get_prop( 'phone', $context );
934
+	public function get_phone($context = 'view') {
935
+		return $this->get_prop('phone', $context);
936 936
     }
937 937
 
938 938
     /**
@@ -942,8 +942,8 @@  discard block
 block discarded – undo
942 942
 	 * @param  string $context View or edit context.
943 943
 	 * @return string
944 944
 	 */
945
-	public function get_phone_number( $context = 'view' ) {
946
-		return $this->get_phone( $context );
945
+	public function get_phone_number($context = 'view') {
946
+		return $this->get_phone($context);
947 947
     }
948 948
 
949 949
     /**
@@ -953,8 +953,8 @@  discard block
 block discarded – undo
953 953
 	 * @param  string $context View or edit context.
954 954
 	 * @return string
955 955
 	 */
956
-	public function get_user_phone( $context = 'view' ) {
957
-		return $this->get_phone( $context );
956
+	public function get_user_phone($context = 'view') {
957
+		return $this->get_phone($context);
958 958
     }
959 959
 
960 960
     /**
@@ -964,8 +964,8 @@  discard block
 block discarded – undo
964 964
 	 * @param  string $context View or edit context.
965 965
 	 * @return string
966 966
 	 */
967
-	public function get_customer_phone( $context = 'view' ) {
968
-		return $this->get_phone( $context );
967
+	public function get_customer_phone($context = 'view') {
968
+		return $this->get_phone($context);
969 969
     }
970 970
 
971 971
     /**
@@ -975,8 +975,8 @@  discard block
 block discarded – undo
975 975
 	 * @param  string $context View or edit context.
976 976
 	 * @return string
977 977
 	 */
978
-	public function get_email( $context = 'view' ) {
979
-		return $this->get_prop( 'email', $context );
978
+	public function get_email($context = 'view') {
979
+		return $this->get_prop('email', $context);
980 980
     }
981 981
 
982 982
     /**
@@ -986,8 +986,8 @@  discard block
 block discarded – undo
986 986
 	 * @param  string $context View or edit context.
987 987
 	 * @return string
988 988
 	 */
989
-	public function get_email_address( $context = 'view' ) {
990
-		return $this->get_email( $context );
989
+	public function get_email_address($context = 'view') {
990
+		return $this->get_email($context);
991 991
     }
992 992
 
993 993
     /**
@@ -997,8 +997,8 @@  discard block
 block discarded – undo
997 997
 	 * @param  string $context View or edit context.
998 998
 	 * @return string
999 999
 	 */
1000
-	public function get_user_email( $context = 'view' ) {
1001
-		return $this->get_email( $context );
1000
+	public function get_user_email($context = 'view') {
1001
+		return $this->get_email($context);
1002 1002
     }
1003 1003
 
1004 1004
     /**
@@ -1008,8 +1008,8 @@  discard block
 block discarded – undo
1008 1008
 	 * @param  string $context View or edit context.
1009 1009
 	 * @return string
1010 1010
 	 */
1011
-	public function get_customer_email( $context = 'view' ) {
1012
-		return $this->get_email( $context );
1011
+	public function get_customer_email($context = 'view') {
1012
+		return $this->get_email($context);
1013 1013
     }
1014 1014
 
1015 1015
     /**
@@ -1019,9 +1019,9 @@  discard block
 block discarded – undo
1019 1019
 	 * @param  string $context View or edit context.
1020 1020
 	 * @return string
1021 1021
 	 */
1022
-	public function get_country( $context = 'view' ) {
1023
-		$country = $this->get_prop( 'country', $context );
1024
-		return empty( $country ) ? wpinv_get_default_country() : $country;
1022
+	public function get_country($context = 'view') {
1023
+		$country = $this->get_prop('country', $context);
1024
+		return empty($country) ? wpinv_get_default_country() : $country;
1025 1025
     }
1026 1026
 
1027 1027
     /**
@@ -1031,8 +1031,8 @@  discard block
 block discarded – undo
1031 1031
 	 * @param  string $context View or edit context.
1032 1032
 	 * @return string
1033 1033
 	 */
1034
-	public function get_user_country( $context = 'view' ) {
1035
-		return $this->get_country( $context );
1034
+	public function get_user_country($context = 'view') {
1035
+		return $this->get_country($context);
1036 1036
     }
1037 1037
 
1038 1038
     /**
@@ -1042,8 +1042,8 @@  discard block
 block discarded – undo
1042 1042
 	 * @param  string $context View or edit context.
1043 1043
 	 * @return string
1044 1044
 	 */
1045
-	public function get_customer_country( $context = 'view' ) {
1046
-		return $this->get_country( $context );
1045
+	public function get_customer_country($context = 'view') {
1046
+		return $this->get_country($context);
1047 1047
     }
1048 1048
 
1049 1049
     /**
@@ -1053,9 +1053,9 @@  discard block
 block discarded – undo
1053 1053
 	 * @param  string $context View or edit context.
1054 1054
 	 * @return string
1055 1055
 	 */
1056
-	public function get_state( $context = 'view' ) {
1057
-		$state = $this->get_prop( 'state', $context );
1058
-		return empty( $state ) ? wpinv_get_default_state() : $state;
1056
+	public function get_state($context = 'view') {
1057
+		$state = $this->get_prop('state', $context);
1058
+		return empty($state) ? wpinv_get_default_state() : $state;
1059 1059
     }
1060 1060
 
1061 1061
     /**
@@ -1065,8 +1065,8 @@  discard block
 block discarded – undo
1065 1065
 	 * @param  string $context View or edit context.
1066 1066
 	 * @return string
1067 1067
 	 */
1068
-	public function get_user_state( $context = 'view' ) {
1069
-		return $this->get_state( $context );
1068
+	public function get_user_state($context = 'view') {
1069
+		return $this->get_state($context);
1070 1070
     }
1071 1071
 
1072 1072
     /**
@@ -1076,8 +1076,8 @@  discard block
 block discarded – undo
1076 1076
 	 * @param  string $context View or edit context.
1077 1077
 	 * @return string
1078 1078
 	 */
1079
-	public function get_customer_state( $context = 'view' ) {
1080
-		return $this->get_state( $context );
1079
+	public function get_customer_state($context = 'view') {
1080
+		return $this->get_state($context);
1081 1081
     }
1082 1082
 
1083 1083
     /**
@@ -1087,8 +1087,8 @@  discard block
 block discarded – undo
1087 1087
 	 * @param  string $context View or edit context.
1088 1088
 	 * @return string
1089 1089
 	 */
1090
-	public function get_city( $context = 'view' ) {
1091
-		return $this->get_prop( 'city', $context );
1090
+	public function get_city($context = 'view') {
1091
+		return $this->get_prop('city', $context);
1092 1092
     }
1093 1093
 
1094 1094
     /**
@@ -1098,8 +1098,8 @@  discard block
 block discarded – undo
1098 1098
 	 * @param  string $context View or edit context.
1099 1099
 	 * @return string
1100 1100
 	 */
1101
-	public function get_user_city( $context = 'view' ) {
1102
-		return $this->get_city( $context );
1101
+	public function get_user_city($context = 'view') {
1102
+		return $this->get_city($context);
1103 1103
     }
1104 1104
 
1105 1105
     /**
@@ -1109,8 +1109,8 @@  discard block
 block discarded – undo
1109 1109
 	 * @param  string $context View or edit context.
1110 1110
 	 * @return string
1111 1111
 	 */
1112
-	public function get_customer_city( $context = 'view' ) {
1113
-		return $this->get_city( $context );
1112
+	public function get_customer_city($context = 'view') {
1113
+		return $this->get_city($context);
1114 1114
     }
1115 1115
 
1116 1116
     /**
@@ -1120,8 +1120,8 @@  discard block
 block discarded – undo
1120 1120
 	 * @param  string $context View or edit context.
1121 1121
 	 * @return string
1122 1122
 	 */
1123
-	public function get_zip( $context = 'view' ) {
1124
-		return $this->get_prop( 'zip', $context );
1123
+	public function get_zip($context = 'view') {
1124
+		return $this->get_prop('zip', $context);
1125 1125
     }
1126 1126
 
1127 1127
     /**
@@ -1131,8 +1131,8 @@  discard block
 block discarded – undo
1131 1131
 	 * @param  string $context View or edit context.
1132 1132
 	 * @return string
1133 1133
 	 */
1134
-	public function get_user_zip( $context = 'view' ) {
1135
-		return $this->get_zip( $context );
1134
+	public function get_user_zip($context = 'view') {
1135
+		return $this->get_zip($context);
1136 1136
     }
1137 1137
 
1138 1138
     /**
@@ -1142,8 +1142,8 @@  discard block
 block discarded – undo
1142 1142
 	 * @param  string $context View or edit context.
1143 1143
 	 * @return string
1144 1144
 	 */
1145
-	public function get_customer_zip( $context = 'view' ) {
1146
-		return $this->get_zip( $context );
1145
+	public function get_customer_zip($context = 'view') {
1146
+		return $this->get_zip($context);
1147 1147
     }
1148 1148
 
1149 1149
     /**
@@ -1153,8 +1153,8 @@  discard block
 block discarded – undo
1153 1153
 	 * @param  string $context View or edit context.
1154 1154
 	 * @return string
1155 1155
 	 */
1156
-	public function get_company( $context = 'view' ) {
1157
-		return $this->get_prop( 'company', $context );
1156
+	public function get_company($context = 'view') {
1157
+		return $this->get_prop('company', $context);
1158 1158
     }
1159 1159
 
1160 1160
     /**
@@ -1164,8 +1164,8 @@  discard block
 block discarded – undo
1164 1164
 	 * @param  string $context View or edit context.
1165 1165
 	 * @return string
1166 1166
 	 */
1167
-	public function get_user_company( $context = 'view' ) {
1168
-		return $this->get_company( $context );
1167
+	public function get_user_company($context = 'view') {
1168
+		return $this->get_company($context);
1169 1169
     }
1170 1170
 
1171 1171
     /**
@@ -1175,8 +1175,8 @@  discard block
 block discarded – undo
1175 1175
 	 * @param  string $context View or edit context.
1176 1176
 	 * @return string
1177 1177
 	 */
1178
-	public function get_customer_company( $context = 'view' ) {
1179
-		return $this->get_company( $context );
1178
+	public function get_customer_company($context = 'view') {
1179
+		return $this->get_company($context);
1180 1180
     }
1181 1181
 
1182 1182
 	/**
@@ -1186,8 +1186,8 @@  discard block
 block discarded – undo
1186 1186
 	 * @param  string $context View or edit context.
1187 1187
 	 * @return string
1188 1188
 	 */
1189
-	public function get_company_id( $context = 'view' ) {
1190
-		return $this->get_prop( 'company_id', $context );
1189
+	public function get_company_id($context = 'view') {
1190
+		return $this->get_prop('company_id', $context);
1191 1191
     }
1192 1192
 
1193 1193
     /**
@@ -1197,8 +1197,8 @@  discard block
 block discarded – undo
1197 1197
 	 * @param  string $context View or edit context.
1198 1198
 	 * @return string
1199 1199
 	 */
1200
-	public function get_vat_number( $context = 'view' ) {
1201
-		return $this->get_prop( 'vat_number', $context );
1200
+	public function get_vat_number($context = 'view') {
1201
+		return $this->get_prop('vat_number', $context);
1202 1202
     }
1203 1203
 
1204 1204
     /**
@@ -1208,8 +1208,8 @@  discard block
 block discarded – undo
1208 1208
 	 * @param  string $context View or edit context.
1209 1209
 	 * @return string
1210 1210
 	 */
1211
-	public function get_user_vat_number( $context = 'view' ) {
1212
-		return $this->get_vat_number( $context );
1211
+	public function get_user_vat_number($context = 'view') {
1212
+		return $this->get_vat_number($context);
1213 1213
     }
1214 1214
 
1215 1215
     /**
@@ -1219,8 +1219,8 @@  discard block
 block discarded – undo
1219 1219
 	 * @param  string $context View or edit context.
1220 1220
 	 * @return string
1221 1221
 	 */
1222
-	public function get_customer_vat_number( $context = 'view' ) {
1223
-		return $this->get_vat_number( $context );
1222
+	public function get_customer_vat_number($context = 'view') {
1223
+		return $this->get_vat_number($context);
1224 1224
     }
1225 1225
 
1226 1226
     /**
@@ -1230,8 +1230,8 @@  discard block
 block discarded – undo
1230 1230
 	 * @param  string $context View or edit context.
1231 1231
 	 * @return string
1232 1232
 	 */
1233
-	public function get_vat_rate( $context = 'view' ) {
1234
-		return $this->get_prop( 'vat_rate', $context );
1233
+	public function get_vat_rate($context = 'view') {
1234
+		return $this->get_prop('vat_rate', $context);
1235 1235
     }
1236 1236
 
1237 1237
     /**
@@ -1241,8 +1241,8 @@  discard block
 block discarded – undo
1241 1241
 	 * @param  string $context View or edit context.
1242 1242
 	 * @return string
1243 1243
 	 */
1244
-	public function get_user_vat_rate( $context = 'view' ) {
1245
-		return $this->get_vat_rate( $context );
1244
+	public function get_user_vat_rate($context = 'view') {
1245
+		return $this->get_vat_rate($context);
1246 1246
     }
1247 1247
 
1248 1248
     /**
@@ -1252,8 +1252,8 @@  discard block
 block discarded – undo
1252 1252
 	 * @param  string $context View or edit context.
1253 1253
 	 * @return string
1254 1254
 	 */
1255
-	public function get_customer_vat_rate( $context = 'view' ) {
1256
-		return $this->get_vat_rate( $context );
1255
+	public function get_customer_vat_rate($context = 'view') {
1256
+		return $this->get_vat_rate($context);
1257 1257
     }
1258 1258
 
1259 1259
     /**
@@ -1263,8 +1263,8 @@  discard block
 block discarded – undo
1263 1263
 	 * @param  string $context View or edit context.
1264 1264
 	 * @return string
1265 1265
 	 */
1266
-	public function get_address( $context = 'view' ) {
1267
-		return $this->get_prop( 'address', $context );
1266
+	public function get_address($context = 'view') {
1267
+		return $this->get_prop('address', $context);
1268 1268
     }
1269 1269
 
1270 1270
     /**
@@ -1274,8 +1274,8 @@  discard block
 block discarded – undo
1274 1274
 	 * @param  string $context View or edit context.
1275 1275
 	 * @return string
1276 1276
 	 */
1277
-	public function get_user_address( $context = 'view' ) {
1278
-		return $this->get_address( $context );
1277
+	public function get_user_address($context = 'view') {
1278
+		return $this->get_address($context);
1279 1279
     }
1280 1280
 
1281 1281
     /**
@@ -1285,8 +1285,8 @@  discard block
 block discarded – undo
1285 1285
 	 * @param  string $context View or edit context.
1286 1286
 	 * @return string
1287 1287
 	 */
1288
-	public function get_customer_address( $context = 'view' ) {
1289
-		return $this->get_address( $context );
1288
+	public function get_customer_address($context = 'view') {
1289
+		return $this->get_address($context);
1290 1290
     }
1291 1291
 
1292 1292
     /**
@@ -1296,8 +1296,8 @@  discard block
 block discarded – undo
1296 1296
 	 * @param  string $context View or edit context.
1297 1297
 	 * @return bool
1298 1298
 	 */
1299
-	public function get_is_viewed( $context = 'view' ) {
1300
-		return (bool) $this->get_prop( 'is_viewed', $context );
1299
+	public function get_is_viewed($context = 'view') {
1300
+		return (bool) $this->get_prop('is_viewed', $context);
1301 1301
 	}
1302 1302
 
1303 1303
 	/**
@@ -1307,8 +1307,8 @@  discard block
 block discarded – undo
1307 1307
 	 * @param  string $context View or edit context.
1308 1308
 	 * @return bool
1309 1309
 	 */
1310
-	public function get_email_cc( $context = 'view' ) {
1311
-		return $this->get_prop( 'email_cc', $context );
1310
+	public function get_email_cc($context = 'view') {
1311
+		return $this->get_prop('email_cc', $context);
1312 1312
 	}
1313 1313
 
1314 1314
 	/**
@@ -1318,8 +1318,8 @@  discard block
 block discarded – undo
1318 1318
 	 * @param  string $context View or edit context.
1319 1319
 	 * @return bool
1320 1320
 	 */
1321
-	public function get_template( $context = 'view' ) {
1322
-		return $this->get_prop( 'template', $context );
1321
+	public function get_template($context = 'view') {
1322
+		return $this->get_prop('template', $context);
1323 1323
 	}
1324 1324
 
1325 1325
 	/**
@@ -1329,8 +1329,8 @@  discard block
 block discarded – undo
1329 1329
 	 * @param  string $context View or edit context.
1330 1330
 	 * @return bool
1331 1331
 	 */
1332
-	public function get_created_via( $context = 'view' ) {
1333
-		return $this->get_prop( 'created_via', $context );
1332
+	public function get_created_via($context = 'view') {
1333
+		return $this->get_prop('created_via', $context);
1334 1334
 	}
1335 1335
 
1336 1336
 	/**
@@ -1340,8 +1340,8 @@  discard block
 block discarded – undo
1340 1340
 	 * @param  string $context View or edit context.
1341 1341
 	 * @return bool
1342 1342
 	 */
1343
-	public function get_address_confirmed( $context = 'view' ) {
1344
-		return (bool) $this->get_prop( 'address_confirmed', $context );
1343
+	public function get_address_confirmed($context = 'view') {
1344
+		return (bool) $this->get_prop('address_confirmed', $context);
1345 1345
     }
1346 1346
 
1347 1347
     /**
@@ -1351,8 +1351,8 @@  discard block
 block discarded – undo
1351 1351
 	 * @param  string $context View or edit context.
1352 1352
 	 * @return bool
1353 1353
 	 */
1354
-	public function get_user_address_confirmed( $context = 'view' ) {
1355
-		return $this->get_address_confirmed( $context );
1354
+	public function get_user_address_confirmed($context = 'view') {
1355
+		return $this->get_address_confirmed($context);
1356 1356
     }
1357 1357
 
1358 1358
     /**
@@ -1362,8 +1362,8 @@  discard block
 block discarded – undo
1362 1362
 	 * @param  string $context View or edit context.
1363 1363
 	 * @return bool
1364 1364
 	 */
1365
-	public function get_customer_address_confirmed( $context = 'view' ) {
1366
-		return $this->get_address_confirmed( $context );
1365
+	public function get_customer_address_confirmed($context = 'view') {
1366
+		return $this->get_address_confirmed($context);
1367 1367
     }
1368 1368
 
1369 1369
     /**
@@ -1373,12 +1373,12 @@  discard block
 block discarded – undo
1373 1373
 	 * @param  string $context View or edit context.
1374 1374
 	 * @return float
1375 1375
 	 */
1376
-	public function get_subtotal( $context = 'view' ) {
1377
-        $subtotal = (float) $this->get_prop( 'subtotal', $context );
1376
+	public function get_subtotal($context = 'view') {
1377
+        $subtotal = (float) $this->get_prop('subtotal', $context);
1378 1378
 
1379 1379
         // Backwards compatibility.
1380
-        if ( is_bool( $context ) && $context ) {
1381
-            return wpinv_price( $subtotal, $this->get_currency() );
1380
+        if (is_bool($context) && $context) {
1381
+            return wpinv_price($subtotal, $this->get_currency());
1382 1382
         }
1383 1383
 
1384 1384
         return $subtotal;
@@ -1391,8 +1391,8 @@  discard block
 block discarded – undo
1391 1391
 	 * @param  string $context View or edit context.
1392 1392
 	 * @return float
1393 1393
 	 */
1394
-	public function get_total_discount( $context = 'view' ) {
1395
-		return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_discount', $context ) ) );
1394
+	public function get_total_discount($context = 'view') {
1395
+		return wpinv_round_amount(wpinv_sanitize_amount($this->get_prop('total_discount', $context)));
1396 1396
     }
1397 1397
 
1398 1398
     /**
@@ -1402,18 +1402,18 @@  discard block
 block discarded – undo
1402 1402
 	 * @param  string $context View or edit context.
1403 1403
 	 * @return float
1404 1404
 	 */
1405
-	public function get_total_tax( $context = 'view' ) {
1406
-		return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_tax', $context ) ) );
1405
+	public function get_total_tax($context = 'view') {
1406
+		return wpinv_round_amount(wpinv_sanitize_amount($this->get_prop('total_tax', $context)));
1407 1407
 	}
1408 1408
 
1409 1409
 	/**
1410 1410
 	 * @deprecated
1411 1411
 	 */
1412
-	public function get_final_tax( $currency = false ) {
1412
+	public function get_final_tax($currency = false) {
1413 1413
 		$tax = $this->get_total_tax();
1414 1414
 
1415
-        if ( $currency ) {
1416
-			return wpinv_price( $tax, $this->get_currency() );
1415
+        if ($currency) {
1416
+			return wpinv_price($tax, $this->get_currency());
1417 1417
         }
1418 1418
 
1419 1419
         return $tax;
@@ -1426,8 +1426,8 @@  discard block
 block discarded – undo
1426 1426
 	 * @param  string $context View or edit context.
1427 1427
 	 * @return float
1428 1428
 	 */
1429
-	public function get_total_fees( $context = 'view' ) {
1430
-		return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total_fees', $context ) ) );
1429
+	public function get_total_fees($context = 'view') {
1430
+		return wpinv_round_amount(wpinv_sanitize_amount($this->get_prop('total_fees', $context)));
1431 1431
     }
1432 1432
 
1433 1433
     /**
@@ -1437,8 +1437,8 @@  discard block
 block discarded – undo
1437 1437
 	 * @param  string $context View or edit context.
1438 1438
 	 * @return float
1439 1439
 	 */
1440
-	public function get_fees_total( $context = 'view' ) {
1441
-		return $this->get_total_fees( $context );
1440
+	public function get_fees_total($context = 'view') {
1441
+		return $this->get_total_fees($context);
1442 1442
     }
1443 1443
 
1444 1444
     /**
@@ -1447,8 +1447,8 @@  discard block
 block discarded – undo
1447 1447
 	 * @since 1.0.19
1448 1448
      * @return float
1449 1449
 	 */
1450
-	public function get_total( $context = 'view' ) {
1451
-		return wpinv_round_amount( wpinv_sanitize_amount( $this->get_prop( 'total', $context ) ) );
1450
+	public function get_total($context = 'view') {
1451
+		return wpinv_round_amount(wpinv_sanitize_amount($this->get_prop('total', $context)));
1452 1452
 	}
1453 1453
 
1454 1454
 	/**
@@ -1460,20 +1460,20 @@  discard block
 block discarded – undo
1460 1460
 	public function get_non_recurring_total() {
1461 1461
 
1462 1462
 		$subtotal = 0;
1463
-		foreach ( $this->get_items() as $item ) {
1464
-			if ( ! $item->is_recurring() ) {
1463
+		foreach ($this->get_items() as $item) {
1464
+			if (!$item->is_recurring()) {
1465 1465
 				$subtotal += $item->get_sub_total();
1466 1466
 			}
1467 1467
 		}
1468 1468
 
1469
-		foreach ( $this->get_fees() as $fee ) {
1470
-			if ( empty( $fee['recurring_fee'] ) ) {
1471
-				$subtotal += wpinv_sanitize_amount( $fee['initial_fee'] );
1469
+		foreach ($this->get_fees() as $fee) {
1470
+			if (empty($fee['recurring_fee'])) {
1471
+				$subtotal += wpinv_sanitize_amount($fee['initial_fee']);
1472 1472
 			}
1473 1473
 		}
1474 1474
 
1475
-		$subtotal = wpinv_round_amount( wpinv_sanitize_amount( $subtotal ) );
1476
-        return apply_filters( 'wpinv_get_non_recurring_invoice_total', $subtotal, $this );
1475
+		$subtotal = wpinv_round_amount(wpinv_sanitize_amount($subtotal));
1476
+        return apply_filters('wpinv_get_non_recurring_invoice_total', $subtotal, $this);
1477 1477
 
1478 1478
     }
1479 1479
 
@@ -1496,7 +1496,7 @@  discard block
 block discarded – undo
1496 1496
 	 */
1497 1497
     public function get_initial_total() {
1498 1498
 
1499
-		if ( empty( $this->totals ) ) {
1499
+		if (empty($this->totals)) {
1500 1500
 			$this->recalculate_total();
1501 1501
 		}
1502 1502
 
@@ -1506,12 +1506,12 @@  discard block
 block discarded – undo
1506 1506
 		$subtotal = $this->totals['subtotal']['initial'];
1507 1507
 		$total    = $tax + $fee - $discount + $subtotal;
1508 1508
 
1509
-		if ( 0 > $total ) {
1509
+		if (0 > $total) {
1510 1510
 			$total = 0;
1511 1511
 		}
1512 1512
 
1513
-		$total = wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1514
-        return apply_filters( 'wpinv_get_initial_invoice_total', $total, $this );
1513
+		$total = wpinv_round_amount(wpinv_sanitize_amount($total));
1514
+        return apply_filters('wpinv_get_initial_invoice_total', $total, $this);
1515 1515
 	}
1516 1516
 
1517 1517
 	/**
@@ -1523,7 +1523,7 @@  discard block
 block discarded – undo
1523 1523
 	 */
1524 1524
     public function get_recurring_total() {
1525 1525
 
1526
-		if ( empty( $this->totals ) ) {
1526
+		if (empty($this->totals)) {
1527 1527
 			$this->recalculate_total();
1528 1528
 		}
1529 1529
 
@@ -1533,12 +1533,12 @@  discard block
 block discarded – undo
1533 1533
 		$subtotal = $this->totals['subtotal']['recurring'];
1534 1534
 		$total    = $tax + $fee - $discount + $subtotal;
1535 1535
 
1536
-		if ( 0 > $total ) {
1536
+		if (0 > $total) {
1537 1537
 			$total = 0;
1538 1538
 		}
1539 1539
 
1540
-		$total = wpinv_round_amount( wpinv_sanitize_amount( $total ) );
1541
-        return apply_filters( 'wpinv_get_recurring_invoice_total', $total, $this );
1540
+		$total = wpinv_round_amount(wpinv_sanitize_amount($total));
1541
+        return apply_filters('wpinv_get_recurring_invoice_total', $total, $this);
1542 1542
 	}
1543 1543
 
1544 1544
 	/**
@@ -1549,10 +1549,10 @@  discard block
 block discarded – undo
1549 1549
 	 * @param string $currency Whether to include the currency.
1550 1550
      * @return float|string
1551 1551
 	 */
1552
-    public function get_recurring_details( $field = '', $currency = false ) {
1552
+    public function get_recurring_details($field = '', $currency = false) {
1553 1553
 
1554 1554
 		// Maybe recalculate totals.
1555
-		if ( empty( $this->totals ) ) {
1555
+		if (empty($this->totals)) {
1556 1556
 			$this->recalculate_total();
1557 1557
 		}
1558 1558
 
@@ -1572,8 +1572,8 @@  discard block
 block discarded – undo
1572 1572
 			$currency
1573 1573
 		);
1574 1574
 
1575
-        if ( isset( $data[$field] ) ) {
1576
-            return ( $currency ? wpinv_price( $data[$field], $this->get_currency() ) : $data[$field] );
1575
+        if (isset($data[$field])) {
1576
+            return ($currency ? wpinv_price($data[$field], $this->get_currency()) : $data[$field]);
1577 1577
         }
1578 1578
 
1579 1579
         return $data;
@@ -1586,8 +1586,8 @@  discard block
 block discarded – undo
1586 1586
 	 * @param  string $context View or edit context.
1587 1587
 	 * @return array
1588 1588
 	 */
1589
-	public function get_fees( $context = 'view' ) {
1590
-		return wpinv_parse_list( $this->get_prop( 'fees', $context ) );
1589
+	public function get_fees($context = 'view') {
1590
+		return wpinv_parse_list($this->get_prop('fees', $context));
1591 1591
     }
1592 1592
 
1593 1593
     /**
@@ -1597,8 +1597,8 @@  discard block
 block discarded – undo
1597 1597
 	 * @param  string $context View or edit context.
1598 1598
 	 * @return array
1599 1599
 	 */
1600
-	public function get_discounts( $context = 'view' ) {
1601
-		return wpinv_parse_list( $this->get_prop( 'discounts', $context ) );
1600
+	public function get_discounts($context = 'view') {
1601
+		return wpinv_parse_list($this->get_prop('discounts', $context));
1602 1602
     }
1603 1603
 
1604 1604
     /**
@@ -1608,8 +1608,8 @@  discard block
 block discarded – undo
1608 1608
 	 * @param  string $context View or edit context.
1609 1609
 	 * @return array
1610 1610
 	 */
1611
-	public function get_taxes( $context = 'view' ) {
1612
-		return wpinv_parse_list( $this->get_prop( 'taxes', $context ) );
1611
+	public function get_taxes($context = 'view') {
1612
+		return wpinv_parse_list($this->get_prop('taxes', $context));
1613 1613
     }
1614 1614
 
1615 1615
     /**
@@ -1619,8 +1619,8 @@  discard block
 block discarded – undo
1619 1619
 	 * @param  string $context View or edit context.
1620 1620
 	 * @return GetPaid_Form_Item[]
1621 1621
 	 */
1622
-	public function get_items( $context = 'view' ) {
1623
-        return $this->get_prop( 'items', $context );
1622
+	public function get_items($context = 'view') {
1623
+        return $this->get_prop('items', $context);
1624 1624
 	}
1625 1625
 
1626 1626
 	/**
@@ -1630,7 +1630,7 @@  discard block
 block discarded – undo
1630 1630
 	 * @return string
1631 1631
 	 */
1632 1632
 	public function get_item_ids() {
1633
-		return implode( ', ', wp_list_pluck( $this->get_cart_details(), 'item_id' ) );
1633
+		return implode(', ', wp_list_pluck($this->get_cart_details(), 'item_id'));
1634 1634
     }
1635 1635
 
1636 1636
     /**
@@ -1640,8 +1640,8 @@  discard block
 block discarded – undo
1640 1640
 	 * @param  string $context View or edit context.
1641 1641
 	 * @return int
1642 1642
 	 */
1643
-	public function get_payment_form( $context = 'view' ) {
1644
-		return intval( $this->get_prop( 'payment_form', $context ) );
1643
+	public function get_payment_form($context = 'view') {
1644
+		return intval($this->get_prop('payment_form', $context));
1645 1645
     }
1646 1646
 
1647 1647
     /**
@@ -1651,8 +1651,8 @@  discard block
 block discarded – undo
1651 1651
 	 * @param  string $context View or edit context.
1652 1652
 	 * @return string
1653 1653
 	 */
1654
-	public function get_submission_id( $context = 'view' ) {
1655
-		return $this->get_prop( 'submission_id', $context );
1654
+	public function get_submission_id($context = 'view') {
1655
+		return $this->get_prop('submission_id', $context);
1656 1656
     }
1657 1657
 
1658 1658
     /**
@@ -1662,8 +1662,8 @@  discard block
 block discarded – undo
1662 1662
 	 * @param  string $context View or edit context.
1663 1663
 	 * @return string
1664 1664
 	 */
1665
-	public function get_discount_code( $context = 'view' ) {
1666
-		return $this->get_prop( 'discount_code', $context );
1665
+	public function get_discount_code($context = 'view') {
1666
+		return $this->get_prop('discount_code', $context);
1667 1667
     }
1668 1668
 
1669 1669
     /**
@@ -1673,8 +1673,8 @@  discard block
 block discarded – undo
1673 1673
 	 * @param  string $context View or edit context.
1674 1674
 	 * @return string
1675 1675
 	 */
1676
-	public function get_gateway( $context = 'view' ) {
1677
-		return $this->get_prop( 'gateway', $context );
1676
+	public function get_gateway($context = 'view') {
1677
+		return $this->get_prop('gateway', $context);
1678 1678
     }
1679 1679
 
1680 1680
     /**
@@ -1684,8 +1684,8 @@  discard block
 block discarded – undo
1684 1684
 	 * @return string
1685 1685
 	 */
1686 1686
     public function get_gateway_title() {
1687
-        $title =  wpinv_get_gateway_checkout_label( $this->get_gateway() );
1688
-        return apply_filters( 'wpinv_gateway_title', $title, $this->get_id(), $this );
1687
+        $title = wpinv_get_gateway_checkout_label($this->get_gateway());
1688
+        return apply_filters('wpinv_gateway_title', $title, $this->get_id(), $this);
1689 1689
     }
1690 1690
 
1691 1691
     /**
@@ -1695,8 +1695,8 @@  discard block
 block discarded – undo
1695 1695
 	 * @param  string $context View or edit context.
1696 1696
 	 * @return string
1697 1697
 	 */
1698
-	public function get_transaction_id( $context = 'view' ) {
1699
-		return $this->get_prop( 'transaction_id', $context );
1698
+	public function get_transaction_id($context = 'view') {
1699
+		return $this->get_prop('transaction_id', $context);
1700 1700
     }
1701 1701
 
1702 1702
     /**
@@ -1706,9 +1706,9 @@  discard block
 block discarded – undo
1706 1706
 	 * @param  string $context View or edit context.
1707 1707
 	 * @return string
1708 1708
 	 */
1709
-	public function get_currency( $context = 'view' ) {
1710
-        $currency = $this->get_prop( 'currency', $context );
1711
-        return empty( $currency ) ? wpinv_get_currency() : $currency;
1709
+	public function get_currency($context = 'view') {
1710
+        $currency = $this->get_prop('currency', $context);
1711
+        return empty($currency) ? wpinv_get_currency() : $currency;
1712 1712
     }
1713 1713
 
1714 1714
     /**
@@ -1718,8 +1718,8 @@  discard block
 block discarded – undo
1718 1718
 	 * @param  string $context View or edit context.
1719 1719
 	 * @return bool
1720 1720
 	 */
1721
-	public function get_disable_taxes( $context = 'view' ) {
1722
-        return (bool) $this->get_prop( 'disable_taxes', $context );
1721
+	public function get_disable_taxes($context = 'view') {
1722
+        return (bool) $this->get_prop('disable_taxes', $context);
1723 1723
     }
1724 1724
 
1725 1725
     /**
@@ -1729,8 +1729,8 @@  discard block
 block discarded – undo
1729 1729
 	 * @param  string $context View or edit context.
1730 1730
 	 * @return int
1731 1731
 	 */
1732
-    public function get_subscription_id( $context = 'view' ) {
1733
-		return $this->is_renewal() ? $this->get_parent()->get_subscription_id( $context ) : $this->get_prop( 'subscription_id', $context );
1732
+    public function get_subscription_id($context = 'view') {
1733
+		return $this->is_renewal() ? $this->get_parent()->get_subscription_id($context) : $this->get_prop('subscription_id', $context);
1734 1734
 	}
1735 1735
 
1736 1736
 	/**
@@ -1740,12 +1740,12 @@  discard block
 block discarded – undo
1740 1740
 	 * @param  string $context View or edit context.
1741 1741
 	 * @return int
1742 1742
 	 */
1743
-    public function get_remote_subscription_id( $context = 'view' ) {
1744
-        $subscription_id = $this->get_prop( 'remote_subscription_id', $context );
1743
+    public function get_remote_subscription_id($context = 'view') {
1744
+        $subscription_id = $this->get_prop('remote_subscription_id', $context);
1745 1745
 
1746
-        if ( empty( $subscription_id ) && $this->is_renewal() ) {
1746
+        if (empty($subscription_id) && $this->is_renewal()) {
1747 1747
             $parent = $this->get_parent();
1748
-            return $parent->get_remote_subscription_id( $context );
1748
+            return $parent->get_remote_subscription_id($context);
1749 1749
         }
1750 1750
 
1751 1751
         return $subscription_id;
@@ -1758,20 +1758,20 @@  discard block
 block discarded – undo
1758 1758
 	 * @param  string $context View or edit context.
1759 1759
 	 * @return array
1760 1760
 	 */
1761
-    public function get_payment_meta( $context = 'view' ) {
1761
+    public function get_payment_meta($context = 'view') {
1762 1762
 
1763 1763
         return array(
1764
-            'price'        => $this->get_total( $context ),
1765
-            'date'         => $this->get_date_created( $context ),
1766
-            'user_email'   => $this->get_email( $context ),
1767
-            'invoice_key'  => $this->get_key( $context ),
1768
-            'currency'     => $this->get_currency( $context ),
1769
-            'items'        => $this->get_items( $context ),
1770
-            'user_info'    => $this->get_user_info( $context ),
1764
+            'price'        => $this->get_total($context),
1765
+            'date'         => $this->get_date_created($context),
1766
+            'user_email'   => $this->get_email($context),
1767
+            'invoice_key'  => $this->get_key($context),
1768
+            'currency'     => $this->get_currency($context),
1769
+            'items'        => $this->get_items($context),
1770
+            'user_info'    => $this->get_user_info($context),
1771 1771
             'cart_details' => $this->get_cart_details(),
1772
-            'status'       => $this->get_status( $context ),
1773
-            'fees'         => $this->get_fees( $context ),
1774
-            'taxes'        => $this->get_taxes( $context ),
1772
+            'status'       => $this->get_status($context),
1773
+            'fees'         => $this->get_fees($context),
1774
+            'taxes'        => $this->get_taxes($context),
1775 1775
         );
1776 1776
 
1777 1777
     }
@@ -1786,9 +1786,9 @@  discard block
 block discarded – undo
1786 1786
         $items        = $this->get_items();
1787 1787
         $cart_details = array();
1788 1788
 
1789
-        foreach ( $items as $item ) {
1789
+        foreach ($items as $item) {
1790 1790
 			$item->invoice_id = $this->get_id();
1791
-            $cart_details[]   = $item->prepare_data_for_saving();
1791
+            $cart_details[] = $item->prepare_data_for_saving();
1792 1792
         }
1793 1793
 
1794 1794
         return $cart_details;
@@ -1799,11 +1799,11 @@  discard block
 block discarded – undo
1799 1799
 	 *
1800 1800
 	 * @return null|GetPaid_Form_Item|int
1801 1801
 	 */
1802
-	public function get_recurring( $object = false ) {
1802
+	public function get_recurring($object = false) {
1803 1803
 
1804 1804
 		// Are we returning an object?
1805
-        if ( $object ) {
1806
-            return $this->get_item( $this->recurring_item );
1805
+        if ($object) {
1806
+            return $this->get_item($this->recurring_item);
1807 1807
         }
1808 1808
 
1809 1809
         return $this->recurring_item;
@@ -1818,15 +1818,15 @@  discard block
 block discarded – undo
1818 1818
 	public function get_subscription_name() {
1819 1819
 
1820 1820
 		// Retrieve the recurring name
1821
-        $item = $this->get_recurring( true );
1821
+        $item = $this->get_recurring(true);
1822 1822
 
1823 1823
 		// Abort if it does not exist.
1824
-        if ( empty( $item ) ) {
1824
+        if (empty($item)) {
1825 1825
             return '';
1826 1826
         }
1827 1827
 
1828 1828
 		// Return the item name.
1829
-        return apply_filters( 'wpinv_invoice_get_subscription_name', $item->get_name(), $this );
1829
+        return apply_filters('wpinv_invoice_get_subscription_name', $item->get_name(), $this);
1830 1830
 	}
1831 1831
 
1832 1832
 	/**
@@ -1836,9 +1836,9 @@  discard block
 block discarded – undo
1836 1836
 	 * @return string
1837 1837
 	 */
1838 1838
 	public function get_view_url() {
1839
-        $invoice_url = get_permalink( $this->get_id() );
1840
-		$invoice_url = add_query_arg( 'invoice_key', $this->get_key(), $invoice_url );
1841
-        return apply_filters( 'wpinv_get_view_url', $invoice_url, $this );
1839
+        $invoice_url = get_permalink($this->get_id());
1840
+		$invoice_url = add_query_arg('invoice_key', $this->get_key(), $invoice_url);
1841
+        return apply_filters('wpinv_get_view_url', $invoice_url, $this);
1842 1842
 	}
1843 1843
 
1844 1844
 	/**
@@ -1847,25 +1847,25 @@  discard block
 block discarded – undo
1847 1847
 	 * @since 1.0.19
1848 1848
 	 * @return string
1849 1849
 	 */
1850
-	public function get_checkout_payment_url( $deprecated = false, $secret = false ) {
1850
+	public function get_checkout_payment_url($deprecated = false, $secret = false) {
1851 1851
 
1852 1852
 		// Retrieve the checkout url.
1853 1853
         $pay_url = wpinv_get_checkout_uri();
1854 1854
 
1855 1855
 		// Maybe force ssl.
1856
-        if ( is_ssl() ) {
1857
-            $pay_url = str_replace( 'http:', 'https:', $pay_url );
1856
+        if (is_ssl()) {
1857
+            $pay_url = str_replace('http:', 'https:', $pay_url);
1858 1858
         }
1859 1859
 
1860 1860
 		// Add the invoice key.
1861
-		$pay_url = add_query_arg( 'invoice_key', $this->get_key(), $pay_url );
1861
+		$pay_url = add_query_arg('invoice_key', $this->get_key(), $pay_url);
1862 1862
 
1863 1863
 		// (Maybe?) add a secret
1864
-        if ( $secret ) {
1865
-            $pay_url = add_query_arg( array( '_wpipay' => md5( $this->get_user_id() . '::' . $this->get_email() . '::' . $this->get_key() ) ), $pay_url );
1864
+        if ($secret) {
1865
+            $pay_url = add_query_arg(array('_wpipay' => md5($this->get_user_id() . '::' . $this->get_email() . '::' . $this->get_key())), $pay_url);
1866 1866
         }
1867 1867
 
1868
-        return apply_filters( 'wpinv_get_checkout_payment_url', $pay_url, $this, $deprecated, $secret );
1868
+        return apply_filters('wpinv_get_checkout_payment_url', $pay_url, $this, $deprecated, $secret);
1869 1869
 	}
1870 1870
 	
1871 1871
 	/**
@@ -1880,14 +1880,14 @@  discard block
 block discarded – undo
1880 1880
         $receipt_url = wpinv_get_success_page_uri();
1881 1881
 
1882 1882
 		// Maybe force ssl.
1883
-        if ( is_ssl() ) {
1884
-            $receipt_url = str_replace( 'http:', 'https:', $receipt_url );
1883
+        if (is_ssl()) {
1884
+            $receipt_url = str_replace('http:', 'https:', $receipt_url);
1885 1885
         }
1886 1886
 
1887 1887
 		// Add the invoice key.
1888
-		$receipt_url = add_query_arg( 'invoice_key', $this->get_key(), $receipt_url );
1888
+		$receipt_url = add_query_arg('invoice_key', $this->get_key(), $receipt_url);
1889 1889
 
1890
-        return apply_filters( 'getpaid_get_invoice_receipt_url', $receipt_url, $this );
1890
+        return apply_filters('getpaid_get_invoice_receipt_url', $receipt_url, $this);
1891 1891
 	}
1892 1892
 	
1893 1893
 	/**
@@ -1900,7 +1900,7 @@  discard block
 block discarded – undo
1900 1900
 
1901 1901
 		$type   = $this->get_type();
1902 1902
 		$status = "wpi-$type-pending";
1903
-		return str_replace( '-invoice', '', $status );
1903
+		return str_replace('-invoice', '', $status);
1904 1904
 
1905 1905
 	}
1906 1906
 
@@ -1914,8 +1914,8 @@  discard block
 block discarded – undo
1914 1914
 	 * @param  string $context View or edit context.
1915 1915
 	 * @return mixed Value of the given invoice property (if set).
1916 1916
 	 */
1917
-	public function get( $key, $context = 'view' ) {
1918
-        return $this->get_prop( $key, $context );
1917
+	public function get($key, $context = 'view') {
1918
+        return $this->get_prop($key, $context);
1919 1919
 	}
1920 1920
 
1921 1921
     /*
@@ -1938,11 +1938,11 @@  discard block
 block discarded – undo
1938 1938
 	 * @param  mixed $value new value.
1939 1939
 	 * @return mixed Value of the given invoice property (if set).
1940 1940
 	 */
1941
-	public function set( $key, $value ) {
1941
+	public function set($key, $value) {
1942 1942
 
1943 1943
         $setter = "set_$key";
1944
-        if ( is_callable( array( $this, $setter ) ) ) {
1945
-            $this->{$setter}( $value );
1944
+        if (is_callable(array($this, $setter))) {
1945
+            $this->{$setter}($value);
1946 1946
         }
1947 1947
 
1948 1948
 	}
@@ -1956,45 +1956,45 @@  discard block
 block discarded – undo
1956 1956
 	 * @param bool   $manual_update Is this a manual status change?.
1957 1957
 	 * @return array details of change.
1958 1958
 	 */
1959
-	public function set_status( $new_status, $note = '', $manual_update = false ) {
1959
+	public function set_status($new_status, $note = '', $manual_update = false) {
1960 1960
 		$old_status = $this->get_status();
1961 1961
 
1962 1962
 		$statuses = $this->get_all_statuses();
1963 1963
 
1964
-		if ( isset( $statuses[ 'draft' ] ) ) {
1965
-			unset( $statuses[ 'draft' ] );
1964
+		if (isset($statuses['draft'])) {
1965
+			unset($statuses['draft']);
1966 1966
 		}
1967 1967
 
1968
-		$this->set_prop( 'status', $new_status );
1968
+		$this->set_prop('status', $new_status);
1969 1969
 
1970 1970
 		// If setting the status, ensure it's set to a valid status.
1971
-		if ( true === $this->object_read ) {
1971
+		if (true === $this->object_read) {
1972 1972
 
1973 1973
 			// Only allow valid new status.
1974
-			if ( ! array_key_exists( $new_status, $statuses ) ) {
1974
+			if (!array_key_exists($new_status, $statuses)) {
1975 1975
 				$new_status = $this->get_default_status();
1976 1976
 			}
1977 1977
 
1978 1978
 			// If the old status is set but unknown (e.g. draft) assume its pending for action usage.
1979
-			if ( $old_status && ! array_key_exists( $new_status, $statuses ) ) {
1979
+			if ($old_status && !array_key_exists($new_status, $statuses)) {
1980 1980
 				$old_status = $this->get_default_status();
1981 1981
 			}
1982 1982
 
1983 1983
 			// Paid - Renewal (i.e when duplicating a parent invoice )
1984
-			if ( $new_status == 'wpi-pending' && $old_status == 'publish' && ! $this->get_id() ) {
1984
+			if ($new_status == 'wpi-pending' && $old_status == 'publish' && !$this->get_id()) {
1985 1985
 				$old_status = 'wpi-pending';
1986 1986
 			}
1987 1987
 
1988
-			if ( $old_status !== $new_status ) {
1988
+			if ($old_status !== $new_status) {
1989 1989
 				$this->status_transition = array(
1990
-					'from'   => ! empty( $this->status_transition['from'] ) ? $this->status_transition['from'] : $old_status,
1990
+					'from'   => !empty($this->status_transition['from']) ? $this->status_transition['from'] : $old_status,
1991 1991
 					'to'     => $new_status,
1992 1992
 					'note'   => $note,
1993 1993
 					'manual' => (bool) $manual_update,
1994 1994
 				);
1995 1995
 
1996
-				if ( $manual_update ) {
1997
-					do_action( 'getpaid_' . $this->object_type .'_edit_status', $this->get_id(), $new_status );
1996
+				if ($manual_update) {
1997
+					do_action('getpaid_' . $this->object_type . '_edit_status', $this->get_id(), $new_status);
1998 1998
 				}
1999 1999
 
2000 2000
 				$this->maybe_set_date_paid();
@@ -2019,8 +2019,8 @@  discard block
 block discarded – undo
2019 2019
 	 */
2020 2020
 	public function maybe_set_date_paid() {
2021 2021
 
2022
-		if ( ! $this->get_date_completed( 'edit' ) && $this->is_paid() ) {
2023
-			$this->set_date_completed( current_time( 'mysql' ) );
2022
+		if (!$this->get_date_completed('edit') && $this->is_paid()) {
2023
+			$this->set_date_completed(current_time('mysql'));
2024 2024
 		}
2025 2025
 	}
2026 2026
 
@@ -2029,11 +2029,11 @@  discard block
 block discarded – undo
2029 2029
 	 *
2030 2030
 	 * @since 1.0.19
2031 2031
 	 */
2032
-	public function set_parent_id( $value ) {
2033
-		if ( $value && ( $value === $this->get_id() ) ) {
2032
+	public function set_parent_id($value) {
2033
+		if ($value && ($value === $this->get_id())) {
2034 2034
 			return;
2035 2035
 		}
2036
-		$this->set_prop( 'parent_id', absint( $value ) );
2036
+		$this->set_prop('parent_id', absint($value));
2037 2037
     }
2038 2038
 
2039 2039
     /**
@@ -2041,8 +2041,8 @@  discard block
 block discarded – undo
2041 2041
 	 *
2042 2042
 	 * @since 1.0.19
2043 2043
 	 */
2044
-	public function set_version( $value ) {
2045
-		$this->set_prop( 'version', $value );
2044
+	public function set_version($value) {
2045
+		$this->set_prop('version', $value);
2046 2046
     }
2047 2047
 
2048 2048
     /**
@@ -2052,15 +2052,15 @@  discard block
 block discarded – undo
2052 2052
 	 * @param string $value Value to set.
2053 2053
      * @return bool Whether or not the date was set.
2054 2054
 	 */
2055
-	public function set_date_created( $value ) {
2056
-        $date = strtotime( $value );
2055
+	public function set_date_created($value) {
2056
+        $date = strtotime($value);
2057 2057
 
2058
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
2059
-            $this->set_prop( 'date_created', date( 'Y-m-d H:i:s', $date ) );
2058
+        if ($date && $value !== '0000-00-00 00:00:00') {
2059
+            $this->set_prop('date_created', date('Y-m-d H:i:s', $date));
2060 2060
             return true;
2061 2061
         }
2062 2062
 
2063
-		$this->set_prop( 'date_created', '' );
2063
+		$this->set_prop('date_created', '');
2064 2064
 		return false;
2065 2065
 
2066 2066
     }
@@ -2072,15 +2072,15 @@  discard block
 block discarded – undo
2072 2072
 	 * @param string $value Value to set.
2073 2073
      * @return bool Whether or not the date was set.
2074 2074
 	 */
2075
-	public function set_due_date( $value ) {
2076
-        $date = strtotime( $value );
2075
+	public function set_due_date($value) {
2076
+        $date = strtotime($value);
2077 2077
 
2078
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
2079
-            $this->set_prop( 'due_date', date( 'Y-m-d H:i:s', $date ) );
2078
+        if ($date && $value !== '0000-00-00 00:00:00') {
2079
+            $this->set_prop('due_date', date('Y-m-d H:i:s', $date));
2080 2080
             return true;
2081 2081
         }
2082 2082
 
2083
-		$this->set_prop( 'due_date', '' );
2083
+		$this->set_prop('due_date', '');
2084 2084
         return false;
2085 2085
 
2086 2086
     }
@@ -2091,8 +2091,8 @@  discard block
 block discarded – undo
2091 2091
 	 * @since 1.0.19
2092 2092
 	 * @param  string $value New name.
2093 2093
 	 */
2094
-	public function set_date_due( $value ) {
2095
-		$this->set_due_date( $value );
2094
+	public function set_date_due($value) {
2095
+		$this->set_due_date($value);
2096 2096
     }
2097 2097
 
2098 2098
     /**
@@ -2102,15 +2102,15 @@  discard block
 block discarded – undo
2102 2102
 	 * @param string $value Value to set.
2103 2103
      * @return bool Whether or not the date was set.
2104 2104
 	 */
2105
-	public function set_completed_date( $value ) {
2106
-        $date = strtotime( $value );
2105
+	public function set_completed_date($value) {
2106
+        $date = strtotime($value);
2107 2107
 
2108
-        if ( $date && $value !== '0000-00-00 00:00:00'  ) {
2109
-            $this->set_prop( 'completed_date', date( 'Y-m-d H:i:s', $date ) );
2108
+        if ($date && $value !== '0000-00-00 00:00:00') {
2109
+            $this->set_prop('completed_date', date('Y-m-d H:i:s', $date));
2110 2110
             return true;
2111 2111
         }
2112 2112
 
2113
-		$this->set_prop( 'completed_date', '' );
2113
+		$this->set_prop('completed_date', '');
2114 2114
         return false;
2115 2115
 
2116 2116
     }
@@ -2121,8 +2121,8 @@  discard block
 block discarded – undo
2121 2121
 	 * @since 1.0.19
2122 2122
 	 * @param  string $value New name.
2123 2123
 	 */
2124
-	public function set_date_completed( $value ) {
2125
-		$this->set_completed_date( $value );
2124
+	public function set_date_completed($value) {
2125
+		$this->set_completed_date($value);
2126 2126
     }
2127 2127
 
2128 2128
     /**
@@ -2132,15 +2132,15 @@  discard block
 block discarded – undo
2132 2132
 	 * @param string $value Value to set.
2133 2133
      * @return bool Whether or not the date was set.
2134 2134
 	 */
2135
-	public function set_date_modified( $value ) {
2136
-        $date = strtotime( $value );
2135
+	public function set_date_modified($value) {
2136
+        $date = strtotime($value);
2137 2137
 
2138
-        if ( $date && $value !== '0000-00-00 00:00:00' ) {
2139
-            $this->set_prop( 'date_modified', date( 'Y-m-d H:i:s', $date ) );
2138
+        if ($date && $value !== '0000-00-00 00:00:00') {
2139
+            $this->set_prop('date_modified', date('Y-m-d H:i:s', $date));
2140 2140
             return true;
2141 2141
         }
2142 2142
 
2143
-		$this->set_prop( 'date_modified', '' );
2143
+		$this->set_prop('date_modified', '');
2144 2144
         return false;
2145 2145
 
2146 2146
     }
@@ -2151,9 +2151,9 @@  discard block
 block discarded – undo
2151 2151
 	 * @since 1.0.19
2152 2152
 	 * @param  string $value New number.
2153 2153
 	 */
2154
-	public function set_number( $value ) {
2155
-        $number = sanitize_text_field( $value );
2156
-		$this->set_prop( 'number', $number );
2154
+	public function set_number($value) {
2155
+        $number = sanitize_text_field($value);
2156
+		$this->set_prop('number', $number);
2157 2157
     }
2158 2158
 
2159 2159
     /**
@@ -2162,9 +2162,9 @@  discard block
 block discarded – undo
2162 2162
 	 * @since 1.0.19
2163 2163
 	 * @param  string $value Type.
2164 2164
 	 */
2165
-	public function set_type( $value ) {
2166
-        $type = sanitize_text_field( str_replace( 'wpi_', '', $value ) );
2167
-		$this->set_prop( 'type', $type );
2165
+	public function set_type($value) {
2166
+        $type = sanitize_text_field(str_replace('wpi_', '', $value));
2167
+		$this->set_prop('type', $type);
2168 2168
 	}
2169 2169
 
2170 2170
     /**
@@ -2173,10 +2173,10 @@  discard block
 block discarded – undo
2173 2173
 	 * @since 1.0.19
2174 2174
 	 * @param  string $value Post type.
2175 2175
 	 */
2176
-	public function set_post_type( $value ) {
2177
-        if ( getpaid_is_invoice_post_type( $value ) ) {
2178
-			$this->set_type( $value );
2179
-            $this->set_prop( 'post_type', $value );
2176
+	public function set_post_type($value) {
2177
+        if (getpaid_is_invoice_post_type($value)) {
2178
+			$this->set_type($value);
2179
+            $this->set_prop('post_type', $value);
2180 2180
         }
2181 2181
     }
2182 2182
 
@@ -2186,9 +2186,9 @@  discard block
 block discarded – undo
2186 2186
 	 * @since 1.0.19
2187 2187
 	 * @param  string $value New key.
2188 2188
 	 */
2189
-	public function set_key( $value ) {
2190
-        $key = sanitize_text_field( $value );
2191
-		$this->set_prop( 'key', $key );
2189
+	public function set_key($value) {
2190
+        $key = sanitize_text_field($value);
2191
+		$this->set_prop('key', $key);
2192 2192
     }
2193 2193
 
2194 2194
     /**
@@ -2197,9 +2197,9 @@  discard block
 block discarded – undo
2197 2197
 	 * @since 1.0.19
2198 2198
 	 * @param  string $value mode.
2199 2199
 	 */
2200
-	public function set_mode( $value ) {
2201
-        if ( in_array( $value, array( 'live', 'test' ) ) ) {
2202
-            $this->set_prop( 'mode', $value );
2200
+	public function set_mode($value) {
2201
+        if (in_array($value, array('live', 'test'))) {
2202
+            $this->set_prop('mode', $value);
2203 2203
         }
2204 2204
     }
2205 2205
 
@@ -2209,8 +2209,8 @@  discard block
 block discarded – undo
2209 2209
 	 * @since 1.0.19
2210 2210
 	 * @param  string $value path.
2211 2211
 	 */
2212
-	public function set_path( $value ) {
2213
-        $this->set_prop( 'path', $value );
2212
+	public function set_path($value) {
2213
+        $this->set_prop('path', $value);
2214 2214
     }
2215 2215
 
2216 2216
     /**
@@ -2219,9 +2219,9 @@  discard block
 block discarded – undo
2219 2219
 	 * @since 1.0.19
2220 2220
 	 * @param  string $value New name.
2221 2221
 	 */
2222
-	public function set_name( $value ) {
2223
-        $name = sanitize_text_field( $value );
2224
-		$this->set_prop( 'name', $name );
2222
+	public function set_name($value) {
2223
+        $name = sanitize_text_field($value);
2224
+		$this->set_prop('name', $name);
2225 2225
     }
2226 2226
 
2227 2227
     /**
@@ -2230,8 +2230,8 @@  discard block
 block discarded – undo
2230 2230
 	 * @since 1.0.19
2231 2231
 	 * @param  string $value New name.
2232 2232
 	 */
2233
-	public function set_title( $value ) {
2234
-		$this->set_name( $value );
2233
+	public function set_title($value) {
2234
+		$this->set_name($value);
2235 2235
     }
2236 2236
 
2237 2237
     /**
@@ -2240,9 +2240,9 @@  discard block
 block discarded – undo
2240 2240
 	 * @since 1.0.19
2241 2241
 	 * @param  string $value New description.
2242 2242
 	 */
2243
-	public function set_description( $value ) {
2244
-        $description = wp_kses_post( $value );
2245
-		$this->set_prop( 'description', $description );
2243
+	public function set_description($value) {
2244
+        $description = wp_kses_post($value);
2245
+		$this->set_prop('description', $description);
2246 2246
     }
2247 2247
 
2248 2248
     /**
@@ -2251,8 +2251,8 @@  discard block
 block discarded – undo
2251 2251
 	 * @since 1.0.19
2252 2252
 	 * @param  string $value New description.
2253 2253
 	 */
2254
-	public function set_excerpt( $value ) {
2255
-		$this->set_description( $value );
2254
+	public function set_excerpt($value) {
2255
+		$this->set_description($value);
2256 2256
     }
2257 2257
 
2258 2258
     /**
@@ -2261,8 +2261,8 @@  discard block
 block discarded – undo
2261 2261
 	 * @since 1.0.19
2262 2262
 	 * @param  string $value New description.
2263 2263
 	 */
2264
-	public function set_summary( $value ) {
2265
-		$this->set_description( $value );
2264
+	public function set_summary($value) {
2265
+		$this->set_description($value);
2266 2266
     }
2267 2267
 
2268 2268
     /**
@@ -2271,12 +2271,12 @@  discard block
 block discarded – undo
2271 2271
 	 * @since 1.0.19
2272 2272
 	 * @param  int $value New author.
2273 2273
 	 */
2274
-	public function set_author( $value ) {
2275
-		$user = get_user_by( 'id', (int) $value );
2274
+	public function set_author($value) {
2275
+		$user = get_user_by('id', (int) $value);
2276 2276
 
2277
-		if ( $user && $user->ID ) {
2278
-			$this->set_prop( 'author', $user->ID );
2279
-			$this->set_prop( 'email', $user->user_email );
2277
+		if ($user && $user->ID) {
2278
+			$this->set_prop('author', $user->ID);
2279
+			$this->set_prop('email', $user->user_email);
2280 2280
 		}
2281 2281
 
2282 2282
     }
@@ -2287,8 +2287,8 @@  discard block
 block discarded – undo
2287 2287
 	 * @since 1.0.19
2288 2288
 	 * @param  int $value New user id.
2289 2289
 	 */
2290
-	public function set_user_id( $value ) {
2291
-		$this->set_author( $value );
2290
+	public function set_user_id($value) {
2291
+		$this->set_author($value);
2292 2292
     }
2293 2293
 
2294 2294
     /**
@@ -2297,8 +2297,8 @@  discard block
 block discarded – undo
2297 2297
 	 * @since 1.0.19
2298 2298
 	 * @param  int $value New user id.
2299 2299
 	 */
2300
-	public function set_customer_id( $value ) {
2301
-		$this->set_author( $value );
2300
+	public function set_customer_id($value) {
2301
+		$this->set_author($value);
2302 2302
     }
2303 2303
 
2304 2304
     /**
@@ -2307,8 +2307,8 @@  discard block
 block discarded – undo
2307 2307
 	 * @since 1.0.19
2308 2308
 	 * @param  string $value ip address.
2309 2309
 	 */
2310
-	public function set_ip( $value ) {
2311
-		$this->set_prop( 'ip', $value );
2310
+	public function set_ip($value) {
2311
+		$this->set_prop('ip', $value);
2312 2312
     }
2313 2313
 
2314 2314
     /**
@@ -2317,8 +2317,8 @@  discard block
 block discarded – undo
2317 2317
 	 * @since 1.0.19
2318 2318
 	 * @param  string $value ip address.
2319 2319
 	 */
2320
-	public function set_user_ip( $value ) {
2321
-		$this->set_ip( $value );
2320
+	public function set_user_ip($value) {
2321
+		$this->set_ip($value);
2322 2322
     }
2323 2323
 
2324 2324
     /**
@@ -2327,8 +2327,8 @@  discard block
 block discarded – undo
2327 2327
 	 * @since 1.0.19
2328 2328
 	 * @param  string $value first name.
2329 2329
 	 */
2330
-	public function set_first_name( $value ) {
2331
-		$this->set_prop( 'first_name', $value );
2330
+	public function set_first_name($value) {
2331
+		$this->set_prop('first_name', $value);
2332 2332
     }
2333 2333
 
2334 2334
     /**
@@ -2337,8 +2337,8 @@  discard block
 block discarded – undo
2337 2337
 	 * @since 1.0.19
2338 2338
 	 * @param  string $value first name.
2339 2339
 	 */
2340
-	public function set_user_first_name( $value ) {
2341
-		$this->set_first_name( $value );
2340
+	public function set_user_first_name($value) {
2341
+		$this->set_first_name($value);
2342 2342
     }
2343 2343
 
2344 2344
     /**
@@ -2347,8 +2347,8 @@  discard block
 block discarded – undo
2347 2347
 	 * @since 1.0.19
2348 2348
 	 * @param  string $value first name.
2349 2349
 	 */
2350
-	public function set_customer_first_name( $value ) {
2351
-		$this->set_first_name( $value );
2350
+	public function set_customer_first_name($value) {
2351
+		$this->set_first_name($value);
2352 2352
     }
2353 2353
 
2354 2354
     /**
@@ -2357,8 +2357,8 @@  discard block
 block discarded – undo
2357 2357
 	 * @since 1.0.19
2358 2358
 	 * @param  string $value last name.
2359 2359
 	 */
2360
-	public function set_last_name( $value ) {
2361
-		$this->set_prop( 'last_name', $value );
2360
+	public function set_last_name($value) {
2361
+		$this->set_prop('last_name', $value);
2362 2362
     }
2363 2363
 
2364 2364
     /**
@@ -2367,8 +2367,8 @@  discard block
 block discarded – undo
2367 2367
 	 * @since 1.0.19
2368 2368
 	 * @param  string $value last name.
2369 2369
 	 */
2370
-	public function set_user_last_name( $value ) {
2371
-		$this->set_last_name( $value );
2370
+	public function set_user_last_name($value) {
2371
+		$this->set_last_name($value);
2372 2372
     }
2373 2373
 
2374 2374
     /**
@@ -2377,8 +2377,8 @@  discard block
 block discarded – undo
2377 2377
 	 * @since 1.0.19
2378 2378
 	 * @param  string $value last name.
2379 2379
 	 */
2380
-	public function set_customer_last_name( $value ) {
2381
-		$this->set_last_name( $value );
2380
+	public function set_customer_last_name($value) {
2381
+		$this->set_last_name($value);
2382 2382
     }
2383 2383
 
2384 2384
     /**
@@ -2387,8 +2387,8 @@  discard block
 block discarded – undo
2387 2387
 	 * @since 1.0.19
2388 2388
 	 * @param  string $value phone.
2389 2389
 	 */
2390
-	public function set_phone( $value ) {
2391
-		$this->set_prop( 'phone', $value );
2390
+	public function set_phone($value) {
2391
+		$this->set_prop('phone', $value);
2392 2392
     }
2393 2393
 
2394 2394
     /**
@@ -2397,8 +2397,8 @@  discard block
 block discarded – undo
2397 2397
 	 * @since 1.0.19
2398 2398
 	 * @param  string $value phone.
2399 2399
 	 */
2400
-	public function set_user_phone( $value ) {
2401
-		$this->set_phone( $value );
2400
+	public function set_user_phone($value) {
2401
+		$this->set_phone($value);
2402 2402
     }
2403 2403
 
2404 2404
     /**
@@ -2407,8 +2407,8 @@  discard block
 block discarded – undo
2407 2407
 	 * @since 1.0.19
2408 2408
 	 * @param  string $value phone.
2409 2409
 	 */
2410
-	public function set_customer_phone( $value ) {
2411
-		$this->set_phone( $value );
2410
+	public function set_customer_phone($value) {
2411
+		$this->set_phone($value);
2412 2412
     }
2413 2413
 
2414 2414
     /**
@@ -2417,8 +2417,8 @@  discard block
 block discarded – undo
2417 2417
 	 * @since 1.0.19
2418 2418
 	 * @param  string $value phone.
2419 2419
 	 */
2420
-	public function set_phone_number( $value ) {
2421
-		$this->set_phone( $value );
2420
+	public function set_phone_number($value) {
2421
+		$this->set_phone($value);
2422 2422
     }
2423 2423
 
2424 2424
     /**
@@ -2427,8 +2427,8 @@  discard block
 block discarded – undo
2427 2427
 	 * @since 1.0.19
2428 2428
 	 * @param  string $value email address.
2429 2429
 	 */
2430
-	public function set_email( $value ) {
2431
-		$this->set_prop( 'email', $value );
2430
+	public function set_email($value) {
2431
+		$this->set_prop('email', $value);
2432 2432
     }
2433 2433
 
2434 2434
     /**
@@ -2437,8 +2437,8 @@  discard block
 block discarded – undo
2437 2437
 	 * @since 1.0.19
2438 2438
 	 * @param  string $value email address.
2439 2439
 	 */
2440
-	public function set_user_email( $value ) {
2441
-		$this->set_email( $value );
2440
+	public function set_user_email($value) {
2441
+		$this->set_email($value);
2442 2442
     }
2443 2443
 
2444 2444
     /**
@@ -2447,8 +2447,8 @@  discard block
 block discarded – undo
2447 2447
 	 * @since 1.0.19
2448 2448
 	 * @param  string $value email address.
2449 2449
 	 */
2450
-	public function set_email_address( $value ) {
2451
-		$this->set_email( $value );
2450
+	public function set_email_address($value) {
2451
+		$this->set_email($value);
2452 2452
     }
2453 2453
 
2454 2454
     /**
@@ -2457,8 +2457,8 @@  discard block
 block discarded – undo
2457 2457
 	 * @since 1.0.19
2458 2458
 	 * @param  string $value email address.
2459 2459
 	 */
2460
-	public function set_customer_email( $value ) {
2461
-		$this->set_email( $value );
2460
+	public function set_customer_email($value) {
2461
+		$this->set_email($value);
2462 2462
     }
2463 2463
 
2464 2464
     /**
@@ -2467,8 +2467,8 @@  discard block
 block discarded – undo
2467 2467
 	 * @since 1.0.19
2468 2468
 	 * @param  string $value country.
2469 2469
 	 */
2470
-	public function set_country( $value ) {
2471
-		$this->set_prop( 'country', $value );
2470
+	public function set_country($value) {
2471
+		$this->set_prop('country', $value);
2472 2472
     }
2473 2473
 
2474 2474
     /**
@@ -2477,8 +2477,8 @@  discard block
 block discarded – undo
2477 2477
 	 * @since 1.0.19
2478 2478
 	 * @param  string $value country.
2479 2479
 	 */
2480
-	public function set_user_country( $value ) {
2481
-		$this->set_country( $value );
2480
+	public function set_user_country($value) {
2481
+		$this->set_country($value);
2482 2482
     }
2483 2483
 
2484 2484
     /**
@@ -2487,8 +2487,8 @@  discard block
 block discarded – undo
2487 2487
 	 * @since 1.0.19
2488 2488
 	 * @param  string $value country.
2489 2489
 	 */
2490
-	public function set_customer_country( $value ) {
2491
-		$this->set_country( $value );
2490
+	public function set_customer_country($value) {
2491
+		$this->set_country($value);
2492 2492
     }
2493 2493
 
2494 2494
     /**
@@ -2497,8 +2497,8 @@  discard block
 block discarded – undo
2497 2497
 	 * @since 1.0.19
2498 2498
 	 * @param  string $value state.
2499 2499
 	 */
2500
-	public function set_state( $value ) {
2501
-		$this->set_prop( 'state', $value );
2500
+	public function set_state($value) {
2501
+		$this->set_prop('state', $value);
2502 2502
     }
2503 2503
 
2504 2504
     /**
@@ -2507,8 +2507,8 @@  discard block
 block discarded – undo
2507 2507
 	 * @since 1.0.19
2508 2508
 	 * @param  string $value state.
2509 2509
 	 */
2510
-	public function set_user_state( $value ) {
2511
-		$this->set_state( $value );
2510
+	public function set_user_state($value) {
2511
+		$this->set_state($value);
2512 2512
     }
2513 2513
 
2514 2514
     /**
@@ -2517,8 +2517,8 @@  discard block
 block discarded – undo
2517 2517
 	 * @since 1.0.19
2518 2518
 	 * @param  string $value state.
2519 2519
 	 */
2520
-	public function set_customer_state( $value ) {
2521
-		$this->set_state( $value );
2520
+	public function set_customer_state($value) {
2521
+		$this->set_state($value);
2522 2522
     }
2523 2523
 
2524 2524
     /**
@@ -2527,8 +2527,8 @@  discard block
 block discarded – undo
2527 2527
 	 * @since 1.0.19
2528 2528
 	 * @param  string $value city.
2529 2529
 	 */
2530
-	public function set_city( $value ) {
2531
-		$this->set_prop( 'city', $value );
2530
+	public function set_city($value) {
2531
+		$this->set_prop('city', $value);
2532 2532
     }
2533 2533
 
2534 2534
     /**
@@ -2537,8 +2537,8 @@  discard block
 block discarded – undo
2537 2537
 	 * @since 1.0.19
2538 2538
 	 * @param  string $value city.
2539 2539
 	 */
2540
-	public function set_user_city( $value ) {
2541
-		$this->set_city( $value );
2540
+	public function set_user_city($value) {
2541
+		$this->set_city($value);
2542 2542
     }
2543 2543
 
2544 2544
     /**
@@ -2547,8 +2547,8 @@  discard block
 block discarded – undo
2547 2547
 	 * @since 1.0.19
2548 2548
 	 * @param  string $value city.
2549 2549
 	 */
2550
-	public function set_customer_city( $value ) {
2551
-		$this->set_city( $value );
2550
+	public function set_customer_city($value) {
2551
+		$this->set_city($value);
2552 2552
     }
2553 2553
 
2554 2554
     /**
@@ -2557,8 +2557,8 @@  discard block
 block discarded – undo
2557 2557
 	 * @since 1.0.19
2558 2558
 	 * @param  string $value zip.
2559 2559
 	 */
2560
-	public function set_zip( $value ) {
2561
-		$this->set_prop( 'zip', $value );
2560
+	public function set_zip($value) {
2561
+		$this->set_prop('zip', $value);
2562 2562
     }
2563 2563
 
2564 2564
     /**
@@ -2567,8 +2567,8 @@  discard block
 block discarded – undo
2567 2567
 	 * @since 1.0.19
2568 2568
 	 * @param  string $value zip.
2569 2569
 	 */
2570
-	public function set_user_zip( $value ) {
2571
-		$this->set_zip( $value );
2570
+	public function set_user_zip($value) {
2571
+		$this->set_zip($value);
2572 2572
     }
2573 2573
 
2574 2574
     /**
@@ -2577,8 +2577,8 @@  discard block
 block discarded – undo
2577 2577
 	 * @since 1.0.19
2578 2578
 	 * @param  string $value zip.
2579 2579
 	 */
2580
-	public function set_customer_zip( $value ) {
2581
-		$this->set_zip( $value );
2580
+	public function set_customer_zip($value) {
2581
+		$this->set_zip($value);
2582 2582
     }
2583 2583
 
2584 2584
     /**
@@ -2587,8 +2587,8 @@  discard block
 block discarded – undo
2587 2587
 	 * @since 1.0.19
2588 2588
 	 * @param  string $value company.
2589 2589
 	 */
2590
-	public function set_company( $value ) {
2591
-		$this->set_prop( 'company', $value );
2590
+	public function set_company($value) {
2591
+		$this->set_prop('company', $value);
2592 2592
     }
2593 2593
 
2594 2594
     /**
@@ -2597,8 +2597,8 @@  discard block
 block discarded – undo
2597 2597
 	 * @since 1.0.19
2598 2598
 	 * @param  string $value company.
2599 2599
 	 */
2600
-	public function set_user_company( $value ) {
2601
-		$this->set_company( $value );
2600
+	public function set_user_company($value) {
2601
+		$this->set_company($value);
2602 2602
     }
2603 2603
 
2604 2604
     /**
@@ -2607,8 +2607,8 @@  discard block
 block discarded – undo
2607 2607
 	 * @since 1.0.19
2608 2608
 	 * @param  string $value company.
2609 2609
 	 */
2610
-	public function set_customer_company( $value ) {
2611
-		$this->set_company( $value );
2610
+	public function set_customer_company($value) {
2611
+		$this->set_company($value);
2612 2612
     }
2613 2613
 
2614 2614
 	/**
@@ -2617,8 +2617,8 @@  discard block
 block discarded – undo
2617 2617
 	 * @since 1.0.19
2618 2618
 	 * @param  string $value company id.
2619 2619
 	 */
2620
-	public function set_company_id( $value ) {
2621
-		$this->set_prop( 'company_id', $value );
2620
+	public function set_company_id($value) {
2621
+		$this->set_prop('company_id', $value);
2622 2622
     }
2623 2623
 
2624 2624
     /**
@@ -2627,8 +2627,8 @@  discard block
 block discarded – undo
2627 2627
 	 * @since 1.0.19
2628 2628
 	 * @param  string $value var number.
2629 2629
 	 */
2630
-	public function set_vat_number( $value ) {
2631
-		$this->set_prop( 'vat_number', $value );
2630
+	public function set_vat_number($value) {
2631
+		$this->set_prop('vat_number', $value);
2632 2632
     }
2633 2633
 
2634 2634
     /**
@@ -2637,8 +2637,8 @@  discard block
 block discarded – undo
2637 2637
 	 * @since 1.0.19
2638 2638
 	 * @param  string $value var number.
2639 2639
 	 */
2640
-	public function set_user_vat_number( $value ) {
2641
-		$this->set_vat_number( $value );
2640
+	public function set_user_vat_number($value) {
2641
+		$this->set_vat_number($value);
2642 2642
     }
2643 2643
 
2644 2644
     /**
@@ -2647,8 +2647,8 @@  discard block
 block discarded – undo
2647 2647
 	 * @since 1.0.19
2648 2648
 	 * @param  string $value var number.
2649 2649
 	 */
2650
-	public function set_customer_vat_number( $value ) {
2651
-		$this->set_vat_number( $value );
2650
+	public function set_customer_vat_number($value) {
2651
+		$this->set_vat_number($value);
2652 2652
     }
2653 2653
 
2654 2654
     /**
@@ -2657,8 +2657,8 @@  discard block
 block discarded – undo
2657 2657
 	 * @since 1.0.19
2658 2658
 	 * @param  string $value var rate.
2659 2659
 	 */
2660
-	public function set_vat_rate( $value ) {
2661
-		$this->set_prop( 'vat_rate', $value );
2660
+	public function set_vat_rate($value) {
2661
+		$this->set_prop('vat_rate', $value);
2662 2662
     }
2663 2663
 
2664 2664
     /**
@@ -2667,8 +2667,8 @@  discard block
 block discarded – undo
2667 2667
 	 * @since 1.0.19
2668 2668
 	 * @param  string $value var number.
2669 2669
 	 */
2670
-	public function set_user_vat_rate( $value ) {
2671
-		$this->set_vat_rate( $value );
2670
+	public function set_user_vat_rate($value) {
2671
+		$this->set_vat_rate($value);
2672 2672
     }
2673 2673
 
2674 2674
     /**
@@ -2677,8 +2677,8 @@  discard block
 block discarded – undo
2677 2677
 	 * @since 1.0.19
2678 2678
 	 * @param  string $value var number.
2679 2679
 	 */
2680
-	public function set_customer_vat_rate( $value ) {
2681
-		$this->set_vat_rate( $value );
2680
+	public function set_customer_vat_rate($value) {
2681
+		$this->set_vat_rate($value);
2682 2682
     }
2683 2683
 
2684 2684
     /**
@@ -2687,8 +2687,8 @@  discard block
 block discarded – undo
2687 2687
 	 * @since 1.0.19
2688 2688
 	 * @param  string $value address.
2689 2689
 	 */
2690
-	public function set_address( $value ) {
2691
-		$this->set_prop( 'address', $value );
2690
+	public function set_address($value) {
2691
+		$this->set_prop('address', $value);
2692 2692
     }
2693 2693
 
2694 2694
     /**
@@ -2697,8 +2697,8 @@  discard block
 block discarded – undo
2697 2697
 	 * @since 1.0.19
2698 2698
 	 * @param  string $value address.
2699 2699
 	 */
2700
-	public function set_user_address( $value ) {
2701
-		$this->set_address( $value );
2700
+	public function set_user_address($value) {
2701
+		$this->set_address($value);
2702 2702
     }
2703 2703
 
2704 2704
     /**
@@ -2707,8 +2707,8 @@  discard block
 block discarded – undo
2707 2707
 	 * @since 1.0.19
2708 2708
 	 * @param  string $value address.
2709 2709
 	 */
2710
-	public function set_customer_address( $value ) {
2711
-		$this->set_address( $value );
2710
+	public function set_customer_address($value) {
2711
+		$this->set_address($value);
2712 2712
     }
2713 2713
 
2714 2714
     /**
@@ -2717,8 +2717,8 @@  discard block
 block discarded – undo
2717 2717
 	 * @since 1.0.19
2718 2718
 	 * @param  int|bool $value confirmed.
2719 2719
 	 */
2720
-	public function set_is_viewed( $value ) {
2721
-		$this->set_prop( 'is_viewed', $value );
2720
+	public function set_is_viewed($value) {
2721
+		$this->set_prop('is_viewed', $value);
2722 2722
 	}
2723 2723
 
2724 2724
 	/**
@@ -2727,8 +2727,8 @@  discard block
 block discarded – undo
2727 2727
 	 * @since 1.0.19
2728 2728
 	 * @param  string $value email recipients.
2729 2729
 	 */
2730
-	public function set_email_cc( $value ) {
2731
-		$this->set_prop( 'email_cc', $value );
2730
+	public function set_email_cc($value) {
2731
+		$this->set_prop('email_cc', $value);
2732 2732
 	}
2733 2733
 
2734 2734
 	/**
@@ -2737,9 +2737,9 @@  discard block
 block discarded – undo
2737 2737
 	 * @since 1.0.19
2738 2738
 	 * @param  string $value template.
2739 2739
 	 */
2740
-	public function set_template( $value ) {
2741
-		if ( in_array( $value, array( 'quantity', 'hours', 'amount' ) ) ) {
2742
-			$this->set_prop( 'template', $value );
2740
+	public function set_template($value) {
2741
+		if (in_array($value, array('quantity', 'hours', 'amount'))) {
2742
+			$this->set_prop('template', $value);
2743 2743
 		}
2744 2744
 	}
2745 2745
 
@@ -2750,8 +2750,8 @@  discard block
 block discarded – undo
2750 2750
 	 * @param  string $value source.
2751 2751
 	 * @deprecated
2752 2752
 	 */
2753
-	public function created_via( $value ) {
2754
-		$this->set_created_via( sanitize_text_field( $value ) );
2753
+	public function created_via($value) {
2754
+		$this->set_created_via(sanitize_text_field($value));
2755 2755
 	}
2756 2756
 
2757 2757
 	/**
@@ -2760,8 +2760,8 @@  discard block
 block discarded – undo
2760 2760
 	 * @since 1.0.19
2761 2761
 	 * @param  string $value source.
2762 2762
 	 */
2763
-	public function set_created_via( $value ) {
2764
-		$this->set_prop( 'created_via', sanitize_text_field( $value ) );
2763
+	public function set_created_via($value) {
2764
+		$this->set_prop('created_via', sanitize_text_field($value));
2765 2765
 	}
2766 2766
 
2767 2767
 	/**
@@ -2770,8 +2770,8 @@  discard block
 block discarded – undo
2770 2770
 	 * @since 1.0.19
2771 2771
 	 * @param  int|bool $value confirmed.
2772 2772
 	 */
2773
-	public function set_address_confirmed( $value ) {
2774
-		$this->set_prop( 'address_confirmed', $value );
2773
+	public function set_address_confirmed($value) {
2774
+		$this->set_prop('address_confirmed', $value);
2775 2775
     }
2776 2776
 
2777 2777
     /**
@@ -2780,8 +2780,8 @@  discard block
 block discarded – undo
2780 2780
 	 * @since 1.0.19
2781 2781
 	 * @param  int|bool $value confirmed.
2782 2782
 	 */
2783
-	public function set_user_address_confirmed( $value ) {
2784
-		$this->set_address_confirmed( $value );
2783
+	public function set_user_address_confirmed($value) {
2784
+		$this->set_address_confirmed($value);
2785 2785
     }
2786 2786
 
2787 2787
     /**
@@ -2790,8 +2790,8 @@  discard block
 block discarded – undo
2790 2790
 	 * @since 1.0.19
2791 2791
 	 * @param  int|bool $value confirmed.
2792 2792
 	 */
2793
-	public function set_customer_address_confirmed( $value ) {
2794
-		$this->set_address_confirmed( $value );
2793
+	public function set_customer_address_confirmed($value) {
2794
+		$this->set_address_confirmed($value);
2795 2795
     }
2796 2796
 
2797 2797
     /**
@@ -2800,8 +2800,8 @@  discard block
 block discarded – undo
2800 2800
 	 * @since 1.0.19
2801 2801
 	 * @param  float $value sub total.
2802 2802
 	 */
2803
-	public function set_subtotal( $value ) {
2804
-		$this->set_prop( 'subtotal', max( 0, $value ) );
2803
+	public function set_subtotal($value) {
2804
+		$this->set_prop('subtotal', max(0, $value));
2805 2805
 	}
2806 2806
 
2807 2807
 	/**
@@ -2810,8 +2810,8 @@  discard block
 block discarded – undo
2810 2810
 	 * @since 1.0.19
2811 2811
 	 * @param  float $value sub total.
2812 2812
 	 */
2813
-	public function set_total( $value ) {
2814
-		$this->set_prop( 'total', max( 0, $value ) );
2813
+	public function set_total($value) {
2814
+		$this->set_prop('total', max(0, $value));
2815 2815
     }
2816 2816
 
2817 2817
     /**
@@ -2820,8 +2820,8 @@  discard block
 block discarded – undo
2820 2820
 	 * @since 1.0.19
2821 2821
 	 * @param  float $value discount total.
2822 2822
 	 */
2823
-	public function set_total_discount( $value ) {
2824
-		$this->set_prop( 'total_discount', max( 0, $value ) );
2823
+	public function set_total_discount($value) {
2824
+		$this->set_prop('total_discount', max(0, $value));
2825 2825
     }
2826 2826
 
2827 2827
     /**
@@ -2830,8 +2830,8 @@  discard block
 block discarded – undo
2830 2830
 	 * @since 1.0.19
2831 2831
 	 * @param  float $value discount total.
2832 2832
 	 */
2833
-	public function set_discount( $value ) {
2834
-		$this->set_total_discount( $value );
2833
+	public function set_discount($value) {
2834
+		$this->set_total_discount($value);
2835 2835
     }
2836 2836
 
2837 2837
     /**
@@ -2840,8 +2840,8 @@  discard block
 block discarded – undo
2840 2840
 	 * @since 1.0.19
2841 2841
 	 * @param  float $value tax total.
2842 2842
 	 */
2843
-	public function set_total_tax( $value ) {
2844
-		$this->set_prop( 'total_tax', max( 0, $value ) );
2843
+	public function set_total_tax($value) {
2844
+		$this->set_prop('total_tax', max(0, $value));
2845 2845
     }
2846 2846
 
2847 2847
     /**
@@ -2850,8 +2850,8 @@  discard block
 block discarded – undo
2850 2850
 	 * @since 1.0.19
2851 2851
 	 * @param  float $value tax total.
2852 2852
 	 */
2853
-	public function set_tax_total( $value ) {
2854
-		$this->set_total_tax( $value );
2853
+	public function set_tax_total($value) {
2854
+		$this->set_total_tax($value);
2855 2855
     }
2856 2856
 
2857 2857
     /**
@@ -2860,8 +2860,8 @@  discard block
 block discarded – undo
2860 2860
 	 * @since 1.0.19
2861 2861
 	 * @param  float $value fees total.
2862 2862
 	 */
2863
-	public function set_total_fees( $value ) {
2864
-		$this->set_prop( 'total_fees', max( 0, $value ) );
2863
+	public function set_total_fees($value) {
2864
+		$this->set_prop('total_fees', max(0, $value));
2865 2865
     }
2866 2866
 
2867 2867
     /**
@@ -2870,8 +2870,8 @@  discard block
 block discarded – undo
2870 2870
 	 * @since 1.0.19
2871 2871
 	 * @param  float $value fees total.
2872 2872
 	 */
2873
-	public function set_fees_total( $value ) {
2874
-		$this->set_total_fees( $value );
2873
+	public function set_fees_total($value) {
2874
+		$this->set_total_fees($value);
2875 2875
     }
2876 2876
 
2877 2877
     /**
@@ -2880,13 +2880,13 @@  discard block
 block discarded – undo
2880 2880
 	 * @since 1.0.19
2881 2881
 	 * @param  array $value fees.
2882 2882
 	 */
2883
-	public function set_fees( $value ) {
2883
+	public function set_fees($value) {
2884 2884
 
2885
-		if ( ! is_array( $value ) ) {
2885
+		if (!is_array($value)) {
2886 2886
 			$value = array();
2887 2887
 		}
2888 2888
 
2889
-		$this->set_prop( 'fees', $value );
2889
+		$this->set_prop('fees', $value);
2890 2890
 
2891 2891
     }
2892 2892
 
@@ -2896,13 +2896,13 @@  discard block
 block discarded – undo
2896 2896
 	 * @since 1.0.19
2897 2897
 	 * @param  array $value taxes.
2898 2898
 	 */
2899
-	public function set_taxes( $value ) {
2899
+	public function set_taxes($value) {
2900 2900
 
2901
-		if ( ! is_array( $value ) ) {
2901
+		if (!is_array($value)) {
2902 2902
 			$value = array();
2903 2903
 		}
2904 2904
 
2905
-		$this->set_prop( 'taxes', $value );
2905
+		$this->set_prop('taxes', $value);
2906 2906
 
2907 2907
     }
2908 2908
 
@@ -2912,13 +2912,13 @@  discard block
 block discarded – undo
2912 2912
 	 * @since 1.0.19
2913 2913
 	 * @param  array $value discounts.
2914 2914
 	 */
2915
-	public function set_discounts( $value ) {
2915
+	public function set_discounts($value) {
2916 2916
 
2917
-		if ( ! is_array( $value ) ) {
2917
+		if (!is_array($value)) {
2918 2918
 			$value = array();
2919 2919
 		}
2920 2920
 
2921
-		$this->set_prop( 'discounts', $value );
2921
+		$this->set_prop('discounts', $value);
2922 2922
     }
2923 2923
 
2924 2924
     /**
@@ -2927,19 +2927,19 @@  discard block
 block discarded – undo
2927 2927
 	 * @since 1.0.19
2928 2928
 	 * @param  GetPaid_Form_Item[] $value items.
2929 2929
 	 */
2930
-	public function set_items( $value ) {
2930
+	public function set_items($value) {
2931 2931
 
2932 2932
         // Remove existing items.
2933
-        $this->set_prop( 'items', array() );
2933
+        $this->set_prop('items', array());
2934 2934
 		$this->recurring_item = null;
2935 2935
 
2936 2936
         // Ensure that we have an array.
2937
-        if ( ! is_array( $value ) ) {
2937
+        if (!is_array($value)) {
2938 2938
             return;
2939 2939
         }
2940 2940
 
2941
-        foreach ( $value as $item ) {
2942
-            $this->add_item( $item );
2941
+        foreach ($value as $item) {
2942
+            $this->add_item($item);
2943 2943
         }
2944 2944
 
2945 2945
     }
@@ -2950,8 +2950,8 @@  discard block
 block discarded – undo
2950 2950
 	 * @since 1.0.19
2951 2951
 	 * @param  int $value payment form.
2952 2952
 	 */
2953
-	public function set_payment_form( $value ) {
2954
-		$this->set_prop( 'payment_form', $value );
2953
+	public function set_payment_form($value) {
2954
+		$this->set_prop('payment_form', $value);
2955 2955
     }
2956 2956
 
2957 2957
     /**
@@ -2960,8 +2960,8 @@  discard block
 block discarded – undo
2960 2960
 	 * @since 1.0.19
2961 2961
 	 * @param  string $value submission id.
2962 2962
 	 */
2963
-	public function set_submission_id( $value ) {
2964
-		$this->set_prop( 'submission_id', $value );
2963
+	public function set_submission_id($value) {
2964
+		$this->set_prop('submission_id', $value);
2965 2965
     }
2966 2966
 
2967 2967
     /**
@@ -2970,8 +2970,8 @@  discard block
 block discarded – undo
2970 2970
 	 * @since 1.0.19
2971 2971
 	 * @param  string $value discount code.
2972 2972
 	 */
2973
-	public function set_discount_code( $value ) {
2974
-		$this->set_prop( 'discount_code', sanitize_text_field( $value ) );
2973
+	public function set_discount_code($value) {
2974
+		$this->set_prop('discount_code', sanitize_text_field($value));
2975 2975
     }
2976 2976
 
2977 2977
     /**
@@ -2980,8 +2980,8 @@  discard block
 block discarded – undo
2980 2980
 	 * @since 1.0.19
2981 2981
 	 * @param  string $value gateway.
2982 2982
 	 */
2983
-	public function set_gateway( $value ) {
2984
-		$this->set_prop( 'gateway', $value );
2983
+	public function set_gateway($value) {
2984
+		$this->set_prop('gateway', $value);
2985 2985
     }
2986 2986
 
2987 2987
     /**
@@ -2990,9 +2990,9 @@  discard block
 block discarded – undo
2990 2990
 	 * @since 1.0.19
2991 2991
 	 * @param  string $value transaction id.
2992 2992
 	 */
2993
-	public function set_transaction_id( $value ) {
2994
-		if ( ! empty( $value ) ) {
2995
-			$this->set_prop( 'transaction_id', $value );
2993
+	public function set_transaction_id($value) {
2994
+		if (!empty($value)) {
2995
+			$this->set_prop('transaction_id', $value);
2996 2996
 		}
2997 2997
     }
2998 2998
 
@@ -3002,8 +3002,8 @@  discard block
 block discarded – undo
3002 3002
 	 * @since 1.0.19
3003 3003
 	 * @param  string $value currency id.
3004 3004
 	 */
3005
-	public function set_currency( $value ) {
3006
-		$this->set_prop( 'currency', $value );
3005
+	public function set_currency($value) {
3006
+		$this->set_prop('currency', $value);
3007 3007
     }
3008 3008
 
3009 3009
 	/**
@@ -3012,8 +3012,8 @@  discard block
 block discarded – undo
3012 3012
 	 * @since 1.0.19
3013 3013
 	 * @param  bool $value value.
3014 3014
 	 */
3015
-	public function set_disable_taxes( $value ) {
3016
-		$this->set_prop( 'disable_taxes', (bool) $value );
3015
+	public function set_disable_taxes($value) {
3016
+		$this->set_prop('disable_taxes', (bool) $value);
3017 3017
 	}
3018 3018
 
3019 3019
     /**
@@ -3022,8 +3022,8 @@  discard block
 block discarded – undo
3022 3022
 	 * @since 1.0.19
3023 3023
 	 * @param  string $value subscription id.
3024 3024
 	 */
3025
-	public function set_subscription_id( $value ) {
3026
-		$this->set_prop( 'subscription_id', $value );
3025
+	public function set_subscription_id($value) {
3026
+		$this->set_prop('subscription_id', $value);
3027 3027
 	}
3028 3028
 	
3029 3029
 	/**
@@ -3032,8 +3032,8 @@  discard block
 block discarded – undo
3032 3032
 	 * @since 1.0.19
3033 3033
 	 * @param  string $value subscription id.
3034 3034
 	 */
3035
-	public function set_remote_subscription_id( $value ) {
3036
-		$this->set_prop( 'remote_subscription_id', $value );
3035
+	public function set_remote_subscription_id($value) {
3036
+		$this->set_prop('remote_subscription_id', $value);
3037 3037
     }
3038 3038
 
3039 3039
     /*
@@ -3050,28 +3050,28 @@  discard block
 block discarded – undo
3050 3050
      */
3051 3051
     public function is_parent() {
3052 3052
         $parent = $this->get_parent_id();
3053
-        return apply_filters( 'wpinv_invoice_is_parent', empty( $parent ), $this );
3053
+        return apply_filters('wpinv_invoice_is_parent', empty($parent), $this);
3054 3054
     }
3055 3055
 
3056 3056
     /**
3057 3057
      * Checks if this is a renewal invoice.
3058 3058
      */
3059 3059
     public function is_renewal() {
3060
-        return $this->is_recurring() && ! $this->is_parent();
3060
+        return $this->is_recurring() && !$this->is_parent();
3061 3061
     }
3062 3062
 
3063 3063
     /**
3064 3064
      * Checks if this is a recurring invoice.
3065 3065
      */
3066 3066
     public function is_recurring() {
3067
-        return ! empty( $this->recurring_item );
3067
+        return !empty($this->recurring_item);
3068 3068
     }
3069 3069
 
3070 3070
     /**
3071 3071
      * Checks if this is a taxable invoice.
3072 3072
      */
3073 3073
     public function is_taxable() {
3074
-        return ! $this->get_disable_taxes();
3074
+        return !$this->get_disable_taxes();
3075 3075
 	}
3076 3076
 
3077 3077
 	/**
@@ -3085,45 +3085,45 @@  discard block
 block discarded – undo
3085 3085
 	 * Checks to see if the invoice requires payment.
3086 3086
 	 */
3087 3087
 	public function is_free() {
3088
-        $is_free = ( (float) wpinv_round_amount( $this->get_initial_total() ) == 0 );
3088
+        $is_free = ((float) wpinv_round_amount($this->get_initial_total()) == 0);
3089 3089
 
3090
-		if ( $this->is_recurring() && $this->get_recurring_total() > 0 ) {
3090
+		if ($this->is_recurring() && $this->get_recurring_total() > 0) {
3091 3091
 			$is_free = false;
3092 3092
 		}
3093 3093
 
3094
-        return apply_filters( 'wpinv_invoice_is_free', $is_free, $this );
3094
+        return apply_filters('wpinv_invoice_is_free', $is_free, $this);
3095 3095
     }
3096 3096
 
3097 3097
     /**
3098 3098
      * Checks if the invoice is paid.
3099 3099
      */
3100 3100
     public function is_paid() {
3101
-        $is_paid = $this->has_status( array( 'publish', 'wpi-processing', 'wpi-renewal' ) );
3102
-        return apply_filters( 'wpinv_invoice_is_paid', $is_paid, $this );
3101
+        $is_paid = $this->has_status(array('publish', 'wpi-processing', 'wpi-renewal'));
3102
+        return apply_filters('wpinv_invoice_is_paid', $is_paid, $this);
3103 3103
 	}
3104 3104
 
3105 3105
 	/**
3106 3106
      * Checks if the invoice needs payment.
3107 3107
      */
3108 3108
 	public function needs_payment() {
3109
-		$needs_payment = ! $this->is_paid() && ! $this->is_refunded() && ! $this->is_free();
3110
-        return apply_filters( 'wpinv_needs_payment', $needs_payment, $this );
3109
+		$needs_payment = !$this->is_paid() && !$this->is_refunded() && !$this->is_free();
3110
+        return apply_filters('wpinv_needs_payment', $needs_payment, $this);
3111 3111
     }
3112 3112
   
3113 3113
 	/**
3114 3114
      * Checks if the invoice is refunded.
3115 3115
      */
3116 3116
 	public function is_refunded() {
3117
-        $is_refunded = $this->has_status( 'wpi-refunded' );
3118
-        return apply_filters( 'wpinv_invoice_is_refunded', $is_refunded, $this );
3117
+        $is_refunded = $this->has_status('wpi-refunded');
3118
+        return apply_filters('wpinv_invoice_is_refunded', $is_refunded, $this);
3119 3119
 	}
3120 3120
 
3121 3121
 	/**
3122 3122
      * Checks if the invoice is held.
3123 3123
      */
3124 3124
 	public function is_held() {
3125
-        $is_held = $this->has_status( 'wpi-onhold' );
3126
-        return apply_filters( 'wpinv_invoice_is_held', $is_held, $this );
3125
+        $is_held = $this->has_status('wpi-onhold');
3126
+        return apply_filters('wpinv_invoice_is_held', $is_held, $this);
3127 3127
 	}
3128 3128
 
3129 3129
 	/**
@@ -3131,30 +3131,30 @@  discard block
 block discarded – undo
3131 3131
      */
3132 3132
 	public function is_due() {
3133 3133
 		$due_date = $this->get_due_date();
3134
-		return empty( $due_date ) ? false : current_time( 'timestamp' ) > strtotime( $due_date );
3134
+		return empty($due_date) ? false : current_time('timestamp') > strtotime($due_date);
3135 3135
 	}
3136 3136
 
3137 3137
 	/**
3138 3138
      * Checks if the invoice is draft.
3139 3139
      */
3140 3140
 	public function is_draft() {
3141
-        return $this->has_status( 'draft, auto-draft' );
3141
+        return $this->has_status('draft, auto-draft');
3142 3142
 	}
3143 3143
 
3144 3144
     /**
3145 3145
      * Checks if the invoice has a given status.
3146 3146
      */
3147
-    public function has_status( $status ) {
3148
-        $status = wpinv_parse_list( $status );
3149
-        return apply_filters( 'wpinv_has_status', in_array( $this->get_status(), $status ), $status );
3147
+    public function has_status($status) {
3148
+        $status = wpinv_parse_list($status);
3149
+        return apply_filters('wpinv_has_status', in_array($this->get_status(), $status), $status);
3150 3150
 	}
3151 3151
 
3152 3152
 	/**
3153 3153
      * Checks if the invoice is of a given type.
3154 3154
      */
3155
-    public function is_type( $type ) {
3156
-        $type = wpinv_parse_list( $type );
3157
-        return in_array( $this->get_type(), $type );
3155
+    public function is_type($type) {
3156
+        $type = wpinv_parse_list($type);
3157
+        return in_array($this->get_type(), $type);
3158 3158
     }
3159 3159
 
3160 3160
     /**
@@ -3186,8 +3186,8 @@  discard block
 block discarded – undo
3186 3186
      *
3187 3187
      */
3188 3188
 	public function is_initial_free() {
3189
-        $is_initial_free = ! ( (float) wpinv_round_amount( $this->get_initial_total() ) > 0 );
3190
-        return apply_filters( 'wpinv_invoice_is_initial_free', $is_initial_free, $this->get_cart_details(), $this );
3189
+        $is_initial_free = !((float) wpinv_round_amount($this->get_initial_total()) > 0);
3190
+        return apply_filters('wpinv_invoice_is_initial_free', $is_initial_free, $this->get_cart_details(), $this);
3191 3191
     }
3192 3192
 	
3193 3193
 	/**
@@ -3197,11 +3197,11 @@  discard block
 block discarded – undo
3197 3197
     public function item_has_free_trial() {
3198 3198
 
3199 3199
         // Ensure we have a recurring item.
3200
-        if ( ! $this->is_recurring() ) {
3200
+        if (!$this->is_recurring()) {
3201 3201
             return false;
3202 3202
         }
3203 3203
 
3204
-        $item = $this->get_recurring( true );
3204
+        $item = $this->get_recurring(true);
3205 3205
         return $item->has_free_trial();
3206 3206
 	}
3207 3207
 
@@ -3209,7 +3209,7 @@  discard block
 block discarded – undo
3209 3209
      * Check if the free trial is a result of a discount.
3210 3210
      */
3211 3211
     public function is_free_trial_from_discount() {
3212
-		return $this->has_free_trial() && ! $this->item_has_free_trial();
3212
+		return $this->has_free_trial() && !$this->item_has_free_trial();
3213 3213
 	}
3214 3214
 	
3215 3215
 	/**
@@ -3217,12 +3217,12 @@  discard block
 block discarded – undo
3217 3217
      */
3218 3218
     public function discount_first_payment_only() {
3219 3219
 
3220
-		$discount = wpinv_get_discount_obj( $this->get_discount_code() );
3221
-        if ( ! $discount->exists() || ! $this->is_recurring() ) {
3220
+		$discount = wpinv_get_discount_obj($this->get_discount_code());
3221
+        if (!$discount->exists() || !$this->is_recurring()) {
3222 3222
             return true;
3223 3223
         }
3224 3224
 
3225
-        return ! $discount->get_is_recurring();
3225
+        return !$discount->get_is_recurring();
3226 3226
     }
3227 3227
 
3228 3228
     /*
@@ -3240,23 +3240,23 @@  discard block
 block discarded – undo
3240 3240
      * @param GetPaid_Form_Item|array $item
3241 3241
      * @return WP_Error|Bool
3242 3242
      */
3243
-    public function add_item( $item ) {
3243
+    public function add_item($item) {
3244 3244
 
3245
-		if ( is_array( $item ) ) {
3246
-			$item = $this->process_array_item( $item );
3245
+		if (is_array($item)) {
3246
+			$item = $this->process_array_item($item);
3247 3247
 		}
3248 3248
 
3249
-		if ( is_numeric( $item ) ) {
3250
-			$item = new GetPaid_Form_Item( $item );
3249
+		if (is_numeric($item)) {
3250
+			$item = new GetPaid_Form_Item($item);
3251 3251
 		}
3252 3252
 
3253 3253
         // Make sure that it is available for purchase.
3254
-		if ( $item->get_id() > 0 && ! $item->can_purchase() ) {
3255
-			return new WP_Error( 'invalid_item', __( 'This item is not available for purchase', 'invoicing' ) );
3254
+		if ($item->get_id() > 0 && !$item->can_purchase()) {
3255
+			return new WP_Error('invalid_item', __('This item is not available for purchase', 'invoicing'));
3256 3256
         }
3257 3257
 
3258 3258
         // Do we have a recurring item?
3259
-		if ( $item->is_recurring() ) {
3259
+		if ($item->is_recurring()) {
3260 3260
 			$this->recurring_item = $item->get_id();
3261 3261
         }
3262 3262
 
@@ -3264,9 +3264,9 @@  discard block
 block discarded – undo
3264 3264
         $item->invoice_id = (int) $this->get_id();
3265 3265
 
3266 3266
 		// Remove duplicates.
3267
-		$this->remove_item( $item->get_id() );
3267
+		$this->remove_item($item->get_id());
3268 3268
 
3269
-		if ( 0 == $item->get_quantity() ) {
3269
+		if (0 == $item->get_quantity()) {
3270 3270
 			return;
3271 3271
 		}
3272 3272
 
@@ -3276,7 +3276,7 @@  discard block
 block discarded – undo
3276 3276
 		// Add new item.
3277 3277
         $items[] = $item;
3278 3278
 
3279
-        $this->set_prop( 'items', $items );
3279
+        $this->set_prop('items', $items);
3280 3280
 
3281 3281
 		return true;
3282 3282
 	}
@@ -3287,26 +3287,26 @@  discard block
 block discarded – undo
3287 3287
 	 * @since 1.0.19
3288 3288
 	 * @return GetPaid_Form_Item
3289 3289
 	 */
3290
-	protected function process_array_item( $array ) {
3290
+	protected function process_array_item($array) {
3291 3291
 
3292
-		$item_id = isset( $array['item_id'] ) ? $array['item_id'] : 0;
3293
-		$item    = new GetPaid_Form_Item( $item_id );
3292
+		$item_id = isset($array['item_id']) ? $array['item_id'] : 0;
3293
+		$item    = new GetPaid_Form_Item($item_id);
3294 3294
 
3295 3295
 		// Set item data.
3296
-		foreach ( array( 'name', 'price', 'description' ) as $key ) {
3297
-			if ( isset( $array[ "item_$key" ] ) ) {
3296
+		foreach (array('name', 'price', 'description') as $key) {
3297
+			if (isset($array["item_$key"])) {
3298 3298
 				$method = "set_$key";
3299
-				$item->$method( $array[ "item_$key" ] );
3299
+				$item->$method($array["item_$key"]);
3300 3300
 			}
3301 3301
 		}
3302 3302
 
3303
-		if ( isset( $array['quantity'] ) ) {
3304
-			$item->set_quantity( $array['quantity'] );
3303
+		if (isset($array['quantity'])) {
3304
+			$item->set_quantity($array['quantity']);
3305 3305
 		}
3306 3306
 
3307 3307
 		// Set item meta.
3308
-		if ( isset( $array['meta'] ) && is_array( $array['meta'] ) ) {
3309
-			$item->set_item_meta( $array['meta'] );
3308
+		if (isset($array['meta']) && is_array($array['meta'])) {
3309
+			$item->set_item_meta($array['meta']);
3310 3310
 		}
3311 3311
 
3312 3312
 		return $item;
@@ -3319,10 +3319,10 @@  discard block
 block discarded – undo
3319 3319
 	 * @since 1.0.19
3320 3320
 	 * @return GetPaid_Form_Item|null
3321 3321
 	 */
3322
-	public function get_item( $item_id ) {
3322
+	public function get_item($item_id) {
3323 3323
 
3324
-		foreach ( $this->get_items() as $item ) {
3325
-			if ( (int) $item_id == $item->get_id() ) {
3324
+		foreach ($this->get_items() as $item) {
3325
+			if ((int) $item_id == $item->get_id()) {
3326 3326
 				return $item;
3327 3327
 			}
3328 3328
 		}
@@ -3335,16 +3335,16 @@  discard block
 block discarded – undo
3335 3335
 	 *
3336 3336
 	 * @since 1.0.19
3337 3337
 	 */
3338
-	public function remove_item( $item_id ) {
3338
+	public function remove_item($item_id) {
3339 3339
 		$items   = $this->get_items();
3340 3340
 		$item_id = (int) $item_id;
3341 3341
 
3342
-		foreach ( $items as $index => $item ) {
3343
-			if ( (int) $item_id == $item->get_id() ) {
3344
-				unset( $items[ $index ] );
3345
-				$this->set_prop( 'items', $items );
3342
+		foreach ($items as $index => $item) {
3343
+			if ((int) $item_id == $item->get_id()) {
3344
+				unset($items[$index]);
3345
+				$this->set_prop('items', $items);
3346 3346
 
3347
-				if ( $item_id == $this->recurring_item ) {
3347
+				if ($item_id == $this->recurring_item) {
3348 3348
 					$this->recurring_item = null;
3349 3349
 				}
3350 3350
 
@@ -3359,11 +3359,11 @@  discard block
 block discarded – undo
3359 3359
 	 * @param array $fee An array of fee details. name, initial_fee, and recurring_fee are required.
3360 3360
 	 * @since 1.0.19
3361 3361
 	 */
3362
-    public function add_fee( $fee ) {
3362
+    public function add_fee($fee) {
3363 3363
 
3364 3364
 		$fees                 = $this->get_fees();
3365
-		$fees[ $fee['name'] ] = $fee;
3366
-		$this->set_prop( 'fees', $fees );
3365
+		$fees[$fee['name']] = $fee;
3366
+		$this->set_prop('fees', $fees);
3367 3367
 
3368 3368
     }
3369 3369
 
@@ -3372,9 +3372,9 @@  discard block
 block discarded – undo
3372 3372
 	 *
3373 3373
 	 * @since 1.0.19
3374 3374
 	 */
3375
-	public function get_fee( $fee ) {
3375
+	public function get_fee($fee) {
3376 3376
         $fees = $this->get_fees();
3377
-		return isset( $fees[ $fee ] ) ? $fees[ $fee ] : null;
3377
+		return isset($fees[$fee]) ? $fees[$fee] : null;
3378 3378
     }
3379 3379
 
3380 3380
     /**
@@ -3382,11 +3382,11 @@  discard block
 block discarded – undo
3382 3382
 	 *
3383 3383
 	 * @since 1.0.19
3384 3384
 	 */
3385
-	public function remove_fee( $fee ) {
3385
+	public function remove_fee($fee) {
3386 3386
         $fees = $this->get_fees();
3387
-        if ( isset( $fees[ $fee ] ) ) {
3388
-            unset( $fees[ $fee ] );
3389
-            $this->set_prop( 'fees', $fees );
3387
+        if (isset($fees[$fee])) {
3388
+            unset($fees[$fee]);
3389
+            $this->set_prop('fees', $fees);
3390 3390
         }
3391 3391
     }
3392 3392
 
@@ -3396,11 +3396,11 @@  discard block
 block discarded – undo
3396 3396
 	 * @param array $discount An array of discount details. name, initial_discount, and recurring_discount are required. Include discount_code if the discount is from a discount code.
3397 3397
 	 * @since 1.0.19
3398 3398
 	 */
3399
-	public function add_discount( $discount ) {
3399
+	public function add_discount($discount) {
3400 3400
 
3401 3401
 		$discounts = $this->get_discounts();
3402
-		$discounts[ $discount['name'] ] = $discount;
3403
-		$this->set_prop( 'discounts', $discounts );
3402
+		$discounts[$discount['name']] = $discount;
3403
+		$this->set_prop('discounts', $discounts);
3404 3404
 
3405 3405
 	}
3406 3406
 
@@ -3410,15 +3410,15 @@  discard block
 block discarded – undo
3410 3410
 	 * @since 1.0.19
3411 3411
 	 * @return float
3412 3412
 	 */
3413
-	public function get_discount( $discount = false ) {
3413
+	public function get_discount($discount = false) {
3414 3414
 
3415 3415
 		// Backwards compatibilty.
3416
-		if ( empty( $discount ) ) {
3416
+		if (empty($discount)) {
3417 3417
 			return $this->get_total_discount();
3418 3418
 		}
3419 3419
 
3420 3420
         $discounts = $this->get_discounts();
3421
-		return isset( $discounts[ $discount ] ) ? $discounts[ $discount ] : null;
3421
+		return isset($discounts[$discount]) ? $discounts[$discount] : null;
3422 3422
     }
3423 3423
 
3424 3424
     /**
@@ -3426,15 +3426,15 @@  discard block
 block discarded – undo
3426 3426
 	 *
3427 3427
 	 * @since 1.0.19
3428 3428
 	 */
3429
-	public function remove_discount( $discount ) {
3429
+	public function remove_discount($discount) {
3430 3430
         $discounts = $this->get_discounts();
3431
-        if ( isset( $discounts[ $discount ] ) ) {
3432
-            unset( $discounts[ $discount ] );
3433
-            $this->set_prop( 'discounts', $discounts );
3431
+        if (isset($discounts[$discount])) {
3432
+            unset($discounts[$discount]);
3433
+            $this->set_prop('discounts', $discounts);
3434 3434
         }
3435 3435
 
3436
-		if ( 'discount_code' == $discount ) {
3437
-			foreach ( $this->get_items() as $item ) {
3436
+		if ('discount_code' == $discount) {
3437
+			foreach ($this->get_items() as $item) {
3438 3438
 				$item->item_discount           = 0;
3439 3439
 				$item->recurring_item_discount = 0;
3440 3440
 			}
@@ -3447,12 +3447,12 @@  discard block
 block discarded – undo
3447 3447
      *
3448 3448
      * @param array $tax An array of tax details. name, initial_tax, and recurring_tax are required.
3449 3449
      */
3450
-    public function add_tax( $tax ) {
3451
-        if ( $this->is_taxable() ) {
3450
+    public function add_tax($tax) {
3451
+        if ($this->is_taxable()) {
3452 3452
 
3453
-            $taxes                 = $this->get_taxes();
3454
-			$taxes[ $tax['name'] ] = $tax;
3455
-			$this->set_prop( 'taxes', $tax );
3453
+            $taxes = $this->get_taxes();
3454
+			$taxes[$tax['name']] = $tax;
3455
+			$this->set_prop('taxes', $tax);
3456 3456
 
3457 3457
         }
3458 3458
     }
@@ -3462,15 +3462,15 @@  discard block
 block discarded – undo
3462 3462
 	 *
3463 3463
 	 * @since 1.0.19
3464 3464
 	 */
3465
-	public function get_tax( $tax = null ) {
3465
+	public function get_tax($tax = null) {
3466 3466
 
3467 3467
 		// Backwards compatility.
3468
-		if ( empty( $tax ) ) {
3468
+		if (empty($tax)) {
3469 3469
 			return $this->get_total_tax();
3470 3470
 		}
3471 3471
 
3472 3472
         $taxes = $this->get_taxes();
3473
-		return isset( $taxes[ $tax ] ) ? $taxes[ $tax ] : null;
3473
+		return isset($taxes[$tax]) ? $taxes[$tax] : null;
3474 3474
     }
3475 3475
 
3476 3476
     /**
@@ -3478,11 +3478,11 @@  discard block
 block discarded – undo
3478 3478
 	 *
3479 3479
 	 * @since 1.0.19
3480 3480
 	 */
3481
-	public function remove_tax( $tax ) {
3481
+	public function remove_tax($tax) {
3482 3482
         $taxes = $this->get_taxes();
3483
-        if ( isset( $taxes[ $tax ] ) ) {
3484
-            unset( $taxes[ $tax ] );
3485
-            $this->set_prop( 'taxes', $taxes );
3483
+        if (isset($taxes[$tax])) {
3484
+            unset($taxes[$tax]);
3485
+            $this->set_prop('taxes', $taxes);
3486 3486
         }
3487 3487
     }
3488 3488
 
@@ -3493,22 +3493,22 @@  discard block
 block discarded – undo
3493 3493
 	 * @return float The recalculated subtotal
3494 3494
 	 */
3495 3495
 	public function recalculate_subtotal() {
3496
-        $items     = $this->get_items();
3496
+        $items = $this->get_items();
3497 3497
 		$subtotal  = 0;
3498 3498
 		$recurring = 0;
3499 3499
 
3500
-        foreach ( $items as $item ) {
3500
+        foreach ($items as $item) {
3501 3501
 			$subtotal  += $item->get_sub_total();
3502 3502
 			$recurring += $item->get_recurring_sub_total();
3503 3503
         }
3504 3504
 
3505
-		if ( wpinv_prices_include_tax() ) {
3506
-			$subtotal  = max( 0, $subtotal - $this->totals['tax']['initial'] );
3507
-			$recurring = max( 0, $recurring - $this->totals['tax']['recurring'] );
3505
+		if (wpinv_prices_include_tax()) {
3506
+			$subtotal  = max(0, $subtotal - $this->totals['tax']['initial']);
3507
+			$recurring = max(0, $recurring - $this->totals['tax']['recurring']);
3508 3508
 		}
3509 3509
 
3510 3510
 		$current = $this->is_renewal() ? $recurring : $subtotal;
3511
-		$this->set_subtotal( $current );
3511
+		$this->set_subtotal($current);
3512 3512
 
3513 3513
 		$this->totals['subtotal'] = array(
3514 3514
 			'initial'   => $subtotal,
@@ -3529,14 +3529,14 @@  discard block
 block discarded – undo
3529 3529
 		$discount  = 0;
3530 3530
 		$recurring = 0;
3531 3531
 
3532
-        foreach ( $discounts as $data ) {
3533
-			$discount  += wpinv_sanitize_amount( $data['initial_discount'] );
3534
-			$recurring += wpinv_sanitize_amount( $data['recurring_discount'] );
3532
+        foreach ($discounts as $data) {
3533
+			$discount  += wpinv_sanitize_amount($data['initial_discount']);
3534
+			$recurring += wpinv_sanitize_amount($data['recurring_discount']);
3535 3535
 		}
3536 3536
 
3537 3537
 		$current = $this->is_renewal() ? $recurring : $discount;
3538 3538
 
3539
-		$this->set_total_discount( $current );
3539
+		$this->set_total_discount($current);
3540 3540
 
3541 3541
 		$this->totals['discount'] = array(
3542 3542
 			'initial'   => $discount,
@@ -3557,13 +3557,13 @@  discard block
 block discarded – undo
3557 3557
 
3558 3558
 		// Maybe disable taxes.
3559 3559
 		$vat_number = $this->get_vat_number();
3560
-		$skip_tax   = GetPaid_Payment_Form_Submission_Taxes::is_eu_transaction( $this->get_country() ) && ! empty( $vat_number );
3560
+		$skip_tax   = GetPaid_Payment_Form_Submission_Taxes::is_eu_transaction($this->get_country()) && !empty($vat_number);
3561 3561
 
3562
-		if ( wpinv_is_base_country( $this->get_country() ) && 'vat_too' == wpinv_get_option( 'vat_same_country_rule', 'vat_too' ) ) {
3562
+		if (wpinv_is_base_country($this->get_country()) && 'vat_too' == wpinv_get_option('vat_same_country_rule', 'vat_too')) {
3563 3563
 			$skip_tax = false;
3564 3564
 		}
3565 3565
 
3566
-		if ( ! wpinv_use_taxes() || $this->get_disable_taxes() || ! wpinv_is_country_taxable( $this->get_country() ) || $skip_tax   ) {
3566
+		if (!wpinv_use_taxes() || $this->get_disable_taxes() || !wpinv_is_country_taxable($this->get_country()) || $skip_tax) {
3567 3567
 
3568 3568
 			$this->totals['tax'] = array(
3569 3569
 				'initial'   => 0,
@@ -3572,38 +3572,38 @@  discard block
 block discarded – undo
3572 3572
 
3573 3573
 			$this->tax_rate = 0;
3574 3574
 
3575
-			$this->set_taxes( array() );
3575
+			$this->set_taxes(array());
3576 3576
 			$current = 0;
3577 3577
 		} else {
3578 3578
 
3579 3579
 			$item_taxes = array();
3580 3580
 
3581
-			foreach ( $this->get_items() as $item ) {
3582
-				$rates    = getpaid_get_item_tax_rates( $item, $this->get_country(), $this->get_state() );
3583
-				$rates    = getpaid_filter_item_tax_rates( $item, $rates );
3584
-				$taxes    = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, false ), $rates );
3585
-				$r_taxes  = getpaid_calculate_item_taxes( getpaid_get_taxable_amount( $item, true ), $rates );
3586
-				foreach ( $taxes as $name => $amount ) {
3587
-					$recurring = isset( $r_taxes[ $name ] ) ? $r_taxes[ $name ] : 0;
3588
-					$tax       = getpaid_prepare_item_tax( $item, $name, $amount, $recurring );
3589
-
3590
-					if ( ! isset( $item_taxes[ $name ] ) ) {
3591
-						$item_taxes[ $name ] = $tax;
3581
+			foreach ($this->get_items() as $item) {
3582
+				$rates    = getpaid_get_item_tax_rates($item, $this->get_country(), $this->get_state());
3583
+				$rates    = getpaid_filter_item_tax_rates($item, $rates);
3584
+				$taxes    = getpaid_calculate_item_taxes(getpaid_get_taxable_amount($item, false), $rates);
3585
+				$r_taxes  = getpaid_calculate_item_taxes(getpaid_get_taxable_amount($item, true), $rates);
3586
+				foreach ($taxes as $name => $amount) {
3587
+					$recurring = isset($r_taxes[$name]) ? $r_taxes[$name] : 0;
3588
+					$tax       = getpaid_prepare_item_tax($item, $name, $amount, $recurring);
3589
+
3590
+					if (!isset($item_taxes[$name])) {
3591
+						$item_taxes[$name] = $tax;
3592 3592
 						continue;
3593 3593
 					}
3594 3594
 
3595
-					$item_taxes[ $name ]['initial_tax']   += $tax['initial_tax'];
3596
-					$item_taxes[ $name ]['recurring_tax'] += $tax['recurring_tax'];
3595
+					$item_taxes[$name]['initial_tax']   += $tax['initial_tax'];
3596
+					$item_taxes[$name]['recurring_tax'] += $tax['recurring_tax'];
3597 3597
 
3598 3598
 				}
3599 3599
 
3600 3600
 			}
3601 3601
 
3602
-			$item_taxes = array_replace( $this->get_taxes(), $item_taxes );
3603
-			$this->set_taxes( $item_taxes );
3602
+			$item_taxes = array_replace($this->get_taxes(), $item_taxes);
3603
+			$this->set_taxes($item_taxes);
3604 3604
 
3605
-			$initial_tax   = array_sum( wp_list_pluck( $item_taxes, 'initial_tax' ) );
3606
-			$recurring_tax = array_sum( wp_list_pluck( $item_taxes, 'recurring_tax' ) );
3605
+			$initial_tax   = array_sum(wp_list_pluck($item_taxes, 'initial_tax'));
3606
+			$recurring_tax = array_sum(wp_list_pluck($item_taxes, 'recurring_tax'));
3607 3607
 
3608 3608
 			$current = $this->is_renewal() ? $recurring_tax : $initial_tax;
3609 3609
 
@@ -3614,7 +3614,7 @@  discard block
 block discarded – undo
3614 3614
 
3615 3615
 		}
3616 3616
 
3617
-		$this->set_total_tax( $current );
3617
+		$this->set_total_tax($current);
3618 3618
 
3619 3619
 		return $current;
3620 3620
 
@@ -3631,20 +3631,20 @@  discard block
 block discarded – undo
3631 3631
 		$fee       = 0;
3632 3632
 		$recurring = 0;
3633 3633
 
3634
-        foreach ( $fees as $data ) {
3635
-			$fee       += wpinv_sanitize_amount( $data['initial_fee'] );
3636
-			$recurring += wpinv_sanitize_amount( $data['recurring_fee'] );
3634
+        foreach ($fees as $data) {
3635
+			$fee       += wpinv_sanitize_amount($data['initial_fee']);
3636
+			$recurring += wpinv_sanitize_amount($data['recurring_fee']);
3637 3637
 		}
3638 3638
 
3639 3639
 		$current = $this->is_renewal() ? $recurring : $fee;
3640
-		$this->set_total_fees( $current );
3640
+		$this->set_total_fees($current);
3641 3641
 
3642 3642
 		$this->totals['fee'] = array(
3643 3643
 			'initial'   => $fee,
3644 3644
 			'recurring' => $recurring,
3645 3645
 		);
3646 3646
 
3647
-        $this->set_total_fees( $fee );
3647
+        $this->set_total_fees($fee);
3648 3648
         return $current;
3649 3649
     }
3650 3650
 
@@ -3659,7 +3659,7 @@  discard block
 block discarded – undo
3659 3659
         $this->recalculate_total_discount();
3660 3660
 		$this->recalculate_total_tax();
3661 3661
 		$this->recalculate_subtotal();
3662
-		$this->set_total( $this->get_total_tax() + $this->get_total_fees() + $this->get_subtotal() - $this->get_total_discount() );
3662
+		$this->set_total($this->get_total_tax() + $this->get_total_fees() + $this->get_subtotal() - $this->get_total_discount());
3663 3663
 		return $this->get_total();
3664 3664
 	}
3665 3665
 
@@ -3668,7 +3668,7 @@  discard block
 block discarded – undo
3668 3668
 	 */
3669 3669
     public function recalculate_totals() {
3670 3670
         $this->recalculate_total();
3671
-        $this->save( true );
3671
+        $this->save(true);
3672 3672
         return $this;
3673 3673
     }
3674 3674
 
@@ -3686,8 +3686,8 @@  discard block
 block discarded – undo
3686 3686
 	 * @return int|false The new note's ID on success, false on failure.
3687 3687
      *
3688 3688
      */
3689
-    public function add_system_note( $note ) {
3690
-		return $this->add_note( $note, false, false, true );
3689
+    public function add_system_note($note) {
3690
+		return $this->add_note($note, false, false, true);
3691 3691
 	}
3692 3692
 
3693 3693
     /**
@@ -3697,10 +3697,10 @@  discard block
 block discarded – undo
3697 3697
 	 * @return int|false The new note's ID on success, false on failure.
3698 3698
      *
3699 3699
      */
3700
-    public function add_note( $note = '', $customer_type = false, $added_by_user = false, $system = false ) {
3700
+    public function add_note($note = '', $customer_type = false, $added_by_user = false, $system = false) {
3701 3701
 
3702 3702
         // Bail if no note specified or this invoice is not yet saved.
3703
-        if ( ! $note || $this->get_id() == 0 || ( ! is_user_logged_in() && ! $system ) ) {
3703
+        if (!$note || $this->get_id() == 0 || (!is_user_logged_in() && !$system)) {
3704 3704
             return false;
3705 3705
         }
3706 3706
 
@@ -3708,23 +3708,23 @@  discard block
 block discarded – undo
3708 3708
 		$author_email = '[email protected]';
3709 3709
 
3710 3710
 		// If this is an admin comment or it has been added by the user.
3711
-		if ( is_user_logged_in() && ( ! $system || $added_by_user ) ) {
3712
-			$user         = get_user_by( 'id', get_current_user_id() );
3711
+		if (is_user_logged_in() && (!$system || $added_by_user)) {
3712
+			$user = get_user_by('id', get_current_user_id());
3713 3713
             $author       = $user->display_name;
3714 3714
             $author_email = $user->user_email;
3715 3715
 		}
3716 3716
 
3717
-		return getpaid_notes()->add_invoice_note( $this, $note, $author, $author_email, $customer_type );
3717
+		return getpaid_notes()->add_invoice_note($this, $note, $author, $author_email, $customer_type);
3718 3718
 
3719 3719
 	}
3720 3720
 
3721 3721
 	/**
3722 3722
      * Generates a unique key for the invoice.
3723 3723
      */
3724
-    public function generate_key( $string = '' ) {
3725
-        $auth_key  = defined( 'AUTH_KEY' ) ? AUTH_KEY : '';
3724
+    public function generate_key($string = '') {
3725
+        $auth_key = defined('AUTH_KEY') ? AUTH_KEY : '';
3726 3726
         return strtolower(
3727
-            $string . md5( $this->get_id() . date( 'Y-m-d H:i:s' ) . $auth_key . uniqid( 'wpinv', true ) )
3727
+            $string . md5($this->get_id() . date('Y-m-d H:i:s') . $auth_key . uniqid('wpinv', true))
3728 3728
         );
3729 3729
     }
3730 3730
 
@@ -3734,11 +3734,11 @@  discard block
 block discarded – undo
3734 3734
     public function generate_number() {
3735 3735
         $number = $this->get_id();
3736 3736
 
3737
-        if ( wpinv_sequential_number_active( $this->get_post_type() ) ) {
3738
-            $number = wpinv_get_next_invoice_number( $this->get_post_type() );
3737
+        if (wpinv_sequential_number_active($this->get_post_type())) {
3738
+            $number = wpinv_get_next_invoice_number($this->get_post_type());
3739 3739
         }
3740 3740
 
3741
-		return wpinv_format_invoice_number( $number, $this->get_post_type() );
3741
+		return wpinv_format_invoice_number($number, $this->get_post_type());
3742 3742
 
3743 3743
 	}
3744 3744
 
@@ -3751,55 +3751,55 @@  discard block
 block discarded – undo
3751 3751
 		// Reset status transition variable.
3752 3752
 		$this->status_transition = false;
3753 3753
 
3754
-		if ( $status_transition ) {
3754
+		if ($status_transition) {
3755 3755
 			try {
3756 3756
 
3757 3757
 				// Fire a hook for the status change.
3758
-				do_action( 'getpaid_invoice_status_' . $status_transition['to'], $this, $status_transition );
3758
+				do_action('getpaid_invoice_status_' . $status_transition['to'], $this, $status_transition);
3759 3759
 
3760 3760
 				// @deprecated this is deprecated and will be removed in the future.
3761
-				do_action( 'wpinv_status_' . $status_transition['to'], $this->get_id(), $status_transition['from'] );
3761
+				do_action('wpinv_status_' . $status_transition['to'], $this->get_id(), $status_transition['from']);
3762 3762
 
3763
-				if ( ! empty( $status_transition['from'] ) ) {
3763
+				if (!empty($status_transition['from'])) {
3764 3764
 
3765 3765
 					/* translators: 1: old invoice status 2: new invoice status */
3766
-					$transition_note = sprintf( __( 'Status changed from %1$s to %2$s.', 'invoicing' ), wpinv_status_nicename( $status_transition['from'], $this ), wpinv_status_nicename( $status_transition['to'], $this  ) );
3766
+					$transition_note = sprintf(__('Status changed from %1$s to %2$s.', 'invoicing'), wpinv_status_nicename($status_transition['from'], $this), wpinv_status_nicename($status_transition['to'], $this));
3767 3767
 
3768 3768
 					// Fire another hook.
3769
-					do_action( 'getpaid_invoice_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this );
3770
-					do_action( 'getpaid_invoice_status_changed', $this, $status_transition['from'], $status_transition['to'] );
3769
+					do_action('getpaid_invoice_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this);
3770
+					do_action('getpaid_invoice_status_changed', $this, $status_transition['from'], $status_transition['to']);
3771 3771
 
3772 3772
 					// @deprecated this is deprecated and will be removed in the future.
3773
-					do_action( 'wpinv_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $status_transition['from'] );
3773
+					do_action('wpinv_status_' . $status_transition['from'] . '_to_' . $status_transition['to'], $this->get_id(), $status_transition['from']);
3774 3774
 
3775 3775
 					// Note the transition occurred.
3776
-					$this->add_note( trim( $status_transition['note'] . ' ' . $transition_note ), false, $status_transition['manual'] );
3776
+					$this->add_note(trim($status_transition['note'] . ' ' . $transition_note), false, $status_transition['manual']);
3777 3777
 
3778 3778
 					// Work out if this was for a payment, and trigger a payment_status hook instead.
3779 3779
 					if (
3780
-						in_array( $status_transition['from'], array( 'wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold' ), true )
3781
-						&& in_array( $status_transition['to'], array( 'publish', 'wpi-processing', 'wpi-renewal' ), true )
3780
+						in_array($status_transition['from'], array('wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold'), true)
3781
+						&& in_array($status_transition['to'], array('publish', 'wpi-processing', 'wpi-renewal'), true)
3782 3782
 					) {
3783
-						do_action( 'getpaid_invoice_payment_status_changed', $this, $status_transition );
3783
+						do_action('getpaid_invoice_payment_status_changed', $this, $status_transition);
3784 3784
 					}
3785 3785
 
3786 3786
 					// Work out if this was for a payment reversal, and trigger a payment_status_reversed hook instead.
3787 3787
 					if (
3788
-						in_array( $status_transition['from'], array( 'publish', 'wpi-processing', 'wpi-renewal' ), true )
3789
-						&& in_array( $status_transition['to'], array( 'wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold' ), true )
3788
+						in_array($status_transition['from'], array('publish', 'wpi-processing', 'wpi-renewal'), true)
3789
+						&& in_array($status_transition['to'], array('wpi-cancelled', 'wpi-pending', 'wpi-failed', 'wpi-refunded', 'wpi-onhold'), true)
3790 3790
 					) {
3791
-						do_action( 'getpaid_invoice_payment_status_reversed', $this, $status_transition );
3791
+						do_action('getpaid_invoice_payment_status_reversed', $this, $status_transition);
3792 3792
 					}
3793 3793
 				} else {
3794 3794
 					/* translators: %s: new invoice status */
3795
-					$transition_note = sprintf( __( 'Status set to %s.', 'invoicing' ), wpinv_status_nicename( $status_transition['to'], $this  ) );
3795
+					$transition_note = sprintf(__('Status set to %s.', 'invoicing'), wpinv_status_nicename($status_transition['to'], $this));
3796 3796
 
3797 3797
 					// Note the transition occurred.
3798
-					$this->add_note( trim( $status_transition['note'] . ' ' . $transition_note ), 0, $status_transition['manual'] );
3798
+					$this->add_note(trim($status_transition['note'] . ' ' . $transition_note), 0, $status_transition['manual']);
3799 3799
 
3800 3800
 				}
3801
-			} catch ( Exception $e ) {
3802
-				$this->add_note( __( 'Error during status transition.', 'invoicing' ) . ' ' . $e->getMessage() );
3801
+			} catch (Exception $e) {
3802
+				$this->add_note(__('Error during status transition.', 'invoicing') . ' ' . $e->getMessage());
3803 3803
 			}
3804 3804
 		}
3805 3805
 	}
@@ -3807,13 +3807,13 @@  discard block
 block discarded – undo
3807 3807
 	/**
3808 3808
 	 * Updates an invoice status.
3809 3809
 	 */
3810
-	public function update_status( $new_status = false, $note = '', $manual = false ) {
3810
+	public function update_status($new_status = false, $note = '', $manual = false) {
3811 3811
 
3812 3812
 		// Fires before updating a status.
3813
-		do_action( 'wpinv_before_invoice_status_change', $this->get_id(), $new_status, $this->get_status( 'edit' ) );
3813
+		do_action('wpinv_before_invoice_status_change', $this->get_id(), $new_status, $this->get_status('edit'));
3814 3814
 
3815 3815
 		// Update the status.
3816
-		$this->set_status( $new_status, $note, $manual );
3816
+		$this->set_status($new_status, $note, $manual);
3817 3817
 
3818 3818
 		// Save the order.
3819 3819
 		return $this->save();
@@ -3824,18 +3824,18 @@  discard block
 block discarded – undo
3824 3824
 	 * @deprecated
3825 3825
 	 */
3826 3826
 	public function refresh_item_ids() {
3827
-        $item_ids = implode( ',', array_unique( wp_list_pluck( $this->get_cart_details(), 'item_id' ) ) );
3828
-        update_post_meta( $this->get_id(), '_wpinv_item_ids', $item_ids );
3827
+        $item_ids = implode(',', array_unique(wp_list_pluck($this->get_cart_details(), 'item_id')));
3828
+        update_post_meta($this->get_id(), '_wpinv_item_ids', $item_ids);
3829 3829
 	}
3830 3830
 
3831 3831
 	/**
3832 3832
 	 * @deprecated
3833 3833
 	 */
3834
-	public function update_items( $temp = false ) {
3834
+	public function update_items($temp = false) {
3835 3835
 
3836
-		$this->set_items( $this->get_items() );
3836
+		$this->set_items($this->get_items());
3837 3837
 
3838
-		if ( ! $temp ) {
3838
+		if (!$temp) {
3839 3839
 			$this->save();
3840 3840
 		}
3841 3841
 
@@ -3849,11 +3849,11 @@  discard block
 block discarded – undo
3849 3849
 
3850 3850
         $discount_code = $this->get_discount_code();
3851 3851
 
3852
-        if ( empty( $discount_code ) ) {
3852
+        if (empty($discount_code)) {
3853 3853
             return false;
3854 3854
         }
3855 3855
 
3856
-        $discount = wpinv_get_discount_obj( $discount_code );
3856
+        $discount = wpinv_get_discount_obj($discount_code);
3857 3857
 
3858 3858
         // Ensure it is active.
3859 3859
         return $discount->exists();
@@ -3864,7 +3864,7 @@  discard block
 block discarded – undo
3864 3864
 	 * Refunds an invoice.
3865 3865
 	 */
3866 3866
     public function refund() {
3867
-		$this->set_status( 'wpi-refunded' );
3867
+		$this->set_status('wpi-refunded');
3868 3868
         $this->save();
3869 3869
 	}
3870 3870
 
@@ -3873,53 +3873,53 @@  discard block
 block discarded – undo
3873 3873
 	 * 
3874 3874
 	 * @param string $transaction_id
3875 3875
 	 */
3876
-    public function mark_paid( $transaction_id = null, $note = '' ) {
3876
+    public function mark_paid($transaction_id = null, $note = '') {
3877 3877
 
3878 3878
 		// Set the transaction id.
3879
-		if ( empty( $transaction_id ) ) {
3879
+		if (empty($transaction_id)) {
3880 3880
 			$transaction_id = $this->generate_key('trans_');
3881 3881
 		}
3882 3882
 
3883
-		if ( ! $this->get_transaction_id() ) {
3884
-			$this->set_transaction_id( $transaction_id );
3883
+		if (!$this->get_transaction_id()) {
3884
+			$this->set_transaction_id($transaction_id);
3885 3885
 		}
3886 3886
 
3887
-		if ( $this->is_paid() && 'wpi-processing' != $this->get_status() ) {
3887
+		if ($this->is_paid() && 'wpi-processing' != $this->get_status()) {
3888 3888
 			return $this->save();
3889 3889
 		}
3890 3890
 
3891 3891
 		// Set the completed date.
3892
-		$this->set_date_completed( current_time( 'mysql' ) );
3892
+		$this->set_date_completed(current_time('mysql'));
3893 3893
 
3894 3894
 		// Set the new status.
3895
-		$gateway = sanitize_text_field( $this->get_gateway_title() );
3896
-		if ( $this->is_renewal() || ! $this->is_parent() ) {
3895
+		$gateway = sanitize_text_field($this->get_gateway_title());
3896
+		if ($this->is_renewal() || !$this->is_parent()) {
3897 3897
 
3898
-			$_note = wp_sprintf( __( 'Renewed via %s', 'invoicing' ), $gateway );
3899
-			$_note = $_note . empty( $note ) ? '' : " ($note)";
3898
+			$_note = wp_sprintf(__('Renewed via %s', 'invoicing'), $gateway);
3899
+			$_note = $_note . empty($note) ? '' : " ($note)";
3900 3900
 
3901
-			if ( 'none' == $this->get_gateway() ) {
3901
+			if ('none' == $this->get_gateway()) {
3902 3902
 				$_note = $note;
3903 3903
 			}
3904 3904
 
3905
-			$this->set_status( 'wpi-renewal', $_note );
3905
+			$this->set_status('wpi-renewal', $_note);
3906 3906
 
3907 3907
 		} else {
3908 3908
 
3909
-			$_note = wp_sprintf( __( 'Paid via %s', 'invoicing' ), $gateway );
3910
-			$_note = $_note . empty( $note ) ? '' : " ($note)";
3909
+			$_note = wp_sprintf(__('Paid via %s', 'invoicing'), $gateway);
3910
+			$_note = $_note . empty($note) ? '' : " ($note)";
3911 3911
 
3912
-			if ( 'none' == $this->get_gateway() ) {
3912
+			if ('none' == $this->get_gateway()) {
3913 3913
 				$_note = $note;
3914 3914
 			}
3915 3915
 
3916
-			$this->set_status( 'publish', $_note );
3916
+			$this->set_status('publish', $_note);
3917 3917
 
3918 3918
 		}
3919 3919
 
3920 3920
 		// Set checkout mode.
3921
-		$mode = wpinv_is_test_mode( $this->get_gateway() ) ? 'test' : 'live';
3922
-		$this->set_mode( $mode );
3921
+		$mode = wpinv_is_test_mode($this->get_gateway()) ? 'test' : 'live';
3922
+		$this->set_mode($mode);
3923 3923
 
3924 3924
 		// Save the invoice.
3925 3925
         $this->save();
@@ -3944,9 +3944,9 @@  discard block
 block discarded – undo
3944 3944
      * Clears the subscription's cache.
3945 3945
      */
3946 3946
     public function clear_cache() {
3947
-		wp_cache_delete( $this->get_key(), 'getpaid_invoice_keys_to_invoice_ids' );
3948
-		wp_cache_delete( $this->get_number(), 'getpaid_invoice_numbers_to_invoice_ids' );
3949
-		wp_cache_delete( $this->get_transaction_id(), 'getpaid_invoice_transaction_ids_to_invoice_ids' );
3947
+		wp_cache_delete($this->get_key(), 'getpaid_invoice_keys_to_invoice_ids');
3948
+		wp_cache_delete($this->get_number(), 'getpaid_invoice_numbers_to_invoice_ids');
3949
+		wp_cache_delete($this->get_transaction_id(), 'getpaid_invoice_transaction_ids_to_invoice_ids');
3950 3950
 	}
3951 3951
 
3952 3952
 }
Please login to merge, or discard this patch.