.
*
* @package ReduxFramework
* @subpackage Field_slides
* @author Luciano "WebCaos" Ubertini
* @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_slides')) {
/**
* Main ReduxFramework_slides class
*
* @since 1.0.0
*/
class ReduxFramework_slides 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
*/
public function __construct($field = array(), $value = '', $parent)
{
parent::__construct($parent->sections, $parent->args, $parent->extra_tabs);
$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()
{
echo '
';
$x = 0;
if (isset($this->value) && is_array($this->value)) {
$slides = $this->value;
foreach ($slides as $slide) {
if (empty($slide['slide_image_url']) && !empty($slide['slide_image_id'])) {
$img = wp_get_attachment_image_src($slide['slide_image_id'], 'full');
$slide['slide_image_url'] = $img[0];
$slide['slide_image_width'] = $img[1];
$slide['slide_image_height'] = $img[2];
}
if (!isset($slide['slide_title'])) $slide['slide_title'] = '';
if (!isset($slide['slide_description'])) $slide['slide_description'] = '';
if (!isset($slide['slide_url'])) $slide['slide_url'] = '';
if (!isset($slide['slide_sort'])) $slide['slide_sort'] = '';
if (!isset($slide['slide_image_id'])) $slide['slide_image_id'] = '';
if (!isset($slide['slide_image_url'])) $slide['slide_image_url'] = '';
if (!isset($slide['slide_image_height'][$x])) $slide['slide_image_height'] = '';
if (!isset($slide['slide_image_width'])) $slide['slide_image_width'] = '';
//New Field by Towfiq:
if (!isset($slide['slide_content_id'])) $slide['slide_content_id'] = '';
//
if ($slide['slide_title'] != '' && isset($slide['slide_title'])) {
echo '';
$x++;
}
}
}
if ($x == 0) {
echo '';
}
echo '
' . __('Add Slide', 'redux-framework') . ' ';
}
/**
* 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-media-js',
ReduxFramework::$_url . 'inc/fields/media/field_media.js',
array( 'jquery', 'wp-color-picker' ),
time(),
true
);
wp_enqueue_style(
'redux-field-media-css',
ReduxFramework::$_url . 'inc/fields/media/field_media.css',
time(),
true
);
wp_enqueue_script(
'redux-field-slides-js',
ReduxFramework::$_url . 'inc/fields/slides/field_slides.js',
array('jquery', 'jquery-ui-core', 'jquery-ui-accordion', 'wp-color-picker'),
time(),
true
);
if (function_exists('wp_enqueue_media')) {
wp_enqueue_media();
}
else {
wp_enqueue_script('media-upload');
wp_enqueue_script('thickbox');
wp_enqueue_style('thickbox');
}
wp_enqueue_style(
'redux-field-slides-css',
ReduxFramework::$_url . 'inc/fields/slides/field_slides.css',
time(),
true
);
}
}
}