File: /var/www/vfconf/wp-content/plugins/so-widgets-bundle/base/inc/fields/checkboxes.class.php
<?php
/**
* Class SiteOrigin_Widget_Field_Checkbox
*/
class SiteOrigin_Widget_Field_Checkboxes extends SiteOrigin_Widget_Field_Base {
protected $options;
protected function render_field( $value, $instance ) {
if ( empty( $value ) ) {
$value = array();
}
if ( !is_array( $value ) ) {
$value = array( $value );
}
$i = 0;
foreach ( $this->options as $id => $label ) {
?>
<label for="<?php echo esc_attr( $this->element_id ); ?>-<?php echo esc_attr( $id ); ?>" class="so-checkbox-label">
<input
type="checkbox"
class="siteorigin-widget-input"
name="<?php echo esc_attr( $this->element_name ); ?>[<?php echo esc_attr( $i++ ); ?>]"
value="<?php echo esc_attr( $id ); ?>"
id="<?php echo esc_attr( $this->element_id ); ?>-<?php echo esc_attr( $id ); ?>"
<?php checked( in_array( $id, $value ) ); ?>
/>
<?php echo esc_html( $label ); ?>
</label>
<?php
}
}
protected function sanitize_field_input( $value, $instance ) {
if ( empty( $value ) ) {
$value = array();
}
$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 $sanitized_value;
}
}