File: /var/www/vfconf/wp-content/plugins/so-widgets-bundle/base/inc/fields/image-radio.class.php
<?php
/**
* Class SiteOrigin_Widget_Field_Radio
*/
class SiteOrigin_Widget_Field_Image_Radio extends SiteOrigin_Widget_Field_Base {
/**
* The list of options which may be selected.
*
* @var array
*/
protected $options;
/**
* Whether the image options should be laid out vertically (default) or horizontally.
*
* @var string
*/
protected $layout;
protected function get_default_options() {
return array(
'layout' => 'vertical',
);
}
protected function render_field( $value, $instance ) {
if ( ! isset( $this->options ) || empty( $this->options ) ) {
return;
}
$i = 0;
?>
<div class="siteorigin-widget-image-radio-items siteorigin-widget-image-radio-layout-<?php echo esc_attr( $this->layout ); ?>">
<?php
foreach ( $this->options as $option_name => $option ) {
?>
<label class="so-image-radio" for="<?php echo esc_attr( $this->element_id . '-' . $i ); ?>">
<img src="<?php echo esc_attr( $option['image'] ); ?>"/>
<input
type="radio" name="<?php echo esc_attr( $this->element_name ); ?>"
id="<?php echo esc_attr( $this->element_id . '-' . $i ); ?>" class="siteorigin-widget-input"
value="<?php echo esc_attr( $option_name ); ?>"
<?php checked( $option_name, $value ); ?>
><?php echo esc_html( $option['label'] ); ?>
</label>
<?php
++$i;
}
?></div><?php
}
protected function sanitize_field_input( $value, $instance ) {
$sanitized_value = $value;
$keys = array_keys( $this->options );
if ( ! in_array( $sanitized_value, $keys ) ) {
$sanitized_value = isset( $this->default ) ? $this->default : false;
}
return $sanitized_value;
}
public function enqueue_scripts() {
wp_enqueue_style(
'so-image-radio-field',
plugin_dir_url( __FILE__ ) . 'css/image-radio-field.css',
array(),
SOW_BUNDLE_VERSION
);
wp_enqueue_script(
'so-image-radio-field',
plugin_dir_url( __FILE__ ) . 'js/image-radio-field' . SOW_BUNDLE_JS_SUFFIX . '.js',
array( 'jquery' ),
SOW_BUNDLE_VERSION
);
}
}