.
*
* @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 extends ReduxFramework {
/**
* 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 ) {
//parent::__construct( $parent->sections, $parent->args );
$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 '
';
}
}
/**
* 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.js',
array( 'jquery' ),
time(),
true
);
wp_enqueue_style(
'redux-field-image-select-css',
ReduxFramework::$_url . 'inc/fields/image_select/field_image_select.css',
time(),
true
);
}
public function getCSS() {
$css = '';
$value = $this->value;
if (!empty($value)) {
$css .= "background-image: url('" . $value . "');";
}
return $css;
}
public function output() {
if ( ( !isset( $this->field['output'] ) || !is_array( $this->field['output'] ) ) && ( !isset( $this->field['compiler'] ) ) ) {
return;
}
$style = $this->getCSS();
if ( !empty( $style ) ) {
if ( !empty( $this->field['output'] ) && is_array( $this->field['output'] ) ) {
$keys = implode(",", $this->field['output']);
$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; //$keys . "{" . $style . '}';
}
}
}
}
}