/var/www/hkosl.com/aga/wp-content/plugins/so-widgets-bundle/base/inc/fields/select.class.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
<?php

/**
 * Class SiteOrigin_Widget_Field_Select
 */
class SiteOrigin_Widget_Field_Select extends SiteOrigin_Widget_Field_Base {
    
/**
     * The list of options which may be selected.
     *
     * @access protected
     * @var array
     */
    
protected $options;
    
/**
     * If present, this string is included as a disabled (not selectable) value at the top of the list of options. If
     * there is no default value, it is selected by default. You might even want to leave the label value blank when
     * you use this.
     *
     * @access protected
     * @var string
     */
    
protected $prompt;
    
/**
     * Determines whether this is a single or multiple select field.
     *
     * @access protected
     * @var bool
     */
    
protected $multiple;

    protected function 
render_field$value$instance ) {
        
?>
        <select name="<?php echo esc_attr$this->element_name ?>" id="<?php echo esc_attr$this->element_id ?>"
                class="siteorigin-widget-input<?php if ( ! empty( $this->input_css_classes ) ) echo ' ' implode' '$this->input_css_classes ?>"
            <?php if( ! empty( $this->multiple ) ) echo 'multiple' ?>>
            <?php if ( empty( $this->multiple ) && isset( $this->prompt ) ) : ?>
                <option value="default" disabled="disabled" selected="selected"><?php echo esc_html$this->prompt ?></option>
            <?php endif; ?>

            <?php if( isset( $this->options ) && !empty( $this->options ) ) : ?>
                <?php foreach( $this->options as $key => $val ) : ?>
                    <?php
                    
if( is_array$value ) ) {
                        
$selected selectedtruein_array$key$value ), false );
                    }
                    else {
                        
$selected selected$key$valuefalse );
                    } 
?>
                    <option value="<?php echo esc_attr$key ?><?php echo $selected ?>><?php echo esc_html$val ?></option>
                <?php endforeach; ?>
            <?php endif; ?>
        </select>
        <?php
    
}

    protected function 
sanitize_field_input$value$instance ) {
        
$values is_array$value ) ? $value : array( $value );
        
$keys array_keys$this->options );
        
$sanitized_value = array();
        foreach( 
$values as $value ) {
            if ( !
in_array$value$keys ) ) {
                
$sanitized_value[] = isset( $this->default ) ? $this->default false;
            }
            else {
                
$sanitized_value[] = $value;
            }
        }

        return 
count$sanitized_value ) == $sanitized_value[0] : $sanitized_value;
    }

}