@@ -5,7 +5,7 @@ discard block |
||
5 | 5 | |
6 | 6 | class OxidInstaller extends BaseInstaller |
7 | 7 | { |
8 | - const VENDOR_PATTERN = '/^modules\/(?P<vendor>.+)\/.+/'; |
|
8 | + const VENDOR_PATTERN = '/^modules\/(?P<vendor>.+)\/.+/'; |
|
9 | 9 | |
10 | 10 | protected $locations = array( |
11 | 11 | 'module' => 'modules/{$name}/', |
@@ -13,47 +13,47 @@ discard block |
||
13 | 13 | 'out' => 'out/{$name}/', |
14 | 14 | ); |
15 | 15 | |
16 | - /** |
|
17 | - * getInstallPath |
|
18 | - * |
|
19 | - * @param PackageInterface $package |
|
20 | - * @param string $frameworkType |
|
21 | - * @return string |
|
22 | - */ |
|
23 | - public function getInstallPath(PackageInterface $package, $frameworkType = '') |
|
24 | - { |
|
25 | - $installPath = parent::getInstallPath($package, $frameworkType); |
|
26 | - $type = $this->package->getType(); |
|
27 | - if ($type === 'oxid-module') { |
|
28 | - $this->prepareVendorDirectory($installPath); |
|
29 | - } |
|
30 | - return $installPath; |
|
31 | - } |
|
16 | + /** |
|
17 | + * getInstallPath |
|
18 | + * |
|
19 | + * @param PackageInterface $package |
|
20 | + * @param string $frameworkType |
|
21 | + * @return string |
|
22 | + */ |
|
23 | + public function getInstallPath(PackageInterface $package, $frameworkType = '') |
|
24 | + { |
|
25 | + $installPath = parent::getInstallPath($package, $frameworkType); |
|
26 | + $type = $this->package->getType(); |
|
27 | + if ($type === 'oxid-module') { |
|
28 | + $this->prepareVendorDirectory($installPath); |
|
29 | + } |
|
30 | + return $installPath; |
|
31 | + } |
|
32 | 32 | |
33 | - /** |
|
34 | - * prepareVendorDirectory |
|
35 | - * |
|
36 | - * Makes sure there is a vendormetadata.php file inside |
|
37 | - * the vendor folder if there is a vendor folder. |
|
38 | - * |
|
39 | - * @param string $installPath |
|
40 | - * @return void |
|
41 | - */ |
|
42 | - protected function prepareVendorDirectory($installPath) |
|
43 | - { |
|
44 | - $matches = ''; |
|
45 | - $hasVendorDirectory = preg_match(self::VENDOR_PATTERN, $installPath, $matches); |
|
46 | - if (!$hasVendorDirectory) { |
|
47 | - return; |
|
48 | - } |
|
33 | + /** |
|
34 | + * prepareVendorDirectory |
|
35 | + * |
|
36 | + * Makes sure there is a vendormetadata.php file inside |
|
37 | + * the vendor folder if there is a vendor folder. |
|
38 | + * |
|
39 | + * @param string $installPath |
|
40 | + * @return void |
|
41 | + */ |
|
42 | + protected function prepareVendorDirectory($installPath) |
|
43 | + { |
|
44 | + $matches = ''; |
|
45 | + $hasVendorDirectory = preg_match(self::VENDOR_PATTERN, $installPath, $matches); |
|
46 | + if (!$hasVendorDirectory) { |
|
47 | + return; |
|
48 | + } |
|
49 | 49 | |
50 | - $vendorDirectory = $matches['vendor']; |
|
51 | - $vendorPath = getcwd() . '/modules/' . $vendorDirectory; |
|
52 | - if (!file_exists($vendorPath)) { |
|
53 | - mkdir($vendorPath, 0755, true); |
|
54 | - } |
|
50 | + $vendorDirectory = $matches['vendor']; |
|
51 | + $vendorPath = getcwd() . '/modules/' . $vendorDirectory; |
|
52 | + if (!file_exists($vendorPath)) { |
|
53 | + mkdir($vendorPath, 0755, true); |
|
54 | + } |
|
55 | 55 | |
56 | - $vendorMetaDataPath = $vendorPath . '/vendormetadata.php'; |
|
57 | - touch($vendorMetaDataPath); |
|
58 | - } |
|
56 | + $vendorMetaDataPath = $vendorPath . '/vendormetadata.php'; |
|
57 | + touch($vendorMetaDataPath); |
|
58 | + } |
|
59 | 59 | } |
@@ -34,11 +34,11 @@ discard block |
||
34 | 34 | */ |
35 | 35 | function wpinv_get_capability( $capalibilty = 'manage_invoicing' ) { |
36 | 36 | |
37 | - if ( current_user_can( 'manage_options' ) ) { |
|
38 | - return 'manage_options'; |
|
39 | - }; |
|
37 | + if ( current_user_can( 'manage_options' ) ) { |
|
38 | + return 'manage_options'; |
|
39 | + }; |
|
40 | 40 | |
41 | - return $capalibilty; |
|
41 | + return $capalibilty; |
|
42 | 42 | } |
43 | 43 | |
44 | 44 | /** |
@@ -62,10 +62,10 @@ discard block |
||
62 | 62 | // Prepare user values. |
63 | 63 | $prefix = preg_replace( '/\s+/', '', $prefix ); |
64 | 64 | $prefix = empty( $prefix ) ? $email : $prefix; |
65 | - $args = array( |
|
66 | - 'user_login' => wpinv_generate_user_name( $prefix ), |
|
67 | - 'user_pass' => wp_generate_password(), |
|
68 | - 'user_email' => $email, |
|
65 | + $args = array( |
|
66 | + 'user_login' => wpinv_generate_user_name( $prefix ), |
|
67 | + 'user_pass' => wp_generate_password(), |
|
68 | + 'user_email' => $email, |
|
69 | 69 | 'role' => 'subscriber', |
70 | 70 | ); |
71 | 71 | |
@@ -82,16 +82,16 @@ discard block |
||
82 | 82 | function wpinv_generate_user_name( $prefix = '' ) { |
83 | 83 | |
84 | 84 | // If prefix is an email, retrieve the part before the email. |
85 | - $prefix = strtok( $prefix, '@' ); |
|
85 | + $prefix = strtok( $prefix, '@' ); |
|
86 | 86 | $prefix = trim( $prefix, '.' ); |
87 | 87 | |
88 | - // Sanitize the username. |
|
89 | - $prefix = sanitize_user( $prefix, true ); |
|
88 | + // Sanitize the username. |
|
89 | + $prefix = sanitize_user( $prefix, true ); |
|
90 | 90 | |
91 | - $illegal_logins = (array) apply_filters( 'illegal_user_logins', array() ); |
|
92 | - if ( empty( $prefix ) || in_array( strtolower( $prefix ), array_map( 'strtolower', $illegal_logins ), true ) ) { |
|
93 | - $prefix = 'gtp_' . zeroise( wp_rand( 0, 9999 ), 4 ); |
|
94 | - } |
|
91 | + $illegal_logins = (array) apply_filters( 'illegal_user_logins', array() ); |
|
92 | + if ( empty( $prefix ) || in_array( strtolower( $prefix ), array_map( 'strtolower', $illegal_logins ), true ) ) { |
|
93 | + $prefix = 'gtp_' . zeroise( wp_rand( 0, 9999 ), 4 ); |
|
94 | + } |
|
95 | 95 | |
96 | 96 | $username = $prefix; |
97 | 97 | $postfix = 2; |
@@ -6,7 +6,7 @@ discard block |
||
6 | 6 | * @package GetPaid |
7 | 7 | */ |
8 | 8 | |
9 | -defined( 'ABSPATH' ) || exit; |
|
9 | +defined('ABSPATH') || exit; |
|
10 | 10 | |
11 | 11 | /** |
12 | 12 | * Generates a users select dropdown. |
@@ -16,13 +16,13 @@ discard block |
||
16 | 16 | * @param array $args |
17 | 17 | * @see wp_dropdown_users |
18 | 18 | */ |
19 | -function wpinv_dropdown_users( $args = '' ) { |
|
19 | +function wpinv_dropdown_users($args = '') { |
|
20 | 20 | |
21 | - if ( is_array( $args ) && ! empty( $args['show'] ) && 'display_name_with_email' == $args['show'] ) { |
|
21 | + if (is_array($args) && !empty($args['show']) && 'display_name_with_email' == $args['show']) { |
|
22 | 22 | $args['show'] = 'display_name_with_login'; |
23 | 23 | } |
24 | 24 | |
25 | - return wp_dropdown_users( $args ); |
|
25 | + return wp_dropdown_users($args); |
|
26 | 26 | } |
27 | 27 | |
28 | 28 | /** |
@@ -32,9 +32,9 @@ discard block |
||
32 | 32 | * @return string capability to check against |
33 | 33 | * @param string $capalibilty Optional. The alternative capability to check against. |
34 | 34 | */ |
35 | -function wpinv_get_capability( $capalibilty = 'manage_invoicing' ) { |
|
35 | +function wpinv_get_capability($capalibilty = 'manage_invoicing') { |
|
36 | 36 | |
37 | - if ( current_user_can( 'manage_options' ) ) { |
|
37 | + if (current_user_can('manage_options')) { |
|
38 | 38 | return 'manage_options'; |
39 | 39 | }; |
40 | 40 | |
@@ -48,7 +48,7 @@ discard block |
||
48 | 48 | * @return bool |
49 | 49 | */ |
50 | 50 | function wpinv_current_user_can_manage_invoicing() { |
51 | - return current_user_can( wpinv_get_capability() ); |
|
51 | + return current_user_can(wpinv_get_capability()); |
|
52 | 52 | } |
53 | 53 | |
54 | 54 | /** |
@@ -57,19 +57,19 @@ discard block |
||
57 | 57 | * @since 1.0.19 |
58 | 58 | * @return int|WP_Error |
59 | 59 | */ |
60 | -function wpinv_create_user( $email, $prefix = '' ) { |
|
60 | +function wpinv_create_user($email, $prefix = '') { |
|
61 | 61 | |
62 | 62 | // Prepare user values. |
63 | - $prefix = preg_replace( '/\s+/', '', $prefix ); |
|
64 | - $prefix = empty( $prefix ) ? $email : $prefix; |
|
65 | - $args = array( |
|
66 | - 'user_login' => wpinv_generate_user_name( $prefix ), |
|
63 | + $prefix = preg_replace('/\s+/', '', $prefix); |
|
64 | + $prefix = empty($prefix) ? $email : $prefix; |
|
65 | + $args = array( |
|
66 | + 'user_login' => wpinv_generate_user_name($prefix), |
|
67 | 67 | 'user_pass' => wp_generate_password(), |
68 | 68 | 'user_email' => $email, |
69 | 69 | 'role' => 'subscriber', |
70 | 70 | ); |
71 | 71 | |
72 | - return wp_insert_user( $args ); |
|
72 | + return wp_insert_user($args); |
|
73 | 73 | |
74 | 74 | } |
75 | 75 | |
@@ -79,26 +79,26 @@ discard block |
||
79 | 79 | * @since 1.0.19 |
80 | 80 | * @return bool|WP_User |
81 | 81 | */ |
82 | -function wpinv_generate_user_name( $prefix = '' ) { |
|
82 | +function wpinv_generate_user_name($prefix = '') { |
|
83 | 83 | |
84 | 84 | // If prefix is an email, retrieve the part before the email. |
85 | - $prefix = strtok( $prefix, '@' ); |
|
86 | - $prefix = trim( $prefix, '.' ); |
|
85 | + $prefix = strtok($prefix, '@'); |
|
86 | + $prefix = trim($prefix, '.'); |
|
87 | 87 | |
88 | 88 | // Sanitize the username. |
89 | - $prefix = sanitize_user( $prefix, true ); |
|
89 | + $prefix = sanitize_user($prefix, true); |
|
90 | 90 | |
91 | - $illegal_logins = (array) apply_filters( 'illegal_user_logins', array() ); |
|
92 | - if ( empty( $prefix ) || in_array( strtolower( $prefix ), array_map( 'strtolower', $illegal_logins ), true ) ) { |
|
93 | - $prefix = 'gtp_' . zeroise( wp_rand( 0, 9999 ), 4 ); |
|
91 | + $illegal_logins = (array) apply_filters('illegal_user_logins', array()); |
|
92 | + if (empty($prefix) || in_array(strtolower($prefix), array_map('strtolower', $illegal_logins), true)) { |
|
93 | + $prefix = 'gtp_' . zeroise(wp_rand(0, 9999), 4); |
|
94 | 94 | } |
95 | 95 | |
96 | 96 | $username = $prefix; |
97 | 97 | $postfix = 2; |
98 | 98 | |
99 | - while ( username_exists( $username ) ) { |
|
99 | + while (username_exists($username)) { |
|
100 | 100 | $username = $prefix + $postfix; |
101 | - $postfix ++; |
|
101 | + $postfix++; |
|
102 | 102 | } |
103 | 103 | |
104 | 104 | return $username; |
@@ -115,31 +115,31 @@ discard block |
||
115 | 115 | $tabs = array( |
116 | 116 | |
117 | 117 | 'gp-invoices' => array( |
118 | - 'label' => __( 'Invoices', 'invoicing' ), // Name of the tab. |
|
118 | + 'label' => __('Invoices', 'invoicing'), // Name of the tab. |
|
119 | 119 | 'content' => '[wpinv_history]', // Content of the tab. Or specify "callback" to provide a callback instead. |
120 | 120 | 'icon' => 'fas fa-file-invoice', // Shown on some profile plugins. |
121 | 121 | ), |
122 | 122 | |
123 | 123 | 'gp-subscriptions' => array( |
124 | - 'label' => __( 'Subscriptions', 'invoicing' ), |
|
124 | + 'label' => __('Subscriptions', 'invoicing'), |
|
125 | 125 | 'content' => '[wpinv_subscriptions]', |
126 | 126 | 'icon' => 'fas fa-redo', |
127 | 127 | ), |
128 | 128 | |
129 | 129 | 'gp-edit-address' => array( |
130 | - 'label' => __( 'Billing Address', 'invoicing' ), |
|
130 | + 'label' => __('Billing Address', 'invoicing'), |
|
131 | 131 | 'callback' => 'getpaid_display_address_edit_tab', |
132 | 132 | 'icon' => 'fas fa-credit-card', |
133 | 133 | ), |
134 | 134 | |
135 | 135 | ); |
136 | 136 | |
137 | - $tabs = apply_filters( 'getpaid_user_content_tabs', $tabs ); |
|
137 | + $tabs = apply_filters('getpaid_user_content_tabs', $tabs); |
|
138 | 138 | |
139 | 139 | // Make sure address editing is last on the list. |
140 | - if ( isset( $tabs['gp-edit-address'] ) ) { |
|
140 | + if (isset($tabs['gp-edit-address'])) { |
|
141 | 141 | $address = $tabs['gp-edit-address']; |
142 | - unset( $tabs['gp-edit-address'] ); |
|
142 | + unset($tabs['gp-edit-address']); |
|
143 | 143 | $tabs['gp-edit-address'] = $address; |
144 | 144 | } |
145 | 145 | |
@@ -153,19 +153,19 @@ discard block |
||
153 | 153 | * @param array $tab |
154 | 154 | * @return array |
155 | 155 | */ |
156 | -function getpaid_prepare_user_content_tab( $tab ) { |
|
156 | +function getpaid_prepare_user_content_tab($tab) { |
|
157 | 157 | |
158 | - if ( ! empty( $tab['callback'] ) ) { |
|
159 | - return call_user_func( $tab['callback'] ); |
|
158 | + if (!empty($tab['callback'])) { |
|
159 | + return call_user_func($tab['callback']); |
|
160 | 160 | } |
161 | 161 | |
162 | - if ( ! empty( $tab['content'] ) ) { |
|
163 | - return convert_smilies( capital_P_dangit( wp_filter_content_tags( do_shortcode( shortcode_unautop( wpautop( wptexturize( do_blocks( $tab['content'] ) ) ) ) ) ) ) ); |
|
162 | + if (!empty($tab['content'])) { |
|
163 | + return convert_smilies(capital_P_dangit(wp_filter_content_tags(do_shortcode(shortcode_unautop(wpautop(wptexturize(do_blocks($tab['content'])))))))); |
|
164 | 164 | } |
165 | 165 | |
166 | 166 | $notice = aui()->alert( |
167 | 167 | array( |
168 | - 'content' => __( 'This tab has no content or content callback.', 'invoicing' ), |
|
168 | + 'content' => __('This tab has no content or content callback.', 'invoicing'), |
|
169 | 169 | 'type' => 'error', |
170 | 170 | ) |
171 | 171 | ); |
@@ -181,14 +181,14 @@ discard block |
||
181 | 181 | * @param string $default |
182 | 182 | * @return array |
183 | 183 | */ |
184 | -function getpaid_get_tab_url( $tab, $default ) { |
|
184 | +function getpaid_get_tab_url($tab, $default) { |
|
185 | 185 | global $getpaid_tab_url; |
186 | 186 | |
187 | - if ( empty( $getpaid_tab_url ) ) { |
|
187 | + if (empty($getpaid_tab_url)) { |
|
188 | 188 | return $default; |
189 | 189 | } |
190 | 190 | |
191 | - return sprintf( $getpaid_tab_url, $tab ); |
|
191 | + return sprintf($getpaid_tab_url, $tab); |
|
192 | 192 | |
193 | 193 | } |
194 | 194 | |
@@ -208,19 +208,19 @@ discard block |
||
208 | 208 | |
209 | 209 | <?php |
210 | 210 | |
211 | - foreach ( getpaid_user_address_fields() as $key => $label ) { |
|
211 | + foreach (getpaid_user_address_fields() as $key => $label) { |
|
212 | 212 | |
213 | 213 | // Display the country. |
214 | - if ( 'country' == $key ) { |
|
214 | + if ('country' == $key) { |
|
215 | 215 | |
216 | 216 | echo aui()->select( |
217 | 217 | array( |
218 | 218 | 'options' => wpinv_get_country_list(), |
219 | - 'name' => 'getpaid_address[' . esc_attr( $key ) . ']', |
|
220 | - 'id' => 'wpinv-' . sanitize_html_class( $key ), |
|
221 | - 'value' => sanitize_text_field( getpaid_get_user_address_field( get_current_user_id(), $key ) ), |
|
219 | + 'name' => 'getpaid_address[' . esc_attr($key) . ']', |
|
220 | + 'id' => 'wpinv-' . sanitize_html_class($key), |
|
221 | + 'value' => sanitize_text_field(getpaid_get_user_address_field(get_current_user_id(), $key)), |
|
222 | 222 | 'placeholder' => $label, |
223 | - 'label' => wp_kses_post( $label ), |
|
223 | + 'label' => wp_kses_post($label), |
|
224 | 224 | 'label_type' => 'vertical', |
225 | 225 | 'class' => 'getpaid-address-field', |
226 | 226 | ) |
@@ -229,30 +229,30 @@ discard block |
||
229 | 229 | } |
230 | 230 | |
231 | 231 | // Display the state. |
232 | - else if ( 'state' == $key ) { |
|
232 | + else if ('state' == $key) { |
|
233 | 233 | |
234 | - echo getpaid_get_states_select_markup ( |
|
235 | - getpaid_get_user_address_field( get_current_user_id(), 'country' ), |
|
236 | - getpaid_get_user_address_field( get_current_user_id(), 'state' ), |
|
234 | + echo getpaid_get_states_select_markup( |
|
235 | + getpaid_get_user_address_field(get_current_user_id(), 'country'), |
|
236 | + getpaid_get_user_address_field(get_current_user_id(), 'state'), |
|
237 | 237 | $label, |
238 | 238 | $label, |
239 | 239 | '', |
240 | 240 | false, |
241 | 241 | '', |
242 | - 'getpaid_address[' . esc_attr( $key ) . ']' |
|
242 | + 'getpaid_address[' . esc_attr($key) . ']' |
|
243 | 243 | ); |
244 | 244 | |
245 | 245 | } else { |
246 | 246 | |
247 | 247 | echo aui()->input( |
248 | 248 | array( |
249 | - 'name' => 'getpaid_address[' . esc_attr( $key ) . ']', |
|
250 | - 'id' => 'wpinv-' . sanitize_html_class( $key ), |
|
249 | + 'name' => 'getpaid_address[' . esc_attr($key) . ']', |
|
250 | + 'id' => 'wpinv-' . sanitize_html_class($key), |
|
251 | 251 | 'placeholder' => $label, |
252 | - 'label' => wp_kses_post( $label ), |
|
252 | + 'label' => wp_kses_post($label), |
|
253 | 253 | 'label_type' => 'vertical', |
254 | 254 | 'type' => 'text', |
255 | - 'value' => sanitize_text_field( getpaid_get_user_address_field( get_current_user_id(), $key ) ), |
|
255 | + 'value' => sanitize_text_field(getpaid_get_user_address_field(get_current_user_id(), $key)), |
|
256 | 256 | 'class' => 'getpaid-address-field', |
257 | 257 | ) |
258 | 258 | ); |
@@ -266,30 +266,30 @@ discard block |
||
266 | 266 | 'name' => 'getpaid_address[email_cc]', |
267 | 267 | 'id' => 'wpinv-email_cc', |
268 | 268 | 'placeholder' => '[email protected], [email protected]', |
269 | - 'label' => __( 'Other email addresses', 'invoicing' ), |
|
269 | + 'label' => __('Other email addresses', 'invoicing'), |
|
270 | 270 | 'label_type' => 'vertical', |
271 | 271 | 'type' => 'text', |
272 | - 'value' => sanitize_text_field( get_user_meta( get_current_user_id(), '_wpinv_email_cc', true ) ), |
|
272 | + 'value' => sanitize_text_field(get_user_meta(get_current_user_id(), '_wpinv_email_cc', true)), |
|
273 | 273 | 'class' => 'getpaid-address-field', |
274 | - 'help_text' => __( 'Optionally provide other email addresses where we should send payment notifications', 'invoicing' ), |
|
274 | + 'help_text' => __('Optionally provide other email addresses where we should send payment notifications', 'invoicing'), |
|
275 | 275 | ) |
276 | 276 | ); |
277 | 277 | |
278 | - do_action( 'getpaid_display_address_edit_tab' ); |
|
278 | + do_action('getpaid_display_address_edit_tab'); |
|
279 | 279 | |
280 | 280 | echo aui()->input( |
281 | 281 | array( |
282 | 282 | 'name' => 'getpaid_profile_edit_submit_button', |
283 | 283 | 'id' => 'getpaid_profile_edit_submit_button', |
284 | - 'value' => __( 'Save Address', 'invoicing' ), |
|
285 | - 'help_text' => __( 'New invoices will use this address as the billing address.', 'invoicing' ), |
|
284 | + 'value' => __('Save Address', 'invoicing'), |
|
285 | + 'help_text' => __('New invoices will use this address as the billing address.', 'invoicing'), |
|
286 | 286 | 'type' => 'submit', |
287 | 287 | 'class' => 'btn btn-primary btn-block submit-button', |
288 | 288 | ) |
289 | 289 | ); |
290 | 290 | |
291 | - wp_nonce_field( 'getpaid-nonce', 'getpaid-nonce' ); |
|
292 | - getpaid_hidden_field( 'getpaid-action', 'edit_billing_details' ); |
|
291 | + wp_nonce_field('getpaid-nonce', 'getpaid-nonce'); |
|
292 | + getpaid_hidden_field('getpaid-action', 'edit_billing_details'); |
|
293 | 293 | ?> |
294 | 294 | |
295 | 295 | </form> |
@@ -306,31 +306,31 @@ discard block |
||
306 | 306 | * @since 2.1.4 |
307 | 307 | * @param array $data |
308 | 308 | */ |
309 | -function getpaid_save_address_edit_tab( $data ) { |
|
309 | +function getpaid_save_address_edit_tab($data) { |
|
310 | 310 | |
311 | - if ( empty( $data['getpaid_address'] ) || ! is_array( $data['getpaid_address'] ) ) { |
|
311 | + if (empty($data['getpaid_address']) || !is_array($data['getpaid_address'])) { |
|
312 | 312 | return; |
313 | 313 | } |
314 | 314 | |
315 | 315 | $data = $data['getpaid_address']; |
316 | 316 | $user_id = get_current_user_id(); |
317 | 317 | |
318 | - foreach ( array_keys( getpaid_user_address_fields() ) as $field ) { |
|
318 | + foreach (array_keys(getpaid_user_address_fields()) as $field) { |
|
319 | 319 | |
320 | - if ( isset( $data[ $field ] ) ) { |
|
321 | - $value = sanitize_text_field( $data[ $field ] ); |
|
322 | - update_user_meta( $user_id, '_wpinv_' . $field, $value ); |
|
320 | + if (isset($data[$field])) { |
|
321 | + $value = sanitize_text_field($data[$field]); |
|
322 | + update_user_meta($user_id, '_wpinv_' . $field, $value); |
|
323 | 323 | } |
324 | 324 | |
325 | 325 | } |
326 | 326 | |
327 | - if ( isset( $data['email_cc'] ) ) { |
|
328 | - update_user_meta( $user_id, '_wpinv_email_cc', sanitize_text_field( $data['email_cc'] ) ); |
|
327 | + if (isset($data['email_cc'])) { |
|
328 | + update_user_meta($user_id, '_wpinv_email_cc', sanitize_text_field($data['email_cc'])); |
|
329 | 329 | } |
330 | 330 | |
331 | - wpinv_set_error( 'address_updated', __( 'Your billing address has been updated', 'invoicing' ), 'success'); |
|
331 | + wpinv_set_error('address_updated', __('Your billing address has been updated', 'invoicing'), 'success'); |
|
332 | 332 | } |
333 | -add_action( 'getpaid_authenticated_action_edit_billing_details', 'getpaid_save_address_edit_tab' ); |
|
333 | +add_action('getpaid_authenticated_action_edit_billing_details', 'getpaid_save_address_edit_tab'); |
|
334 | 334 | |
335 | 335 | |
336 | 336 | /* |
@@ -348,27 +348,27 @@ discard block |
||
348 | 348 | * @param array $tabs |
349 | 349 | * @return array |
350 | 350 | */ |
351 | -function getpaid_filter_userswp_account_tabs( $tabs ) { |
|
351 | +function getpaid_filter_userswp_account_tabs($tabs) { |
|
352 | 352 | |
353 | 353 | // Abort if the integration is inactive. |
354 | - if ( ! getpaid_is_userswp_integration_active() ) { |
|
354 | + if (!getpaid_is_userswp_integration_active()) { |
|
355 | 355 | return $tabs; |
356 | 356 | } |
357 | 357 | |
358 | - $new_tabs = array(); |
|
358 | + $new_tabs = array(); |
|
359 | 359 | |
360 | - foreach ( getpaid_get_user_content_tabs() as $slug => $tab ) { |
|
360 | + foreach (getpaid_get_user_content_tabs() as $slug => $tab) { |
|
361 | 361 | |
362 | - $new_tabs[ $slug ] = array( |
|
363 | - 'title' => $tab[ 'label'], |
|
364 | - 'icon' => $tab[ 'icon'], |
|
362 | + $new_tabs[$slug] = array( |
|
363 | + 'title' => $tab['label'], |
|
364 | + 'icon' => $tab['icon'], |
|
365 | 365 | ); |
366 | 366 | |
367 | 367 | } |
368 | 368 | |
369 | - return array_merge( $tabs, $new_tabs ); |
|
369 | + return array_merge($tabs, $new_tabs); |
|
370 | 370 | } |
371 | -add_filter( 'uwp_account_available_tabs', 'getpaid_filter_userswp_account_tabs' ); |
|
371 | +add_filter('uwp_account_available_tabs', 'getpaid_filter_userswp_account_tabs'); |
|
372 | 372 | |
373 | 373 | /** |
374 | 374 | * Display our UsersWP account tabs. |
@@ -377,18 +377,18 @@ discard block |
||
377 | 377 | * @param array $tabs |
378 | 378 | * @return array |
379 | 379 | */ |
380 | -function getpaid_display_userswp_account_tabs( $tab ) { |
|
380 | +function getpaid_display_userswp_account_tabs($tab) { |
|
381 | 381 | global $getpaid_tab_url; |
382 | 382 | |
383 | 383 | $our_tabs = getpaid_get_user_content_tabs(); |
384 | 384 | |
385 | - if ( getpaid_is_userswp_integration_active() && isset( $our_tabs[ $tab ] ) ) { |
|
386 | - $getpaid_tab_url = add_query_arg( 'type', '%s', uwp_get_account_page_url() ); |
|
387 | - echo getpaid_prepare_user_content_tab( $our_tabs[ $tab ] ); |
|
385 | + if (getpaid_is_userswp_integration_active() && isset($our_tabs[$tab])) { |
|
386 | + $getpaid_tab_url = add_query_arg('type', '%s', uwp_get_account_page_url()); |
|
387 | + echo getpaid_prepare_user_content_tab($our_tabs[$tab]); |
|
388 | 388 | } |
389 | 389 | |
390 | 390 | } |
391 | -add_action( 'uwp_account_form_display', 'getpaid_display_userswp_account_tabs' ); |
|
391 | +add_action('uwp_account_form_display', 'getpaid_display_userswp_account_tabs'); |
|
392 | 392 | |
393 | 393 | |
394 | 394 | /** |
@@ -399,17 +399,17 @@ discard block |
||
399 | 399 | * @param string $tab Current tab. |
400 | 400 | * @return string Title. |
401 | 401 | */ |
402 | -function getpaid_filter_userswp_account_title( $title, $tab ) { |
|
402 | +function getpaid_filter_userswp_account_title($title, $tab) { |
|
403 | 403 | |
404 | - $our_tabs = getpaid_get_user_content_tabs(); |
|
404 | + $our_tabs = getpaid_get_user_content_tabs(); |
|
405 | 405 | |
406 | - if ( getpaid_is_userswp_integration_active() && isset( $our_tabs[ $tab ] ) ) { |
|
407 | - return $our_tabs[ $tab ]['label']; |
|
406 | + if (getpaid_is_userswp_integration_active() && isset($our_tabs[$tab])) { |
|
407 | + return $our_tabs[$tab]['label']; |
|
408 | 408 | } |
409 | 409 | |
410 | 410 | return $title; |
411 | 411 | } |
412 | -add_filter( 'uwp_account_page_title', 'getpaid_filter_userswp_account_title', 10, 2 ); |
|
412 | +add_filter('uwp_account_page_title', 'getpaid_filter_userswp_account_title', 10, 2); |
|
413 | 413 | |
414 | 414 | /** |
415 | 415 | * Registers the UsersWP integration settings. |
@@ -418,26 +418,26 @@ discard block |
||
418 | 418 | * @param array $settings An array of integration settings. |
419 | 419 | * @return array |
420 | 420 | */ |
421 | -function getpaid_register_userswp_settings( $settings ) { |
|
421 | +function getpaid_register_userswp_settings($settings) { |
|
422 | 422 | |
423 | - if ( defined( 'USERSWP_PLUGIN_FILE' ) ) { |
|
423 | + if (defined('USERSWP_PLUGIN_FILE')) { |
|
424 | 424 | |
425 | 425 | $settings[] = array( |
426 | 426 | |
427 | 427 | 'id' => 'userswp', |
428 | - 'label' => __( 'UsersWP', 'invoicing' ), |
|
428 | + 'label' => __('UsersWP', 'invoicing'), |
|
429 | 429 | 'settings' => array( |
430 | 430 | |
431 | 431 | 'userswp_settings' => array( |
432 | 432 | 'id' => 'userswp_settings', |
433 | - 'name' => '<h3>' . __( 'UsersWP', 'invoicing' ) . '</h3>', |
|
433 | + 'name' => '<h3>' . __('UsersWP', 'invoicing') . '</h3>', |
|
434 | 434 | 'type' => 'header', |
435 | 435 | ), |
436 | 436 | |
437 | 437 | 'enable_userswp' => array( |
438 | 438 | 'id' => 'enable_userswp', |
439 | - 'name' => __( 'Enable Integration', 'invoicing' ), |
|
440 | - 'desc' => __( 'Display GetPaid items on UsersWP account page.', 'invoicing' ), |
|
439 | + 'name' => __('Enable Integration', 'invoicing'), |
|
440 | + 'desc' => __('Display GetPaid items on UsersWP account page.', 'invoicing'), |
|
441 | 441 | 'type' => 'checkbox', |
442 | 442 | 'std' => 1, |
443 | 443 | ) |
@@ -450,7 +450,7 @@ discard block |
||
450 | 450 | |
451 | 451 | return $settings; |
452 | 452 | } |
453 | -add_filter( 'getpaid_integration_settings', 'getpaid_register_userswp_settings' ); |
|
453 | +add_filter('getpaid_integration_settings', 'getpaid_register_userswp_settings'); |
|
454 | 454 | |
455 | 455 | /** |
456 | 456 | * Ovewrites the invoices history page to UsersWP. |
@@ -458,18 +458,18 @@ discard block |
||
458 | 458 | * @since 2.3.1 |
459 | 459 | * @return bool |
460 | 460 | */ |
461 | -function getpaid_userswp_overwrite_invoice_history_page( $url, $post_type ) { |
|
461 | +function getpaid_userswp_overwrite_invoice_history_page($url, $post_type) { |
|
462 | 462 | |
463 | 463 | $our_tabs = getpaid_get_user_content_tabs(); |
464 | 464 | $tab = "gp-{$post_type}s"; |
465 | - if ( getpaid_is_userswp_integration_active() && isset( $our_tabs[ $tab ] ) ) { |
|
466 | - return add_query_arg( 'type', $tab, uwp_get_account_page_url() ); |
|
465 | + if (getpaid_is_userswp_integration_active() && isset($our_tabs[$tab])) { |
|
466 | + return add_query_arg('type', $tab, uwp_get_account_page_url()); |
|
467 | 467 | } |
468 | 468 | |
469 | 469 | return $url; |
470 | 470 | |
471 | 471 | } |
472 | -add_filter( 'wpinv_get_history_page_uri', 'getpaid_userswp_overwrite_invoice_history_page', 10, 2 ); |
|
472 | +add_filter('wpinv_get_history_page_uri', 'getpaid_userswp_overwrite_invoice_history_page', 10, 2); |
|
473 | 473 | |
474 | 474 | /** |
475 | 475 | * Checks if the integration is enabled. |
@@ -478,8 +478,8 @@ discard block |
||
478 | 478 | * @return bool |
479 | 479 | */ |
480 | 480 | function getpaid_is_userswp_integration_active() { |
481 | - $enabled = wpinv_get_option( 'enable_userswp', 1 ); |
|
482 | - return defined( 'USERSWP_PLUGIN_FILE' ) && ! empty( $enabled ); |
|
481 | + $enabled = wpinv_get_option('enable_userswp', 1); |
|
482 | + return defined('USERSWP_PLUGIN_FILE') && !empty($enabled); |
|
483 | 483 | } |
484 | 484 | |
485 | 485 | /* |
@@ -497,26 +497,26 @@ discard block |
||
497 | 497 | * @param array $settings An array of integration settings. |
498 | 498 | * @return array |
499 | 499 | */ |
500 | -function getpaid_register_buddypress_settings( $settings ) { |
|
500 | +function getpaid_register_buddypress_settings($settings) { |
|
501 | 501 | |
502 | - if ( class_exists( 'BuddyPress' ) ) { |
|
502 | + if (class_exists('BuddyPress')) { |
|
503 | 503 | |
504 | 504 | $settings[] = array( |
505 | 505 | |
506 | 506 | 'id' => 'buddypress', |
507 | - 'label' => __( 'BuddyPress', 'invoicing' ), |
|
507 | + 'label' => __('BuddyPress', 'invoicing'), |
|
508 | 508 | 'settings' => array( |
509 | 509 | |
510 | 510 | 'buddypress_settings' => array( |
511 | 511 | 'id' => 'buddypress_settings', |
512 | - 'name' => '<h3>' . __( 'BuddyPress', 'invoicing' ) . '</h3>', |
|
512 | + 'name' => '<h3>' . __('BuddyPress', 'invoicing') . '</h3>', |
|
513 | 513 | 'type' => 'header', |
514 | 514 | ), |
515 | 515 | |
516 | 516 | 'enable_buddypress' => array( |
517 | 517 | 'id' => 'enable_buddypress', |
518 | - 'name' => __( 'Enable Integration', 'invoicing' ), |
|
519 | - 'desc' => __( 'Display GetPaid items on BuddyPress account pages.', 'invoicing' ), |
|
518 | + 'name' => __('Enable Integration', 'invoicing'), |
|
519 | + 'desc' => __('Display GetPaid items on BuddyPress account pages.', 'invoicing'), |
|
520 | 520 | 'type' => 'checkbox', |
521 | 521 | 'std' => 1, |
522 | 522 | ) |
@@ -529,7 +529,7 @@ discard block |
||
529 | 529 | |
530 | 530 | return $settings; |
531 | 531 | } |
532 | -add_filter( 'getpaid_integration_settings', 'getpaid_register_buddypress_settings' ); |
|
532 | +add_filter('getpaid_integration_settings', 'getpaid_register_buddypress_settings'); |
|
533 | 533 | |
534 | 534 | /** |
535 | 535 | * Checks if the integration is enabled. |
@@ -538,8 +538,8 @@ discard block |
||
538 | 538 | * @return bool |
539 | 539 | */ |
540 | 540 | function getpaid_is_buddypress_integration_active() { |
541 | - $enabled = wpinv_get_option( 'enable_buddypress', 1 ); |
|
542 | - return class_exists( 'BuddyPress' ) && ! empty( $enabled ); |
|
541 | + $enabled = wpinv_get_option('enable_buddypress', 1); |
|
542 | + return class_exists('BuddyPress') && !empty($enabled); |
|
543 | 543 | } |
544 | 544 | |
545 | 545 | /** |
@@ -550,10 +550,10 @@ discard block |
||
550 | 550 | */ |
551 | 551 | function getpaid_setup_buddypress_integration() { |
552 | 552 | |
553 | - if ( getpaid_is_buddypress_integration_active() ) { |
|
554 | - require_once( WPINV_PLUGIN_DIR . 'includes/class-bp-getpaid-component.php' ); |
|
553 | + if (getpaid_is_buddypress_integration_active()) { |
|
554 | + require_once(WPINV_PLUGIN_DIR . 'includes/class-bp-getpaid-component.php'); |
|
555 | 555 | buddypress()->getpaid = new BP_GetPaid_Component(); |
556 | 556 | } |
557 | 557 | |
558 | 558 | } |
559 | -add_action( 'bp_setup_components', 'getpaid_setup_buddypress_integration' ); |
|
559 | +add_action('bp_setup_components', 'getpaid_setup_buddypress_integration'); |
@@ -13,30 +13,30 @@ discard block |
||
13 | 13 | class GetPaid_Bank_Transfer_Gateway extends GetPaid_Payment_Gateway { |
14 | 14 | |
15 | 15 | /** |
16 | - * Payment method id. |
|
17 | - * |
|
18 | - * @var string |
|
19 | - */ |
|
16 | + * Payment method id. |
|
17 | + * |
|
18 | + * @var string |
|
19 | + */ |
|
20 | 20 | public $id = 'bank_transfer'; |
21 | 21 | |
22 | - /** |
|
23 | - * An array of features that this gateway supports. |
|
24 | - * |
|
25 | - * @var array |
|
26 | - */ |
|
27 | - protected $supports = array( 'addons' ); |
|
22 | + /** |
|
23 | + * An array of features that this gateway supports. |
|
24 | + * |
|
25 | + * @var array |
|
26 | + */ |
|
27 | + protected $supports = array( 'addons' ); |
|
28 | 28 | |
29 | 29 | /** |
30 | - * Payment method order. |
|
31 | - * |
|
32 | - * @var int |
|
33 | - */ |
|
34 | - public $order = 8; |
|
30 | + * Payment method order. |
|
31 | + * |
|
32 | + * @var int |
|
33 | + */ |
|
34 | + public $order = 8; |
|
35 | 35 | |
36 | 36 | /** |
37 | - * Class constructor. |
|
38 | - */ |
|
39 | - public function __construct() { |
|
37 | + * Class constructor. |
|
38 | + */ |
|
39 | + public function __construct() { |
|
40 | 40 | parent::__construct(); |
41 | 41 | |
42 | 42 | $this->title = __( 'Direct bank transfer', 'invoicing' ); |
@@ -44,23 +44,23 @@ discard block |
||
44 | 44 | $this->checkout_button_text = __( 'Proceed', 'invoicing' ); |
45 | 45 | $this->instructions = apply_filters( 'wpinv_bank_instructions', $this->get_option( 'info' ) ); |
46 | 46 | |
47 | - add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) ); |
|
48 | - add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 ); |
|
49 | - add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 ); |
|
50 | - add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 ); |
|
47 | + add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) ); |
|
48 | + add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 ); |
|
49 | + add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 ); |
|
50 | + add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 ); |
|
51 | 51 | |
52 | 52 | } |
53 | 53 | |
54 | 54 | /** |
55 | - * Process Payment. |
|
56 | - * |
|
57 | - * |
|
58 | - * @param WPInv_Invoice $invoice Invoice. |
|
59 | - * @param array $submission_data Posted checkout fields. |
|
60 | - * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
|
61 | - * @return array |
|
62 | - */ |
|
63 | - public function process_payment( $invoice, $submission_data, $submission ) { |
|
55 | + * Process Payment. |
|
56 | + * |
|
57 | + * |
|
58 | + * @param WPInv_Invoice $invoice Invoice. |
|
59 | + * @param array $submission_data Posted checkout fields. |
|
60 | + * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
|
61 | + * @return array |
|
62 | + */ |
|
63 | + public function process_payment( $invoice, $submission_data, $submission ) { |
|
64 | 64 | |
65 | 65 | // Add a transaction id. |
66 | 66 | $invoice->set_transaction_id( $invoice->generate_key('trans_') ); |
@@ -81,66 +81,66 @@ discard block |
||
81 | 81 | } |
82 | 82 | |
83 | 83 | /** |
84 | - * Output for the order received page. |
|
85 | - * |
|
86 | - * @param WPInv_Invoice $invoice Invoice. |
|
87 | - */ |
|
88 | - public function thankyou_page( $invoice ) { |
|
84 | + * Output for the order received page. |
|
85 | + * |
|
86 | + * @param WPInv_Invoice $invoice Invoice. |
|
87 | + */ |
|
88 | + public function thankyou_page( $invoice ) { |
|
89 | 89 | |
90 | 90 | if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
91 | 91 | |
92 | - echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL; |
|
92 | + echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL; |
|
93 | 93 | |
94 | 94 | if ( ! empty( $this->instructions ) ) { |
95 | 95 | echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) ); |
96 | - } |
|
96 | + } |
|
97 | 97 | |
98 | - $this->bank_details( $invoice ); |
|
98 | + $this->bank_details( $invoice ); |
|
99 | 99 | |
100 | - echo '</div>'; |
|
100 | + echo '</div>'; |
|
101 | 101 | |
102 | 102 | } |
103 | 103 | |
104 | - } |
|
104 | + } |
|
105 | 105 | |
106 | 106 | /** |
107 | - * Add content to the WPI emails. |
|
108 | - * |
|
109 | - * @param WPInv_Invoice $invoice Invoice. |
|
110 | - * @param string $email_type Email format: plain text or HTML. |
|
111 | - * @param bool $sent_to_admin Sent to admin. |
|
112 | - */ |
|
113 | - public function email_instructions( $invoice, $email_type, $sent_to_admin ) { |
|
107 | + * Add content to the WPI emails. |
|
108 | + * |
|
109 | + * @param WPInv_Invoice $invoice Invoice. |
|
110 | + * @param string $email_type Email format: plain text or HTML. |
|
111 | + * @param bool $sent_to_admin Sent to admin. |
|
112 | + */ |
|
113 | + public function email_instructions( $invoice, $email_type, $sent_to_admin ) { |
|
114 | 114 | |
115 | - if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
|
115 | + if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
|
116 | 116 | |
117 | - echo '<div class="wpi-email-row getpaid-bank-transfer-details">'; |
|
117 | + echo '<div class="wpi-email-row getpaid-bank-transfer-details">'; |
|
118 | 118 | |
119 | - if ( $this->instructions ) { |
|
120 | - echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL ); |
|
119 | + if ( $this->instructions ) { |
|
120 | + echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL ); |
|
121 | 121 | } |
122 | 122 | |
123 | - $this->bank_details( $invoice ); |
|
123 | + $this->bank_details( $invoice ); |
|
124 | 124 | |
125 | - echo '</div>'; |
|
125 | + echo '</div>'; |
|
126 | 126 | |
127 | - } |
|
127 | + } |
|
128 | 128 | |
129 | 129 | } |
130 | 130 | |
131 | 131 | /** |
132 | - * Get bank details and place into a list format. |
|
133 | - * |
|
134 | - * @param WPInv_Invoice $invoice Invoice. |
|
135 | - */ |
|
136 | - protected function bank_details( $invoice ) { |
|
132 | + * Get bank details and place into a list format. |
|
133 | + * |
|
134 | + * @param WPInv_Invoice $invoice Invoice. |
|
135 | + */ |
|
136 | + protected function bank_details( $invoice ) { |
|
137 | 137 | |
138 | - // Get the invoice country and country $locale. |
|
139 | - $country = $invoice->get_country(); |
|
140 | - $locale = $this->get_country_locale(); |
|
138 | + // Get the invoice country and country $locale. |
|
139 | + $country = $invoice->get_country(); |
|
140 | + $locale = $this->get_country_locale(); |
|
141 | 141 | |
142 | - // Get sortcode label in the $locale array and use appropriate one. |
|
143 | - $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
142 | + // Get sortcode label in the $locale array and use appropriate one. |
|
143 | + $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
144 | 144 | |
145 | 145 | $bank_fields = array( |
146 | 146 | 'ac_name' => __( 'Account Name', 'invoicing' ), |
@@ -169,144 +169,144 @@ discard block |
||
169 | 169 | return; |
170 | 170 | } |
171 | 171 | |
172 | - echo '<h3 class="getpaid-bank-transfer-title"> ' . apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ) ) . '</h3>' . PHP_EOL; |
|
172 | + echo '<h3 class="getpaid-bank-transfer-title"> ' . apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ) ) . '</h3>' . PHP_EOL; |
|
173 | 173 | |
174 | - echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL; |
|
174 | + echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL; |
|
175 | 175 | |
176 | - foreach ( $bank_info as $key => $data ) { |
|
176 | + foreach ( $bank_info as $key => $data ) { |
|
177 | 177 | |
178 | - $key = sanitize_html_class( $key ); |
|
179 | - $label = wp_kses_post( $data['label'] ); |
|
180 | - $value = wp_kses_post( wptexturize( $data['value'] ) ); |
|
178 | + $key = sanitize_html_class( $key ); |
|
179 | + $label = wp_kses_post( $data['label'] ); |
|
180 | + $value = wp_kses_post( wptexturize( $data['value'] ) ); |
|
181 | 181 | |
182 | - echo "<tr class='getpaid-bank-transfer-$key'><th class='font-weight-bold'>$label</th><td class='w-75'>$value</td></tr>" . PHP_EOL; |
|
183 | - } |
|
182 | + echo "<tr class='getpaid-bank-transfer-$key'><th class='font-weight-bold'>$label</th><td class='w-75'>$value</td></tr>" . PHP_EOL; |
|
183 | + } |
|
184 | 184 | |
185 | - echo '</table>'; |
|
185 | + echo '</table>'; |
|
186 | 186 | |
187 | 187 | } |
188 | 188 | |
189 | 189 | /** |
190 | - * Get country locale if localized. |
|
191 | - * |
|
192 | - * @return array |
|
193 | - */ |
|
194 | - public function get_country_locale() { |
|
195 | - |
|
196 | - if ( empty( $this->locale ) ) { |
|
197 | - |
|
198 | - // Locale information to be used - only those that are not 'Sort Code'. |
|
199 | - $this->locale = apply_filters( |
|
200 | - 'getpaid_get_bank_transfer_locale', |
|
201 | - array( |
|
202 | - 'AU' => array( |
|
203 | - 'sortcode' => array( |
|
204 | - 'label' => __( 'BSB', 'invoicing' ), |
|
205 | - ), |
|
206 | - ), |
|
207 | - 'CA' => array( |
|
208 | - 'sortcode' => array( |
|
209 | - 'label' => __( 'Bank transit number', 'invoicing' ), |
|
210 | - ), |
|
211 | - ), |
|
212 | - 'IN' => array( |
|
213 | - 'sortcode' => array( |
|
214 | - 'label' => __( 'IFSC', 'invoicing' ), |
|
215 | - ), |
|
216 | - ), |
|
217 | - 'IT' => array( |
|
218 | - 'sortcode' => array( |
|
219 | - 'label' => __( 'Branch sort', 'invoicing' ), |
|
220 | - ), |
|
221 | - ), |
|
222 | - 'NZ' => array( |
|
223 | - 'sortcode' => array( |
|
224 | - 'label' => __( 'Bank code', 'invoicing' ), |
|
225 | - ), |
|
226 | - ), |
|
227 | - 'SE' => array( |
|
228 | - 'sortcode' => array( |
|
229 | - 'label' => __( 'Bank code', 'invoicing' ), |
|
230 | - ), |
|
231 | - ), |
|
232 | - 'US' => array( |
|
233 | - 'sortcode' => array( |
|
234 | - 'label' => __( 'Routing number', 'invoicing' ), |
|
235 | - ), |
|
236 | - ), |
|
237 | - 'ZA' => array( |
|
238 | - 'sortcode' => array( |
|
239 | - 'label' => __( 'Branch code', 'invoicing' ), |
|
240 | - ), |
|
241 | - ), |
|
242 | - ) |
|
243 | - ); |
|
244 | - |
|
245 | - } |
|
246 | - |
|
247 | - return $this->locale; |
|
248 | - |
|
249 | - } |
|
250 | - |
|
251 | - /** |
|
252 | - * Filters the gateway settings. |
|
253 | - * |
|
254 | - * @param array $admin_settings |
|
255 | - */ |
|
256 | - public function admin_settings( $admin_settings ) { |
|
190 | + * Get country locale if localized. |
|
191 | + * |
|
192 | + * @return array |
|
193 | + */ |
|
194 | + public function get_country_locale() { |
|
195 | + |
|
196 | + if ( empty( $this->locale ) ) { |
|
197 | + |
|
198 | + // Locale information to be used - only those that are not 'Sort Code'. |
|
199 | + $this->locale = apply_filters( |
|
200 | + 'getpaid_get_bank_transfer_locale', |
|
201 | + array( |
|
202 | + 'AU' => array( |
|
203 | + 'sortcode' => array( |
|
204 | + 'label' => __( 'BSB', 'invoicing' ), |
|
205 | + ), |
|
206 | + ), |
|
207 | + 'CA' => array( |
|
208 | + 'sortcode' => array( |
|
209 | + 'label' => __( 'Bank transit number', 'invoicing' ), |
|
210 | + ), |
|
211 | + ), |
|
212 | + 'IN' => array( |
|
213 | + 'sortcode' => array( |
|
214 | + 'label' => __( 'IFSC', 'invoicing' ), |
|
215 | + ), |
|
216 | + ), |
|
217 | + 'IT' => array( |
|
218 | + 'sortcode' => array( |
|
219 | + 'label' => __( 'Branch sort', 'invoicing' ), |
|
220 | + ), |
|
221 | + ), |
|
222 | + 'NZ' => array( |
|
223 | + 'sortcode' => array( |
|
224 | + 'label' => __( 'Bank code', 'invoicing' ), |
|
225 | + ), |
|
226 | + ), |
|
227 | + 'SE' => array( |
|
228 | + 'sortcode' => array( |
|
229 | + 'label' => __( 'Bank code', 'invoicing' ), |
|
230 | + ), |
|
231 | + ), |
|
232 | + 'US' => array( |
|
233 | + 'sortcode' => array( |
|
234 | + 'label' => __( 'Routing number', 'invoicing' ), |
|
235 | + ), |
|
236 | + ), |
|
237 | + 'ZA' => array( |
|
238 | + 'sortcode' => array( |
|
239 | + 'label' => __( 'Branch code', 'invoicing' ), |
|
240 | + ), |
|
241 | + ), |
|
242 | + ) |
|
243 | + ); |
|
244 | + |
|
245 | + } |
|
246 | + |
|
247 | + return $this->locale; |
|
248 | + |
|
249 | + } |
|
250 | + |
|
251 | + /** |
|
252 | + * Filters the gateway settings. |
|
253 | + * |
|
254 | + * @param array $admin_settings |
|
255 | + */ |
|
256 | + public function admin_settings( $admin_settings ) { |
|
257 | 257 | |
258 | 258 | $admin_settings['bank_transfer_desc']['std'] = __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' ); |
259 | - $admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' ); |
|
259 | + $admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' ); |
|
260 | 260 | |
261 | - $locale = $this->get_country_locale(); |
|
261 | + $locale = $this->get_country_locale(); |
|
262 | 262 | |
263 | - // Get sortcode label in the $locale array and use appropriate one. |
|
264 | - $country = wpinv_default_billing_country(); |
|
265 | - $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
263 | + // Get sortcode label in the $locale array and use appropriate one. |
|
264 | + $country = wpinv_default_billing_country(); |
|
265 | + $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
266 | 266 | |
267 | - $admin_settings['bank_transfer_ac_name'] = array( |
|
267 | + $admin_settings['bank_transfer_ac_name'] = array( |
|
268 | 268 | 'type' => 'text', |
269 | 269 | 'id' => 'bank_transfer_ac_name', |
270 | 270 | 'name' => __( 'Account Name', 'invoicing' ), |
271 | - ); |
|
271 | + ); |
|
272 | 272 | |
273 | - $admin_settings['bank_transfer_ac_no'] = array( |
|
273 | + $admin_settings['bank_transfer_ac_no'] = array( |
|
274 | 274 | 'type' => 'text', |
275 | 275 | 'id' => 'bank_transfer_ac_no', |
276 | 276 | 'name' => __( 'Account Number', 'invoicing' ), |
277 | - ); |
|
277 | + ); |
|
278 | 278 | |
279 | - $admin_settings['bank_transfer_bank_name'] = array( |
|
279 | + $admin_settings['bank_transfer_bank_name'] = array( |
|
280 | 280 | 'type' => 'text', |
281 | 281 | 'id' => 'bank_transfer_bank_name', |
282 | 282 | 'name' => __( 'Bank Name', 'invoicing' ), |
283 | - ); |
|
283 | + ); |
|
284 | 284 | |
285 | - $admin_settings['bank_transfer_ifsc'] = array( |
|
285 | + $admin_settings['bank_transfer_ifsc'] = array( |
|
286 | 286 | 'type' => 'text', |
287 | 287 | 'id' => 'bank_transfer_ifsc', |
288 | 288 | 'name' => __( 'IFSC Code', 'invoicing' ), |
289 | - ); |
|
289 | + ); |
|
290 | 290 | |
291 | - $admin_settings['bank_transfer_iban'] = array( |
|
291 | + $admin_settings['bank_transfer_iban'] = array( |
|
292 | 292 | 'type' => 'text', |
293 | 293 | 'id' => 'bank_transfer_iban', |
294 | 294 | 'name' => __( 'IBAN', 'invoicing' ), |
295 | - ); |
|
295 | + ); |
|
296 | 296 | |
297 | - $admin_settings['bank_transfer_bic'] = array( |
|
297 | + $admin_settings['bank_transfer_bic'] = array( |
|
298 | 298 | 'type' => 'text', |
299 | 299 | 'id' => 'bank_transfer_bic', |
300 | 300 | 'name' => __( 'BIC/Swift Code', 'invoicing' ), |
301 | - ); |
|
301 | + ); |
|
302 | 302 | |
303 | - $admin_settings['bank_transfer_sort_code'] = array( |
|
304 | - 'type' => 'text', |
|
305 | - 'id' => 'bank_transfer_sort_code', |
|
306 | - 'name' => $sortcode, |
|
307 | - ); |
|
303 | + $admin_settings['bank_transfer_sort_code'] = array( |
|
304 | + 'type' => 'text', |
|
305 | + 'id' => 'bank_transfer_sort_code', |
|
306 | + 'name' => $sortcode, |
|
307 | + ); |
|
308 | 308 | |
309 | - $admin_settings['bank_transfer_info'] = array( |
|
309 | + $admin_settings['bank_transfer_info'] = array( |
|
310 | 310 | 'id' => 'bank_transfer_info', |
311 | 311 | 'name' => __( 'Instructions', 'invoicing' ), |
312 | 312 | 'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ), |
@@ -316,17 +316,17 @@ discard block |
||
316 | 316 | 'rows' => 5 |
317 | 317 | ); |
318 | 318 | |
319 | - return $admin_settings; |
|
320 | - } |
|
319 | + return $admin_settings; |
|
320 | + } |
|
321 | 321 | |
322 | - /** |
|
323 | - * Processes invoice addons. |
|
324 | - * |
|
325 | - * @param WPInv_Invoice $invoice |
|
326 | - * @param GetPaid_Form_Item[] $items |
|
327 | - * @return WPInv_Invoice |
|
328 | - */ |
|
329 | - public function process_addons( $invoice, $items ) { |
|
322 | + /** |
|
323 | + * Processes invoice addons. |
|
324 | + * |
|
325 | + * @param WPInv_Invoice $invoice |
|
326 | + * @param GetPaid_Form_Item[] $items |
|
327 | + * @return WPInv_Invoice |
|
328 | + */ |
|
329 | + public function process_addons( $invoice, $items ) { |
|
330 | 330 | |
331 | 331 | foreach ( $items as $item ) { |
332 | 332 | $invoice->add_item( $item ); |
@@ -334,6 +334,6 @@ discard block |
||
334 | 334 | |
335 | 335 | $invoice->recalculate_total(); |
336 | 336 | $invoice->save(); |
337 | - } |
|
337 | + } |
|
338 | 338 | |
339 | 339 | } |
@@ -4,7 +4,7 @@ discard block |
||
4 | 4 | * |
5 | 5 | */ |
6 | 6 | |
7 | -defined( 'ABSPATH' ) || exit; |
|
7 | +defined('ABSPATH') || exit; |
|
8 | 8 | |
9 | 9 | /** |
10 | 10 | * Bank transfer Payment Gateway class. |
@@ -24,7 +24,7 @@ discard block |
||
24 | 24 | * |
25 | 25 | * @var array |
26 | 26 | */ |
27 | - protected $supports = array( 'addons' ); |
|
27 | + protected $supports = array('addons'); |
|
28 | 28 | |
29 | 29 | /** |
30 | 30 | * Payment method order. |
@@ -39,15 +39,15 @@ discard block |
||
39 | 39 | public function __construct() { |
40 | 40 | parent::__construct(); |
41 | 41 | |
42 | - $this->title = __( 'Direct bank transfer', 'invoicing' ); |
|
43 | - $this->method_title = __( 'Bank transfer', 'invoicing' ); |
|
44 | - $this->checkout_button_text = __( 'Proceed', 'invoicing' ); |
|
45 | - $this->instructions = apply_filters( 'wpinv_bank_instructions', $this->get_option( 'info' ) ); |
|
42 | + $this->title = __('Direct bank transfer', 'invoicing'); |
|
43 | + $this->method_title = __('Bank transfer', 'invoicing'); |
|
44 | + $this->checkout_button_text = __('Proceed', 'invoicing'); |
|
45 | + $this->instructions = apply_filters('wpinv_bank_instructions', $this->get_option('info')); |
|
46 | 46 | |
47 | - add_action( 'wpinv_receipt_end', array( $this, 'thankyou_page' ) ); |
|
48 | - add_action( 'getpaid_invoice_line_items', array( $this, 'thankyou_page' ), 40 ); |
|
49 | - add_action( 'wpinv_pdf_content_billing', array( $this, 'thankyou_page' ), 11 ); |
|
50 | - add_action( 'wpinv_email_invoice_details', array( $this, 'email_instructions' ), 10, 3 ); |
|
47 | + add_action('wpinv_receipt_end', array($this, 'thankyou_page')); |
|
48 | + add_action('getpaid_invoice_line_items', array($this, 'thankyou_page'), 40); |
|
49 | + add_action('wpinv_pdf_content_billing', array($this, 'thankyou_page'), 11); |
|
50 | + add_action('wpinv_email_invoice_details', array($this, 'email_instructions'), 10, 3); |
|
51 | 51 | |
52 | 52 | } |
53 | 53 | |
@@ -60,23 +60,23 @@ discard block |
||
60 | 60 | * @param GetPaid_Payment_Form_Submission $submission Checkout submission. |
61 | 61 | * @return array |
62 | 62 | */ |
63 | - public function process_payment( $invoice, $submission_data, $submission ) { |
|
63 | + public function process_payment($invoice, $submission_data, $submission) { |
|
64 | 64 | |
65 | 65 | // Add a transaction id. |
66 | - $invoice->set_transaction_id( $invoice->generate_key('trans_') ); |
|
66 | + $invoice->set_transaction_id($invoice->generate_key('trans_')); |
|
67 | 67 | |
68 | 68 | // Set it as pending payment. |
69 | - if ( ! $invoice->needs_payment() ) { |
|
69 | + if (!$invoice->needs_payment()) { |
|
70 | 70 | $invoice->mark_paid(); |
71 | - } else if ( ! $invoice->is_paid() ) { |
|
72 | - $invoice->set_status( 'wpi-onhold' ); |
|
71 | + } else if (!$invoice->is_paid()) { |
|
72 | + $invoice->set_status('wpi-onhold'); |
|
73 | 73 | } |
74 | 74 | |
75 | 75 | // Save it. |
76 | 76 | $invoice->save(); |
77 | 77 | |
78 | 78 | // Send to the success page. |
79 | - wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) ); |
|
79 | + wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key())); |
|
80 | 80 | |
81 | 81 | } |
82 | 82 | |
@@ -85,17 +85,17 @@ discard block |
||
85 | 85 | * |
86 | 86 | * @param WPInv_Invoice $invoice Invoice. |
87 | 87 | */ |
88 | - public function thankyou_page( $invoice ) { |
|
88 | + public function thankyou_page($invoice) { |
|
89 | 89 | |
90 | - if ( 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
|
90 | + if ('bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment()) { |
|
91 | 91 | |
92 | 92 | echo '<div class="mt-4 mb-2 getpaid-bank-transfer-details">' . PHP_EOL; |
93 | 93 | |
94 | - if ( ! empty( $this->instructions ) ) { |
|
95 | - echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) ); |
|
94 | + if (!empty($this->instructions)) { |
|
95 | + echo wp_kses_post(wpautop(wptexturize($this->instructions))); |
|
96 | 96 | } |
97 | 97 | |
98 | - $this->bank_details( $invoice ); |
|
98 | + $this->bank_details($invoice); |
|
99 | 99 | |
100 | 100 | echo '</div>'; |
101 | 101 | |
@@ -110,17 +110,17 @@ discard block |
||
110 | 110 | * @param string $email_type Email format: plain text or HTML. |
111 | 111 | * @param bool $sent_to_admin Sent to admin. |
112 | 112 | */ |
113 | - public function email_instructions( $invoice, $email_type, $sent_to_admin ) { |
|
113 | + public function email_instructions($invoice, $email_type, $sent_to_admin) { |
|
114 | 114 | |
115 | - if ( ! $sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment() ) { |
|
115 | + if (!$sent_to_admin && 'bank_transfer' === $invoice->get_gateway() && $invoice->needs_payment()) { |
|
116 | 116 | |
117 | 117 | echo '<div class="wpi-email-row getpaid-bank-transfer-details">'; |
118 | 118 | |
119 | - if ( $this->instructions ) { |
|
120 | - echo wp_kses_post( wpautop( wptexturize( $this->instructions ) ) . PHP_EOL ); |
|
119 | + if ($this->instructions) { |
|
120 | + echo wp_kses_post(wpautop(wptexturize($this->instructions)) . PHP_EOL); |
|
121 | 121 | } |
122 | 122 | |
123 | - $this->bank_details( $invoice ); |
|
123 | + $this->bank_details($invoice); |
|
124 | 124 | |
125 | 125 | echo '</div>'; |
126 | 126 | |
@@ -133,51 +133,51 @@ discard block |
||
133 | 133 | * |
134 | 134 | * @param WPInv_Invoice $invoice Invoice. |
135 | 135 | */ |
136 | - protected function bank_details( $invoice ) { |
|
136 | + protected function bank_details($invoice) { |
|
137 | 137 | |
138 | 138 | // Get the invoice country and country $locale. |
139 | 139 | $country = $invoice->get_country(); |
140 | 140 | $locale = $this->get_country_locale(); |
141 | 141 | |
142 | 142 | // Get sortcode label in the $locale array and use appropriate one. |
143 | - $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
143 | + $sortcode = isset($locale[$country]['sortcode']['label']) ? $locale[$country]['sortcode']['label'] : __('Sort code', 'invoicing'); |
|
144 | 144 | |
145 | 145 | $bank_fields = array( |
146 | - 'ac_name' => __( 'Account Name', 'invoicing' ), |
|
147 | - 'ac_no' => __( 'Account Number', 'invoicing' ), |
|
148 | - 'bank_name' => __( 'Bank Name', 'invoicing' ), |
|
149 | - 'ifsc' => __( 'IFSC code', 'invoicing' ), |
|
150 | - 'iban' => __( 'IBAN', 'invoicing' ), |
|
151 | - 'bic' => __( 'BIC/Swift code', 'invoicing' ), |
|
146 | + 'ac_name' => __('Account Name', 'invoicing'), |
|
147 | + 'ac_no' => __('Account Number', 'invoicing'), |
|
148 | + 'bank_name' => __('Bank Name', 'invoicing'), |
|
149 | + 'ifsc' => __('IFSC code', 'invoicing'), |
|
150 | + 'iban' => __('IBAN', 'invoicing'), |
|
151 | + 'bic' => __('BIC/Swift code', 'invoicing'), |
|
152 | 152 | 'sort_code' => $sortcode, |
153 | 153 | ); |
154 | 154 | |
155 | 155 | $bank_info = array(); |
156 | 156 | |
157 | - foreach ( $bank_fields as $field => $label ) { |
|
158 | - $value = $this->get_option( $field ); |
|
157 | + foreach ($bank_fields as $field => $label) { |
|
158 | + $value = $this->get_option($field); |
|
159 | 159 | |
160 | - if ( ! empty( $value ) ) { |
|
161 | - $bank_info[$field] = array( 'label' => $label, 'value' => $value ); |
|
160 | + if (!empty($value)) { |
|
161 | + $bank_info[$field] = array('label' => $label, 'value' => $value); |
|
162 | 162 | } |
163 | 163 | |
164 | 164 | } |
165 | 165 | |
166 | - $bank_info = apply_filters( 'wpinv_bank_info', $bank_info ); |
|
166 | + $bank_info = apply_filters('wpinv_bank_info', $bank_info); |
|
167 | 167 | |
168 | - if ( empty( $bank_info ) ) { |
|
168 | + if (empty($bank_info)) { |
|
169 | 169 | return; |
170 | 170 | } |
171 | 171 | |
172 | - echo '<h3 class="getpaid-bank-transfer-title"> ' . apply_filters( 'wpinv_receipt_bank_details_title', __( 'Bank Details', 'invoicing' ) ) . '</h3>' . PHP_EOL; |
|
172 | + echo '<h3 class="getpaid-bank-transfer-title"> ' . apply_filters('wpinv_receipt_bank_details_title', __('Bank Details', 'invoicing')) . '</h3>' . PHP_EOL; |
|
173 | 173 | |
174 | 174 | echo '<table class="table table-bordered getpaid-bank-transfer-details">' . PHP_EOL; |
175 | 175 | |
176 | - foreach ( $bank_info as $key => $data ) { |
|
176 | + foreach ($bank_info as $key => $data) { |
|
177 | 177 | |
178 | - $key = sanitize_html_class( $key ); |
|
179 | - $label = wp_kses_post( $data['label'] ); |
|
180 | - $value = wp_kses_post( wptexturize( $data['value'] ) ); |
|
178 | + $key = sanitize_html_class($key); |
|
179 | + $label = wp_kses_post($data['label']); |
|
180 | + $value = wp_kses_post(wptexturize($data['value'])); |
|
181 | 181 | |
182 | 182 | echo "<tr class='getpaid-bank-transfer-$key'><th class='font-weight-bold'>$label</th><td class='w-75'>$value</td></tr>" . PHP_EOL; |
183 | 183 | } |
@@ -193,7 +193,7 @@ discard block |
||
193 | 193 | */ |
194 | 194 | public function get_country_locale() { |
195 | 195 | |
196 | - if ( empty( $this->locale ) ) { |
|
196 | + if (empty($this->locale)) { |
|
197 | 197 | |
198 | 198 | // Locale information to be used - only those that are not 'Sort Code'. |
199 | 199 | $this->locale = apply_filters( |
@@ -201,42 +201,42 @@ discard block |
||
201 | 201 | array( |
202 | 202 | 'AU' => array( |
203 | 203 | 'sortcode' => array( |
204 | - 'label' => __( 'BSB', 'invoicing' ), |
|
204 | + 'label' => __('BSB', 'invoicing'), |
|
205 | 205 | ), |
206 | 206 | ), |
207 | 207 | 'CA' => array( |
208 | 208 | 'sortcode' => array( |
209 | - 'label' => __( 'Bank transit number', 'invoicing' ), |
|
209 | + 'label' => __('Bank transit number', 'invoicing'), |
|
210 | 210 | ), |
211 | 211 | ), |
212 | 212 | 'IN' => array( |
213 | 213 | 'sortcode' => array( |
214 | - 'label' => __( 'IFSC', 'invoicing' ), |
|
214 | + 'label' => __('IFSC', 'invoicing'), |
|
215 | 215 | ), |
216 | 216 | ), |
217 | 217 | 'IT' => array( |
218 | 218 | 'sortcode' => array( |
219 | - 'label' => __( 'Branch sort', 'invoicing' ), |
|
219 | + 'label' => __('Branch sort', 'invoicing'), |
|
220 | 220 | ), |
221 | 221 | ), |
222 | 222 | 'NZ' => array( |
223 | 223 | 'sortcode' => array( |
224 | - 'label' => __( 'Bank code', 'invoicing' ), |
|
224 | + 'label' => __('Bank code', 'invoicing'), |
|
225 | 225 | ), |
226 | 226 | ), |
227 | 227 | 'SE' => array( |
228 | 228 | 'sortcode' => array( |
229 | - 'label' => __( 'Bank code', 'invoicing' ), |
|
229 | + 'label' => __('Bank code', 'invoicing'), |
|
230 | 230 | ), |
231 | 231 | ), |
232 | 232 | 'US' => array( |
233 | 233 | 'sortcode' => array( |
234 | - 'label' => __( 'Routing number', 'invoicing' ), |
|
234 | + 'label' => __('Routing number', 'invoicing'), |
|
235 | 235 | ), |
236 | 236 | ), |
237 | 237 | 'ZA' => array( |
238 | 238 | 'sortcode' => array( |
239 | - 'label' => __( 'Branch code', 'invoicing' ), |
|
239 | + 'label' => __('Branch code', 'invoicing'), |
|
240 | 240 | ), |
241 | 241 | ), |
242 | 242 | ) |
@@ -253,51 +253,51 @@ discard block |
||
253 | 253 | * |
254 | 254 | * @param array $admin_settings |
255 | 255 | */ |
256 | - public function admin_settings( $admin_settings ) { |
|
256 | + public function admin_settings($admin_settings) { |
|
257 | 257 | |
258 | - $admin_settings['bank_transfer_desc']['std'] = __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' ); |
|
259 | - $admin_settings['bank_transfer_active']['desc'] = __( 'Enable bank transfer', 'invoicing' ); |
|
258 | + $admin_settings['bank_transfer_desc']['std'] = __("Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing'); |
|
259 | + $admin_settings['bank_transfer_active']['desc'] = __('Enable bank transfer', 'invoicing'); |
|
260 | 260 | |
261 | - $locale = $this->get_country_locale(); |
|
261 | + $locale = $this->get_country_locale(); |
|
262 | 262 | |
263 | 263 | // Get sortcode label in the $locale array and use appropriate one. |
264 | 264 | $country = wpinv_default_billing_country(); |
265 | - $sortcode = isset( $locale[ $country ]['sortcode']['label'] ) ? $locale[ $country ]['sortcode']['label'] : __( 'Sort code', 'invoicing' ); |
|
265 | + $sortcode = isset($locale[$country]['sortcode']['label']) ? $locale[$country]['sortcode']['label'] : __('Sort code', 'invoicing'); |
|
266 | 266 | |
267 | 267 | $admin_settings['bank_transfer_ac_name'] = array( |
268 | 268 | 'type' => 'text', |
269 | 269 | 'id' => 'bank_transfer_ac_name', |
270 | - 'name' => __( 'Account Name', 'invoicing' ), |
|
270 | + 'name' => __('Account Name', 'invoicing'), |
|
271 | 271 | ); |
272 | 272 | |
273 | 273 | $admin_settings['bank_transfer_ac_no'] = array( |
274 | 274 | 'type' => 'text', |
275 | 275 | 'id' => 'bank_transfer_ac_no', |
276 | - 'name' => __( 'Account Number', 'invoicing' ), |
|
276 | + 'name' => __('Account Number', 'invoicing'), |
|
277 | 277 | ); |
278 | 278 | |
279 | 279 | $admin_settings['bank_transfer_bank_name'] = array( |
280 | 280 | 'type' => 'text', |
281 | 281 | 'id' => 'bank_transfer_bank_name', |
282 | - 'name' => __( 'Bank Name', 'invoicing' ), |
|
282 | + 'name' => __('Bank Name', 'invoicing'), |
|
283 | 283 | ); |
284 | 284 | |
285 | 285 | $admin_settings['bank_transfer_ifsc'] = array( |
286 | 286 | 'type' => 'text', |
287 | 287 | 'id' => 'bank_transfer_ifsc', |
288 | - 'name' => __( 'IFSC Code', 'invoicing' ), |
|
288 | + 'name' => __('IFSC Code', 'invoicing'), |
|
289 | 289 | ); |
290 | 290 | |
291 | 291 | $admin_settings['bank_transfer_iban'] = array( |
292 | 292 | 'type' => 'text', |
293 | 293 | 'id' => 'bank_transfer_iban', |
294 | - 'name' => __( 'IBAN', 'invoicing' ), |
|
294 | + 'name' => __('IBAN', 'invoicing'), |
|
295 | 295 | ); |
296 | 296 | |
297 | 297 | $admin_settings['bank_transfer_bic'] = array( |
298 | 298 | 'type' => 'text', |
299 | 299 | 'id' => 'bank_transfer_bic', |
300 | - 'name' => __( 'BIC/Swift Code', 'invoicing' ), |
|
300 | + 'name' => __('BIC/Swift Code', 'invoicing'), |
|
301 | 301 | ); |
302 | 302 | |
303 | 303 | $admin_settings['bank_transfer_sort_code'] = array( |
@@ -308,10 +308,10 @@ discard block |
||
308 | 308 | |
309 | 309 | $admin_settings['bank_transfer_info'] = array( |
310 | 310 | 'id' => 'bank_transfer_info', |
311 | - 'name' => __( 'Instructions', 'invoicing' ), |
|
312 | - 'desc' => __( 'Instructions that will be added to the thank you page and emails.', 'invoicing' ), |
|
311 | + 'name' => __('Instructions', 'invoicing'), |
|
312 | + 'desc' => __('Instructions that will be added to the thank you page and emails.', 'invoicing'), |
|
313 | 313 | 'type' => 'textarea', |
314 | - 'std' => __( "Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing' ), |
|
314 | + 'std' => __("Make your payment directly into our bank account. Please use your Invoice Number as the payment reference. Your invoice won't be processed until the funds have cleared in our account.", 'invoicing'), |
|
315 | 315 | 'cols' => 50, |
316 | 316 | 'rows' => 5 |
317 | 317 | ); |
@@ -326,10 +326,10 @@ discard block |
||
326 | 326 | * @param GetPaid_Form_Item[] $items |
327 | 327 | * @return WPInv_Invoice |
328 | 328 | */ |
329 | - public function process_addons( $invoice, $items ) { |
|
329 | + public function process_addons($invoice, $items) { |
|
330 | 330 | |
331 | - foreach ( $items as $item ) { |
|
332 | - $invoice->add_item( $item ); |
|
331 | + foreach ($items as $item) { |
|
332 | + $invoice->add_item($item); |
|
333 | 333 | } |
334 | 334 | |
335 | 335 | $invoice->recalculate_total(); |
@@ -7,7 +7,7 @@ |
||
7 | 7 | * @version 1.0.19 |
8 | 8 | */ |
9 | 9 | |
10 | -defined( 'ABSPATH' ) || exit; |
|
10 | +defined('ABSPATH') || exit; |
|
11 | 11 | |
12 | 12 | ?> |
13 | 13 |
@@ -7,7 +7,7 @@ discard block |
||
7 | 7 | * @version 1.0.19 |
8 | 8 | */ |
9 | 9 | |
10 | -defined( 'ABSPATH' ) || exit; |
|
10 | +defined('ABSPATH') || exit; |
|
11 | 11 | |
12 | 12 | ?> |
13 | 13 | |
@@ -16,7 +16,7 @@ discard block |
||
16 | 16 | <div class="modal-dialog modal-dialog-centered modal-lg" role="checkout" style="max-width: 650px;"> |
17 | 17 | <div class="modal-content"> |
18 | 18 | <div class="modal-body"> |
19 | - <button type="button" class="close p-2 getpaid-payment-modal-close d-sm-none" data-dismiss="modal" aria-label="<?php esc_attr__( 'Close', 'invoicing' ); ?>"> |
|
19 | + <button type="button" class="close p-2 getpaid-payment-modal-close d-sm-none" data-dismiss="modal" aria-label="<?php esc_attr__('Close', 'invoicing'); ?>"> |
|
20 | 20 | <i class="fa fa-times" aria-hidden="true"></i> |
21 | 21 | </button> |
22 | 22 | <div class="modal-body-wrapper"></div> |
@@ -7,17 +7,17 @@ discard block |
||
7 | 7 | * @version 1.0.19 |
8 | 8 | */ |
9 | 9 | |
10 | -defined( 'ABSPATH' ) || exit; |
|
10 | +defined('ABSPATH') || exit; |
|
11 | 11 | |
12 | 12 | // Prepare the company name. |
13 | -$company_name = wpinv_get_option( 'vat_company_name' ); |
|
13 | +$company_name = wpinv_get_option('vat_company_name'); |
|
14 | 14 | |
15 | -if ( empty( $company_name ) ) { |
|
15 | +if (empty($company_name)) { |
|
16 | 16 | $company_name = wpinv_get_business_name(); |
17 | 17 | } |
18 | 18 | |
19 | 19 | // Prepare the VAT number. |
20 | -$vat_number = wpinv_get_option( 'vat_number' ); |
|
20 | +$vat_number = wpinv_get_option('vat_number'); |
|
21 | 21 | |
22 | 22 | ?> |
23 | 23 | <div class="getpaid-company-address form-group"> |
@@ -25,36 +25,36 @@ discard block |
||
25 | 25 | <div class="row"> |
26 | 26 | |
27 | 27 | <div class="invoice-company-address-label col-2"> |
28 | - <strong><?php _e( 'From:', 'invoicing' ) ?></strong> |
|
28 | + <strong><?php _e('From:', 'invoicing') ?></strong> |
|
29 | 29 | </div> |
30 | 30 | |
31 | 31 | <div class="invoice-company-address-value col-10"> |
32 | 32 | |
33 | - <?php do_action( 'getpaid_company_address_top' ); ?> |
|
33 | + <?php do_action('getpaid_company_address_top'); ?> |
|
34 | 34 | |
35 | 35 | <div class="name"> |
36 | - <a target="_blank" class="text-dark" href="<?php echo esc_url( wpinv_get_business_website() ); ?>"> |
|
37 | - <?php echo esc_html( $company_name ); ?> |
|
36 | + <a target="_blank" class="text-dark" href="<?php echo esc_url(wpinv_get_business_website()); ?>"> |
|
37 | + <?php echo esc_html($company_name); ?> |
|
38 | 38 | </a> |
39 | 39 | </div> |
40 | 40 | |
41 | - <?php if ( $address = wpinv_get_business_address() ) { ?> |
|
42 | - <?php echo $address;?> |
|
41 | + <?php if ($address = wpinv_get_business_address()) { ?> |
|
42 | + <?php echo $address; ?> |
|
43 | 43 | <?php } ?> |
44 | 44 | |
45 | - <?php if ( $email_from = wpinv_mail_get_from_address() ) { ?> |
|
45 | + <?php if ($email_from = wpinv_mail_get_from_address()) { ?> |
|
46 | 46 | <div class="email_from"> |
47 | - <?php echo wp_sprintf( __( 'Email: %s', 'invoicing' ), $email_from );?> |
|
47 | + <?php echo wp_sprintf(__('Email: %s', 'invoicing'), $email_from); ?> |
|
48 | 48 | </div> |
49 | 49 | <?php } ?> |
50 | 50 | |
51 | - <?php if ( ! empty( $vat_number ) ) { ?> |
|
51 | + <?php if (!empty($vat_number)) { ?> |
|
52 | 52 | <div class="email_from"> |
53 | - <?php echo wp_sprintf( __( 'VAT Number: %s', 'invoicing' ), sanitize_text_field( $vat_number ) );?> |
|
53 | + <?php echo wp_sprintf(__('VAT Number: %s', 'invoicing'), sanitize_text_field($vat_number)); ?> |
|
54 | 54 | </div> |
55 | 55 | <?php } ?> |
56 | 56 | |
57 | - <?php do_action( 'getpaid_company_address_bottom' ); ?> |
|
57 | + <?php do_action('getpaid_company_address_bottom'); ?> |
|
58 | 58 | |
59 | 59 | </div> |
60 | 60 |
@@ -7,10 +7,10 @@ discard block |
||
7 | 7 | * @version 1.0.19 |
8 | 8 | */ |
9 | 9 | |
10 | -defined( 'ABSPATH' ) || exit; |
|
10 | +defined('ABSPATH') || exit; |
|
11 | 11 | |
12 | -$invoice = new WPInv_Invoice( $invoice ); |
|
13 | -$address_row = wpinv_get_invoice_address_markup( $invoice->get_user_info() ); |
|
12 | +$invoice = new WPInv_Invoice($invoice); |
|
13 | +$address_row = wpinv_get_invoice_address_markup($invoice->get_user_info()); |
|
14 | 14 | $phone = $invoice->get_phone(); |
15 | 15 | $email = $invoice->get_email(); |
16 | 16 | $vat_number = $invoice->get_vat_number(); |
@@ -21,41 +21,41 @@ discard block |
||
21 | 21 | |
22 | 22 | |
23 | 23 | <div class="invoice-billing-address-label col-2"> |
24 | - <strong><?php _e( 'To:', 'invoicing' ) ?></strong> |
|
24 | + <strong><?php _e('To:', 'invoicing') ?></strong> |
|
25 | 25 | </div> |
26 | 26 | |
27 | 27 | |
28 | 28 | <div class="invoice-billing-address-value col-10"> |
29 | 29 | |
30 | - <?php do_action( 'getpaid_billing_address_top' ); ?> |
|
30 | + <?php do_action('getpaid_billing_address_top'); ?> |
|
31 | 31 | |
32 | - <?php if ( ! empty( $address_row ) ) : ?> |
|
32 | + <?php if (!empty($address_row)) : ?> |
|
33 | 33 | <div class="billing-address"> |
34 | 34 | <?php echo $address_row; ?> |
35 | 35 | </div> |
36 | 36 | <?php endif; ?> |
37 | 37 | |
38 | 38 | |
39 | - <?php if ( ! empty( $phone ) ) : ?> |
|
39 | + <?php if (!empty($phone)) : ?> |
|
40 | 40 | <div class="billing-phone"> |
41 | - <?php echo wp_sprintf( __( 'Phone: %s', 'invoicing' ), esc_html( $phone ) ); ?> |
|
41 | + <?php echo wp_sprintf(__('Phone: %s', 'invoicing'), esc_html($phone)); ?> |
|
42 | 42 | </div> |
43 | 43 | <?php endif; ?> |
44 | 44 | |
45 | 45 | |
46 | - <?php if ( ! empty( $email ) ) : ?> |
|
46 | + <?php if (!empty($email)) : ?> |
|
47 | 47 | <div class="billing-email"> |
48 | - <?php echo wp_sprintf( __( 'Email: %s', 'invoicing' ), sanitize_email( $email ) ); ?> |
|
48 | + <?php echo wp_sprintf(__('Email: %s', 'invoicing'), sanitize_email($email)); ?> |
|
49 | 49 | </div> |
50 | 50 | <?php endif; ?> |
51 | 51 | |
52 | - <?php if ( ! empty( $vat_number ) ) : ?> |
|
52 | + <?php if (!empty($vat_number)) : ?> |
|
53 | 53 | <div class="vat-number"> |
54 | - <?php echo wp_sprintf( __( 'Vat Number: %s', 'invoicing' ), sanitize_text_field( $vat_number ) ); ?> |
|
54 | + <?php echo wp_sprintf(__('Vat Number: %s', 'invoicing'), sanitize_text_field($vat_number)); ?> |
|
55 | 55 | </div> |
56 | 56 | <?php endif; ?> |
57 | 57 | |
58 | - <?php do_action( 'getpaid_billing_address_bottom' ); ?> |
|
58 | + <?php do_action('getpaid_billing_address_bottom'); ?> |
|
59 | 59 | |
60 | 60 | </div> |
61 | 61 |
@@ -661,7 +661,7 @@ discard block |
||
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. |
@@ -1650,7 +1650,7 @@ discard block |
||
1650 | 1650 | var prev_attributes = []; |
1651 | 1651 | |
1652 | 1652 | var term_query_type = ''; |
1653 | - 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 "[]";} ?>; |
|
1653 | + 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 "[]";} ?>; |
|
1654 | 1654 | const taxonomies_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}]; |
1655 | 1655 | const sort_by_<?php echo str_replace("-","_", $this->id);?> = [{label: "Please wait", value: 0}]; |
1656 | 1656 | |
@@ -1787,7 +1787,7 @@ discard block |
||
1787 | 1787 | |
1788 | 1788 | // taxonomies |
1789 | 1789 | if( $value && 'post_type' in prev_attributes[props.id] && 'category' in prev_attributes[props.id] && run ){ |
1790 | - 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';} ?>"}).then(terms => { |
|
1790 | + 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';} ?>"}).then(terms => { |
|
1791 | 1791 | while (taxonomies_<?php echo str_replace("-","_", $this->id);?>.length) { |
1792 | 1792 | taxonomies_<?php echo str_replace("-","_", $this->id);?>.pop(); |
1793 | 1793 | } |
@@ -1857,7 +1857,7 @@ discard block |
||
1857 | 1857 | 'attributes': props.attributes, |
1858 | 1858 | 'post_id': <?php global $post; if ( isset( $post->ID ) ) { |
1859 | 1859 | echo $post->ID; |
1860 | - }else{echo '0';}?>, |
|
1860 | + } else{echo '0';}?>, |
|
1861 | 1861 | '_ajax_nonce': '<?php echo wp_create_nonce( 'super_duper_output_shortcode' );?>' |
1862 | 1862 | }; |
1863 | 1863 | |
@@ -1966,7 +1966,7 @@ discard block |
||
1966 | 1966 | $panel_count ++; |
1967 | 1967 | |
1968 | 1968 | } |
1969 | - }else { |
|
1969 | + } else { |
|
1970 | 1970 | ?> |
1971 | 1971 | el(wp.components.PanelBody, { |
1972 | 1972 | title: '<?php esc_attr_e( "Settings" ); ?>', |
@@ -1992,7 +1992,7 @@ discard block |
||
1992 | 1992 | // If the user sets block-output array then build it |
1993 | 1993 | if ( ! empty( $this->options['block-output'] ) ) { |
1994 | 1994 | $this->block_element( $this->options['block-output'] ); |
1995 | - }else{ |
|
1995 | + } else{ |
|
1996 | 1996 | // if no block-output is set then we try and get the shortcode html output via ajax. |
1997 | 1997 | ?> |
1998 | 1998 | el('div', { |
@@ -2062,7 +2062,7 @@ discard block |
||
2062 | 2062 | ?> |
2063 | 2063 | return content; |
2064 | 2064 | <?php |
2065 | - }else{ |
|
2065 | + } else{ |
|
2066 | 2066 | ?> |
2067 | 2067 | var block_wrap = 'div'; |
2068 | 2068 | if (attr.hasOwnProperty("block_wrap")) { |
@@ -2133,7 +2133,7 @@ discard block |
||
2133 | 2133 | |
2134 | 2134 | <?php |
2135 | 2135 | if(false){?></script><?php } |
2136 | - }elseif(!empty($args['row']['close'])){ |
|
2136 | + } elseif(!empty($args['row']['close'])){ |
|
2137 | 2137 | if(false){?><script><?php }?> |
2138 | 2138 | el( |
2139 | 2139 | 'div', |
@@ -2142,7 +2142,7 @@ discard block |
||
2142 | 2142 | }, |
2143 | 2143 | <?php |
2144 | 2144 | if(false){?></script><?php } |
2145 | - }else{ |
|
2145 | + } else{ |
|
2146 | 2146 | if(false){?><script><?php }?> |
2147 | 2147 | el( |
2148 | 2148 | 'div', |
@@ -2259,8 +2259,7 @@ discard block |
||
2259 | 2259 | $key: value |
2260 | 2260 | }); |
2261 | 2261 | },"; |
2262 | - } |
|
2263 | - elseif ( $args['type'] == 'checkbox' ) { |
|
2262 | + } elseif ( $args['type'] == 'checkbox' ) { |
|
2264 | 2263 | $type = 'CheckboxControl'; |
2265 | 2264 | $extra .= "checked: props.attributes.$key,"; |
2266 | 2265 | $onchange = "props.setAttributes({ $key: ! props.attributes.$key } )"; |
@@ -2271,9 +2270,9 @@ discard block |
||
2271 | 2270 | |
2272 | 2271 | if($args['name'] == 'category' && !empty($args['post_type_linked'])){ |
2273 | 2272 | $options .= "options: taxonomies_".str_replace("-","_", $this->id).","; |
2274 | - }elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){ |
|
2273 | + } elseif($args['name'] == 'sort_by' && !empty($args['post_type_linked'])){ |
|
2275 | 2274 | $options .= "options: sort_by_".str_replace("-","_", $this->id).","; |
2276 | - }else { |
|
2275 | + } else { |
|
2277 | 2276 | |
2278 | 2277 | if ( ! empty( $args['options'] ) ) { |
2279 | 2278 | $options .= "options: ["; |
@@ -2288,7 +2287,7 @@ discard block |
||
2288 | 2287 | } |
2289 | 2288 | } elseif ( $args['type'] == 'alignment' ) { |
2290 | 2289 | $type = 'AlignmentToolbar'; // @todo this does not seem to work but cant find a example |
2291 | - }elseif ( $args['type'] == 'margins' ) { |
|
2290 | + } elseif ( $args['type'] == 'margins' ) { |
|
2292 | 2291 | |
2293 | 2292 | } else { |
2294 | 2293 | return;// if we have not implemented the control then don't break the JS. |
@@ -2701,7 +2700,7 @@ discard block |
||
2701 | 2700 | |
2702 | 2701 | if(empty($instance['widget_title_tag'])){ |
2703 | 2702 | $output = $args['before_title'] . $title . $args['after_title']; |
2704 | - }else{ |
|
2703 | + } else{ |
|
2705 | 2704 | $title_tag = esc_attr( $instance['widget_title_tag'] ); |
2706 | 2705 | |
2707 | 2706 | // classes |
@@ -2806,9 +2805,9 @@ discard block |
||
2806 | 2805 | <div class='row <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>'> |
2807 | 2806 | <div class='col pr-2'> |
2808 | 2807 | <?php |
2809 | - }elseif(!empty($args['row']['close'])){ |
|
2808 | + } elseif(!empty($args['row']['close'])){ |
|
2810 | 2809 | echo "<div class='col pl-0'>"; |
2811 | - }else{ |
|
2810 | + } else{ |
|
2812 | 2811 | echo "<div class='col pl-0 pr-2'>"; |
2813 | 2812 | } |
2814 | 2813 | } |
@@ -3026,11 +3025,11 @@ discard block |
||
3026 | 3025 | public function get_widget_icon($icon = 'box-top', $title = ''){ |
3027 | 3026 | if($icon=='box-top'){ |
3028 | 3027 | 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>'; |
3029 | - }elseif($icon=='box-right'){ |
|
3028 | + } elseif($icon=='box-right'){ |
|
3030 | 3029 | 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>'; |
3031 | - }elseif($icon=='box-bottom'){ |
|
3030 | + } elseif($icon=='box-bottom'){ |
|
3032 | 3031 | 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>'; |
3033 | - }elseif($icon=='box-left'){ |
|
3032 | + } elseif($icon=='box-left'){ |
|
3034 | 3033 | 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>'; |
3035 | 3034 | } |
3036 | 3035 | } |
@@ -1,262 +1,262 @@ discard block |
||
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.26"; |
|
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.26"; |
|
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 |
||
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 |
||
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 ocasions |
|
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 ocasions |
|
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 shotcode 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 shotcode 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 |
||
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 shoudl be shown or hidden. |
@@ -506,28 +506,28 @@ discard block |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 ); //@todo this does not seem right @kiran? |
|
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 ); //@todo this does not seem right @kiran? |
|
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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,601 +2339,601 @@ discard block |
||
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 | - echo ! empty( $this->options['widget_ops']['classname'] ) ? "<span class='" . esc_attr( $class ) . "'>" : ''; |
|
2522 | - } |
|
2523 | - echo $this->output_title( $args, $instance ); |
|
2524 | - echo $output; |
|
2525 | - if ( $this->is_elementor_widget_output() ) { |
|
2526 | - echo ! empty( $this->options['widget_ops']['classname'] ) ? "</span>" : ''; |
|
2527 | - } |
|
2528 | - echo $after_widget; |
|
2529 | - } elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty |
|
2530 | - $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" ); |
|
2531 | - echo $output; |
|
2532 | - } elseif ( $output && $no_wrap ) { |
|
2533 | - echo $output; |
|
2534 | - } |
|
2535 | - $output = ob_get_clean(); |
|
2536 | - |
|
2537 | - $output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this ); |
|
2538 | - |
|
2539 | - echo $output; |
|
2540 | - } |
|
2541 | - |
|
2542 | - /** |
|
2543 | - * Tests if the current output is inside a elementor container. |
|
2544 | - * |
|
2545 | - * @since 1.0.4 |
|
2546 | - * @return bool |
|
2547 | - */ |
|
2548 | - public function is_elementor_widget_output() { |
|
2549 | - $result = false; |
|
2550 | - if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) { |
|
2551 | - $result = true; |
|
2552 | - } |
|
2553 | - |
|
2554 | - return $result; |
|
2555 | - } |
|
2556 | - |
|
2557 | - /** |
|
2558 | - * Tests if the current output is inside a elementor preview. |
|
2559 | - * |
|
2560 | - * @since 1.0.4 |
|
2561 | - * @return bool |
|
2562 | - */ |
|
2563 | - public function is_elementor_preview() { |
|
2564 | - $result = false; |
|
2565 | - if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) { |
|
2566 | - $result = true; |
|
2567 | - } |
|
2568 | - |
|
2569 | - return $result; |
|
2570 | - } |
|
2571 | - |
|
2572 | - /** |
|
2573 | - * Tests if the current output is inside a Divi preview. |
|
2574 | - * |
|
2575 | - * @since 1.0.6 |
|
2576 | - * @return bool |
|
2577 | - */ |
|
2578 | - public function is_divi_preview() { |
|
2579 | - $result = false; |
|
2580 | - if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) { |
|
2581 | - $result = true; |
|
2582 | - } |
|
2583 | - |
|
2584 | - return $result; |
|
2585 | - } |
|
2586 | - |
|
2587 | - /** |
|
2588 | - * Tests if the current output is inside a Beaver builder preview. |
|
2589 | - * |
|
2590 | - * @since 1.0.6 |
|
2591 | - * @return bool |
|
2592 | - */ |
|
2593 | - public function is_beaver_preview() { |
|
2594 | - $result = false; |
|
2595 | - if ( isset( $_REQUEST['fl_builder'] ) ) { |
|
2596 | - $result = true; |
|
2597 | - } |
|
2598 | - |
|
2599 | - return $result; |
|
2600 | - } |
|
2601 | - |
|
2602 | - /** |
|
2603 | - * Tests if the current output is inside a siteorigin builder preview. |
|
2604 | - * |
|
2605 | - * @since 1.0.6 |
|
2606 | - * @return bool |
|
2607 | - */ |
|
2608 | - public function is_siteorigin_preview() { |
|
2609 | - $result = false; |
|
2610 | - if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) { |
|
2611 | - $result = true; |
|
2612 | - } |
|
2613 | - |
|
2614 | - return $result; |
|
2615 | - } |
|
2616 | - |
|
2617 | - /** |
|
2618 | - * Tests if the current output is inside a cornerstone builder preview. |
|
2619 | - * |
|
2620 | - * @since 1.0.8 |
|
2621 | - * @return bool |
|
2622 | - */ |
|
2623 | - public function is_cornerstone_preview() { |
|
2624 | - $result = false; |
|
2625 | - if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) { |
|
2626 | - $result = true; |
|
2627 | - } |
|
2628 | - |
|
2629 | - return $result; |
|
2630 | - } |
|
2631 | - |
|
2632 | - /** |
|
2633 | - * Tests if the current output is inside a fusion builder preview. |
|
2634 | - * |
|
2635 | - * @since 1.1.0 |
|
2636 | - * @return bool |
|
2637 | - */ |
|
2638 | - public function is_fusion_preview() { |
|
2639 | - $result = false; |
|
2640 | - if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) { |
|
2641 | - $result = true; |
|
2642 | - } |
|
2643 | - |
|
2644 | - return $result; |
|
2645 | - } |
|
2646 | - |
|
2647 | - /** |
|
2648 | - * Tests if the current output is inside a Oxygen builder preview. |
|
2649 | - * |
|
2650 | - * @since 1.0.18 |
|
2651 | - * @return bool |
|
2652 | - */ |
|
2653 | - public function is_oxygen_preview() { |
|
2654 | - $result = false; |
|
2655 | - if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) { |
|
2656 | - $result = true; |
|
2657 | - } |
|
2658 | - |
|
2659 | - return $result; |
|
2660 | - } |
|
2661 | - |
|
2662 | - /** |
|
2663 | - * General function to check if we are in a preview situation. |
|
2664 | - * |
|
2665 | - * @since 1.0.6 |
|
2666 | - * @return bool |
|
2667 | - */ |
|
2668 | - public function is_preview() { |
|
2669 | - $preview = false; |
|
2670 | - if ( $this->is_divi_preview() ) { |
|
2671 | - $preview = true; |
|
2672 | - } elseif ( $this->is_elementor_preview() ) { |
|
2673 | - $preview = true; |
|
2674 | - } elseif ( $this->is_beaver_preview() ) { |
|
2675 | - $preview = true; |
|
2676 | - } elseif ( $this->is_siteorigin_preview() ) { |
|
2677 | - $preview = true; |
|
2678 | - } elseif ( $this->is_cornerstone_preview() ) { |
|
2679 | - $preview = true; |
|
2680 | - } elseif ( $this->is_fusion_preview() ) { |
|
2681 | - $preview = true; |
|
2682 | - } elseif ( $this->is_oxygen_preview() ) { |
|
2683 | - $preview = true; |
|
2684 | - } elseif( $this->is_block_content_call() ) { |
|
2685 | - $preview = true; |
|
2686 | - } |
|
2687 | - |
|
2688 | - return $preview; |
|
2689 | - } |
|
2690 | - |
|
2691 | - /** |
|
2692 | - * Output the super title. |
|
2693 | - * |
|
2694 | - * @param $args |
|
2695 | - * @param array $instance |
|
2696 | - * |
|
2697 | - * @return string |
|
2698 | - */ |
|
2699 | - public function output_title( $args, $instance = array() ) { |
|
2700 | - $output = ''; |
|
2701 | - if ( ! empty( $instance['title'] ) ) { |
|
2702 | - /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */ |
|
2703 | - $title = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ); |
|
2704 | - |
|
2705 | - if(empty($instance['widget_title_tag'])){ |
|
2706 | - $output = $args['before_title'] . $title . $args['after_title']; |
|
2707 | - }else{ |
|
2708 | - $title_tag = esc_attr( $instance['widget_title_tag'] ); |
|
2709 | - |
|
2710 | - // classes |
|
2711 | - $title_classes = array(); |
|
2712 | - $title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : ''; |
|
2713 | - $title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : ''; |
|
2714 | - $title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : ''; |
|
2715 | - $title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : ''; |
|
2716 | - $title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : ''; |
|
2717 | - $title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : ''; |
|
2718 | - $title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : ''; |
|
2719 | - $title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : ''; |
|
2720 | - $title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : ''; |
|
2721 | - $title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : ''; |
|
2722 | - $title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : ''; |
|
2723 | - $title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : ''; |
|
2724 | - $title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : ''; |
|
2725 | - |
|
2726 | - $class = !empty( $title_classes ) ? implode(" ",$title_classes) : ''; |
|
2727 | - $output = "<$title_tag class='$class' >$title</$title_tag>"; |
|
2728 | - } |
|
2729 | - |
|
2730 | - } |
|
2731 | - |
|
2732 | - return $output; |
|
2733 | - } |
|
2734 | - |
|
2735 | - /** |
|
2736 | - * Outputs the options form inputs for the widget. |
|
2737 | - * |
|
2738 | - * @param array $instance The widget options. |
|
2739 | - */ |
|
2740 | - public function form( $instance ) { |
|
2741 | - |
|
2742 | - // set widget instance |
|
2743 | - $this->instance = $instance; |
|
2744 | - |
|
2745 | - // set it as a SD widget |
|
2746 | - echo $this->widget_advanced_toggle(); |
|
2747 | - |
|
2748 | - echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>"; |
|
2749 | - $arguments_raw = $this->get_arguments(); |
|
2750 | - |
|
2751 | - if ( is_array( $arguments_raw ) ) { |
|
2752 | - |
|
2753 | - $arguments = $this->group_arguments( $arguments_raw ); |
|
2754 | - |
|
2755 | - // Do we have sections? |
|
2756 | - $has_sections = $arguments == $arguments_raw ? false : true; |
|
2757 | - |
|
2758 | - |
|
2759 | - if ( $has_sections ) { |
|
2760 | - $panel_count = 0; |
|
2761 | - foreach ( $arguments as $key => $args ) { |
|
2762 | - |
|
2763 | - ?> |
|
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 | + echo ! empty( $this->options['widget_ops']['classname'] ) ? "<span class='" . esc_attr( $class ) . "'>" : ''; |
|
2522 | + } |
|
2523 | + echo $this->output_title( $args, $instance ); |
|
2524 | + echo $output; |
|
2525 | + if ( $this->is_elementor_widget_output() ) { |
|
2526 | + echo ! empty( $this->options['widget_ops']['classname'] ) ? "</span>" : ''; |
|
2527 | + } |
|
2528 | + echo $after_widget; |
|
2529 | + } elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty |
|
2530 | + $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" ); |
|
2531 | + echo $output; |
|
2532 | + } elseif ( $output && $no_wrap ) { |
|
2533 | + echo $output; |
|
2534 | + } |
|
2535 | + $output = ob_get_clean(); |
|
2536 | + |
|
2537 | + $output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this ); |
|
2538 | + |
|
2539 | + echo $output; |
|
2540 | + } |
|
2541 | + |
|
2542 | + /** |
|
2543 | + * Tests if the current output is inside a elementor container. |
|
2544 | + * |
|
2545 | + * @since 1.0.4 |
|
2546 | + * @return bool |
|
2547 | + */ |
|
2548 | + public function is_elementor_widget_output() { |
|
2549 | + $result = false; |
|
2550 | + if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) { |
|
2551 | + $result = true; |
|
2552 | + } |
|
2553 | + |
|
2554 | + return $result; |
|
2555 | + } |
|
2556 | + |
|
2557 | + /** |
|
2558 | + * Tests if the current output is inside a elementor preview. |
|
2559 | + * |
|
2560 | + * @since 1.0.4 |
|
2561 | + * @return bool |
|
2562 | + */ |
|
2563 | + public function is_elementor_preview() { |
|
2564 | + $result = false; |
|
2565 | + if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) { |
|
2566 | + $result = true; |
|
2567 | + } |
|
2568 | + |
|
2569 | + return $result; |
|
2570 | + } |
|
2571 | + |
|
2572 | + /** |
|
2573 | + * Tests if the current output is inside a Divi preview. |
|
2574 | + * |
|
2575 | + * @since 1.0.6 |
|
2576 | + * @return bool |
|
2577 | + */ |
|
2578 | + public function is_divi_preview() { |
|
2579 | + $result = false; |
|
2580 | + if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) { |
|
2581 | + $result = true; |
|
2582 | + } |
|
2583 | + |
|
2584 | + return $result; |
|
2585 | + } |
|
2586 | + |
|
2587 | + /** |
|
2588 | + * Tests if the current output is inside a Beaver builder preview. |
|
2589 | + * |
|
2590 | + * @since 1.0.6 |
|
2591 | + * @return bool |
|
2592 | + */ |
|
2593 | + public function is_beaver_preview() { |
|
2594 | + $result = false; |
|
2595 | + if ( isset( $_REQUEST['fl_builder'] ) ) { |
|
2596 | + $result = true; |
|
2597 | + } |
|
2598 | + |
|
2599 | + return $result; |
|
2600 | + } |
|
2601 | + |
|
2602 | + /** |
|
2603 | + * Tests if the current output is inside a siteorigin builder preview. |
|
2604 | + * |
|
2605 | + * @since 1.0.6 |
|
2606 | + * @return bool |
|
2607 | + */ |
|
2608 | + public function is_siteorigin_preview() { |
|
2609 | + $result = false; |
|
2610 | + if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) { |
|
2611 | + $result = true; |
|
2612 | + } |
|
2613 | + |
|
2614 | + return $result; |
|
2615 | + } |
|
2616 | + |
|
2617 | + /** |
|
2618 | + * Tests if the current output is inside a cornerstone builder preview. |
|
2619 | + * |
|
2620 | + * @since 1.0.8 |
|
2621 | + * @return bool |
|
2622 | + */ |
|
2623 | + public function is_cornerstone_preview() { |
|
2624 | + $result = false; |
|
2625 | + if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) { |
|
2626 | + $result = true; |
|
2627 | + } |
|
2628 | + |
|
2629 | + return $result; |
|
2630 | + } |
|
2631 | + |
|
2632 | + /** |
|
2633 | + * Tests if the current output is inside a fusion builder preview. |
|
2634 | + * |
|
2635 | + * @since 1.1.0 |
|
2636 | + * @return bool |
|
2637 | + */ |
|
2638 | + public function is_fusion_preview() { |
|
2639 | + $result = false; |
|
2640 | + if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) { |
|
2641 | + $result = true; |
|
2642 | + } |
|
2643 | + |
|
2644 | + return $result; |
|
2645 | + } |
|
2646 | + |
|
2647 | + /** |
|
2648 | + * Tests if the current output is inside a Oxygen builder preview. |
|
2649 | + * |
|
2650 | + * @since 1.0.18 |
|
2651 | + * @return bool |
|
2652 | + */ |
|
2653 | + public function is_oxygen_preview() { |
|
2654 | + $result = false; |
|
2655 | + if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) { |
|
2656 | + $result = true; |
|
2657 | + } |
|
2658 | + |
|
2659 | + return $result; |
|
2660 | + } |
|
2661 | + |
|
2662 | + /** |
|
2663 | + * General function to check if we are in a preview situation. |
|
2664 | + * |
|
2665 | + * @since 1.0.6 |
|
2666 | + * @return bool |
|
2667 | + */ |
|
2668 | + public function is_preview() { |
|
2669 | + $preview = false; |
|
2670 | + if ( $this->is_divi_preview() ) { |
|
2671 | + $preview = true; |
|
2672 | + } elseif ( $this->is_elementor_preview() ) { |
|
2673 | + $preview = true; |
|
2674 | + } elseif ( $this->is_beaver_preview() ) { |
|
2675 | + $preview = true; |
|
2676 | + } elseif ( $this->is_siteorigin_preview() ) { |
|
2677 | + $preview = true; |
|
2678 | + } elseif ( $this->is_cornerstone_preview() ) { |
|
2679 | + $preview = true; |
|
2680 | + } elseif ( $this->is_fusion_preview() ) { |
|
2681 | + $preview = true; |
|
2682 | + } elseif ( $this->is_oxygen_preview() ) { |
|
2683 | + $preview = true; |
|
2684 | + } elseif( $this->is_block_content_call() ) { |
|
2685 | + $preview = true; |
|
2686 | + } |
|
2687 | + |
|
2688 | + return $preview; |
|
2689 | + } |
|
2690 | + |
|
2691 | + /** |
|
2692 | + * Output the super title. |
|
2693 | + * |
|
2694 | + * @param $args |
|
2695 | + * @param array $instance |
|
2696 | + * |
|
2697 | + * @return string |
|
2698 | + */ |
|
2699 | + public function output_title( $args, $instance = array() ) { |
|
2700 | + $output = ''; |
|
2701 | + if ( ! empty( $instance['title'] ) ) { |
|
2702 | + /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */ |
|
2703 | + $title = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ); |
|
2704 | + |
|
2705 | + if(empty($instance['widget_title_tag'])){ |
|
2706 | + $output = $args['before_title'] . $title . $args['after_title']; |
|
2707 | + }else{ |
|
2708 | + $title_tag = esc_attr( $instance['widget_title_tag'] ); |
|
2709 | + |
|
2710 | + // classes |
|
2711 | + $title_classes = array(); |
|
2712 | + $title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : ''; |
|
2713 | + $title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : ''; |
|
2714 | + $title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : ''; |
|
2715 | + $title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : ''; |
|
2716 | + $title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : ''; |
|
2717 | + $title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : ''; |
|
2718 | + $title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : ''; |
|
2719 | + $title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : ''; |
|
2720 | + $title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : ''; |
|
2721 | + $title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : ''; |
|
2722 | + $title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : ''; |
|
2723 | + $title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : ''; |
|
2724 | + $title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : ''; |
|
2725 | + |
|
2726 | + $class = !empty( $title_classes ) ? implode(" ",$title_classes) : ''; |
|
2727 | + $output = "<$title_tag class='$class' >$title</$title_tag>"; |
|
2728 | + } |
|
2729 | + |
|
2730 | + } |
|
2731 | + |
|
2732 | + return $output; |
|
2733 | + } |
|
2734 | + |
|
2735 | + /** |
|
2736 | + * Outputs the options form inputs for the widget. |
|
2737 | + * |
|
2738 | + * @param array $instance The widget options. |
|
2739 | + */ |
|
2740 | + public function form( $instance ) { |
|
2741 | + |
|
2742 | + // set widget instance |
|
2743 | + $this->instance = $instance; |
|
2744 | + |
|
2745 | + // set it as a SD widget |
|
2746 | + echo $this->widget_advanced_toggle(); |
|
2747 | + |
|
2748 | + echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>"; |
|
2749 | + $arguments_raw = $this->get_arguments(); |
|
2750 | + |
|
2751 | + if ( is_array( $arguments_raw ) ) { |
|
2752 | + |
|
2753 | + $arguments = $this->group_arguments( $arguments_raw ); |
|
2754 | + |
|
2755 | + // Do we have sections? |
|
2756 | + $has_sections = $arguments == $arguments_raw ? false : true; |
|
2757 | + |
|
2758 | + |
|
2759 | + if ( $has_sections ) { |
|
2760 | + $panel_count = 0; |
|
2761 | + foreach ( $arguments as $key => $args ) { |
|
2762 | + |
|
2763 | + ?> |
|
2764 | 2764 | <script> |
2765 | 2765 | // jQuery(this).find("i").toggleClass("fas fa-chevron-up fas fa-chevron-down");jQuery(this).next().toggle(); |
2766 | 2766 | </script> |
2767 | 2767 | <?php |
2768 | 2768 | |
2769 | - $hide = $panel_count ? ' style="display:none;" ' : ''; |
|
2770 | - $icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down'; |
|
2771 | - 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>"; |
|
2772 | - echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>"; |
|
2769 | + $hide = $panel_count ? ' style="display:none;" ' : ''; |
|
2770 | + $icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down'; |
|
2771 | + 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>"; |
|
2772 | + echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>"; |
|
2773 | 2773 | |
2774 | - foreach ( $args as $k => $a ) { |
|
2774 | + foreach ( $args as $k => $a ) { |
|
2775 | 2775 | |
2776 | - $this->widget_inputs_row_start($k, $a); |
|
2777 | - $this->widget_inputs( $a, $instance ); |
|
2778 | - $this->widget_inputs_row_end($k, $a); |
|
2776 | + $this->widget_inputs_row_start($k, $a); |
|
2777 | + $this->widget_inputs( $a, $instance ); |
|
2778 | + $this->widget_inputs_row_end($k, $a); |
|
2779 | 2779 | |
2780 | - } |
|
2780 | + } |
|
2781 | 2781 | |
2782 | - echo "</div>"; |
|
2782 | + echo "</div>"; |
|
2783 | 2783 | |
2784 | - $panel_count ++; |
|
2784 | + $panel_count ++; |
|
2785 | 2785 | |
2786 | - } |
|
2787 | - } else { |
|
2788 | - foreach ( $arguments as $key => $args ) { |
|
2789 | - $this->widget_inputs_row_start($key, $args); |
|
2790 | - $this->widget_inputs( $args, $instance ); |
|
2791 | - $this->widget_inputs_row_end($key, $args); |
|
2792 | - } |
|
2793 | - } |
|
2786 | + } |
|
2787 | + } else { |
|
2788 | + foreach ( $arguments as $key => $args ) { |
|
2789 | + $this->widget_inputs_row_start($key, $args); |
|
2790 | + $this->widget_inputs( $args, $instance ); |
|
2791 | + $this->widget_inputs_row_end($key, $args); |
|
2792 | + } |
|
2793 | + } |
|
2794 | 2794 | |
2795 | - } |
|
2796 | - } |
|
2795 | + } |
|
2796 | + } |
|
2797 | 2797 | |
2798 | - public function widget_inputs_row_start($key, $args){ |
|
2799 | - if(!empty($args['row'])){ |
|
2800 | - // maybe open |
|
2801 | - if(!empty($args['row']['open'])){ |
|
2802 | - ?> |
|
2798 | + public function widget_inputs_row_start($key, $args){ |
|
2799 | + if(!empty($args['row'])){ |
|
2800 | + // maybe open |
|
2801 | + if(!empty($args['row']['open'])){ |
|
2802 | + ?> |
|
2803 | 2803 | <div class='bsui sd-argument ' data-argument='<?php echo esc_attr( $args['row']['key'] ); ?>' data-element_require='<?php if ( !empty($args['row']['element_require'])) { |
2804 | - echo $this->convert_element_require( $args['row']['element_require'] ); |
|
2805 | - } ?>'> |
|
2804 | + echo $this->convert_element_require( $args['row']['element_require'] ); |
|
2805 | + } ?>'> |
|
2806 | 2806 | <?php if(!empty($args['row']['title'])){ ?> |
2807 | 2807 | <label class="mb-0 "><?php echo esc_attr( $args['row']['title'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label> |
2808 | 2808 | <?php }?> |
2809 | 2809 | <div class='row <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>'> |
2810 | 2810 | <div class='col pr-2'> |
2811 | 2811 | <?php |
2812 | - }elseif(!empty($args['row']['close'])){ |
|
2813 | - echo "<div class='col pl-0'>"; |
|
2814 | - }else{ |
|
2815 | - echo "<div class='col pl-0 pr-2'>"; |
|
2816 | - } |
|
2817 | - } |
|
2818 | - } |
|
2819 | - |
|
2820 | - public function widget_inputs_row_end($key, $args){ |
|
2821 | - |
|
2822 | - if(!empty($args['row'])){ |
|
2823 | - // maybe close |
|
2824 | - if(!empty($args['row']['close'])){ |
|
2825 | - echo "</div></div>"; |
|
2826 | - } |
|
2827 | - |
|
2828 | - echo "</div>"; |
|
2829 | - } |
|
2830 | - } |
|
2831 | - |
|
2832 | - /** |
|
2833 | - * Get the hidden input that when added makes the advanced button show on widget settings. |
|
2834 | - * |
|
2835 | - * @return string |
|
2836 | - */ |
|
2837 | - public function widget_advanced_toggle() { |
|
2838 | - |
|
2839 | - $output = ''; |
|
2840 | - if ( $this->block_show_advanced() ) { |
|
2841 | - $val = 1; |
|
2842 | - } else { |
|
2843 | - $val = 0; |
|
2844 | - } |
|
2845 | - |
|
2846 | - $output .= "<input type='hidden' class='sd-show-advanced' value='$val' />"; |
|
2847 | - |
|
2848 | - return $output; |
|
2849 | - } |
|
2850 | - |
|
2851 | - /** |
|
2852 | - * Convert require element. |
|
2853 | - * |
|
2854 | - * @since 1.0.0 |
|
2855 | - * |
|
2856 | - * @param string $input Input element. |
|
2857 | - * |
|
2858 | - * @return string $output |
|
2859 | - */ |
|
2860 | - public function convert_element_require( $input ) { |
|
2861 | - |
|
2862 | - $input = str_replace( "'", '"', $input );// we only want double quotes |
|
2863 | - |
|
2864 | - $output = esc_attr( str_replace( array( "[%", "%]" ), array( |
|
2865 | - "jQuery(form).find('[data-argument=\"", |
|
2866 | - "\"]').find('input,select,textarea').val()" |
|
2867 | - ), $input ) ); |
|
2868 | - |
|
2869 | - return $output; |
|
2870 | - } |
|
2871 | - |
|
2872 | - /** |
|
2873 | - * Builds the inputs for the widget options. |
|
2874 | - * |
|
2875 | - * @param $args |
|
2876 | - * @param $instance |
|
2877 | - */ |
|
2878 | - public function widget_inputs( $args, $instance ) { |
|
2879 | - |
|
2880 | - $class = ""; |
|
2881 | - $element_require = ""; |
|
2882 | - $custom_attributes = ""; |
|
2883 | - |
|
2884 | - // get value |
|
2885 | - if ( isset( $instance[ $args['name'] ] ) ) { |
|
2886 | - $value = $instance[ $args['name'] ]; |
|
2887 | - } elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) { |
|
2888 | - $value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] ); |
|
2889 | - } else { |
|
2890 | - $value = ''; |
|
2891 | - } |
|
2892 | - |
|
2893 | - // get placeholder |
|
2894 | - if ( ! empty( $args['placeholder'] ) ) { |
|
2895 | - $placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'"; |
|
2896 | - } else { |
|
2897 | - $placeholder = ''; |
|
2898 | - } |
|
2899 | - |
|
2900 | - // get if advanced |
|
2901 | - if ( isset( $args['advanced'] ) && $args['advanced'] ) { |
|
2902 | - $class .= " sd-advanced-setting "; |
|
2903 | - } |
|
2904 | - |
|
2905 | - // element_require |
|
2906 | - if ( isset( $args['element_require'] ) && $args['element_require'] ) { |
|
2907 | - $element_require = $args['element_require']; |
|
2908 | - } |
|
2909 | - |
|
2910 | - // custom_attributes |
|
2911 | - if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) { |
|
2912 | - $custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true ); |
|
2913 | - } |
|
2914 | - |
|
2915 | - |
|
2916 | - // before wrapper |
|
2917 | - ?> |
|
2812 | + }elseif(!empty($args['row']['close'])){ |
|
2813 | + echo "<div class='col pl-0'>"; |
|
2814 | + }else{ |
|
2815 | + echo "<div class='col pl-0 pr-2'>"; |
|
2816 | + } |
|
2817 | + } |
|
2818 | + } |
|
2819 | + |
|
2820 | + public function widget_inputs_row_end($key, $args){ |
|
2821 | + |
|
2822 | + if(!empty($args['row'])){ |
|
2823 | + // maybe close |
|
2824 | + if(!empty($args['row']['close'])){ |
|
2825 | + echo "</div></div>"; |
|
2826 | + } |
|
2827 | + |
|
2828 | + echo "</div>"; |
|
2829 | + } |
|
2830 | + } |
|
2831 | + |
|
2832 | + /** |
|
2833 | + * Get the hidden input that when added makes the advanced button show on widget settings. |
|
2834 | + * |
|
2835 | + * @return string |
|
2836 | + */ |
|
2837 | + public function widget_advanced_toggle() { |
|
2838 | + |
|
2839 | + $output = ''; |
|
2840 | + if ( $this->block_show_advanced() ) { |
|
2841 | + $val = 1; |
|
2842 | + } else { |
|
2843 | + $val = 0; |
|
2844 | + } |
|
2845 | + |
|
2846 | + $output .= "<input type='hidden' class='sd-show-advanced' value='$val' />"; |
|
2847 | + |
|
2848 | + return $output; |
|
2849 | + } |
|
2850 | + |
|
2851 | + /** |
|
2852 | + * Convert require element. |
|
2853 | + * |
|
2854 | + * @since 1.0.0 |
|
2855 | + * |
|
2856 | + * @param string $input Input element. |
|
2857 | + * |
|
2858 | + * @return string $output |
|
2859 | + */ |
|
2860 | + public function convert_element_require( $input ) { |
|
2861 | + |
|
2862 | + $input = str_replace( "'", '"', $input );// we only want double quotes |
|
2863 | + |
|
2864 | + $output = esc_attr( str_replace( array( "[%", "%]" ), array( |
|
2865 | + "jQuery(form).find('[data-argument=\"", |
|
2866 | + "\"]').find('input,select,textarea').val()" |
|
2867 | + ), $input ) ); |
|
2868 | + |
|
2869 | + return $output; |
|
2870 | + } |
|
2871 | + |
|
2872 | + /** |
|
2873 | + * Builds the inputs for the widget options. |
|
2874 | + * |
|
2875 | + * @param $args |
|
2876 | + * @param $instance |
|
2877 | + */ |
|
2878 | + public function widget_inputs( $args, $instance ) { |
|
2879 | + |
|
2880 | + $class = ""; |
|
2881 | + $element_require = ""; |
|
2882 | + $custom_attributes = ""; |
|
2883 | + |
|
2884 | + // get value |
|
2885 | + if ( isset( $instance[ $args['name'] ] ) ) { |
|
2886 | + $value = $instance[ $args['name'] ]; |
|
2887 | + } elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) { |
|
2888 | + $value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] ); |
|
2889 | + } else { |
|
2890 | + $value = ''; |
|
2891 | + } |
|
2892 | + |
|
2893 | + // get placeholder |
|
2894 | + if ( ! empty( $args['placeholder'] ) ) { |
|
2895 | + $placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'"; |
|
2896 | + } else { |
|
2897 | + $placeholder = ''; |
|
2898 | + } |
|
2899 | + |
|
2900 | + // get if advanced |
|
2901 | + if ( isset( $args['advanced'] ) && $args['advanced'] ) { |
|
2902 | + $class .= " sd-advanced-setting "; |
|
2903 | + } |
|
2904 | + |
|
2905 | + // element_require |
|
2906 | + if ( isset( $args['element_require'] ) && $args['element_require'] ) { |
|
2907 | + $element_require = $args['element_require']; |
|
2908 | + } |
|
2909 | + |
|
2910 | + // custom_attributes |
|
2911 | + if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) { |
|
2912 | + $custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true ); |
|
2913 | + } |
|
2914 | + |
|
2915 | + |
|
2916 | + // before wrapper |
|
2917 | + ?> |
|
2918 | 2918 | <p class="sd-argument <?php echo esc_attr( $class ); ?>" |
2919 | 2919 | data-argument='<?php echo esc_attr( $args['name'] ); ?>' |
2920 | 2920 | data-element_require='<?php if ( $element_require ) { |
2921 | - echo $this->convert_element_require( $element_require ); |
|
2922 | - } ?>' |
|
2921 | + echo $this->convert_element_require( $element_require ); |
|
2922 | + } ?>' |
|
2923 | 2923 | > |
2924 | 2924 | <?php |
2925 | 2925 | |
2926 | 2926 | |
2927 | - switch ( $args['type'] ) { |
|
2928 | - //array('text','password','number','email','tel','url','color') |
|
2929 | - case "text": |
|
2930 | - case "password": |
|
2931 | - case "number": |
|
2932 | - case "email": |
|
2933 | - case "tel": |
|
2934 | - case "url": |
|
2935 | - case "color": |
|
2936 | - ?> |
|
2927 | + switch ( $args['type'] ) { |
|
2928 | + //array('text','password','number','email','tel','url','color') |
|
2929 | + case "text": |
|
2930 | + case "password": |
|
2931 | + case "number": |
|
2932 | + case "email": |
|
2933 | + case "tel": |
|
2934 | + case "url": |
|
2935 | + case "color": |
|
2936 | + ?> |
|
2937 | 2937 | <label |
2938 | 2938 | 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> |
2939 | 2939 | <input <?php echo $placeholder; ?> class="widefat" |
@@ -2944,47 +2944,47 @@ discard block |
||
2944 | 2944 | value="<?php echo esc_attr( $value ); ?>"> |
2945 | 2945 | <?php |
2946 | 2946 | |
2947 | - break; |
|
2948 | - case "select": |
|
2949 | - $multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false; |
|
2950 | - if ( $multiple ) { |
|
2951 | - if ( empty( $value ) ) { |
|
2952 | - $value = array(); |
|
2953 | - } |
|
2954 | - } |
|
2955 | - ?> |
|
2947 | + break; |
|
2948 | + case "select": |
|
2949 | + $multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false; |
|
2950 | + if ( $multiple ) { |
|
2951 | + if ( empty( $value ) ) { |
|
2952 | + $value = array(); |
|
2953 | + } |
|
2954 | + } |
|
2955 | + ?> |
|
2956 | 2956 | <label |
2957 | 2957 | 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> |
2958 | 2958 | <select <?php echo $placeholder; ?> class="widefat" |
2959 | 2959 | <?php echo $custom_attributes; ?> |
2960 | 2960 | id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" |
2961 | 2961 | name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); |
2962 | - if ( $multiple ) { |
|
2963 | - echo "[]"; |
|
2964 | - } ?>" |
|
2962 | + if ( $multiple ) { |
|
2963 | + echo "[]"; |
|
2964 | + } ?>" |
|
2965 | 2965 | <?php if ( $multiple ) { |
2966 | - echo "multiple"; |
|
2967 | - } //@todo not implemented yet due to gutenberg not supporting it |
|
2968 | - ?> |
|
2966 | + echo "multiple"; |
|
2967 | + } //@todo not implemented yet due to gutenberg not supporting it |
|
2968 | + ?> |
|
2969 | 2969 | > |
2970 | 2970 | <?php |
2971 | 2971 | |
2972 | - if ( ! empty( $args['options'] ) ) { |
|
2973 | - foreach ( $args['options'] as $val => $label ) { |
|
2974 | - if ( $multiple ) { |
|
2975 | - $selected = in_array( $val, $value ) ? 'selected="selected"' : ''; |
|
2976 | - } else { |
|
2977 | - $selected = selected( $value, $val, false ); |
|
2978 | - } |
|
2979 | - echo "<option value='$val' " . $selected . ">$label</option>"; |
|
2980 | - } |
|
2981 | - } |
|
2982 | - ?> |
|
2972 | + if ( ! empty( $args['options'] ) ) { |
|
2973 | + foreach ( $args['options'] as $val => $label ) { |
|
2974 | + if ( $multiple ) { |
|
2975 | + $selected = in_array( $val, $value ) ? 'selected="selected"' : ''; |
|
2976 | + } else { |
|
2977 | + $selected = selected( $value, $val, false ); |
|
2978 | + } |
|
2979 | + echo "<option value='$val' " . $selected . ">$label</option>"; |
|
2980 | + } |
|
2981 | + } |
|
2982 | + ?> |
|
2983 | 2983 | </select> |
2984 | 2984 | <?php |
2985 | - break; |
|
2986 | - case "checkbox": |
|
2987 | - ?> |
|
2985 | + break; |
|
2986 | + case "checkbox": |
|
2987 | + ?> |
|
2988 | 2988 | <input <?php echo $placeholder; ?> |
2989 | 2989 | <?php checked( 1, $value, true ) ?> |
2990 | 2990 | <?php echo $custom_attributes; ?> |
@@ -2994,9 +2994,9 @@ discard block |
||
2994 | 2994 | <label |
2995 | 2995 | 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> |
2996 | 2996 | <?php |
2997 | - break; |
|
2998 | - case "textarea": |
|
2999 | - ?> |
|
2997 | + break; |
|
2998 | + case "textarea": |
|
2999 | + ?> |
|
3000 | 3000 | <label |
3001 | 3001 | 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 | 3002 | <textarea <?php echo $placeholder; ?> class="widefat" |
@@ -3006,207 +3006,207 @@ discard block |
||
3006 | 3006 | ><?php echo esc_attr( $value ); ?></textarea> |
3007 | 3007 | <?php |
3008 | 3008 | |
3009 | - break; |
|
3010 | - case "hidden": |
|
3011 | - ?> |
|
3009 | + break; |
|
3010 | + case "hidden": |
|
3011 | + ?> |
|
3012 | 3012 | <input id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" |
3013 | 3013 | name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="hidden" |
3014 | 3014 | value="<?php echo esc_attr( $value ); ?>"> |
3015 | 3015 | <?php |
3016 | - break; |
|
3017 | - default: |
|
3018 | - echo "No input type found!"; // @todo we need to add more input types. |
|
3019 | - } |
|
3016 | + break; |
|
3017 | + default: |
|
3018 | + echo "No input type found!"; // @todo we need to add more input types. |
|
3019 | + } |
|
3020 | 3020 | |
3021 | - // after wrapper |
|
3022 | - ?> |
|
3021 | + // after wrapper |
|
3022 | + ?> |
|
3023 | 3023 | </p> |
3024 | 3024 | <?php |
3025 | 3025 | |
3026 | 3026 | |
3027 | - } |
|
3028 | - |
|
3029 | - public function get_widget_icon($icon = 'box-top', $title = ''){ |
|
3030 | - if($icon=='box-top'){ |
|
3031 | - 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>'; |
|
3032 | - }elseif($icon=='box-right'){ |
|
3033 | - 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>'; |
|
3034 | - }elseif($icon=='box-bottom'){ |
|
3035 | - 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>'; |
|
3036 | - }elseif($icon=='box-left'){ |
|
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.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>'; |
|
3038 | - } |
|
3039 | - } |
|
3040 | - |
|
3041 | - /** |
|
3042 | - * Get the widget input description html. |
|
3043 | - * |
|
3044 | - * @param $args |
|
3045 | - * |
|
3046 | - * @return string |
|
3047 | - * @todo, need to make its own tooltip script |
|
3048 | - */ |
|
3049 | - public function widget_field_desc( $args ) { |
|
3050 | - |
|
3051 | - $description = ''; |
|
3052 | - if ( isset( $args['desc'] ) && $args['desc'] ) { |
|
3053 | - if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) { |
|
3054 | - $description = $this->desc_tip( $args['desc'] ); |
|
3055 | - } else { |
|
3056 | - $description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>'; |
|
3057 | - } |
|
3058 | - } |
|
3059 | - |
|
3060 | - return $description; |
|
3061 | - } |
|
3062 | - |
|
3063 | - /** |
|
3064 | - * Get the widget input title html. |
|
3065 | - * |
|
3066 | - * @param $args |
|
3067 | - * |
|
3068 | - * @return string |
|
3069 | - */ |
|
3070 | - public function widget_field_title( $args ) { |
|
3071 | - |
|
3072 | - $title = ''; |
|
3073 | - if ( isset( $args['title'] ) && $args['title'] ) { |
|
3074 | - if ( isset( $args['icon'] ) && $args['icon'] ) { |
|
3075 | - $title = self::get_widget_icon( $args['icon'], $args['title'] ); |
|
3076 | - } else { |
|
3077 | - $title = esc_attr($args['title']); |
|
3078 | - } |
|
3079 | - } |
|
3080 | - |
|
3081 | - return $title; |
|
3082 | - } |
|
3083 | - |
|
3084 | - /** |
|
3085 | - * Get the tool tip html. |
|
3086 | - * |
|
3087 | - * @param $tip |
|
3088 | - * @param bool $allow_html |
|
3089 | - * |
|
3090 | - * @return string |
|
3091 | - */ |
|
3092 | - function desc_tip( $tip, $allow_html = false ) { |
|
3093 | - if ( $allow_html ) { |
|
3094 | - $tip = $this->sanitize_tooltip( $tip ); |
|
3095 | - } else { |
|
3096 | - $tip = esc_attr( $tip ); |
|
3097 | - } |
|
3098 | - |
|
3099 | - return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>'; |
|
3100 | - } |
|
3101 | - |
|
3102 | - /** |
|
3103 | - * Sanitize a string destined to be a tooltip. |
|
3104 | - * |
|
3105 | - * @param string $var |
|
3106 | - * |
|
3107 | - * @return string |
|
3108 | - */ |
|
3109 | - public function sanitize_tooltip( $var ) { |
|
3110 | - return htmlspecialchars( wp_kses( html_entity_decode( $var ), array( |
|
3111 | - 'br' => array(), |
|
3112 | - 'em' => array(), |
|
3113 | - 'strong' => array(), |
|
3114 | - 'small' => array(), |
|
3115 | - 'span' => array(), |
|
3116 | - 'ul' => array(), |
|
3117 | - 'li' => array(), |
|
3118 | - 'ol' => array(), |
|
3119 | - 'p' => array(), |
|
3120 | - ) ) ); |
|
3121 | - } |
|
3122 | - |
|
3123 | - /** |
|
3124 | - * Processing widget options on save |
|
3125 | - * |
|
3126 | - * @param array $new_instance The new options |
|
3127 | - * @param array $old_instance The previous options |
|
3128 | - * |
|
3129 | - * @return array |
|
3130 | - * @todo we should add some sanitation here. |
|
3131 | - */ |
|
3132 | - public function update( $new_instance, $old_instance ) { |
|
3133 | - |
|
3134 | - //save the widget |
|
3135 | - $instance = array_merge( (array) $old_instance, (array) $new_instance ); |
|
3136 | - |
|
3137 | - // set widget instance |
|
3138 | - $this->instance = $instance; |
|
3139 | - |
|
3140 | - if ( empty( $this->arguments ) ) { |
|
3141 | - $this->get_arguments(); |
|
3142 | - } |
|
3143 | - |
|
3144 | - // check for checkboxes |
|
3145 | - if ( ! empty( $this->arguments ) ) { |
|
3146 | - foreach ( $this->arguments as $argument ) { |
|
3147 | - if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) { |
|
3148 | - $instance[ $argument['name'] ] = '0'; |
|
3149 | - } |
|
3150 | - } |
|
3151 | - } |
|
3152 | - |
|
3153 | - return $instance; |
|
3154 | - } |
|
3155 | - |
|
3156 | - /** |
|
3157 | - * Checks if the current call is a ajax call to get the block content. |
|
3158 | - * |
|
3159 | - * This can be used in your widget to return different content as the block content. |
|
3160 | - * |
|
3161 | - * @since 1.0.3 |
|
3162 | - * @return bool |
|
3163 | - */ |
|
3164 | - public function is_block_content_call() { |
|
3165 | - $result = false; |
|
3166 | - if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) { |
|
3167 | - $result = true; |
|
3168 | - } |
|
3169 | - |
|
3170 | - return $result; |
|
3171 | - } |
|
3172 | - |
|
3173 | - /** |
|
3174 | - * Get an instance hash that will be unique to the type and settings. |
|
3175 | - * |
|
3176 | - * @since 1.0.20 |
|
3177 | - * @return string |
|
3178 | - */ |
|
3179 | - public function get_instance_hash(){ |
|
3180 | - $instance_string = $this->base_id.serialize($this->instance); |
|
3181 | - return hash('crc32b',$instance_string); |
|
3182 | - } |
|
3183 | - |
|
3184 | - /** |
|
3185 | - * Generate and return inline styles from CSS rules that will match the unique class of the instance. |
|
3186 | - * |
|
3187 | - * @param array $rules |
|
3188 | - * |
|
3189 | - * @since 1.0.20 |
|
3190 | - * @return string |
|
3191 | - */ |
|
3192 | - public function get_instance_style($rules = array()){ |
|
3193 | - $css = ''; |
|
3194 | - |
|
3195 | - if(!empty($rules)){ |
|
3196 | - $rules = array_unique($rules); |
|
3197 | - $instance_hash = $this->get_instance_hash(); |
|
3198 | - $css .= "<style>"; |
|
3199 | - foreach($rules as $rule){ |
|
3200 | - $css .= ".sdel-$instance_hash $rule"; |
|
3201 | - } |
|
3202 | - $css .= "</style>"; |
|
3203 | - } |
|
3204 | - |
|
3205 | - |
|
3206 | - return $css; |
|
3207 | - |
|
3208 | - } |
|
3209 | - |
|
3210 | - } |
|
3027 | + } |
|
3028 | + |
|
3029 | + public function get_widget_icon($icon = 'box-top', $title = ''){ |
|
3030 | + if($icon=='box-top'){ |
|
3031 | + 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>'; |
|
3032 | + }elseif($icon=='box-right'){ |
|
3033 | + 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>'; |
|
3034 | + }elseif($icon=='box-bottom'){ |
|
3035 | + 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>'; |
|
3036 | + }elseif($icon=='box-left'){ |
|
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.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>'; |
|
3038 | + } |
|
3039 | + } |
|
3040 | + |
|
3041 | + /** |
|
3042 | + * Get the widget input description html. |
|
3043 | + * |
|
3044 | + * @param $args |
|
3045 | + * |
|
3046 | + * @return string |
|
3047 | + * @todo, need to make its own tooltip script |
|
3048 | + */ |
|
3049 | + public function widget_field_desc( $args ) { |
|
3050 | + |
|
3051 | + $description = ''; |
|
3052 | + if ( isset( $args['desc'] ) && $args['desc'] ) { |
|
3053 | + if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) { |
|
3054 | + $description = $this->desc_tip( $args['desc'] ); |
|
3055 | + } else { |
|
3056 | + $description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>'; |
|
3057 | + } |
|
3058 | + } |
|
3059 | + |
|
3060 | + return $description; |
|
3061 | + } |
|
3062 | + |
|
3063 | + /** |
|
3064 | + * Get the widget input title html. |
|
3065 | + * |
|
3066 | + * @param $args |
|
3067 | + * |
|
3068 | + * @return string |
|
3069 | + */ |
|
3070 | + public function widget_field_title( $args ) { |
|
3071 | + |
|
3072 | + $title = ''; |
|
3073 | + if ( isset( $args['title'] ) && $args['title'] ) { |
|
3074 | + if ( isset( $args['icon'] ) && $args['icon'] ) { |
|
3075 | + $title = self::get_widget_icon( $args['icon'], $args['title'] ); |
|
3076 | + } else { |
|
3077 | + $title = esc_attr($args['title']); |
|
3078 | + } |
|
3079 | + } |
|
3080 | + |
|
3081 | + return $title; |
|
3082 | + } |
|
3083 | + |
|
3084 | + /** |
|
3085 | + * Get the tool tip html. |
|
3086 | + * |
|
3087 | + * @param $tip |
|
3088 | + * @param bool $allow_html |
|
3089 | + * |
|
3090 | + * @return string |
|
3091 | + */ |
|
3092 | + function desc_tip( $tip, $allow_html = false ) { |
|
3093 | + if ( $allow_html ) { |
|
3094 | + $tip = $this->sanitize_tooltip( $tip ); |
|
3095 | + } else { |
|
3096 | + $tip = esc_attr( $tip ); |
|
3097 | + } |
|
3098 | + |
|
3099 | + return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>'; |
|
3100 | + } |
|
3101 | + |
|
3102 | + /** |
|
3103 | + * Sanitize a string destined to be a tooltip. |
|
3104 | + * |
|
3105 | + * @param string $var |
|
3106 | + * |
|
3107 | + * @return string |
|
3108 | + */ |
|
3109 | + public function sanitize_tooltip( $var ) { |
|
3110 | + return htmlspecialchars( wp_kses( html_entity_decode( $var ), array( |
|
3111 | + 'br' => array(), |
|
3112 | + 'em' => array(), |
|
3113 | + 'strong' => array(), |
|
3114 | + 'small' => array(), |
|
3115 | + 'span' => array(), |
|
3116 | + 'ul' => array(), |
|
3117 | + 'li' => array(), |
|
3118 | + 'ol' => array(), |
|
3119 | + 'p' => array(), |
|
3120 | + ) ) ); |
|
3121 | + } |
|
3122 | + |
|
3123 | + /** |
|
3124 | + * Processing widget options on save |
|
3125 | + * |
|
3126 | + * @param array $new_instance The new options |
|
3127 | + * @param array $old_instance The previous options |
|
3128 | + * |
|
3129 | + * @return array |
|
3130 | + * @todo we should add some sanitation here. |
|
3131 | + */ |
|
3132 | + public function update( $new_instance, $old_instance ) { |
|
3133 | + |
|
3134 | + //save the widget |
|
3135 | + $instance = array_merge( (array) $old_instance, (array) $new_instance ); |
|
3136 | + |
|
3137 | + // set widget instance |
|
3138 | + $this->instance = $instance; |
|
3139 | + |
|
3140 | + if ( empty( $this->arguments ) ) { |
|
3141 | + $this->get_arguments(); |
|
3142 | + } |
|
3143 | + |
|
3144 | + // check for checkboxes |
|
3145 | + if ( ! empty( $this->arguments ) ) { |
|
3146 | + foreach ( $this->arguments as $argument ) { |
|
3147 | + if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) { |
|
3148 | + $instance[ $argument['name'] ] = '0'; |
|
3149 | + } |
|
3150 | + } |
|
3151 | + } |
|
3152 | + |
|
3153 | + return $instance; |
|
3154 | + } |
|
3155 | + |
|
3156 | + /** |
|
3157 | + * Checks if the current call is a ajax call to get the block content. |
|
3158 | + * |
|
3159 | + * This can be used in your widget to return different content as the block content. |
|
3160 | + * |
|
3161 | + * @since 1.0.3 |
|
3162 | + * @return bool |
|
3163 | + */ |
|
3164 | + public function is_block_content_call() { |
|
3165 | + $result = false; |
|
3166 | + if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) { |
|
3167 | + $result = true; |
|
3168 | + } |
|
3169 | + |
|
3170 | + return $result; |
|
3171 | + } |
|
3172 | + |
|
3173 | + /** |
|
3174 | + * Get an instance hash that will be unique to the type and settings. |
|
3175 | + * |
|
3176 | + * @since 1.0.20 |
|
3177 | + * @return string |
|
3178 | + */ |
|
3179 | + public function get_instance_hash(){ |
|
3180 | + $instance_string = $this->base_id.serialize($this->instance); |
|
3181 | + return hash('crc32b',$instance_string); |
|
3182 | + } |
|
3183 | + |
|
3184 | + /** |
|
3185 | + * Generate and return inline styles from CSS rules that will match the unique class of the instance. |
|
3186 | + * |
|
3187 | + * @param array $rules |
|
3188 | + * |
|
3189 | + * @since 1.0.20 |
|
3190 | + * @return string |
|
3191 | + */ |
|
3192 | + public function get_instance_style($rules = array()){ |
|
3193 | + $css = ''; |
|
3194 | + |
|
3195 | + if(!empty($rules)){ |
|
3196 | + $rules = array_unique($rules); |
|
3197 | + $instance_hash = $this->get_instance_hash(); |
|
3198 | + $css .= "<style>"; |
|
3199 | + foreach($rules as $rule){ |
|
3200 | + $css .= ".sdel-$instance_hash $rule"; |
|
3201 | + } |
|
3202 | + $css .= "</style>"; |
|
3203 | + } |
|
3204 | + |
|
3205 | + |
|
3206 | + return $css; |
|
3207 | + |
|
3208 | + } |
|
3209 | + |
|
3210 | + } |
|
3211 | 3211 | |
3212 | 3212 | } |
@@ -1,9 +1,9 @@ discard block |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 ocasions |
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 |
||
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 |
||
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 |
||
356 | 356 | * @param string $editor_id Optional. Shortcode editor id. Default null. |
357 | 357 | * @param string $insert_shortcode_function Optional. Insert shotcode 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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 ); //@todo this does not seem right @kiran? |
|
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); //@todo this does not seem right @kiran? |
|
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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';} ?>"}).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'; } ?>"}).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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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,55 +2486,55 @@ discard block |
||
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() ) { |
|
2521 | - echo ! empty( $this->options['widget_ops']['classname'] ) ? "<span class='" . esc_attr( $class ) . "'>" : ''; |
|
2520 | + if ($this->is_elementor_widget_output()) { |
|
2521 | + echo !empty($this->options['widget_ops']['classname']) ? "<span class='" . esc_attr($class) . "'>" : ''; |
|
2522 | 2522 | } |
2523 | - echo $this->output_title( $args, $instance ); |
|
2523 | + echo $this->output_title($args, $instance); |
|
2524 | 2524 | echo $output; |
2525 | - if ( $this->is_elementor_widget_output() ) { |
|
2526 | - echo ! empty( $this->options['widget_ops']['classname'] ) ? "</span>" : ''; |
|
2525 | + if ($this->is_elementor_widget_output()) { |
|
2526 | + echo !empty($this->options['widget_ops']['classname']) ? "</span>" : ''; |
|
2527 | 2527 | } |
2528 | 2528 | echo $after_widget; |
2529 | - } elseif ( $this->is_preview() && $output == '' ) {// if preview show a placeholder if empty |
|
2530 | - $output = $this->preview_placeholder_text( "{{" . $this->base_id . "}}" ); |
|
2529 | + } elseif ($this->is_preview() && $output == '') {// if preview show a placeholder if empty |
|
2530 | + $output = $this->preview_placeholder_text("{{" . $this->base_id . "}}"); |
|
2531 | 2531 | echo $output; |
2532 | - } elseif ( $output && $no_wrap ) { |
|
2532 | + } elseif ($output && $no_wrap) { |
|
2533 | 2533 | echo $output; |
2534 | 2534 | } |
2535 | 2535 | $output = ob_get_clean(); |
2536 | 2536 | |
2537 | - $output = apply_filters( 'wp_super_duper_widget_output', $output, $instance, $args, $this ); |
|
2537 | + $output = apply_filters('wp_super_duper_widget_output', $output, $instance, $args, $this); |
|
2538 | 2538 | |
2539 | 2539 | echo $output; |
2540 | 2540 | } |
@@ -2547,7 +2547,7 @@ discard block |
||
2547 | 2547 | */ |
2548 | 2548 | public function is_elementor_widget_output() { |
2549 | 2549 | $result = false; |
2550 | - if ( defined( 'ELEMENTOR_VERSION' ) && isset( $this->number ) && $this->number == 'REPLACE_TO_ID' ) { |
|
2550 | + if (defined('ELEMENTOR_VERSION') && isset($this->number) && $this->number == 'REPLACE_TO_ID') { |
|
2551 | 2551 | $result = true; |
2552 | 2552 | } |
2553 | 2553 | |
@@ -2562,7 +2562,7 @@ discard block |
||
2562 | 2562 | */ |
2563 | 2563 | public function is_elementor_preview() { |
2564 | 2564 | $result = false; |
2565 | - if ( isset( $_REQUEST['elementor-preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) || ( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor_ajax' ) ) { |
|
2565 | + if (isset($_REQUEST['elementor-preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor') || (isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor_ajax')) { |
|
2566 | 2566 | $result = true; |
2567 | 2567 | } |
2568 | 2568 | |
@@ -2577,7 +2577,7 @@ discard block |
||
2577 | 2577 | */ |
2578 | 2578 | public function is_divi_preview() { |
2579 | 2579 | $result = false; |
2580 | - if ( isset( $_REQUEST['et_fb'] ) || isset( $_REQUEST['et_pb_preview'] ) || ( is_admin() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'elementor' ) ) { |
|
2580 | + if (isset($_REQUEST['et_fb']) || isset($_REQUEST['et_pb_preview']) || (is_admin() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'elementor')) { |
|
2581 | 2581 | $result = true; |
2582 | 2582 | } |
2583 | 2583 | |
@@ -2592,7 +2592,7 @@ discard block |
||
2592 | 2592 | */ |
2593 | 2593 | public function is_beaver_preview() { |
2594 | 2594 | $result = false; |
2595 | - if ( isset( $_REQUEST['fl_builder'] ) ) { |
|
2595 | + if (isset($_REQUEST['fl_builder'])) { |
|
2596 | 2596 | $result = true; |
2597 | 2597 | } |
2598 | 2598 | |
@@ -2607,7 +2607,7 @@ discard block |
||
2607 | 2607 | */ |
2608 | 2608 | public function is_siteorigin_preview() { |
2609 | 2609 | $result = false; |
2610 | - if ( ! empty( $_REQUEST['siteorigin_panels_live_editor'] ) ) { |
|
2610 | + if (!empty($_REQUEST['siteorigin_panels_live_editor'])) { |
|
2611 | 2611 | $result = true; |
2612 | 2612 | } |
2613 | 2613 | |
@@ -2622,7 +2622,7 @@ discard block |
||
2622 | 2622 | */ |
2623 | 2623 | public function is_cornerstone_preview() { |
2624 | 2624 | $result = false; |
2625 | - if ( ! empty( $_REQUEST['cornerstone_preview'] ) || basename( $_SERVER['REQUEST_URI'] ) == 'cornerstone-endpoint' ) { |
|
2625 | + if (!empty($_REQUEST['cornerstone_preview']) || basename($_SERVER['REQUEST_URI']) == 'cornerstone-endpoint') { |
|
2626 | 2626 | $result = true; |
2627 | 2627 | } |
2628 | 2628 | |
@@ -2637,7 +2637,7 @@ discard block |
||
2637 | 2637 | */ |
2638 | 2638 | public function is_fusion_preview() { |
2639 | 2639 | $result = false; |
2640 | - if ( ! empty( $_REQUEST['fb-edit'] ) || ! empty( $_REQUEST['fusion_load_nonce'] ) ) { |
|
2640 | + if (!empty($_REQUEST['fb-edit']) || !empty($_REQUEST['fusion_load_nonce'])) { |
|
2641 | 2641 | $result = true; |
2642 | 2642 | } |
2643 | 2643 | |
@@ -2652,7 +2652,7 @@ discard block |
||
2652 | 2652 | */ |
2653 | 2653 | public function is_oxygen_preview() { |
2654 | 2654 | $result = false; |
2655 | - if ( ! empty( $_REQUEST['ct_builder'] ) || ( ! empty( $_REQUEST['action'] ) && ( substr( $_REQUEST['action'], 0, 11 ) === "oxy_render_" || substr( $_REQUEST['action'], 0, 10 ) === "ct_render_" ) ) ) { |
|
2655 | + if (!empty($_REQUEST['ct_builder']) || (!empty($_REQUEST['action']) && (substr($_REQUEST['action'], 0, 11) === "oxy_render_" || substr($_REQUEST['action'], 0, 10) === "ct_render_"))) { |
|
2656 | 2656 | $result = true; |
2657 | 2657 | } |
2658 | 2658 | |
@@ -2667,21 +2667,21 @@ discard block |
||
2667 | 2667 | */ |
2668 | 2668 | public function is_preview() { |
2669 | 2669 | $preview = false; |
2670 | - if ( $this->is_divi_preview() ) { |
|
2670 | + if ($this->is_divi_preview()) { |
|
2671 | 2671 | $preview = true; |
2672 | - } elseif ( $this->is_elementor_preview() ) { |
|
2672 | + } elseif ($this->is_elementor_preview()) { |
|
2673 | 2673 | $preview = true; |
2674 | - } elseif ( $this->is_beaver_preview() ) { |
|
2674 | + } elseif ($this->is_beaver_preview()) { |
|
2675 | 2675 | $preview = true; |
2676 | - } elseif ( $this->is_siteorigin_preview() ) { |
|
2676 | + } elseif ($this->is_siteorigin_preview()) { |
|
2677 | 2677 | $preview = true; |
2678 | - } elseif ( $this->is_cornerstone_preview() ) { |
|
2678 | + } elseif ($this->is_cornerstone_preview()) { |
|
2679 | 2679 | $preview = true; |
2680 | - } elseif ( $this->is_fusion_preview() ) { |
|
2680 | + } elseif ($this->is_fusion_preview()) { |
|
2681 | 2681 | $preview = true; |
2682 | - } elseif ( $this->is_oxygen_preview() ) { |
|
2682 | + } elseif ($this->is_oxygen_preview()) { |
|
2683 | 2683 | $preview = true; |
2684 | - } elseif( $this->is_block_content_call() ) { |
|
2684 | + } elseif ($this->is_block_content_call()) { |
|
2685 | 2685 | $preview = true; |
2686 | 2686 | } |
2687 | 2687 | |
@@ -2696,34 +2696,34 @@ discard block |
||
2696 | 2696 | * |
2697 | 2697 | * @return string |
2698 | 2698 | */ |
2699 | - public function output_title( $args, $instance = array() ) { |
|
2699 | + public function output_title($args, $instance = array()) { |
|
2700 | 2700 | $output = ''; |
2701 | - if ( ! empty( $instance['title'] ) ) { |
|
2701 | + if (!empty($instance['title'])) { |
|
2702 | 2702 | /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */ |
2703 | - $title = apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ); |
|
2703 | + $title = apply_filters('widget_title', $instance['title'], $instance, $this->id_base); |
|
2704 | 2704 | |
2705 | - if(empty($instance['widget_title_tag'])){ |
|
2705 | + if (empty($instance['widget_title_tag'])) { |
|
2706 | 2706 | $output = $args['before_title'] . $title . $args['after_title']; |
2707 | - }else{ |
|
2708 | - $title_tag = esc_attr( $instance['widget_title_tag'] ); |
|
2707 | + } else { |
|
2708 | + $title_tag = esc_attr($instance['widget_title_tag']); |
|
2709 | 2709 | |
2710 | 2710 | // classes |
2711 | 2711 | $title_classes = array(); |
2712 | - $title_classes[] = !empty( $instance['widget_title_size_class'] ) ? sanitize_html_class( $instance['widget_title_size_class'] ) : ''; |
|
2713 | - $title_classes[] = !empty( $instance['widget_title_align_class'] ) ? sanitize_html_class( $instance['widget_title_align_class'] ) : ''; |
|
2714 | - $title_classes[] = !empty( $instance['widget_title_color_class'] ) ? "text-".sanitize_html_class( $instance['widget_title_color_class'] ) : ''; |
|
2715 | - $title_classes[] = !empty( $instance['widget_title_border_class'] ) ? sanitize_html_class( $instance['widget_title_border_class'] ) : ''; |
|
2716 | - $title_classes[] = !empty( $instance['widget_title_border_color_class'] ) ? "border-".sanitize_html_class( $instance['widget_title_border_color_class'] ) : ''; |
|
2717 | - $title_classes[] = !empty( $instance['widget_title_mt_class'] ) ? "mt-".absint( $instance['widget_title_mt_class'] ) : ''; |
|
2718 | - $title_classes[] = !empty( $instance['widget_title_mr_class'] ) ? "mr-".absint( $instance['widget_title_mr_class'] ) : ''; |
|
2719 | - $title_classes[] = !empty( $instance['widget_title_mb_class'] ) ? "mb-".absint( $instance['widget_title_mb_class'] ) : ''; |
|
2720 | - $title_classes[] = !empty( $instance['widget_title_ml_class'] ) ? "ml-".absint( $instance['widget_title_ml_class'] ) : ''; |
|
2721 | - $title_classes[] = !empty( $instance['widget_title_pt_class'] ) ? "pt-".absint( $instance['widget_title_pt_class'] ) : ''; |
|
2722 | - $title_classes[] = !empty( $instance['widget_title_pr_class'] ) ? "pr-".absint( $instance['widget_title_pr_class'] ) : ''; |
|
2723 | - $title_classes[] = !empty( $instance['widget_title_pb_class'] ) ? "pb-".absint( $instance['widget_title_pb_class'] ) : ''; |
|
2724 | - $title_classes[] = !empty( $instance['widget_title_pl_class'] ) ? "pl-".absint( $instance['widget_title_pl_class'] ) : ''; |
|
2725 | - |
|
2726 | - $class = !empty( $title_classes ) ? implode(" ",$title_classes) : ''; |
|
2712 | + $title_classes[] = !empty($instance['widget_title_size_class']) ? sanitize_html_class($instance['widget_title_size_class']) : ''; |
|
2713 | + $title_classes[] = !empty($instance['widget_title_align_class']) ? sanitize_html_class($instance['widget_title_align_class']) : ''; |
|
2714 | + $title_classes[] = !empty($instance['widget_title_color_class']) ? "text-" . sanitize_html_class($instance['widget_title_color_class']) : ''; |
|
2715 | + $title_classes[] = !empty($instance['widget_title_border_class']) ? sanitize_html_class($instance['widget_title_border_class']) : ''; |
|
2716 | + $title_classes[] = !empty($instance['widget_title_border_color_class']) ? "border-" . sanitize_html_class($instance['widget_title_border_color_class']) : ''; |
|
2717 | + $title_classes[] = !empty($instance['widget_title_mt_class']) ? "mt-" . absint($instance['widget_title_mt_class']) : ''; |
|
2718 | + $title_classes[] = !empty($instance['widget_title_mr_class']) ? "mr-" . absint($instance['widget_title_mr_class']) : ''; |
|
2719 | + $title_classes[] = !empty($instance['widget_title_mb_class']) ? "mb-" . absint($instance['widget_title_mb_class']) : ''; |
|
2720 | + $title_classes[] = !empty($instance['widget_title_ml_class']) ? "ml-" . absint($instance['widget_title_ml_class']) : ''; |
|
2721 | + $title_classes[] = !empty($instance['widget_title_pt_class']) ? "pt-" . absint($instance['widget_title_pt_class']) : ''; |
|
2722 | + $title_classes[] = !empty($instance['widget_title_pr_class']) ? "pr-" . absint($instance['widget_title_pr_class']) : ''; |
|
2723 | + $title_classes[] = !empty($instance['widget_title_pb_class']) ? "pb-" . absint($instance['widget_title_pb_class']) : ''; |
|
2724 | + $title_classes[] = !empty($instance['widget_title_pl_class']) ? "pl-" . absint($instance['widget_title_pl_class']) : ''; |
|
2725 | + |
|
2726 | + $class = !empty($title_classes) ? implode(" ", $title_classes) : ''; |
|
2727 | 2727 | $output = "<$title_tag class='$class' >$title</$title_tag>"; |
2728 | 2728 | } |
2729 | 2729 | |
@@ -2737,7 +2737,7 @@ discard block |
||
2737 | 2737 | * |
2738 | 2738 | * @param array $instance The widget options. |
2739 | 2739 | */ |
2740 | - public function form( $instance ) { |
|
2740 | + public function form($instance) { |
|
2741 | 2741 | |
2742 | 2742 | // set widget instance |
2743 | 2743 | $this->instance = $instance; |
@@ -2745,20 +2745,20 @@ discard block |
||
2745 | 2745 | // set it as a SD widget |
2746 | 2746 | echo $this->widget_advanced_toggle(); |
2747 | 2747 | |
2748 | - echo "<p>" . esc_attr( $this->options['widget_ops']['description'] ) . "</p>"; |
|
2748 | + echo "<p>" . esc_attr($this->options['widget_ops']['description']) . "</p>"; |
|
2749 | 2749 | $arguments_raw = $this->get_arguments(); |
2750 | 2750 | |
2751 | - if ( is_array( $arguments_raw ) ) { |
|
2751 | + if (is_array($arguments_raw)) { |
|
2752 | 2752 | |
2753 | - $arguments = $this->group_arguments( $arguments_raw ); |
|
2753 | + $arguments = $this->group_arguments($arguments_raw); |
|
2754 | 2754 | |
2755 | 2755 | // Do we have sections? |
2756 | 2756 | $has_sections = $arguments == $arguments_raw ? false : true; |
2757 | 2757 | |
2758 | 2758 | |
2759 | - if ( $has_sections ) { |
|
2759 | + if ($has_sections) { |
|
2760 | 2760 | $panel_count = 0; |
2761 | - foreach ( $arguments as $key => $args ) { |
|
2761 | + foreach ($arguments as $key => $args) { |
|
2762 | 2762 | |
2763 | 2763 | ?> |
2764 | 2764 | <script> |
@@ -2768,26 +2768,26 @@ discard block |
||
2768 | 2768 | |
2769 | 2769 | $hide = $panel_count ? ' style="display:none;" ' : ''; |
2770 | 2770 | $icon_class = $panel_count ? 'fas fa-chevron-up' : 'fas fa-chevron-down'; |
2771 | - 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>"; |
|
2772 | - echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes( $key ) . "' $hide>"; |
|
2771 | + 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>"; |
|
2772 | + echo "<div class='sd-toggle-group sd-input-group-" . sanitize_title_with_dashes($key) . "' $hide>"; |
|
2773 | 2773 | |
2774 | - foreach ( $args as $k => $a ) { |
|
2774 | + foreach ($args as $k => $a) { |
|
2775 | 2775 | |
2776 | 2776 | $this->widget_inputs_row_start($k, $a); |
2777 | - $this->widget_inputs( $a, $instance ); |
|
2777 | + $this->widget_inputs($a, $instance); |
|
2778 | 2778 | $this->widget_inputs_row_end($k, $a); |
2779 | 2779 | |
2780 | 2780 | } |
2781 | 2781 | |
2782 | 2782 | echo "</div>"; |
2783 | 2783 | |
2784 | - $panel_count ++; |
|
2784 | + $panel_count++; |
|
2785 | 2785 | |
2786 | 2786 | } |
2787 | 2787 | } else { |
2788 | - foreach ( $arguments as $key => $args ) { |
|
2788 | + foreach ($arguments as $key => $args) { |
|
2789 | 2789 | $this->widget_inputs_row_start($key, $args); |
2790 | - $this->widget_inputs( $args, $instance ); |
|
2790 | + $this->widget_inputs($args, $instance); |
|
2791 | 2791 | $this->widget_inputs_row_end($key, $args); |
2792 | 2792 | } |
2793 | 2793 | } |
@@ -2795,33 +2795,33 @@ discard block |
||
2795 | 2795 | } |
2796 | 2796 | } |
2797 | 2797 | |
2798 | - public function widget_inputs_row_start($key, $args){ |
|
2799 | - if(!empty($args['row'])){ |
|
2798 | + public function widget_inputs_row_start($key, $args) { |
|
2799 | + if (!empty($args['row'])) { |
|
2800 | 2800 | // maybe open |
2801 | - if(!empty($args['row']['open'])){ |
|
2801 | + if (!empty($args['row']['open'])) { |
|
2802 | 2802 | ?> |
2803 | - <div class='bsui sd-argument ' data-argument='<?php echo esc_attr( $args['row']['key'] ); ?>' data-element_require='<?php if ( !empty($args['row']['element_require'])) { |
|
2804 | - echo $this->convert_element_require( $args['row']['element_require'] ); |
|
2803 | + <div class='bsui sd-argument ' data-argument='<?php echo esc_attr($args['row']['key']); ?>' data-element_require='<?php if (!empty($args['row']['element_require'])) { |
|
2804 | + echo $this->convert_element_require($args['row']['element_require']); |
|
2805 | 2805 | } ?>'> |
2806 | - <?php if(!empty($args['row']['title'])){ ?> |
|
2807 | - <label class="mb-0 "><?php echo esc_attr( $args['row']['title'] ); ?><?php echo $this->widget_field_desc( $args['row'] ); ?></label> |
|
2806 | + <?php if (!empty($args['row']['title'])) { ?> |
|
2807 | + <label class="mb-0 "><?php echo esc_attr($args['row']['title']); ?><?php echo $this->widget_field_desc($args['row']); ?></label> |
|
2808 | 2808 | <?php }?> |
2809 | - <div class='row <?php if(!empty($args['row']['class'])){ echo esc_attr($args['row']['class']);} ?>'> |
|
2809 | + <div class='row <?php if (!empty($args['row']['class'])) { echo esc_attr($args['row']['class']); } ?>'> |
|
2810 | 2810 | <div class='col pr-2'> |
2811 | 2811 | <?php |
2812 | - }elseif(!empty($args['row']['close'])){ |
|
2812 | + }elseif (!empty($args['row']['close'])) { |
|
2813 | 2813 | echo "<div class='col pl-0'>"; |
2814 | - }else{ |
|
2814 | + } else { |
|
2815 | 2815 | echo "<div class='col pl-0 pr-2'>"; |
2816 | 2816 | } |
2817 | 2817 | } |
2818 | 2818 | } |
2819 | 2819 | |
2820 | - public function widget_inputs_row_end($key, $args){ |
|
2820 | + public function widget_inputs_row_end($key, $args) { |
|
2821 | 2821 | |
2822 | - if(!empty($args['row'])){ |
|
2822 | + if (!empty($args['row'])) { |
|
2823 | 2823 | // maybe close |
2824 | - if(!empty($args['row']['close'])){ |
|
2824 | + if (!empty($args['row']['close'])) { |
|
2825 | 2825 | echo "</div></div>"; |
2826 | 2826 | } |
2827 | 2827 | |
@@ -2837,7 +2837,7 @@ discard block |
||
2837 | 2837 | public function widget_advanced_toggle() { |
2838 | 2838 | |
2839 | 2839 | $output = ''; |
2840 | - if ( $this->block_show_advanced() ) { |
|
2840 | + if ($this->block_show_advanced()) { |
|
2841 | 2841 | $val = 1; |
2842 | 2842 | } else { |
2843 | 2843 | $val = 0; |
@@ -2857,14 +2857,14 @@ discard block |
||
2857 | 2857 | * |
2858 | 2858 | * @return string $output |
2859 | 2859 | */ |
2860 | - public function convert_element_require( $input ) { |
|
2860 | + public function convert_element_require($input) { |
|
2861 | 2861 | |
2862 | - $input = str_replace( "'", '"', $input );// we only want double quotes |
|
2862 | + $input = str_replace("'", '"', $input); // we only want double quotes |
|
2863 | 2863 | |
2864 | - $output = esc_attr( str_replace( array( "[%", "%]" ), array( |
|
2864 | + $output = esc_attr(str_replace(array("[%", "%]"), array( |
|
2865 | 2865 | "jQuery(form).find('[data-argument=\"", |
2866 | 2866 | "\"]').find('input,select,textarea').val()" |
2867 | - ), $input ) ); |
|
2867 | + ), $input)); |
|
2868 | 2868 | |
2869 | 2869 | return $output; |
2870 | 2870 | } |
@@ -2875,56 +2875,56 @@ discard block |
||
2875 | 2875 | * @param $args |
2876 | 2876 | * @param $instance |
2877 | 2877 | */ |
2878 | - public function widget_inputs( $args, $instance ) { |
|
2878 | + public function widget_inputs($args, $instance) { |
|
2879 | 2879 | |
2880 | 2880 | $class = ""; |
2881 | 2881 | $element_require = ""; |
2882 | 2882 | $custom_attributes = ""; |
2883 | 2883 | |
2884 | 2884 | // get value |
2885 | - if ( isset( $instance[ $args['name'] ] ) ) { |
|
2886 | - $value = $instance[ $args['name'] ]; |
|
2887 | - } elseif ( ! isset( $instance[ $args['name'] ] ) && ! empty( $args['default'] ) ) { |
|
2888 | - $value = is_array( $args['default'] ) ? array_map( "esc_html", $args['default'] ) : esc_html( $args['default'] ); |
|
2885 | + if (isset($instance[$args['name']])) { |
|
2886 | + $value = $instance[$args['name']]; |
|
2887 | + } elseif (!isset($instance[$args['name']]) && !empty($args['default'])) { |
|
2888 | + $value = is_array($args['default']) ? array_map("esc_html", $args['default']) : esc_html($args['default']); |
|
2889 | 2889 | } else { |
2890 | 2890 | $value = ''; |
2891 | 2891 | } |
2892 | 2892 | |
2893 | 2893 | // get placeholder |
2894 | - if ( ! empty( $args['placeholder'] ) ) { |
|
2895 | - $placeholder = "placeholder='" . esc_html( $args['placeholder'] ) . "'"; |
|
2894 | + if (!empty($args['placeholder'])) { |
|
2895 | + $placeholder = "placeholder='" . esc_html($args['placeholder']) . "'"; |
|
2896 | 2896 | } else { |
2897 | 2897 | $placeholder = ''; |
2898 | 2898 | } |
2899 | 2899 | |
2900 | 2900 | // get if advanced |
2901 | - if ( isset( $args['advanced'] ) && $args['advanced'] ) { |
|
2901 | + if (isset($args['advanced']) && $args['advanced']) { |
|
2902 | 2902 | $class .= " sd-advanced-setting "; |
2903 | 2903 | } |
2904 | 2904 | |
2905 | 2905 | // element_require |
2906 | - if ( isset( $args['element_require'] ) && $args['element_require'] ) { |
|
2906 | + if (isset($args['element_require']) && $args['element_require']) { |
|
2907 | 2907 | $element_require = $args['element_require']; |
2908 | 2908 | } |
2909 | 2909 | |
2910 | 2910 | // custom_attributes |
2911 | - if ( isset( $args['custom_attributes'] ) && $args['custom_attributes'] ) { |
|
2912 | - $custom_attributes = $this->array_to_attributes( $args['custom_attributes'], true ); |
|
2911 | + if (isset($args['custom_attributes']) && $args['custom_attributes']) { |
|
2912 | + $custom_attributes = $this->array_to_attributes($args['custom_attributes'], true); |
|
2913 | 2913 | } |
2914 | 2914 | |
2915 | 2915 | |
2916 | 2916 | // before wrapper |
2917 | 2917 | ?> |
2918 | - <p class="sd-argument <?php echo esc_attr( $class ); ?>" |
|
2919 | - data-argument='<?php echo esc_attr( $args['name'] ); ?>' |
|
2920 | - data-element_require='<?php if ( $element_require ) { |
|
2921 | - echo $this->convert_element_require( $element_require ); |
|
2918 | + <p class="sd-argument <?php echo esc_attr($class); ?>" |
|
2919 | + data-argument='<?php echo esc_attr($args['name']); ?>' |
|
2920 | + data-element_require='<?php if ($element_require) { |
|
2921 | + echo $this->convert_element_require($element_require); |
|
2922 | 2922 | } ?>' |
2923 | 2923 | > |
2924 | 2924 | <?php |
2925 | 2925 | |
2926 | 2926 | |
2927 | - switch ( $args['type'] ) { |
|
2927 | + switch ($args['type']) { |
|
2928 | 2928 | //array('text','password','number','email','tel','url','color') |
2929 | 2929 | case "text": |
2930 | 2930 | case "password": |
@@ -2935,46 +2935,46 @@ discard block |
||
2935 | 2935 | case "color": |
2936 | 2936 | ?> |
2937 | 2937 | <label |
2938 | - 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> |
|
2938 | + 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> |
|
2939 | 2939 | <input <?php echo $placeholder; ?> class="widefat" |
2940 | 2940 | <?php echo $custom_attributes; ?> |
2941 | - id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" |
|
2942 | - name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" |
|
2943 | - type="<?php echo esc_attr( $args['type'] ); ?>" |
|
2944 | - value="<?php echo esc_attr( $value ); ?>"> |
|
2941 | + id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>" |
|
2942 | + name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>" |
|
2943 | + type="<?php echo esc_attr($args['type']); ?>" |
|
2944 | + value="<?php echo esc_attr($value); ?>"> |
|
2945 | 2945 | <?php |
2946 | 2946 | |
2947 | 2947 | break; |
2948 | 2948 | case "select": |
2949 | - $multiple = isset( $args['multiple'] ) && $args['multiple'] ? true : false; |
|
2950 | - if ( $multiple ) { |
|
2951 | - if ( empty( $value ) ) { |
|
2949 | + $multiple = isset($args['multiple']) && $args['multiple'] ? true : false; |
|
2950 | + if ($multiple) { |
|
2951 | + if (empty($value)) { |
|
2952 | 2952 | $value = array(); |
2953 | 2953 | } |
2954 | 2954 | } |
2955 | 2955 | ?> |
2956 | 2956 | <label |
2957 | - 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> |
|
2957 | + 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> |
|
2958 | 2958 | <select <?php echo $placeholder; ?> class="widefat" |
2959 | 2959 | <?php echo $custom_attributes; ?> |
2960 | - id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" |
|
2961 | - name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); |
|
2962 | - if ( $multiple ) { |
|
2960 | + id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>" |
|
2961 | + name="<?php echo esc_attr($this->get_field_name($args['name'])); |
|
2962 | + if ($multiple) { |
|
2963 | 2963 | echo "[]"; |
2964 | 2964 | } ?>" |
2965 | - <?php if ( $multiple ) { |
|
2965 | + <?php if ($multiple) { |
|
2966 | 2966 | echo "multiple"; |
2967 | 2967 | } //@todo not implemented yet due to gutenberg not supporting it |
2968 | 2968 | ?> |
2969 | 2969 | > |
2970 | 2970 | <?php |
2971 | 2971 | |
2972 | - if ( ! empty( $args['options'] ) ) { |
|
2973 | - foreach ( $args['options'] as $val => $label ) { |
|
2974 | - if ( $multiple ) { |
|
2975 | - $selected = in_array( $val, $value ) ? 'selected="selected"' : ''; |
|
2972 | + if (!empty($args['options'])) { |
|
2973 | + foreach ($args['options'] as $val => $label) { |
|
2974 | + if ($multiple) { |
|
2975 | + $selected = in_array($val, $value) ? 'selected="selected"' : ''; |
|
2976 | 2976 | } else { |
2977 | - $selected = selected( $value, $val, false ); |
|
2977 | + $selected = selected($value, $val, false); |
|
2978 | 2978 | } |
2979 | 2979 | echo "<option value='$val' " . $selected . ">$label</option>"; |
2980 | 2980 | } |
@@ -2986,32 +2986,32 @@ discard block |
||
2986 | 2986 | case "checkbox": |
2987 | 2987 | ?> |
2988 | 2988 | <input <?php echo $placeholder; ?> |
2989 | - <?php checked( 1, $value, true ) ?> |
|
2989 | + <?php checked(1, $value, true) ?> |
|
2990 | 2990 | <?php echo $custom_attributes; ?> |
2991 | - class="widefat" id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" |
|
2992 | - name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="checkbox" |
|
2991 | + class="widefat" id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>" |
|
2992 | + name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>" type="checkbox" |
|
2993 | 2993 | value="1"> |
2994 | 2994 | <label |
2995 | - 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> |
|
2995 | + 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> |
|
2996 | 2996 | <?php |
2997 | 2997 | break; |
2998 | 2998 | case "textarea": |
2999 | 2999 | ?> |
3000 | 3000 | <label |
3001 | - 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> |
|
3001 | + 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 | 3002 | <textarea <?php echo $placeholder; ?> class="widefat" |
3003 | 3003 | <?php echo $custom_attributes; ?> |
3004 | - id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" |
|
3005 | - name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" |
|
3006 | - ><?php echo esc_attr( $value ); ?></textarea> |
|
3004 | + id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>" |
|
3005 | + name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>" |
|
3006 | + ><?php echo esc_attr($value); ?></textarea> |
|
3007 | 3007 | <?php |
3008 | 3008 | |
3009 | 3009 | break; |
3010 | 3010 | case "hidden": |
3011 | 3011 | ?> |
3012 | - <input id="<?php echo esc_attr( $this->get_field_id( $args['name'] ) ); ?>" |
|
3013 | - name="<?php echo esc_attr( $this->get_field_name( $args['name'] ) ); ?>" type="hidden" |
|
3014 | - value="<?php echo esc_attr( $value ); ?>"> |
|
3012 | + <input id="<?php echo esc_attr($this->get_field_id($args['name'])); ?>" |
|
3013 | + name="<?php echo esc_attr($this->get_field_name($args['name'])); ?>" type="hidden" |
|
3014 | + value="<?php echo esc_attr($value); ?>"> |
|
3015 | 3015 | <?php |
3016 | 3016 | break; |
3017 | 3017 | default: |
@@ -3026,15 +3026,15 @@ discard block |
||
3026 | 3026 | |
3027 | 3027 | } |
3028 | 3028 | |
3029 | - public function get_widget_icon($icon = 'box-top', $title = ''){ |
|
3030 | - if($icon=='box-top'){ |
|
3031 | - 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>'; |
|
3032 | - }elseif($icon=='box-right'){ |
|
3033 | - 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>'; |
|
3034 | - }elseif($icon=='box-bottom'){ |
|
3035 | - 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>'; |
|
3036 | - }elseif($icon=='box-left'){ |
|
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.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>'; |
|
3029 | + public function get_widget_icon($icon = 'box-top', $title = '') { |
|
3030 | + if ($icon == 'box-top') { |
|
3031 | + 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>'; |
|
3032 | + }elseif ($icon == 'box-right') { |
|
3033 | + 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>'; |
|
3034 | + }elseif ($icon == 'box-bottom') { |
|
3035 | + 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>'; |
|
3036 | + }elseif ($icon == 'box-left') { |
|
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.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>'; |
|
3038 | 3038 | } |
3039 | 3039 | } |
3040 | 3040 | |
@@ -3046,14 +3046,14 @@ discard block |
||
3046 | 3046 | * @return string |
3047 | 3047 | * @todo, need to make its own tooltip script |
3048 | 3048 | */ |
3049 | - public function widget_field_desc( $args ) { |
|
3049 | + public function widget_field_desc($args) { |
|
3050 | 3050 | |
3051 | 3051 | $description = ''; |
3052 | - if ( isset( $args['desc'] ) && $args['desc'] ) { |
|
3053 | - if ( isset( $args['desc_tip'] ) && $args['desc_tip'] ) { |
|
3054 | - $description = $this->desc_tip( $args['desc'] ); |
|
3052 | + if (isset($args['desc']) && $args['desc']) { |
|
3053 | + if (isset($args['desc_tip']) && $args['desc_tip']) { |
|
3054 | + $description = $this->desc_tip($args['desc']); |
|
3055 | 3055 | } else { |
3056 | - $description = '<span class="description">' . wp_kses_post( $args['desc'] ) . '</span>'; |
|
3056 | + $description = '<span class="description">' . wp_kses_post($args['desc']) . '</span>'; |
|
3057 | 3057 | } |
3058 | 3058 | } |
3059 | 3059 | |
@@ -3067,12 +3067,12 @@ discard block |
||
3067 | 3067 | * |
3068 | 3068 | * @return string |
3069 | 3069 | */ |
3070 | - public function widget_field_title( $args ) { |
|
3070 | + public function widget_field_title($args) { |
|
3071 | 3071 | |
3072 | 3072 | $title = ''; |
3073 | - if ( isset( $args['title'] ) && $args['title'] ) { |
|
3074 | - if ( isset( $args['icon'] ) && $args['icon'] ) { |
|
3075 | - $title = self::get_widget_icon( $args['icon'], $args['title'] ); |
|
3073 | + if (isset($args['title']) && $args['title']) { |
|
3074 | + if (isset($args['icon']) && $args['icon']) { |
|
3075 | + $title = self::get_widget_icon($args['icon'], $args['title']); |
|
3076 | 3076 | } else { |
3077 | 3077 | $title = esc_attr($args['title']); |
3078 | 3078 | } |
@@ -3089,11 +3089,11 @@ discard block |
||
3089 | 3089 | * |
3090 | 3090 | * @return string |
3091 | 3091 | */ |
3092 | - function desc_tip( $tip, $allow_html = false ) { |
|
3093 | - if ( $allow_html ) { |
|
3094 | - $tip = $this->sanitize_tooltip( $tip ); |
|
3092 | + function desc_tip($tip, $allow_html = false) { |
|
3093 | + if ($allow_html) { |
|
3094 | + $tip = $this->sanitize_tooltip($tip); |
|
3095 | 3095 | } else { |
3096 | - $tip = esc_attr( $tip ); |
|
3096 | + $tip = esc_attr($tip); |
|
3097 | 3097 | } |
3098 | 3098 | |
3099 | 3099 | return '<span class="gd-help-tip dashicons dashicons-editor-help" title="' . $tip . '"></span>'; |
@@ -3106,8 +3106,8 @@ discard block |
||
3106 | 3106 | * |
3107 | 3107 | * @return string |
3108 | 3108 | */ |
3109 | - public function sanitize_tooltip( $var ) { |
|
3110 | - return htmlspecialchars( wp_kses( html_entity_decode( $var ), array( |
|
3109 | + public function sanitize_tooltip($var) { |
|
3110 | + return htmlspecialchars(wp_kses(html_entity_decode($var), array( |
|
3111 | 3111 | 'br' => array(), |
3112 | 3112 | 'em' => array(), |
3113 | 3113 | 'strong' => array(), |
@@ -3117,7 +3117,7 @@ discard block |
||
3117 | 3117 | 'li' => array(), |
3118 | 3118 | 'ol' => array(), |
3119 | 3119 | 'p' => array(), |
3120 | - ) ) ); |
|
3120 | + ))); |
|
3121 | 3121 | } |
3122 | 3122 | |
3123 | 3123 | /** |
@@ -3129,23 +3129,23 @@ discard block |
||
3129 | 3129 | * @return array |
3130 | 3130 | * @todo we should add some sanitation here. |
3131 | 3131 | */ |
3132 | - public function update( $new_instance, $old_instance ) { |
|
3132 | + public function update($new_instance, $old_instance) { |
|
3133 | 3133 | |
3134 | 3134 | //save the widget |
3135 | - $instance = array_merge( (array) $old_instance, (array) $new_instance ); |
|
3135 | + $instance = array_merge((array) $old_instance, (array) $new_instance); |
|
3136 | 3136 | |
3137 | 3137 | // set widget instance |
3138 | 3138 | $this->instance = $instance; |
3139 | 3139 | |
3140 | - if ( empty( $this->arguments ) ) { |
|
3140 | + if (empty($this->arguments)) { |
|
3141 | 3141 | $this->get_arguments(); |
3142 | 3142 | } |
3143 | 3143 | |
3144 | 3144 | // check for checkboxes |
3145 | - if ( ! empty( $this->arguments ) ) { |
|
3146 | - foreach ( $this->arguments as $argument ) { |
|
3147 | - if ( isset( $argument['type'] ) && $argument['type'] == 'checkbox' && ! isset( $new_instance[ $argument['name'] ] ) ) { |
|
3148 | - $instance[ $argument['name'] ] = '0'; |
|
3145 | + if (!empty($this->arguments)) { |
|
3146 | + foreach ($this->arguments as $argument) { |
|
3147 | + if (isset($argument['type']) && $argument['type'] == 'checkbox' && !isset($new_instance[$argument['name']])) { |
|
3148 | + $instance[$argument['name']] = '0'; |
|
3149 | 3149 | } |
3150 | 3150 | } |
3151 | 3151 | } |
@@ -3163,7 +3163,7 @@ discard block |
||
3163 | 3163 | */ |
3164 | 3164 | public function is_block_content_call() { |
3165 | 3165 | $result = false; |
3166 | - if ( wp_doing_ajax() && isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'super_duper_output_shortcode' ) { |
|
3166 | + if (wp_doing_ajax() && isset($_REQUEST['action']) && $_REQUEST['action'] == 'super_duper_output_shortcode') { |
|
3167 | 3167 | $result = true; |
3168 | 3168 | } |
3169 | 3169 | |
@@ -3176,9 +3176,9 @@ discard block |
||
3176 | 3176 | * @since 1.0.20 |
3177 | 3177 | * @return string |
3178 | 3178 | */ |
3179 | - public function get_instance_hash(){ |
|
3180 | - $instance_string = $this->base_id.serialize($this->instance); |
|
3181 | - return hash('crc32b',$instance_string); |
|
3179 | + public function get_instance_hash() { |
|
3180 | + $instance_string = $this->base_id . serialize($this->instance); |
|
3181 | + return hash('crc32b', $instance_string); |
|
3182 | 3182 | } |
3183 | 3183 | |
3184 | 3184 | /** |
@@ -3189,14 +3189,14 @@ discard block |
||
3189 | 3189 | * @since 1.0.20 |
3190 | 3190 | * @return string |
3191 | 3191 | */ |
3192 | - public function get_instance_style($rules = array()){ |
|
3192 | + public function get_instance_style($rules = array()) { |
|
3193 | 3193 | $css = ''; |
3194 | 3194 | |
3195 | - if(!empty($rules)){ |
|
3195 | + if (!empty($rules)) { |
|
3196 | 3196 | $rules = array_unique($rules); |
3197 | 3197 | $instance_hash = $this->get_instance_hash(); |
3198 | 3198 | $css .= "<style>"; |
3199 | - foreach($rules as $rule){ |
|
3199 | + foreach ($rules as $rule) { |
|
3200 | 3200 | $css .= ".sdel-$instance_hash $rule"; |
3201 | 3201 | } |
3202 | 3202 | $css .= "</style>"; |
@@ -8,7 +8,7 @@ discard block |
||
8 | 8 | * @version 1.0.19 |
9 | 9 | */ |
10 | 10 | |
11 | -defined( 'ABSPATH' ) || exit; |
|
11 | +defined('ABSPATH') || exit; |
|
12 | 12 | |
13 | 13 | return array( |
14 | 14 | |
@@ -18,7 +18,7 @@ discard block |
||
18 | 18 | 'global' => true, |
19 | 19 | 'rate' => 20, |
20 | 20 | 'reduced_rate' => 13, |
21 | - 'name' => __( 'VAT', 'invoicing' ), |
|
21 | + 'name' => __('VAT', 'invoicing'), |
|
22 | 22 | ), |
23 | 23 | |
24 | 24 | array( |
@@ -27,7 +27,7 @@ discard block |
||
27 | 27 | 'global' => true, |
28 | 28 | 'rate' => 21, |
29 | 29 | 'reduced_rate' => 12, |
30 | - 'name' => __( 'VAT', 'invoicing' ), |
|
30 | + 'name' => __('VAT', 'invoicing'), |
|
31 | 31 | ), |
32 | 32 | |
33 | 33 | array( |
@@ -36,7 +36,7 @@ discard block |
||
36 | 36 | 'global' => true, |
37 | 37 | 'rate' => 20, |
38 | 38 | 'reduced_rate' => 9, |
39 | - 'name' => __( 'VAT', 'invoicing' ), |
|
39 | + 'name' => __('VAT', 'invoicing'), |
|
40 | 40 | ), |
41 | 41 | |
42 | 42 | array( |
@@ -45,7 +45,7 @@ discard block |
||
45 | 45 | 'global' => true, |
46 | 46 | 'rate' => 19, |
47 | 47 | 'reduced_rate' => 9, |
48 | - 'name' => __( 'VAT', 'invoicing' ), |
|
48 | + 'name' => __('VAT', 'invoicing'), |
|
49 | 49 | ), |
50 | 50 | |
51 | 51 | array( |
@@ -54,7 +54,7 @@ discard block |
||
54 | 54 | 'global' => true, |
55 | 55 | 'rate' => 21, |
56 | 56 | 'reduced_rate' => 15, |
57 | - 'name' => __( 'VAT', 'invoicing' ), |
|
57 | + 'name' => __('VAT', 'invoicing'), |
|
58 | 58 | ), |
59 | 59 | |
60 | 60 | array( |
@@ -63,7 +63,7 @@ discard block |
||
63 | 63 | 'global' => true, |
64 | 64 | 'rate' => 25, |
65 | 65 | 'reduced_rate' => 25, |
66 | - 'name' => __( 'VAT', 'invoicing' ), |
|
66 | + 'name' => __('VAT', 'invoicing'), |
|
67 | 67 | ), |
68 | 68 | |
69 | 69 | array( |
@@ -72,7 +72,7 @@ discard block |
||
72 | 72 | 'global' => true, |
73 | 73 | 'rate' => 16, |
74 | 74 | 'reduced_rate' => 5, |
75 | - 'name' => __( 'VAT', 'invoicing' ), |
|
75 | + 'name' => __('VAT', 'invoicing'), |
|
76 | 76 | ), |
77 | 77 | |
78 | 78 | array( |
@@ -81,7 +81,7 @@ discard block |
||
81 | 81 | 'global' => true, |
82 | 82 | 'rate' => 20, |
83 | 83 | 'reduced_rate' => 9, |
84 | - 'name' => __( 'VAT', 'invoicing' ), |
|
84 | + 'name' => __('VAT', 'invoicing'), |
|
85 | 85 | ), |
86 | 86 | |
87 | 87 | array( |
@@ -90,7 +90,7 @@ discard block |
||
90 | 90 | 'global' => true, |
91 | 91 | 'rate' => 24, |
92 | 92 | 'reduced_rate' => 13, |
93 | - 'name' => __( 'VAT', 'invoicing' ), |
|
93 | + 'name' => __('VAT', 'invoicing'), |
|
94 | 94 | ), |
95 | 95 | |
96 | 96 | array( |
@@ -99,7 +99,7 @@ discard block |
||
99 | 99 | 'global' => true, |
100 | 100 | 'rate' => 21, |
101 | 101 | 'reduced_rate' => 10, |
102 | - 'name' => __( 'VAT', 'invoicing' ), |
|
102 | + 'name' => __('VAT', 'invoicing'), |
|
103 | 103 | ), |
104 | 104 | |
105 | 105 | array( |
@@ -108,7 +108,7 @@ discard block |
||
108 | 108 | 'global' => true, |
109 | 109 | 'rate' => 24, |
110 | 110 | 'reduced_rate' => 14, |
111 | - 'name' => __( 'VAT', 'invoicing' ), |
|
111 | + 'name' => __('VAT', 'invoicing'), |
|
112 | 112 | ), |
113 | 113 | |
114 | 114 | array( |
@@ -117,7 +117,7 @@ discard block |
||
117 | 117 | 'global' => true, |
118 | 118 | 'rate' => 20, |
119 | 119 | 'reduced_rate' => 10, |
120 | - 'name' => __( 'VAT', 'invoicing' ), |
|
120 | + 'name' => __('VAT', 'invoicing'), |
|
121 | 121 | ), |
122 | 122 | |
123 | 123 | array( |
@@ -126,7 +126,7 @@ discard block |
||
126 | 126 | 'global' => true, |
127 | 127 | 'rate' => 25, |
128 | 128 | 'reduced_rate' => 13, |
129 | - 'name' => __( 'VAT', 'invoicing' ), |
|
129 | + 'name' => __('VAT', 'invoicing'), |
|
130 | 130 | ), |
131 | 131 | |
132 | 132 | array( |
@@ -135,7 +135,7 @@ discard block |
||
135 | 135 | 'global' => true, |
136 | 136 | 'rate' => 22, |
137 | 137 | 'reduced_rate' => 10, |
138 | - 'name' => __( 'VAT', 'invoicing' ), |
|
138 | + 'name' => __('VAT', 'invoicing'), |
|
139 | 139 | ), |
140 | 140 | |
141 | 141 | array( |
@@ -144,7 +144,7 @@ discard block |
||
144 | 144 | 'global' => true, |
145 | 145 | 'rate' => 21, |
146 | 146 | 'reduced_rate' => 12, |
147 | - 'name' => __( 'VAT', 'invoicing' ), |
|
147 | + 'name' => __('VAT', 'invoicing'), |
|
148 | 148 | ), |
149 | 149 | |
150 | 150 | array( |
@@ -153,7 +153,7 @@ discard block |
||
153 | 153 | 'global' => true, |
154 | 154 | 'rate' => 21, |
155 | 155 | 'reduced_rate' => 9, |
156 | - 'name' => __( 'VAT', 'invoicing' ), |
|
156 | + 'name' => __('VAT', 'invoicing'), |
|
157 | 157 | ), |
158 | 158 | |
159 | 159 | array( |
@@ -162,7 +162,7 @@ discard block |
||
162 | 162 | 'global' => true, |
163 | 163 | 'rate' => 17, |
164 | 164 | 'reduced_rate' => 14, |
165 | - 'name' => __( 'VAT', 'invoicing' ), |
|
165 | + 'name' => __('VAT', 'invoicing'), |
|
166 | 166 | ), |
167 | 167 | |
168 | 168 | array( |
@@ -171,7 +171,7 @@ discard block |
||
171 | 171 | 'global' => true, |
172 | 172 | 'rate' => 27, |
173 | 173 | 'reduced_rate' => 18, |
174 | - 'name' => __( 'VAT', 'invoicing' ), |
|
174 | + 'name' => __('VAT', 'invoicing'), |
|
175 | 175 | ), |
176 | 176 | |
177 | 177 | array( |
@@ -180,7 +180,7 @@ discard block |
||
180 | 180 | 'global' => true, |
181 | 181 | 'rate' => 21, |
182 | 182 | 'reduced_rate' => 13.5, |
183 | - 'name' => __( 'VAT', 'invoicing' ), |
|
183 | + 'name' => __('VAT', 'invoicing'), |
|
184 | 184 | ), |
185 | 185 | |
186 | 186 | array( |
@@ -189,7 +189,7 @@ discard block |
||
189 | 189 | 'global' => true, |
190 | 190 | 'rate' => 18, |
191 | 191 | 'reduced_rate' => 7, |
192 | - 'name' => __( 'VAT', 'invoicing' ), |
|
192 | + 'name' => __('VAT', 'invoicing'), |
|
193 | 193 | ), |
194 | 194 | |
195 | 195 | array( |
@@ -198,7 +198,7 @@ discard block |
||
198 | 198 | 'global' => true, |
199 | 199 | 'rate' => 21, |
200 | 200 | 'reduced_rate' => 9, |
201 | - 'name' => __( 'VAT', 'invoicing' ), |
|
201 | + 'name' => __('VAT', 'invoicing'), |
|
202 | 202 | ), |
203 | 203 | |
204 | 204 | array( |
@@ -207,7 +207,7 @@ discard block |
||
207 | 207 | 'global' => true, |
208 | 208 | 'rate' => 23, |
209 | 209 | 'reduced_rate' => 8, |
210 | - 'name' => __( 'VAT', 'invoicing' ), |
|
210 | + 'name' => __('VAT', 'invoicing'), |
|
211 | 211 | ), |
212 | 212 | |
213 | 213 | array( |
@@ -216,7 +216,7 @@ discard block |
||
216 | 216 | 'global' => true, |
217 | 217 | 'rate' => 23, |
218 | 218 | 'reduced_rate' => 13, |
219 | - 'name' => __( 'VAT', 'invoicing' ), |
|
219 | + 'name' => __('VAT', 'invoicing'), |
|
220 | 220 | ), |
221 | 221 | |
222 | 222 | array( |
@@ -225,7 +225,7 @@ discard block |
||
225 | 225 | 'global' => true, |
226 | 226 | 'rate' => 19, |
227 | 227 | 'reduced_rate' => 9, |
228 | - 'name' => __( 'VAT', 'invoicing' ), |
|
228 | + 'name' => __('VAT', 'invoicing'), |
|
229 | 229 | ), |
230 | 230 | |
231 | 231 | array( |
@@ -234,7 +234,7 @@ discard block |
||
234 | 234 | 'global' => true, |
235 | 235 | 'rate' => 22, |
236 | 236 | 'reduced_rate' => 9.5, |
237 | - 'name' => __( 'VAT', 'invoicing' ), |
|
237 | + 'name' => __('VAT', 'invoicing'), |
|
238 | 238 | ), |
239 | 239 | |
240 | 240 | array( |
@@ -243,7 +243,7 @@ discard block |
||
243 | 243 | 'global' => true, |
244 | 244 | 'rate' => 20, |
245 | 245 | 'reduced_rate' => 10, |
246 | - 'name' => __( 'VAT', 'invoicing' ), |
|
246 | + 'name' => __('VAT', 'invoicing'), |
|
247 | 247 | ), |
248 | 248 | |
249 | 249 | array( |
@@ -252,7 +252,7 @@ discard block |
||
252 | 252 | 'global' => true, |
253 | 253 | 'rate' => 25, |
254 | 254 | 'reduced_rate' => 12, |
255 | - 'name' => __( 'VAT', 'invoicing' ), |
|
255 | + 'name' => __('VAT', 'invoicing'), |
|
256 | 256 | ), |
257 | 257 | |
258 | 258 | array( |
@@ -261,7 +261,7 @@ discard block |
||
261 | 261 | 'global' => true, |
262 | 262 | 'rate' => 20, |
263 | 263 | 'reduced_rate' => 5, |
264 | - 'name' => __( 'VAT', 'invoicing' ), |
|
264 | + 'name' => __('VAT', 'invoicing'), |
|
265 | 265 | ) |
266 | 266 | |
267 | 267 | ); |