PluginProbe
Charitable – Donation & Fundraising Platform (Donation Forms, Recurring Donations & Fundraising Campaigns) / 1.8.13
Charitable – Donation & Fundraising Platform (Donation Forms, Recurring Donations & Fundraising Campaigns) v1.8.13
1.8.13.1 1.8.13 1.8.12.3 1.8.12.2 1.8.12.1 1.8.12 1.8.11.3 1.8.11.2 1.8.11.1 1.8.11 1.6.6 1.6.60 1.6.7 1.6.8 1.6.9 1.7.0 1.7.0.1 1.7.0.11 1.7.0.12 1.7.0.14 1.7.0.2 1.7.0.3 1.7.0.5 1.7.0.6 1.7.0.7 All 212 releases
← All changes | includes/admin/campaign-builder/class-builder-form-fields.php +19 -4 1.8.11.3 → 1.8.13 View file →
@@ -226,8 +226,10 @@
226 226 'field_id' => '',
227 227 'title' => '',
228 228 'visibility' => false,
229 229 'checked_value' => '1',
230 + 'tooltip' => false,
231 + 'disabled' => false,
230 232 );
231 233
232 234 $params = array_replace_recursive( $defaults, $args );
233 235
@@ -240,13 +242,22 @@
240 242 $name = implode( '][', $params['name'] ) . ']';
241 243 $params['name'] = str_replace( $params['name'][0] . ']', $params['name'][0], $name );
242 244 }
243 245
246 + // When disabled, force the value off so the toggle can't visually appear on.
247 + if ( $params['disabled'] ) {
248 + $value = false;
249 + }
250 +
244 251 $checked = ( $value !== false && $value === $params['checked_value'] ) ? 'checked="checked"' : false;
245 252 $field_id_attr = isset( $params['field_id'] ) && '' !== $params['field_id'] ? 'data-field-id="' . intval( $params['field_id'] ) . '"' : false;
246 253 $field_id_attr .= isset( $toggle_value ) && '' !== $toggle_value ? ' data-ajax-label="' . $toggle_value . '"' : false;
247 254 $params['container_class'] = $this->maybe_add_visibility_classes( $params['container_class'], $params['visibility'] );
248 255
256 + if ( $params['disabled'] ) {
257 + $params['container_class'] = trim( $params['container_class'] . ' charitable-panel-field-toggle-disabled' );
258 + }
259 +
249 260 $css_classes = explode( ' ', $params['class'] );
250 261 $css_classes = array_unique( $css_classes );
251 262 $params['class'] = implode( ' ', $css_classes );
252 263
@@ -253,15 +264,19 @@
253 264 $css_container_classes = ! empty( $params['container_class'] ) ? explode( ' ', $params['container_class'] ) : array();
254 265 $css_container_classes = array_unique( $css_container_classes );
255 266 $params['container_class'] = implode( ' ', $css_container_classes );
256 267
268 + $tooltip_html = ( isset( $params['tooltip'] ) && false !== $params['tooltip'] ) ? $this->get_tooltip_html( $params['tooltip'] ) : '';
269 +
270 + $disabled_attr = $params['disabled'] ? 'disabled="disabled"' : '';
271 +
257 272 $html = isset( $params['title'] ) && '' !== $params['title'] ? '<h5 class="charitable-campaign-builder-setting-subheading">' . esc_html( $params['title'] ) . '</h5>' : false;
258 273
259 274 $html .= '<div data-field-id="' . $params['field_id'] . '" id="' . $this->id_slug . '-' . $params['id'] . '-wrap" class="charitable-panel-field charitable-panel-field-toggle ' . $params['container_class'] . '" ' . $field_id_attr . '>
260 275 <span class="charitable-toggle-control">
261 - <input type="checkbox" id="' . $this->id_slug . '-' . $params['id'] . '" name="' . $params['name'] . '" value="' . $params['checked_value'] . '" class="' . $params['class'] . '" ' . $checked . ' />
276 + <input type="checkbox" id="' . $this->id_slug . '-' . $params['id'] . '" name="' . $params['name'] . '" value="' . $params['checked_value'] . '" class="' . $params['class'] . '" ' . $checked . ' ' . $disabled_attr . ' />
262 277 <label class="charitable-toggle-control-icon" for="' . $this->id_slug . '-' . $params['id'] . '"></label>
263 - <label for="' . $this->id_slug . '-' . $params['id'] . '">' . $label . '</label>
278 + <label for="' . $this->id_slug . '-' . $params['id'] . '">' . $label . ' ' . $tooltip_html . '</label>
264 279 </span>
265 280 </div>';
266 281
267 282 return $html;
@@ -689,9 +704,9 @@
689 704 }
690 705
691 706 }
692 707
693 - if ( $args['html'] ) {
708 + if ( $params['html'] ) {
694 709
695 710 $html = '<div id="' . $this->id_slug . '-' . $params['id'] . '-wrap" class="charitable-panel-field charitable-panel-field-textarea ' . $params['container_classes'] . '" ' . $field_id_attr . ' data-special-type="' . $params['special'] . '">
696 711 <label for="' . $this->id_slug . '-' . $params['id'] . '">' . $label . ' ' . $tooltip_html . '</label>' . $description . '
697 712 <div data-textarea-name="' . $params['name'] . '" id="' . $this->id_slug . '-' . $params['id'] . '" class="' . $params['class'] . '">' . $value . '</div>
@@ -697,9 +712,9 @@
697 712 <div data-textarea-name="' . $params['name'] . '" id="' . $this->id_slug . '-' . $params['id'] . '" class="' . $params['class'] . '">' . $value . '</div>
698 713 <input type="hidden" value="' . htmlentities( $value ) . '" name="' . $params['name'] . '" />
699 714 </div>';
700 715
701 - } elseif ( $args['code'] ) {
716 + } elseif ( $params['code'] ) {
702 717
703 718 $html = '<div id="' . $this->id_slug . '-' . $params['id'] . '-wrap" class="charitable-panel-field charitable-panel-field-textarea ' . $params['container_classes'] . '" ' . $field_id_attr . '>
704 719 <label for="' . $this->id_slug . '-' . $params['id'] . '">' . $label . ' ' . $tooltip_html . '</label>' . $description . '
705 720 <textarea id="' . $this->id_slug . '-' . $params['id'] . '" name="' . $params['name'] . '" placeholder="" class="' . $params['class'] . '" rows="' . $params['rows'] . '">' . $value . '</textarea>