C:\xampp\htdocs\landing\wp-content\plugins\penci-framework\lib\meta-box\inc\fields\key-value.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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<?php
/**
 * The key-value field which allows users to add pairs of keys and values.
 *
 * @package Meta Box
 */

/**
 * Key-value field class.
 */
class RWMB_Key_Value_Field extends RWMB_Text_Field {
    
/**
     * Get field HTML.
     *
     * @param mixed $meta  Meta value.
     * @param array $field Field parameters.
     * @return string
     */
    
public static function html$meta$field ) {
        
// Key.
        
$key                       = isset( $meta[0] ) ? $meta[0] : '';
        
$attributes                self::get_attributes$field$key );
        
$attributes['placeholder'] = $field['placeholder']['key'];
        
$html                      sprintf'<input %s>'self::render_attributes$attributes ) );

        
// Value.
        
$val                       = isset( $meta[1] ) ? $meta[1] : '';
        
$attributes                self::get_attributes$field$val );
        
$attributes['placeholder'] = $field['placeholder']['value'];
        
$html .= sprintf'<input %s>'self::render_attributes$attributes ) );

        return 
$html;
    }

    
/**
     * Show begin HTML markup for fields.
     *
     * @param mixed $meta  Meta value.
     * @param array $field Field parameters.
     * @return string
     */
    
public static function begin_html$meta$field ) {
        
$desc $field['desc'] ? "<p id='{$field['id']}_description' class='description'>{$field['desc']}</p>" '';

        if ( empty( 
$field['name'] ) ) {
            return 
'<div class="rwmb-input">' $desc;
        }

        return 
sprintf(
            
'<div class="rwmb-label">
                <label for="%s">%s</label>
            </div>
            <div class="rwmb-input">
            %s'
,
            
$field['id'],
            
$field['name'],
            
$desc
        
);
    }

    
/**
     * Do not show field description.
     *
     * @param array $field Field parameters.
     * @return string
     */
    
public static function input_description$field ) {
        return 
'';
    }

    
/**
     * Do not show field description.
     *
     * @param array $field Field parameters.
     * @return string
     */
    
public static function label_description$field ) {
        return 
'';
    }

    
/**
     * Escape meta for field output.
     *
     * @param mixed $meta Meta value.
     * @return mixed
     */
    
public static function esc_meta$meta ) {
        foreach ( (array) 
$meta as $k => $pairs ) {
            
$meta$k ] = array_map'esc_attr', (array) $pairs );
        }
        return 
$meta;
    }

    
/**
     * Sanitize field value.
     *
     * @param mixed $new     The submitted meta value.
     * @param mixed $old     The existing meta value.
     * @param int   $post_id The post ID.
     * @param array $field   The field parameters.
     *
     * @return string
     */
    
public static function value$new$old$post_id$field ) {
        foreach ( 
$new as &$arr ) {
            if ( empty( 
$arr[0] ) && empty( $arr[1] ) ) {
                
$arr false;
            }
        }
        
$new array_filter$new );
        return 
$new;
    }

    
/**
     * Normalize parameters for field.
     *
     * @param array $field Field parameters.
     * @return array
     */
    
public static function normalize$field ) {
        
$field                       parent::normalize$field );
        
$field['clone']              = true;
        
$field['multiple']           = true;
        
$field['attributes']['type'] = 'text';
        
$field['placeholder']        = wp_parse_args( (array) $field['placeholder'], array(
            
'key'   => __'Key''meta-box' ),
            
'value' => __'Value''meta-box' ),
        ) );
        return 
$field;
    }

    
/**
     * Format value for the helper functions.
     *
     * @param array        $field Field parameters.
     * @param string|array $value The field meta value.
     * @return string
     */
    
public static function format_value$field$value ) {
        
$output '<ul>';
        foreach ( 
$value as $subvalue ) {
            
$output .= sprintf'<li><label>%s:</label> %s</li>'$subvalue[0], $subvalue[1] );
        }
        
$output .= '</ul>';
        return 
$output;
    }
}
x

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