예제 #1
0
  public static function ui( MEOW_Field $field ) {
    
    // $field here is a MEOW_Field, which is a class that encapsulates the value of a field AND the info associated with it

    $options = $field->info->type_options;

    $readonly = WOOF_HTML::readonly_attr( !$field->is_editable() );
    
    $checked_value = trim($options["value"]);
    
    $checked_checked_attr = WOOF_HTML::checked_attr($field->checked());
    
    if ($checked_value == "") {
      $checked_value = "true";
    }

    $lang_checked = esc_js( __("( checked )", MASTERPRESS_DOMAIN) );
    $lang_not_checked = esc_js( __("( not checked )", MASTERPRESS_DOMAIN) );
    
    
    
    if ($field->is_editable()) {
      
    $html = <<<HTML

    <input id="{{id}}" name="{{name}}" type="checkbox" {$checked_checked_attr} value="{$checked_value}" class="checkbox { lang: { 'checked' : '{$lang_checked}', 'not_checked' : '{$lang_checked}' } }" />

HTML;

    } else {
    
      // setup a hidden value for checkboxes that are currently checked, to simulate a "readonly" state
      
      if ($field->checked()) {
        // we only need submit the value if the the checkbox is currently checked
        $hidden = <<<HTML
        <input id="{{id}}" name="{{name}}" type="hidden" value="{$checked_value}"  />
HTML;

      } 
    
    $html = <<<HTML
    <input id="{{id}}-display" name="display_{{name}}" type="checkbox" disabled="disabled" {$checked_checked_attr} value="{$checked_value}" class="checkbox { lang: { 'checked' : '{$lang_checked}', 'not_checked' : '{$lang_checked}' } }" />
    $hidden
HTML;
  
      
    }
    
    return $html;
    
  }