<?php /** * * Class SiteOrigin_Widget_Field_Image_Shape */ class SiteOrigin_Widget_Field_Image_Shape extends SiteOrigin_Widget_Field_Base { protected function render_field( $value, $instance ) { $shapes = SiteOrigin_Widget_Image_Shapes::single()->get_shapes(); ?> <div class="siteorigin-widget-shape-current" tabindex="0"> <div class="siteorigin-widget-shape"><span></span></div> <label><?php echo esc_html( __( 'Choose Shape', 'so-widgets-bundle' ) ); ?></label> </div> <div class="siteorigin-widget-shapes" tabindex="0"> <input type="search" class="siteorigin-widget-shape-search" placeholder="<?php esc_attr_e( 'Search Shapes', 'so-widgets-bundle' ); ?>" /> <?php foreach ( $shapes as $shape => $name ) { ?> <div class="siteorigin-widget-shape" data-shape="<?php echo esc_attr( $shape ); ?>"> <?php if ( $shape == 'custom' ) { ?> <span class="siteorigin-widget-shape-image dashicons dashicons-insert"></span> <?php } else { ?> <img class="siteorigin-widget-shape-image" src="<?php echo esc_url( SiteOrigin_Widget_Image_Shapes::single()->get_image_shape( $shape ) ); ?>" /> <?php } ?> <div class="siteorigin-widget-shape-name"><?php echo esc_html( $name ); ?></div> </div> <?php } ?> </div> <input type="hidden" name="<?php echo esc_attr( $this->element_name ); ?>" id="<?php echo esc_attr( $this->element_id ); ?>" value="<?php echo esc_attr( $value ); ?>" class="siteorigin-widget-shape siteorigin-widget-input" /> <?php } protected function sanitize_field_input( $value, $instance ) { if ( empty( $value ) || ! SiteOrigin_Widget_Image_Shapes::single()->is_valid_shape( $value ) ) { $shape = 'circle'; } else { $shape = $value; } return $shape; } public function enqueue_scripts() { wp_enqueue_script( 'so-multiple-image-shape-field', plugin_dir_url( __FILE__ ) . 'js/image-shape-field' . SOW_BUNDLE_JS_SUFFIX . '.js', array( 'jquery' ), SOW_BUNDLE_VERSION ); wp_enqueue_style( 'so-multiple-image-shape-field', plugin_dir_url( __FILE__ ) . 'css/image-shape-field.css', array(), SOW_BUNDLE_VERSION ); } }