.
*
* @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 '
';
}
}
/**
* 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
);
wp_enqueue_style(
'redux-field-image-select-css',
ReduxFramework::$_url . 'inc/fields/image_select/field_image_select.css',
time(),
true
);
}
public function getCSS( $mode = '' ) {
$css = '';
$value = $this->value;
if ( ! empty( $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;
}
}
}
}
}