C:\xampp\htdocs\landing\wp-content\plugins\penci-framework\lib\meta-box\inc\fields\choice.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<?php
/**
 * The abstract choice field.
 *
 * @package Meta Box
 */

/**
 * Abstract class for any kind of choice field.
 */
abstract class RWMB_Choice_Field extends RWMB_Field {
    
/**
     * Walk options.
     *
     * @param array $field     Field parameters.
     * @param mixed $options   Select options.
     * @param mixed $db_fields Database fields to use in the output.
     * @param mixed $meta      Meta value.
     * @return string
     */
    
public static function walk$field$options$db_fields$meta ) {
        return 
'';
    }

    
/**
     * Get field HTML.
     *
     * @param mixed $meta  Meta value.
     * @param array $field Field parameters.
     * @return string
     */
    
public static function html$meta$field ) {
        
$meta      = (array) $meta;
        
$options   self::call'get_options'$field );
        
$options   self::call'filter_options'$field$options );
        
$db_fields self::call'get_db_fields'$field );
        return ! empty( 
$options ) ? self::call'walk'$field$options$db_fields$meta ) : null;
    }

    
/**
     * Normalize parameters for field.
     *
     * @param array $field Field parameters.
     * @return array
     */
    
public static function normalize$field ) {
        
$field parent::normalize$field );
        
$field wp_parse_args$field, array(
            
'flatten' => true,
            
'options' => array(),
        ) );

        return 
$field;
    }

    
/**
     * Get field names of object to be used by walker.
     *
     * @return array
     */
    
public static function get_db_fields() {
        return array(
            
'parent' => 'parent',
            
'id'     => 'value',
            
'label'  => 'label',
        );
    }

    
/**
     * Get options for walker.
     *
     * @param array $field Field parameters.
     *
     * @return array
     */
    
public static function get_options$field ) {
        
$options = array();
        foreach ( (array) 
$field['options'] as $value => $label ) {
            
$option is_array$label ) ? $label : array(
                
'label' => (string) $label,
                
'value' => (string) $value,
            );
            if ( isset( 
$option['label'] ) && isset( $option['value'] ) ) {
                
$options$option['value'] ] = (object) $option;
            }
        }
        return 
$options;
    }

    
/**
     * Filter options for walker.
     *
     * @param array $field   Field parameters.
     * @param array $options Array of choice options.
     *
     * @return array
     */
    
public static function filter_options$field$options ) {
        
$db_fields self::call'get_db_fields'$field );
        
$label     $db_fields['label'];
        foreach ( 
$options as &$option ) {
            
$option         apply_filters'rwmb_option'$option$field );
            
$option->$label apply_filters'rwmb_option_label'$option->$label$option$field );
        }
        return 
$options;
    }

    
/**
     * Format a single value for the helper functions.
     *
     * @param array  $field Field parameters.
     * @param string $value Meta value.
     * @return string
     */
    
public static function format_single_value$field$value ) {
        return 
self::call'get_option_label'$field$value );
    }

    
/**
     * Get option label.
     *
     * @param array  $field Field parameters.
     * @param string $value Option value.
     *
     * @return string
     */
    
public static function get_option_label$field$value ) {
        
$options self::call'get_options'$field );
        return isset( 
$options$value ] ) ? $options$value ]->label '';
    }
}
x

Windows NT KPTV 6.2 build 9200 (Windows Server 2012 Datacenter Edition) i586