/** * * 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; } }
/** * 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; }
/** * * 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'); }
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); }
<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>'; }
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; ?>
/** * 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 }
?> </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; ?>
/** * * 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); }
/** * 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&enablejsapi=1&html5=1&' . $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">
/** * * main constructor */ public function __construct($t) { parent::__construct($t); add_action('wp_enqueue_scripts', array('RevSliderFront', 'onAddScripts')); }
$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">
<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>');
/** * 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); }
/** * 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 } } }
/** * 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 } }
<?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
/** * 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 }