Exemplo n.º 1
0
 public function _calculate_short_names()
 {
     $fields = $this->get_fields();
     $names = array();
     foreach ($fields as $field) {
         $name = WPBDP_Form_Field_Type::normalize_name($field->get_label());
         if ($name == 'images' || $name == 'image' || $name == 'username' || $name == 'featured_level' || $name == 'expires_on' || $name == 'sequence_id' || in_array($name, $names, true)) {
             $name = $name . '-' . $field->get_id();
         }
         $names[$field->get_id()] = $name;
     }
     update_option('wpbdp-field-short-names', $names);
     return $names;
 }
Exemplo n.º 2
0
 /**
  * @since 3.5.3
  */
 public function get_css_classes($render_context = '')
 {
     $css_classes = array();
     $css_classes[] = 'wpbdp-form-field';
     $css_classes[] = 'wpbdp-form-field-id-' . $this->get_id();
     $css_classes[] = 'wpbdp-form-field-type-' . $this->get_field_type()->get_id();
     $css_classes[] = 'wpbdp-form-field-label-' . WPBDP_Form_Field_Type::normalize_name($this->get_label());
     $css_classes[] = 'wpbdp-form-field-association-' . $this->get_association();
     // For backwards compatibility.
     $css_classes[] = $this->get_field_type()->get_id();
     if ($this->get_description()) {
         $css_classes[] = 'with-description';
     }
     if ($this->get_validators()) {
         $css_classes = array_merge($css_classes, $this->get_validators());
     }
     // Add own custom CSS classes.
     $css_classes = array_merge($css_classes, $this->css_classes);
     return apply_filters('wpbdp_form_field_css_classes', $css_classes, $this, $render_context);
 }
Exemplo n.º 3
0
 public function render_field_inner(&$field, $value, $context, &$extra = null)
 {
     $options = $field->data('options') ? $field->data('options') : array();
     if ($field->get_association() == 'tags' && !$options) {
         $tags = get_terms(WPBDP_TAGS_TAX, array('hide_empty' => false, 'fields' => 'names'));
         $options = array_combine($tags, $tags);
     } elseif ($field->get_association() == 'category') {
         $html = wp_list_categories(array('taxonomy' => WPBDP_CATEGORY_TAX, 'orderby' => wpbdp_get_option('categories-order-by'), 'order' => wpbdp_get_option('categories-sort'), 'hide_empty' => 0, 'echo' => 0, 'depth' => 0, 'walker' => new CategoryFormInputWalker('checkbox', $value, $field), 'show_option_none' => '', 'title_li' => ''));
         return $html;
     }
     $html = '';
     $i = 1;
     foreach ($options as $option_key => $label) {
         $css_classes = array();
         $css_classes[] = 'wpbdp-inner-checkbox';
         $css_classes[] = 'wpbdp-inner-checkbox-' . $i;
         $css_classes[] = 'wpbdp-inner-checkbox-' . WPBDP_Form_Field_Type::normalize_name($label);
         $html .= sprintf('<div class="wpbdmcheckboxclass %s"><input type="checkbox" class="%s" name="%s" value="%s" %s/> %s</div>', implode(' ', $css_classes), $field->is_required() ? 'required' : '', 'listingfields[' . $field->get_id() . '][]', $option_key, in_array($option_key, is_array($value) ? $value : array($value)) ? 'checked="checked"' : '', esc_attr($label));
         $i++;
     }
     $html .= '<div style="clear:both;"></div>';
     return $html;
 }