. * * @package ReduxFramework * @subpackage Field_Images * @author Daniel J Griffiths (Ghost1227) * @author Dovy Paukstys * @version 3.0.0 */ // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } // Don't duplicate me! if ( ! class_exists( 'ReduxFramework_image_select' ) ) { /** * Main ReduxFramework_image_select class * * @since 1.0.0 */ class ReduxFramework_image_select { /** * Field Constructor. * Required - must call the parent constructor, then assign field and value to vars, and obviously call the render field function * * @since 1.0.0 * @access public * @return void */ function __construct( $field = array(), $value = '', $parent ) { $this->parent = $parent; $this->field = $field; $this->value = $value; } /** * Field Render Function. * Takes the vars and outputs the HTML for the field in the settings * * @since 1.0.0 * @access public * @return void */ public function render() { if ( ! empty( $this->field['options'] ) ) { echo '
'; echo ''; echo '
'; } } /** * Enqueue Function. * If this field requires any scripts, or css define this function and register/enqueue the scripts/css * * @since 1.0.0 * @access public * @return void */ public function enqueue() { wp_enqueue_script( 'redux-field-image-select-js', ReduxFramework::$_url . 'inc/fields/image_select/field_image_select' . Redux_Functions::isMin() . '.js', array( 'jquery', 'redux-js' ), time(), true ); if ($this->parent->args['dev_mode']) { wp_enqueue_style( 'redux-field-image-select-css', ReduxFramework::$_url . 'inc/fields/image_select/field_image_select.css', array(), time(), 'all' ); } } public function getCSS( $mode = '' ) { $css = ''; $value = $this->value; $output = ''; if ( ! empty( $value ) && ! is_array($value) ) { switch ( $mode ) { case 'background-image': $output = "background-image: url('" . $value . "');"; break; default: $output = $mode . ": " . $value . ";"; } } $css .= $output; return $css; } public function output() { $mode = ( isset( $this->field['mode'] ) && ! empty( $this->field['mode'] ) ? $this->field['mode'] : 'background-image' ); if ( ( ! isset( $this->field['output'] ) || ! is_array( $this->field['output'] ) ) && ( ! isset( $this->field['compiler'] ) ) ) { return; } $style = $this->getCSS( $mode ); if ( ! empty( $style ) ) { if ( ! empty( $this->field['output'] ) && is_array( $this->field['output'] ) ) { $keys = implode( ",", $this->field['output'] ); $style = $keys . "{" . $style . '}'; $this->parent->outputCSS .= $style; } if ( ! empty( $this->field['compiler'] ) && is_array( $this->field['compiler'] ) ) { $keys = implode( ",", $this->field['compiler'] ); $style = $keys . "{" . $style . '}'; $this->parent->compilerCSS .= $style; } } } } }