Esempio n. 1
0
 /**
  * Walk options
  *
  * @param mixed $meta
  * @param array $field
  * @param mixed $options
  * @param mixed $db_fields
  *
  * @return string
  */
 public static function walk($options, $db_fields, $meta, $field)
 {
     $attributes = call_user_func(array(SWP_Meta_Box::get_class_name($field), 'get_attributes'), $field, $meta);
     $walker = new SWPMB_Select_Walker($db_fields, $field, $meta);
     $output = sprintf('<select %s>', self::render_attributes($attributes));
     $output .= '<option></option>';
     $output .= $walker->walk($options, $field['flatten'] ? -1 : 0);
     $output .= '</select>';
     $output .= self::get_select_all_html($field);
     return $output;
 }
Esempio n. 2
0
 /**
  * Walk options
  *
  * @param mixed $meta
  * @param array $field
  * @param mixed $options
  * @param mixed $db_fields
  *
  * @return string
  */
 public static function walk($options, $db_fields, $meta, $field)
 {
     $attributes = call_user_func(array(SWP_Meta_Box::get_class_name($field), 'get_attributes'), $field, $meta);
     $walker = new SWPMB_Select_Walker($db_fields, $field, $meta);
     $output = sprintf('<select %s>', self::render_attributes($attributes));
     if (false === $field['multiple']) {
         if (isset($field['placeholder']) && $field['placeholder'] != '') {
             $output .= "<option value=''>{$field['placeholder']}</option>";
         }
     }
     $output .= $walker->walk($options, $field['flatten'] ? -1 : 0);
     $output .= '</select>';
     $output .= self::get_select_all_html($field);
     return $output;
 }
Esempio n. 3
0
 function display_level($options, $parent_id = 0, $active = false)
 {
     $id = $this->db_fields['id'];
     $field = $this->field;
     $meta = $this->meta;
     $walker = new SWPMB_Select_Walker($this->db_fields, $this->field, $this->meta);
     $field_class = SWP_Meta_Box::get_class_name($field);
     $attributes = call_user_func(array($field_class, 'get_attributes'), $field, $meta);
     $children = $options[$parent_id];
     $output = sprintf('<div class="swpmb-select-tree %s" data-parent-id="%s"><select %s>', $active ? '' : 'hidden', $parent_id, SWPMB_Field::render_attributes($attributes));
     $output .= isset($field['placeholder']) ? "<option value=''>{$field['placeholder']}</option>" : '<option></option>';
     $output .= $walker->walk($children, -1);
     $output .= '</select>';
     foreach ($children as $c) {
         if (isset($options[$c->{$id}])) {
             $output .= $this->display_level($options, $c->{$id}, in_array($c->{$id}, $meta) && $active);
         }
     }
     $output .= '</div>';
     return $output;
 }