/**
  * 
  * the constructor
  */
 public function __construct($t)
 {
     global $wpdb;
     self::$is_multisite = RevSliderFunctionsWP::isMultisite();
     self::$wpdb = $wpdb;
     self::$table_prefix = self::$wpdb->base_prefix;
     if (self::$is_multisite) {
         $blogID = RevSliderFunctionsWP::getBlogID();
         if ($blogID != 1) {
             self::$table_prefix .= $blogID . "_";
         }
     }
     self::$t = $t;
     self::$url_ajax = admin_url("admin-ajax.php");
     self::$url_ajax_actions = self::$url_ajax . "?action=revslider_ajax_action";
     self::$url_ajax_showimage = self::$url_ajax . "?action=revslider_show_image";
     self::$path_views = RS_PLUGIN_PATH . "admin/views/";
     self::$path_templates = self::$path_views . "/templates/";
     load_plugin_textdomain('revslider', false, 'revslider/languages/');
     //update globals oldversion flag
     RevSliderGlobals::$isNewVersion = false;
     $version = get_bloginfo("version");
     $version = (double) $version;
     if ($version >= 3.5) {
         RevSliderGlobals::$isNewVersion = true;
     }
 }
Example #2
0
 /**
  * Get all Navigations
  * @since: 5.0
  **/
 public static function get_all_navigations($defaults = true)
 {
     global $wpdb;
     $navigations = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . RevSliderGlobals::TABLE_NAVIGATION_NAME, ARRAY_A);
     foreach ($navigations as $key => $nav) {
         $navigations[$key]['css'] = RevSliderBase::stripslashes_deep(json_decode($navigations[$key]['css'], true));
         $navigations[$key]['markup'] = RevSliderBase::stripslashes_deep(json_decode($navigations[$key]['markup'], true));
         if (isset($navigations[$key]['settings'])) {
             $navigations[$key]['settings'] = RevSliderBase::stripslashes_deep(json_decode($navigations[$key]['settings'], true));
         }
     }
     if ($defaults) {
         $def = self::get_default_navigations();
         if (!empty($def)) {
             foreach ($def as $key => $nav) {
                 $def[$key]['css'] = RevSliderBase::stripslashes_deep(json_decode($def[$key]['css'], true));
                 $def[$key]['markup'] = RevSliderBase::stripslashes_deep(json_decode($def[$key]['markup'], true));
             }
             if (isset($def[$key]['settings'])) {
                 $def[$key]['settings'] = RevSliderBase::stripslashes_deep(json_decode($def[$key]['settings'], true));
             }
             $navigations = array_merge($navigations, $def);
         }
     }
     return $navigations;
 }
 /**
  * 
  * a must function. you can not use it, but the function must stay there!
  */
 public static function onAddScripts()
 {
     global $wp_version;
     $slver = apply_filters('revslider_remove_version', RevSliderGlobals::SLIDER_REVISION);
     $style_pre = '';
     $style_post = '';
     if ($wp_version < 3.7) {
         $style_pre = '<style type="text/css">';
         $style_post = '</style>';
     }
     $operations = new RevSliderOperations();
     $arrValues = $operations->getGeneralSettingsValues();
     $includesGlobally = RevSliderFunctions::getVal($arrValues, "includes_globally", "on");
     $includesFooter = RevSliderFunctions::getVal($arrValues, "js_to_footer", "off");
     $strPutIn = RevSliderFunctions::getVal($arrValues, "pages_for_includes");
     $isPutIn = RevSliderOutput::isPutIn($strPutIn, true);
     $do_inclusion = apply_filters('revslider_include_libraries', false);
     //put the includes only on pages with active widget or shortcode
     // if the put in match, then include them always (ignore this if)
     if ($isPutIn == false && $includesGlobally == "off" && $do_inclusion == false) {
         $isWidgetActive = is_active_widget(false, false, "rev-slider-widget", true);
         $hasShortcode = RevSliderFunctionsWP::hasShortcode("rev_slider");
         if ($isWidgetActive == false && $hasShortcode == false) {
             return false;
         }
     }
     wp_enqueue_style('rs-plugin-settings', RS_PLUGIN_URL . 'public/assets/css/settings.css', array(), $slver);
     $custom_css = RevSliderOperations::getStaticCss();
     $custom_css = RevSliderCssParser::compress_css($custom_css);
     if (trim($custom_css) == '') {
         $custom_css = '#rs-demo-id {}';
     }
     wp_add_inline_style('rs-plugin-settings', $style_pre . $custom_css . $style_post);
     $setBase = is_ssl() ? "https://" : "http://";
     wp_enqueue_script(array('jquery'));
     $waitfor = array('jquery');
     $enable_logs = RevSliderFunctions::getVal($arrValues, "enable_logs", 'off');
     if ($enable_logs == 'on') {
         wp_enqueue_script('enable-logs', RS_PLUGIN_URL . 'public/assets/js/jquery.themepunch.enablelog.js', $waitfor, $slver);
         $waitfor[] = 'enable-logs';
     }
     $ft = $includesFooter == "off" ? false : true;
     wp_enqueue_script('tp-tools', RS_PLUGIN_URL . 'public/assets/js/jquery.themepunch.tools.min.js', $waitfor, $slver, $ft);
     wp_enqueue_script('revmin', RS_PLUGIN_URL . 'public/assets/js/jquery.themepunch.revolution.min.js', 'tp-tools', $slver, $ft);
     add_action('wp_head', array('RevSliderFront', 'add_meta_generator'));
     add_action("wp_footer", array('RevSliderFront', "load_icon_fonts"));
     // Async JS Loading
     $js_defer = RevSliderBase::getVar($arrValues, 'js_defer', 'off');
     if ($js_defer != 'off') {
         add_filter('clean_url', array('RevSliderFront', 'add_defer_forscript'), 11, 1);
     }
     add_action('wp_before_admin_bar_render', array('RevSliderFront', 'add_admin_menu_nodes'));
     add_action('wp_footer', array('RevSliderFront', 'putAdminBarMenus'));
 }
 /**
  * Get all Navigations
  * @since: 5.0
  **/
 public static function get_all_navigations($defaults = true, $raw = false)
 {
     global $wpdb;
     $navigations = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . RevSliderGlobals::TABLE_NAVIGATION_NAME, ARRAY_A);
     if ($raw == false) {
         foreach ($navigations as $key => $nav) {
             $navigations[$key]['css'] = RevSliderBase::stripslashes_deep(json_decode($navigations[$key]['css'], true));
             $navigations[$key]['markup'] = RevSliderBase::stripslashes_deep(json_decode($navigations[$key]['markup'], true));
             if (isset($navigations[$key]['settings'])) {
                 $navigations[$key]['settings'] = RevSliderBase::stripslashes_deep(json_decode($navigations[$key]['settings'], true));
                 if (!is_array($navigations[$key]['settings'])) {
                     $navigations[$key]['settings'] = json_decode($navigations[$key]['settings'], true);
                 }
             }
         }
     }
     if ($defaults) {
         $def = self::get_default_navigations();
         $default_presets = get_option('revslider-nav-preset-default', array());
         if (!empty($def)) {
             if ($raw == false) {
                 foreach ($def as $key => $nav) {
                     $def[$key]['css'] = RevSliderBase::stripslashes_deep(json_decode($def[$key]['css'], true));
                     $def[$key]['markup'] = RevSliderBase::stripslashes_deep(json_decode($def[$key]['markup'], true));
                     if (isset($def[$key]['settings'])) {
                         $def[$key]['settings'] = RevSliderBase::stripslashes_deep(json_decode($def[$key]['settings'], true));
                         if (!is_array($def[$key]['settings'])) {
                             $def[$key]['settings'] = json_decode($def[$key]['settings'], true);
                         }
                     }
                     //add custom settings (placeholders) to the default navigation
                     if (!empty($default_presets)) {
                         if (!isset($def[$key]['settings'])) {
                             $def[$key]['settings'] = array();
                         }
                         if (!isset($def[$key]['settings']['presets'])) {
                             $def[$key]['settings']['presets'] = array();
                         }
                         foreach ($default_presets as $id => $v) {
                             if ($id !== $def[$key]['id']) {
                                 continue;
                             }
                             foreach ($v as $values) {
                                 $def[$key]['settings']['presets'][] = $values;
                             }
                         }
                     }
                 }
             }
             $navigations = array_merge($navigations, $def);
         }
     }
     return $navigations;
 }
Example #5
0
 /**
  * 
  * main constructor		 
  */
 public function __construct($t)
 {
     parent::__construct($t);
     //set view
     self::$view = self::getGetVar("view");
     if (empty(self::$view)) {
         self::$view = 'sliders';
     }
     //add internal hook for adding a menu in arrMenus
     add_action('admin_menu', array('RevSliderBaseAdmin', 'addAdminMenu'));
     add_action('add_meta_boxes', array('RevSliderBaseAdmin', 'onAddMetaboxes'));
     add_action('save_post', array('RevSliderBaseAdmin', 'onSavePost'));
     //if not inside plugin don't continue
     if ($this->isInsidePlugin() == true) {
         add_action('admin_enqueue_scripts', array('RevSliderBaseAdmin', 'addCommonScripts'));
         add_action('admin_enqueue_scripts', array('RevSliderAdmin', 'onAddScripts'));
     }
     //a must event for any admin. call onActivate function.
     $this->addEvent_onActivate();
     $this->addAction_onActivate();
     self::addActionAjax('show_image', 'onShowImage');
 }
Example #6
0
 public function get_image_attributes($slider_type)
 {
     $params = $this->params;
     $bgType = RevSliderBase::getVar($params, "background_type", "transparent");
     $bgColor = RevSliderBase::getVar($params, "slide_bg_color", "transparent");
     $bgFit = RevSliderBase::getVar($params, "bg_fit", "cover");
     $bgFitX = intval(RevSliderBase::getVar($params, "bg_fit_x", "100"));
     $bgFitY = intval(RevSliderBase::getVar($params, "bg_fit_y", "100"));
     $bgPosition = RevSliderBase::getVar($params, "bg_position", "center top");
     $bgPositionX = intval(RevSliderBase::getVar($params, "bg_position_x", "0"));
     $bgPositionY = intval(RevSliderBase::getVar($params, "bg_position_y", "0"));
     $bgRepeat = RevSliderBase::getVar($params, "bg_repeat", "no-repeat");
     $bgStyle = ' ';
     if ($bgFit == 'percentage') {
         $bgStyle .= "background-size: " . $bgFitX . '% ' . $bgFitY . '%;';
     } else {
         $bgStyle .= "background-size: " . $bgFit . ";";
     }
     if ($bgPosition == 'percentage') {
         $bgStyle .= "background-position: " . $bgPositionX . '% ' . $bgPositionY . '%;';
     } else {
         $bgStyle .= "background-position: " . $bgPosition . ";";
     }
     $bgStyle .= "background-repeat: " . $bgRepeat . ";";
     $thumb = '';
     switch ($slider_type) {
         case 'gallery':
             $imageID = RevSliderBase::getVar($params, "image_id");
             if (empty($imageID)) {
                 $thumb = RevSliderBase::getVar($params, "image");
                 $imgID = RevSliderBase::get_image_id_by_url($thumb);
                 if ($imgID !== false) {
                     $thumb = RevSliderFunctionsWP::getUrlAttachmentImage($imgID, RevSliderFunctionsWP::THUMB_MEDIUM);
                 }
             } else {
                 $thumb = RevSliderFunctionsWP::getUrlAttachmentImage($imageID, RevSliderFunctionsWP::THUMB_MEDIUM);
             }
             break;
         case 'posts':
             $thumb = RS_PLUGIN_URL . 'public/assets/assets/sources/post.png';
             $bgStyle = 'background-size: cover;';
             break;
         case 'facebook':
             $thumb = RS_PLUGIN_URL . 'public/assets/assets/sources/fb.png';
             $bgStyle = 'background-size: cover;';
             break;
         case 'twitter':
             $thumb = RS_PLUGIN_URL . 'public/assets/assets/sources/tw.png';
             $bgStyle = 'background-size: cover;';
             break;
         case 'instagram':
             $thumb = RS_PLUGIN_URL . 'public/assets/assets/sources/ig.png';
             $bgStyle = 'background-size: cover;';
             break;
         case 'flickr':
             $thumb = RS_PLUGIN_URL . 'public/assets/assets/sources/fr.png';
             $bgStyle = 'background-size: cover;';
             break;
         case 'youtube':
             $thumb = RS_PLUGIN_URL . 'public/assets/assets/sources/yt.png';
             $bgStyle = 'background-size: cover;';
             break;
         case 'vimeo':
             $thumb = RS_PLUGIN_URL . 'public/assets/assets/sources/vm.png';
             $bgStyle = 'background-size: cover;';
             break;
     }
     if ($thumb == '') {
         $thumb = RevSliderBase::getVar($params, "image");
     }
     $bg_fullstyle = '';
     $bg_extraClass = '';
     $data_urlImageForView = '';
     //if($bgType=="image" || $bgType=="streamvimeo" || $bgType=="streamyoutube" || $bgType=="streaminstagram" || $bgType=="html5") {
     $data_urlImageForView = $thumb;
     $bg_fullstyle = $bgStyle;
     //}
     if ($bgType == "solid") {
         $bg_fullstyle = 'background-color:' . $bgColor . ';';
     }
     if ($bgType == "trans" || $bgType == "transparent") {
         $bg_extraClass = 'mini-transparent';
     }
     return array('url' => $data_urlImageForView, 'class' => $bg_extraClass, 'style' => $bg_fullstyle);
 }
Example #7
0
		<div id="dialog_save_animation" class="dialog_save_animation" title="<?php 
_e('Save Under', REVSLIDER_TEXTDOMAIN);
?>
" style="display:none;">
			<div style="margin-top:14px">
				<span style="margin-right:15px"><?php 
_e('Save Under:', REVSLIDER_TEXTDOMAIN);
?>
</span><input id="rs-save-under-animation" type="text" name="rs-save-under-animation" value="" />
			</div>
		</div>
		
		<script type="text/javascript">
			
			<?php 
$icon_sets = RevSliderBase::get_icon_sets();
$sets = array();
if (!empty($icon_sets)) {
    $sets = implode("','", $icon_sets);
}
?>

			 var rs_icon_sets = new Array('<?php 
echo $sets;
?>
');
			
			 
			jQuery(document).ready(function() {

				
" class="label" origtitle=""><?php 
_e('Animation Duration', REVSLIDER_TEXTDOMAIN);
?>
</span>
										<input type="text" class="text-sidebar withlabel" id="def-transition_duration" name="def-transition_duration" value="<?php 
echo $def_trans_dur;
?>
">
										<span><?php 
_e('ms', REVSLIDER_TEXTDOMAIN);
?>
</span>
										<div class="clear"></div>

										<?php 
$img_sizes = RevSliderBase::get_all_image_sizes();
$bg_image_size = RevSliderFunctions::getVal($arrFieldsParams, 'def-image_source_type', 'full');
?>
										<input type="checkbox" class="rs-ingore-save rs-reset-slide-setting" name="reset-image_source_type" /> <span id="label_def-image_source_type" class="label" origtitle="<?php 
_e("Default main image source size by creating a new slide.", REVSLIDER_TEXTDOMAIN);
?>
" ><?php 
_e('Image Source Size', REVSLIDER_TEXTDOMAIN);
?>
</span>
										<select name="def-image_source_type">
											<?php 
foreach ($img_sizes as $imghandle => $imgSize) {
    $sel = $bg_image_size == $imghandle ? ' selected="selected"' : '';
    echo '<option value="' . $imghandle . '"' . $sel . '>' . $imgSize . '</option>';
}
Example #9
0
	
	var global_grid_sizes = {
		'desktop': '<?php 
echo RevSliderBase::getVar($glval, 'width', 1230);
?>
',
		'notebook': '<?php 
echo RevSliderBase::getVar($glval, 'width_notebook', 1230);
?>
',
		'tablet': '<?php 
echo RevSliderBase::getVar($glval, 'width_tablet', 992);
?>
',
		'mobile': '<?php 
echo RevSliderBase::getVar($glval, 'width_mobile', 480);
?>
'
	};
	
</script>

<div id="div_debug"></div>

<div class='unite_error_message' id="error_message" style="display:none;"></div>

<div class='unite_success_message' id="success_message" style="display:none;"></div>

<div id="viewWrapper" class="view_wrapper<?php 
echo $wrapperClass;
?>
Example #10
0
    /**
     * view the estimated speed of the Slider
     * @since: 5.0
     */
    public static function get_slider_speed($sliderID)
    {
        //$data = wp_get_attachment_metadata($cur_img_id);
        ob_start();
        $total_size = 0;
        $do_ssl = is_ssl() ? 'http:' : 'https:';
        $slider = new RevSliderSlider();
        $slider->initByID($sliderID);
        $slides = $slider->getSlidesForExport();
        $static_slides = $slider->getStaticSlideForExport();
        if (!empty($static_slides) && is_array($static_slides)) {
            foreach ($static_slides as $s_slide) {
                $slides[] = $s_slide;
            }
        }
        $used_images = array();
        $used_videos = array();
        $used_captions = array();
        $using_kenburns = false;
        $using_parallax = false;
        $using_carousel = false;
        $using_navigation = false;
        $using_videos = false;
        $using_actions = false;
        $using_layeranim = false;
        $img_size = 0;
        $video_size = 0;
        $slide_counter = 0;
        $firstslide_size = 0;
        $smartslide_size = 0;
        if ($slider->getParam("use_parallax", "off") == 'on') {
            $using_parallax = true;
        }
        if ($slider->getParam("slider-type", "standard") == 'carousel') {
            $using_carousel = true;
        }
        $enable_arrows = $slider->getParam('enable_arrows', 'off');
        $enable_bullets = $slider->getParam('enable_bullets', 'off');
        $enable_tabs = $slider->getParam('enable_tabs', 'off');
        $enable_thumbnails = $slider->getParam('enable_thumbnails', 'off');
        if ($enable_arrows == 'on' || $enable_bullets == 'on' || $enable_tabs == 'on' || $enable_thumbnails == 'on') {
            $using_navigation = true;
        }
        if (!empty($slides) && count($slides) > 0) {
            foreach ($slides as $key => $slide) {
                if (isset($slide['params']['state']) && $slide['params']['state'] != 'published') {
                    continue;
                }
                if (!isset($slide['id'])) {
                    continue;
                }
                $slide_counter++;
                $slide_id = $slide['id'];
                if (isset($slide['params']['kenburn_effect']) && $slide['params']['kenburn_effect'] == 'on') {
                    $using_kenburns = true;
                }
                if (!isset($slide['params']['image_source_type'])) {
                    $slide['params']['image_source_type'] = 'full';
                }
                if (isset($slide['params']['image']) && $slide['params']['image'] != '') {
                    //add infos of image to an array
                    $infos = array();
                    $urlImage = false;
                    switch ($slide['params']['background_type']) {
                        case 'streamyoutube':
                        case 'streaminstagram':
                        case 'streamvimeo':
                        case 'youtube':
                        case 'vimeo':
                            $using_videos = true;
                            break;
                    }
                    if (isset($slide['params']['image_id'])) {
                        $cur_img_id = $slide['params']['image_id'];
                        //get image sizes by ID
                        $urlImage = wp_get_attachment_image_src($slide['params']['image_id'], $slide['params']['image_source_type']);
                    }
                    if ($urlImage === false) {
                        $cur_img_id = RevSliderFunctionsWP::get_image_id_by_url($slide['params']['image']);
                        if ($cur_img_id !== false) {
                            $urlImage = wp_get_attachment_image_src($cur_img_id, $slide['params']['image_source_type']);
                        }
                    }
                    if ($urlImage !== false) {
                        $infos['id'] = $cur_img_id;
                        $file = get_attached_file($cur_img_id);
                        $infos['info'] = pathinfo($file);
                        if (file_exists($file)) {
                            $infos['size'] = filesize($file);
                            $infos['size-format'] = size_format($infos['size'], 2);
                            $img_size += $infos['size'];
                            if ($slide_counter == 1) {
                                $firstslide_size += $infos['size'];
                            }
                            if ($slide_counter == 1 || $slide_counter == 2 || $slide_counter == count($slides)) {
                                $smartslide_size += $infos['size'];
                            }
                        } else {
                            $infos['id'] = false;
                        }
                    } else {
                        $infos['id'] = 'external';
                    }
                    if (strpos($slide_id, 'static_') !== false) {
                        $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=static_' . $sliderID);
                    } else {
                        $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=' . $slide_id);
                    }
                    $used_images[$slide['params']['image']] = $infos;
                }
                if (isset($slide['layers']) && !empty($slide['layers']) && count($slide['layers']) > 0) {
                    $using_layeranim = true;
                    foreach ($slide['layers'] as $lKey => $layer) {
                        switch ($layer['type']) {
                            case 'image':
                                $infos = array();
                                if (isset($layer['image_url']) && trim($layer['image_url']) != '') {
                                    $cur_img_id = RevSliderFunctionsWP::get_image_id_by_url($layer['image_url']);
                                    if ($cur_img_id !== false) {
                                        if (!isset($layer['layer-image-size']) || $layer['layer-image-size'] == 'auto') {
                                            $layer['layer-image-size'] = $slide['params']['image_source_type'];
                                        }
                                        $urlImage = wp_get_attachment_image_src($cur_img_id, $layer['layer-image-size']);
                                        if ($urlImage !== false) {
                                            $infos['id'] = $cur_img_id;
                                            $file = get_attached_file($cur_img_id);
                                            $infos['info'] = pathinfo($file);
                                            if (file_exists($file)) {
                                                $infos['size'] = filesize($file);
                                                $infos['size-format'] = size_format($infos['size'], 2);
                                                $img_size += $infos['size'];
                                                if ($slide_counter == 1) {
                                                    $firstslide_size += $infos['size'];
                                                }
                                                if ($slide_counter == 1 || $slide_counter == 2 || $slide_counter == count($slides)) {
                                                    $smartslide_size += $infos['size'];
                                                }
                                            } else {
                                                $infos['id'] = false;
                                            }
                                        } else {
                                            $infos['id'] = 'external';
                                        }
                                    } else {
                                        $infos['id'] = 'external';
                                    }
                                    if (strpos($slide_id, 'static_') !== false) {
                                        $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=static_' . $sliderID);
                                    } else {
                                        $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=' . $slide_id);
                                    }
                                    $used_images[$layer['image_url']] = $infos;
                                    //image_url if image caption
                                }
                                break;
                            case 'video':
                                $using_videos = true;
                                //get cover image if existing
                                $infos = array();
                                $poster_img = array();
                                if (isset($layer['video_data']) && isset($layer['video_data']->urlPoster)) {
                                    $poster_img[] = $layer['video_data']->urlPoster;
                                }
                                if (isset($layer['video_image_url']) && isset($layer['video_image_url'])) {
                                    $poster_img[] = $layer['video_image_url'];
                                }
                                if (!empty($poster_img)) {
                                    foreach ($poster_img as $img) {
                                        if (trim($img) == '') {
                                            continue;
                                        }
                                        $cur_img_id = RevSliderFunctionsWP::get_image_id_by_url($img);
                                        if ($cur_img_id !== false) {
                                            if (!isset($layer['layer-image-size']) || $layer['layer-image-size'] == 'auto') {
                                                $layer['layer-image-size'] = $slide['params']['image_source_type'];
                                            }
                                            $urlImage = wp_get_attachment_image_src($cur_img_id, $layer['layer-image-size']);
                                            if ($urlImage !== false) {
                                                $infos['id'] = $cur_img_id;
                                                $file = get_attached_file($cur_img_id);
                                                $infos['info'] = pathinfo($file);
                                                if (file_exists($file)) {
                                                    $infos['size'] = filesize($file);
                                                    $infos['size-format'] = size_format($infos['size'], 2);
                                                    $img_size += $infos['size'];
                                                    if ($slide_counter == 1) {
                                                        $firstslide_size += $infos['size'];
                                                    }
                                                    if ($slide_counter == 1 || $slide_counter == 2 || $slide_counter == count($slides)) {
                                                        $smartslide_size += $infos['size'];
                                                    }
                                                } else {
                                                    $infos['id'] = false;
                                                }
                                            } else {
                                                $infos['id'] = 'external';
                                            }
                                        } else {
                                            $infos['id'] = 'external';
                                        }
                                        if (strpos($slide_id, 'static_') !== false) {
                                            $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=static_' . $sliderID);
                                        } else {
                                            $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=' . $slide_id);
                                        }
                                        $used_images[$img] = $infos;
                                        //image_url if image caption
                                    }
                                }
                                $infos = array();
                                if (isset($layer['video_type'])) {
                                    //add videos and try to get video size
                                    if (isset($layer['video_data'])) {
                                        $video_arr = array();
                                        $max_video_size = 0;
                                        if (strpos($slide_id, 'static_') !== false) {
                                            $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=static_' . $sliderID);
                                        } else {
                                            $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=' . $slide_id);
                                        }
                                        switch ($layer['video_type']) {
                                            case 'html5':
                                                if (isset($layer['video_data']->urlMp4) && !empty($layer['video_data']->urlMp4)) {
                                                    $video_arr['mp4'] = $layer['video_data']->urlMp4;
                                                }
                                                if (isset($layer['video_data']->urlWebm) && !empty($layer['video_data']->urlWebm)) {
                                                    $video_arr['webm'] = $layer['video_data']->urlWebm;
                                                }
                                                if (isset($layer['video_data']->urlOgv) && !empty($layer['video_data']->urlOgv)) {
                                                    $video_arr['mp4'] = $layer['video_data']->urlOgv;
                                                }
                                                if (!empty($video_arr)) {
                                                    foreach ($video_arr as $type => $url) {
                                                        $cur_id = RevSliderFunctionsWP::get_image_id_by_url($url);
                                                        if ($cur_id !== false) {
                                                            $infos['id'] = $cur_id;
                                                            $file = get_attached_file($cur_id);
                                                            $infos['info'] = pathinfo($file);
                                                            if (file_exists($file)) {
                                                                $infos['size'] = filesize($file);
                                                                $infos['size-format'] = size_format($infos['size'], 2);
                                                                if ($infos['size'] > $max_video_size) {
                                                                    $max_video_size = $infos['size'];
                                                                }
                                                                //add only the largest video of the three here as each browser loads only one file and we can add here the biggest
                                                            } else {
                                                                $infos['id'] = 'external';
                                                            }
                                                        } else {
                                                            $infos['id'] = 'external';
                                                        }
                                                        $used_videos[$url] = $infos;
                                                    }
                                                    $video_size += $max_video_size;
                                                }
                                                break;
                                            case 'youtube':
                                                $infos['id'] = 'external';
                                                if (!isset($layer['video_data']->id) || empty($layer['video_data']->id)) {
                                                    continue;
                                                }
                                                $used_videos[$do_ssl . '//www.youtube.com/watch?v=' . $layer['video_data']->id] = $infos;
                                                break;
                                            case 'vimeo':
                                                if (!isset($layer['video_data']->id) || empty($layer['video_data']->id)) {
                                                    continue;
                                                }
                                                $infos['id'] = 'external';
                                                $used_videos[$do_ssl . '//vimeo.com/' . $layer['video_data']->id] = $infos;
                                                break;
                                        }
                                    }
                                }
                                break;
                        }
                        //check captions for actions
                        if (isset($layer['layer_action']) && !empty($layer['layer_action'])) {
                            $a_action = RevSliderFunctions::cleanStdClassToArray(RevSliderFunctions::getVal($layer['layer_action'], 'action', array()));
                            $a_link_type = RevSliderFunctions::cleanStdClassToArray(RevSliderFunctions::getVal($layer['layer_action'], 'link_type', array()));
                            if (!empty($a_action)) {
                                foreach ($a_action as $num => $action) {
                                    if ($using_actions == true) {
                                        break;
                                    }
                                    if ($action !== 'link') {
                                        $using_actions = true;
                                    } else {
                                        //check if jQuery or a tag
                                        if ($a_link_type[$num] == 'jquery') {
                                            $using_actions = true;
                                        }
                                    }
                                }
                            }
                        }
                        if (isset($layer['style']) && $layer['style'] != '') {
                            $used_captions[$layer['style']] = true;
                        }
                    }
                }
            }
        }
        $total_size += $img_size;
        $img_counter = 0;
        $issues = "";
        //$total_size += $video_size;
        ?>

		<span class="tp-clearfix" style="height:15px"></span>
		<hr>
		<span class="tp-clearfix" style="height:25px"></span>
		
		<!-- HEADER OF MONITORING -->
		<span class="tp-monitor-performance-title"><?php 
        echo __("Overall Slider Performance", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
		<span class="tp-monitor-performace-wrap">
			<span id="image-performace-bar" style="width: %overall_performance%%" class="tp-monitor-performance-bar mo-%overall_color%-col"></span>
			<span class="tp-monitor-slow"><?php 
        echo __("Slow", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
			<span class="tp-monitor-ok"><?php 
        echo __("Ok", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
			<span class="tp-monitor-fast"><?php 
        echo __("Fast", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
		</span>
		<span class="tp-clearfix" style="height:50px"></span>
		
		<span  class="tp-monitor-speed-table tp-monitor-single-speed">
			<span class="tp-monitor-speed-cell">
				<span class="tp-monitor-smalllabel"><?php 
        echo __("Load Speed UMTS:", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
				<span class="tp-monitor-total-subsize" id="umts-speed">%umtsspeed-single%</span>
			</span>
			<span class="tp-monitor-speed-cell">
				<span class="tp-monitor-smalllabel"><?php 
        echo __("Load Speed DSL:", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
				<span class="tp-monitor-total-subsize" id="dsl-speed">%dslspeed-single%</span>
			</span>
			<span class="tp-monitor-speed-cell">
				<span class="tp-monitor-smalllabel"><?php 
        echo __("Load Speed T1:", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
				<span class="tp-monitor-total-subsize" id="t1-speed">%t1speed-single%</span>
			</span>
		</span>

		<span  class="tp-monitor-speed-table tp-monitor-smart-speed">
			<span class="tp-monitor-speed-cell">
				<span class="tp-monitor-smalllabel"><?php 
        echo __("Load Speed UMTS:", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
				<span class="tp-monitor-total-subsize" id="umts-speed">%umtsspeed-smart%</span>
			</span>
			<span class="tp-monitor-speed-cell">
				<span class="tp-monitor-smalllabel"><?php 
        echo __("Load Speed DSL:", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
				<span class="tp-monitor-total-subsize" id="dsl-speed">%dslspeed-smart%</span>
			</span>
			<span class="tp-monitor-speed-cell">
				<span class="tp-monitor-smalllabel"><?php 
        echo __("Load Speed T1:", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
				<span class="tp-monitor-total-subsize" id="t1-speed">%t1speed-smart%</span>
			</span>
		</span>

		<span class="tp-monitor-speed-table tp-monitor-all-speed">
			<span class="tp-monitor-speed-cell">
				<span class="tp-monitor-smalllabel"><?php 
        echo __("Load Speed UMTS:", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
				<span class="tp-monitor-total-subsize" id="umts-speed">%umtsspeed-all%</span>
			</span>
			<span class="tp-monitor-speed-cell">
				<span class="tp-monitor-smalllabel"><?php 
        echo __("Load Speed DSL:", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
				<span class="tp-monitor-total-subsize" id="dsl-speed">%dslspeed-all%</span>
			</span>
			<span class="tp-monitor-speed-cell">
				<span class="tp-monitor-smalllabel"><?php 
        echo __("Load Speed T1:", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
				<span class="tp-monitor-total-subsize" id="t1-speed">%t1speed-all%</span>
			</span>
		</span>

		<span class="tp-clearfix" style="height:25px"></span>
		<span style="float:left;width:165px">
			<span class="tp-monitor-smalllabel"><?php 
        echo __("Total Slider Size:", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
			<span class="tp-monitor-fullsize">%overall_size%</span>
			<a class="button-primary revblue tp-monitor-showdetails" data-target="#performance_overall_details" style="float:right; width:160px;vertical-align:top"><i class="eg-icon-chart-bar"></i>Show Full Statistics</a>
		</span>
		<span style="float:right; width:165px">
			<span class="tp-monitor-smalllabel"><?php 
        echo __("Preloaded Slides Size:", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
			<span class="tp-monitor-fullsize tp-monitor-single-speed">%firstslide_size%</span>
			<span class="tp-monitor-fullsize tp-monitor-smart-speed">%smartslide_size%</span>
			<span class="tp-monitor-fullsize tp-monitor-all-speed">%allslide_size%</span>		
			<a class="button-primary revred tp-monitor-showdetails" data-target="#monitor-problems" style="float:right; width:160px;vertical-align:top;"><i class="eg-icon-info"></i>Show All Issues</a>
		</span>		
		<span class="tp-clearfix" style="height:15px"></span>
		<hr>
		<span class="tp-clearfix" style="height:25px"></span>
		
		<!-- THE IMAGE PERFORMANCE MESSING -->
		<div id="monitor-problems" style="display:none">
			<span class="tp-monitor-performance-title"><?php 
        echo __("Need Some Attention", REVSLIDER_TEXTDOMAIN);
        ?>
</span>			
			<span class="tp-clearfix" style="height:25px"></span>
			<ul class="tp-monitor-list" id="monitor-problem-details" style="margin-bottom:15px;">
			%issues%
			</ul>
			<span class="tp-clearfix" style="height:15px"></span>
			<hr>
			<span class="tp-clearfix" style="height:25px"></span>
		</div>

		<div id="performance_overall_details" style="display:none">

		<!-- IMAGE LIST -->
		<?php 
        if (!empty($used_images)) {
            ?>
			<!-- THE IMAGE PERFORMANCE MESSING -->
			<span class="tp-monitor-performance-title"><?php 
            echo __("Image Performance", REVSLIDER_TEXTDOMAIN);
            ?>
</span>
			<span class="tp-monitor-performace-wrap">
				<span id="image-performace-bar" style="width: %image_performance%%" class="tp-monitor-performance-bar mo-%image_color%-col"></span>
				<span class="tp-monitor-slow"><?php 
            echo __("Slow", REVSLIDER_TEXTDOMAIN);
            ?>
</span>
				<span class="tp-monitor-ok"><?php 
            echo __("Ok", REVSLIDER_TEXTDOMAIN);
            ?>
</span>
				<span class="tp-monitor-fast"><?php 
            echo __("Fast", REVSLIDER_TEXTDOMAIN);
            ?>
</span>
			</span>

			<span class="tp-clearfix" style="height:35px"></span>

			<!-- FULL SIZE OF SUBCATEGORY && SHOW/HIDE LIST -->
			<span style="float:left;width:40%">
				<span class="tp-monitor-smalllabel"><?php 
            echo __("Images Loaded:", REVSLIDER_TEXTDOMAIN);
            ?>
</span>
				<span class="tp-monitor-imageicon"></span>
				<span id="image_sub_size" class="tp-monitor-total-subsize"><?php 
            echo size_format($img_size, 2);
            ?>
</span>
				</span>
			<span style="float:left;width:60%; text-align:right;">
				<span class="tp-monitor-showdetails" data-target="#monitor-image-details" data-open="</span><?php 
            echo __("Hide Details", REVSLIDER_TEXTDOMAIN);
            ?>
" data-close="</span><?php 
            echo __("Show Details", REVSLIDER_TEXTDOMAIN);
            ?>
"><span class="tp-monitor-openclose"></span><span class="tp-show-inner-btn"><?php 
            echo __("Show Details", REVSLIDER_TEXTDOMAIN);
            ?>
</span></span>
			</span>
			<span class="tp-clearfix" style="height:15px"></span>
			<!-- THE IMAGE LIST -->
			
				<ul class="tp-monitor-list" id="monitor-image-details" style="display:none;margin-bottom:15px;">
				<?php 
            foreach ($used_images as $path => $image) {
                $_li = '<li class="tp-monitor-listli">';
                if (isset($image['size'])) {
                    $img_counter++;
                    if ($image['size'] < 200000) {
                        $_li .= '<span class="tp-monitor-good"></span>';
                    } else {
                        if ($image['size'] < 400000) {
                            $_li .= '<span class="tp-monitor-well"></span>';
                        } else {
                            $_li .= '<span class="tp-monitor-warning"></span>';
                        }
                    }
                    if ($image['size'] > 1000000) {
                        $_li .= '<span class="tp-monitor-size">' . size_format($image['size'], 2) . '</span>';
                    } else {
                        $_li .= '<span class="tp-monitor-size">' . size_format($image['size'], 0) . '</span>';
                    }
                } else {
                    if ($image['id'] == 'external') {
                        $_li .= '<span class="tp-monitor-neutral"></span><span class="tp-monitor-size">' . __('extern', REVSLIDER_TEXTDOMAIN) . '</span>';
                    } else {
                        $_li .= '<span class="tp-monitor-warning"></span><span class="tp-monitor-size">' . __('missing', REVSLIDER_TEXTDOMAIN) . '</span>';
                    }
                }
                $_li .= '<span class="tp-monitor-file">';
                if (!isset($image['info']['basename']) || empty($image['info']['basename'])) {
                    $_li .= '...' . substr($path, -20);
                } else {
                    $_li .= substr($image['info']['basename'], -20);
                }
                $_li .= '</span>';
                if (isset($image['url'])) {
                    //$_li .=   ' <a href="'.$image['url'].'" target="_blank" class="tp-monitor-showimage"></a>';
                    $_li .= ' <a href="' . $image['url'] . '" target="_blank" class="tp-monitor-linktoslide"></a>';
                }
                $_li .= '</li>';
                echo $_li;
                if (isset($image['size']) && $image['size'] > 199999 || !isset($image['size']) && !$image['id'] == 'external') {
                    $issues .= $_li;
                }
            }
            ?>
				</ul>

			<?php 
        }
        ?>
			
		<!-- VIDEO LIST -->
		<?php 
        if (!empty($used_videos)) {
            ?>
			<span class="tp-clearfix" style="height:15px"></span>
			<hr>
			<span class="tp-clearfix" style="height:25px"></span>
			
			<!-- THE VIDEO PERFORMANCE MESSING -->
			<span class="tp-monitor-performance-title"><?php 
            echo __("Video Performance", REVSLIDER_TEXTDOMAIN);
            ?>
</span>
			<span class="tp-monitor-performace-wrap">
				<span id="video-performace-bar" style="width:50%" class="tp-monitor-performance-bar mo-neutral-col"></span>
				<span class="tp-monitor-slow"><?php 
            echo __("Slow", REVSLIDER_TEXTDOMAIN);
            ?>
</span>
				<span class="tp-monitor-ok"><?php 
            echo __("Ok", REVSLIDER_TEXTDOMAIN);
            ?>
</span>
				<span class="tp-monitor-fast"><?php 
            echo __("Fast", REVSLIDER_TEXTDOMAIN);
            ?>
</span>
			</span>
			
			<span class="tp-clearfix" style="height:35px"></span>

			<!-- FULL SIZE OF SUBCATEGORY && SHOW/HIDE LIST -->
			<span style="float:left;width:40%; display:block">				
				<span class="tp-monitor-smalllabel"><?php 
            echo __("Videos Loaded (max):", REVSLIDER_TEXTDOMAIN);
            ?>
</span>
				<?php 
            if ($video_size > 0) {
                ?>
				
					<span class="tp-monitor-imageicon"></span>
					<span id="video_sub_size" class="tp-monitor-total-subsize"><?php 
                echo size_format($video_size, 2);
                ?>
</span>
				<?php 
            } else {
                ?>
					<span class="tp-monitor-imageicon"></span>
					<span class="tp-monitor-total-subsize"><?php 
                echo __("Unknown", REVSLIDER_TEXTDOMAIN);
                ?>
</span>
				<?php 
            }
            ?>
			</span>
			<span style="float:left;width:60%; text-align:right;">
				<span class="tp-monitor-showdetails" data-target="#monitor-video-details" data-open="</span><?php 
            echo __("Hide Details", REVSLIDER_TEXTDOMAIN);
            ?>
" data-close="</span><?php 
            echo __("Show Details", REVSLIDER_TEXTDOMAIN);
            ?>
"><span class="tp-monitor-openclose"></span><span class="tp-show-inner-btn"><?php 
            echo __("Show Details", REVSLIDER_TEXTDOMAIN);
            ?>
</span></span>
			</span>
			<span class="tp-clearfix" style="height:15px"></span>
			
			<ul class="tp-monitor-list" id="monitor-video-details" style="margin-bottom:15px;display:none;">
			<?php 
            foreach ($used_videos as $path => $video) {
                $_li = '<li class="tp-monitor-listli">';
                if (isset($video['size'])) {
                    $_li .= '	<span class="tp-monitor-neutral"></span>';
                    if ($video['size'] > 1000000) {
                        $_li .= '<span class="tp-monitor-size">' . size_format($video['size'], 2) . '</span>';
                    } else {
                        $_li .= '<span class="tp-monitor-size">' . size_format($video['size'], 0) . '</span>';
                    }
                } else {
                    if ($video['id'] == 'external') {
                        $_li .= '<span class="tp-monitor-neutral"></span><span class="tp-monitor-size">' . __('extern', REVSLIDER_TEXTDOMAIN) . '</span>';
                    } else {
                        $_li .= '<span class="tp-monitor-warning"></span><span class="tp-monitor-size">' . __('missing', REVSLIDER_TEXTDOMAIN) . '</span>';
                    }
                }
                $_li .= '<span class="tp-monitor-file">';
                if (!isset($video['info']['basename']) || empty($video['info']['basename'])) {
                    $_li .= '...' . substr($path, -20);
                } else {
                    $_li .= substr($video['info']['basename'], -20);
                }
                $_li .= '</span>';
                if (isset($image['url'])) {
                    $_li .= ' <a href="' . $video['url'] . '" target="_blank" class="tp-monitor-linktoslide"></a>';
                }
                $_li .= '</li>';
                if (!isset($video['size']) && !$video['id'] == 'external') {
                    $issues .= $_li;
                }
                echo $_li;
            }
            ?>
			</ul>
			<?php 
        }
        $css_size = 0;
        ?>

		<span class="tp-clearfix" style="height:15px"></span>
		<hr>
		<span class="tp-clearfix" style="height:25px"></span>

		<!-- THE IMAGE PERFORMANCE MESSING -->
		<span class="tp-monitor-performance-title"><?php 
        echo __("CSS Performance", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
		<span class="tp-monitor-performace-wrap">
			<span id="image-performace-bar" style="width:%css_performance%%" class="tp-monitor-performance-bar mo-%css_color%-col"></span>
			<span class="tp-monitor-slow"><?php 
        echo __("Slow", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
			<span class="tp-monitor-ok"><?php 
        echo __("Ok", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
			<span class="tp-monitor-fast"><?php 
        echo __("Fast", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
		</span>

		<span class="tp-clearfix" style="height:35px"></span>

		<!-- FULL SIZE OF SUBCATEGORY && SHOW/HIDE LIST -->
		<span style="float:left;width:40%">
			<span class="tp-monitor-smalllabel"><?php 
        echo __("CSS Loaded:", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
			<span class="tp-monitor-cssicon"></span><span id="css_sub_size" class="tp-monitor-total-subsize">%css_size%</span>
			</span>
		<span style="float:left;width:60%; text-align:right;">
			<span class="tp-monitor-showdetails" data-target="#monitor-CSS-details" data-open="</span><?php 
        echo __("Hide Details", REVSLIDER_TEXTDOMAIN);
        ?>
" data-close="</span><?php 
        echo __("Show Details", REVSLIDER_TEXTDOMAIN);
        ?>
"><span class="tp-monitor-openclose"></span><span class="tp-show-inner-btn"><?php 
        echo __("Show Details", REVSLIDER_TEXTDOMAIN);
        ?>
</span></span>
		</span>
		<span class="tp-clearfix" style="height:15px"></span>

		<?php 
        //get css files
        echo '<ul class="tp-monitor-list" id="monitor-CSS-details" style="margin-bottom:15px;display:none;">';
        if (file_exists(RS_PLUGIN_PATH . '/public/assets/css/settings.css')) {
            $fs = filesize(RS_PLUGIN_PATH . '/public/assets/css/settings.css');
            $_li = '<li class="tp-monitor-listli">';
            if ($fs < 60000) {
                $_li .= '<span class="tp-monitor-good"></span>';
            } else {
                if ($fs < 100000) {
                    $_li .= '<span class="tp-monitor-well"></span>';
                } else {
                    $_li .= '<span class="tp-monitor-warning"></span>';
                }
            }
            $_li .= '<span class="tp-monitor-size">' . size_format($fs, 0) . '</span>';
            $_li .= '<span class="tp-monitor-file">';
            $_li .= __('css/settings.css', REVSLIDER_TEXTDOMAIN);
            $_li .= '</span>';
            $_li .= '</li>';
            if ($fs > 99999) {
                $issues .= $_li;
            }
            echo $_li;
            $total_size += $fs;
            $css_size += $fs;
        }
        $custom_css = RevSliderOperations::getStaticCss();
        $custom_css = RevSliderCssParser::compress_css($custom_css);
        $_li = '<li class="tp-monitor-listli">';
        if (strlen($custom_css) < 50000) {
            $_li .= '<span class="tp-monitor-good"></span>';
        } else {
            if (strlen($custom_css) < 100000) {
                $_li .= '<span class="tp-monitor-well"></span>';
            } else {
                $_li .= '<span class="tp-monitor-warning"></span>';
            }
        }
        $_li .= '<span class="tp-monitor-size">' . size_format(strlen($custom_css), 0) . '</span>';
        $_li .= '<span class="tp-monitor-file">';
        $_li .= __('Static Styles', REVSLIDER_TEXTDOMAIN);
        $_li .= '</span>';
        $_li .= '</li>';
        if (strlen($custom_css) > 49999) {
            $issues .= $_li;
        }
        echo $_li;
        $total_size += strlen($custom_css);
        $css_size += strlen($custom_css);
        if (!empty($used_captions)) {
            $captions = array();
            foreach ($used_captions as $class => $val) {
                $cap = RevSliderOperations::getCaptionsContentArray($class);
                if (!empty($cap)) {
                    $captions[] = $cap;
                }
            }
            $styles = RevSliderCssParser::parseArrayToCss($captions, "\n");
            $styles = RevSliderCssParser::compress_css($styles);
            $_li = '<li class="tp-monitor-listli">';
            if (strlen($styles) < 50000) {
                $_li .= '<span class="tp-monitor-good"></span>';
            } else {
                if (strlen($styles) < 100000) {
                    $_li .= '<span class="tp-monitor-well"></span>';
                } else {
                    $_li .= '<span class="tp-monitor-warning"></span>';
                }
            }
            $_li .= '<span class="tp-monitor-size">' . size_format(strlen($styles), 0) . '</span>';
            $_li .= '<span class="tp-monitor-file">';
            $_li .= __('Dynamic Styles', REVSLIDER_TEXTDOMAIN);
            $_li .= '</span>';
            $_li .= '</li>';
            if (strlen($styles) > 49999) {
                $issues .= $_li;
            }
            echo $_li;
            $total_size += strlen($styles);
            $css_size += strlen($styles);
        }
        echo '</ul>';
        echo ' <span style="display:none" id="css-size-hidden">' . size_format($css_size, 2) . '</span>';
        $js_size = 0;
        ?>
		<span class="tp-clearfix" style="height:15px"></span>
			<hr>
			<span class="tp-clearfix" style="height:25px"></span>
			
			<!-- THE jQuery PERFORMANCE MESSING -->
			<span class="tp-monitor-performance-title"><?php 
        echo __("jQuery Performance", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
			<span class="tp-monitor-performace-wrap">
				<span id="video-performace-bar" style="width:%js_performance%%" class="tp-monitor-performance-bar mo-%js_color%-col"></span>
				<span class="tp-monitor-slow"><?php 
        echo __("Slow", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
				<span class="tp-monitor-ok"><?php 
        echo __("Ok", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
				<span class="tp-monitor-fast"><?php 
        echo __("Fast", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
			</span>
			
			<span class="tp-clearfix" style="height:35px"></span>

			<!-- FULL SIZE OF SUBCATEGORY && SHOW/HIDE LIST -->
			<span style="float:left;width:40%; display:block">				
				<span class="tp-monitor-smalllabel"><?php 
        echo __("jQuery Loaded:", REVSLIDER_TEXTDOMAIN);
        ?>
</span>				
				<span class="tp-monitor-imageicon"></span><span id="jquery_sub_size" class="tp-monitor-total-subsize">%js_size%</span>				
			</span>
			<span style="float:left;width:60%; text-align:right;">
				<span class="tp-monitor-showdetails" data-target="#monitor-jquery-details" data-open="</span><?php 
        echo __("Hide Details", REVSLIDER_TEXTDOMAIN);
        ?>
" data-close="</span><?php 
        echo __("Show Details", REVSLIDER_TEXTDOMAIN);
        ?>
"><span class="tp-monitor-openclose"></span><span class="tp-show-inner-btn"><?php 
        echo __("Show Details", REVSLIDER_TEXTDOMAIN);
        ?>
</span></span>
			</span>
			<span class="tp-clearfix" style="height:15px"></span>
		
		<?php 
        echo '<ul class="tp-monitor-list" id="monitor-jquery-details" style="margin-bottom:15px;display:none">';
        $jsfiles = array('jquery.themepunch.tools.min.js' => RS_PLUGIN_PATH . '/public/assets/js/jquery.themepunch.tools.min.js', 'jquery.themepunch.revolution.min.js' => RS_PLUGIN_PATH . '/public/assets/js/jquery.themepunch.revolution.min.js');
        //check which js files will be used by the Slider
        if ($using_kenburns == true) {
            $jsfiles['revolution.extension.kenburn.min.js'] = RS_PLUGIN_PATH . '/public/assets/js/extensions/revolution.extension.kenburn.min.js';
        }
        if ($using_parallax == true) {
            $jsfiles['revolution.extension.parallax.js'] = RS_PLUGIN_PATH . '/public/assets/js/extensions/revolution.extension.parallax.js';
        }
        if ($using_navigation == true) {
            $jsfiles['revolution.extension.navigation.min.js'] = RS_PLUGIN_PATH . '/public/assets/js/extensions/revolution.extension.navigation.min.js';
        }
        if ($using_videos == true) {
            $jsfiles['revolution.extension.video.min.js'] = RS_PLUGIN_PATH . '/public/assets/js/extensions/revolution.extension.video.min.js';
        }
        if ($using_actions == true) {
            $jsfiles['revolution.extension.actions.min.js'] = RS_PLUGIN_PATH . '/public/assets/js/extensions/revolution.extension.actions.min.js';
        }
        if ($using_layeranim == true) {
            $jsfiles['revolution.extension.layeranimation.min.js'] = RS_PLUGIN_PATH . '/public/assets/js/extensions/revolution.extension.layeranimation.min.js';
        }
        if ($using_carousel == true) {
            $jsfiles['revolution.extension.carousel.min.js'] = RS_PLUGIN_PATH . '/public/assets/js/extensions/revolution.extension.carousel.min.js';
        } else {
            $jsfiles['revolution.extension.slideanims.min.js'] = RS_PLUGIN_PATH . '/public/assets/js/extensions/revolution.extension.slideanims.min.js';
        }
        //get the js files
        foreach ($jsfiles as $name => $path) {
            if (file_exists($path)) {
                $fs = filesize($path);
                echo '<li class="tp-monitor-listli">';
                echo '<span class="tp-monitor-good"></span>';
                echo '<span class="tp-monitor-size">' . size_format($fs, 0) . '</span>';
                echo '<span class="tp-monitor-file">';
                echo $name;
                echo '</span>';
                echo '</li>';
                $total_size += $fs;
                $js_size += $fs;
            }
        }
        echo '</ul>';
        echo ' <span style="display:none" id="css-size-hidden">' . size_format($js_size, 2) . '</span>';
        $http = is_ssl() ? 'https' : 'http';
        $operations = new RevSliderOperations();
        $arrValues = $operations->getGeneralSettingsValues();
        $set_diff_font = RevSliderFunctions::getVal($arrValues, "change_font_loading", '');
        if ($set_diff_font !== '') {
            $font_url = $set_diff_font;
        } else {
            $font_url = $http . '://fonts.googleapis.com/css?family=';
        }
        $my_fonts = $slider->getParam('google_font', array());
        ?>
		<span class="tp-clearfix" style="height:15px"></span>
			<hr>
			<span class="tp-clearfix" style="height:25px"></span>
			
			<!-- THE Fonts PERFORMANCE MESSING -->
			<span class="tp-monitor-performance-title"><?php 
        echo __("Google Fonts Performance", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
			<span class="tp-monitor-performace-wrap">
				<span id="video-performace-bar" style="width:%font_performance%%" class="tp-monitor-performance-bar mo-%font_color%-col"></span>
				<span class="tp-monitor-slow"><?php 
        echo __("Slow", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
				<span class="tp-monitor-ok"><?php 
        echo __("Ok", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
				<span class="tp-monitor-fast"><?php 
        echo __("Fast", REVSLIDER_TEXTDOMAIN);
        ?>
</span>
			</span>
			
			<span class="tp-clearfix" style="height:35px"></span>

			<!-- FULL SIZE OF SUBCATEGORY && SHOW/HIDE LIST -->
			<span style="float:left;width:40%; display:block">				
				<span class="tp-monitor-smalllabel"><?php 
        echo __("Fonts Loaded:", REVSLIDER_TEXTDOMAIN);
        ?>
</span>				
				<span class="tp-monitor-jsicon"></span><span class="tp-monitor-total-subsize">%font_size%</span>				
			</span>
			<span style="float:left;width:60%; text-align:right;">
				<span class="tp-monitor-showdetails" data-target="#monitor-fonts-details" data-open="</span><?php 
        echo __("Hide Details", REVSLIDER_TEXTDOMAIN);
        ?>
" data-close="</span><?php 
        echo __("Show Details", REVSLIDER_TEXTDOMAIN);
        ?>
"><span class="tp-monitor-openclose"></span><span class="tp-show-inner-btn"><?php 
        echo __("Show Details", REVSLIDER_TEXTDOMAIN);
        ?>
</span></span>
			</span>
			<span class="tp-clearfix" style="height:15px"></span>
		
		<?php 
        //echo '<span class="tp-monitor-smalllabel">'.$font_url.'</span>';
        echo '<ul class="tp-monitor-list" id="monitor-fonts-details" style="margin-bottom:15px;display:none">';
        $all_font_count = 0;
        if (!empty($my_fonts)) {
            foreach ($my_fonts as $c_font) {
                $fcount = RevSliderBase::get_font_weight_count($c_font);
                $_li = '<li class="tp-monitor-listli">';
                if ($fcount < 4) {
                    $_li .= '<span class="tp-monitor-good"></span>';
                } else {
                    if ($fcount < 7) {
                        $_li .= '<span class="tp-monitor-well"></span>';
                    } else {
                        $_li .= '<span class="tp-monitor-warning"></span>';
                    }
                }
                $_li .= '<span class="tp-monitor-file">';
                $_li .= strip_tags($c_font);
                $_li .= '</span>';
                $_li .= '</li>';
                if ($fcount > 4) {
                    $issues .= $_li;
                }
                echo $_li;
                $all_font_count += $fcount;
            }
        }
        echo '</ul>';
        ?>
		</div><!-- END OF OVERALL Div-->
		
		<script>
			jQuery(document).on("ready",function() {
				
				jQuery('body').on('click','.tp-monitor-showdetails',function() {
					var bt = jQuery(this);
					if (bt.hasClass("selected")) {
						bt.find('.tp-show-inner-btn').html(bt.data('close'));
						bt.removeClass("selected");
						jQuery(bt.data('target')).slideUp(200);
					} else {
						bt.find('.tp-show-inner-btn').html(bt.data('open'));
						bt.addClass("selected");
						jQuery(bt.data('target')).slideDown(200);
					}
					
				})
			})
		</script>
		<?php 
        $content = ob_get_contents();
        ob_end_clean();
        if ($img_counter == 0) {
            $img_counter = 1;
        }
        if ($slide_counter == 0) {
            $slide_counter = 1;
        }
        $overall = RevSliderOperations::get_performance($total_size / $slide_counter, 0, 400000);
        // 400KB / Slide is ok
        $image = RevSliderOperations::get_performance($img_size / $img_counter, 0, 100000);
        // 100KB Image OK
        $css = RevSliderOperations::get_performance($css_size, 0, 150000);
        // 150KB CSS OK
        $js = RevSliderOperations::get_performance($js_size, 0, 250000);
        // 250KB Image OK
        $font = RevSliderOperations::get_performance($all_font_count, 0, 15);
        // 250KB Image OK
        $firstslide_size += $js_size;
        $firstslide_size += $css_size;
        $smartslide_size += $js_size;
        $smartslide_size += $css_size;
        $content = str_replace("%overall_performance%", $overall["proc"], $content);
        $content = str_replace("%overall_color%", $overall["col"], $content);
        $content = str_replace("%overall_size%", size_format($total_size, 2), $content);
        $content = str_replace("%image_performance%", $image["proc"], $content);
        $content = str_replace("%image_color%", $image["col"], $content);
        $content = str_replace("%css_performance%", $css["proc"], $content);
        $content = str_replace("%css_color%", $css["col"], $content);
        $content = str_replace("%css_size%", size_format($css_size, 2), $content);
        $content = str_replace("%js_performance%", $js["proc"], $content);
        $content = str_replace("%js_color%", $js["col"], $content);
        $content = str_replace("%js_size%", size_format($js_size, 2), $content);
        $content = str_replace("%font_performance%", $font["proc"], $content);
        $content = str_replace("%font_color%", $font["col"], $content);
        $content = str_replace("%font_size%", $all_font_count, $content);
        $content = str_replace("%issues%", $issues, $content);
        $content = str_replace("%firstslide_size%", size_format($firstslide_size, 2), $content);
        $content = str_replace("%smartslide_size%", size_format($smartslide_size, 2), $content);
        $content = str_replace("%allslide_size%", size_format($total_size, 2), $content);
        $total_size = $total_size / 1000;
        $content = str_replace("%umtsspeed-all%", gmdate('i:s', $total_size / 48), $content);
        $content = str_replace("%dslspeed-all%", gmdate('i:s', $total_size / 307), $content);
        $content = str_replace("%t1speed-all%", gmdate('i:s', $total_size / 1180), $content);
        $firstslide_size = $firstslide_size / 1000;
        $content = str_replace("%umtsspeed-single%", gmdate('i:s', $firstslide_size / 48), $content);
        $content = str_replace("%dslspeed-single%", gmdate('i:s', $firstslide_size / 307), $content);
        $content = str_replace("%t1speed-single%", gmdate('i:s', $firstslide_size / 1180), $content);
        $smartslide_size = $smartslide_size / 1000;
        $content = str_replace("%umtsspeed-smart%", gmdate('i:s', $smartslide_size / 48), $content);
        $content = str_replace("%dslspeed-smart%", gmdate('i:s', $smartslide_size / 307), $content);
        $content = str_replace("%t1speed-smart%", gmdate('i:s', $smartslide_size / 1180), $content);
        echo $content;
    }
">
						<?php 
            echo '<div class="template_slider_title">' . $c_title . '</div>';
            foreach ($c_slides as $c_slide) {
                ?>
							<div class="temp_slide_single_wrapper">
							<?php 
                $mod_slide = array();
                $mod_slide['id'] = $c_slide->getID();
                $mod_slide['params'] = $c_slide->getParams();
                //$mod_slide['layers'] = $c_slide->getLayers();
                $mod_slide['settings'] = $c_slide->getSettings();
                $mod_slide['settings']['width'] = $width;
                $mod_slide['settings']['height'] = $height;
                $mod_slide["user_template"] = true;
                $title = str_replace("'", "", RevSliderBase::getVar($mod_slide['params'], 'title', 'Slide'));
                $tmpl->write_template_markup($mod_slide);
                ?>
								<div class="template_meta_line">									
									<span class="template_local"><?php 
                _e("Local Slide", "revslider");
                ?>
</span>									
								</div>	
								<div class="template_thumb_title"><?php 
                echo $title;
                ?>
</div>
							</div>
							<?php 
            }
Example #12
0
            ?>
</a>
						<?php 
        }
        ?>
					<a class="button-primary  export_slider_overview" id="export_slider_<?php 
        echo $id;
        ?>
" href="javascript:void(0);" ><i class="revicon-export"></i><?php 
        _e("Export", REVSLIDER_TEXTDOMAIN);
        ?>
</a>
					<?php 
        $operations = new RevSliderOperations();
        $general_settings = $operations->getGeneralSettingsValues();
        $show_dev_export = RevSliderBase::getVar($general_settings, 'show_dev_export', 'off');
        if ($show_dev_export == 'on') {
            ?>
						<a class="button-primary  export_slider_standalone" id="export_slider_standalone_<?php 
            echo $id;
            ?>
" href="javascript:void(0);" ><i class="revicon-export"></i><?php 
            _e("Export to HTML", REVSLIDER_TEXTDOMAIN);
            ?>
</a>
						<?php 
        }
        ?>
					<a class="button-primary  button_delete_slider" id="button_delete_<?php 
        echo $id;
        ?>
Example #13
0
 /**
  * 
  * import slider from multipart form
  */
 public function importSliderFromPost($updateAnim = true, $updateStatic = true, $exactfilepath = false, $is_template = false, $single_slide = false, $updateNavigation = true)
 {
     try {
         $sliderID = RevSliderFunctions::getPostVariable("sliderid");
         $sliderExists = !empty($sliderID);
         if ($sliderExists) {
             $this->initByID($sliderID);
         }
         if ($exactfilepath !== false) {
             $filepath = $exactfilepath;
         } else {
             switch ($_FILES['import_file']['error']) {
                 case UPLOAD_ERR_OK:
                     break;
                 case UPLOAD_ERR_NO_FILE:
                     RevSliderFunctions::throwError(__('No file sent.', 'revslider'));
                 case UPLOAD_ERR_INI_SIZE:
                 case UPLOAD_ERR_FORM_SIZE:
                     RevSliderFunctions::throwError(__('Exceeded filesize limit.', 'revslider'));
                 default:
                     break;
             }
             $filepath = $_FILES["import_file"]["tmp_name"];
         }
         if (file_exists($filepath) == false) {
             RevSliderFunctions::throwError(__('Import file not found!!!', 'revslider'));
         }
         $importZip = false;
         WP_Filesystem();
         global $wp_filesystem;
         $upload_dir = wp_upload_dir();
         $d_path = $upload_dir['basedir'] . '/rstemp/';
         $unzipfile = unzip_file($filepath, $d_path);
         if (is_wp_error($unzipfile)) {
             define('FS_METHOD', 'direct');
             //lets try direct.
             WP_Filesystem();
             //WP_Filesystem() needs to be called again since now we use direct !
             //@chmod($filepath, 0775);
             $unzipfile = unzip_file($filepath, $d_path);
             if (is_wp_error($unzipfile)) {
                 $d_path = RS_PLUGIN_PATH . 'rstemp/';
                 $unzipfile = unzip_file($filepath, $d_path);
                 if (is_wp_error($unzipfile)) {
                     $f = basename($filepath);
                     $d_path = str_replace($f, '', $filepath);
                     $unzipfile = unzip_file($filepath, $d_path);
                 }
             }
         }
         if (!is_wp_error($unzipfile)) {
             $importZip = true;
             //raus damit..
             //read all files needed
             $content = $wp_filesystem->exists($d_path . 'slider_export.txt') ? $wp_filesystem->get_contents($d_path . 'slider_export.txt') : '';
             if ($content == '') {
                 RevSliderFunctions::throwError(__('slider_export.txt does not exist!', 'revslider'));
             }
             $animations = $wp_filesystem->exists($d_path . 'custom_animations.txt') ? $wp_filesystem->get_contents($d_path . 'custom_animations.txt') : '';
             $dynamic = $wp_filesystem->exists($d_path . 'dynamic-captions.css') ? $wp_filesystem->get_contents($d_path . 'dynamic-captions.css') : '';
             $static = $wp_filesystem->exists($d_path . 'static-captions.css') ? $wp_filesystem->get_contents($d_path . 'static-captions.css') : '';
             $navigations = $wp_filesystem->exists($d_path . 'navigation.txt') ? $wp_filesystem->get_contents($d_path . 'navigation.txt') : '';
             $uid_check = $wp_filesystem->exists($d_path . 'info.cfg') ? $wp_filesystem->get_contents($d_path . 'info.cfg') : '';
             $version_check = $wp_filesystem->exists($d_path . 'version.cfg') ? $wp_filesystem->get_contents($d_path . 'version.cfg') : '';
             if ($is_template !== false) {
                 if ($uid_check != $is_template) {
                     return array("success" => false, "error" => __('Please select the correct zip file, checksum failed!', 'revslider'));
                 }
             } else {
                 //someone imported a template base Slider, check if it is existing in Base Sliders, if yes, check if it was imported
                 if ($uid_check !== '') {
                     $tmpl = new RevSliderTemplate();
                     $tmpl_slider = $tmpl->getThemePunchTemplateSliders();
                     foreach ($tmpl_slider as $tp_slider) {
                         if (!isset($tp_slider['installed'])) {
                             continue;
                         }
                         if ($tp_slider['uid'] == $uid_check) {
                             $is_template = $uid_check;
                             break;
                         }
                     }
                 }
             }
             $db = new RevSliderDB();
             //update/insert custom animations
             $animations = @unserialize($animations);
             if (!empty($animations)) {
                 foreach ($animations as $key => $animation) {
                     //$animation['id'], $animation['handle'], $animation['params']
                     $exist = $db->fetch(RevSliderGlobals::$table_layer_anims, $db->prepare("handle = %s", array($animation['handle'])));
                     if (!empty($exist)) {
                         //update the animation, get the ID
                         if ($updateAnim == "true") {
                             //overwrite animation if exists
                             $arrUpdate = array();
                             $arrUpdate['params'] = stripslashes(json_encode(str_replace("'", '"', $animation['params'])));
                             $db->update(RevSliderGlobals::$table_layer_anims, $arrUpdate, array('handle' => $animation['handle']));
                             $anim_id = $exist['0']['id'];
                         } else {
                             //insert with new handle
                             $arrInsert = array();
                             $arrInsert["handle"] = 'copy_' . $animation['handle'];
                             $arrInsert["params"] = stripslashes(json_encode(str_replace("'", '"', $animation['params'])));
                             $anim_id = $db->insert(RevSliderGlobals::$table_layer_anims, $arrInsert);
                         }
                     } else {
                         //insert the animation, get the ID
                         $arrInsert = array();
                         $arrInsert["handle"] = $animation['handle'];
                         $arrInsert["params"] = stripslashes(json_encode(str_replace("'", '"', $animation['params'])));
                         $anim_id = $db->insert(RevSliderGlobals::$table_layer_anims, $arrInsert);
                     }
                     //and set the current customin-oldID and customout-oldID in slider params to new ID from $id
                     $content = str_replace(array('customin-' . $animation['id'] . '"', 'customout-' . $animation['id'] . '"'), array('customin-' . $anim_id . '"', 'customout-' . $anim_id . '"'), $content);
                 }
                 dmp(__("animations imported!", 'revslider'));
             }
             //overwrite/append static-captions.css
             if (!empty($static)) {
                 if ($updateStatic == "true") {
                     //overwrite file
                     RevSliderOperations::updateStaticCss($static);
                 } elseif ($updateStatic == 'none') {
                     //do nothing
                 } else {
                     //append
                     $static_cur = RevSliderOperations::getStaticCss();
                     $static = $static_cur . "\n" . $static;
                     RevSliderOperations::updateStaticCss($static);
                 }
             }
             //overwrite/create dynamic-captions.css
             //parse css to classes
             $dynamicCss = RevSliderCssParser::parseCssToArray($dynamic);
             if (is_array($dynamicCss) && $dynamicCss !== false && count($dynamicCss) > 0) {
                 foreach ($dynamicCss as $class => $styles) {
                     //check if static style or dynamic style
                     $class = trim($class);
                     if (strpos($class, ',') !== false && strpos($class, '.tp-caption') !== false) {
                         //we have something like .tp-caption.redclass, .redclass
                         $class_t = explode(',', $class);
                         foreach ($class_t as $k => $cl) {
                             if (strpos($cl, '.tp-caption') !== false) {
                                 $class = $cl;
                             }
                         }
                     }
                     if (strpos($class, ':hover') === false && strpos($class, ':') !== false || strpos($class, " ") !== false || strpos($class, ".tp-caption") === false || (strpos($class, ".") === false || strpos($class, "#") !== false) || strpos($class, ">") !== false) {
                         //.tp-caption>.imageclass or .tp-caption.imageclass>img or .tp-caption.imageclass .img
                         continue;
                     }
                     //is a dynamic style
                     if (strpos($class, ':hover') !== false) {
                         $class = trim(str_replace(':hover', '', $class));
                         $arrInsert = array();
                         $arrInsert["hover"] = json_encode($styles);
                         $arrInsert["settings"] = json_encode(array('hover' => 'true'));
                     } else {
                         $arrInsert = array();
                         $arrInsert["params"] = json_encode($styles);
                         $arrInsert["settings"] = '';
                     }
                     //check if class exists
                     $result = $db->fetch(RevSliderGlobals::$table_css, $db->prepare("handle = %s", array($class)));
                     if (!empty($result)) {
                         //update
                         $db->update(RevSliderGlobals::$table_css, $arrInsert, array('handle' => $class));
                     } else {
                         //insert
                         $arrInsert["handle"] = $class;
                         $db->insert(RevSliderGlobals::$table_css, $arrInsert);
                     }
                 }
                 dmp(__("dynamic styles imported!", 'revslider'));
             }
             //update/insert custom animations
             $navigations = @unserialize($navigations);
             if (!empty($navigations)) {
                 foreach ($navigations as $key => $navigation) {
                     $exist = $db->fetch(RevSliderGlobals::$table_navigation, $db->prepare("handle = %s", array($navigation['handle'])));
                     unset($navigation['id']);
                     $rh = $navigation["handle"];
                     if (!empty($exist)) {
                         //create new navigation, get the ID
                         if ($updateNavigation == "true") {
                             //overwrite navigation if exists
                             unset($navigation['handle']);
                             $db->update(RevSliderGlobals::$table_navigation, $navigation, array('handle' => $rh));
                         } else {
                             //insert with new handle
                             $navigation["handle"] = $navigation['handle'] . '-' . date('is');
                             $navigation["name"] = $navigation['name'] . '-' . date('is');
                             $content = str_replace($rh . '"', $navigation["handle"] . '"', $content);
                             $navigation["css"] = str_replace('.' . $rh, '.' . $navigation["handle"], $navigation["css"]);
                             //change css class to the correct new class
                             $navi_id = $db->insert(RevSliderGlobals::$table_navigation, $navigation);
                         }
                     } else {
                         $navi_id = $db->insert(RevSliderGlobals::$table_navigation, $navigation);
                     }
                 }
                 dmp(__("navigations imported!", 'revslider'));
             }
         } else {
             $message = $unzipfile->get_error_message();
             $wp_filesystem->delete($d_path, true);
             return array("success" => false, "error" => $message);
         }
         //$content = preg_replace('!s:(\d+):"(.*?)";!e', "'s:'.strlen('$2').':\"$2\";'", $content); //clear errors in string //deprecated in newest php version
         $content = preg_replace_callback('!s:(\\d+):"(.*?)";!', array('RevSliderSlider', 'clear_error_in_string'), $content);
         //clear errors in string
         $arrSlider = @unserialize($content);
         if (empty($arrSlider)) {
             $wp_filesystem->delete($d_path, true);
             RevSliderFunctions::throwError(__('Wrong export slider file format! Please make sure that the uploaded file is either a zip file with a correct slider_export.txt in the root of it or an valid slider_export.txt file.', 'revslider'));
         }
         //update slider params
         $sliderParams = $arrSlider["params"];
         if ($sliderExists) {
             $sliderParams["title"] = $this->arrParams["title"];
             $sliderParams["alias"] = $this->arrParams["alias"];
             $sliderParams["shortcode"] = $this->arrParams["shortcode"];
         }
         if (isset($sliderParams["background_image"])) {
             $sliderParams["background_image"] = RevSliderFunctionsWP::getImageUrlFromPath($sliderParams["background_image"]);
         }
         $import_statics = true;
         if (isset($sliderParams['enable_static_layers'])) {
             if ($sliderParams['enable_static_layers'] == 'off') {
                 $import_statics = false;
             }
             unset($sliderParams['enable_static_layers']);
         }
         $sliderParams['version'] = $version_check;
         $json_params = json_encode($sliderParams);
         //update slider or create new
         if ($sliderExists) {
             $arrUpdate = array("params" => $json_params);
             $this->db->update(RevSliderGlobals::$table_sliders, $arrUpdate, array("id" => $sliderID));
         } else {
             //new slider
             $arrInsert = array();
             $arrInsert['params'] = $json_params;
             //check if Slider with title and/or alias exists, if yes change both to stay unique
             $arrInsert['title'] = RevSliderFunctions::getVal($sliderParams, 'title', 'Slider1');
             $arrInsert['alias'] = RevSliderFunctions::getVal($sliderParams, 'alias', 'slider1');
             if ($is_template === false) {
                 //we want to stay at the given alias if we are a template
                 $talias = $arrInsert['alias'];
                 $ti = 1;
                 while ($this->isAliasExistsInDB($talias)) {
                     //set a new alias and title if its existing in database
                     $talias = $arrInsert['alias'] . $ti;
                     $ti++;
                 }
                 if ($talias !== $arrInsert['alias']) {
                     $sliderParams['title'] = $talias;
                     $sliderParams['alias'] = $talias;
                     $arrInsert['title'] = $talias;
                     $arrInsert['alias'] = $talias;
                     $json_params = json_encode($sliderParams);
                     $arrInsert['params'] = $json_params;
                 }
             }
             if ($is_template !== false) {
                 //add that we are an template
                 $arrInsert['type'] = 'template';
                 $sliderParams['uid'] = $is_template;
                 $json_params = json_encode($sliderParams);
                 $arrInsert['params'] = $json_params;
             }
             $sliderID = $this->db->insert(RevSliderGlobals::$table_sliders, $arrInsert);
         }
         //-------- Slides Handle -----------
         //delete current slides
         if ($sliderExists) {
             $this->deleteAllSlides();
         }
         //create all slides
         $arrSlides = $arrSlider["slides"];
         $alreadyImported = array();
         //$content_url = content_url();
         $upload_dir = wp_upload_dir();
         $content_url = $upload_dir['baseurl'] . '/revslider/assets/svg/';
         //wpml compatibility
         $slider_map = array();
         foreach ($arrSlides as $sl_key => $slide) {
             $params = $slide["params"];
             $layers = $slide["layers"];
             $settings = isset($slide["settings"]) ? $slide["settings"] : '';
             //convert params images:
             if ($importZip === true) {
                 //we have a zip, check if exists
                 //remove image_id as it is not needed in import
                 if (isset($params['image_id'])) {
                     unset($params['image_id']);
                 }
                 if (isset($params["image"])) {
                     $params["image"] = RevSliderBase::check_file_in_zip($d_path, $params["image"], $sliderParams["alias"], $alreadyImported);
                     $params["image"] = RevSliderFunctionsWP::getImageUrlFromPath($params["image"]);
                 }
                 if (isset($params["background_image"])) {
                     $params["background_image"] = RevSliderBase::check_file_in_zip($d_path, $params["background_image"], $sliderParams["alias"], $alreadyImported);
                     $params["background_image"] = RevSliderFunctionsWP::getImageUrlFromPath($params["background_image"]);
                 }
                 if (isset($params["slide_thumb"])) {
                     $params["slide_thumb"] = RevSliderBase::check_file_in_zip($d_path, $params["slide_thumb"], $sliderParams["alias"], $alreadyImported);
                     $params["slide_thumb"] = RevSliderFunctionsWP::getImageUrlFromPath($params["slide_thumb"]);
                 }
                 if (isset($params["show_alternate_image"])) {
                     $params["show_alternate_image"] = RevSliderBase::check_file_in_zip($d_path, $params["show_alternate_image"], $sliderParams["alias"], $alreadyImported);
                     $params["show_alternate_image"] = RevSliderFunctionsWP::getImageUrlFromPath($params["show_alternate_image"]);
                 }
                 if (isset($params['background_type']) && $params['background_type'] == 'html5') {
                     if (isset($params['slide_bg_html_mpeg']) && $params['slide_bg_html_mpeg'] != '') {
                         $params['slide_bg_html_mpeg'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($d_path, $params["slide_bg_html_mpeg"], $sliderParams["alias"], $alreadyImported, true));
                     }
                     if (isset($params['slide_bg_html_webm']) && $params['slide_bg_html_webm'] != '') {
                         $params['slide_bg_html_webm'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($d_path, $params["slide_bg_html_webm"], $sliderParams["alias"], $alreadyImported, true));
                     }
                     if (isset($params['slide_bg_html_ogv']) && $params['slide_bg_html_ogv'] != '') {
                         $params['slide_bg_html_ogv'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($d_path, $params["slide_bg_html_ogv"], $sliderParams["alias"], $alreadyImported, true));
                     }
                 }
             }
             //convert layers images:
             foreach ($layers as $key => $layer) {
                 //import if exists in zip folder
                 if ($importZip === true) {
                     //we have a zip, check if exists
                     if (isset($layer["image_url"])) {
                         $layer["image_url"] = RevSliderBase::check_file_in_zip($d_path, $layer["image_url"], $sliderParams["alias"], $alreadyImported);
                         $layer["image_url"] = RevSliderFunctionsWP::getImageUrlFromPath($layer["image_url"]);
                     }
                     if (isset($layer['type']) && ($layer['type'] == 'video' || $layer['type'] == 'audio')) {
                         $video_data = isset($layer['video_data']) ? (array) $layer['video_data'] : array();
                         if (!empty($video_data) && isset($video_data['video_type']) && $video_data['video_type'] == 'html5') {
                             if (isset($video_data['urlPoster']) && $video_data['urlPoster'] != '') {
                                 $video_data['urlPoster'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($d_path, $video_data["urlPoster"], $sliderParams["alias"], $alreadyImported));
                             }
                             if (isset($video_data['urlMp4']) && $video_data['urlMp4'] != '') {
                                 $video_data['urlMp4'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($d_path, $video_data["urlMp4"], $sliderParams["alias"], $alreadyImported, true));
                             }
                             if (isset($video_data['urlWebm']) && $video_data['urlWebm'] != '') {
                                 $video_data['urlWebm'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($d_path, $video_data["urlWebm"], $sliderParams["alias"], $alreadyImported, true));
                             }
                             if (isset($video_data['urlOgv']) && $video_data['urlOgv'] != '') {
                                 $video_data['urlOgv'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($d_path, $video_data["urlOgv"], $sliderParams["alias"], $alreadyImported, true));
                             }
                         } elseif (!empty($video_data) && isset($video_data['video_type']) && $video_data['video_type'] != 'html5') {
                             //video cover image
                             if ($video_data['video_type'] == 'audio') {
                                 if (isset($video_data['urlAudio']) && $video_data['urlAudio'] != '') {
                                     $video_data['urlAudio'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($d_path, $video_data["urlAudio"], $sliderParams["alias"], $alreadyImported, true));
                                 }
                             } else {
                                 if (isset($video_data['previewimage']) && $video_data['previewimage'] != '') {
                                     $video_data['previewimage'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($d_path, $video_data["previewimage"], $sliderParams["alias"], $alreadyImported));
                                 }
                             }
                         }
                         $layer['video_data'] = $video_data;
                     }
                     if (isset($layer['type']) && $layer['type'] == 'svg') {
                         if (isset($layer['svg']) && isset($layer['svg']->src)) {
                             if (strpos($layer['svg']->src, 'revslider-whiteboard-addon') !== false) {
                                 $layer['svg']->src = content_url() . $layer['svg']->src;
                             } else {
                                 $layer['svg']->src = str_replace('/plugins/revslider/public/assets/assets/svg/', '', $content_url . $layer['svg']->src);
                             }
                         }
                     }
                 }
                 $layer['text'] = stripslashes($layer['text']);
                 $layers[$key] = $layer;
             }
             $arrSlides[$sl_key]['layers'] = $layers;
             //create new slide
             $arrCreate = array();
             $arrCreate["slider_id"] = $sliderID;
             $arrCreate["slide_order"] = $slide["slide_order"];
             $my_layers = json_encode($layers);
             if (empty($my_layers)) {
                 $my_layers = stripslashes(json_encode($layers));
             }
             $my_params = json_encode($params);
             if (empty($my_params)) {
                 $my_params = stripslashes(json_encode($params));
             }
             $my_settings = json_encode($settings);
             if (empty($my_settings)) {
                 $my_settings = stripslashes(json_encode($settings));
             }
             $arrCreate["layers"] = $my_layers;
             $arrCreate["params"] = $my_params;
             $arrCreate["settings"] = $my_settings;
             $last_id = $this->db->insert(RevSliderGlobals::$table_slides, $arrCreate);
             if (isset($slide['id'])) {
                 $slider_map[$slide['id']] = $last_id;
             }
         }
         //change for WPML the parent IDs if necessary
         if (!empty($slider_map)) {
             foreach ($arrSlides as $sl_key => $slide) {
                 if (isset($slide['params']['parentid']) && isset($slider_map[$slide['params']['parentid']])) {
                     $update_id = $slider_map[$slide['id']];
                     $parent_id = $slider_map[$slide['params']['parentid']];
                     $arrCreate = array();
                     $arrCreate["params"] = $slide['params'];
                     $arrCreate["params"]['parentid'] = $parent_id;
                     $my_params = json_encode($arrCreate["params"]);
                     if (empty($my_params)) {
                         $my_params = stripslashes(json_encode($arrCreate["params"]));
                     }
                     $arrCreate["params"] = $my_params;
                     $this->db->update(RevSliderGlobals::$table_slides, $arrCreate, array("id" => $update_id));
                 }
                 $did_change = false;
                 foreach ($slide['layers'] as $key => $value) {
                     if (isset($value['layer_action'])) {
                         if (isset($value['layer_action']->jump_to_slide) && !empty($value['layer_action']->jump_to_slide)) {
                             $value['layer_action']->jump_to_slide = (array) $value['layer_action']->jump_to_slide;
                             foreach ($value['layer_action']->jump_to_slide as $jtsk => $jtsval) {
                                 if (isset($slider_map[$jtsval])) {
                                     $slide['layers'][$key]['layer_action']->jump_to_slide[$jtsk] = $slider_map[$jtsval];
                                     $did_change = true;
                                 }
                             }
                         }
                     }
                     $link_slide = RevSliderFunctions::getVal($value, 'link_slide', false);
                     if ($link_slide != false && $link_slide !== 'nothing') {
                         //link to slide/scrollunder is set, move it to actions
                         if (!isset($slide['layers'][$key]['layer_action'])) {
                             $slide['layers'][$key]['layer_action'] = new stdClass();
                         }
                         switch ($link_slide) {
                             case 'link':
                                 $link = RevSliderFunctions::getVal($value, 'link');
                                 $link_open_in = RevSliderFunctions::getVal($value, 'link_open_in');
                                 $slide['layers'][$key]['layer_action']->action = array('a' => 'link');
                                 $slide['layers'][$key]['layer_action']->link_type = array('a' => 'a');
                                 $slide['layers'][$key]['layer_action']->image_link = array('a' => $link);
                                 $slide['layers'][$key]['layer_action']->link_open_in = array('a' => $link_open_in);
                                 unset($slide['layers'][$key]['link']);
                                 unset($slide['layers'][$key]['link_open_in']);
                             case 'next':
                                 $slide['layers'][$key]['layer_action']->action = array('a' => 'next');
                                 break;
                             case 'prev':
                                 $slide['layers'][$key]['layer_action']->action = array('a' => 'prev');
                                 break;
                             case 'scroll_under':
                                 $scrollunder_offset = RevSliderFunctions::getVal($value, 'scrollunder_offset');
                                 $slide['layers'][$key]['layer_action']->action = array('a' => 'scroll_under');
                                 $slide['layers'][$key]['layer_action']->scrollunder_offset = array('a' => $scrollunder_offset);
                                 unset($slide['layers'][$key]['scrollunder_offset']);
                                 break;
                             default:
                                 //its an ID, so its a slide ID
                                 $slide['layers'][$key]['layer_action']->action = array('a' => 'jumpto');
                                 $slide['layers'][$key]['layer_action']->jump_to_slide = array('a' => $slider_map[$link_slide]);
                                 break;
                         }
                         $slide['layers'][$key]['layer_action']->tooltip_event = array('a' => 'click');
                         unset($slide['layers'][$key]['link_slide']);
                         $did_change = true;
                     }
                     if ($did_change === true) {
                         $arrCreate = array();
                         $my_layers = json_encode($slide['layers']);
                         if (empty($my_layers)) {
                             $my_layers = stripslashes(json_encode($layers));
                         }
                         $arrCreate['layers'] = $my_layers;
                         $this->db->update(RevSliderGlobals::$table_slides, $arrCreate, array("id" => $slider_map[$slide['id']]));
                     }
                 }
             }
         }
         //check if static slide exists and import
         if (isset($arrSlider['static_slides']) && !empty($arrSlider['static_slides']) && $import_statics) {
             $static_slide = $arrSlider['static_slides'];
             foreach ($static_slide as $slide) {
                 $params = $slide["params"];
                 $layers = $slide["layers"];
                 $settings = isset($slide["settings"]) ? $slide["settings"] : '';
                 //remove image_id as it is not needed in import
                 if (isset($params['image_id'])) {
                     unset($params['image_id']);
                 }
                 //convert params images:
                 if (isset($params["image"])) {
                     //import if exists in zip folder
                     if (strpos($params["image"], 'http') !== false) {
                     } else {
                         if (trim($params["image"]) !== '') {
                             if ($importZip === true) {
                                 //we have a zip, check if exists
                                 $image = $wp_filesystem->exists($d_path . 'images/' . $params["image"]);
                                 if (!$image) {
                                     echo $params["image"] . __(' not found!<br>', 'revslider');
                                 } else {
                                     if (!isset($alreadyImported['images/' . $params["image"]])) {
                                         $importImage = RevSliderFunctionsWP::import_media($d_path . 'images/' . $params["image"], $sliderParams["alias"] . '/');
                                         if ($importImage !== false) {
                                             $alreadyImported['images/' . $params["image"]] = $importImage['path'];
                                             $params["image"] = $importImage['path'];
                                         }
                                     } else {
                                         $params["image"] = $alreadyImported['images/' . $params["image"]];
                                     }
                                 }
                             }
                         }
                         $params["image"] = RevSliderFunctionsWP::getImageUrlFromPath($params["image"]);
                     }
                 }
                 //convert layers images:
                 foreach ($layers as $key => $layer) {
                     if (isset($layer["image_url"])) {
                         //import if exists in zip folder
                         if (trim($layer["image_url"]) !== '') {
                             if (strpos($layer["image_url"], 'http') !== false) {
                             } else {
                                 if ($importZip === true) {
                                     //we have a zip, check if exists
                                     $image_url = $wp_filesystem->exists($d_path . 'images/' . $layer["image_url"]);
                                     if (!$image_url) {
                                         echo $layer["image_url"] . __(' not found!<br>');
                                     } else {
                                         if (!isset($alreadyImported['images/' . $layer["image_url"]])) {
                                             $importImage = RevSliderFunctionsWP::import_media($d_path . 'images/' . $layer["image_url"], $sliderParams["alias"] . '/');
                                             if ($importImage !== false) {
                                                 $alreadyImported['images/' . $layer["image_url"]] = $importImage['path'];
                                                 $layer["image_url"] = $importImage['path'];
                                             }
                                         } else {
                                             $layer["image_url"] = $alreadyImported['images/' . $layer["image_url"]];
                                         }
                                     }
                                 }
                             }
                         }
                         $layer["image_url"] = RevSliderFunctionsWP::getImageUrlFromPath($layer["image_url"]);
                     }
                     $layer['text'] = stripslashes($layer['text']);
                     if (isset($layer['type']) && ($layer['type'] == 'video' || $layer['type'] == 'audio')) {
                         $video_data = isset($layer['video_data']) ? (array) $layer['video_data'] : array();
                         if (!empty($video_data) && isset($video_data['video_type']) && $video_data['video_type'] == 'html5') {
                             if (isset($video_data['urlPoster']) && $video_data['urlPoster'] != '') {
                                 $video_data['urlPoster'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($d_path, $video_data["urlPoster"], $sliderParams["alias"], $alreadyImported));
                             }
                             if (isset($video_data['urlMp4']) && $video_data['urlMp4'] != '') {
                                 $video_data['urlMp4'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($d_path, $video_data["urlMp4"], $sliderParams["alias"], $alreadyImported, true));
                             }
                             if (isset($video_data['urlWebm']) && $video_data['urlWebm'] != '') {
                                 $video_data['urlWebm'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($d_path, $video_data["urlWebm"], $sliderParams["alias"], $alreadyImported, true));
                             }
                             if (isset($video_data['urlOgv']) && $video_data['urlOgv'] != '') {
                                 $video_data['urlOgv'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($d_path, $video_data["urlOgv"], $sliderParams["alias"], $alreadyImported, true));
                             }
                         } elseif (!empty($video_data) && isset($video_data['video_type']) && $video_data['video_type'] != 'html5') {
                             //video cover image
                             if ($video_data['video_type'] == 'audio') {
                                 if (isset($video_data['urlAudio']) && $video_data['urlAudio'] != '') {
                                     $video_data['urlAudio'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($d_path, $video_data["urlAudio"], $sliderParams["alias"], $alreadyImported, true));
                                 }
                             } else {
                                 if (isset($video_data['previewimage']) && $video_data['previewimage'] != '') {
                                     $video_data['previewimage'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($d_path, $video_data["previewimage"], $sliderParams["alias"], $alreadyImported));
                                 }
                             }
                         }
                         $layer['video_data'] = $video_data;
                     }
                     if (isset($layer['type']) && $layer['type'] == 'svg') {
                         if (isset($layer['svg']) && isset($layer['svg']->src)) {
                             $layer['svg']->src = str_replace('/plugins/revslider/public/assets/assets/svg/', '', $content_url . $layer['svg']->src);
                         }
                     }
                     if (isset($layer['layer_action'])) {
                         if (isset($layer['layer_action']->jump_to_slide) && !empty($layer['layer_action']->jump_to_slide)) {
                             foreach ($layer['layer_action']->jump_to_slide as $jtsk => $jtsval) {
                                 if (isset($slider_map[$jtsval])) {
                                     $layer['layer_action']->jump_to_slide[$jtsk] = $slider_map[$jtsval];
                                 }
                             }
                         }
                     }
                     $link_slide = RevSliderFunctions::getVal($layer, 'link_slide', false);
                     if ($link_slide != false && $link_slide !== 'nothing') {
                         //link to slide/scrollunder is set, move it to actions
                         if (!isset($layer['layer_action'])) {
                             $layer['layer_action'] = new stdClass();
                         }
                         switch ($link_slide) {
                             case 'link':
                                 $link = RevSliderFunctions::getVal($layer, 'link');
                                 $link_open_in = RevSliderFunctions::getVal($layer, 'link_open_in');
                                 $layer['layer_action']->action = array('a' => 'link');
                                 $layer['layer_action']->link_type = array('a' => 'a');
                                 $layer['layer_action']->image_link = array('a' => $link);
                                 $layer['layer_action']->link_open_in = array('a' => $link_open_in);
                                 unset($layer['link']);
                                 unset($layer['link_open_in']);
                             case 'next':
                                 $layer['layer_action']->action = array('a' => 'next');
                                 break;
                             case 'prev':
                                 $layer['layer_action']->action = array('a' => 'prev');
                                 break;
                             case 'scroll_under':
                                 $scrollunder_offset = RevSliderFunctions::getVal($value, 'scrollunder_offset');
                                 $layer['layer_action']->action = array('a' => 'scroll_under');
                                 $layer['layer_action']->scrollunder_offset = array('a' => $scrollunder_offset);
                                 unset($layer['scrollunder_offset']);
                                 break;
                             default:
                                 //its an ID, so its a slide ID
                                 $layer['layer_action']->action = array('a' => 'jumpto');
                                 $layer['layer_action']->jump_to_slide = array('a' => $slider_map[$link_slide]);
                                 break;
                         }
                         $layer['layer_action']->tooltip_event = array('a' => 'click');
                         unset($layer['link_slide']);
                         $did_change = true;
                     }
                     $layers[$key] = $layer;
                 }
                 //create new slide
                 $arrCreate = array();
                 $arrCreate["slider_id"] = $sliderID;
                 $my_layers = json_encode($layers);
                 if (empty($my_layers)) {
                     $my_layers = stripslashes(json_encode($layers));
                 }
                 $my_params = json_encode($params);
                 if (empty($my_params)) {
                     $my_params = stripslashes(json_encode($params));
                 }
                 $my_settings = json_encode($settings);
                 if (empty($my_settings)) {
                     $my_settings = stripslashes(json_encode($settings));
                 }
                 $arrCreate["layers"] = $my_layers;
                 $arrCreate["params"] = $my_params;
                 $arrCreate["settings"] = $my_settings;
                 if ($sliderExists) {
                     unset($arrCreate["slider_id"]);
                     $this->db->update(RevSliderGlobals::$table_static_slides, $arrCreate, array("slider_id" => $sliderID));
                 } else {
                     $this->db->insert(RevSliderGlobals::$table_static_slides, $arrCreate);
                 }
             }
         }
         $c_slider = new RevSliderSlider();
         $c_slider->initByID($sliderID);
         //check to convert styles to latest versions
         RevSliderPluginUpdate::update_css_styles();
         //set to version 5
         RevSliderPluginUpdate::add_animation_settings_to_layer($c_slider);
         //set to version 5
         RevSliderPluginUpdate::add_style_settings_to_layer($c_slider);
         //set to version 5
         RevSliderPluginUpdate::change_settings_on_layers($c_slider);
         //set to version 5
         RevSliderPluginUpdate::add_general_settings($c_slider);
         //set to version 5
         RevSliderPluginUpdate::change_general_settings_5_0_7($c_slider);
         //set to version 5.0.7
         RevSliderPluginUpdate::change_layers_svg_5_2_5_4($c_slider);
         //set to version 5.2.5.4
         $cus_js = $c_slider->getParam('custom_javascript', '');
         if (strpos($cus_js, 'revapi') !== false) {
             if (preg_match_all('/revapi[0-9]*/', $cus_js, $results)) {
                 if (isset($results[0]) && !empty($results[0])) {
                     foreach ($results[0] as $replace) {
                         $cus_js = str_replace($replace, 'revapi' . $sliderID, $cus_js);
                     }
                 }
                 $c_slider->updateParam(array('custom_javascript' => $cus_js));
             }
         }
         if ($is_template !== false) {
             //duplicate the slider now, as we just imported the "template"
             if ($single_slide !== false) {
                 //add now one Slide to the current Slider
                 $mslider = new RevSlider();
                 //change slide_id to correct, as it currently is just a number beginning from 0 as we did not have a correct slide ID yet.
                 $i = 0;
                 $changed = false;
                 foreach ($slider_map as $value) {
                     if ($i == $single_slide['slide_id']) {
                         $single_slide['slide_id'] = $value;
                         $changed = true;
                         break;
                     }
                     $i++;
                 }
                 if ($changed) {
                     $return = $mslider->copySlideToSlider($single_slide);
                 } else {
                     return array("success" => false, "error" => __('could not find correct Slide to copy, please try again.', 'revslider'), "sliderID" => $sliderID);
                 }
             } else {
                 $mslider = new RevSlider();
                 $title = RevSliderFunctions::getVal($sliderParams, 'title', 'slider1');
                 $talias = $title;
                 $ti = 1;
                 while ($this->isAliasExistsInDB($talias)) {
                     //set a new alias and title if its existing in database
                     $talias = $title . $ti;
                     $ti++;
                 }
                 $mslider->duplicateSliderFromData(array('sliderid' => $sliderID, 'title' => $talias));
             }
         }
         $wp_filesystem->delete($d_path, true);
     } catch (Exception $e) {
         $errorMessage = $e->getMessage();
         if (isset($d_path)) {
             $wp_filesystem->delete($d_path, true);
         }
         return array("success" => false, "error" => $errorMessage, "sliderID" => $sliderID);
     }
     return array("success" => true, "sliderID" => $sliderID);
 }
Example #14
0
 /**
  * put creative layer
  */
 private function putCreativeLayer(RevSliderSlide $slide, $static_slide = false)
 {
     $layers = $slide->getLayers();
     $slider_type = $this->slider->getParam('slider-type');
     $icon_sets = RevSliderBase::set_icon_sets(array());
     $ignore_styles = array('font-family', 'color', 'font-weight', 'font-style', 'text-decoration');
     $customAnimations = RevSliderOperations::getCustomAnimations('customin');
     //get all custom animations
     $customEndAnimations = RevSliderOperations::getCustomAnimations('customout');
     //get all custom animations
     $startAnimations = RevSliderOperations::getArrAnimations(false);
     //only get the standard animations
     $endAnimations = RevSliderOperations::getArrEndAnimations(false);
     //only get the standard animations
     $lazyLoad = $this->slider->getParam('lazy_load_type', false);
     if ($lazyLoad === false) {
         //do fallback checks to removed lazy_load value since version 5.0 and replaced with an enhanced version
         $old_ll = $this->slider->getParam('lazy_load', 'off');
         $lazyLoad = $old_ll == 'on' ? 'all' : 'none';
     }
     $isTemplate = $this->slider->getParam('template', 'false');
     $enable_custom_size_notebook = $this->slider->getParam('enable_custom_size_notebook', 'off');
     $enable_custom_size_tablet = $this->slider->getParam('enable_custom_size_tablet', 'off');
     $enable_custom_size_iphone = $this->slider->getParam('enable_custom_size_iphone', 'off');
     $enabled_sizes = array('desktop' => 'on', 'notebook' => $enable_custom_size_notebook, 'tablet' => $enable_custom_size_tablet, 'mobile' => $enable_custom_size_iphone);
     $adv_resp_sizes = $enable_custom_size_notebook == 'on' || $enable_custom_size_tablet == 'on' || $enable_custom_size_iphone == 'on' ? true : false;
     $slider_selectable = $this->slider->getParam('def-layer_selection', 'off');
     $image_source_type = $this->slider->getParam('def-image_source_type', 'full');
     if (empty($layers)) {
         return false;
     }
     $zIndex = 5;
     $slideID = $slide->getID();
     $in_class_usage = array();
     foreach ($layers as $layer) {
         $unique_id = RevSliderFunctions::getVal($layer, 'unique_id');
         if ($unique_id == '') {
             $unique_id = $zIndex - 4;
         }
         //$visible = RevSliderFunctions::getVal($layer, 'visible', true);
         //if($visible == false) continue;
         $type = RevSliderFunctions::getVal($layer, 'type', 'text');
         $svg_val = '';
         //set if video full screen
         $videoclass = '';
         $isFullWidthVideo = false;
         if ($type == 'video') {
             $videoclass = ' tp-videolayer';
             $videoData = RevSliderFunctions::getVal($layer, 'video_data');
             if (!empty($videoData)) {
                 $videoData = (array) $videoData;
                 $isFullWidthVideo = RevSliderFunctions::getVal($videoData, 'fullwidth');
                 $isFullWidthVideo = RevSliderFunctions::strToBool($isFullWidthVideo);
             } else {
                 $videoData = array();
             }
         } elseif ($type == 'audio') {
             $videoclass = ' tp-audiolayer';
             $videoData = RevSliderFunctions::getVal($layer, 'video_data');
             if (!empty($videoData)) {
                 $videoData = (array) $videoData;
             } else {
                 $videoData = array();
             }
         }
         $class = RevSliderFunctions::getVal($layer, 'style');
         if (trim($class) !== '') {
             $this->class_include['.' . trim($class)] = true;
             //add classname for style inclusion
             //get class styles for further compare usage
             if (!isset($in_class_usage[trim($class)])) {
                 $in_class_usage[trim($class)] = RevSliderOperations::getCaptionsContentArray(trim($class));
             }
         }
         //set defaults for stylings
         $dff = '';
         $dta = 'left';
         $dttr = 'none';
         $dfs = 'normal';
         $dtd = 'none';
         $dpa = '0px 0px 0px 0px';
         $dbs = 'none';
         $dbw = '0px';
         $dbr = '0px 0px 0px 0px';
         $dc = 'auto';
         $dfos = false;
         $dlh = false;
         $dfw = false;
         $dco = false;
         $dcot = 1;
         $dbc = 'transparent';
         $dbt = 1;
         $dboc = 'transparent';
         $dbot = 1;
         /**
          * remove this following to get back to 5.0.4.1 in terms of output styling
          **/
         $do_remove_inline = apply_filters('revslider_remove_inline', true);
         if ($do_remove_inline) {
             if (isset($in_class_usage[trim($class)]) && isset($in_class_usage[trim($class)]['params'])) {
                 //defaults get set here
                 $dfos = isset($in_class_usage[trim($class)]['params']->{'font-size'}) ? $in_class_usage[trim($class)]['params']->{'font-size'} : $dfos;
                 $dlh = isset($in_class_usage[trim($class)]['params']->{'line-height'}) ? $in_class_usage[trim($class)]['params']->{'line-height'} : $dlh;
                 $dfw = isset($in_class_usage[trim($class)]['params']->{'font-weight'}) ? $in_class_usage[trim($class)]['params']->{'font-weight'} : $dfw;
                 $dco = isset($in_class_usage[trim($class)]['params']->{'color'}) ? $in_class_usage[trim($class)]['params']->{'color'} : $dco;
                 $dcot = isset($in_class_usage[trim($class)]['params']->{'color-transparency'}) ? $in_class_usage[trim($class)]['params']->{'color-transparency'} : $dcot;
                 $dbc = isset($in_class_usage[trim($class)]['params']->{'background-color'}) ? $in_class_usage[trim($class)]['params']->{'background-color'} : $dbc;
                 $dbt = isset($in_class_usage[trim($class)]['params']->{'background-transparency'}) ? $in_class_usage[trim($class)]['params']->{'background-transparency'} : $dbt;
                 $dboc = isset($in_class_usage[trim($class)]['params']->{'border-color'}) ? $in_class_usage[trim($class)]['params']->{'border-color'} : $dboc;
                 $dbot = isset($in_class_usage[trim($class)]['params']->{'border-transparency'}) ? $in_class_usage[trim($class)]['params']->{'border-transparency'} : $dbot;
                 $dff = isset($in_class_usage[trim($class)]['params']->{'font-family'}) ? $in_class_usage[trim($class)]['params']->{'font-family'} : $dff;
                 $dta = isset($in_class_usage[trim($class)]['params']->{'text-align'}) ? $in_class_usage[trim($class)]['params']->{'text-align'} : $dta;
                 $dttr = isset($in_class_usage[trim($class)]['params']->{'text-transform'}) ? $in_class_usage[trim($class)]['params']->{'text-transform'} : $dttr;
                 $dfs = isset($in_class_usage[trim($class)]['params']->{'font-styles'}) ? $in_class_usage[trim($class)]['params']->{'font-styles'} : $dfs;
                 $dtd = isset($in_class_usage[trim($class)]['params']->{'text-decoration'}) ? $in_class_usage[trim($class)]['params']->{'text-decoration'} : $dtd;
                 $dpa = isset($in_class_usage[trim($class)]['params']->{'padding'}) ? $in_class_usage[trim($class)]['params']->{'padding'} : $dpa;
                 if (is_array($dpa)) {
                     $dpa = implode(' ', $dpa);
                 }
                 $dbs = isset($in_class_usage[trim($class)]['params']->{'border-style'}) ? $in_class_usage[trim($class)]['params']->{'border-style'} : $dbs;
                 $dbw = isset($in_class_usage[trim($class)]['params']->{'border-width'}) ? $in_class_usage[trim($class)]['params']->{'border-width'} : $dbw;
                 $dbr = isset($in_class_usage[trim($class)]['params']->{'border-radius'}) ? $in_class_usage[trim($class)]['params']->{'border-radius'} : $dbr;
                 if (is_array($dbr)) {
                     $dbr = implode(' ', $dbr);
                 }
                 $dc = isset($in_class_usage[trim($class)]['params']->{'css_cursor'}) ? $in_class_usage[trim($class)]['params']->{'css_cursor'} : $dc;
             }
         }
         $animation = RevSliderFunctions::getVal($layer, 'animation', 'tp-fade');
         //if($animation == "fade") $animation = "tp-fade";
         $customin = '';
         $maskin = '';
         if (!array_key_exists($animation, $startAnimations) && array_key_exists($animation, $customAnimations)) {
             //if true, add custom animation
             //check with custom values, if same, we do not need to write all down and just refer
         }
         $tcin = RevSliderOperations::parseCustomAnimationByArray($layer, 'start');
         if ($tcin !== '') {
             $customin = ' data-transform_in="' . $tcin . '"';
         }
         $do_mask_in = RevSliderFunctions::getVal($layer, 'mask_start', false);
         if ($do_mask_in) {
             $tmask = RevSliderOperations::parseCustomMaskByArray($layer, 'start');
             if ($tmask !== '') {
                 $maskin = ' data-mask_in="' . $tmask . '"';
             }
         }
         //if(strpos($animation, 'customin-') !== false || strpos($animation, 'customout-') !== false) $animation = "tp-fade";
         //set output class:
         $layer_2d_rotation = intval(RevSliderFunctions::getVal($layer, '2d_rotation', '0'));
         $internal_class = RevSliderFunctions::getVal($layer, 'internal_class', '');
         $layer_selectable = RevSliderFunctions::getVal($layer, 'layer-selectable', 'default');
         $outputClass = 'tp-caption ' . trim($class);
         $outputClass = trim($outputClass) . ' ' . $internal_class . ' ';
         if ($layer_selectable !== "default") {
             if ($layer_selectable == 'on') {
                 $outputClass = trim($outputClass) . ' tp-layer-selectable ';
             }
         } else {
             if ($slider_selectable == 'on') {
                 $outputClass = trim($outputClass) . ' tp-layer-selectable ';
             }
         }
         //if($type == 'button') $outputClass .= ' ';
         //$speed = RevSliderFunctions::getVal($layer, "speed",300);
         $time = RevSliderFunctions::getVal($layer, 'time', 0);
         $easing = RevSliderFunctions::getVal($layer, 'easing', 'easeOutExpo');
         $randomRotate = RevSliderFunctions::getVal($layer, 'random_rotation', 'false');
         $randomRotate = RevSliderFunctions::boolToStr($randomRotate);
         $splitin = RevSliderFunctions::getVal($layer, 'split', 'none');
         $splitout = RevSliderFunctions::getVal($layer, 'endsplit', 'none');
         $elementdelay = intval(RevSliderFunctions::getVal($layer, 'splitdelay', 0));
         $endelementdelay = intval(RevSliderFunctions::getVal($layer, 'endsplitdelay', 0));
         $basealign = RevSliderFunctions::getVal($layer, 'basealign', 'grid');
         if ($elementdelay > 0) {
             $elementdelay /= 100;
         }
         if ($endelementdelay > 0) {
             $endelementdelay /= 100;
         }
         $text = RevSliderFunctions::getVal($layer, 'text');
         if (function_exists('qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage')) {
             //use qTranslate
             $text = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($text);
         } elseif (function_exists('ppqtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage')) {
             //use qTranslate plus
             $text = ppqtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($text);
         } elseif (function_exists('qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage')) {
             //use qTranslate X
             $text = qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage($text);
         }
         $text_toggle = RevSliderFunctions::getVal($layer, 'texttoggle');
         if (function_exists('qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage')) {
             //use qTranslate
             $text_toggle = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($text_toggle);
         } elseif (function_exists('ppqtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage')) {
             //use qTranslate plus
             $text_toggle = ppqtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($text_toggle);
         } elseif (function_exists('qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage')) {
             //use qTranslate X
             $text_toggle = qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage($text_toggle);
         }
         $htmlVideoAutoplay = '';
         $htmlVideoAutoplayOnlyFirstTime = '';
         $htmlVideoNextSlide = '';
         $htmlVideoThumbnail = '';
         $htmlMute = '';
         $htmlCover = '';
         $htmlDotted = '';
         $htmlRatio = '';
         $htmlRewind = '';
         $htmlStartAt = '';
         $htmlEndAt = '';
         $htmlCoverPause = '';
         $htmlDisableOnMobile = '';
         $ids = RevSliderFunctions::getVal($layer, 'attrID');
         $classes = RevSliderFunctions::getVal($layer, 'attrClasses');
         $title = RevSliderFunctions::getVal($layer, 'attrTitle');
         $rel = RevSliderFunctions::getVal($layer, 'attrRel');
         if (trim($ids) == '') {
             if ($static_slide) {
                 $ids = 'slider-' . preg_replace("/[^\\w]+/", "", $this->slider->getID()) . '-layer-' . $unique_id;
             } else {
                 $ids = 'slide-' . preg_replace("/[^\\w]+/", "", $slideID) . '-layer-' . $unique_id;
             }
         }
         $ids = $ids != '' ? ' id="' . $ids . '"' : '';
         $classes = $classes != '' ? ' ' . $classes : '';
         $title = $title != '' ? ' title="' . $title . '"' : '';
         $rel = $rel != '' ? ' rel="' . $rel . '"' : '';
         $inline_styles = '';
         $do_rotation = false;
         $add_data = '';
         $videoType = '';
         $cover = false;
         $toggle_allow = RevSliderFunctions::getVal($layer, 'toggle', false);
         //set html:
         $html = '';
         $html_toggle = '';
         switch ($type) {
             case 'shape':
                 break;
             case 'svg':
                 $max_width = RevSliderFunctions::getVal($layer, 'max_width', 'auto');
                 $max_height = RevSliderFunctions::getVal($layer, 'max_height', 'auto');
                 $max_width = is_object($max_width) ? RevSliderFunctions::get_biggest_device_setting($max_width, $enabled_sizes) : $max_width;
                 $max_height = is_object($max_height) ? RevSliderFunctions::get_biggest_device_setting($max_height, $enabled_sizes) : $max_height;
                 if ($max_width !== 'auto') {
                     $max_width = $max_width !== 'none' ? RevSliderFunctions::add_missing_val($max_width) : $max_width;
                     $inline_styles .= ' min-width: ' . $max_width . '; max-width: ' . $max_width . ';';
                 }
                 if ($max_height !== 'auto') {
                     $max_height = $max_height !== 'none' ? RevSliderFunctions::add_missing_val($max_height) : $max_height;
                     $inline_styles .= ' max-width: ' . $max_height . '; max-width: ' . $max_height . ';';
                 }
                 $svg_val = RevSliderFunctions::getVal($layer, 'svg', false);
                 $static_styles = RevSliderFunctions::getVal($layer, 'static_styles', array());
                 if (!empty($static_styles)) {
                     $static_styles = (array) $static_styles;
                     if (!empty($static_styles['color'])) {
                         if (is_object($static_styles['color'])) {
                             $use_color = RevSliderFunctions::get_biggest_device_setting($static_styles['color'], $enabled_sizes);
                         } else {
                             $use_color = $static_styles['color'];
                         }
                         $def_val = (array) RevSliderFunctions::getVal($layer, 'deformation', array());
                         $color_trans = RevSliderFunctions::getVal($def_val, 'color-transparency', 1);
                         if ($color_trans != $dcot || $use_color != $dco) {
                             if ($color_trans > 0) {
                                 $color_trans *= 100;
                             }
                             $color_trans = intval($color_trans);
                             $use_color = RevSliderFunctions::hex2rgba($use_color, $color_trans);
                             $inline_styles .= ' color: ' . $use_color . ';';
                         }
                     }
                 }
                 break;
             default:
                 //case 'no_edit':
             //case 'no_edit':
             case 'text':
             case 'button':
                 $html = $text;
                 $html = do_shortcode(stripslashes($html));
                 $html_toggle = $text_toggle;
                 $html_toggle = do_shortcode(stripslashes($html_toggle));
                 global $fa_icon_var, $pe_7s_var;
                 foreach ($icon_sets as $is) {
                     if (strpos($html, $is) !== false) {
                         //include default Icon Sets if used
                         $font_var = str_replace("-", "_", $is) . "var";
                         ${$font_var} = true;
                         //wp_enqueue_style('rs-icon-set-'.$is);
                     }
                 }
                 $max_width = RevSliderFunctions::getVal($layer, 'max_width', 'auto');
                 $max_height = RevSliderFunctions::getVal($layer, 'max_height', 'auto');
                 $white_space = RevSliderFunctions::getVal($layer, 'whitespace', 'nowrap');
                 $max_width = is_object($max_width) ? RevSliderFunctions::get_biggest_device_setting($max_width, $enabled_sizes) : $max_width;
                 $max_height = is_object($max_height) ? RevSliderFunctions::get_biggest_device_setting($max_height, $enabled_sizes) : $max_height;
                 $white_space = is_object($white_space) ? RevSliderFunctions::get_biggest_device_setting($white_space, $enabled_sizes) : $white_space;
                 if ($max_width !== 'auto') {
                     $max_width = $max_width !== 'none' ? RevSliderFunctions::add_missing_val($max_width) : $max_width;
                     $inline_styles .= ' min-width: ' . $max_width . '; max-width: ' . $max_width . ';';
                 }
                 if ($max_height !== 'auto') {
                     $max_height = $max_height !== 'none' ? RevSliderFunctions::add_missing_val($max_height) : $max_height;
                     $inline_styles .= ' max-width: ' . $max_height . '; max-width: ' . $max_height . ';';
                 }
                 $inline_styles .= ' white-space: ' . $white_space . ';';
                 //$inline_styles .= ' min-width: '.$max_width.'; min-height: '.$max_height.'; white-space: '.$white_space.';';
                 //$inline_styles .= ' max-width: '.$max_width.'; max-height: '.$max_height.';';
                 //add more inline styling
                 $static_styles = RevSliderFunctions::getVal($layer, 'static_styles', array());
                 if (!empty($static_styles)) {
                     $static_styles = (array) $static_styles;
                     if (!empty($static_styles['font-size'])) {
                         $static_styles['font-size'] = RevSliderFunctions::add_missing_val($static_styles['font-size'], 'px');
                         if (is_object($static_styles['font-size'])) {
                             $mcfs = RevSliderFunctions::get_biggest_device_setting($static_styles['font-size'], $enabled_sizes);
                         } else {
                             $mcfs = $static_styles['font-size'];
                         }
                         if ($mcfs !== $dfos) {
                             $inline_styles .= ' font-size: ' . $mcfs . ';';
                         }
                     }
                     if (!empty($static_styles['line-height'])) {
                         $static_styles['line-height'] = RevSliderFunctions::add_missing_val($static_styles['line-height'], 'px');
                         if (is_object($static_styles['line-height'])) {
                             $mclh = RevSliderFunctions::get_biggest_device_setting($static_styles['line-height'], $enabled_sizes);
                         } else {
                             $mclh = $static_styles['line-height'];
                         }
                         if ($mclh !== $dlh) {
                             $inline_styles .= ' line-height: ' . $mclh . ';';
                         }
                     }
                     if (!empty($static_styles['font-weight'])) {
                         if (is_object($static_styles['font-weight'])) {
                             $mcfw = RevSliderFunctions::get_biggest_device_setting($static_styles['font-weight'], $enabled_sizes);
                         } else {
                             $mcfw = $static_styles['font-weight'];
                         }
                         if ($mcfw !== $dfw) {
                             $inline_styles .= ' font-weight: ' . $mcfw . ';';
                         }
                     }
                     if (!empty($static_styles['color'])) {
                         if (is_object($static_styles['color'])) {
                             $use_color = RevSliderFunctions::get_biggest_device_setting($static_styles['color'], $enabled_sizes);
                         } else {
                             $use_color = $static_styles['color'];
                         }
                         $def_val = (array) RevSliderFunctions::getVal($layer, 'deformation', array());
                         $color_trans = RevSliderFunctions::getVal($def_val, 'color-transparency', 1);
                         if ($color_trans != $dcot || $use_color != $dco) {
                             if ($color_trans > 0) {
                                 $color_trans *= 100;
                             }
                             $color_trans = intval($color_trans);
                             $use_color = RevSliderFunctions::hex2rgba($use_color, $color_trans);
                             $inline_styles .= ' color: ' . $use_color . ';';
                         }
                     }
                 }
                 if ($layer_2d_rotation !== 0) {
                     $do_rotation = true;
                 }
                 break;
             case 'image':
                 $additional = '';
                 $urlImage = RevSliderFunctions::getVal($layer, 'image_url');
                 $do_image_change = RevSliderFunctions::getVal($layer, 'image-size', 'auto');
                 $img_size = 'full';
                 switch ($do_image_change) {
                     case 'auto':
                         $img_size = $image_source_type;
                         break;
                     default:
                         $img_size = $do_image_change;
                         break;
                 }
                 $cur_img_id = RevSliderFunctionsWP::get_image_id_by_url($urlImage);
                 if ($img_size !== 'full') {
                     if ($cur_img_id !== false) {
                         $urlImage = wp_get_attachment_image_src($cur_img_id, $img_size);
                         $urlImage = $urlImage[0];
                     }
                 }
                 $img_w = '';
                 $img_h = '';
                 if ($cur_img_id !== false) {
                     $img_data = wp_get_attachment_metadata($cur_img_id);
                     if ($img_data !== false && !empty($img_data)) {
                         if ($img_size !== 'full') {
                             if (isset($img_data['sizes']) && isset($img_data['sizes'][$img_size])) {
                                 $img_w = $img_data['sizes'][$img_size]['width'];
                                 $img_h = $img_data['sizes'][$img_size]['height'];
                             }
                         }
                         if ($img_w == '' || $img_h == '') {
                             $img_w = $img_data['width'];
                             $img_h = $img_data['height'];
                         }
                         $additional .= ' width="' . $img_w . '" height="' . $img_h . '"';
                     }
                 }
                 $alt = '';
                 $alt_option = RevSliderFunctions::getVal($layer, 'alt_option', 'media_library');
                 switch ($alt_option) {
                     case 'media_library':
                         if ($cur_img_id !== false) {
                             $alt = get_post_meta($cur_img_id, '_wp_attachment_image_alt', true);
                         }
                         break;
                     case 'file_name':
                         $info = pathinfo($urlImage);
                         $alt = $info['filename'];
                         break;
                     case 'custom':
                         $alt = RevSliderFunctions::getVal($layer, 'alt');
                         break;
                 }
                 if (isset($slide->ignore_alt)) {
                     $alt = '';
                 }
                 $scaleX = RevSliderFunctions::getVal($layer, 'scaleX');
                 $scaleY = RevSliderFunctions::getVal($layer, 'scaleY');
                 $cover_mode = RevSliderFunctions::getVal($layer, 'cover_mode', array());
                 if (is_string($cover_mode)) {
                     $cover_mode = array('desktop' => $cover_mode, 'notebook' => $cover_mode, 'tablet' => $cover_mode, 'mobile' => $cover_mode);
                 } else {
                     //change to array
                     $cover_mode = (array) $cover_mode;
                 }
                 if ($adv_resp_sizes == true) {
                     $y_is_single = true;
                     $x_is_single = true;
                     if ($scaleX !== '') {
                         if (!is_object($scaleX)) {
                             if (trim($scaleX) == '' || $scaleX == 'NaNpx') {
                                 $scaleX = 'auto';
                             }
                             $myScaleX = $scaleX;
                             foreach ($cover_mode as $cvmk => $cvmv) {
                                 if ($cvmv == 'fullwidth' || $cvmv == 'cover') {
                                     $myScaleX = 'full';
                                 }
                                 if ($cvmv == 'cover-proportional') {
                                     $myScaleX = 'full-proportional';
                                 }
                                 break;
                             }
                         } else {
                             foreach ($cover_mode as $cvmk => $cvmv) {
                                 if ($cvmv == 'fullwidth' || $cvmv == 'cover') {
                                     $scaleX->{$cvmk} = 'full';
                                 }
                                 if ($cvmv == 'cover-proportional') {
                                     $scaleX->{$cvmk} = 'full-proportional';
                                 }
                             }
                             $myScaleX = RevSliderFunctions::normalize_device_settings($scaleX, $enabled_sizes, 'html-array', array('NaNpx' => '', 'auto' => ''));
                             if ($myScaleX == "['','','','']") {
                                 $myScaleX = '';
                             }
                             if (strpos($myScaleX, '[') !== false) {
                                 $y_is_single = false;
                             }
                         }
                         if ($y_is_single) {
                             //force to array if voffset is also array
                             if (!isset($myScaleX)) {
                                 $myScaleX = RevSliderFunctions::get_biggest_device_setting($scaleX, $enabled_sizes);
                             }
                             if (trim($myScaleX) == '' || $myScaleX == 'NaNpx' || $myScaleX == 'auto') {
                                 $myScaleX = '';
                             } else {
                                 $myScaleX = "['" . $myScaleX . "','" . $myScaleX . "','" . $myScaleX . "','" . $myScaleX . "']";
                             }
                         }
                     }
                     if ($scaleY !== '') {
                         if (!is_object($scaleY)) {
                             if (trim($scaleY) == '' || $scaleY == 'NaNpx') {
                                 $scaleY = 'auto';
                             }
                             $myScaleY = $scaleY;
                             foreach ($cover_mode as $cvmk => $cvmv) {
                                 if ($cvmv == 'fullheight' || $cvmv == 'cover') {
                                     $myScaleY = 'full';
                                 }
                                 if ($cvmv == 'cover-proportional') {
                                     $myScaleY = 'full-proportional';
                                 }
                                 break;
                             }
                         } else {
                             foreach ($cover_mode as $cvmk => $cvmv) {
                                 if ($cvmv == 'fullheight' || $cvmv == 'cover') {
                                     $scaleY->{$cvmk} = 'full';
                                 }
                                 if ($cvmv == 'cover-proportional') {
                                     $scaleY->{$cvmk} = 'full-proportional';
                                 }
                             }
                             $myScaleY = RevSliderFunctions::normalize_device_settings($scaleY, $enabled_sizes, 'html-array', array('NaNpx' => '', 'auto' => ''));
                             if ($myScaleY == "['','','','']") {
                                 $myScaleY = '';
                             }
                             if (strpos($myScaleY, '[') !== false) {
                                 $y_is_single = false;
                             }
                         }
                         if ($y_is_single) {
                             //force to array if voffset is also array
                             if (!isset($myScaleY)) {
                                 $myScaleY = RevSliderFunctions::get_biggest_device_setting($scaleY, $enabled_sizes);
                             }
                             if (trim($myScaleY) == '' || $myScaleY == 'NaNpx' || $myScaleY == 'auto') {
                                 $myScaleY = '';
                             } else {
                                 $myScaleY = "['" . $myScaleY . "','" . $myScaleY . "','" . $myScaleY . "','" . $myScaleY . "']";
                             }
                         }
                     }
                 } else {
                     $myScaleX = is_object($scaleX) ? RevSliderFunctions::get_biggest_device_setting($scaleX, $enabled_sizes) : $scaleX;
                     if (trim($myScaleX) == '' || $myScaleX == 'NaNpx') {
                         $myScaleX = 'auto';
                     }
                     $myScaleY = is_object($scaleY) ? RevSliderFunctions::get_biggest_device_setting($scaleY, $enabled_sizes) : $scaleY;
                     if (trim($myScaleY) == '' || $myScaleY == 'NaNpx') {
                         $myScaleY = 'auto';
                     }
                     foreach ($cover_mode as $cvmk => $cvmv) {
                         if ($cvmv == 'fullwidth' || $cvmv == 'cover') {
                             $myScaleX = 'full';
                         }
                         if ($cvmv == 'fullheight' || $cvmv == 'cover') {
                             $myScaleY = 'full';
                         }
                         if ($cvmv == 'cover-proportional') {
                             $myScaleX = 'full-proportional';
                         }
                         if ($cvmv == 'cover-proportional') {
                             $myScaleY = 'full-proportional';
                         }
                         break;
                     }
                 }
                 if ($scaleX != '') {
                     $additional .= ' data-ww="' . $myScaleX . '"';
                 }
                 if ($scaleY != '') {
                     $additional .= ' data-hh="' . $myScaleY . '"';
                 }
                 if (is_ssl()) {
                     $urlImage = str_replace("http://", "https://", $urlImage);
                 }
                 $do_ll = RevSliderFunctions::getVal($layer, "lazy-load", 'auto');
                 $imageAddParams = "";
                 if ($lazyLoad != 'none' || $do_ll == 'force' && $do_ll !== 'ignore') {
                     $seo_opti = RevSliderFunctions::getVal($layer, 'seo-optimized', false);
                     if ($seo_opti === 'false' || $seo_opti === false) {
                         $imageAddParams .= ' data-lazyload="' . $urlImage . '"';
                         $urlImage = RS_PLUGIN_URL . "admin/assets/images/dummy.png";
                     } else {
                         $additional .= ' class="forceseo"';
                     }
                 }
                 $html = '<img src="' . $urlImage . '" alt="' . $alt . '"' . $additional . $imageAddParams . ' data-no-retina>';
                 $imageLink = RevSliderFunctions::getVal($layer, "link", "");
                 //add more inline styling
                 $static_styles = RevSliderFunctions::getVal($layer, 'static_styles', array());
                 if (!empty($static_styles) && trim($class) !== '') {
                     $static_styles = (array) $static_styles;
                     if (!empty($static_styles['line-height'])) {
                         $static_styles['line-height'] = RevSliderFunctions::add_missing_val($static_styles['line-height'], 'px');
                         if (is_object($static_styles['line-height'])) {
                             $mclh = RevSliderFunctions::get_biggest_device_setting($static_styles['line-height'], $enabled_sizes);
                         } else {
                             $mclh = $static_styles['line-height'];
                         }
                         if ($mclh !== $dlh) {
                             $inline_styles .= ' line-height: ' . $mclh . ';';
                         }
                     }
                 }
                 if ($layer_2d_rotation !== 0) {
                     $do_rotation = true;
                 }
                 break;
             case 'audio':
                 $videoType = trim(RevSliderFunctions::getVal($layer, 'video_type'));
                 $videoWidth = RevSliderFunctions::getVal($layer, 'video_width');
                 $videoHeight = RevSliderFunctions::getVal($layer, 'video_height');
                 $videoArgs = trim(RevSliderFunctions::getVal($videoData, 'args'));
                 $v_controls = RevSliderFunctions::getVal($videoData, 'controls');
                 $v_controls = RevSliderFunctions::strToBool($v_controls);
                 $v_visible = RevSliderFunctions::getVal($videoData, 'video_show_visibility');
                 $v_visible = RevSliderFunctions::strToBool($v_visible);
                 $videopreload = RevSliderFunctions::getVal($videoData, "preload_audio");
                 $videopreloadwait = RevSliderFunctions::getVal($videoData, "preload_wait");
                 $start_at = RevSliderFunctions::getVal($videoData, 'start_at');
                 $htmlStartAt = $start_at !== '' ? ' data-videostartat="' . $start_at . '"' : '';
                 $end_at = RevSliderFunctions::getVal($videoData, 'end_at');
                 $htmlEndAt = $end_at !== '' ? ' data-videoendat="' . $end_at . '"' : '';
                 $rewind = RevSliderFunctions::getVal($videoData, 'forcerewind');
                 $rewind = RevSliderFunctions::strToBool($rewind);
                 $htmlRewind = $rewind == true ? ' data-forcerewind="on"' : '';
                 $volume = RevSliderFunctions::getVal($videoData, "volume", '100');
                 $htmlMute = '			data-volume="' . intval($volume) . '"';
                 if ($v_visible === true) {
                     $videoclass .= ' tp-hiddenaudio';
                 }
                 if ($adv_resp_sizes == true) {
                     if (is_object($videoWidth)) {
                         $videoWidth = RevSliderFunctions::normalize_device_settings($videoWidth, $enabled_sizes, 'html-array');
                     }
                     if (is_object($videoHeight)) {
                         $videoHeight = RevSliderFunctions::normalize_device_settings($videoHeight, $enabled_sizes, 'html-array');
                     }
                 } else {
                     if (is_object($videoWidth)) {
                         $videoWidth = RevSliderFunctions::get_biggest_device_setting($videoWidth, $enabled_sizes);
                     }
                     if (is_object($videoHeight)) {
                         $videoHeight = RevSliderFunctions::get_biggest_device_setting($videoHeight, $enabled_sizes);
                     }
                 }
                 $videoloop = RevSliderFunctions::getVal($videoData, "videoloop");
                 $add_data .= $v_controls ? ' data-videocontrols="none"' : ' data-videocontrols="controls"';
                 $add_data .= ' data-videowidth="' . $videoWidth . '" data-videoheight="' . $videoHeight . '"';
                 if (!empty($videopreload)) {
                     $add_data .= ' data-videopreload="' . $videopreload . '"';
                     $add_data .= ' data-videopreloadwait="' . intval($videopreloadwait) . '"';
                 }
                 $add_data .= ' data-audio="html5"';
                 $urlAudio = esc_attr(RevSliderFunctions::getVal($videoData, 'urlAudio'));
                 if (!empty($urlAudio)) {
                     $add_data .= ' data-videomp4="' . $urlAudio . '"';
                 }
                 if (RevSliderFunctions::strToBool($videoloop) == true) {
                     //fallback
                     $add_data .= ' data-videoloop="loop"';
                 } else {
                     $add_data .= ' data-videoloop="' . $videoloop . '"';
                 }
                 $videoAutoplay = false;
                 if (array_key_exists("autoplayonlyfirsttime", $videoData)) {
                     $autoplayonlyfirsttime = RevSliderFunctions::strToBool(RevSliderFunctions::getVal($videoData, "autoplayonlyfirsttime"));
                     if ($autoplayonlyfirsttime == true) {
                         $videoAutoplay = '1sttime';
                     }
                 }
                 if ($videoAutoplay == false) {
                     if (array_key_exists("autoplay", $videoData)) {
                         $videoAutoplay = RevSliderFunctions::getVal($videoData, "autoplay");
                     } else {
                         //backword compatability
                         $videoAutoplay = RevSliderFunctions::getVal($layer, "video_autoplay");
                     }
                 }
                 if ($videoAutoplay !== false && $videoAutoplay !== 'false') {
                     if ($videoAutoplay === true || $videoAutoplay === 'true') {
                         $videoAutoplay = 'on';
                     }
                     $htmlVideoAutoplay = '			data-autoplay="' . $videoAutoplay . '"' . " \n";
                 } else {
                     $htmlVideoAutoplay = '			data-autoplay="off"' . " \n";
                 }
                 $videoNextSlide = RevSliderFunctions::getVal($videoData, "nextslide");
                 $videoNextSlide = RevSliderFunctions::strToBool($videoNextSlide);
                 if ($videoNextSlide == true) {
                     $htmlVideoNextSlide = '			data-nextslideatend="true"' . " \n";
                 }
                 $stopallvideo = RevSliderFunctions::getVal($videoData, "stopallvideo");
                 $stopallvideo = RevSliderFunctions::strToBool($stopallvideo);
                 $htmlDisableOnMobile .= $stopallvideo ? '			data-stopallvideos="true"' . " \n" : '';
                 break;
             case 'video':
                 $videoType = trim(RevSliderFunctions::getVal($layer, 'video_type'));
                 $videoID = trim(RevSliderFunctions::getVal($layer, 'video_id'));
                 $videoWidth = RevSliderFunctions::getVal($layer, 'video_width');
                 $videoHeight = RevSliderFunctions::getVal($layer, 'video_height');
                 $videoArgs = trim(RevSliderFunctions::getVal($layer, 'video_args'));
                 $v_controls = RevSliderFunctions::getVal($videoData, 'controls');
                 $v_controls = RevSliderFunctions::strToBool($v_controls);
                 $start_at = RevSliderFunctions::getVal($videoData, 'start_at');
                 $htmlStartAt = $start_at !== '' ? ' data-videostartat="' . $start_at . '"' : '';
                 $end_at = RevSliderFunctions::getVal($videoData, 'end_at');
                 $htmlEndAt = $end_at !== '' ? ' data-videoendat="' . $end_at . '"' : '';
                 $show_cover_pause = RevSliderFunctions::getVal($videoData, 'show_cover_pause');
                 $show_cover_pause = RevSliderFunctions::strToBool($show_cover_pause);
                 $htmlCoverPause = $show_cover_pause == true ? ' data-showcoveronpause="on"' : '';
                 $rewind = RevSliderFunctions::getVal($videoData, 'forcerewind');
                 $rewind = RevSliderFunctions::strToBool($rewind);
                 $htmlRewind = $rewind == true ? ' data-forcerewind="on"' : '';
                 $only_poster_on_mobile = isset($layer['video_data']->use_poster_on_mobile) ? $layer['video_data']->use_poster_on_mobile : '';
                 $only_poster_on_mobile = RevSliderFunctions::strToBool($only_poster_on_mobile);
                 if ($isFullWidthVideo == true) {
                     // || $cover == true
                     $videoWidth = '100%';
                     $videoHeight = '100%';
                 }
                 if ($adv_resp_sizes == true) {
                     if (is_object($videoWidth)) {
                         $videoWidth = RevSliderFunctions::normalize_device_settings($videoWidth, $enabled_sizes, 'html-array');
                     }
                     if (is_object($videoHeight)) {
                         $videoHeight = RevSliderFunctions::normalize_device_settings($videoHeight, $enabled_sizes, 'html-array');
                     }
                 } else {
                     if (is_object($videoWidth)) {
                         $videoWidth = RevSliderFunctions::get_biggest_device_setting($videoWidth, $enabled_sizes);
                     }
                     if (is_object($videoHeight)) {
                         $videoHeight = RevSliderFunctions::get_biggest_device_setting($videoHeight, $enabled_sizes);
                     }
                 }
                 $setBase = is_ssl() ? 'https://' : 'http://';
                 $cover = RevSliderFunctions::getVal($videoData, 'cover');
                 $cover = RevSliderFunctions::strToBool($cover);
                 $videoloop = RevSliderFunctions::getVal($videoData, "videoloop");
                 $mute = RevSliderFunctions::getVal($videoData, "mute");
                 $mute = RevSliderFunctions::strToBool($mute);
                 $htmlMute = $mute ? '			data-volume="mute"' : '';
                 switch ($videoType) {
                     case 'streamyoutube':
                     case 'streamyoutubeboth':
                     case 'youtube':
                         if ($videoType == 'streamyoutube' || $videoType == 'streamyoutubeboth') {
                             //change $videoID to the stream!
                             $videoID = $slide->getParam('slide_bg_youtube', '');
                         }
                         if (empty($videoArgs)) {
                             $videoArgs = RevSliderGlobals::DEFAULT_YOUTUBE_ARGUMENTS;
                         }
                         if (!$mute) {
                             $volume = RevSliderFunctions::getVal($videoData, "volume", '100');
                             $htmlMute = '			data-volume="' . intval($volume) . '"';
                             $videoArgs = 'volume=' . intval($volume) . '&' . $videoArgs;
                         }
                         if ($start_at !== '') {
                             $start_raw = explode(':', $start_at);
                             if (count($start_raw) == 2) {
                                 if (intval($start_raw[0]) > 0) {
                                     $start_at = $start_raw[0] * 60 + $start_raw[1];
                                 } else {
                                     $start_at = $start_raw[1];
                                 }
                             }
                             $videoArgs .= $start_at !== '' ? '&start=' . $start_at : '';
                         }
                         if ($end_at !== '') {
                             $end_raw = explode(':', $end_at);
                             if (count($end_raw) == 2) {
                                 if (intval($end_raw[0]) > 0) {
                                     $end_at = $end_raw[0] * 60 + $end_raw[1];
                                 } else {
                                     $end_at = $end_raw[1];
                                 }
                             }
                             $videoArgs .= $end_at !== '' ? '&end=' . $end_at : '';
                         }
                         //check if full URL
                         if (strpos($videoID, 'http') !== false) {
                             //we have full URL, split it to ID
                             parse_str(parse_url($videoID, PHP_URL_QUERY), $my_v_ret);
                             $videoID = $my_v_ret['v'];
                         }
                         $videospeed = RevSliderFunctions::getVal($videoData, 'videospeed', '1');
                         $videoArgs .= ';origin=' . $setBase . $_SERVER['SERVER_NAME'] . ';';
                         $add_data = ' data-ytid="' . $videoID . '" data-videoattributes="version=3&amp;enablejsapi=1&amp;html5=1&amp;' . $videoArgs . '" data-videorate="' . $videospeed . '" data-videowidth="' . $videoWidth . '" data-videoheight="' . $videoHeight . '"';
                         $add_data .= $v_controls ? ' data-videocontrols="none"' : ' data-videocontrols="controls"';
                         break;
                     case 'streamvimeo':
                     case 'streamvimeoboth':
                     case 'vimeo':
                         if ($videoType == 'streamvimeo' || $videoType == 'streamvimeoboth') {
                             //change $videoID
                             $videoID = $slide->getParam('slide_bg_vimeo', '');
                         }
                         if (empty($videoArgs)) {
                             $videoArgs = RevSliderGlobals::DEFAULT_VIMEO_ARGUMENTS;
                         }
                         if ($v_controls) {
                             $videoArgs = 'background=1&' . $videoArgs;
                         }
                         //check if full URL
                         if (strpos($videoID, 'http') !== false) {
                             //we have full URL, split it to ID
                             $videoID = (int) substr(parse_url($videoID, PHP_URL_PATH), 1);
                         }
                         if (!$mute) {
                             $volume = RevSliderFunctions::getVal($videoData, "volume", '100');
                             $htmlMute = '			data-volume="' . intval($volume) . '"';
                         }
                         $add_data = ' data-vimeoid="' . $videoID . '" data-videoattributes="' . $videoArgs . '" data-videowidth="' . $videoWidth . '" data-videoheight="' . $videoHeight . '"';
                         break;
                     case 'streaminstagram':
                     case 'streaminstagramboth':
                     case 'html5':
                         $urlPoster = RevSliderFunctions::getVal($videoData, "urlPoster");
                         $urlMp4 = RevSliderFunctions::getVal($videoData, "urlMp4");
                         $urlWebm = RevSliderFunctions::getVal($videoData, "urlWebm");
                         $urlOgv = RevSliderFunctions::getVal($videoData, "urlOgv");
                         $videopreload = RevSliderFunctions::getVal($videoData, "preload");
                         $leave_on_pause = RevSliderFunctions::getVal($videoData, "leave_on_pause");
                         $leave_on_pause = RevSliderFunctions::strToBool($leave_on_pause);
                         if (!$leave_on_pause) {
                             $add_data .= ' data-exitfullscreenonpause="off"';
                             //nur wenn off, standard on
                         }
                         if ($videoType == 'streaminstagram' || $videoType == 'streaminstagramboth') {
                             //change $videoID
                             $urlMp4 = $slide->getParam('slide_bg_instagram', '');
                             $urlWebm = '';
                             $urlOgv = '';
                         }
                         $add_data .= $v_controls ? ' data-videocontrols="none"' : ' data-videocontrols="controls"';
                         $add_data .= ' data-videowidth="' . $videoWidth . '" data-videoheight="' . $videoHeight . '"';
                         if (is_ssl()) {
                             $urlPoster = str_replace("http://", "https://", $urlPoster);
                         }
                         if (!empty($urlPoster)) {
                             $add_data .= ' data-videoposter="' . $urlPoster . '"';
                         }
                         if (!empty($urlOgv)) {
                             $add_data .= ' data-videoogv="' . $urlOgv . '"';
                         }
                         if (!empty($urlWebm)) {
                             $add_data .= ' data-videowebm="' . $urlWebm . '"';
                         }
                         if (!empty($urlMp4)) {
                             $add_data .= ' data-videomp4="' . $urlMp4 . '"';
                         }
                         if (!empty($urlPoster)) {
                             if ($only_poster_on_mobile === true) {
                                 //$add_data .= ' data-posterOnMobile="on"';
                                 $add_data .= ' data-noposteronmobile="on"';
                             } else {
                                 //$add_data .= ' data-posterOnMobile="off"';
                                 $add_data .= ' data-noposteronmobile="off"';
                             }
                         }
                         if (!empty($videopreload)) {
                             $add_data .= ' data-videopreload="' . $videopreload . '"';
                         }
                         break;
                     default:
                         RevSliderFunctions::throwError("wrong video type: {$videoType}");
                         break;
                 }
                 if (RevSliderFunctions::strToBool($videoloop) == true) {
                     //fallback
                     $add_data .= ' data-videoloop="loop"';
                 } else {
                     $add_data .= ' data-videoloop="' . $videoloop . '"';
                 }
                 if ($cover == true) {
                     $dotted = RevSliderFunctions::getVal($videoData, "dotted");
                     if ($dotted !== 'none') {
                         $add_data .= ' data-dottedoverlay="' . $dotted . '"';
                     }
                     $add_data .= ' data-forceCover="1"';
                     $ratio = RevSliderFunctions::getVal($videoData, "ratio");
                     if (!empty($ratio)) {
                         $add_data .= ' data-aspectratio="' . $ratio . '"';
                     }
                 }
                 $videoAutoplay = false;
                 if (array_key_exists("autoplayonlyfirsttime", $videoData)) {
                     $autoplayonlyfirsttime = RevSliderFunctions::strToBool(RevSliderFunctions::getVal($videoData, "autoplayonlyfirsttime"));
                     if ($autoplayonlyfirsttime == true) {
                         $videoAutoplay = '1sttime';
                     }
                 }
                 if ($videoAutoplay == false) {
                     if (array_key_exists("autoplay", $videoData)) {
                         $videoAutoplay = RevSliderFunctions::getVal($videoData, "autoplay");
                     } else {
                         //backword compatability
                         $videoAutoplay = RevSliderFunctions::getVal($layer, "video_autoplay");
                     }
                 }
                 if ($videoAutoplay !== false && $videoAutoplay !== 'false') {
                     if ($videoAutoplay === true || $videoAutoplay === 'true') {
                         $videoAutoplay = 'on';
                     }
                     $htmlVideoAutoplay = '			data-autoplay="' . $videoAutoplay . '"' . " \n";
                 } else {
                     $htmlVideoAutoplay = '			data-autoplay="off"' . " \n";
                 }
                 $large_controls = RevSliderFunctions::strToBool(RevSliderFunctions::getVal($videoData, "large_controls"));
                 if (!$large_controls) {
                     $add_data .= ' data-viodelargecontrols="off"';
                 }
                 $videoNextSlide = RevSliderFunctions::getVal($videoData, "nextslide");
                 $videoNextSlide = RevSliderFunctions::strToBool($videoNextSlide);
                 if ($videoNextSlide == true) {
                     $htmlVideoNextSlide = '			data-nextslideatend="true"' . " \n";
                 }
                 $videoThumbnail = isset($videoData["previewimage"]) ? $videoData["previewimage"] : '';
                 if (is_ssl()) {
                     $videoThumbnail = str_replace("http://", "https://", $videoThumbnail);
                 } else {
                     $videoThumbnail = str_replace("https://", "http://", $videoThumbnail);
                 }
                 if (trim($videoThumbnail) !== '') {
                     $htmlVideoThumbnail = '			data-videoposter="' . $videoThumbnail . '"' . " \n";
                 }
                 if (!empty($videoThumbnail)) {
                     if ($only_poster_on_mobile === true) {
                         //$htmlVideoThumbnail .= '			data-posterOnMobile="on"'." \n";
                         $htmlVideoThumbnail .= '			data-noposteronmobile="on"' . " \n";
                     } else {
                         //$htmlVideoThumbnail .= '			data-posterOnMobile="off"'." \n";
                         $htmlVideoThumbnail .= '			data-noposteronmobile="off"' . " \n";
                     }
                 }
                 $disable_on_mobile = RevSliderFunctions::getVal($videoData, "disable_on_mobile");
                 $disable_on_mobile = RevSliderFunctions::strToBool($disable_on_mobile);
                 $htmlDisableOnMobile = $disable_on_mobile ? '			data-disablevideoonmobile="1"' . " \n" : '';
                 $stopallvideo = RevSliderFunctions::getVal($videoData, "stopallvideo");
                 $stopallvideo = RevSliderFunctions::strToBool($stopallvideo);
                 $allowfullscreenvideo = RevSliderFunctions::getVal($videoData, "allowfullscreen");
                 $allowfullscreenvideo = RevSliderFunctions::strToBool($allowfullscreenvideo);
                 $htmlDisableOnMobile .= $stopallvideo ? '			data-stopallvideos="true"' . " \n" : '';
                 $htmlDisableOnMobile .= $allowfullscreenvideo ? '			data-allowfullscreenvideo="true"' . " \n" : '';
                 break;
         }
         $has_trigger = false;
         foreach ($layers as $cl) {
             if ($has_trigger) {
                 break;
             }
             $all_actions = RevSliderFunctions::getVal($cl, 'layer_action', array());
             if (!empty($all_actions)) {
                 $a_action = RevSliderFunctions::cleanStdClassToArray(RevSliderFunctions::getVal($all_actions, 'action', array()));
                 $a_layer_target = RevSliderFunctions::cleanStdClassToArray(RevSliderFunctions::getVal($all_actions, 'layer_target', array()));
                 foreach ($a_action as $ak => $aa) {
                     switch ($aa) {
                         case 'start_in':
                         case 'start_out':
                         case 'toggle_layer':
                             /*case 'stop_video':
                             		case 'start_video':
                             		case 'toggle_video':*/
                             if ($unique_id == $a_layer_target[$ak]) {
                                 $has_trigger = true;
                                 break;
                             }
                             break;
                     }
                 }
             }
         }
         $last_trigger_state = '';
         $animation_overwrite = 'default';
         $trigger_memory = 'keep';
         if ($has_trigger) {
             $animation_overwrite = RevSliderFunctions::getVal($layer, 'animation_overwrite', 'wait');
             $trigger_memory = RevSliderFunctions::getVal($layer, 'trigger_memory', 'keep');
             $last_trigger_state = '			data-lasttriggerstate="' . esc_attr($trigger_memory) . '"';
         }
         if ($animation_overwrite == 'waitin' || $animation_overwrite == 'wait') {
             $time = 'bytrigger';
         }
         if ($animation_overwrite == 'waitout' || $animation_overwrite == 'wait') {
             $htmlEnd = ' data-end="bytrigger"' . "\n";
         } else {
             //handle end transitions:
             $endTime = trim(RevSliderFunctions::getVal($layer, 'endtime', 0));
             $endWithSlide = RevSliderFunctions::getVal($layer, 'endWithSlide', false);
             //backwards compatibility
             $realEndTime = UniteFunctionsRev::getVal($layer, "realEndTime", false);
             if ($realEndTime !== false) {
                 $endSpeed = trim(UniteFunctionsRev::getVal($layer, "endspeed"));
                 $speed = UniteFunctionsRev::getVal($layer, "speed", 300);
                 $calcSpeed = !empty($endSpeed) ? $endSpeed : $speed;
                 if (!empty($calcSpeed) && $realEndTime - $calcSpeed !== $endTime) {
                     $endTime = $realEndTime - $calcSpeed;
                 }
             }
             //backwards compatibility end
             $htmlEnd = '';
             //endtime - endspeed
             $es = RevSliderFunctions::getVal($layer, 'endspeed', 0);
             if (!empty($endTime) && $endTime - $es < 0) {
                 $endTime = 0;
             } else {
                 $endTime = $endTime - $es;
             }
         }
         $show_on_hover = RevSliderFunctions::getVal($layer, 'show-on-hover', false);
         if ($show_on_hover === 'show-on-hover' || is_array($show_on_hover) && $show_on_hover[0] == 'show-on-hover') {
             $show_on_hover = false;
         }
         //fix for layers that occured in version 5.2.2 and 5.2.3
         if ($show_on_hover == true) {
             $time = 'sliderenter';
             $htmlEnd = ' data-end="sliderleave"' . " \n";
         } else {
             if (!empty($endTime) && $endWithSlide !== true) {
                 $htmlEnd = ' data-end="' . $endTime . '"' . " \n";
             }
         }
         $customout = '';
         $maskout = '';
         //add animation to class
         $endAnimation = trim(RevSliderFunctions::getVal($layer, "endanimation"));
         if ($endAnimation == "fade") {
             $endAnimation = "tp-fade";
         }
         if (!array_key_exists($endAnimation, $endAnimations) && array_key_exists($endAnimation, $customEndAnimations)) {
             //if true, add custom animation
             //check with custom values, if same, we do not need to write all down and just refer
         }
         $tcout = '';
         if ($endAnimation !== 'auto') {
             $tcout = RevSliderOperations::parseCustomAnimationByArray($layer, 'end');
         } else {
             //automatic reverse
             $tcout .= 'auto:auto;';
         }
         if ($endAnimation == 'auto') {
             $es = RevSliderFunctions::getVal($layer, 'endspeed');
             $ee = trim(RevSliderFunctions::getVal($layer, 'endeasing'));
             if (!empty($es)) {
                 $tcout .= 's:' . $es . ';';
             }
             if (!empty($ee) && $ee !== 'nothing') {
                 $tcout .= 'e:' . $ee . ';';
             }
         }
         if ($tcout !== '') {
             $customout = ' data-transform_out="' . $tcout . '"';
         }
         $do_mask_out = RevSliderFunctions::getVal($layer, 'mask_end', false);
         if ($do_mask_out) {
             $tmask = RevSliderOperations::parseCustomMaskByArray($layer, 'end');
             if ($tmask !== '') {
                 $maskout = ' data-mask_out="' . $tmask . '"';
             }
         }
         //slide link
         $html_simple_link = '';
         //hidden under resolution
         $htmlHidden = '';
         $layerHidden = RevSliderFunctions::getVal($layer, 'hiddenunder');
         if ($layerHidden == 'true' || $layerHidden == '1') {
             $htmlHidden = '			data-captionhidden="on"' . " \n";
         }
         $htmlParams = $add_data . $htmlEnd . $last_trigger_state . $htmlVideoAutoplay . $htmlVideoNextSlide . $htmlVideoThumbnail . $htmlHidden . $htmlMute . $htmlDisableOnMobile . $htmlCover . $htmlDotted . $htmlRatio . $htmlRewind . $htmlStartAt . $htmlEndAt . $htmlCoverPause . "\n";
         //.$htmlVideoAutoplayOnlyFirstTime
         //set positioning options
         $alignHor = RevSliderFunctions::getVal($layer, 'align_hor', 'left');
         $alignVert = RevSliderFunctions::getVal($layer, 'align_vert', 'top');
         $left = RevSliderFunctions::getVal($layer, 'left', 0);
         $top = RevSliderFunctions::getVal($layer, 'top', 0);
         $htmlPosX = '';
         $htmlPosY = '';
         $static_data = '';
         $extra_data = '';
         if ($adv_resp_sizes == true) {
             $do_x_full = false;
             $do_y_full = false;
             $x_is_single = true;
             $y_is_single = true;
             if (!is_object($left)) {
                 $myLeft = $left;
                 $myLeft = "['" . $myLeft . "','" . $myLeft . "','" . $myLeft . "','" . $myLeft . "']";
             } else {
                 $myLeft = RevSliderFunctions::normalize_device_settings($left, $enabled_sizes, 'html-array');
                 if (strpos($myLeft, '[') !== false) {
                     $do_x_full = true;
                 } else {
                     $myLeft = "['" . $myLeft . "','" . $myLeft . "','" . $myLeft . "','" . $myLeft . "']";
                 }
             }
             if (!is_object($top)) {
                 $myTop = $top;
                 $myTop = "['" . $myTop . "','" . $myTop . "','" . $myTop . "','" . $myTop . "']";
             } else {
                 $myTop = RevSliderFunctions::normalize_device_settings($top, $enabled_sizes, 'html-array');
                 if (strpos($myTop, '[') !== false) {
                     $do_y_full = true;
                 } else {
                     $myTop = "['" . $myTop . "','" . $myTop . "','" . $myTop . "','" . $myTop . "']";
                 }
             }
             if (!is_object($alignHor)) {
                 $myHor = $alignHor;
                 $myHor = "['" . $myHor . "','" . $myHor . "','" . $myHor . "','" . $myHor . "']";
             } else {
                 $myHor = RevSliderFunctions::normalize_device_settings($alignHor, $enabled_sizes, 'html-array');
                 if (strpos($myHor, '[') !== false) {
                     $x_is_single = false;
                 } else {
                     $myHor = "['" . $myHor . "','" . $myHor . "','" . $myHor . "','" . $myHor . "']";
                 }
             }
             if (!is_object($alignVert)) {
                 $myVer = $alignVert;
                 $myVer = "['" . $myVer . "','" . $myVer . "','" . $myVer . "','" . $myVer . "']";
             } else {
                 $myVer = RevSliderFunctions::normalize_device_settings($alignVert, $enabled_sizes, 'html-array');
                 if (strpos($myVer, '[') !== false) {
                     $y_is_single = false;
                 } else {
                     $myVer = "['" . $myVer . "','" . $myVer . "','" . $myVer . "','" . $myVer . "']";
                 }
             }
             $htmlPosX = ' data-x="' . $myHor . '" data-hoffset="' . $myLeft . '"';
             $htmlPosY = ' data-y="' . $myVer . '" data-voffset="' . $myTop . '"';
             $static_styles = RevSliderFunctions::getVal($layer, 'static_styles', array());
             if (!empty($static_styles)) {
                 $static_styles = (array) $static_styles;
                 if (!empty($static_styles['font-size'])) {
                     if (is_object($static_styles['font-size'])) {
                         $ss_fs = RevSliderFunctions::normalize_device_settings($static_styles['font-size'], $enabled_sizes, 'html-array');
                         if (strpos($ss_fs, '[') !== false) {
                             $static_data .= str_replace('px', '', '			data-fontsize="' . $ss_fs . '"') . "\n";
                         }
                     }
                 }
                 if (!empty($static_styles['line-height'])) {
                     if (is_object($static_styles['line-height'])) {
                         $ss_lh = RevSliderFunctions::normalize_device_settings($static_styles['line-height'], $enabled_sizes, 'html-array');
                         if (strpos($ss_lh, '[') !== false) {
                             $static_data .= str_replace('px', '', '			data-lineheight="' . $ss_lh . '"') . "\n";
                         }
                     }
                 }
                 if (!empty($static_styles['font-weight'])) {
                     if (is_object($static_styles['font-weight'])) {
                         $ss_fw = RevSliderFunctions::normalize_device_settings($static_styles['font-weight'], $enabled_sizes, 'html-array');
                         if (strpos($ss_fw, '[') !== false) {
                             $static_data .= str_replace('px', '', '			data-fontweight="' . $ss_fw . '"') . "\n";
                         }
                     }
                 }
                 if (!empty($static_styles['color'])) {
                     if (is_object($static_styles['color'])) {
                         $def_val = (array) RevSliderFunctions::getVal($layer, 'deformation', array());
                         foreach ($static_styles['color'] as $sk => $sv) {
                             if (strpos($sv, 'rgb') !== false) {
                                 $static_styles['color']->{$sk} = RevSliderFunctions::rgba2hex($sv);
                             }
                             $color_trans = RevSliderFunctions::getVal($def_val, 'color-transparency', 1);
                             if ($color_trans > 0) {
                                 $color_trans *= 100;
                             }
                             $color_trans = intval($color_trans);
                             $static_styles['color']->{$sk} = RevSliderFunctions::hex2rgba($static_styles['color']->{$sk}, $color_trans);
                         }
                         $ss_c = RevSliderFunctions::normalize_device_settings($static_styles['color'], $enabled_sizes, 'html-array');
                         if (strpos($ss_c, '[') !== false) {
                             $static_data .= '			data-color="' . $ss_c . '"' . "\n";
                         }
                     }
                 }
             }
             $max_width = RevSliderFunctions::getVal($layer, 'max_width', 'auto');
             $max_height = RevSliderFunctions::getVal($layer, 'max_height', 'auto');
             $white_space = RevSliderFunctions::getVal($layer, 'whitespace', 'nowrap');
             $cover_mode = RevSliderFunctions::getVal($layer, 'cover_mode', array());
             if (is_string($cover_mode)) {
                 $cover_mode = array('desktop' => $cover_mode, 'notebook' => $cover_mode, 'tablet' => $cover_mode, 'mobile' => $cover_mode);
             } else {
                 //change to array
                 $cover_mode = (array) $cover_mode;
             }
             if (is_object($max_width)) {
                 $max_width = RevSliderFunctions::normalize_device_settings($max_width, $enabled_sizes);
                 if ($max_width->desktop == 'auto') {
                     $max_width->desktop = 'none';
                 }
                 if ($max_width->notebook == 'auto') {
                     $max_width->notebook = 'none';
                 }
                 if ($max_width->tablet == 'auto') {
                     $max_width->tablet = 'none';
                 }
                 if ($max_width->mobile == 'auto') {
                     $max_width->mobile = 'none';
                 }
                 if ($max_width->desktop == $max_width->notebook && $max_width->desktop == $max_width->tablet && $max_width->desktop == $max_width->mobile) {
                     $max_width = $max_width->desktop;
                 }
             }
             if (is_object($max_height)) {
                 $max_height = RevSliderFunctions::normalize_device_settings($max_height, $enabled_sizes);
                 if ($max_height->desktop == 'auto') {
                     $max_height->desktop = 'none';
                 }
                 if ($max_height->notebook == 'auto') {
                     $max_height->notebook = 'none';
                 }
                 if ($max_height->tablet == 'auto') {
                     $max_height->tablet = 'none';
                 }
                 if ($max_height->mobile == 'auto') {
                     $max_height->mobile = 'none';
                 }
                 if ($max_height->desktop == $max_height->notebook && $max_height->desktop == $max_height->tablet && $max_height->desktop == $max_height->mobile) {
                     $max_height = $max_height->desktop;
                 }
             }
             if (is_object($white_space)) {
                 $white_space = RevSliderFunctions::normalize_device_settings($white_space, $enabled_sizes);
                 if ($white_space->desktop == $white_space->notebook && $white_space->desktop == $white_space->tablet && $white_space->desktop == $white_space->mobile) {
                     $white_space = $white_space->desktop;
                 }
             }
             switch ($type) {
                 case 'shape':
                 case 'image':
                     if (is_object($max_width)) {
                         foreach ($cover_mode as $cvmk => $cvmv) {
                             if ($cvmv == 'fullwidth' || $cvmv == 'cover') {
                                 $max_width->{$cvmk} = 'full';
                             } elseif ($cvmv == 'cover-proportional') {
                                 $max_width->{$cvmk} = 'full-proportional';
                             } else {
                                 if ($type == 'image') {
                                     $max_width->{$cvmk} = 'none';
                                 }
                             }
                         }
                     } else {
                         foreach ($cover_mode as $cvmk => $cvmv) {
                             if ($type == 'image') {
                                 if ($cvmv == 'fullwidth' || $cvmv == 'cover') {
                                     $max_width = 'full';
                                 } elseif ($cvmv == 'cover-proportional') {
                                     $max_width = 'full-proportional';
                                 } else {
                                     $max_width = 'none';
                                 }
                             } else {
                                 if ($cvmv == 'fullwidth' || $cvmv == 'cover') {
                                     $max_width = 'full';
                                 } elseif ($cvmv == 'cover-proportional') {
                                     $max_width = 'full-proportional';
                                 }
                             }
                             break;
                         }
                     }
                     if (is_object($max_height)) {
                         foreach ($cover_mode as $cvmk => $cvmv) {
                             if ($cvmv == 'fullheight' || $cvmv == 'cover') {
                                 $max_height->{$cvmk} = 'full';
                             } elseif ($cvmv == 'cover-proportional') {
                                 $max_height->{$cvmk} = 'full-proportional';
                             } else {
                                 if ($type == 'image') {
                                     $max_height->{$cvmk} = 'none';
                                 }
                             }
                         }
                     } else {
                         foreach ($cover_mode as $cvmk => $cvmv) {
                             if ($type == 'image') {
                                 if ($cvmv == 'fullheight' || $cvmv == 'cover') {
                                     $max_height = 'full';
                                 } elseif ($cvmv == 'cover-proportional') {
                                     $max_height = 'full-proportional';
                                 } else {
                                     $max_height = 'none';
                                 }
                             } else {
                                 if ($cvmv == 'fullheight' || $cvmv == 'cover') {
                                     $max_height = 'full';
                                 } elseif ($cvmv == 'cover-proportional') {
                                     $max_height = 'full-proportional';
                                 }
                             }
                             break;
                         }
                     }
                     break;
                 case 'svg':
                     break;
             }
             if ($type !== 'video') {
                 //$static_data .= (is_object($max_width)) ? str_replace('px', '', "			data-minwidth=\"['".implode("','", (array)$max_width)."']\"")."\n" : str_replace('px', '', '			data-minwidth="'.$max_width.'"')."\n";
                 $static_data .= is_object($max_width) ? str_replace('px', '', "\t\t\tdata-width=\"['" . implode("','", (array) $max_width) . "']\"") . "\n" : str_replace('px', '', '			data-width="' . $max_width . '"') . "\n";
                 //$static_data .= (is_object($max_height)) ? str_replace('px', '', "			data-minheight=\"['".implode("','", (array)$max_height)."']\"")."\n" : str_replace('px', '', '			data-minheight="'.$max_height.'"')."\n";
                 $static_data .= is_object($max_height) ? str_replace('px', '', "\t\t\tdata-height=\"['" . implode("','", (array) $max_height) . "']\"") . "\n" : str_replace('px', '', '			data-height="' . $max_height . '"') . "\n";
             }
             $static_data .= is_object($white_space) ? str_replace('px', '', "\t\t\tdata-whitespace=\"['" . implode("','", (array) $white_space) . "']\"") . "\n" : str_replace('px', '', '			data-whitespace="' . $white_space . '"') . "\n";
         } else {
             if (is_object($alignHor)) {
                 $alignHor = RevSliderFunctions::get_biggest_device_setting($alignHor, $enabled_sizes);
             }
             if (is_object($alignVert)) {
                 $alignVert = RevSliderFunctions::get_biggest_device_setting($alignVert, $enabled_sizes);
             }
             if (is_object($left)) {
                 $left = RevSliderFunctions::get_biggest_device_setting($left, $enabled_sizes);
             }
             if (is_object($top)) {
                 $top = RevSliderFunctions::get_biggest_device_setting($top, $enabled_sizes);
             }
             switch ($alignHor) {
                 default:
                 case 'left':
                     $htmlPosX = ' data-x="' . $left . '"';
                     break;
                 case 'center':
                     $htmlPosX = ' data-x="center" data-hoffset="' . $left . '"';
                     break;
                 case 'right':
                     //$left = (int)$left*-1;
                     $htmlPosX = ' data-x="right" data-hoffset="' . $left . '"';
                     break;
             }
             switch ($alignVert) {
                 default:
                 case 'top':
                     $htmlPosY = ' data-y="' . $top . '"';
                     break;
                 case 'middle':
                     $htmlPosY = ' data-y="center" data-voffset="' . $top . '"';
                     break;
                 case 'bottom':
                     //$top = (int)$top*-1;
                     $htmlPosY = ' data-y="bottom" data-voffset="' . $top . '"';
                     break;
             }
             $max_width = RevSliderFunctions::getVal($layer, 'max_width', 'auto');
             $max_height = RevSliderFunctions::getVal($layer, 'max_height', 'auto');
             $cover_mode = RevSliderFunctions::getVal($layer, 'cover_mode', array());
             if (is_string($cover_mode)) {
                 $cover_mode = array('desktop' => $cover_mode, 'notebook' => $cover_mode, 'tablet' => $cover_mode, 'mobile' => $cover_mode);
             } else {
                 //change to array
                 $cover_mode = (array) $cover_mode;
             }
             switch ($type) {
                 case 'shape':
                 case 'image':
                     if (is_object($max_width)) {
                         foreach ($cover_mode as $cvmk => $cvmv) {
                             if ($cvmv == 'fullwidth' || $cvmv == 'cover') {
                                 $max_width->{$cvmk} = 'full';
                             } elseif ($cvmv == 'cover-proportional') {
                                 $max_width->{$cvmk} = 'full-proportional';
                             } else {
                                 if ($type == 'image') {
                                     $max_width->{$cvmk} = 'none';
                                 }
                             }
                         }
                     } else {
                         foreach ($cover_mode as $cvmk => $cvmv) {
                             if ($type == 'image') {
                                 if ($cvmv == 'fullwidth' || $cvmv == 'cover') {
                                     $max_width = 'full';
                                 } elseif ($cvmv == 'cover-proportional') {
                                     $max_width = 'full-proportional';
                                 } else {
                                     $max_width = 'none';
                                 }
                             } else {
                                 if ($cvmv == 'fullwidth' || $cvmv == 'cover') {
                                     $max_width = 'full';
                                 } elseif ($cvmv == 'cover-proportional') {
                                     $max_width = 'full-proportional';
                                 }
                             }
                             break;
                         }
                     }
                     if (is_object($max_height)) {
                         foreach ($cover_mode as $cvmk => $cvmv) {
                             if ($cvmv == 'fullheight' || $cvmv == 'cover') {
                                 $max_height->{$cvmk} = 'full';
                             } elseif ($cvmv == 'cover-proportional') {
                                 $max_height->{$cvmk} = 'full-proportional';
                             } else {
                                 if ($type == 'image') {
                                     $max_height->{$cvmk} = 'none';
                                 }
                             }
                         }
                     } else {
                         foreach ($cover_mode as $cvmk => $cvmv) {
                             if ($type == 'image') {
                                 if ($cvmv == 'fullheight' || $cvmv == 'cover') {
                                     $max_height = 'full';
                                 } elseif ($cvmv == 'cover-proportional') {
                                     $max_height = 'full-proportional';
                                 } else {
                                     $max_height = 'none';
                                 }
                             } else {
                                 if ($cvmv == 'fullheight' || $cvmv == 'cover') {
                                     $max_height = 'full';
                                 } elseif ($cvmv == 'cover-proportional') {
                                     $max_height = 'full-proportional';
                                 }
                             }
                             break;
                         }
                     }
                     break;
                 case 'svg':
                     break;
             }
             if ($type !== 'video') {
                 $static_data .= is_object($max_width) ? str_replace('px', '', "\t\t\tdata-width=\"['" . implode("','", (array) $max_width) . "']\"") . "\n" : str_replace('px', '', '			data-width="' . $max_width . '"') . "\n";
                 $static_data .= is_object($max_height) ? str_replace('px', '', "\t\t\tdata-height=\"['" . implode("','", (array) $max_height) . "']\"") . "\n" : str_replace('px', '', '			data-height="' . $max_height . '"') . "\n";
             }
         }
         $style_string = '';
         $vis_desktop = RevSliderFunctions::getVal($layer, 'visible-desktop', true);
         $vis_notebook = RevSliderFunctions::getVal($layer, 'visible-notebook', true);
         $vis_tablet = RevSliderFunctions::getVal($layer, 'visible-tablet', true);
         $vis_mobile = RevSliderFunctions::getVal($layer, 'visible-mobile', true);
         $vis_notebook = $vis_notebook === true ? 'on' : 'off';
         $vis_desktop = $vis_desktop === true ? 'on' : 'off';
         $vis_tablet = $vis_tablet === true ? 'on' : 'off';
         $vis_mobile = $vis_mobile === true ? 'on' : 'off';
         if ($vis_notebook == 'off' || $vis_desktop == 'off' || $vis_tablet == 'off' || $vis_mobile == 'off') {
             $static_data .= "\t\t\tdata-visibility=\"['" . $vis_desktop . "','" . $vis_notebook . "','" . $vis_tablet . "','" . $vis_mobile . "']\"\n";
         }
         $il_style = (array) RevSliderFunctions::getVal($layer, 'inline', array());
         $adv_style = (array) RevSliderFunctions::getVal($layer, 'advanced', array());
         //add deformation and hover deformation to the layers
         $def_val = (array) RevSliderFunctions::getVal($layer, 'deformation', array());
         $def = array();
         $st_idle = array();
         $def['o'] = array(RevSliderFunctions::getVal($def_val, 'opacity', '0'), '0');
         $def['sX'] = array(RevSliderFunctions::getVal($def_val, 'scalex', '1'), '1');
         $def['sY'] = array(RevSliderFunctions::getVal($def_val, 'scaley', '1'), '1');
         $def['skX'] = array(RevSliderFunctions::getVal($def_val, 'skewx', '0'), '0');
         $def['skY'] = array(RevSliderFunctions::getVal($def_val, 'skewy', '0'), '0');
         $def['rX'] = array(RevSliderFunctions::getVal($def_val, 'xrotate', '0'), '0');
         $def['rY'] = array(RevSliderFunctions::getVal($def_val, 'yrotate', '0'), '0');
         $def['rZ'] = array(RevSliderFunctions::getVal($layer, '2d_rotation', '0'), '0');
         $orix = RevSliderFunctions::getVal($def_val, '2d_origin_x', '50%');
         if (strpos($orix, '%') === false) {
             $orix .= '%';
         }
         $oriy = RevSliderFunctions::getVal($def_val, '2d_origin_y', '50%');
         if (strpos($oriy, '%') === false) {
             $oriy .= '%';
         }
         $def['tO'] = array($orix . ' ' . $oriy, '50% 50%');
         $def['tP'] = array(RevSliderFunctions::getVal($def_val, 'pers', '600'), '600');
         $def['z'] = array(RevSliderFunctions::getVal($def_val, 'z', '0'), '0');
         $st_idle['font-family'] = array(str_replace('"', "'", RevSliderFunctions::getVal($def_val, 'font-family', '')), str_replace('"', "'", $dff));
         $st_idle['text-align'] = array(RevSliderFunctions::getVal($def_val, 'text-align', 'left'), $dta);
         $st_idle['text-transform'] = array(RevSliderFunctions::getVal($def_val, 'text-transform', 'left'), $dttr);
         //styling
         $mfs = RevSliderFunctions::getVal($def_val, 'font-style', 'off');
         $font_style = $mfs == 'on' || $mfs == 'italic' ? 'italic' : 'normal';
         $st_idle['font-style'] = array($font_style, $dfs);
         $st_idle['text-decoration'] = array(RevSliderFunctions::getVal($def_val, 'text-decoration', 'none'), $dtd);
         $bg_color = RevSliderFunctions::getVal($def_val, 'background-color', $dbc);
         if ($bg_color !== 'transparent') {
             $bg_trans = RevSliderFunctions::getVal($def_val, 'background-transparency', $dbt);
             if ($bg_trans > 0) {
                 $bg_trans *= 100;
             }
             if ($dbt > 0) {
                 $dbt *= 100;
             }
             $bg_trans = intval($bg_trans);
             $dbt = intval($dbt);
             $st_idle['background-color'] = array(RevSliderFunctions::hex2rgba($bg_color, $bg_trans), RevSliderFunctions::hex2rgba($dbc, $dbt));
             //'ALWAYS'
         }
         $my_padding = RevSliderFunctions::getVal($def_val, 'padding', array('0px', '0px', '0px', '0px'));
         if (!empty($my_padding)) {
             if (is_array($my_padding)) {
                 $my_padding = implode(' ', $my_padding);
             }
             if (trim($my_padding) != '') {
                 $st_idle['padding'] = array($my_padding, $dpa);
             }
         }
         $border_color = RevSliderFunctions::getVal($def_val, 'border-color', $dboc);
         if ($border_color !== 'transparent') {
             $border_trans = RevSliderFunctions::getVal($def_val, 'border-transparency', $dbot);
             if ($border_trans > 0) {
                 $border_trans *= 100;
             }
             if ($dbot > 0) {
                 $dbot *= 100;
             }
             $border_trans = intval($border_trans);
             $dbot = intval($dbot);
             $st_idle['border-color'] = array(RevSliderFunctions::hex2rgba($border_color, $border_trans), RevSliderFunctions::hex2rgba($dboc, $dbot));
             //'ALWAYS'
         }
         $st_idle['border-style'] = array(RevSliderFunctions::getVal($def_val, 'border-style', 'none'), $dbs);
         $bdw = RevSliderFunctions::getVal($def_val, 'border-width', '0px');
         $bdw = RevSliderFunctions::add_missing_val($bdw, 'px');
         if ($bdw == '0px') {
             unset($st_idle['border-style']);
         }
         $st_idle['border-width'] = array($bdw, $dbw);
         $my_border = RevSliderFunctions::getVal($def_val, 'border-radius', array('0px', '0px', '0px', '0px'));
         if (!empty($my_border)) {
             $my_border = implode(' ', $my_border);
             if (trim($my_border) != '') {
                 $st_idle['border-radius'] = array($my_border, $dbr);
             }
         }
         //Advanced Styles here:
         if (isset($adv_style['idle'])) {
             $adv_style['idle'] = (array) $adv_style['idle'];
             if (!empty($adv_style['idle'])) {
                 foreach ($adv_style['idle'] as $n => $v) {
                     $st_idle[$n] = array($v, 'ALWAYS');
                 }
             }
         }
         //Advanced Styles here:
         if (isset($il_style['idle'])) {
             $il_style['idle'] = (array) $il_style['idle'];
             if (!empty($il_style['idle'])) {
                 foreach ($il_style['idle'] as $n => $v) {
                     $st_idle[$n] = array($v, 'ALWAYS');
                 }
             }
         }
         //get hover stuff, because of css_cursor
         $def_val = (array) RevSliderFunctions::getVal($layer, 'deformation-hover', array());
         //add the css_cursor to the idle styles
         $css_cursor = RevSliderFunctions::getVal($def_val, 'css_cursor', 'auto');
         if (trim($css_cursor) !== '' && $css_cursor !== 'auto') {
             if ($css_cursor == 'zoom-in') {
                 $css_cursor = '-webkit-zoom-in; cursor: -moz-zoom-in';
             }
             if ($css_cursor == 'zoom-out') {
                 $css_cursor = '-webkit-zoom-out; cursor: -moz-zoom-out';
             }
             $st_idle['cursor'] = array($css_cursor, 'auto');
         }
         $def_string = '';
         foreach ($def as $key => $value) {
             if (trim($value[0]) == '' || $value[0] == $value[1]) {
                 continue;
             }
             if (str_replace('px', '', $value[0]) == str_replace('px', '', $value[1])) {
                 continue;
             }
             $def_string .= $key . ':' . $value[0] . ';';
         }
         foreach ($st_idle as $key => $value) {
             if ($type == 'image' || $type == 'video') {
                 //do not print unneeded styles
                 if (in_array($key, $ignore_styles)) {
                     continue;
                 }
             }
             if (trim($value[0]) == '' || $value[0] == $value[1]) {
                 continue;
             }
             if (str_replace('px', '', $value[0]) == str_replace('px', '', $value[1])) {
                 continue;
             }
             $style_string .= $key . ':' . $value[0] . ';';
         }
         $deform = '			data-transform_idle="' . str_replace('"', "'", $def_string) . '"' . "\n";
         $idle_style = $style_string;
         //check if hover is active for the layer
         $is_hover_active = RevSliderFunctions::getVal($layer, 'hover', '0');
         $deform_hover = '';
         $style_hover = '';
         $def = array();
         $st_h_string = '';
         if ($is_hover_active) {
             $def['o'] = array(RevSliderFunctions::getVal($def_val, 'opacity', '0'), '0');
             $def['sX'] = array(RevSliderFunctions::getVal($def_val, 'scalex', '1'), '1');
             $def['sY'] = array(RevSliderFunctions::getVal($def_val, 'scaley', '1'), '1');
             $def['skX'] = array(RevSliderFunctions::getVal($def_val, 'skewx', '0'), '0');
             $def['skY'] = array(RevSliderFunctions::getVal($def_val, 'skewy', '0'), '0');
             $def['rX'] = array(RevSliderFunctions::getVal($def_val, 'xrotate', '0'), '0');
             $def['rY'] = array(RevSliderFunctions::getVal($def_val, 'yrotate', '0'), '0');
             $def['rZ'] = array(RevSliderFunctions::getVal($def_val, '2d_rotation', '0'), 'inherit');
             $def['z'] = array(RevSliderFunctions::getVal($def_val, 'z', '0'), '0');
             $def['s'] = array(RevSliderFunctions::getVal($def_val, 'speed', '300'), 'ALWAYS');
             $def['e'] = array(RevSliderFunctions::getVal($def_val, 'easing', 'easeOutExpo'), 'ALWAYS');
             //style
             $st_hover = array();
             $font_color = RevSliderFunctions::getVal($def_val, 'color', '#000');
             if ($font_color !== 'transparent') {
                 $font_trans = RevSliderFunctions::getVal($def_val, 'color-transparency', 1);
                 if ($font_trans > 0) {
                     $font_trans *= 100;
                 }
                 $font_trans = intval($font_trans);
                 $st_hover['c'] = array(RevSliderFunctions::hex2rgba($font_color, $font_trans), 'ALWAYS');
             } else {
                 $st_hover['c'] = array($font_color, 'ALWAYS');
             }
             $mfs = RevSliderFunctions::getVal($def_val, 'font-style', 'off');
             $font_style = $mfs == 'on' || $mfs == 'italic' ? 'italic' : 'normal';
             $st_hover['fs'] = array($font_style, 'normal');
             $st_hover['td'] = array(RevSliderFunctions::getVal($def_val, 'text-decoration', 'none'), 'none');
             $bg_color = RevSliderFunctions::getVal($def_val, 'background-color', 'transparent');
             if ($bg_color !== 'transparent') {
                 $bg_trans = RevSliderFunctions::getVal($def_val, 'background-transparency', 1);
                 if ($bg_trans > 0) {
                     $bg_trans *= 100;
                 }
                 $bg_trans = intval($bg_trans);
                 $st_hover['bg'] = array(RevSliderFunctions::hex2rgba($bg_color, $bg_trans), 'ALWAYS');
             }
             $my_padding = RevSliderFunctions::getVal($def_val, 'padding', array('0px', '0px', '0px', '0px'));
             if (!empty($my_padding)) {
                 $my_padding = implode(' ', $my_padding);
                 if (trim($my_padding) != '') {
                     $st_hover['p'] = array($my_padding, '0px 0px 0px 0px');
                 }
             }
             $border_color = RevSliderFunctions::getVal($def_val, 'border-color', 'transparent');
             if ($border_color !== 'transparent') {
                 $border_trans = RevSliderFunctions::getVal($def_val, 'border-transparency', 1);
                 if ($border_trans > 0) {
                     $border_trans *= 100;
                 }
                 $border_trans = intval($border_trans);
                 $st_hover['bc'] = array(RevSliderFunctions::hex2rgba($border_color, $border_trans), 'ALWAYS');
             }
             $st_hover['bs'] = array(RevSliderFunctions::getVal($def_val, 'border-style', 'none'), 'none');
             $st_hover['bw'] = array(RevSliderFunctions::add_missing_val(RevSliderFunctions::getVal($def_val, 'border-width', '0px'), 'px'), '0px');
             if ($st_hover['bw'][0] == '0px') {
                 unset($st_hover['bs']);
             }
             $my_border = RevSliderFunctions::getVal($def_val, 'border-radius', array('0px', '0px', '0px', '0px'));
             if (!empty($my_border)) {
                 $my_border = implode(' ', $my_border);
                 if (trim($my_border) != '') {
                     $brsthoverdw = isset($st_idle['border-radius']) && $st_idle['border-radius'] !== '0px 0px 0px 0px' ? 'ALWAYS' : '0px 0px 0px 0px';
                     $st_hover['br'] = array($my_border, $brsthoverdw);
                 }
             }
             $st_trans = array('c' => 'color', 'fs' => 'font-style', 'td' => 'text-decoration', 'bg' => 'background-color', 'p' => 'padding', 'bc' => 'border-color', 'bs' => 'border-style', 'bw' => 'border-width', 'br' => 'border-radius');
             foreach ($st_hover as $sk => $sv) {
                 //do not write values for hover if idle is the same value
                 if (isset($st_idle[$st_trans[$sk]]) && $st_idle[$st_trans[$sk]][0] == $sv[0]) {
                     unset($st_hover[$sk]);
                 }
             }
             //Advanced Styles here:
             if (isset($adv_style['hover'])) {
                 $adv_style['hover'] = (array) $adv_style['hover'];
                 if (!empty($adv_style['hover'])) {
                     foreach ($adv_style['hover'] as $n => $v) {
                         $st_hover[$n] = array($v, 'ALWAYS');
                     }
                 }
             }
             //Advanced Styles here:
             if (isset($il_style['hover'])) {
                 $il_style['hover'] = (array) $il_style['hover'];
                 if (!empty($il_style['hover'])) {
                     foreach ($il_style['hover'] as $n => $v) {
                         $st_hover[$n] = array($v, 'ALWAYS');
                     }
                 }
             }
             $def_string = '';
             foreach ($def as $key => $value) {
                 if (trim($value[0]) == '' || $value[0] === $value[1]) {
                     continue;
                 }
                 $def_string .= $key . ':' . $value[0] . ';';
             }
             foreach ($st_hover as $key => $value) {
                 if (trim($value[0]) == '' || $value[0] === $value[1]) {
                     continue;
                 }
                 $st_h_string .= $key . ':' . $value[0] . ';';
             }
             $deform_hover = '				data-transform_hover="' . $def_string . '"' . "\n";
         }
         if ($st_h_string !== '') {
             $style_hover = '				data-style_hover="' . $st_h_string . '"' . "\n";
         }
         $static_data .= $deform . $deform_hover . $style_hover;
         //set corners
         $htmlCorners = "";
         //if($type == "no_edit"){}
         if ($type == "text" || $type == "button") {
             $cornerdef = RevSliderFunctions::getVal($layer, "deformation");
             $cornerLeft = RevSliderFunctions::getVal($cornerdef, "corner_left");
             $cornerRight = RevSliderFunctions::getVal($cornerdef, "corner_right");
             switch ($cornerLeft) {
                 case "curved":
                     $htmlCorners .= "<div class='frontcorner'></div>";
                     break;
                 case "reverced":
                     $htmlCorners .= "<div class='frontcornertop'></div>";
                     break;
             }
             switch ($cornerRight) {
                 case "curved":
                     $htmlCorners .= "<div class='backcorner'></div>";
                     break;
                 case "reverced":
                     $htmlCorners .= "<div class='backcornertop'></div>";
                     break;
             }
         }
         //add resizeme class
         $resize_full = RevSliderFunctions::getVal($layer, "resize-full", true);
         if ($resize_full === true || $resize_full == 'true' || $resize_full == '1') {
             $resizeme = RevSliderFunctions::getVal($layer, "resizeme", true);
             if ($resizeme == "true" || $resizeme == "1") {
                 $outputClass .= ' tp-resizeme';
             }
         } else {
             //end text related layer
             $extra_data .= '			data-responsive="off"';
         }
         //make some modifications for the full screen video
         if ($isFullWidthVideo == true) {
             $htmlPosX = ' data-x="0"';
             $htmlPosY = ' data-y="0"';
             $outputClass .= ' fullscreenvideo';
         }
         //parallax part
         $use_parallax = $this->slider->getParam('use_parallax', $this->slider->getParam('use_parallax', 'off'));
         $parallax_class = '';
         if ($use_parallax == 'on') {
             $ldef = RevSliderFunctions::getVal($layer, 'deformation', array());
             $slide_level = RevSliderFunctions::getVal($ldef, 'parallax', '-');
             $parallax_ddd = $this->slider->getParam("ddd_parallax", "off");
             $parallax_ddd_bgfreeze = $this->slider->getParam("ddd_parallax_bgfreeze", "off");
             $ddd_z = RevSliderFunctions::getVal($layer, 'parallax_layer_ddd_zlevel', '');
             //bg , layers
             if ($parallax_ddd == "on" && $slide_level == "-" && $ddd_z === "bg") {
                 $slide_level = "tobggroup";
             }
             if ($slide_level !== '-') {
                 $parallax_class = ' rs-parallaxlevel-' . $slide_level;
             }
         }
         //check for actions
         $all_actions = RevSliderFunctions::getVal($layer, 'layer_action', array());
         $a_tooltip_event = RevSliderFunctions::cleanStdClassToArray(RevSliderFunctions::getVal($all_actions, 'tooltip_event', array()));
         $a_action = RevSliderFunctions::cleanStdClassToArray(RevSliderFunctions::getVal($all_actions, 'action', array()));
         $a_image_link = RevSliderFunctions::cleanStdClassToArray(RevSliderFunctions::getVal($all_actions, 'image_link', array()));
         $a_link_open_in = RevSliderFunctions::cleanStdClassToArray(RevSliderFunctions::getVal($all_actions, 'link_open_in', array()));
         $a_jump_to_slide = RevSliderFunctions::cleanStdClassToArray(RevSliderFunctions::getVal($all_actions, 'jump_to_slide', array()));
         $a_scrolloffset = RevSliderFunctions::cleanStdClassToArray(RevSliderFunctions::getVal($all_actions, 'scrollunder_offset', array()));
         $a_actioncallback = RevSliderFunctions::cleanStdClassToArray(RevSliderFunctions::getVal($all_actions, 'actioncallback', array()));
         $a_target = RevSliderFunctions::cleanStdClassToArray(RevSliderFunctions::getVal($all_actions, 'layer_target', array()));
         $a_action_delay = RevSliderFunctions::cleanStdClassToArray(RevSliderFunctions::getVal($all_actions, 'action_delay', array()));
         $a_link_type = RevSliderFunctions::cleanStdClassToArray(RevSliderFunctions::getVal($all_actions, 'link_type', array()));
         $a_toggle_layer_type = RevSliderFunctions::cleanStdClassToArray(RevSliderFunctions::getVal($all_actions, 'toggle_layer_type', array()));
         $a_toggle_class = RevSliderFunctions::cleanStdClassToArray(RevSliderFunctions::getVal($all_actions, 'toggle_class', array()));
         $a_html = '';
         $a_events = array();
         if (!empty($a_action)) {
             $a_html .= "\t\t\tdata-actions='";
             foreach ($a_action as $num => $action) {
                 $layer_attrID = '';
                 switch ($action) {
                     case 'start_in':
                     case 'start_out':
                     case 'start_video':
                     case 'stop_video':
                     case 'toggle_layer':
                     case 'toggle_video':
                     case 'simulate_click':
                     case 'toggle_class':
                     case 'toggle_mute_video':
                     case 'mute_video':
                     case 'unmute_video':
                         //get the ID of the layer with the unique_id that is $a_target[$num]
                         $layer_attrID = $slide->getLayerID_by_unique_id($a_target[$num], $this->static_slide);
                         if ($a_target[$num] == 'backgroundvideo' || $a_target[$num] == 'firstvideo') {
                             $layer_attrID = $a_target[$num];
                         } elseif (trim($layer_attrID) == '') {
                             if (strpos($a_target[$num], 'static-') !== false || $static_slide) {
                                 $layer_attrID = 'slider-' . preg_replace("/[^\\w]+/", "", $this->slider->getID()) . '-layer-' . str_replace('static-', '', $a_target[$num]);
                             } else {
                                 $layer_attrID = 'slide-' . preg_replace("/[^\\w]+/", "", $slideID) . '-layer-' . $a_target[$num];
                             }
                         }
                         break;
                 }
                 switch ($action) {
                     case 'none':
                         continue;
                         break;
                     case 'link':
                         //if post based, replace {{}} with correct info
                         //a_image_link
                         if (isset($a_image_link[$num])) {
                             $a_image_link[$num] = do_shortcode($a_image_link[$num]);
                         }
                         if (isset($a_link_type[$num]) && $a_link_type[$num] == 'jquery') {
                             /*
                             $setBase = (is_ssl()) ? "https://" : "http://";
                             if(strpos($a_image_link[$num], 'http') === false)
                             	$a_image_link[$num] = $setBase .$a_image_link[$num];
                             */
                             $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                             $a_link_open_in[$num] = isset($a_link_open_in[$num]) ? $a_link_open_in[$num] : '';
                             $a_image_link[$num] = isset($a_image_link[$num]) ? $a_image_link[$num] : '';
                             $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'simplelink', 'target' => $a_link_open_in[$num], 'url' => $a_image_link[$num]);
                         } else {
                             if ($html_simple_link == '') {
                                 //adds the link to the layer
                                 /*
                                 $setBase = (is_ssl()) ? "https://" : "http://";
                                 if(strpos($a_image_link[$num], 'http') === false)
                                 	$a_image_link[$num] = $setBase .$a_image_link[$num];
                                 */
                                 $a_image_link[$num] = isset($a_image_link[$num]) ? $a_image_link[$num] : '';
                                 $a_link_open_in[$num] = isset($a_link_open_in[$num]) ? $a_link_open_in[$num] : '';
                                 $html_simple_link = ' href="' . $a_image_link[$num] . '"';
                                 $html_simple_link .= ' target="' . $a_link_open_in[$num] . '"';
                             }
                         }
                         break;
                     case 'jumpto':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_jump_to_slide[$num] = isset($a_jump_to_slide[$num]) ? $a_jump_to_slide[$num] : '';
                         $a_action_delay[$num] = isset($a_action_delay[$num]) ? $a_action_delay[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'jumptoslide', 'slide' => 'rs-' . $a_jump_to_slide[$num], 'delay' => $a_action_delay[$num]);
                         break;
                     case 'next':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_action_delay[$num] = isset($a_action_delay[$num]) ? $a_action_delay[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'jumptoslide', 'slide' => 'next', 'delay' => $a_action_delay[$num]);
                         break;
                     case 'gofullscreen':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_action_delay[$num] = isset($a_action_delay[$num]) ? $a_action_delay[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'gofullscreen', 'delay' => $a_action_delay[$num]);
                         break;
                     case 'toggle_global_mute_video':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_action_delay[$num] = isset($a_action_delay[$num]) ? $a_action_delay[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'toggle_global_mute_video', 'delay' => $a_action_delay[$num]);
                         break;
                     case 'exitfullscreen':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_action_delay[$num] = isset($a_action_delay[$num]) ? $a_action_delay[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'exitfullscreen', 'delay' => $a_action_delay[$num]);
                         break;
                     case 'togglefullscreen':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_action_delay[$num] = isset($a_action_delay[$num]) ? $a_action_delay[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'togglefullscreen', 'delay' => $a_action_delay[$num]);
                         break;
                     case 'prev':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_action_delay[$num] = isset($a_action_delay[$num]) ? $a_action_delay[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'jumptoslide', 'slide' => 'previous', 'delay' => $a_action_delay[$num]);
                         break;
                     case 'pause':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'pauseslider');
                         break;
                     case 'resume':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'playslider');
                         break;
                     case 'toggle_slider':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'toggleslider');
                         break;
                     case 'callback':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_actioncallback[$num] = isset($a_actioncallback[$num]) ? $a_actioncallback[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'callback', 'callback' => $a_actioncallback[$num]);
                         break;
                     case 'scroll_under':
                         //ok
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_scrolloffset[$num] = isset($a_scrolloffset[$num]) ? $a_scrolloffset[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'scrollbelow', 'offset' => RevSliderFunctions::add_missing_val($a_scrolloffset[$num], 'px'));
                         break;
                     case 'start_in':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_action_delay[$num] = isset($a_action_delay[$num]) ? $a_action_delay[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'startlayer', 'layer' => $layer_attrID, 'delay' => $a_action_delay[$num]);
                         break;
                     case 'start_out':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_action_delay[$num] = isset($a_action_delay[$num]) ? $a_action_delay[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'stoplayer', 'layer' => $layer_attrID, 'delay' => $a_action_delay[$num]);
                         break;
                     case 'toggle_layer':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_toggle_layer_type[$num] = isset($a_toggle_layer_type[$num]) ? $a_toggle_layer_type[$num] : '';
                         $a_action_delay[$num] = isset($a_action_delay[$num]) ? $a_action_delay[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'togglelayer', 'layerstatus' => $a_toggle_layer_type[$num], 'layer' => $layer_attrID, 'delay' => $a_action_delay[$num]);
                         break;
                     case 'start_video':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_action_delay[$num] = isset($a_action_delay[$num]) ? $a_action_delay[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'playvideo', 'layer' => $layer_attrID, 'delay' => $a_action_delay[$num]);
                         break;
                     case 'stop_video':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_action_delay[$num] = isset($a_action_delay[$num]) ? $a_action_delay[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'stopvideo', 'layer' => $layer_attrID, 'delay' => $a_action_delay[$num]);
                         break;
                     case 'mute_video':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_action_delay[$num] = isset($a_action_delay[$num]) ? $a_action_delay[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'mutevideo', 'layer' => $layer_attrID, 'delay' => $a_action_delay[$num]);
                         break;
                     case 'unmute_video':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_action_delay[$num] = isset($a_action_delay[$num]) ? $a_action_delay[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'unmutevideo', 'layer' => $layer_attrID, 'delay' => $a_action_delay[$num]);
                         break;
                     case 'toggle_video':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_action_delay[$num] = isset($a_action_delay[$num]) ? $a_action_delay[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'togglevideo', 'layer' => $layer_attrID, 'delay' => $a_action_delay[$num]);
                         break;
                     case 'toggle_mute_video':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_action_delay[$num] = isset($a_action_delay[$num]) ? $a_action_delay[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'toggle_mute_video', 'layer' => $layer_attrID, 'delay' => $a_action_delay[$num]);
                         break;
                     case 'simulate_click':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_action_delay[$num] = isset($a_action_delay[$num]) ? $a_action_delay[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'simulateclick', 'layer' => $layer_attrID, 'delay' => $a_action_delay[$num]);
                         break;
                     case 'toggle_class':
                         $a_tooltip_event[$num] = isset($a_tooltip_event[$num]) ? $a_tooltip_event[$num] : '';
                         $a_action_delay[$num] = isset($a_action_delay[$num]) ? $a_action_delay[$num] : '';
                         $a_toggle_class[$num] = isset($a_toggle_class[$num]) ? $a_toggle_class[$num] : '';
                         $a_events[] = array('event' => $a_tooltip_event[$num], 'action' => 'toggleclass', 'layer' => $layer_attrID, 'delay' => $a_action_delay[$num], 'classname' => $a_toggle_class[$num]);
                         break;
                 }
             }
             if (!empty($a_events)) {
                 $a_html .= json_encode($a_events);
             }
             $a_html .= "'\n";
         }
         //check for loop animation here
         $do_loop = RevSliderFunctions::getVal($layer, 'loop_animation', 'none');
         $loop_data = '';
         $loop_class = '';
         if ($do_loop !== 'none') {
             $loop_class = ' ' . $do_loop;
             switch ($do_loop) {
                 case 'rs-pendulum':
                     $loop_data .= ' data-easing="' . RevSliderFunctions::getVal($layer, 'loop_easing', 'Power3.easeInOut') . '"';
                     $loop_data .= ' data-startdeg="' . RevSliderFunctions::getVal($layer, 'loop_startdeg', '-20') . '"';
                     $loop_data .= ' data-enddeg="' . RevSliderFunctions::getVal($layer, 'loop_enddeg', '20') . '"';
                     $loop_data .= ' data-speed="' . RevSliderFunctions::getVal($layer, 'loop_speed', '2') . '"';
                     $loop_data .= ' data-origin="' . RevSliderFunctions::getVal($layer, 'loop_xorigin', '50') . '% ' . RevSliderFunctions::getVal($layer, 'loop_yorigin', '50') . '%"';
                     break;
                 case 'rs-rotate':
                     $loop_data .= ' data-easing="' . RevSliderFunctions::getVal($layer, 'loop_easing', 'Power3.easeInOut') . '"';
                     $loop_data .= ' data-startdeg="' . RevSliderFunctions::getVal($layer, 'loop_startdeg', '-20') . '"';
                     $loop_data .= ' data-enddeg="' . RevSliderFunctions::getVal($layer, 'loop_enddeg', '20') . '"';
                     $loop_data .= ' data-speed="' . RevSliderFunctions::getVal($layer, 'loop_speed', '2') . '"';
                     $loop_data .= ' data-origin="' . RevSliderFunctions::getVal($layer, 'loop_xorigin', '50') . '% ' . RevSliderFunctions::getVal($layer, 'loop_yorigin', '50') . '%"';
                     break;
                 case 'rs-slideloop':
                     $loop_data .= ' data-easing="' . RevSliderFunctions::getVal($layer, 'loop_easing', 'Power3.easeInOut') . '"';
                     $loop_data .= ' data-speed="' . RevSliderFunctions::getVal($layer, 'loop_speed', '1') . '"';
                     $loop_data .= ' data-xs="' . RevSliderFunctions::getVal($layer, 'loop_xstart', '0') . '"';
                     $loop_data .= ' data-xe="' . RevSliderFunctions::getVal($layer, 'loop_xend', '0') . '"';
                     $loop_data .= ' data-ys="' . RevSliderFunctions::getVal($layer, 'loop_ystart', '0') . '"';
                     $loop_data .= ' data-ye="' . RevSliderFunctions::getVal($layer, 'loop_yend', '0') . '"';
                     break;
                 case 'rs-pulse':
                     $loop_data .= ' data-easing="' . RevSliderFunctions::getVal($layer, 'loop_easing', 'Power3.easeInOut') . '"';
                     $loop_data .= ' data-speed="' . RevSliderFunctions::getVal($layer, 'loop_speed', '1') . '"';
                     $loop_data .= ' data-zoomstart="' . RevSliderFunctions::getVal($layer, 'loop_zoomstart', '1') . '"';
                     $loop_data .= ' data-zoomend="' . RevSliderFunctions::getVal($layer, 'loop_zoomend', '1') . '"';
                     break;
                 case 'rs-wave':
                     $loop_data .= ' data-speed="' . RevSliderFunctions::getVal($layer, 'loop_speed', '1') . '"';
                     $loop_data .= ' data-angle="' . RevSliderFunctions::getVal($layer, 'loop_angle', '0') . '"';
                     $loop_data .= ' data-radius="' . RevSliderFunctions::getVal($layer, 'loop_radius', '10') . '"';
                     $loop_data .= ' data-origin="' . RevSliderFunctions::getVal($layer, 'loop_xorigin', '50') . '% ' . RevSliderFunctions::getVal($layer, 'loop_yorigin', '50') . '%"';
                     break;
             }
         }
         if (!empty($svg_val) && sizeof($svg_val) > 0) {
             $outputClass .= ' tp-svg-layer';
         }
         $layer_id = $zIndex - 4;
         $use_tag = RevSliderFunctions::getVal($layer, 'html_tag', 'div');
         if ($html_simple_link !== '') {
             $use_tag = 'a';
         }
         echo "\n\t\t<!-- LAYER NR. ";
         echo $layer_id;
         echo " -->\n";
         echo '		<' . $use_tag . ' class="' . $outputClass;
         echo $classes != '' ? ' ' . $classes : '';
         echo $parallax_class;
         if ($static_slide) {
             echo ' tp-static-layer';
         }
         echo $videoclass;
         echo "\" \n";
         echo $html_simple_link;
         echo $ids != '' ? '			' . $ids . " \n" : '';
         echo $title != '' ? '			' . $title . " \n" : '';
         echo $rel != '' ? '			' . $rel . " \n" : '';
         if ($htmlPosX != '') {
             echo '			' . $htmlPosX . " \n";
         }
         if ($htmlPosY != '') {
             echo '			' . $htmlPosY . " \n";
         }
         if ($static_data != '') {
             echo '			' . $static_data . " \n";
         }
         if ($customin != '') {
             echo '			' . $customin . " \n";
         }
         if ($customout != '') {
             echo '			' . $customout . " \n";
         }
         if ($maskin != '') {
             echo '			' . $maskin . " \n";
         }
         if ($maskout != '') {
             echo '			' . $maskout . " \n";
         }
         echo '			data-start="' . $time . '"' . " \n";
         //if($type == 'no_edit'){}
         if ($type == 'text' || $type == 'button') {
             //only output if we are a text layer
             echo '			data-splitin="' . $splitin . '"' . " \n";
             echo '			data-splitout="' . $splitout . '"' . " \n";
         }
         do_action('revslider_add_layer_attributes', $layer, $slide, $this->slider);
         echo $a_html;
         // SVG OUTPUT
         if (!empty($svg_val) && sizeof($svg_val) > 0) {
             echo '			data-svg_src="' . $svg_val->{'src'} . '"' . " \n";
             echo '			data-svg_idle="sc:' . $svg_val->{'svgstroke-color'} . ';sw:' . $svg_val->{'svgstroke-width'} . ';sda:' . $svg_val->{'svgstroke-dasharray'} . ';sdo:' . $svg_val->{'svgstroke-dashoffset'} . ';"' . " \n";
             if ($is_hover_active) {
                 echo '			data-svg_hover="sc:' . $svg_val->{'svgstroke-hover-color'} . ';sw:' . $svg_val->{'svgstroke-hover-width'} . ';sda:' . $svg_val->{'svgstroke-hover-dasharray'} . ';sdo:' . $svg_val->{'svgstroke-hover-dashoffset'} . ';"' . " \n";
             }
         }
         if ($basealign !== 'grid') {
             echo '			data-basealign="' . $basealign . '"' . " \n";
         }
         $ro = RevSliderFunctions::getVal($layer, 'responsive_offset', true);
         if ($ro != 1) {
             echo '			data-responsive_offset="off"' . " \n";
         } else {
             echo '			data-responsive_offset="on"' . " \n";
         }
         echo $extra_data . "\n";
         //check if static layer and if yes, set values for it.
         if ($static_slide) {
             if ($isTemplate != "true" && $slider_type !== 'hero') {
                 $start_on_slide = intval(RevSliderFunctions::getVal($layer, "static_start", 1)) - 1;
                 $end_on_slide = RevSliderFunctions::getVal($layer, "static_end", 2);
                 if ($end_on_slide !== 'last') {
                     $end_on_slide = intval($end_on_slide) - 1;
                 } else {
                     //change number to the last slide number
                     $end_on_slide = count($this->slider->getArrSlideNames()) - 1;
                 }
             } else {
                 $start_on_slide = '-1';
                 $end_on_slide = '-1';
             }
             echo '			data-startslide="' . $start_on_slide . '"' . " \n";
             echo '			data-endslide="' . $end_on_slide . '"' . " \n";
         }
         if ($splitin !== 'none') {
             echo '			data-elementdelay="' . $elementdelay . '"' . " \n";
         }
         if ($splitout !== 'none') {
             echo '			data-endelementdelay="' . $endelementdelay . '"' . " \n";
         }
         if ($htmlParams != "") {
             echo "\t\t\t" . $htmlParams;
         }
         echo '			style="z-index: ' . $zIndex . ';' . $inline_styles . $idle_style . '"';
         //
         echo '>';
         if ($do_loop !== 'none') {
             echo "\n" . '<div class="rs-looped ' . trim($loop_class) . '" ' . $loop_data . '>';
         }
         if ($toggle_allow != false) {
             echo '<div class="rs-untoggled-content">';
         }
         echo apply_filters('revslider_layer_content', stripslashes($html), $html, $this->slider->getID(), $slide, $layer) . " ";
         if ($toggle_allow != false) {
             echo '</div>';
             echo '<div class="rs-toggled-content">' . stripslashes($html_toggle) . '</div>';
         }
         if ($htmlCorners != "") {
             echo $htmlCorners . " ";
         }
         if ($do_loop !== 'none') {
             echo "</div>";
         }
         echo '</' . $use_tag . '>' . "\n";
         $zIndex++;
     }
 }
    /**
     * 
     * javascript output to footer
     */
    public static function putJavascript()
    {
        $urlPlugin = RS_PLUGIN_URL . "public/assets/";
        $operations = new RevSliderOperations();
        $arrValues = $operations->getGeneralSettingsValues();
        $js_defer = RevSliderBase::getVar($arrValues, 'js_defer', 'off');
        if ($js_defer != 'off') {
            $js_defer = 'defer="defer"';
        } else {
            $js_defer = '';
        }
        ?>

		<script type='text/javascript' <?php 
        echo $js_defer;
        ?>
 src='<?php 
        echo $urlPlugin;
        ?>
js/jquery.themepunch.tools.min.js?rev=<?php 
        echo RevSliderGlobals::SLIDER_REVISION;
        ?>
'></script>
		<script type='text/javascript' <?php 
        echo $js_defer;
        ?>
 src='<?php 
        echo $urlPlugin;
        ?>
js/jquery.themepunch.revolution.min.js?rev=<?php 
        echo RevSliderGlobals::SLIDER_REVISION;
        ?>
'></script>
		<?php 
    }
$operations = new RevSliderOperations();
$arrValues = $operations->getGeneralSettingsValues();
$role = RevSliderBase::getVar($arrValues, 'role', 'admin');
$includes_globally = RevSliderBase::getVar($arrValues, 'includes_globally', 'on');
$pages_for_includes = RevSliderBase::getVar($arrValues, 'pages_for_includes', '');
$js_to_footer = RevSliderBase::getVar($arrValues, 'js_to_footer', 'off');
$js_defer = RevSliderBase::getVar($arrValues, 'js_defer', 'off');
$show_dev_export = RevSliderBase::getVar($arrValues, 'show_dev_export', 'off');
$change_font_loading = RevSliderBase::getVar($arrValues, 'change_font_loading', '');
$enable_logs = RevSliderBase::getVar($arrValues, 'enable_logs', 'off');
$enable_newschannel = apply_filters('revslider_set_notifications', 'on');
$enable_newschannel = RevSliderBase::getVar($arrValues, "enable_newschannel", $enable_newschannel);
$width = RevSliderBase::getVar($arrValues, 'width', 1240);
$width_notebook = RevSliderBase::getVar($arrValues, 'width_notebook', 1024);
$width_tablet = RevSliderBase::getVar($arrValues, 'width_tablet', 778);
$width_mobile = RevSliderBase::getVar($arrValues, 'width_mobile', 480);
?>

<div id="dialog_general_settings" title="<?php 
_e("General Settings", REVSLIDER_TEXTDOMAIN);
?>
" style="display:none;">

	<div class="settings_wrapper unite_settings_wide">
		<form name="form_general_settings" id="form_general_settings">
			<script type="text/javascript">
				g_settingsObj['form_general_settings'] = {};
			</script>
			<table class="form-table">				
				<tbody>
					<tr id="role_row" valign="top">
Example #17
0
 /**
  * 
  * main constructor		 
  */
 public function __construct($t)
 {
     parent::__construct($t);
     add_action('wp_enqueue_scripts', array('RevSliderFront', 'onAddScripts'));
 }
Example #18
0
$arrValues = $operations->getGeneralSettingsValues();
$role = RevSliderBase::getVar($arrValues, 'role', 'admin');
$includes_globally = RevSliderBase::getVar($arrValues, 'includes_globally', 'on');
$pages_for_includes = RevSliderBase::getVar($arrValues, 'pages_for_includes', '');
$js_to_footer = RevSliderBase::getVar($arrValues, 'js_to_footer', 'off');
$js_defer = RevSliderBase::getVar($arrValues, 'js_defer', 'off');
$show_dev_export = RevSliderBase::getVar($arrValues, 'show_dev_export', 'off');
$change_font_loading = RevSliderBase::getVar($arrValues, 'change_font_loading', '');
$enable_logs = RevSliderBase::getVar($arrValues, 'enable_logs', 'off');
$enable_newschannel = apply_filters('revslider_set_notifications', 'on');
$enable_newschannel = RevSliderBase::getVar($arrValues, "enable_newschannel", $enable_newschannel);
$width = RevSliderBase::getVar($arrValues, 'width', 1240);
$width_notebook = RevSliderBase::getVar($arrValues, 'width_notebook', 1024);
$width_tablet = RevSliderBase::getVar($arrValues, 'width_tablet', 778);
$width_mobile = RevSliderBase::getVar($arrValues, 'width_mobile', 480);
$force_activation_box = RevSliderBase::getVar($arrValues, 'force_activation_box', 'off');
?>

<div id="dialog_general_settings" title="<?php 
_e("General Settings", 'revslider');
?>
" style="display:none;">

	<div class="settings_wrapper unite_settings_wide">
		<form name="form_general_settings" id="form_general_settings">
			<script type="text/javascript">
				g_settingsObj['form_general_settings'] = {};
			</script>
			<table class="form-table">				
				<tbody>
					<tr id="role_row" valign="top">
Example #19
0
			<div id="addsvg-list-of-items">
				<div class="object_library_search_wrapper">
					<input type="text" id="obj_library_search" placeholder="<?php 
_e("Search for Objects...", 'revslider');
?>
" /><span id="obj_library_search_trigger"><i class="eg-icon-search"></i></span>
				</div>
				<div class="object-tag-list"></div>
				<div id="object_library_results">
					<div id="object_library_results-inner">
					</div>
				</div>
				<script>
					var svg_libraries = [];									
				<?php 
$svgs = RevSliderBase::get_svg_sets_full();
if (!empty($svgs) && is_array($svgs)) {
    foreach ($svgs as $svghandle => $svgfiles) {
        ?>
																																	
							jQuery('.object-tag-list').append('<span class="obj_library_cats" data-group="<?php 
        echo $svghandle;
        ?>
"><?php 
        echo $svghandle;
        ?>
</span>')
							jQuery('#object_library_results-inner').append('<div style="display:none" class="rs-svg-library rs-svg-<?php 
        echo esc_attr($svghandle);
        ?>
"</div>');
Example #20
0
    /**
     * output markup for template
     * @since: 5.0
     */
    public function write_template_markup($template, $slider_id = false)
    {
        $params = $template['params'];
        $settings = $template['settings'];
        $slide_id = $template['id'];
        $title = str_replace("'", "", RevSliderBase::getVar($params, 'title', 'Slide'));
        if ($slider_id !== false) {
            $title = '';
        }
        //remove Title if Slider
        $width = RevSliderBase::getVar($settings, "width", 1240);
        $height = RevSliderBase::getVar($settings, "height", 868);
        $bgType = RevSliderBase::getVar($params, "background_type", "transparent");
        $bgColor = RevSliderBase::getVar($params, "slide_bg_color", "transparent");
        $bgFit = RevSliderBase::getVar($params, "bg_fit", "cover");
        $bgFitX = intval(RevSliderBase::getVar($params, "bg_fit_x", "100"));
        $bgFitY = intval(RevSliderBase::getVar($params, "bg_fit_y", "100"));
        $bgPosition = RevSliderBase::getVar($params, "bg_position", "center center");
        $bgPositionX = intval(RevSliderBase::getVar($params, "bg_position_x", "0"));
        $bgPositionY = intval(RevSliderBase::getVar($params, "bg_position_y", "0"));
        $bgRepeat = RevSliderBase::getVar($params, "bg_repeat", "no-repeat");
        $bgStyle = ' ';
        if ($bgFit == 'percentage') {
            if (intval($bgFitY) == 0 || intval($bgFitX) == 0) {
                $bgStyle .= "background-size: cover;";
            } else {
                $bgStyle .= "background-size: " . $bgFitX . '% ' . $bgFitY . '%;';
            }
        } else {
            $bgStyle .= "background-size: " . $bgFit . ";";
        }
        if ($bgPosition == 'percentage') {
            $bgStyle .= "background-position: " . $bgPositionX . '% ' . $bgPositionY . '%;';
        } else {
            $bgStyle .= "background-position: " . $bgPosition . ";";
        }
        $bgStyle .= "background-repeat: " . $bgRepeat . ";";
        if (isset($template['img'])) {
            $thumb = $template['img'];
        } else {
            $imageID = RevSliderBase::getVar($params, "image_id");
            if (empty($imageID)) {
                $thumb = RevSliderBase::getVar($params, "image");
                $imgID = RevSliderBase::get_image_id_by_url($thumb);
                if ($imgID !== false) {
                    $thumb = RevSliderFunctionsWP::getUrlAttachmentImage($imgID, RevSliderFunctionsWP::THUMB_MEDIUM);
                }
            } else {
                $thumb = RevSliderFunctionsWP::getUrlAttachmentImage($imageID, RevSliderFunctionsWP::THUMB_MEDIUM);
            }
            if ($thumb == '') {
                $thumb = RevSliderBase::getVar($params, "image");
            }
        }
        $bg_fullstyle = '';
        $bg_extraClass = '';
        $data_urlImageForView = '';
        if ($bgType == 'image' || $bgType == 'vimeo' || $bgType == 'youtube' || $bgType == 'html5') {
            $data_urlImageForView = 'data-src="' . $thumb . '"';
            $bg_fullstyle = ' style="' . $bgStyle . '" ';
        }
        if ($bgType == "solid") {
            $bg_fullstyle = ' style="background-color:' . $bgColor . ';" ';
        }
        if ($bgType == "trans" || $bgType == "transparent") {
            $bg_extraClass = 'mini-transparent';
        }
        ?>
		<div <?php 
        echo $data_urlImageForView;
        ?>
 class="<?php 
        echo $slider_id !== false ? 'template_slider_item' : 'template_item';
        ?>
 <?php 
        echo $bg_extraClass;
        ?>
" <?php 
        echo $bg_fullstyle;
        ?>
			data-gridwidth="<?php 
        echo $width;
        ?>
"
			data-gridheight="<?php 
        echo $height;
        ?>
"
			<?php 
        if ($slider_id !== false) {
            ?>
			data-sliderid="<?php 
            echo $slider_id;
            ?>
"
			<?php 
        } else {
            ?>
			data-slideid="<?php 
            echo $slide_id;
            ?>
"
			<?php 
        }
        ?>
			>
			<div class="template_title"><?php 
        echo $title;
        ?>
</div>
		</div>
		<?php 
    }
 /**
  * 
  * import slider from multipart form
  */
 public function importSliderFromPost($updateAnim = true, $updateStatic = true, $exactfilepath = false, $is_template = false, $single_slide = false)
 {
     try {
         $sliderID = RevSliderFunctions::getPostVariable("sliderid");
         $sliderExists = !empty($sliderID);
         if ($sliderExists) {
             $this->initByID($sliderID);
         }
         if ($exactfilepath !== false) {
             $filepath = $exactfilepath;
         } else {
             switch ($_FILES['import_file']['error']) {
                 case UPLOAD_ERR_OK:
                     break;
                 case UPLOAD_ERR_NO_FILE:
                     RevSliderFunctions::throwError(__('No file sent.', REVSLIDER_TEXTDOMAIN));
                 case UPLOAD_ERR_INI_SIZE:
                 case UPLOAD_ERR_FORM_SIZE:
                     RevSliderFunctions::throwError(__('Exceeded filesize limit.', REVSLIDER_TEXTDOMAIN));
                 default:
                     break;
             }
             $filepath = $_FILES["import_file"]["tmp_name"];
         }
         if (file_exists($filepath) == false) {
             RevSliderFunctions::throwError("Import file not found!!!");
         }
         //check if zip file or fallback to old, if zip, check if all files exist
         if (!class_exists("ZipArchive")) {
             $importZip = false;
         } else {
             $zip = new ZipArchive();
             $importZip = $zip->open($filepath, ZIPARCHIVE::CREATE);
         }
         // Added by ThemeFuzz ( Stefan )
         if ($importZip === 0 || !$zip->getStream('slider_export.txt')) {
             if (!$zip->getStream('slider_export.txt')) {
                 $upload_dir = wp_upload_dir();
                 $new_path = $upload_dir['basedir'] . '/' . $_FILES['import_file']['name'];
                 move_uploaded_file($_FILES["import_file"]["tmp_name"], $new_path);
                 $importZip = $zip->open($new_path, ZIPARCHIVE::CREATE);
             }
         }
         if ($is_template !== false && $importZip !== true) {
             return array("success" => false, "error" => __('Please select the correct zip file', REVSLIDER_TEXTDOMAIN));
         }
         if ($importZip === true) {
             //true or integer. If integer, its not a correct zip file
             //check if files all exist in zip
             $slider_export = $zip->getStream('slider_export.txt');
             $custom_animations = $zip->getStream('custom_animations.txt');
             $dynamic_captions = $zip->getStream('dynamic-captions.css');
             $static_captions = $zip->getStream('static-captions.css');
             $uid_file = $zip->getStream('info.cfg');
             $uid_check = '';
             if ($uid_file) {
                 while (!feof($uid_file)) {
                     $uid_check .= fread($uid_file, 1024);
                 }
             }
             if ($is_template !== false) {
                 if ($uid_check != $is_template) {
                     return array("success" => false, "error" => __('Please select the correct zip file, checksum failed!', REVSLIDER_TEXTDOMAIN));
                 }
             } else {
                 //someone imported a template base Slider, check if it is existing in Base Sliders, if yes, check if it was imported
                 if ($uid_check !== '') {
                     $tmpl = new RevSliderTemplate();
                     $tmpl_slider = $tmpl->getThemePunchTemplateSliders();
                     foreach ($tmpl_slider as $tp_slider) {
                         if (!isset($tp_slider['installed'])) {
                             continue;
                         }
                         if ($tp_slider['uid'] == $uid_check) {
                             $is_template = $uid_check;
                             break;
                         }
                     }
                 }
             }
             if (!$slider_export) {
                 RevSliderFunctions::throwError("slider_export.txt does not exist!");
             }
             $content = '';
             $animations = '';
             $dynamic = '';
             $static = '';
             while (!feof($slider_export)) {
                 $content .= fread($slider_export, 1024);
             }
             if ($custom_animations) {
                 while (!feof($custom_animations)) {
                     $animations .= fread($custom_animations, 1024);
                 }
             }
             if ($dynamic_captions) {
                 while (!feof($dynamic_captions)) {
                     $dynamic .= fread($dynamic_captions, 1024);
                 }
             }
             if ($static_captions) {
                 while (!feof($static_captions)) {
                     $static .= fread($static_captions, 1024);
                 }
             }
             fclose($slider_export);
             if ($custom_animations) {
                 fclose($custom_animations);
             }
             if ($dynamic_captions) {
                 fclose($dynamic_captions);
             }
             if ($static_captions) {
                 fclose($static_captions);
             }
             //check for images!
         } else {
             //check if fallback
             //get content array
             $content = @file_get_contents($filepath);
         }
         if ($importZip === true) {
             //we have a zip
             $db = new RevSliderDB();
             //update/insert custom animations
             $animations = @unserialize($animations);
             if (!empty($animations)) {
                 foreach ($animations as $key => $animation) {
                     //$animation['id'], $animation['handle'], $animation['params']
                     $exist = $db->fetch(RevSliderGlobals::$table_layer_anims, "handle = '" . $animation['handle'] . "'");
                     if (!empty($exist)) {
                         //update the animation, get the ID
                         if ($updateAnim == "true") {
                             //overwrite animation if exists
                             $arrUpdate = array();
                             $arrUpdate['params'] = stripslashes(json_encode(str_replace("'", '"', $animation['params'])));
                             $db->update(RevSliderGlobals::$table_layer_anims, $arrUpdate, array('handle' => $animation['handle']));
                             $anim_id = $exist['0']['id'];
                         } else {
                             //insert with new handle
                             $arrInsert = array();
                             $arrInsert["handle"] = 'copy_' . $animation['handle'];
                             $arrInsert["params"] = stripslashes(json_encode(str_replace("'", '"', $animation['params'])));
                             $anim_id = $db->insert(RevSliderGlobals::$table_layer_anims, $arrInsert);
                         }
                     } else {
                         //insert the animation, get the ID
                         $arrInsert = array();
                         $arrInsert["handle"] = $animation['handle'];
                         $arrInsert["params"] = stripslashes(json_encode(str_replace("'", '"', $animation['params'])));
                         $anim_id = $db->insert(RevSliderGlobals::$table_layer_anims, $arrInsert);
                     }
                     //and set the current customin-oldID and customout-oldID in slider params to new ID from $id
                     $content = str_replace(array('customin-' . $animation['id'] . '"', 'customout-' . $animation['id'] . '"'), array('customin-' . $anim_id . '"', 'customout-' . $anim_id . '"'), $content);
                 }
                 dmp(__("animations imported!", REVSLIDER_TEXTDOMAIN));
             } else {
                 dmp(__("no custom animations found, if slider uses custom animations, the provided export may be broken...", REVSLIDER_TEXTDOMAIN));
             }
             //overwrite/append static-captions.css
             if (!empty($static)) {
                 if ($updateStatic == "true") {
                     //overwrite file
                     RevSliderOperations::updateStaticCss($static);
                 } elseif ($updateStatic == 'none') {
                     //do nothing
                 } else {
                     //append
                     $static_cur = RevSliderOperations::getStaticCss();
                     $static = $static_cur . "\n" . $static;
                     RevSliderOperations::updateStaticCss($static);
                 }
             }
             //overwrite/create dynamic-captions.css
             //parse css to classes
             $dynamicCss = RevSliderCssParser::parseCssToArray($dynamic);
             if (is_array($dynamicCss) && $dynamicCss !== false && count($dynamicCss) > 0) {
                 foreach ($dynamicCss as $class => $styles) {
                     //check if static style or dynamic style
                     $class = trim($class);
                     if (strpos($class, ',') !== false && strpos($class, '.tp-caption') !== false) {
                         //we have something like .tp-caption.redclass, .redclass
                         $class_t = explode(',', $class);
                         foreach ($class_t as $k => $cl) {
                             if (strpos($cl, '.tp-caption') !== false) {
                                 $class = $cl;
                             }
                         }
                     }
                     if (strpos($class, ':hover') === false && strpos($class, ':') !== false || strpos($class, " ") !== false || strpos($class, ".tp-caption") === false || (strpos($class, ".") === false || strpos($class, "#") !== false) || strpos($class, ">") !== false) {
                         //.tp-caption>.imageclass or .tp-caption.imageclass>img or .tp-caption.imageclass .img
                         continue;
                     }
                     //is a dynamic style
                     if (strpos($class, ':hover') !== false) {
                         $class = trim(str_replace(':hover', '', $class));
                         $arrInsert = array();
                         $arrInsert["hover"] = json_encode($styles);
                         $arrInsert["settings"] = json_encode(array('hover' => 'true'));
                     } else {
                         $arrInsert = array();
                         $arrInsert["params"] = json_encode($styles);
                         $arrInsert["settings"] = '';
                     }
                     //check if class exists
                     $result = $db->fetch(RevSliderGlobals::$table_css, "handle = '" . $class . "'");
                     if (!empty($result)) {
                         //update
                         $db->update(RevSliderGlobals::$table_css, $arrInsert, array('handle' => $class));
                     } else {
                         //insert
                         $arrInsert["handle"] = $class;
                         $db->insert(RevSliderGlobals::$table_css, $arrInsert);
                     }
                 }
                 dmp(__("dynamic styles imported!", REVSLIDER_TEXTDOMAIN));
             } else {
                 dmp(__("no dynamic styles found, if slider uses dynamic styles, the provided export may be broken...", REVSLIDER_TEXTDOMAIN));
             }
         }
         //$content = preg_replace('!s:(\d+):"(.*?)";!e', "'s:'.strlen('$2').':\"$2\";'", $content); //clear errors in string //deprecated in newest php version
         $content = preg_replace_callback('!s:(\\d+):"(.*?)";!', array('RevSlider', 'clear_error_in_string'), $content);
         //clear errors in string
         $arrSlider = @unserialize($content);
         if (empty($arrSlider)) {
             RevSliderFunctions::throwError("Wrong export slider file format! This could be caused because the ZipArchive extension is not enabled.");
         }
         //update slider params
         $sliderParams = $arrSlider["params"];
         if ($sliderExists) {
             $sliderParams["title"] = $this->arrParams["title"];
             $sliderParams["alias"] = $this->arrParams["alias"];
             $sliderParams["shortcode"] = $this->arrParams["shortcode"];
         }
         if (isset($sliderParams["background_image"])) {
             $sliderParams["background_image"] = RevSliderFunctionsWP::getImageUrlFromPath($sliderParams["background_image"]);
         }
         $import_statics = true;
         if (isset($sliderParams['enable_static_layers'])) {
             if ($sliderParams['enable_static_layers'] == 'off') {
                 $import_statics = false;
             }
             unset($sliderParams['enable_static_layers']);
         }
         $json_params = json_encode($sliderParams);
         //update slider or create new
         if ($sliderExists) {
             $arrUpdate = array("params" => $json_params);
             $this->db->update(RevSliderGlobals::$table_sliders, $arrUpdate, array("id" => $sliderID));
         } else {
             //new slider
             $arrInsert = array();
             $arrInsert['params'] = $json_params;
             //check if Slider with title and/or alias exists, if yes change both to stay unique
             $arrInsert['title'] = RevSliderFunctions::getVal($sliderParams, 'title', 'Slider1');
             $arrInsert['alias'] = RevSliderFunctions::getVal($sliderParams, 'alias', 'slider1');
             if ($is_template === false) {
                 //we want to stay at the given alias if we are a template
                 $talias = $arrInsert['alias'];
                 $ti = 1;
                 while ($this->isAliasExistsInDB($talias)) {
                     //set a new alias and title if its existing in database
                     $talias = $arrInsert['alias'] . $ti;
                     $ti++;
                 }
                 if ($talias !== $arrInsert['alias']) {
                     $arrInsert['title'] = $talias;
                     $arrInsert['alias'] = $talias;
                 }
             }
             if ($is_template !== false) {
                 //add that we are an template
                 $arrInsert['type'] = 'template';
             }
             $sliderID = $this->db->insert(RevSliderGlobals::$table_sliders, $arrInsert);
         }
         //-------- Slides Handle -----------
         //delete current slides
         if ($sliderExists) {
             $this->deleteAllSlides();
         }
         //create all slides
         $arrSlides = $arrSlider["slides"];
         $alreadyImported = array();
         //wpml compatibility
         $slider_map = array();
         foreach ($arrSlides as $sl_key => $slide) {
             $params = $slide["params"];
             $layers = $slide["layers"];
             $settings = @$slide["settings"];
             //convert params images:
             if ($importZip === true) {
                 //we have a zip, check if exists
                 if (isset($params["image"])) {
                     $params["image"] = RevSliderBase::check_file_in_zip($zip, $params["image"], $filepath, $sliderParams["alias"], $alreadyImported);
                     $params["image"] = RevSliderFunctionsWP::getImageUrlFromPath($params["image"]);
                 }
                 if (isset($params["background_image"])) {
                     $params["background_image"] = RevSliderBase::check_file_in_zip($zip, $params["background_image"], $filepath, $sliderParams["alias"], $alreadyImported);
                     $params["background_image"] = RevSliderFunctionsWP::getImageUrlFromPath($params["background_image"]);
                 }
                 if (isset($params["slide_thumb"])) {
                     $params["slide_thumb"] = RevSliderBase::check_file_in_zip($zip, $params["slide_thumb"], $filepath, $sliderParams["alias"], $alreadyImported);
                     $params["slide_thumb"] = RevSliderFunctionsWP::getImageUrlFromPath($params["slide_thumb"]);
                 }
                 if (isset($params["show_alternate_image"])) {
                     $params["show_alternate_image"] = RevSliderBase::check_file_in_zip($zip, $params["show_alternate_image"], $filepath, $sliderParams["alias"], $alreadyImported);
                     $params["show_alternate_image"] = RevSliderFunctionsWP::getImageUrlFromPath($params["show_alternate_image"]);
                 }
                 if (isset($params['background_type']) && $params['background_type'] == 'html5') {
                     if (isset($params['slide_bg_html_mpeg']) && $params['slide_bg_html_mpeg'] != '') {
                         $params['slide_bg_html_mpeg'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($zip, $params["slide_bg_html_mpeg"], $filepath, $sliderParams["alias"], $alreadyImported, true));
                     }
                     if (isset($params['slide_bg_html_webm']) && $params['slide_bg_html_webm'] != '') {
                         $params['slide_bg_html_webm'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($zip, $params["slide_bg_html_webm"], $filepath, $sliderParams["alias"], $alreadyImported, true));
                     }
                     if (isset($params['slide_bg_html_ogv']) && $params['slide_bg_html_ogv'] != '') {
                         $params['slide_bg_html_ogv'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($zip, $params["slide_bg_html_ogv"], $filepath, $sliderParams["alias"], $alreadyImported, true));
                     }
                 }
             }
             //convert layers images:
             foreach ($layers as $key => $layer) {
                 //import if exists in zip folder
                 if ($importZip === true) {
                     //we have a zip, check if exists
                     if (isset($layer["image_url"])) {
                         $layer["image_url"] = RevSliderBase::check_file_in_zip($zip, $layer["image_url"], $filepath, $sliderParams["alias"], $alreadyImported);
                         $layer["image_url"] = RevSliderFunctionsWP::getImageUrlFromPath($layer["image_url"]);
                     }
                     if (isset($layer['type']) && $layer['type'] == 'video') {
                         $video_data = isset($layer['video_data']) ? (array) $layer['video_data'] : array();
                         if (!empty($video_data) && isset($video_data['video_type']) && $video_data['video_type'] == 'html5') {
                             if (isset($video_data['urlPoster']) && $video_data['urlPoster'] != '') {
                                 $video_data['urlPoster'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($zip, $video_data["urlPoster"], $filepath, $sliderParams["alias"], $alreadyImported));
                             }
                             if (isset($video_data['urlMp4']) && $video_data['urlMp4'] != '') {
                                 $video_data['urlMp4'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($zip, $video_data["urlMp4"], $filepath, $sliderParams["alias"], $alreadyImported, true));
                             }
                             if (isset($video_data['urlWebm']) && $video_data['urlWebm'] != '') {
                                 $video_data['urlWebm'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($zip, $video_data["urlWebm"], $filepath, $sliderParams["alias"], $alreadyImported, true));
                             }
                             if (isset($video_data['urlOgv']) && $video_data['urlOgv'] != '') {
                                 $video_data['urlOgv'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($zip, $video_data["urlOgv"], $filepath, $sliderParams["alias"], $alreadyImported, true));
                             }
                         } elseif (!empty($video_data) && isset($video_data['video_type']) && $video_data['video_type'] != 'html5') {
                             //video cover image
                             if (isset($video_data['previewimage']) && $video_data['previewimage'] != '') {
                                 $video_data['previewimage'] = RevSliderFunctionsWP::getImageUrlFromPath(RevSliderBase::check_file_in_zip($zip, $video_data["previewimage"], $filepath, $sliderParams["alias"], $alreadyImported));
                             }
                         }
                         $layer['video_data'] = $video_data;
                     }
                 }
                 $layer['text'] = stripslashes($layer['text']);
                 $layers[$key] = $layer;
             }
             $arrSlides[$sl_key]['layers'] = $layers;
             //create new slide
             $arrCreate = array();
             $arrCreate["slider_id"] = $sliderID;
             $arrCreate["slide_order"] = $slide["slide_order"];
             $my_layers = json_encode($layers);
             if (empty($my_layers)) {
                 $my_layers = stripslashes(json_encode($layers));
             }
             $my_params = json_encode($params);
             if (empty($my_params)) {
                 $my_params = stripslashes(json_encode($params));
             }
             $my_settings = json_encode($settings);
             if (empty($my_settings)) {
                 $my_settings = stripslashes(json_encode($settings));
             }
             $arrCreate["layers"] = $my_layers;
             $arrCreate["params"] = $my_params;
             $arrCreate["settings"] = $my_settings;
             $last_id = $this->db->insert(RevSliderGlobals::$table_slides, $arrCreate);
             if (isset($slide['id'])) {
                 $slider_map[$slide['id']] = $last_id;
             }
         }
         //change for WPML the parent IDs if necessary
         if (!empty($slider_map)) {
             foreach ($arrSlides as $sl_key => $slide) {
                 if (isset($slide['params']['parentid']) && isset($slider_map[$slide['params']['parentid']])) {
                     $update_id = $slider_map[$slide['id']];
                     $parent_id = $slider_map[$slide['params']['parentid']];
                     $arrCreate = array();
                     $arrCreate["params"] = $slide['params'];
                     $arrCreate["params"]['parentid'] = $parent_id;
                     $my_params = json_encode($arrCreate["params"]);
                     if (empty($my_params)) {
                         $my_params = stripslashes(json_encode($arrCreate["params"]));
                     }
                     $arrCreate["params"] = $my_params;
                     $this->db->update(RevSliderGlobals::$table_slides, $arrCreate, array("id" => $update_id));
                 }
                 $did_change = false;
                 foreach ($slide['layers'] as $key => $value) {
                     if (isset($value['layer_action'])) {
                         if (isset($value['layer_action']->jump_to_slide) && !empty($value['layer_action']->jump_to_slide)) {
                             $value['layer_action']->jump_to_slide = (array) $value['layer_action']->jump_to_slide;
                             foreach ($value['layer_action']->jump_to_slide as $jtsk => $jtsval) {
                                 if (isset($slider_map[$jtsval])) {
                                     $slide['layers'][$key]['layer_action']->jump_to_slide[$jtsk] = $slider_map[$jtsval];
                                     $did_change = true;
                                 }
                             }
                         }
                     }
                     $link_slide = RevSliderFunctions::getVal($value, 'link_slide', false);
                     if ($link_slide != false && $link_slide !== 'nothing') {
                         //link to slide/scrollunder is set, move it to actions
                         if (!isset($slide['layers'][$key]['layer_action'])) {
                             $slide['layers'][$key]['layer_action'] = new stdClass();
                         }
                         switch ($link_slide) {
                             case 'link':
                                 $link = RevSliderFunctions::getVal($value, 'link');
                                 $link_open_in = RevSliderFunctions::getVal($value, 'link_open_in');
                                 $slide['layers'][$key]['layer_action']->action = array('a' => 'link');
                                 $slide['layers'][$key]['layer_action']->link_type = array('a' => 'a');
                                 $slide['layers'][$key]['layer_action']->image_link = array('a' => $link);
                                 $slide['layers'][$key]['layer_action']->link_open_in = array('a' => $link_open_in);
                                 unset($slide['layers'][$key]['link']);
                                 unset($slide['layers'][$key]['link_open_in']);
                             case 'next':
                                 $slide['layers'][$key]['layer_action']->action = array('a' => 'next');
                                 break;
                             case 'prev':
                                 $slide['layers'][$key]['layer_action']->action = array('a' => 'prev');
                                 break;
                             case 'scroll_under':
                                 $scrollunder_offset = RevSliderFunctions::getVal($value, 'scrollunder_offset');
                                 $slide['layers'][$key]['layer_action']->action = array('a' => 'scroll_under');
                                 $slide['layers'][$key]['layer_action']->scrollunder_offset = array('a' => $scrollunder_offset);
                                 unset($slide['layers'][$key]['scrollunder_offset']);
                                 break;
                             default:
                                 //its an ID, so its a slide ID
                                 $slide['layers'][$key]['layer_action']->action = array('a' => 'jumpto');
                                 $slide['layers'][$key]['layer_action']->jump_to_slide = array('a' => $slider_map[$link_slide]);
                                 break;
                         }
                         $slide['layers'][$key]['layer_action']->tooltip_event = array('a' => 'click');
                         unset($slide['layers'][$key]['link_slide']);
                         $did_change = true;
                     }
                     if ($did_change === true) {
                         $arrCreate = array();
                         $my_layers = json_encode($slide['layers']);
                         if (empty($my_layers)) {
                             $my_layers = stripslashes(json_encode($layers));
                         }
                         $arrCreate['layers'] = $my_layers;
                         $this->db->update(RevSliderGlobals::$table_slides, $arrCreate, array("id" => $slider_map[$slide['id']]));
                     }
                 }
             }
         }
         //check if static slide exists and import
         if (isset($arrSlider['static_slides']) && !empty($arrSlider['static_slides']) && $import_statics) {
             $static_slide = $arrSlider['static_slides'];
             foreach ($static_slide as $slide) {
                 $params = $slide["params"];
                 $layers = $slide["layers"];
                 $settings = @$slide["settings"];
                 //convert params images:
                 if (isset($params["image"])) {
                     //import if exists in zip folder
                     if (strpos($params["image"], 'http') !== false) {
                     } else {
                         if (trim($params["image"]) !== '') {
                             if ($importZip === true) {
                                 //we have a zip, check if exists
                                 $image = $zip->getStream('images/' . $params["image"]);
                                 if (!$image) {
                                     echo $params["image"] . __(' not found!<br>', REVSLIDER_TEXTDOMAIN);
                                 } else {
                                     if (!isset($alreadyImported['zip://' . $filepath . "#" . 'images/' . $params["image"]])) {
                                         $importImage = RevSliderFunctionsWP::import_media('zip://' . $filepath . "#" . 'images/' . $params["image"], $sliderParams["alias"] . '/');
                                         if ($importImage !== false) {
                                             $alreadyImported['zip://' . $filepath . "#" . 'images/' . $params["image"]] = $importImage['path'];
                                             $params["image"] = $importImage['path'];
                                         }
                                     } else {
                                         $params["image"] = $alreadyImported['zip://' . $filepath . "#" . 'images/' . $params["image"]];
                                     }
                                 }
                             }
                         }
                         $params["image"] = RevSliderFunctionsWP::getImageUrlFromPath($params["image"]);
                     }
                 }
                 //convert layers images:
                 foreach ($layers as $key => $layer) {
                     if (isset($layer["image_url"])) {
                         //import if exists in zip folder
                         if (trim($layer["image_url"]) !== '') {
                             if (strpos($layer["image_url"], 'http') !== false) {
                             } else {
                                 if ($importZip === true) {
                                     //we have a zip, check if exists
                                     $image_url = $zip->getStream('images/' . $layer["image_url"]);
                                     if (!$image_url) {
                                         echo $layer["image_url"] . __(' not found!<br>');
                                     } else {
                                         if (!isset($alreadyImported['zip://' . $filepath . "#" . 'images/' . $layer["image_url"]])) {
                                             $importImage = RevSliderFunctionsWP::import_media('zip://' . $filepath . "#" . 'images/' . $layer["image_url"], $sliderParams["alias"] . '/');
                                             if ($importImage !== false) {
                                                 $alreadyImported['zip://' . $filepath . "#" . 'images/' . $layer["image_url"]] = $importImage['path'];
                                                 $layer["image_url"] = $importImage['path'];
                                             }
                                         } else {
                                             $layer["image_url"] = $alreadyImported['zip://' . $filepath . "#" . 'images/' . $layer["image_url"]];
                                         }
                                     }
                                 }
                             }
                         }
                         $layer["image_url"] = RevSliderFunctionsWP::getImageUrlFromPath($layer["image_url"]);
                         $layer['text'] = stripslashes($layer['text']);
                     }
                     if (isset($layer['layer_action'])) {
                         if (isset($layer['layer_action']->jump_to_slide) && !empty($layer['layer_action']->jump_to_slide)) {
                             foreach ($layer['layer_action']->jump_to_slide as $jtsk => $jtsval) {
                                 if (isset($slider_map[$jtsval])) {
                                     $layer['layer_action']->jump_to_slide[$jtsk] = $slider_map[$jtsval];
                                 }
                             }
                         }
                     }
                     $link_slide = RevSliderFunctions::getVal($value, 'link_slide', false);
                     if ($link_slide != false && $link_slide !== 'nothing') {
                         //link to slide/scrollunder is set, move it to actions
                         if (!isset($layer['layer_action'])) {
                             $layer['layer_action'] = new stdClass();
                         }
                         switch ($link_slide) {
                             case 'link':
                                 $link = RevSliderFunctions::getVal($value, 'link');
                                 $link_open_in = RevSliderFunctions::getVal($value, 'link_open_in');
                                 $layer['layer_action']->action = array('a' => 'link');
                                 $layer['layer_action']->link_type = array('a' => 'a');
                                 $layer['layer_action']->image_link = array('a' => $link);
                                 $layer['layer_action']->link_open_in = array('a' => $link_open_in);
                                 unset($layer['link']);
                                 unset($layer['link_open_in']);
                             case 'next':
                                 $layer['layer_action']->action = array('a' => 'next');
                                 break;
                             case 'prev':
                                 $layer['layer_action']->action = array('a' => 'prev');
                                 break;
                             case 'scroll_under':
                                 $scrollunder_offset = RevSliderFunctions::getVal($value, 'scrollunder_offset');
                                 $layer['layer_action']->action = array('a' => 'scroll_under');
                                 $layer['layer_action']->scrollunder_offset = array('a' => $scrollunder_offset);
                                 unset($layer['scrollunder_offset']);
                                 break;
                             default:
                                 //its an ID, so its a slide ID
                                 $layer['layer_action']->action = array('a' => 'jumpto');
                                 $layer['layer_action']->jump_to_slide = array('a' => $slider_map[$link_slide]);
                                 break;
                         }
                         $layer['layer_action']->tooltip_event = array('a' => 'click');
                         unset($layer['link_slide']);
                         $did_change = true;
                     }
                     $layers[$key] = $layer;
                 }
                 //create new slide
                 $arrCreate = array();
                 $arrCreate["slider_id"] = $sliderID;
                 $my_layers = json_encode($layers);
                 if (empty($my_layers)) {
                     $my_layers = stripslashes(json_encode($layers));
                 }
                 $my_params = json_encode($params);
                 if (empty($my_params)) {
                     $my_params = stripslashes(json_encode($params));
                 }
                 $my_settings = json_encode($settings);
                 if (empty($my_settings)) {
                     $my_settings = stripslashes(json_encode($settings));
                 }
                 $arrCreate["layers"] = $my_layers;
                 $arrCreate["params"] = $my_params;
                 $arrCreate["settings"] = $my_settings;
                 if ($sliderExists) {
                     unset($arrCreate["slider_id"]);
                     $this->db->update(RevSliderGlobals::$table_static_slides, $arrCreate, array("slider_id" => $sliderID));
                 } else {
                     $this->db->insert(RevSliderGlobals::$table_static_slides, $arrCreate);
                 }
             }
         }
         $c_slider = new RevSliderSlider();
         $c_slider->initByID($sliderID);
         //check to convert styles to latest versions
         RevSliderPluginUpdate::update_css_styles();
         //set to version 5
         RevSliderPluginUpdate::add_animation_settings_to_layer($c_slider);
         //set to version 5
         RevSliderPluginUpdate::add_style_settings_to_layer($c_slider);
         //set to version 5
         RevSliderPluginUpdate::change_settings_on_layers($c_slider);
         //set to version 5
         RevSliderPluginUpdate::add_general_settings($c_slider);
         //set to version 5
         $cus_js = $c_slider->getParam('custom_javascript', '');
         if (strpos($cus_js, 'revapi') !== false) {
             if (preg_match_all('/revapi[0-9]*./', $cus_js, $results)) {
                 if (isset($results[0]) && !empty($results[0])) {
                     foreach ($results[0] as $replace) {
                         $cus_js = str_replace($replace, 'revapi' . $sliderID . '.', $cus_js);
                     }
                 }
                 $c_slider->updateParam(array('custom_javascript' => $cus_js));
             }
         }
         if ($is_template !== false) {
             //duplicate the slider now, as we just imported the "template"
             if ($single_slide !== false) {
                 //add now one Slide to the current Slider
                 $mslider = new RevSlider();
                 //change slide_id to correct, as it currently is just a number beginning from 0 as we did not have a correct slide ID yet.
                 $i = 0;
                 $changed = false;
                 foreach ($slider_map as $value) {
                     if ($i == $single_slide['slide_id']) {
                         $single_slide['slide_id'] = $value;
                         $changed = true;
                         break;
                     }
                     $i++;
                 }
                 if ($changed) {
                     $return = $mslider->copySlideToSlider($single_slide);
                 } else {
                     return array("success" => false, "error" => __('could not find correct Slide to copy, please try again.', REVSLIDER_TEXTDOMAIN), "sliderID" => $sliderID);
                 }
             } else {
                 $mslider = new RevSlider();
                 $title = RevSliderFunctions::getVal($sliderParams, 'title', 'slider1');
                 $talias = $title;
                 $ti = 1;
                 while ($this->isAliasExistsInDB($talias)) {
                     //set a new alias and title if its existing in database
                     $talias = $title . $ti;
                     $ti++;
                 }
                 $mslider->duplicateSliderFromData(array('sliderid' => $sliderID, 'title' => $talias));
             }
         }
     } catch (Exception $e) {
         $errorMessage = $e->getMessage();
         return array("success" => false, "error" => $errorMessage, "sliderID" => $sliderID);
     }
     return array("success" => true, "sliderID" => $sliderID);
 }
Example #22
0
    /**
     * add notices from ThemePunch
     * @since: 4.6.8
     */
    public function add_notices()
    {
        $operations = new RevSliderOperations();
        $general_settings = $operations->getGeneralSettingsValues();
        //check permissions here
        if (!current_user_can('administrator')) {
            return true;
        }
        $enable_newschannel = RevSliderBase::getVar($general_settings, 'enable_newschannel', 'on');
        $enable_newschannel = apply_filters('revslider_set_notifications', $enable_newschannel);
        if ($enable_newschannel == 'on') {
            $nonce = wp_create_nonce("revslider_actions");
            $notices = get_option('revslider-notices', false);
            if (!empty($notices) && is_array($notices)) {
                global $revslider_screens;
                $notices_discarded = get_option('revslider-notices-dc', array());
                $screen = get_current_screen();
                foreach ($notices as $notice) {
                    if ($notice->is_global !== true && !in_array($screen->id, $revslider_screens)) {
                        continue;
                    }
                    //check if global or just on plugin related pages
                    if (!in_array($notice->code, $notices_discarded) && version_compare($notice->version, GlobalsRevSlider::SLIDER_REVISION, '>=')) {
                        $text = '<div style="text-align:right;vertical-align:middle;display:table-cell; min-width:225px;border-left:1px solid #ddd; padding-left:15px;"><a href="javascript:void(0);"  class="rs-notices-button rs-notice-' . esc_attr($notice->code) . '">' . __('Close & don\'t show again<b>X</b>', 'revslider') . '</a></div>';
                        if ($notice->disable == true) {
                            $text = '';
                        }
                        ?>
								<style>
							.rs-notices-button			{	color:#999; text-decoration: none !important; font-size:14px;font-weight: 400;}
							.rs-notices-button:hover 	{	color:#3498DB !important;}

							.rs-notices-button b 		{	font-weight:800; vertical-align:bottom;line-height:15px;font-size:10px;margin-left:10px;margin-right:10px;border:2px solid #999; display:inline-block; width:15px;height:15px; text-align: center; border-radius: 50%; -webkit-border-radius: 50%; -moz-border-radius: 50%;}
							.rs-notices-button:hover b  { 	border-color:#3498DB;}
							</style>
							<div class="<?php 
                        echo $notice->color;
                        ?>
 below-h2 rs-update-notice-wrap" id="message" style="clear:both;display: block;position:relative;margin:35px 20px 25px 0px"><div style="display:table;width:100%;"><div style="vertical-align:middle;display:table-cell;min-width:100%;padding-right:15px;"><?php 
                        echo $notice->text;
                        ?>
</div><?php 
                        echo $text;
                        ?>
</div></div>

							<?php 
                    }
                }
                ?>
				<script type="text/javascript">
					jQuery('.rs-notices-button').click(function(){
						
						var notice_id = jQuery(this).attr('class').replace('rs-notices-button', '').replace('rs-notice-', '');
						
						var objData = {
										action:"revslider_ajax_action",
										client_action: 'dismiss_dynamic_notice',
										nonce:'<?php 
                echo $nonce;
                ?>
',
										data:{'id':notice_id}
										};

						jQuery.ajax({
							type:"post",
							url:ajaxurl,
							dataType: 'json',
							data:objData
						});

						jQuery(this).closest('.rs-update-notice-wrap').slideUp(200);
					});
				</script>
				<?php 
            }
        }
    }
Example #23
0
    /**
     * output markup for template
     * @since: 5.0
     */
    public function write_template_markup($template, $slider_id = false)
    {
        $params = $template['params'];
        $settings = $template['settings'];
        $slide_id = $template['id'];
        if ($slider_id !== false) {
            $title = '';
        }
        //remove Title if Slider
        $width = RevSliderBase::getVar($settings, "width", 1240);
        $height = RevSliderBase::getVar($settings, "height", 868);
        $bgType = RevSliderBase::getVar($params, "background_type", "transparent");
        $bgColor = RevSliderBase::getVar($params, "slide_bg_color", "transparent");
        $bgFit = RevSliderBase::getVar($params, "bg_fit", "cover");
        $bgFitX = intval(RevSliderBase::getVar($params, "bg_fit_x", "100"));
        $bgFitY = intval(RevSliderBase::getVar($params, "bg_fit_y", "100"));
        $bgPosition = RevSliderBase::getVar($params, "bg_position", "center center");
        $bgPositionX = intval(RevSliderBase::getVar($params, "bg_position_x", "0"));
        $bgPositionY = intval(RevSliderBase::getVar($params, "bg_position_y", "0"));
        $bgRepeat = RevSliderBase::getVar($params, "bg_repeat", "no-repeat");
        $bgStyle = ' ';
        if ($bgFit == 'percentage') {
            if (intval($bgFitY) == 0 || intval($bgFitX) == 0) {
                $bgStyle .= "background-size: cover;";
            } else {
                $bgStyle .= "background-size: " . $bgFitX . '% ' . $bgFitY . '%;';
            }
        } else {
            $bgStyle .= "background-size: " . $bgFit . ";";
        }
        if ($bgPosition == 'percentage') {
            $bgStyle .= "background-position: " . $bgPositionX . '% ' . $bgPositionY . '%;';
        } else {
            $bgStyle .= "background-position: " . $bgPosition . ";";
        }
        $bgStyle .= "background-repeat: " . $bgRepeat . ";";
        if (isset($template['img'])) {
            $thumb = $this->_check_file_path($template['img'], true);
        } else {
            $imageID = RevSliderBase::getVar($params, "image_id");
            if (empty($imageID)) {
                $thumb = RevSliderBase::getVar($params, "image");
                $imgID = RevSliderBase::get_image_id_by_url($thumb);
                if ($imgID !== false) {
                    $thumb = RevSliderFunctionsWP::getUrlAttachmentImage($imgID, RevSliderFunctionsWP::THUMB_MEDIUM);
                }
            } else {
                $thumb = RevSliderFunctionsWP::getUrlAttachmentImage($imageID, RevSliderFunctionsWP::THUMB_MEDIUM);
            }
            if ($thumb == '') {
                $thumb = RevSliderBase::getVar($params, "image");
            }
        }
        $bg_fullstyle = '';
        $bg_extraClass = '';
        $data_urlImageForView = '';
        if (isset($template['img'])) {
            $data_urlImageForView = 'data-src="' . $thumb . '"';
        } else {
            if ($bgType == 'image' || $bgType == 'vimeo' || $bgType == 'youtube' || $bgType == 'html5') {
                $data_urlImageForView = 'data-src="' . $thumb . '"';
                $bg_fullstyle = ' style="' . $bgStyle . '" ';
            }
            if ($bgType == "solid") {
                $bg_fullstyle = ' style="background-color:' . $bgColor . ';" ';
            }
            if ($bgType == "trans" || $bgType == "transparent") {
                $bg_extraClass = 'mini-transparent';
            }
        }
        ?>
		<div class="template_slide_single_element" style="display:inline-block">
			<div <?php 
        echo $data_urlImageForView;
        ?>
 class="<?php 
        echo $slider_id !== false ? 'template_slider_item' : 'template_item';
        ?>
 <?php 
        echo $bg_extraClass;
        ?>
" <?php 
        echo $bg_fullstyle;
        ?>
				data-gridwidth="<?php 
        echo $width;
        ?>
"
				data-gridheight="<?php 
        echo $height;
        ?>
"
				<?php 
        if ($slider_id !== false) {
            ?>
				data-sliderid="<?php 
            echo $slider_id;
            ?>
"
				<?php 
        } else {
            ?>
				data-slideid="<?php 
            echo $slide_id;
            ?>
"
				<?php 
        }
        ?>
				>																					
			</div>
			<div class="template_thumb_overview"></div>
			<div class="template_preview_add_wrapper">
				<?php 
        if (isset($template['preview']) && $template['preview'] !== '') {
            ?>
				<a class="preview_template_slider" href="<?php 
            echo esc_attr($template['preview']);
            ?>
" target="_blank"><i class="eg-icon-search"></i></a>
				<?php 
        }
        ?>
				<span data-sliderid="<?php 
        echo $slider_id;
        ?>
" data-slideid="<?php 
        echo $slide_id;
        ?>
" class="show_more_template_slider <?php 
        if (isset($template["user_template"])) {
            echo 'add_user_template_slide_item';
        }
        ?>
"><i class="eg-icon-plus"></i></span>

			</div>
			<?php 
        if ($slider_id == false) {
            ?>
				
			<?php 
        }
        ?>

		</div>
		<?php 
        if (isset($template["user_template"])) {
            // USER TEMPLATE, CAN BE IGNORED
        } else {
            ?>
			<div class="template_thumb_more">
				<?php 
            if (isset($template['title'])) {
                ?>
	
					<span class="ttm_label"><?php 
                echo $template['title'];
                ?>
</span>
					<?php 
                if (isset($template['description'])) {
                    echo $template['description'];
                }
            }
            ?>
				<?php 
            if (isset($template['setup_notes']) && !empty($template['setup_notes'])) {
                ?>
					<span class="ttm_label"><?php 
                _e('Setup Notes', 'revslider');
                ?>
</span>
					<?php 
                echo $template['setup_notes'];
                ?>
					<span class="ttm_space"></span>				
					<?php 
            }
            ?>
				<span class="ttm_label"><?php 
            _e('Requirements', 'revslider');
            ?>
</span>
				<ul class="ttm_requirements">
					<?php 
            $allow_install = true;
            if (isset($template['required'])) {
                ?>
						<li><?php 
                if (version_compare(RevSliderGlobals::SLIDER_REVISION, $template['required'], '>=')) {
                    ?>
<i class="eg-icon-check"></i><?php 
                } else {
                    ?>
<i class="eg-icon-cancel"></i><?php 
                    $allow_install = false;
                }
                _e('Slider Revolution Version', 'revslider');
                echo ' ' . $template['required'];
                ?>
</li>					
						<?php 
            }
            if (isset($template['plugin_require']) && !empty($template['plugin_require'])) {
                foreach ($template['plugin_require'] as $pk => $pr) {
                    if ($pr['installed'] === true) {
                        $pr_icon = '<i class="eg-icon-check"></i>';
                    } else {
                        $pr_icon = '<i class="eg-icon-cancel"></i>';
                        $allow_install = false;
                    }
                    echo '<li>';
                    echo $pr_icon;
                    //echo the icon
                    if (isset($pr['url'])) {
                        echo '<a href="' . esc_attr($pr['url']) . '" target="_blank">';
                    }
                    echo $pr['name'];
                    if (isset($pr['url'])) {
                        echo '</a>';
                    }
                    echo '</li>';
                }
            }
            //allow / disallow download
            ?>
				</ul>		
				<?php 
            if (isset($template['version'])) {
                ?>
					<span class="ttm_space"></span>
					<span class="ttm_label_direct"><span class="ttm_label_half"><?php 
                _e('Installed Vers.', 'revslider');
                ?>
</span><span class="ttm_label_half"><?php 
                _e('Available Vers.', 'revslider');
                ?>
</span></span>
					<span class="ttm_label_half ttm_insalled"><?php 
                echo isset($template['current_version']) ? $template['current_version'] : 'N/A';
                ?>
</span><span class="ttm_label_half ttm_available"><?php 
                echo $template['version'];
                ?>
</span>	
					<?php 
            }
            ?>
				<span class="ttm_space"></span>		
				<?php 
            if ($allow_install !== false) {
                if ($slider_id !== false) {
                    ?>
								
						<div class="install_template_slider" data-zipname="<?php 
                    echo $template['zip'];
                    ?>
" data-uid="<?php 
                    echo $template['uid'];
                    ?>
"><i class="eg-icon-download"></i><?php 
                    _e('Re-Install Slider', 'revslider');
                    ?>
</div>							
						<span class="tp-clearfix" style="margin-bottom:5px"></span>
						<?php 
                    if (isset($template['package']) && $template['package'] !== '') {
                        $txt = $template['package_full_installded'] ? __('Re-Install Slider Pack', 'revslider') : __('Install Slider Pack', 'revslider');
                        ?>
							<div class="install_template_slider_package" data-zipname="<?php 
                        echo $template['zip'];
                        ?>
" data-uid="<?php 
                        echo $template['uid'];
                        ?>
"><i class="eg-icon-download"></i><?php 
                        echo $txt;
                        ?>
</div>							
							<span class="tp-clearfix" style="margin-bottom:5px"></span>
							<?php 
                    }
                }
                ?>
	 
					<?php 
                if ($slider_id !== false) {
                    ?>
						<div class="add_template_slider_item" data-sliderid="<?php 
                    echo $slider_id;
                    ?>
">
						<?php 
                } else {
                    ?>
						<div class="add_template_slide_item" data-slideid="<?php 
                    echo $slide_id;
                    ?>
">
						<?php 
                }
                ?>
					<i class="eg-icon-plus"></i><?php 
                if ($slider_id == false) {
                    echo __('Add Slide', 'revslider');
                } else {
                    echo __('Add Slider', 'revslider');
                }
                ?>
</div>	
					<?php 
                if ($slider_id !== false && isset($template['package']) && $template['package'] !== '' && $template['package_full_installded']) {
                    ?>
						<div class="add_template_slider_item_package" data-uid="<?php 
                    echo $template['uid'];
                    ?>
"><i class="eg-icon-plus"></i><?php 
                    echo __('Add Slider Pack', 'revslider');
                    ?>
</div>
						<?php 
                }
            } else {
                ?>
					<div class="dontadd_template_slider_item"><i class="icon-not-registered"></i><?php 
                _e('Requirements not met', 'revslider');
                ?>
</div>
					<?php 
            }
            ?>
			</div>		
			<?php 
        }
    }
Example #24
0
<?php

/**
 * @package   Revolution Slider
 * @author    ThemePunch <*****@*****.**>
 * @link      http://www.revolution.themepunch.com/
 * @copyright 2015 ThemePunch
 */
if (!defined('ABSPATH')) {
    exit;
}
$nav = new RevSliderNavigation();
$navigation = intval(RevSliderBase::getGetVar('navigation', 0));
$navigs = $nav->get_all_navigations();
$rsopr = new RevSliderOperations();
$font_families = $rsopr->getArrFontFamilys();
?>
<div class='wrap'>
	<div class="clear_both"></div>

	<div class="title_line nobgnopd" style="margin-bottom: 20px !important;">
		<div class="icon32" id="icon-options-general"></div>
		<div class="view_title">
			<?php 
_e('Navigation Editor', REVSLIDER_TEXTDOMAIN);
?>
		</div>
	</div>
	
	<div class="setting_box navig" style="margin-bottom: 20px;">
		<h3><span class="setting-step-number">1</span><span style="max-width: 400px;"><?php 
Example #25
0
    /**
     * output markup for template
     * @since: 5.0
     */
    public function write_template_markup($template, $slider_id = false)
    {
        $params = $template['params'];
        $settings = $template['settings'];
        $slide_id = $template['id'];
        $title = str_replace("'", "", RevSliderBase::getVar($params, 'title', 'Slide'));
        if ($slider_id !== false) {
            $title = '';
        }
        //remove Title if Slider
        $width = RevSliderBase::getVar($settings, "width", 1240);
        $height = RevSliderBase::getVar($settings, "height", 868);
        $bgType = RevSliderBase::getVar($params, "background_type", "transparent");
        $bgColor = RevSliderBase::getVar($params, "slide_bg_color", "transparent");
        $bgFit = RevSliderBase::getVar($params, "bg_fit", "cover");
        $bgFitX = intval(RevSliderBase::getVar($params, "bg_fit_x", "100"));
        $bgFitY = intval(RevSliderBase::getVar($params, "bg_fit_y", "100"));
        $bgPosition = RevSliderBase::getVar($params, "bg_position", "center center");
        $bgPositionX = intval(RevSliderBase::getVar($params, "bg_position_x", "0"));
        $bgPositionY = intval(RevSliderBase::getVar($params, "bg_position_y", "0"));
        $bgRepeat = RevSliderBase::getVar($params, "bg_repeat", "no-repeat");
        $bgStyle = ' ';
        if ($bgFit == 'percentage') {
            if (intval($bgFitY) == 0 || intval($bgFitX) == 0) {
                $bgStyle .= "background-size: cover;";
            } else {
                $bgStyle .= "background-size: " . $bgFitX . '% ' . $bgFitY . '%;';
            }
        } else {
            $bgStyle .= "background-size: " . $bgFit . ";";
        }
        if ($bgPosition == 'percentage') {
            $bgStyle .= "background-position: " . $bgPositionX . '% ' . $bgPositionY . '%;';
        } else {
            $bgStyle .= "background-position: " . $bgPosition . ";";
        }
        $bgStyle .= "background-repeat: " . $bgRepeat . ";";
        if (isset($template['img'])) {
            $thumb = $this->_check_file_path($template['img'], true);
        } else {
            $imageID = RevSliderBase::getVar($params, "image_id");
            if (empty($imageID)) {
                $thumb = RevSliderBase::getVar($params, "image");
                $imgID = RevSliderBase::get_image_id_by_url($thumb);
                if ($imgID !== false) {
                    $thumb = RevSliderFunctionsWP::getUrlAttachmentImage($imgID, RevSliderFunctionsWP::THUMB_MEDIUM);
                }
            } else {
                $thumb = RevSliderFunctionsWP::getUrlAttachmentImage($imageID, RevSliderFunctionsWP::THUMB_MEDIUM);
            }
            if ($thumb == '') {
                $thumb = RevSliderBase::getVar($params, "image");
            }
        }
        $bg_fullstyle = '';
        $bg_extraClass = '';
        $data_urlImageForView = '';
        if (isset($template['img'])) {
            $data_urlImageForView = 'data-src="' . $thumb . '"';
        } else {
            if ($bgType == 'image' || $bgType == 'vimeo' || $bgType == 'youtube' || $bgType == 'html5') {
                $data_urlImageForView = 'data-src="' . $thumb . '"';
                $bg_fullstyle = ' style="' . $bgStyle . '" ';
            }
            if ($bgType == "solid") {
                $bg_fullstyle = ' style="background-color:' . $bgColor . ';" ';
            }
            if ($bgType == "trans" || $bgType == "transparent") {
                $bg_extraClass = 'mini-transparent';
            }
        }
        ?>
		<div class="template_slide_single_element" style="display:inline-block">
			<div <?php 
        echo $data_urlImageForView;
        ?>
 class="<?php 
        echo $slider_id !== false ? 'template_slider_item' : 'template_item';
        ?>
 <?php 
        echo $bg_extraClass;
        ?>
" <?php 
        echo $bg_fullstyle;
        ?>
				data-gridwidth="<?php 
        echo $width;
        ?>
"
				data-gridheight="<?php 
        echo $height;
        ?>
"
				<?php 
        if ($slider_id !== false) {
            ?>
				data-sliderid="<?php 
            echo $slider_id;
            ?>
"
				<?php 
        } else {
            ?>
				data-slideid="<?php 
            echo $slide_id;
            ?>
"
				<?php 
        }
        ?>
				>
				
				<div class="not-imported-overlay"></div>			
				<div style="position:absolute;top:10px;right:10px;width:35px;text-align:right;z-index:2"><div class="icon-add_slider"></div></div>
				
			</div>
			<div style="position:absolute;top:10px;right:50px;width:35px;text-align:right;z-index:2">				
					<?php 
        if (isset($template['preview']) && $template['preview'] !== '') {
            ?>
					<a class="icon-preview_slider" href="<?php 
            echo esc_attr($template['preview']);
            ?>
" target="_blank"></a>
					<?php 
        }
        ?>
				</div>
			<?php 
        if ($slider_id == false) {
            ?>
				<div class="template_title"><?php 
            echo $title;
            ?>
</div>
			<?php 
        }
        ?>

		</div>
		<?php 
    }