Example #1
0
 /**
  * 
  * get meta query for filtering woocommerce posts. 
  */
 public static function getMetaQuery($args)
 {
     $regPriceFrom = RevSliderFunctions::getVal($args, self::ARG_REGULAR_PRICE_FROM);
     $regPriceTo = RevSliderFunctions::getVal($args, self::ARG_REGULAR_PRICE_TO);
     $salePriceFrom = RevSliderFunctions::getVal($args, self::ARG_SALE_PRICE_FROM);
     $salePriceTo = RevSliderFunctions::getVal($args, self::ARG_SALE_PRICE_TO);
     $inStockOnly = RevSliderFunctions::getVal($args, self::ARG_IN_STOCK_ONLY);
     $featuredOnly = RevSliderFunctions::getVal($args, self::ARG_FEATURED_ONLY);
     $arrQueries = array();
     //get regular price array
     if (!empty($regPriceFrom) || !empty($regPriceTo)) {
         $arrQueries[] = self::getPriceQuery($regPriceFrom, $regPriceTo, self::META_REGULAR_PRICE);
     }
     //get sale price array
     if (!empty($salePriceFrom) || !empty($salePriceTo)) {
         $arrQueries[] = self::getPriceQuery($salePriceFrom, $salePriceTo, self::META_SALE_PRICE);
     }
     if ($inStockOnly == "on") {
         $query = array('key' => self::META_STOCK_STATUS, 'value' => "instock");
         $arrQueries[] = $query;
     }
     if ($featuredOnly == "on") {
         $query = array('key' => self::META_FEATURED, 'value' => "yes");
         $arrQueries[] = $query;
     }
     $query = array();
     if (!empty($arrQueries)) {
         $query = array("meta_query" => $arrQueries);
     }
     return $query;
 }
Example #2
0
 /**
  * 
  * delete rows
  */
 public function delete($table, $where)
 {
     global $wpdb;
     RevSliderFunctions::validateNotEmpty($table, "table name");
     RevSliderFunctions::validateNotEmpty($where, "where");
     $query = "delete from {$table} where {$where}";
     $wpdb->query($query);
     $this->checkForErrors("Delete query error");
 }
    /**
     * Add dialog for shortcode generator
     * @since: 5.1.1
     */
    public static function add_tiny_mce_shortcode_dialog()
    {
        $sld = new RevSlider();
        $sliders = $sld->getArrSliders();
        $shortcodes = '';
        ?>
		<div id="revslider-tiny-mce-dialog" tabindex="-1" action="" title="" style="display: none; ">
			<form id="revslider-tiny-mce-settings-form" action="">
				<!-- STEP 1 -->
				<div id="revslider-tiny-dialog-step-1">					
					<p class="revslider-quicktitle"></p>
					<div class="revslider-quick-inner-wrapper" style="padding-right:0px;padding-bottom:0px;">
						<select name="revslider-existing-slider" id="revslider-existing-slider">
							<option value="-1" selected="selected"><?php 
        _e('--- Choose Slider ---', 'revslider');
        ?>
</option>
							<?php 
        $sl = array();
        $sliders_info = array();
        if (!empty($sliders)) {
            foreach ($sliders as $slider) {
                $alias = $slider->getParam('alias', 'false');
                $title = $slider->getTitle();
                $type = $slider->getParam('source_type', 'gallery');
                $slider_type = $slider->getParam('slider-type', 'standard');
                $active_slide = $slider->getParam('hero_active', -1);
                $sliderID = $slider->getID();
                if ($type == 'gallery') {
                    $slides = $slider->getSlides();
                } elseif ($type == 'specific_posts') {
                    $slides = $slider->getSlidesFromPosts();
                }
                if (!empty($slides)) {
                    $sliders_info[$sliderID] = array();
                    foreach ($slides as $slide) {
                        $bg_extraClass = '';
                        $bg_fullstyle = '';
                        $urlImageForView = $slide->getThumbUrl();
                        $bgt = $slide->getParam('background_type', 'transparent');
                        if ($type == 'woocommerce') {
                        }
                        if ($bgt == 'image' || $bgt == 'streamvimeo' || $bgt == 'streamyoutube' || $bgt == 'streaminstagram') {
                            switch ($type) {
                                case 'posts':
                                    $urlImageForView = RS_PLUGIN_URL . 'public/assets/assets/sources/post.png';
                                    break;
                                case 'woocommerce':
                                    $urlImageForView = RS_PLUGIN_URL . 'public/assets/assets/sources/wc.png';
                                    break;
                                case 'facebook':
                                    $urlImageForView = RS_PLUGIN_URL . 'public/assets/assets/sources/fb.png';
                                    break;
                                case 'twitter':
                                    $urlImageForView = RS_PLUGIN_URL . 'public/assets/assets/sources/tw.png';
                                    break;
                                case 'instagram':
                                    $urlImageForView = RS_PLUGIN_URL . 'public/assets/assets/sources/ig.png';
                                    break;
                                case 'flickr':
                                    $urlImageForView = RS_PLUGIN_URL . 'public/assets/assets/sources/fr.png';
                                    break;
                                case 'youtube':
                                    $urlImageForView = RS_PLUGIN_URL . 'public/assets/assets/sources/yt.png';
                                    break;
                                case 'vimeo':
                                    $urlImageForView = RS_PLUGIN_URL . 'public/assets/assets/sources/vm.png';
                                    break;
                            }
                        }
                        if ($bgt == 'image' || $bgt == 'vimeo' || $bgt == 'youtube' || $bgt == 'html5' || $bgt == 'streamvimeo' || $bgt == 'streamyoutube' || $bgt == 'streaminstagram') {
                            $bg_style = ' ';
                            if ($slide->getParam('bg_fit', 'cover') == 'percentage') {
                                $bg_style .= "background-size: " . $slide->getParam('bg_fit_x', '100') . '% ' . $slide->getParam('bg_fit_y', '100') . '%;';
                            } else {
                                $bg_style .= "background-size: " . $slide->getParam('bg_fit', 'cover') . ";";
                            }
                            if ($slide->getParam('bg_position', 'center center') == 'percentage') {
                                $bg_style .= "background-position: " . intval($slide->getParam('bg_position_x', '0')) . '% ' . intval($slide->getParam('bg_position_y', '0')) . '%;';
                            } else {
                                $bg_style .= "background-position: " . $slide->getParam('bg_position', 'center center') . ";";
                            }
                            $bg_style .= "background-repeat: " . $slide->getParam('bg_repeat', 'no-repeat') . ";";
                            $bg_fullstyle = ' style="background-image:url(' . $urlImageForView . ');' . $bg_style . '" ';
                        }
                        if ($bgt == 'solid') {
                            $bg_fullstyle = ' style="background-color:' . $slide->getParam('slide_bg_color', 'transparent') . ';" ';
                        }
                        if ($bgt == 'trans') {
                            $bg_extraClass = 'mini-transparent';
                        }
                        if ($slide->getParam('thumb_for_admin', 'off') == "on") {
                            $bg_fullstyle = ' style="background-image:url(' . $slide->getParam('slide_thumb', '') . ');background-size:cover;background-position:center center" ';
                        }
                        $sliders_info[$sliderID][] = array('id' => $slide->getID(), 'slider_type' => $slider_type, 'title' => $slide->getTitle(), 'slidertitle' => $title, 'slideralias' => $alias, 'sliderid' => $sliderID, 'state' => $slide->getParam('state', 'published'), 'slide_thumb' => $slide->getParam('slide_thumb', ''), 'bg_fullstyle' => $bg_fullstyle, 'bg_extraClass' => $bg_extraClass, 'active_slide' => $active_slide);
                        if ($active_slide == -1) {
                            $active_slide = -99;
                        }
                        //do this so that we are hero, only the first slide will be active if no hero slide was yet set
                    }
                }
                $sl[$type][] = array('alias' => $alias, 'title' => $title, 'id' => $sliderID);
            }
            if (!empty($sl)) {
                foreach ($sl as $type => $slider) {
                    $mtype = $type == 'specific_posts' ? 'Specific Posts' : $type;
                    echo '<option disabled="disabled">--- ' . ucfirst(esc_attr($mtype)) . ' ---</option>';
                    foreach ($slider as $values) {
                        if ($values['alias'] != 'false') {
                            echo '<option data-sliderid="' . esc_attr($values['id']) . '" data-slidertype="' . esc_attr($type) . '" value="' . esc_attr($values['alias']) . '">' . esc_attr($values['title']) . '</option>' . "\n";
                        }
                    }
                }
            }
        }
        ?>
						</select>

						<ul id="rs-shortcode-select-wrapper">
							<li class="rs-slider-modify-li rs-slider-modify-new-slider">								
								<a href="<?php 
        echo RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDER);
        ?>
" target="_blank" class="button-primary revgreen" id="rs-create-predefined-slider"><span class="dashicons dashicons-plus"></span><span class="rs-slider-modify-title"><?php 
        _e('Create Slider', 'revslider');
        ?>
</span></a>
							</li>
							<?php 
        if (!empty($sliders_info)) {
            foreach ($sliders_info as $type => $slider) {
                foreach ($slider as $values) {
                    ?>
										<li id="slider_list_item_<?php 
                    echo $values['sliderid'];
                    ?>
" class="rs-slider-modify-li" data-sliderid="<?php 
                    echo esc_attr($values['sliderid']);
                    ?>
" data-slideralias="<?php 
                    echo esc_attr($values['slideralias']);
                    ?>
">
											<span class="mini-transparent mini-as-bg"></span>
											<div class="rs-slider-modify-container <?php 
                    echo $values['bg_extraClass'];
                    ?>
"  <?php 
                    echo $values['bg_fullstyle'];
                    ?>
></div>
											<i class="slide-link-forward eg-icon-forward"></i>

											<span class="rs-slider-modify-title">#<?php 
                    echo $values['sliderid'] . ' ' . $values['slidertitle'];
                    ?>
</span>
										</li>
										<?php 
                    break;
                }
            }
        }
        ?>
							
							<span style="clear:both;width:100%;display:block"></span>

						</ul>
						<span style="clear:both;width:100%;display:block"></span>
						<script type="text/javascript">
							var rev_sliders_info = jQuery.parseJSON(<?php 
        echo RevSliderFunctions::jsonEncodeForClientSide($sliders_info);
        ?>
);
						</script>
					</div>
					<div class="revslider-stepnavigator">
						<span class="revslider-currentstep"><strong><?php 
        _e('STEP 1', 'revslider');
        ?>
</strong><?php 
        _e('Select / Create Slider', 'revslider');
        ?>
</span>
						<span class="revslider-step-actions-wrapper">
							<a href="javascript:void(0);" class="button-primary nonclickable" id="rs-modify-predefined-slider"><span class="dashicons dashicons-admin-generic"></span><?php 
        _e('Quick Modify Slider', 'revslider');
        ?>
</a>
							<a href="javascript:void(0);" class="button-primary nonclickable" id="rs-add-predefined-slider"><span class="dashicons dashicons-migrate"></span><?php 
        _e('Add Selected Slider', 'revslider');
        ?>
</a>							
						</span>
						<span style="clear:both;width:100%;display:block"></span>
					</div>
				</div>
				
				<!-- STEP 1.5 -->
				<div id="revslider-tiny-dialog-step-1-5" style="display: none;">
					<p class="revslider-quicktitle"></p>
					<div id="revslider-tiny-settings-wrap" class="revslider-quick-inner-wrapper" style="padding-right:0px;padding-bottom:0px;">
							<ul class="rs-mod-slides-wrapper">
								
							</ul>
					</div>					
					<div class="revslider-stepnavigator"><span class="revslider-currentstep"><strong><?php 
        _e('STEP 2', 'revslider');
        ?>
</strong><?php 
        _e('Quick Modify / Add Slider', 'revslider');
        ?>
</span>
						<span class="revslider-step-actions-wrapper">
							<a href="javascript:void(0);" class="button-primary  rs-goto-step-1"><span class="dashicons dashicons-arrow-left-alt"></span><?php 
        _e('Select Slider', 'revslider');
        ?>
</a>
							<a href="javascript:void(0);" class="button-primary " id="revslider-add-custom-shortcode-modify"><span class="dashicons dashicons-migrate"></span><?php 
        _e('Add Selected Slider', 'revslider');
        ?>
</a>							
						</span>
					</div>
				</div>
			</form>
		</div>

		<script>
			jQuery("document").ready(function() {
				jQuery('body').on('click', '.slide-published.pubclickable', function(){
					var li = jQuery(this).closest('li');						
					li.find('.slide-published').removeClass("pubclickable");
					li.find('.slide-unpublished').addClass("pubclickable");
				});		
				jQuery('body').on('click', '.slide-unpublished.pubclickable', function(){
					var li = jQuery(this).closest('li');
					li.find('.slide-published').addClass("pubclickable");
					li.find('.slide-unpublished').removeClass("pubclickable");
				});
				
				jQuery('body').on('click', '.slide-hero-published.pubclickable', function(){
					var li = jQuery(this).closest('li');
					jQuery('.slide-link-published-wrapper').each(function(){
						jQuery(this).find('.slide-hero-published').addClass("pubclickable");
						jQuery(this).find('.slide-hero-unpublished').removeClass("pubclickable");
					});
					li.find('.slide-hero-published').removeClass("pubclickable");
					li.find('.slide-hero-unpublished').addClass("pubclickable");
				});		
				jQuery('body').on('click', '.slide-hero-unpublished.pubclickable', function(){
					var li = jQuery(this).closest('li');
					jQuery('.slide-link-published-wrapper').each(function(){
						jQuery(this).find('.slide-hero-published').addClass("pubclickable");
						jQuery(this).find('.slide-hero-unpublished').removeClass("pubclickable");
					});
					li.find('.slide-hero-published').addClass("pubclickable");
					//li.find('.slide-hero-unpublished').removeClass("pubclickable");
				});	
			});		
		</script>

		
		<script type="text/html" id="tmpl-rs-modify-slide-wrap">
			<li id="slidelist_item_{{ data.id }}" class="rs-slide-modify-li">
				<span class="mini-transparent mini-as-bg"></span>
				<div class="rs-slide-modify-container {{ data.bg_extraClass }}" {{{ data.bg_fullstyle }}}></div>
				<i class="slide-link-forward eg-icon-forward"></i>
				
				<span class="slide-link-published-wrapper">
					<# if(data.slider_type !== 'hero'){ #>
						<# if(data.state == 'published'){ #>
							<span class="slide-published" ></span>
							<span class="slide-unpublished pubclickable"></span>
						<# }else{ #>
							<span class="slide-unpublished"></span>
							<span class="slide-published pubclickable"></span>
						<# } #>
					<# }else{ #>
						<# if(data.active_slide == data.id || data.active_slide == -1){ #> <?php 
        /* || data.active_slide == -1 */
        ?>
							<span class="slide-hero-published"></span>
							<span class="slide-hero-unpublished pubclickable"></span>
						<# }else{ #>
							<span class="slide-hero-published pubclickable"></span>
							<span class="slide-hero-unpublished"></span>
						<# } #>
					<# } #>
				</span>
				<span class="rs-slide-modify-title">{{ data.title }}</span>
			</li>
		</script>
		<?php 
    }
Example #4
0
 /**
  * 
  * valdiate that wpml exists
  */
 private static function validateWpmlExists()
 {
     if (!self::isWpmlExists()) {
         RevSliderFunctions::throwError("The wpml plugin is not activated");
     }
 }
Example #5
0
 /**
  * add missing new style fields to the layers as all layers would be broken without this
  * @since 5.0
  */
 public static function add_style_settings_to_layer($sliders = false)
 {
     $sr = new RevSlider();
     $sl = new RevSliderSlide();
     $operations = new RevSliderOperations();
     if ($sliders === false) {
         //do it on all Sliders
         $sliders = $sr->getArrSliders(false);
     } else {
         $sliders = array($sliders);
     }
     $styles = $operations->getCaptionsContentArray();
     if (!empty($sliders) && is_array($sliders)) {
         foreach ($sliders as $slider) {
             $slides = $slider->getSlides();
             $staticID = $sl->getStaticSlideID($slider->getID());
             if ($staticID !== false) {
                 $msl = new RevSliderSlide();
                 if (strpos($staticID, 'static_') === false) {
                     $staticID = 'static_' . $slider->getID();
                 }
                 $msl->initByID($staticID);
                 if ($msl->getID() !== '') {
                     $slides = array_merge($slides, array($msl));
                 }
             }
             if (!empty($slides) && is_array($slides)) {
                 foreach ($slides as $slide) {
                     $layers = $slide->getLayers();
                     if (!empty($layers) && is_array($layers)) {
                         foreach ($layers as $lk => $layer) {
                             $static_styles = (array) RevSliderFunctions::getVal($layer, 'static_styles', array());
                             $def_val = (array) RevSliderFunctions::getVal($layer, 'deformation', array());
                             $defh_val = (array) RevSliderFunctions::getVal($layer, 'deformation-hover', array());
                             if (empty($def_val)) {
                                 //add parallax always!
                                 $def_val['parallax'] = RevSliderFunctions::getVal($layer, 'parallax_level', '-');
                                 $layers[$lk]['deformation'] = $def_val;
                                 //check for selected style in styles, then add all deformations to the layer
                                 $cur_style = RevSliderFunctions::getVal($layer, 'style', '');
                                 if (trim($cur_style) == '') {
                                     continue;
                                 }
                                 $wws = false;
                                 foreach ($styles as $style) {
                                     if ($style['handle'] == '.tp-caption.' . $cur_style) {
                                         $wws = $style;
                                         break;
                                     }
                                 }
                                 if ($wws == false) {
                                     continue;
                                 }
                                 $css_idle = '';
                                 $css_hover = '';
                                 $wws['params'] = (array) $wws['params'];
                                 $wws['hover'] = (array) $wws['hover'];
                                 $wws['advanced'] = (array) $wws['advanced'];
                                 if (isset($wws['params']['font-family'])) {
                                     $def_val['font-family'] = $wws['params']['font-family'];
                                 }
                                 if (isset($wws['params']['padding'])) {
                                     $raw_pad = $wws['params']['padding'];
                                     if (!is_array($raw_pad)) {
                                         $raw_pad = explode(' ', $raw_pad);
                                     }
                                     switch (count($raw_pad)) {
                                         case 1:
                                             $raw_pad = array($raw_pad[0], $raw_pad[0], $raw_pad[0], $raw_pad[0]);
                                             break;
                                         case 2:
                                             $raw_pad = array($raw_pad[0], $raw_pad[1], $raw_pad[0], $raw_pad[1]);
                                             break;
                                         case 3:
                                             $raw_pad = array($raw_pad[0], $raw_pad[1], $raw_pad[2], $raw_pad[1]);
                                             break;
                                     }
                                     $def_val['padding'] = $raw_pad;
                                 }
                                 if (isset($wws['params']['font-style'])) {
                                     $def_val['font-style'] = $wws['params']['font-style'];
                                 }
                                 if (isset($wws['params']['text-decoration'])) {
                                     $def_val['text-decoration'] = $wws['params']['text-decoration'];
                                 }
                                 if (isset($wws['params']['background-color'])) {
                                     if (RevSliderFunctions::isrgb($wws['params']['background-color'])) {
                                         $def_val['background-color'] = RevSliderFunctions::rgba2hex($wws['params']['background-color']);
                                     } else {
                                         $def_val['background-color'] = $wws['params']['background-color'];
                                     }
                                 }
                                 if (isset($wws['params']['background-transparency'])) {
                                     $def_val['background-transparency'] = $wws['params']['background-transparency'];
                                     if ($def_val['background-transparency'] > 1) {
                                         $def_val['background-transparency'] /= 100;
                                     }
                                 } else {
                                     if (isset($wws['params']['background-color'])) {
                                         $def_val['background-transparency'] = RevSliderFunctions::get_trans_from_rgba($wws['params']['background-color'], true);
                                     }
                                 }
                                 if (isset($wws['params']['border-color'])) {
                                     if (RevSliderFunctions::isrgb($wws['params']['border-color'])) {
                                         $def_val['border-color'] = RevSliderFunctions::rgba2hex($wws['params']['border-color']);
                                     } else {
                                         $def_val['border-color'] = $wws['params']['border-color'];
                                     }
                                 }
                                 if (isset($wws['params']['border-style'])) {
                                     $def_val['border-style'] = $wws['params']['border-style'];
                                 }
                                 if (isset($wws['params']['border-width'])) {
                                     $def_val['border-width'] = $wws['params']['border-width'];
                                 }
                                 if (isset($wws['params']['border-radius'])) {
                                     $raw_bor = $wws['params']['border-radius'];
                                     if (!is_array($raw_bor)) {
                                         $raw_bor = explode(' ', $raw_bor);
                                     }
                                     switch (count($raw_bor)) {
                                         case 1:
                                             $raw_bor = array($raw_bor[0], $raw_bor[0], $raw_bor[0], $raw_bor[0]);
                                             break;
                                         case 2:
                                             $raw_bor = array($raw_bor[0], $raw_bor[1], $raw_bor[0], $raw_bor[1]);
                                             break;
                                         case 3:
                                             $raw_bor = array($raw_bor[0], $raw_bor[1], $raw_bor[2], $raw_bor[1]);
                                             break;
                                     }
                                     $def_val['border-radius'] = $raw_bor;
                                 }
                                 if (isset($wws['params']['x'])) {
                                     $def_val['x'] = $wws['params']['x'];
                                 }
                                 if (isset($wws['params']['y'])) {
                                     $def_val['y'] = $wws['params']['y'];
                                 }
                                 if (isset($wws['params']['z'])) {
                                     $def_val['z'] = $wws['params']['z'];
                                 }
                                 if (isset($wws['params']['skewx'])) {
                                     $def_val['skewx'] = $wws['params']['skewx'];
                                 }
                                 if (isset($wws['params']['skewy'])) {
                                     $def_val['skewy'] = $wws['params']['skewy'];
                                 }
                                 if (isset($wws['params']['scalex'])) {
                                     $def_val['scalex'] = $wws['params']['scalex'];
                                 }
                                 if (isset($wws['params']['scaley'])) {
                                     $def_val['scaley'] = $wws['params']['scaley'];
                                 }
                                 if (isset($wws['params']['opacity'])) {
                                     $def_val['opacity'] = $wws['params']['opacity'];
                                 }
                                 if (isset($wws['params']['xrotate'])) {
                                     $def_val['xrotate'] = $wws['params']['xrotate'];
                                 }
                                 if (isset($wws['params']['yrotate'])) {
                                     $def_val['yrotate'] = $wws['params']['yrotate'];
                                 }
                                 if (isset($wws['params']['2d_rotation'])) {
                                     $def_val['2d_rotation'] = $wws['params']['2d_rotation'];
                                 }
                                 if (isset($wws['params']['2d_origin_x'])) {
                                     $def_val['2d_origin_x'] = $wws['params']['2d_origin_x'];
                                 }
                                 if (isset($wws['params']['2d_origin_y'])) {
                                     $def_val['2d_origin_y'] = $wws['params']['2d_origin_y'];
                                 }
                                 if (isset($wws['params']['pers'])) {
                                     $def_val['pers'] = $wws['params']['pers'];
                                 }
                                 if (isset($wws['params']['color'])) {
                                     if (RevSliderFunctions::isrgb($wws['params']['color'])) {
                                         $static_styles['color'] = RevSliderFunctions::rgba2hex($wws['params']['color']);
                                     } else {
                                         $static_styles['color'] = $wws['params']['color'];
                                     }
                                 }
                                 if (isset($wws['params']['font-weight'])) {
                                     $static_styles['font-weight'] = $wws['params']['font-weight'];
                                 }
                                 if (isset($wws['params']['font-size'])) {
                                     $static_styles['font-size'] = $wws['params']['font-size'];
                                 }
                                 if (isset($wws['params']['line-height'])) {
                                     $static_styles['line-height'] = $wws['params']['line-height'];
                                 }
                                 if (isset($wws['params']['font-family'])) {
                                     $static_styles['font-family'] = $wws['params']['font-family'];
                                 }
                                 if (isset($wws['advanced']) && isset($wws['advanced']['idle']) && is_array($wws['advanced']['idle']) && !empty($wws['advanced']['idle'])) {
                                     $css_idle = '{' . "\n";
                                     foreach ($wws['advanced']['idle'] as $handle => $value) {
                                         $value = implode(' ', $value);
                                         if ($value !== '') {
                                             $css_idle .= '	' . $key . ': ' . $value . ';' . "\n";
                                         }
                                     }
                                     $css_idle .= '}' . "\n";
                                 }
                                 if (isset($wws['hover']['color'])) {
                                     if (RevSliderFunctions::isrgb($wws['hover']['color'])) {
                                         $defh_val['color'] = RevSliderFunctions::rgba2hex($wws['hover']['color']);
                                     } else {
                                         $defh_val['color'] = $wws['hover']['color'];
                                     }
                                 }
                                 if (isset($wws['hover']['text-decoration'])) {
                                     $defh_val['text-decoration'] = $wws['hover']['text-decoration'];
                                 }
                                 if (isset($wws['hover']['background-color'])) {
                                     if (RevSliderFunctions::isrgb($wws['hover']['background-color'])) {
                                         $defh_val['background-color'] = RevSliderFunctions::rgba2hex($wws['hover']['background-color']);
                                     } else {
                                         $defh_val['background-color'] = $wws['hover']['background-color'];
                                     }
                                 }
                                 if (isset($wws['hover']['background-transparency'])) {
                                     $defh_val['background-transparency'] = $wws['hover']['background-transparency'];
                                     if ($defh_val['background-transparency'] > 1) {
                                         $defh_val['background-transparency'] /= 100;
                                     }
                                 } else {
                                     if (isset($wws['hover']['background-color'])) {
                                         $defh_val['background-transparency'] = RevSliderFunctions::get_trans_from_rgba($wws['hover']['background-color'], true);
                                     }
                                 }
                                 if (isset($wws['hover']['border-color'])) {
                                     if (RevSliderFunctions::isrgb($wws['hover']['border-color'])) {
                                         $defh_val['border-color'] = RevSliderFunctions::rgba2hex($wws['hover']['border-color']);
                                     } else {
                                         $defh_val['border-color'] = $wws['hover']['border-color'];
                                     }
                                 }
                                 if (isset($wws['hover']['border-style'])) {
                                     $defh_val['border-style'] = $wws['hover']['border-style'];
                                 }
                                 if (isset($wws['hover']['border-width'])) {
                                     $defh_val['border-width'] = $wws['hover']['border-width'];
                                 }
                                 if (isset($wws['hover']['border-radius'])) {
                                     $raw_bor = $wws['hover']['border-radius'];
                                     if (!is_array($raw_bor)) {
                                         $raw_bor = explode(' ', $raw_bor);
                                     }
                                     switch (count($raw_bor)) {
                                         case 1:
                                             $raw_bor = array($raw_bor[0], $raw_bor[0], $raw_bor[0], $raw_bor[0]);
                                             break;
                                         case 2:
                                             $raw_bor = array($raw_bor[0], $raw_bor[1], $raw_bor[0], $raw_bor[1]);
                                             break;
                                         case 3:
                                             $raw_bor = array($raw_bor[0], $raw_bor[1], $raw_bor[2], $raw_bor[1]);
                                             break;
                                     }
                                     $defh_val['border-radius'] = $raw_bor;
                                 }
                                 if (isset($wws['hover']['x'])) {
                                     $defh_val['x'] = $wws['hover']['x'];
                                 }
                                 if (isset($wws['hover']['y'])) {
                                     $defh_val['y'] = $wws['hover']['y'];
                                 }
                                 if (isset($wws['hover']['z'])) {
                                     $defh_val['z'] = $wws['hover']['z'];
                                 }
                                 if (isset($wws['hover']['skewx'])) {
                                     $defh_val['skewx'] = $wws['hover']['skewx'];
                                 }
                                 if (isset($wws['hover']['skewy'])) {
                                     $defh_val['skewy'] = $wws['hover']['skewy'];
                                 }
                                 if (isset($wws['hover']['scalex'])) {
                                     $defh_val['scalex'] = $wws['hover']['scalex'];
                                 }
                                 if (isset($wws['hover']['scaley'])) {
                                     $defh_val['scaley'] = $wws['hover']['scaley'];
                                 }
                                 if (isset($wws['hover']['opacity'])) {
                                     $defh_val['opacity'] = $wws['hover']['opacity'];
                                 }
                                 if (isset($wws['hover']['xrotate'])) {
                                     $defh_val['xrotate'] = $wws['hover']['xrotate'];
                                 }
                                 if (isset($wws['hover']['yrotate'])) {
                                     $defh_val['yrotate'] = $wws['hover']['yrotate'];
                                 }
                                 if (isset($wws['hover']['2d_rotation'])) {
                                     $defh_val['2d_rotation'] = $wws['hover']['2d_rotation'];
                                 }
                                 if (isset($wws['hover']['2d_origin_x'])) {
                                     $defh_val['2d_origin_x'] = $wws['hover']['2d_origin_x'];
                                 }
                                 if (isset($wws['hover']['2d_origin_y'])) {
                                     $defh_val['2d_origin_y'] = $wws['hover']['2d_origin_y'];
                                 }
                                 if (isset($wws['hover']['speed'])) {
                                     $defh_val['speed'] = $wws['hover']['speed'];
                                 }
                                 if (isset($wws['hover']['easing'])) {
                                     $defh_val['easing'] = $wws['hover']['easing'];
                                 }
                                 if (isset($wws['advanced']) && isset($wws['advanced']['hover']) && is_array($wws['advanced']['hover']) && !empty($wws['advanced']['hover'])) {
                                     $css_hover = '{' . "\n";
                                     foreach ($wws['advanced']['hover'] as $handle => $value) {
                                         $value = implode(' ', $value);
                                         if ($value !== '') {
                                             $css_hover .= '	' . $key . ': ' . $value . ';' . "\n";
                                         }
                                     }
                                     $css_hover .= '}' . "\n";
                                 }
                                 if (!isset($layers[$lk]['inline'])) {
                                     $layers[$lk]['inline'] = array();
                                 }
                                 if ($css_idle !== '') {
                                     $layers[$lk]['inline']['idle'] = $css_idle;
                                 }
                                 if ($css_hover !== '') {
                                     $layers[$lk]['inline']['idle'] = $css_hover;
                                 }
                                 $layers[$lk]['deformation'] = $def_val;
                                 $layers[$lk]['deformation-hover'] = $defh_val;
                                 $layers[$lk]['static_styles'] = $static_styles;
                             }
                         }
                         $slide->setLayersRaw($layers);
                         $slide->saveLayers();
                     }
                 }
             }
         }
     }
 }
Example #6
0
 /**
  *
  * put rev slider on the page.
  * the data can be slider ID or slider alias.
  */
 function putRevSlider($data, $putIn = "")
 {
     $operations = new RevSliderOperations();
     $arrValues = $operations->getGeneralSettingsValues();
     $includesGlobally = RevSliderFunctions::getVal($arrValues, "includes_globally", "on");
     $strPutIn = RevSliderFunctions::getVal($arrValues, "pages_for_includes");
     $isPutIn = RevSliderOutput::isPutIn($strPutIn, true);
     if ($isPutIn == false && $includesGlobally == "off") {
         $output = new RevSliderOutput();
         $option1Name = __("Include RevSlider libraries globally (all pages/posts)", 'revslider');
         $option2Name = __("Pages to include RevSlider libraries", 'revslider');
         $output->putErrorMessage(__("If you want to use the PHP function \"putRevSlider\" in your code please make sure to check \" ", 'revslider') . $option1Name . __(" \" in the backend's \"General Settings\" (top right panel). <br> <br> Or add the current page to the \"", 'revslider') . $option2Name . __("\" option box.", 'revslider'));
         return false;
     }
     ob_start();
     $slider = RevSliderOutput::putSlider($data, $putIn);
     $content = ob_get_contents();
     ob_clean();
     ob_end_clean();
     if (is_object($slider)) {
         $disable_on_mobile = @$slider->getParam("disable_on_mobile", "off");
         // Do not output Slider if we are on mobile
         if ($disable_on_mobile == 'on') {
             $mobile = strstr($_SERVER['HTTP_USER_AGENT'], 'Android') || strstr($_SERVER['HTTP_USER_AGENT'], 'webOS') || strstr($_SERVER['HTTP_USER_AGENT'], 'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'], 'iPod') || strstr($_SERVER['HTTP_USER_AGENT'], 'Windows Phone') || strstr($_SERVER['HTTP_USER_AGENT'], 'iPad') || wp_is_mobile() ? true : false;
             if ($mobile) {
                 return false;
             }
         }
     }
     echo $content;
 }
Example #7
0
 /**
  *
  * onAjax action handler
  */
 public static function onAjaxAction()
 {
     $slider = new RevSlider();
     $slide = new RevSlide();
     $operations = new RevSliderOperations();
     $action = self::getPostGetVar("client_action");
     $data = self::getPostGetVar("data");
     $nonce = self::getPostGetVar("nonce");
     if (empty($nonce)) {
         $nonce = self::getPostGetVar("rs-nonce");
     }
     try {
         //verify the nonce
         $isVerified = wp_verify_nonce($nonce, "revslider_actions");
         if ($isVerified == false) {
             RevSliderFunctions::throwError("Wrong request");
         }
         switch ($action) {
             case 'add_new_preset':
                 if (!isset($data['settings']) || !isset($data['values'])) {
                     self::ajaxResponseError(__('Missing values to add preset', 'revslider'), false);
                 }
                 $result = $operations->add_preset_setting($data);
                 if ($result === true) {
                     $presets = $operations->get_preset_settings();
                     self::ajaxResponseSuccess(__('Preset created', 'revslider'), array('data' => $presets));
                 } else {
                     self::ajaxResponseError($result, false);
                 }
                 exit;
                 break;
             case 'update_preset':
                 if (!isset($data['name']) || !isset($data['values'])) {
                     self::ajaxResponseError(__('Missing values to update preset', 'revslider'), false);
                 }
                 $result = $operations->update_preset_setting($data);
                 if ($result === true) {
                     $presets = $operations->get_preset_settings();
                     self::ajaxResponseSuccess(__('Preset created', 'revslider'), array('data' => $presets));
                 } else {
                     self::ajaxResponseError($result, false);
                 }
                 exit;
                 break;
             case 'remove_preset':
                 if (!isset($data['name'])) {
                     self::ajaxResponseError(__('Missing values to remove preset', 'revslider'), false);
                 }
                 $result = $operations->remove_preset_setting($data);
                 if ($result === true) {
                     $presets = $operations->get_preset_settings();
                     self::ajaxResponseSuccess(__('Preset deleted', 'revslider'), array('data' => $presets));
                 } else {
                     self::ajaxResponseError($result, false);
                 }
                 exit;
                 break;
             case "export_slider":
                 $sliderID = self::getGetVar("sliderid");
                 $dummy = self::getGetVar("dummy");
                 $slider->initByID($sliderID);
                 $slider->exportSlider($dummy);
                 break;
             case "import_slider":
                 $updateAnim = self::getPostGetVar("update_animations");
                 $updateNav = self::getPostGetVar("update_navigations");
                 $updateStatic = self::getPostGetVar("update_static_captions");
                 self::importSliderHandle(null, $updateAnim, $updateStatic, $updateNav);
                 break;
             case "import_slider_slidersview":
                 $viewBack = self::getViewUrl(self::VIEW_SLIDERS);
                 $updateAnim = self::getPostGetVar("update_animations");
                 $updateNav = self::getPostGetVar("update_navigations");
                 $updateStatic = self::getPostGetVar("update_static_captions");
                 self::importSliderHandle($viewBack, $updateAnim, $updateStatic, $updateNav);
                 break;
             case "import_slider_online_template_slidersview":
                 $viewBack = self::getViewUrl(self::VIEW_SLIDERS);
                 self::importSliderOnlineTemplateHandle($viewBack, 'true', 'none');
                 break;
             case "import_slide_online_template_slidersview":
                 $redirect_id = esc_attr(self::getPostGetVar("redirect_id"));
                 $viewBack = self::getViewUrl(self::VIEW_SLIDE, "id={$redirect_id}");
                 $slidenum = intval(self::getPostGetVar("slidenum"));
                 $sliderid = intval(self::getPostGetVar("slider_id"));
                 self::importSliderOnlineTemplateHandle($viewBack, 'true', 'none', array('slider_id' => $sliderid, 'slide_id' => $slidenum));
                 break;
             case "import_slider_template_slidersview":
                 $viewBack = self::getViewUrl(self::VIEW_SLIDERS);
                 $updateAnim = self::getPostGetVar("update_animations");
                 $updateStatic = self::getPostGetVar("update_static_captions");
                 self::importSliderTemplateHandle($viewBack, $updateAnim, $updateStatic);
                 break;
             case "import_slide_template_slidersview":
                 $redirect_id = esc_attr(self::getPostGetVar("redirect_id"));
                 $viewBack = self::getViewUrl(self::VIEW_SLIDE, "id={$redirect_id}");
                 $updateAnim = self::getPostGetVar("update_animations");
                 $updateStatic = self::getPostGetVar("update_static_captions");
                 $slidenum = intval(self::getPostGetVar("slidenum"));
                 $sliderid = intval(self::getPostGetVar("slider_id"));
                 self::importSliderTemplateHandle($viewBack, $updateAnim, $updateStatic, array('slider_id' => $sliderid, 'slide_id' => $slidenum));
                 break;
             case "create_slider":
                 $data = $operations->modifyCustomSliderParams($data);
                 $newSliderID = $slider->createSliderFromOptions($data);
                 self::ajaxResponseSuccessRedirect(__("Slider created", 'revslider'), self::getViewUrl(self::VIEW_SLIDE, 'id=new&slider=' . esc_attr($newSliderID)));
                 //redirect to slide now
                 break;
             case "update_slider":
                 $data = $operations->modifyCustomSliderParams($data);
                 $slider->updateSliderFromOptions($data);
                 self::ajaxResponseSuccess(__("Slider updated", 'revslider'));
                 break;
             case "delete_slider":
             case "delete_slider_stay":
                 $isDeleted = $slider->deleteSliderFromData($data);
                 if (is_array($isDeleted)) {
                     $isDeleted = implode(', ', $isDeleted);
                     self::ajaxResponseError(__("Template can't be deleted, it is still being used by the following Sliders: ", 'revslider') . $isDeleted);
                 } else {
                     if ($action == 'delete_slider_stay') {
                         self::ajaxResponseSuccess(__("Slider deleted", 'revslider'));
                     } else {
                         self::ajaxResponseSuccessRedirect(__("Slider deleted", 'revslider'), self::getViewUrl(self::VIEW_SLIDERS));
                     }
                 }
                 break;
             case "duplicate_slider":
                 $slider->duplicateSliderFromData($data);
                 self::ajaxResponseSuccessRedirect(__("Success! Refreshing page...", 'revslider'), self::getViewUrl(self::VIEW_SLIDERS));
                 break;
             case "add_slide":
             case "add_bulk_slide":
                 $numSlides = $slider->createSlideFromData($data);
                 $sliderID = $data["sliderid"];
                 if ($numSlides == 1) {
                     $responseText = __("Slide Created", 'revslider');
                 } else {
                     $responseText = $numSlides . " " . __("Slides Created", 'revslider');
                 }
                 $urlRedirect = self::getViewUrl(self::VIEW_SLIDE, "id=new&slider={$sliderID}");
                 self::ajaxResponseSuccessRedirect($responseText, $urlRedirect);
                 break;
             case "add_slide_fromslideview":
                 $slideID = $slider->createSlideFromData($data, true);
                 $urlRedirect = self::getViewUrl(self::VIEW_SLIDE, "id={$slideID}");
                 $responseText = __("Slide Created, redirecting...", 'revslider');
                 self::ajaxResponseSuccessRedirect($responseText, $urlRedirect);
                 break;
             case 'copy_slide_to_slider':
                 $slideID = isset($data['redirect_id']) ? $data['redirect_id'] : -1;
                 if ($slideID === -1) {
                     RevSliderFunctions::throwError(__('Missing redirect ID!', 'revslider'));
                 }
                 $return = $slider->copySlideToSlider($data);
                 if ($return !== true) {
                     RevSliderFunctions::throwError($return);
                 }
                 $urlRedirect = self::getViewUrl(self::VIEW_SLIDE, "id={$slideID}");
                 $responseText = __("Slide copied to current Slider, redirecting...", 'revslider');
                 self::ajaxResponseSuccessRedirect($responseText, $urlRedirect);
                 break;
             case "update_slide":
                 $slide->updateSlideFromData($data);
                 self::ajaxResponseSuccess(__("Slide updated", 'revslider'));
                 break;
             case "update_static_slide":
                 $slide->updateStaticSlideFromData($data);
                 self::ajaxResponseSuccess(__("Static Global Layers updated", 'revslider'));
                 break;
             case "delete_slide":
             case "delete_slide_stay":
                 $isPost = $slide->deleteSlideFromData($data);
                 if ($isPost) {
                     $message = __("Post deleted", 'revslider');
                 } else {
                     $message = __("Slide deleted", 'revslider');
                 }
                 $sliderID = RevSliderFunctions::getVal($data, "sliderID");
                 if ($action == 'delete_slide_stay') {
                     self::ajaxResponseSuccess($message);
                 } else {
                     self::ajaxResponseSuccessRedirect($message, self::getViewUrl(self::VIEW_SLIDE, "id=new&slider={$sliderID}"));
                 }
                 break;
             case "duplicate_slide":
             case "duplicate_slide_stay":
                 $return = $slider->duplicateSlideFromData($data);
                 if ($action == 'duplicate_slide_stay') {
                     self::ajaxResponseSuccess(__("Slide duplicated", 'revslider'), array('id' => $return[1]));
                 } else {
                     self::ajaxResponseSuccessRedirect(__("Slide duplicated", 'revslider'), self::getViewUrl(self::VIEW_SLIDE, "id=new&slider=" . $return[0]));
                 }
                 break;
             case "copy_move_slide":
             case "copy_move_slide_stay":
                 $sliderID = $slider->copyMoveSlideFromData($data);
                 if ($action == 'copy_move_slide_stay') {
                     self::ajaxResponseSuccess(__("Success!", 'revslider'));
                 } else {
                     self::ajaxResponseSuccessRedirect(__("Success! Refreshing page...", 'revslider'), self::getViewUrl(self::VIEW_SLIDE, "id=new&slider={$sliderID}"));
                 }
                 break;
             case "add_slide_to_template":
                 $template = new RevSliderTemplate();
                 if (!isset($data['slideID']) || intval($data['slideID']) == 0) {
                     RevSliderFunctions::throwError(__('No valid Slide ID given', 'revslider'));
                     exit;
                 }
                 if (!isset($data['title']) || strlen(trim($data['title'])) < 3) {
                     RevSliderFunctions::throwError(__('No valid title given', 'revslider'));
                     exit;
                 }
                 if (!isset($data['settings']) || !isset($data['settings']['width']) || !isset($data['settings']['height'])) {
                     RevSliderFunctions::throwError(__('No valid title given', 'revslider'));
                     exit;
                 }
                 $return = $template->copySlideToTemplates($data['slideID'], $data['title'], $data['settings']);
                 if ($return == false) {
                     RevSliderFunctions::throwError(__('Could not save Slide as Template', 'revslider'));
                     exit;
                 }
                 //get HTML for template section
                 ob_start();
                 $rs_disable_template_script = true;
                 //disable the script output of template selector file
                 include RS_PLUGIN_PATH . 'admin/views/templates/template-selector.php';
                 $html = ob_get_contents();
                 ob_clean();
                 ob_end_clean();
                 self::ajaxResponseSuccess(__('Slide added to Templates', 'revslider'), array('HTML' => $html));
                 exit;
                 break;
                 break;
             case "get_static_css":
                 $contentCSS = $operations->getStaticCss();
                 self::ajaxResponseData($contentCSS);
                 break;
             case "get_dynamic_css":
                 $contentCSS = $operations->getDynamicCss();
                 self::ajaxResponseData($contentCSS);
                 break;
             case "insert_captions_css":
                 $arrCaptions = $operations->insertCaptionsContentData($data);
                 if ($arrCaptions !== false) {
                     $db = new RevSliderDB();
                     $styles = $db->fetch(RevSliderGlobals::$table_css);
                     $styles = RevSliderCssParser::parseDbArrayToCss($styles, "\n");
                     $styles = RevSliderCssParser::compress_css($styles);
                     $custom_css = RevSliderOperations::getStaticCss();
                     $custom_css = RevSliderCssParser::compress_css($custom_css);
                     $arrCSS = $operations->getCaptionsContentArray();
                     $arrCssStyles = RevSliderFunctions::jsonEncodeForClientSide($arrCSS);
                     $arrCssStyles = $arrCSS;
                     self::ajaxResponseSuccess(__("CSS saved", 'revslider'), array("arrCaptions" => $arrCaptions, 'compressed_css' => $styles . $custom_css, 'initstyles' => $arrCssStyles));
                 }
                 RevSliderFunctions::throwError(__('CSS could not be saved', 'revslider'));
                 exit;
                 break;
             case "update_captions_css":
                 $arrCaptions = $operations->updateCaptionsContentData($data);
                 if ($arrCaptions !== false) {
                     $db = new RevSliderDB();
                     $styles = $db->fetch(RevSliderGlobals::$table_css);
                     $styles = RevSliderCssParser::parseDbArrayToCss($styles, "\n");
                     $styles = RevSliderCssParser::compress_css($styles);
                     $custom_css = RevSliderOperations::getStaticCss();
                     $custom_css = RevSliderCssParser::compress_css($custom_css);
                     $arrCSS = $operations->getCaptionsContentArray();
                     $arrCssStyles = RevSliderFunctions::jsonEncodeForClientSide($arrCSS);
                     $arrCssStyles = $arrCSS;
                     self::ajaxResponseSuccess(__("CSS saved", 'revslider'), array("arrCaptions" => $arrCaptions, 'compressed_css' => $styles . $custom_css, 'initstyles' => $arrCssStyles));
                 }
                 RevSliderFunctions::throwError(__('CSS could not be saved', 'revslider'));
                 exit;
                 break;
             case "update_captions_advanced_css":
                 $arrCaptions = $operations->updateAdvancedCssData($data);
                 if ($arrCaptions !== false) {
                     $db = new RevSliderDB();
                     $styles = $db->fetch(RevSliderGlobals::$table_css);
                     $styles = RevSliderCssParser::parseDbArrayToCss($styles, "\n");
                     $styles = RevSliderCssParser::compress_css($styles);
                     $custom_css = RevSliderOperations::getStaticCss();
                     $custom_css = RevSliderCssParser::compress_css($custom_css);
                     $arrCSS = $operations->getCaptionsContentArray();
                     $arrCssStyles = RevSliderFunctions::jsonEncodeForClientSide($arrCSS);
                     $arrCssStyles = $arrCSS;
                     self::ajaxResponseSuccess(__("CSS saved", 'revslider'), array("arrCaptions" => $arrCaptions, 'compressed_css' => $styles . $custom_css, 'initstyles' => $arrCssStyles));
                 }
                 RevSliderFunctions::throwError(__('CSS could not be saved', 'revslider'));
                 exit;
                 break;
             case "rename_captions_css":
                 //rename all captions in all sliders with new handle if success
                 $arrCaptions = $operations->renameCaption($data);
                 $db = new RevSliderDB();
                 $styles = $db->fetch(RevSliderGlobals::$table_css);
                 $styles = RevSliderCssParser::parseDbArrayToCss($styles, "\n");
                 $styles = RevSliderCssParser::compress_css($styles);
                 $custom_css = RevSliderOperations::getStaticCss();
                 $custom_css = RevSliderCssParser::compress_css($custom_css);
                 $arrCSS = $operations->getCaptionsContentArray();
                 $arrCssStyles = RevSliderFunctions::jsonEncodeForClientSide($arrCSS);
                 $arrCssStyles = $arrCSS;
                 self::ajaxResponseSuccess(__("Class name renamed", 'revslider'), array("arrCaptions" => $arrCaptions, 'compressed_css' => $styles . $custom_css, 'initstyles' => $arrCssStyles));
                 break;
             case "delete_captions_css":
                 $arrCaptions = $operations->deleteCaptionsContentData($data);
                 $db = new RevSliderDB();
                 $styles = $db->fetch(RevSliderGlobals::$table_css);
                 $styles = RevSliderCssParser::parseDbArrayToCss($styles, "\n");
                 $styles = RevSliderCssParser::compress_css($styles);
                 $custom_css = RevSliderOperations::getStaticCss();
                 $custom_css = RevSliderCssParser::compress_css($custom_css);
                 $arrCSS = $operations->getCaptionsContentArray();
                 $arrCssStyles = RevSliderFunctions::jsonEncodeForClientSide($arrCSS);
                 $arrCssStyles = $arrCSS;
                 self::ajaxResponseSuccess(__("Style deleted!", 'revslider'), array("arrCaptions" => $arrCaptions, 'compressed_css' => $styles . $custom_css, 'initstyles' => $arrCssStyles));
                 break;
             case "update_static_css":
                 $staticCss = $operations->updateStaticCss($data);
                 $db = new RevSliderDB();
                 $styles = $db->fetch(RevSliderGlobals::$table_css);
                 $styles = RevSliderCssParser::parseDbArrayToCss($styles, "\n");
                 $styles = RevSliderCssParser::compress_css($styles);
                 $custom_css = RevSliderOperations::getStaticCss();
                 $custom_css = RevSliderCssParser::compress_css($custom_css);
                 self::ajaxResponseSuccess(__("CSS saved", 'revslider'), array("css" => $staticCss, 'compressed_css' => $styles . $custom_css));
                 break;
             case "insert_custom_anim":
                 $arrAnims = $operations->insertCustomAnim($data);
                 //$arrCaptions =
                 self::ajaxResponseSuccess(__("Animation saved", 'revslider'), $arrAnims);
                 //,array("arrCaptions"=>$arrCaptions)
                 break;
             case "update_custom_anim":
                 $arrAnims = $operations->updateCustomAnim($data);
                 self::ajaxResponseSuccess(__("Animation saved", 'revslider'), $arrAnims);
                 //,array("arrCaptions"=>$arrCaptions)
                 break;
             case "update_custom_anim_name":
                 $arrAnims = $operations->updateCustomAnimName($data);
                 self::ajaxResponseSuccess(__("Animation saved", 'revslider'), $arrAnims);
                 //,array("arrCaptions"=>$arrCaptions)
                 break;
             case "delete_custom_anim":
                 $arrAnims = $operations->deleteCustomAnim($data);
                 self::ajaxResponseSuccess(__("Animation deleted", 'revslider'), $arrAnims);
                 //,array("arrCaptions"=>$arrCaptions)
                 break;
             case "update_slides_order":
                 $slider->updateSlidesOrderFromData($data);
                 self::ajaxResponseSuccess(__("Order updated", 'revslider'));
                 break;
             case "change_slide_title":
                 $slide->updateTitleByID($data);
                 self::ajaxResponseSuccess(__('Title updated', 'revslider'));
                 break;
             case "change_slide_image":
                 $slide->updateSlideImageFromData($data);
                 $sliderID = RevSliderFunctions::getVal($data, "slider_id");
                 self::ajaxResponseSuccessRedirect(__("Slide changed", 'revslider'), self::getViewUrl(self::VIEW_SLIDE, "id=new&slider={$sliderID}"));
                 break;
             case "preview_slide":
                 $operations->putSlidePreviewByData($data);
                 break;
             case "preview_slider":
                 $sliderID = RevSliderFunctions::getPostGetVariable("sliderid");
                 $do_markup = RevSliderFunctions::getPostGetVariable("only_markup");
                 if ($do_markup == 'true') {
                     $operations->previewOutputMarkup($sliderID);
                 } else {
                     $operations->previewOutput($sliderID);
                 }
                 break;
             case "toggle_slide_state":
                 $currentState = $slide->toggleSlideStatFromData($data);
                 self::ajaxResponseData(array("state" => $currentState));
                 break;
             case "toggle_hero_slide":
                 $currentHero = $slider->setHeroSlide($data);
                 self::ajaxResponseSuccess(__('Slide is now the new active Hero Slide', 'revslider'));
                 break;
             case "slide_lang_operation":
                 $responseData = $slide->doSlideLangOperation($data);
                 self::ajaxResponseData($responseData);
                 break;
             case "update_general_settings":
                 $operations->updateGeneralSettings($data);
                 self::ajaxResponseSuccess(__("General settings updated", 'revslider'));
                 break;
             case "update_posts_sortby":
                 $slider->updatePostsSortbyFromData($data);
                 self::ajaxResponseSuccess(__("Sortby updated", 'revslider'));
                 break;
             case "replace_image_urls":
                 $slider->replaceImageUrlsFromData($data);
                 self::ajaxResponseSuccess(__("Image urls replaced", 'revslider'));
                 break;
             case "reset_slide_settings":
                 $slider->resetSlideSettings($data);
                 self::ajaxResponseSuccess(__("Settings in all Slides changed", 'revslider'));
                 break;
             case "activate_purchase_code":
                 $result = false;
                 if (!empty($data['code'])) {
                     $result = $operations->checkPurchaseVerification($data);
                 } else {
                     RevSliderFunctions::throwError(__('The API key, the Purchase Code and the Username need to be set!', 'revslider'));
                     exit;
                 }
                 if ($result) {
                     self::ajaxResponseSuccessRedirect(__("Purchase Code Successfully Activated", 'revslider'), self::getViewUrl(self::VIEW_SLIDERS));
                 } else {
                     RevSliderFunctions::throwError(__('Purchase Code is invalid', 'revslider'));
                 }
                 break;
             case "deactivate_purchase_code":
                 $result = $operations->doPurchaseDeactivation($data);
                 if ($result) {
                     self::ajaxResponseSuccessRedirect(__("Successfully removed validation", 'revslider'), self::getViewUrl(self::VIEW_SLIDERS));
                 } else {
                     RevSliderFunctions::throwError(__('Could not remove Validation!', 'revslider'));
                 }
                 break;
             case 'dismiss_notice':
                 update_option('revslider-valid-notice', 'false');
                 self::ajaxResponseSuccess(__(".", 'revslider'));
                 break;
             case 'dismiss_dynamic_notice':
                 $notices_discarded = get_option('revslider-notices-dc', array());
                 $notices_discarded[] = esc_attr(trim($data['id']));
                 update_option('revslider-notices-dc', $notices_discarded);
                 self::ajaxResponseSuccess(__(".", 'revslider'));
                 break;
             case 'toggle_favorite':
                 if (isset($data['id']) && intval($data['id']) > 0) {
                     $return = self::toggle_favorite_by_id($data['id']);
                     if ($return === true) {
                         self::ajaxResponseSuccess(__('Setting Changed!', 'revslider'));
                     } else {
                         $error = $return;
                     }
                 } else {
                     $error = __('No ID given', 'revslider');
                 }
                 self::ajaxResponseError($error);
                 break;
             case "subscribe_to_newsletter":
                 if (isset($data['email']) && !empty($data['email'])) {
                     $return = ThemePunch_Newsletter::subscribe($data['email']);
                     if ($return !== false) {
                         if (!isset($return['status']) || $return['status'] === 'error') {
                             $error = isset($return['message']) && !empty($return['message']) ? $return['message'] : __('Invalid Email', 'revslider');
                             self::ajaxResponseError($error);
                         } else {
                             self::ajaxResponseSuccess(__("Success! Please check your Emails to finish the subscription", 'revslider'), $return);
                         }
                     } else {
                         self::ajaxResponseError(__('Invalid Email/Could not connect to the Newsletter server', 'revslider'));
                     }
                 } else {
                     self::ajaxResponseError(__('No Email given', 'revslider'));
                 }
                 break;
             case "unsubscribe_to_newsletter":
                 if (isset($data['email']) && !empty($data['email'])) {
                     $return = ThemePunch_Newsletter::unsubscribe($data['email']);
                     if ($return !== false) {
                         if (!isset($return['status']) || $return['status'] === 'error') {
                             $error = isset($return['message']) && !empty($return['message']) ? $return['message'] : __('Invalid Email', 'revslider');
                             self::ajaxResponseError($error);
                         } else {
                             self::ajaxResponseSuccess(__("Success! Please check your Emails to finish the process", 'revslider'), $return);
                         }
                     } else {
                         self::ajaxResponseError(__('Invalid Email/Could not connect to the Newsletter server', 'revslider'));
                     }
                 } else {
                     self::ajaxResponseError(__('No Email given', 'revslider'));
                 }
                 break;
             case 'change_specific_navigation':
                 $nav = new RevSliderNavigation();
                 $found = false;
                 $navigations = $nav->get_all_navigations();
                 foreach ($navigations as $navig) {
                     if ($data['id'] == $navig['id']) {
                         $found = true;
                         break;
                     }
                 }
                 if ($found) {
                     $nav->create_update_navigation($data, $data['id']);
                 } else {
                     $nav->create_update_navigation($data);
                 }
                 self::ajaxResponseSuccess(__('Navigation saved/updated', 'revslider'), array('navs' => $nav->get_all_navigations()));
                 break;
             case 'change_navigations':
                 $nav = new RevSliderNavigation();
                 $nav->create_update_full_navigation($data);
                 self::ajaxResponseSuccess(__('Navigations updated', 'revslider'), array('navs' => $nav->get_all_navigations()));
                 break;
             case 'delete_navigation':
                 $nav = new RevSliderNavigation();
                 if (isset($data) && intval($data) > 0) {
                     $return = $nav->delete_navigation($data);
                     if ($return !== true) {
                         self::ajaxResponseError($return);
                     } else {
                         self::ajaxResponseSuccess(__('Navigation deleted', 'revslider'), array('navs' => $nav->get_all_navigations()));
                     }
                 }
                 self::ajaxResponseError(__('Wrong ID given', 'revslider'));
                 break;
             case "get_facebook_photosets":
                 if (!empty($data['url'])) {
                     $facebook = new RevSliderFacebook();
                     $return = $facebook->get_photo_set_photos_options($data['url'], $data['album'], $data['app_id'], $data['app_secret']);
                     if (!empty($return)) {
                         self::ajaxResponseSuccess(__('Successfully fetched Facebook albums', 'revslider'), array('html' => implode(' ', $return)));
                     } else {
                         $error = __('Could not fetch Facebook albums', 'revslider');
                         self::ajaxResponseError($error);
                     }
                 } else {
                     self::ajaxResponseSuccess(__('Cleared Albums', 'revslider'), array('html' => implode(' ', $return)));
                 }
                 break;
             case "get_flickr_photosets":
                 if (!empty($data['url']) && !empty($data['key'])) {
                     $flickr = new RevSliderFlickr($data['key']);
                     $user_id = $flickr->get_user_from_url($data['url']);
                     $return = $flickr->get_photo_sets($user_id, $data['count'], $data['set']);
                     if (!empty($return)) {
                         self::ajaxResponseSuccess(__('Successfully fetched flickr photosets', 'revslider'), array("data" => array('html' => implode(' ', $return))));
                     } else {
                         $error = __('Could not fetch flickr photosets', 'revslider');
                         self::ajaxResponseError($error);
                     }
                 } else {
                     if (empty($data['url']) && empty($data['key'])) {
                         self::ajaxResponseSuccess(__('Cleared Photosets', 'revslider'), array('html' => implode(' ', $return)));
                     } elseif (empty($data['url'])) {
                         $error = __('No User URL - Could not fetch flickr photosets', 'revslider');
                         self::ajaxResponseError($error);
                     } else {
                         $error = __('No API KEY - Could not fetch flickr photosets', 'revslider');
                         self::ajaxResponseError($error);
                     }
                 }
                 break;
             case "get_youtube_playlists":
                 if (!empty($data['id'])) {
                     $youtube = new RevSliderYoutube(trim($data['api']), trim($data['id']));
                     $return = $youtube->get_playlist_options($data['playlist']);
                     self::ajaxResponseSuccess(__('Successfully fetched YouTube playlists', 'revslider'), array("data" => array('html' => implode(' ', $return))));
                 } else {
                     $error = __('Could not fetch YouTube playlists', 'revslider');
                     self::ajaxResponseError($error);
                 }
                 break;
             case 'rs_get_store_information':
                 global $wp_version;
                 $code = get_option('revslider-code', '');
                 $shop_version = RevSliderTemplate::SHOP_VERSION;
                 $validated = get_option('revslider-valid', 'false');
                 if ($validated == 'false') {
                     $api_key = '';
                     $username = '';
                     $code = '';
                 }
                 $rattr = array('code' => urlencode($code), 'product' => urlencode('revslider'), 'shop_version' => urlencode($shop_version), 'version' => urlencode(RevSliderGlobals::SLIDER_REVISION));
                 $request = wp_remote_post('http://templates.themepunch.tools/revslider/store.php', array('user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo('url'), 'body' => $rattr));
                 $response = '';
                 if (!is_wp_error($request)) {
                     $response = json_decode(@$request['body'], true);
                 }
                 self::ajaxResponseData(array("data" => $response));
                 break;
             default:
                 self::ajaxResponseError("wrong ajax action: {$action}");
                 break;
         }
     } catch (Exception $e) {
         $message = $e->getMessage();
         if ($action == "preview_slide" || $action == "preview_slider") {
             echo $message;
             exit;
         }
         self::ajaxResponseError($message);
     }
     //it's an ajax action, so exit
     self::ajaxResponseError("No response output on {$action} action. please check with the developer.");
     exit;
 }
);								
				
				
				var googlef_template_container = wp.template( "rs-preset-googlefont" );
				
				jQuery('#add_new_google_font').click(function(){
					var content = googlef_template_container({'value':''});
					jQuery('#rs-google-fonts').append(content);
				});
				
				jQuery('body').on('click', '.rs-google-remove-field', function(){
					jQuery(this).parent().remove();
				});
				
				<?php 
$google_font = RevSliderFunctions::getVal($arrFieldsParams, 'google_font', array());
if (!empty($google_font) && is_array($google_font)) {
    foreach ($google_font as $gfont) {
        ?>
						jQuery('#rs-google-fonts').append(googlef_template_container({'value':'<?php 
        echo esc_attr($gfont);
        ?>
'}));
						<?php 
    }
}
?>
				/*
				
				var data = {};
				data['value'] = key;
    foreach ($arrSlideLinkLayers as $link_handle => $link_name) {
        $sel = $link_handle == $slide_link ? ' selected="selected"' : '';
        echo '<option value="' . $link_handle . '"' . $sel . '>' . $link_name . '</option>';
    }
}
?>
						</select>
						<span class="description"><?php 
_e('Call Slide Action', 'revslider');
?>
</span>
					</p>
					<!-- Link POSITION -->
					<p>
						<?php 
$link_pos = RevSliderFunctions::getVal($slideParams, 'link_pos', 'front');
?>
						<label><?php 
_e("Link Sensibility:", 'revslider');
?>
</label>
						<span style="display:inline-block; width:200px; margin-right:20px;">
							<input type="radio" id="link_pos_1" value="front" name="link_pos"<?php 
checked($link_pos, 'front');
?>
><span style="line-height:30px; vertical-align: middle; margin:0px 20px 0px 10px;"><?php 
_e('Front', 'revslider');
?>
</span>
							<input type="radio" id="link_pos_2" value="back" name="link_pos"<?php 
checked($link_pos, 'back');
 /**
  * show Image to client
  * @since: 5.0
  * @moved from image_view.class.php
  */
 private static function outputImage($filepath)
 {
     $info = RevSliderFunctions::getPathInfo($filepath);
     $ext = $info["extension"];
     $ext = strtolower($ext);
     if ($ext == "jpg") {
         $ext = "jpeg";
     }
     $numExpires = 31536000;
     //one year
     $strExpires = @date('D, d M Y H:i:s', time() + $numExpires);
     $contents = file_get_contents($filepath);
     $filesize = strlen($contents);
     header("Expires: {$strExpires} GMT");
     header("Cache-Control: public");
     header("Content-Type: image/{$ext}");
     header("Content-Length: {$filesize}");
     echo $contents;
     exit;
 }
Example #11
0
            $order = $index + 1;
        }
        $urlImageForView = $slide->getUrlImageThumb();
        $slideTitle = $slide->getParam("title", "Slide");
        $title = $slideTitle;
        $filename = $slide->getImageFilename();
        $imageAlt = stripslashes($slideTitle);
        if (empty($imageAlt)) {
            $imageAlt = "slide";
        }
        if ($bgType == "image" && !empty($filename)) {
            $title .= " (" . $filename . ")";
        }
        $postID = $slide->getID();
        $urlEditSlide = RevSliderFunctionsWP::getUrlEditPost($postID);
        $linkEdit = RevSliderFunctions::getHtmlLink($urlEditSlide, $title, "", "", true);
        $state = $slide->getParam("state", "published");
        ?>

							<li id="slidelist_item_<?php 
        echo $postID;
        ?>
" class="ui-state-default">
								<span class="slide-col col-order">
									<span class="order-text"><?php 
        echo $order;
        ?>
</span>
									<div class="state_loader" style="display:none;"></div>
									<?php 
        if ($state == "published") {
 /**
  * 
  * get meta query
  */
 public static function getWPQuery($filterType, $sortBy)
 {
     $response = array();
     $dayMs = 60 * 60 * 24;
     $time = current_time('timestamp');
     $todayStart = strtotime(date('Y-m-d', $time));
     $todayEnd = $todayStart + $dayMs - 1;
     $tomorrowStart = $todayEnd + 1;
     $tomorrowEnd = $tomorrowStart + $dayMs - 1;
     $start_month = strtotime(date('Y-m-1', $time));
     $end_month = strtotime(date('Y-m-t', $time)) + 86399;
     $next_month_middle = strtotime('+1 month', $time);
     //get the end of this month + 1 day
     $start_next_month = strtotime(date('Y-m-1', $next_month_middle));
     $end_next_month = strtotime(date('Y-m-t', $next_month_middle)) + 86399;
     $query = array();
     switch ($filterType) {
         case self::DEFAULT_FILTER:
             //none
             break;
         case "today":
             $query[] = array('key' => '_start_ts', 'value' => $todayEnd, 'compare' => '<=');
             $query[] = array('key' => '_end_ts', 'value' => $todayStart, 'compare' => '>=');
             break;
         case "future":
             $query[] = array('key' => '_start_ts', 'value' => $time, 'compare' => '>');
             break;
         case "tomorrow":
             $query[] = array('key' => '_start_ts', 'value' => $tomorrowEnd, 'compare' => '<=');
             $query[] = array('key' => '_end_ts', 'value' => $todayStart, 'compare' => '>=');
             break;
         case "past":
             $query[] = array('key' => '_end_ts', 'value' => $todayStart, 'compare' => '<');
             break;
         case "month":
             $query[] = array('key' => '_start_ts', 'value' => $end_month, 'compare' => '<=');
             $query[] = array('key' => '_end_ts', 'value' => $start_month, 'compare' => '>=');
             break;
         case "nextmonth":
             $query[] = array('key' => '_start_ts', 'value' => $end_next_month, 'compare' => '<=');
             $query[] = array('key' => '_end_ts', 'value' => $start_next_month, 'compare' => '>=');
             break;
         default:
             RevSliderFunctions::throwError("Wrong event filter");
             break;
     }
     if (!empty($query)) {
         $response["meta_query"] = $query;
     }
     //convert sortby
     switch ($sortBy) {
         case "event_start_date":
             $response["orderby"] = "meta_value_num";
             $response["meta_key"] = "_start_ts";
             break;
         case "event_end_date":
             $response["orderby"] = "meta_value_num";
             $response["meta_key"] = "_end_ts";
             break;
     }
     return $response;
 }
 public static function parseDbArrayToCss($cssArray, $nl = "\n\r")
 {
     $css = '';
     $deformations = self::get_deformation_css_tags();
     $transparency = array('color' => 'color-transparency', 'background-color' => 'background-transparency', 'border-color' => 'border-transparency');
     foreach ($cssArray as $id => $attr) {
         $stripped = '';
         if (strpos($attr['handle'], '.tp-caption') !== false) {
             $stripped = trim(str_replace('.tp-caption', '', $attr['handle']));
         }
         $attr['advanced'] = json_decode($attr['advanced'], true);
         $styles = json_decode(str_replace("'", '"', $attr['params']), true);
         $styles_adv = $attr['advanced']['idle'];
         $css .= $attr['handle'];
         if (!empty($stripped)) {
             $css .= ', ' . $stripped;
         }
         $css .= " {" . $nl;
         if (is_array($styles) || is_array($styles_adv)) {
             if (is_array($styles)) {
                 foreach ($styles as $name => $style) {
                     if (in_array($name, $deformations)) {
                         continue;
                     }
                     if (!is_array($name) && isset($transparency[$name])) {
                         //the style can have transparency!
                         if (isset($styles[$transparency[$name]]) && $style !== 'transparent') {
                             $style = RevSliderFunctions::hex2rgba($style, $styles[$transparency[$name]] * 100);
                         }
                     }
                     if (is_array($style)) {
                         $style = implode(' ', $style);
                     }
                     $css .= $name . ':' . $style . ";" . $nl;
                 }
             }
             if (is_array($styles_adv)) {
                 foreach ($styles_adv as $name => $style) {
                     if (in_array($name, $deformations)) {
                         continue;
                     }
                     if (is_array($style)) {
                         $style = implode(' ', $style);
                     }
                     $css .= $name . ':' . $style . ";" . $nl;
                 }
             }
         }
         $css .= "}" . $nl . $nl;
         //add hover
         $setting = json_decode($attr['settings'], true);
         if (@$setting['hover'] == 'true') {
             $hover = json_decode(str_replace("'", '"', $attr['hover']), true);
             $hover_adv = $attr['advanced']['hover'];
             if (is_array($hover) || is_array($hover_adv)) {
                 $css .= $attr['handle'] . ":hover";
                 if (!empty($stripped)) {
                     $css .= ', ' . $stripped . ':hover';
                 }
                 $css .= " {" . $nl;
                 if (is_array($hover)) {
                     foreach ($hover as $name => $style) {
                         if (in_array($name, $deformations)) {
                             continue;
                         }
                         if (!is_array($name) && isset($transparency[$name])) {
                             //the style can have transparency!
                             if (isset($hover[$transparency[$name]]) && $style !== 'transparent') {
                                 $style = RevSliderFunctions::hex2rgba($style, $hover[$transparency[$name]] * 100);
                             }
                         }
                         if (is_array($style)) {
                             $style = implode(' ', $style);
                         }
                         $css .= $name . ':' . $style . ";" . $nl;
                     }
                 }
                 if (is_array($hover_adv)) {
                     foreach ($hover_adv as $name => $style) {
                         if (in_array($name, $deformations)) {
                             continue;
                         }
                         if (is_array($style)) {
                             $style = implode(' ', $style);
                         }
                         $css .= $name . ':' . $style . ";" . $nl;
                     }
                 }
                 $css .= "}" . $nl . $nl;
             }
         }
     }
     return $css;
 }
 public function resetSlideSettings($data)
 {
     $sliderID = RevSliderFunctions::getVal($data, "sliderid");
     $this->initByID($sliderID);
     $arrSildes = $this->getSlides();
     foreach ($arrSildes as $slide) {
         $slide->reset_slide_values($data);
     }
 }
Example #15
0
    /**
     * view the estimated speed of the Slider
     * @since: 5.0
     */
    public static function get_slider_speed($sliderID)
    {
        //$data = wp_get_attachment_metadata($cur_img_id);
        ob_start();
        $total_size = 0;
        $do_ssl = is_ssl() ? 'http:' : 'https:';
        $slider = new RevSliderSlider();
        $slider->initByID($sliderID);
        $slides = $slider->getSlidesForExport();
        $static_slides = $slider->getStaticSlideForExport();
        if (!empty($static_slides) && is_array($static_slides)) {
            foreach ($static_slides as $s_slide) {
                $slides[] = $s_slide;
            }
        }
        $used_images = array();
        $used_videos = array();
        $used_captions = array();
        $using_kenburns = false;
        $using_parallax = false;
        $using_carousel = false;
        $using_navigation = false;
        $using_videos = false;
        $using_actions = false;
        $using_layeranim = false;
        $img_size = 0;
        $video_size = 0;
        $slide_counter = 0;
        $firstslide_size = 0;
        $smartslide_size = 0;
        if ($slider->getParam("use_parallax", "off") == 'on') {
            $using_parallax = true;
        }
        if ($slider->getParam("slider-type", "standard") == 'carousel') {
            $using_carousel = true;
        }
        $enable_arrows = $slider->getParam('enable_arrows', 'off');
        $enable_bullets = $slider->getParam('enable_bullets', 'off');
        $enable_tabs = $slider->getParam('enable_tabs', 'off');
        $enable_thumbnails = $slider->getParam('enable_thumbnails', 'off');
        if ($enable_arrows == 'on' || $enable_bullets == 'on' || $enable_tabs == 'on' || $enable_thumbnails == 'on') {
            $using_navigation = true;
        }
        if (!empty($slides) && count($slides) > 0) {
            foreach ($slides as $key => $slide) {
                if (isset($slide['params']['state']) && $slide['params']['state'] != 'published') {
                    continue;
                }
                if (!isset($slide['id'])) {
                    continue;
                }
                $slide_counter++;
                $slide_id = $slide['id'];
                if (isset($slide['params']['kenburn_effect']) && $slide['params']['kenburn_effect'] == 'on') {
                    $using_kenburns = true;
                }
                if (!isset($slide['params']['image_source_type'])) {
                    $slide['params']['image_source_type'] = 'full';
                }
                if (isset($slide['params']['image']) && $slide['params']['image'] != '') {
                    //add infos of image to an array
                    $infos = array();
                    $urlImage = false;
                    switch ($slide['params']['background_type']) {
                        case 'streamyoutube':
                        case 'streaminstagram':
                        case 'streamvimeo':
                        case 'youtube':
                        case 'vimeo':
                            $using_videos = true;
                            break;
                    }
                    if (isset($slide['params']['image_id'])) {
                        $cur_img_id = $slide['params']['image_id'];
                        //get image sizes by ID
                        $urlImage = wp_get_attachment_image_src($slide['params']['image_id'], $slide['params']['image_source_type']);
                    }
                    if ($urlImage === false) {
                        $cur_img_id = RevSliderFunctionsWP::get_image_id_by_url($slide['params']['image']);
                        if ($cur_img_id !== false) {
                            $urlImage = wp_get_attachment_image_src($cur_img_id, $slide['params']['image_source_type']);
                        }
                    }
                    if ($urlImage !== false) {
                        $infos['id'] = $cur_img_id;
                        $file = get_attached_file($cur_img_id);
                        $infos['info'] = pathinfo($file);
                        if (file_exists($file)) {
                            $infos['size'] = filesize($file);
                            $infos['size-format'] = size_format($infos['size'], 2);
                            $img_size += $infos['size'];
                            if ($slide_counter == 1) {
                                $firstslide_size += $infos['size'];
                            }
                            if ($slide_counter == 1 || $slide_counter == 2 || $slide_counter == count($slides)) {
                                $smartslide_size += $infos['size'];
                            }
                        } else {
                            $infos['id'] = false;
                        }
                    } else {
                        $infos['id'] = 'external';
                    }
                    if (strpos($slide_id, 'static_') !== false) {
                        $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=static_' . $sliderID);
                    } else {
                        $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=' . $slide_id);
                    }
                    $used_images[$slide['params']['image']] = $infos;
                }
                if (isset($slide['layers']) && !empty($slide['layers']) && count($slide['layers']) > 0) {
                    $using_layeranim = true;
                    foreach ($slide['layers'] as $lKey => $layer) {
                        switch ($layer['type']) {
                            case 'image':
                                $infos = array();
                                if (isset($layer['image_url']) && trim($layer['image_url']) != '') {
                                    $cur_img_id = RevSliderFunctionsWP::get_image_id_by_url($layer['image_url']);
                                    if ($cur_img_id !== false) {
                                        if (!isset($layer['layer-image-size']) || $layer['layer-image-size'] == 'auto') {
                                            $layer['layer-image-size'] = $slide['params']['image_source_type'];
                                        }
                                        $urlImage = wp_get_attachment_image_src($cur_img_id, $layer['layer-image-size']);
                                        if ($urlImage !== false) {
                                            $infos['id'] = $cur_img_id;
                                            $file = get_attached_file($cur_img_id);
                                            $infos['info'] = pathinfo($file);
                                            if (file_exists($file)) {
                                                $infos['size'] = filesize($file);
                                                $infos['size-format'] = size_format($infos['size'], 2);
                                                $img_size += $infos['size'];
                                                if ($slide_counter == 1) {
                                                    $firstslide_size += $infos['size'];
                                                }
                                                if ($slide_counter == 1 || $slide_counter == 2 || $slide_counter == count($slides)) {
                                                    $smartslide_size += $infos['size'];
                                                }
                                            } else {
                                                $infos['id'] = false;
                                            }
                                        } else {
                                            $infos['id'] = 'external';
                                        }
                                    } else {
                                        $infos['id'] = 'external';
                                    }
                                    if (strpos($slide_id, 'static_') !== false) {
                                        $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=static_' . $sliderID);
                                    } else {
                                        $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=' . $slide_id);
                                    }
                                    $used_images[$layer['image_url']] = $infos;
                                    //image_url if image caption
                                }
                                break;
                            case 'video':
                                $using_videos = true;
                                //get cover image if existing
                                $infos = array();
                                $poster_img = array();
                                if (isset($layer['video_data']) && isset($layer['video_data']->urlPoster)) {
                                    $poster_img[] = $layer['video_data']->urlPoster;
                                }
                                if (isset($layer['video_image_url']) && isset($layer['video_image_url'])) {
                                    $poster_img[] = $layer['video_image_url'];
                                }
                                if (!empty($poster_img)) {
                                    foreach ($poster_img as $img) {
                                        if (trim($img) == '') {
                                            continue;
                                        }
                                        $cur_img_id = RevSliderFunctionsWP::get_image_id_by_url($img);
                                        if ($cur_img_id !== false) {
                                            if (!isset($layer['layer-image-size']) || $layer['layer-image-size'] == 'auto') {
                                                $layer['layer-image-size'] = $slide['params']['image_source_type'];
                                            }
                                            $urlImage = wp_get_attachment_image_src($cur_img_id, $layer['layer-image-size']);
                                            if ($urlImage !== false) {
                                                $infos['id'] = $cur_img_id;
                                                $file = get_attached_file($cur_img_id);
                                                $infos['info'] = pathinfo($file);
                                                if (file_exists($file)) {
                                                    $infos['size'] = filesize($file);
                                                    $infos['size-format'] = size_format($infos['size'], 2);
                                                    $img_size += $infos['size'];
                                                    if ($slide_counter == 1) {
                                                        $firstslide_size += $infos['size'];
                                                    }
                                                    if ($slide_counter == 1 || $slide_counter == 2 || $slide_counter == count($slides)) {
                                                        $smartslide_size += $infos['size'];
                                                    }
                                                } else {
                                                    $infos['id'] = false;
                                                }
                                            } else {
                                                $infos['id'] = 'external';
                                            }
                                        } else {
                                            $infos['id'] = 'external';
                                        }
                                        if (strpos($slide_id, 'static_') !== false) {
                                            $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=static_' . $sliderID);
                                        } else {
                                            $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=' . $slide_id);
                                        }
                                        $used_images[$img] = $infos;
                                        //image_url if image caption
                                    }
                                }
                                $infos = array();
                                if (isset($layer['video_type'])) {
                                    //add videos and try to get video size
                                    if (isset($layer['video_data'])) {
                                        $video_arr = array();
                                        $max_video_size = 0;
                                        if (strpos($slide_id, 'static_') !== false) {
                                            $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=static_' . $sliderID);
                                        } else {
                                            $infos['url'] = RevSliderBaseAdmin::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=' . $slide_id);
                                        }
                                        switch ($layer['video_type']) {
                                            case 'html5':
                                                if (isset($layer['video_data']->urlMp4) && !empty($layer['video_data']->urlMp4)) {
                                                    $video_arr['mp4'] = $layer['video_data']->urlMp4;
                                                }
                                                if (isset($layer['video_data']->urlWebm) && !empty($layer['video_data']->urlWebm)) {
                                                    $video_arr['webm'] = $layer['video_data']->urlWebm;
                                                }
                                                if (isset($layer['video_data']->urlOgv) && !empty($layer['video_data']->urlOgv)) {
                                                    $video_arr['mp4'] = $layer['video_data']->urlOgv;
                                                }
                                                if (!empty($video_arr)) {
                                                    foreach ($video_arr as $type => $url) {
                                                        $cur_id = RevSliderFunctionsWP::get_image_id_by_url($url);
                                                        if ($cur_id !== false) {
                                                            $infos['id'] = $cur_id;
                                                            $file = get_attached_file($cur_id);
                                                            $infos['info'] = pathinfo($file);
                                                            if (file_exists($file)) {
                                                                $infos['size'] = filesize($file);
                                                                $infos['size-format'] = size_format($infos['size'], 2);
                                                                if ($infos['size'] > $max_video_size) {
                                                                    $max_video_size = $infos['size'];
                                                                }
                                                                //add only the largest video of the three here as each browser loads only one file and we can add here the biggest
                                                            } else {
                                                                $infos['id'] = 'external';
                                                            }
                                                        } else {
                                                            $infos['id'] = 'external';
                                                        }
                                                        $used_videos[$url] = $infos;
                                                    }
                                                    $video_size += $max_video_size;
                                                }
                                                break;
                                            case 'youtube':
                                                $infos['id'] = 'external';
                                                if (!isset($layer['video_data']->id) || empty($layer['video_data']->id)) {
                                                    continue;
                                                }
                                                $used_videos[$do_ssl . '//www.youtube.com/watch?v=' . $layer['video_data']->id] = $infos;
                                                break;
                                            case 'vimeo':
                                                if (!isset($layer['video_data']->id) || empty($layer['video_data']->id)) {
                                                    continue;
                                                }
                                                $infos['id'] = 'external';
                                                $used_videos[$do_ssl . '//vimeo.com/' . $layer['video_data']->id] = $infos;
                                                break;
                                        }
                                    }
                                }
                                break;
                        }
                        //check captions for actions
                        if (isset($layer['layer_action']) && !empty($layer['layer_action'])) {
                            $a_action = RevSliderFunctions::cleanStdClassToArray(RevSliderFunctions::getVal($layer['layer_action'], 'action', array()));
                            $a_link_type = RevSliderFunctions::cleanStdClassToArray(RevSliderFunctions::getVal($layer['layer_action'], 'link_type', array()));
                            if (!empty($a_action)) {
                                foreach ($a_action as $num => $action) {
                                    if ($using_actions == true) {
                                        break;
                                    }
                                    if ($action !== 'link') {
                                        $using_actions = true;
                                    } else {
                                        //check if jQuery or a tag
                                        if ($a_link_type[$num] == 'jquery') {
                                            $using_actions = true;
                                        }
                                    }
                                }
                            }
                        }
                        if (isset($layer['style']) && $layer['style'] != '') {
                            $used_captions[$layer['style']] = true;
                        }
                    }
                }
            }
        }
        $total_size += $img_size;
        $img_counter = 0;
        $issues = "";
        //$total_size += $video_size;
        ?>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

			<!-- FULL SIZE OF SUBCATEGORY && SHOW/HIDE LIST -->
			<span style="float:left;width:40%; display:block">				
				<span class="tp-monitor-smalllabel"><?php 
        echo __("Fonts Loaded:", REVSLIDER_TEXTDOMAIN);
        ?>
</span>				
				<span class="tp-monitor-jsicon"></span><span class="tp-monitor-total-subsize">%font_size%</span>				
			</span>
			<span style="float:left;width:60%; text-align:right;">
				<span class="tp-monitor-showdetails" data-target="#monitor-fonts-details" data-open="</span><?php 
        echo __("Hide Details", REVSLIDER_TEXTDOMAIN);
        ?>
" data-close="</span><?php 
        echo __("Show Details", REVSLIDER_TEXTDOMAIN);
        ?>
"><span class="tp-monitor-openclose"></span><span class="tp-show-inner-btn"><?php 
        echo __("Show Details", REVSLIDER_TEXTDOMAIN);
        ?>
</span></span>
			</span>
			<span class="tp-clearfix" style="height:15px"></span>
		
		<?php 
        //echo '<span class="tp-monitor-smalllabel">'.$font_url.'</span>';
        echo '<ul class="tp-monitor-list" id="monitor-fonts-details" style="margin-bottom:15px;display:none">';
        $all_font_count = 0;
        if (!empty($my_fonts)) {
            foreach ($my_fonts as $c_font) {
                $fcount = RevSliderBase::get_font_weight_count($c_font);
                $_li = '<li class="tp-monitor-listli">';
                if ($fcount < 4) {
                    $_li .= '<span class="tp-monitor-good"></span>';
                } else {
                    if ($fcount < 7) {
                        $_li .= '<span class="tp-monitor-well"></span>';
                    } else {
                        $_li .= '<span class="tp-monitor-warning"></span>';
                    }
                }
                $_li .= '<span class="tp-monitor-file">';
                $_li .= strip_tags($c_font);
                $_li .= '</span>';
                $_li .= '</li>';
                if ($fcount > 4) {
                    $issues .= $_li;
                }
                echo $_li;
                $all_font_count += $fcount;
            }
        }
        echo '</ul>';
        ?>
		</div><!-- END OF OVERALL Div-->
		
		<script>
			jQuery(document).on("ready",function() {
				
				jQuery('body').on('click','.tp-monitor-showdetails',function() {
					var bt = jQuery(this);
					if (bt.hasClass("selected")) {
						bt.find('.tp-show-inner-btn').html(bt.data('close'));
						bt.removeClass("selected");
						jQuery(bt.data('target')).slideUp(200);
					} else {
						bt.find('.tp-show-inner-btn').html(bt.data('open'));
						bt.addClass("selected");
						jQuery(bt.data('target')).slideDown(200);
					}
					
				})
			})
		</script>
		<?php 
        $content = ob_get_contents();
        ob_end_clean();
        if ($img_counter == 0) {
            $img_counter = 1;
        }
        if ($slide_counter == 0) {
            $slide_counter = 1;
        }
        $overall = RevSliderOperations::get_performance($total_size / $slide_counter, 0, 400000);
        // 400KB / Slide is ok
        $image = RevSliderOperations::get_performance($img_size / $img_counter, 0, 100000);
        // 100KB Image OK
        $css = RevSliderOperations::get_performance($css_size, 0, 150000);
        // 150KB CSS OK
        $js = RevSliderOperations::get_performance($js_size, 0, 250000);
        // 250KB Image OK
        $font = RevSliderOperations::get_performance($all_font_count, 0, 15);
        // 250KB Image OK
        $firstslide_size += $js_size;
        $firstslide_size += $css_size;
        $smartslide_size += $js_size;
        $smartslide_size += $css_size;
        $content = str_replace("%overall_performance%", $overall["proc"], $content);
        $content = str_replace("%overall_color%", $overall["col"], $content);
        $content = str_replace("%overall_size%", size_format($total_size, 2), $content);
        $content = str_replace("%image_performance%", $image["proc"], $content);
        $content = str_replace("%image_color%", $image["col"], $content);
        $content = str_replace("%css_performance%", $css["proc"], $content);
        $content = str_replace("%css_color%", $css["col"], $content);
        $content = str_replace("%css_size%", size_format($css_size, 2), $content);
        $content = str_replace("%js_performance%", $js["proc"], $content);
        $content = str_replace("%js_color%", $js["col"], $content);
        $content = str_replace("%js_size%", size_format($js_size, 2), $content);
        $content = str_replace("%font_performance%", $font["proc"], $content);
        $content = str_replace("%font_color%", $font["col"], $content);
        $content = str_replace("%font_size%", $all_font_count, $content);
        $content = str_replace("%issues%", $issues, $content);
        $content = str_replace("%firstslide_size%", size_format($firstslide_size, 2), $content);
        $content = str_replace("%smartslide_size%", size_format($smartslide_size, 2), $content);
        $content = str_replace("%allslide_size%", size_format($total_size, 2), $content);
        $total_size = $total_size / 1000;
        $content = str_replace("%umtsspeed-all%", gmdate('i:s', $total_size / 48), $content);
        $content = str_replace("%dslspeed-all%", gmdate('i:s', $total_size / 307), $content);
        $content = str_replace("%t1speed-all%", gmdate('i:s', $total_size / 1180), $content);
        $firstslide_size = $firstslide_size / 1000;
        $content = str_replace("%umtsspeed-single%", gmdate('i:s', $firstslide_size / 48), $content);
        $content = str_replace("%dslspeed-single%", gmdate('i:s', $firstslide_size / 307), $content);
        $content = str_replace("%t1speed-single%", gmdate('i:s', $firstslide_size / 1180), $content);
        $smartslide_size = $smartslide_size / 1000;
        $content = str_replace("%umtsspeed-smart%", gmdate('i:s', $smartslide_size / 48), $content);
        $content = str_replace("%dslspeed-smart%", gmdate('i:s', $smartslide_size / 307), $content);
        $content = str_replace("%t1speed-smart%", gmdate('i:s', $smartslide_size / 1180), $content);
        echo $content;
    }
Example #16
0
 /**
  * do "trim" operation on all array items.
  */
 public static function trimArrayItems($arr)
 {
     if (gettype($arr) != "array") {
         RevSliderFunctions::throwError("trimArrayItems error: The type must be array");
     }
     foreach ($arr as $key => $item) {
         if (is_array($item)) {
             foreach ($item as $key => $value) {
                 $arr[$key][$key] = trim($value);
             }
         } else {
             $arr[$key] = trim($item);
         }
     }
     return $arr;
 }
Example #17
0
</div>

<?php 
if ($slide->isStaticSlide()) {
    $slideID = $slide->getID();
}
$mslide_list = array();
if (!empty($arrSlidesWPML)) {
    foreach ($arrSlidesWPML as $arwmpl) {
        if ($arwmpl['id'] == $slideID) {
            continue;
        }
        $mslide_list[] = array($arwmpl['id'] => $arwmpl['title']);
    }
}
$mslide_list = RevSliderFunctions::jsonEncodeForClientSide($mslide_list);
?>
<script type="text/javascript">
	var g_patternViewSlide = '<?php 
echo $patternViewSlide;
?>
';

	
	var g_messageDeleteSlide = "<?php 
_e("Delete this slide?", REVSLIDER_TEXTDOMAIN);
?>
";
	jQuery(document).ready(function(){
		RevSliderAdmin.initEditSlideView(<?php 
echo $slideID;
Example #18
0
						<span style="position:absolute; top:13px;left:0px; text-align: center">
							<span class="setting_text_3"><?php 
    _e("Show Layers from Slide:", REVSLIDER_TEXTDOMAIN);
    ?>
</span>
							<select name="rev_show_the_slides">
								<option value="none">---</option>
								<?php 
    foreach ($all_slides as $c_slide) {
        $c_params = $c_slide->getParams();
        ?>
									<option value="<?php 
        echo $c_slide->getID();
        ?>
"><?php 
        echo stripslashes(RevSliderFunctions::getVal($c_params, 'title', 'Slide')) . ' (ID: ' . $c_slide->getID() . ')';
        ?>
</option>
									<?php 
    }
    ?>
							</select>
						</span>
					
					<?php 
}
?>
			</li>
			<?php 
$slidecounter = 0;
foreach ($arrSlides as $t_slide) {
 /**
  * Change FontURL to new URL (added for chinese support since google is blocked there)
  * @since: 5.0
  */
 public static function modify_punch_url($url)
 {
     $operations = new RevSliderOperations();
     $arrValues = $operations->getGeneralSettingsValues();
     $set_diff_font = RevSliderFunctions::getVal($arrValues, "change_font_loading", '');
     if ($set_diff_font !== '') {
         return $set_diff_font;
     } else {
         return $url;
     }
 }
Example #20
0
 /**
  *
  * put html slider on the html page.
  * @param $data - mixed, can be ID ot Alias.
  */
 public function putSliderBase($sliderID, $gal_ids = array(), $markup_export = false, $settings = array(), $order = array())
 {
     $this->markup_export = $markup_export;
     try {
         $slver = apply_filters('revslider_remove_version', RevSliderGlobals::SLIDER_REVISION);
         self::$sliderSerial++;
         $this->slider = new RevSlider();
         if ($sliderID !== '-99') {
             $this->slider->initByMixed($sliderID);
         } else {
             //do default
             $this->slider->initByMixed($sliderID);
         }
         //modify settings if there are any special settings given through the shortcode
         if (!empty($settings)) {
             $this->modify_settings($settings);
         }
         //modify settings for admin preview mode
         if ($this->previewMode == true) {
             $this->modifyPreviewModeSettings();
         }
         //set slider language
         $isWpmlExists = RevSliderWpml::isWpmlExists();
         $useWpml = $this->slider->getParam("use_wpml", "off");
         if ($isWpmlExists && $useWpml == "on") {
             if ($this->previewMode == false) {
                 $this->sliderLang = RevSliderFunctionsWP::getCurrentLangCode();
             }
         }
         //edit html before slider
         $htmlBeforeSlider = "";
         if ($markup_export === true) {
             $htmlBeforeSlider .= '<!-- FONT -->';
         }
         if ($this->slider->getParam("load_googlefont", "false") == "true") {
             $googleFont = $this->slider->getParam("google_font");
             if (is_array($googleFont)) {
                 foreach ($googleFont as $key => $font) {
                 }
             } else {
                 $htmlBeforeSlider .= RevSliderOperations::getCleanFontImport($googleFont);
             }
         }
         $gfonts = $this->slider->getParam("google_font", array());
         if (!empty($gfonts) && is_array($gfonts)) {
             foreach ($gfonts as $gf) {
                 $gf = str_replace(array('"', '+'), array('', ' '), $gf);
                 $htmlBeforeSlider .= RevSliderOperations::getCleanFontImport($gf);
             }
         }
         //add all google fonts of layers
         $gfsubsets = $this->slider->getParam("subsets", array());
         $gf = $this->slider->getUsedFonts(false);
         foreach ($gf as $gfk => $gfv) {
             $tcf = $gfk . ':';
             if (!empty($gfv['variants'])) {
                 $mgfirst = true;
                 foreach ($gfv['variants'] as $mgvk => $mgvv) {
                     if (!$mgfirst) {
                         $tcf .= ',';
                     }
                     $tcf .= $mgvk;
                     $mgfirst = false;
                 }
             }
             if (!empty($gfv['subsets'])) {
                 $mgfirst = true;
                 foreach ($gfv['subsets'] as $ssk => $ssv) {
                     if (array_search(esc_attr($gfk . '+' . $ssv), $gfsubsets) !== false) {
                         if ($mgfirst) {
                             $tcf .= '&subset=';
                         }
                         if (!$mgfirst) {
                             $tcf .= ',';
                         }
                         $tcf .= $ssv;
                         $mgfirst = false;
                     }
                 }
             }
             $htmlBeforeSlider .= RevSliderOperations::getCleanFontImport($tcf);
         }
         if ($markup_export === true) {
             $htmlBeforeSlider .= '<!-- /FONT -->';
         }
         //pub js to body handle
         if ($this->slider->getParam("js_to_body", "false") == "true") {
             $operations = new RevSliderOperations();
             $arrValues = $operations->getGeneralSettingsValues();
             $enable_logs = RevSliderFunctions::getVal($arrValues, "enable_logs", 'off');
             if ($markup_export === true) {
                 $htmlBeforeSlider .= '<!-- SCRIPTINCLUDE -->';
             }
             if ($enable_logs == 'on') {
                 $urlIncludeJS = RS_PLUGIN_URL . 'public/assets/js/jquery.themepunch.enablelog.js?rev=' . $slver;
                 $htmlBeforeSlider .= '<script type="text/javascript" src="' . $urlIncludeJS . '"></script>';
             }
             $urlIncludeJS = RS_PLUGIN_URL . 'public/assets/js/jquery.themepunch.tools.min.js?rev=' . $slver;
             $htmlBeforeSlider .= '<script type="text/javascript" src="' . $urlIncludeJS . '"></script>';
             $urlIncludeJS = RS_PLUGIN_URL . 'public/assets/js/jquery.themepunch.revolution.min.js?rev=' . $slver;
             $htmlBeforeSlider .= '<script type="text/javascript" src="' . $urlIncludeJS . '"></script>';
             if ($markup_export === true) {
                 $htmlBeforeSlider .= '<!-- /SCRIPTINCLUDE -->';
             }
         }
         //the initial id can be alias
         $sliderID = $this->slider->getID();
         $bannerWidth = $this->slider->getParam("width", null, RevSlider::VALIDATE_NUMERIC, "Slider Width");
         $bannerHeight = $this->slider->getParam("height", null, RevSlider::VALIDATE_NUMERIC, "Slider Height");
         $sliderType = $this->slider->getParam("slider_type");
         $slider_type = $this->slider->getParam("slider-type");
         //set wrapper height
         $wrapperHeigh = 0;
         $wrapperHeigh += $this->slider->getParam("height");
         //add thumb height
         if ($this->slider->getParam('enable_thumbnails', 'off') == 'on') {
             $wrapperHeigh += $this->slider->getParam('thumb_height');
         }
         $slider_id = $this->slider->getParam('slider_id', '');
         if (trim($slider_id) !== '') {
             $this->sliderHtmlID = $slider_id;
         } else {
             $this->sliderHtmlID = 'rev_slider_' . $sliderID . '_' . self::$sliderSerial;
         }
         $this->sliderHtmlID_wrapper = $this->sliderHtmlID . '_wrapper';
         $containerStyle = "";
         $sliderPosition = $this->slider->getParam("position", "center");
         $do_overflow = '';
         //set position:
         if ($sliderType != "fullscreen") {
             switch ($sliderPosition) {
                 case "center":
                 default:
                     $containerStyle .= "margin:0px auto;";
                     break;
                 case "left":
                     $containerStyle .= "float:left;";
                     break;
                 case "right":
                     $containerStyle .= "float:right;";
                     break;
             }
             if ($this->slider->getParam('main_overflow_hidden', 'on') == 'on') {
                 $do_overflow = ' tp-overflow-hidden';
             }
         }
         //add background color
         $backgroundColor = esc_attr(trim($this->slider->getParam('background_color')));
         if (!empty($backgroundColor)) {
             $containerStyle .= 'background-color:' . $backgroundColor . ';';
         }
         //set padding
         $containerStyle .= 'padding:' . esc_attr($this->slider->getParam('padding', '0')) . 'px;';
         //set margin:
         if ($sliderType != 'fullscreen') {
             if ($sliderPosition != 'center') {
                 $containerStyle .= 'margin-left:' . esc_attr($this->slider->getParam('margin_left', '0', RevSlider::FORCE_NUMERIC)) . 'px;';
                 $containerStyle .= 'margin-right:' . esc_attr($this->slider->getParam('margin_right', '0', RevSlider::FORCE_NUMERIC)) . 'px;';
             }
             $containerStyle .= 'margin-top:' . esc_attr($this->slider->getParam('margin_top', '0', RevSlider::FORCE_NUMERIC)) . 'px;';
             $containerStyle .= 'margin-bottom:' . esc_attr($this->slider->getParam('margin_bottom', '0', RevSlider::FORCE_NUMERIC)) . 'px;';
         }
         //set height and width:
         $bannerStyle = 'display:none;';
         //add background image (to banner style)
         $showBackgroundImage = $this->slider->getParam('show_background_image', 'off');
         if ($showBackgroundImage == 'true' || $showBackgroundImage == 'on') {
             $backgroundImage = esc_attr($this->slider->getParam('background_image'));
             $backgroundFit = esc_attr($this->slider->getParam('bg_fit', $this->slider->getParam('def-background_fit', 'cover')));
             $backgroundRepeat = esc_attr($this->slider->getParam('bg_repeat', $this->slider->getParam('def-bg_repeat', 'no-repeat')));
             $backgroundPosition = esc_attr($this->slider->getParam('bg_position', $this->slider->getParam('def-bg_position', 'center center')));
             if (!empty($backgroundImage)) {
                 $containerStyle .= "background-image:url(" . $backgroundImage . ");background-repeat:" . $backgroundRepeat . ";background-size:" . $backgroundFit . ";background-position:" . $backgroundPosition . ";";
             }
         }
         //set wrapper and slider class:
         $sliderWrapperClass = "rev_slider_wrapper";
         $sliderClass = "rev_slider";
         switch ($sliderType) {
             case "responsitive":
                 //@since 5.0: obsolete now, was custom
             //@since 5.0: obsolete now, was custom
             case "fixed":
                 //@since 5.0: obsolete now
             //@since 5.0: obsolete now
             case 'auto':
             case 'fullwidth':
                 $sliderWrapperClass .= " fullwidthbanner-container";
                 $sliderClass .= " fullwidthabanner";
                 // KRISZTIAN REMOVED SOME LINE
                 //$bannerStyle .= "max-height:".$bannerHeight."px;height:".$bannerHeight."px;";
                 //$containerStyle .= "max-height:".$bannerHeight."px;";
                 break;
             case 'fullscreen':
                 $sliderWrapperClass .= " fullscreen-container";
                 $sliderClass .= " fullscreenbanner";
                 break;
             default:
                 $bannerStyle .= "height:" . $bannerHeight . "px;width:" . $bannerWidth . "px;";
                 $containerStyle .= "height:" . $bannerHeight . "px;width:" . $bannerWidth . "px;";
                 break;
         }
         $maxWidth = $this->slider->getParam('max_width', '0', RevSlider::FORCE_NUMERIC);
         if ($maxWidth > 0 && $this->slider->getParam('slider_type') == 'auto') {
             $containerStyle .= 'max-width:' . $maxWidth . 'px;';
         }
         $htmlTimerBar = "";
         $enable_progressbar = $this->slider->getParam('enable_progressbar', 'on');
         $timerBar = $this->slider->getParam('show_timerbar', 'top');
         $progress_height = $this->slider->getParam('progress_height', '5');
         $progress_opa = $this->slider->getParam('progress_opa', '15');
         $progressbar_color = $this->slider->getParam('progressbar_color', '#000000');
         if ($enable_progressbar !== 'on' || $slider_type == 'hero') {
             $timerBar = 'hide';
         }
         $progress_style = ' style="height: ' . esc_attr($progress_height) . 'px; background-color: ' . RevSliderFunctions::hex2rgba($progressbar_color, $progress_opa) . ';"';
         switch ($timerBar) {
             case "top":
                 $htmlTimerBar = '<div class="tp-bannertimer"' . $progress_style . '></div>';
                 break;
             case "bottom":
                 $htmlTimerBar = '<div class="tp-bannertimer tp-bottom"' . $progress_style . '></div>';
                 break;
             case "hide":
                 $htmlTimerBar = '<div class="tp-bannertimer tp-bottom" style="visibility: hidden !important;"></div>';
                 break;
         }
         //check inner / outer border
         $paddingType = $this->slider->getParam("padding_type", "outer");
         if ($paddingType == "inner") {
             $sliderWrapperClass .= " tp_inner_padding";
         }
         global $revSliderVersion;
         $add_alias = '';
         if (is_super_admin() || is_admin_bar_showing()) {
             if (current_user_can('edit_theme_options')) {
                 $add_alias = ' data-alias="' . esc_attr($this->slider->getAlias()) . '"';
             }
         }
         echo $htmlBeforeSlider . "\n";
         echo '<div id="' . $this->sliderHtmlID_wrapper . '" class="' . $sliderWrapperClass . '"' . $add_alias;
         $show_alternate = $this->slider->getParam("show_alternative_type", "off");
         if ($show_alternate !== 'off') {
             $show_alternate_image = $this->slider->getParam("show_alternate_image", "");
             echo ' data-aimg="' . $show_alternate_image . '" ';
             if ($show_alternate == 'mobile' || $show_alternate == 'mobile-ie8') {
                 echo ' data-amobile="enabled" ';
             } else {
                 echo ' data-amobile="disabled" ';
             }
             if ($show_alternate == 'mobile-ie8' || $show_alternate == 'ie8') {
                 echo ' data-aie8="enabled" ';
             } else {
                 echo ' data-aie8="disabled" ';
             }
         }
         echo ' style="' . $containerStyle . '">' . "\n";
         echo '<!-- START REVOLUTION SLIDER ' . $revSliderVersion . ' ' . $sliderType . ' mode -->' . "\n";
         echo '	<div id="' . $this->sliderHtmlID . '"';
         echo ' class="' . $sliderClass . $do_overflow . '"';
         echo ' style="' . $bannerStyle . '"';
         echo ' data-version="' . $revSliderVersion . '">' . "\n";
         echo $this->putSlides($gal_ids, $order);
         echo $htmlTimerBar;
         echo '	</div>' . "\n";
         $this->putJS($markup_export);
         echo '</div>';
         echo '<!-- END REVOLUTION SLIDER -->';
     } catch (Exception $e) {
         $message = $e->getMessage();
         $this->putErrorMessage($message);
     }
 }
Example #21
0
 /**
  * 
  * widget output
  */
 public function widget($args, $instance)
 {
     $sliderID = RevSliderFunctions::getVal($instance, "rev_slider");
     $title = RevSliderFunctions::getVal($instance, "rev_slider_title");
     $homepageCheck = RevSliderFunctions::getVal($instance, "rev_slider_homepage");
     $homepage = "";
     if ($homepageCheck == "on") {
         $homepage = "homepage";
     }
     $pages = RevSliderFunctions::getVal($instance, "rev_slider_pages");
     if (!empty($pages)) {
         if (!empty($homepage)) {
             $homepage .= ",";
         }
         $homepage .= $pages;
     }
     if (empty($sliderID)) {
         return false;
     }
     //widget output
     $beforeWidget = RevSliderFunctions::getVal($args, "before_widget");
     $afterWidget = RevSliderFunctions::getVal($args, "after_widget");
     $beforeTitle = RevSliderFunctions::getVal($args, "before_title");
     $afterTitle = RevSliderFunctions::getVal($args, "after_title");
     echo $beforeWidget;
     if (!empty($title)) {
         echo $beforeTitle . $title . $afterTitle;
     }
     RevSliderOutput::putSlider($sliderID, $homepage);
     add_action('wp_head', array($this, 'writeCSS'));
     echo $afterWidget;
 }
Example #22
0
<?php

if (!defined('ABSPATH')) {
    exit;
}
//get taxonomies with cats
$postTypesWithCats = RevSliderOperations::getPostTypesWithCatsForClient();
$jsonTaxWithCats = RevSliderFunctions::jsonEncodeForClientSide($postTypesWithCats);
//check existing slider data:
$sliderID = self::getGetVar('id');
$arrFieldsParams = array();
if (!empty($sliderID)) {
    $slider = new RevSlider();
    $slider->initByID($sliderID);
    //get setting fields
    $settingsFields = $slider->getSettingsFields();
    $arrFieldsMain = $settingsFields['main'];
    $arrFieldsParams = $settingsFields['params'];
    $linksEditSlides = self::getViewUrl(RevSliderAdmin::VIEW_SLIDE, 'id=new&slider=' . intval($sliderID));
    require self::getPathTemplate('edit-slider');
} else {
    require self::getPathTemplate('create-slider');
}
			</span>
		</div>
	</form>
	<!-- END OF AMAZING TOOLBAR -->
	<?php 
$slidertype = $slider->getParam("slider_type", "fullwidth");
$style .= ' margin: 0 auto;';
$tempwidth_jq = $maxbgwidth;
if ($slidertype == 'fullwidth' || $slidertype == 'fullscreen') {
    $style_wrapper .= ' width: 100%;';
    $maxbgwidth = "";
} else {
    $style_wrapper .= $style;
}
$hor_lines = RevSliderFunctions::getVal($settings, "hor_lines", "");
$ver_lines = RevSliderFunctions::getVal($settings, "ver_lines", "");
?>
	<script>
		var __slidertype  = "<?php 
echo $slidertype;
?>
";
	</script>
	<div id="thelayer-editor-wrapper">
		<!-- THE EDITOR PART -->
		<div id="horlinie"><div id="horlinetext">0</div></div>
		<div id="verlinie"><div id="verlinetext">0</div></div>
		<div id="hor-css-linear">
			<ul class="linear-texts"></ul>
			<div class="helplines-offsetcontainer">
				<?php 
Example #24
0
            if (intval($numSlides) == 0) {
                $first_slide_id = 'new&slider=' . $id;
            } else {
                $slides = $slider->getSlides(false);
                if (!empty($slides)) {
                    $first_slide_id = $slides[key($slides)]->getID();
                    //$first_slide_id = ($isFromPosts == true) ? $slides[key($slides)]->templateID : $slides[key($slides)]->getID();
                    $first_slide_image_thumb = $slides[key($slides)]->get_image_attributes($slider_type);
                } else {
                    $first_slide_id = 'new&slider=' . $id;
                }
            }
            $editLink = self::getViewUrl(RevSliderAdmin::VIEW_SLIDER, "id={$id}");
            $orderSlidesLink = $isFromPosts ? self::getViewUrl(RevSliderAdmin::VIEW_SLIDES, "id={$id}") : '';
            $editSlidesLink = self::getViewUrl(RevSliderAdmin::VIEW_SLIDE, "id={$first_slide_id}");
            $showTitle = RevSliderFunctions::getHtmlLink($editLink, $showTitle);
        } catch (Exception $e) {
            $errorMessage = "ERROR: " . $e->getMessage();
            $strSource = "";
            $numSlides = "";
            $isFromPosts = false;
        }
        ?>
			<li class="tls-slide tls-stype-all tls-stype-<?php 
        echo $slider_type;
        ?>
" data-favorit="<?php 
        echo $is_favorite ? 'a' : 'b';
        ?>
" data-id="<?php 
        echo $id;
Example #25
0
 /**
  * replace all css classes in all layers
  * @since: 5.0
  */
 public function replaceCssClass($css_from, $css_to)
 {
     $this->validateInited();
     $isUpdated = false;
     if (!empty($this->arrLayers)) {
         foreach ($this->arrLayers as $key => $layer) {
             $caption = RevSliderFunctions::getVal($layer, 'style');
             if ($caption == $css_from) {
                 $this->arrLayers[$key]['style'] = $css_to;
                 $isUpdated = true;
             }
         }
     }
     if ($isUpdated == true) {
         $this->updateLayersInDB();
     }
 }
Example #26
0
</span>
						</span>

						<span class="slide-col col-handle">
							<div class="col-handle-inside">
								<span class="ui-icon ui-icon-arrowthick-2-n-s"></span>
							</div>
						</span>
						<div class="clear"></div>
						<?php 
    if ($showLangs == true) {
        ?>
							<ul class="list_slide_icons">
								<?php 
        foreach ($arrChildLangs as $arrLang) {
            $isParent = RevSliderFunctions::boolToStr($arrLang["isparent"]);
            $childSlideID = $arrLang["slideid"];
            $lang = $arrLang["lang"];
            $urlFlag = RevSliderWpml::getFlagUrl($lang);
            $langTitle = RevSliderWpml::getLangTitle($lang);
            ?>
									<li>
										<img id="icon_lang_<?php 
            echo $childSlideID;
            ?>
" class="icon_slide_lang" src="<?php 
            echo $urlFlag;
            ?>
" title="<?php 
            echo $langTitle;
            ?>
Example #27
0
			<div class="tp-arrows tp-rightarrow"></div>
		</div>
		<div class="rs-bullets-preview"></div>
		<div class="rs-thumbs-preview"></div>
		<div class="rs-tabs-preview"></div>
	</div>
	
	<a class="button-primary revgreen" id="rs-save-navigation-style" href="javascript:void(0);"><i class="rs-icon-save-light"></i><?php 
_e('Save All Changes', REVSLIDER_TEXTDOMAIN);
?>
</a>
	
	
	<script type="text/javascript">
		var rs_navigations = jQuery.parseJSON(<?php 
echo RevSliderFunctions::jsonEncodeForClientSide($navigs);
?>
) || new Array();

		jQuery(document).ready(function(){
			var rs_current_editing = false;
			var cur_edit_type = false;
			var latest_nav_id = 0;
			var global_navigation_template = wp.template( "rs-navigation-wrap" );
			var global_navigation_template_header = wp.template( "rs-navigation-header-wrap" );
			
			rs_add_all_navigation_entries();
			
			function rs_add_navigation_header(title, type){
				var data = { title: title, type: type };
				
 /**
  * 
  * get cats and taxanomies data from the category id's
  */
 public static function getCatAndTaxData($catIDs)
 {
     if (is_string($catIDs)) {
         $catIDs = trim($catIDs);
         if (empty($catIDs)) {
             return array("tax" => "", "cats" => "");
         }
         $catIDs = explode(",", $catIDs);
     }
     $strCats = "";
     $arrTax = array();
     foreach ($catIDs as $cat) {
         if (strpos($cat, "option_disabled") === 0) {
             continue;
         }
         $pos = strrpos($cat, "_");
         if ($pos === false) {
             RevSliderFunctions::throwError("The category is in wrong format");
         }
         $taxName = substr($cat, 0, $pos);
         $catID = substr($cat, $pos + 1, strlen($cat) - $pos - 1);
         $arrTax[$taxName] = $taxName;
         if (!empty($strCats)) {
             $strCats .= ",";
         }
         $strCats .= $catID;
     }
     $strTax = "";
     foreach ($arrTax as $taxName) {
         if (!empty($strTax)) {
             $strTax .= ",";
         }
         $strTax .= $taxName;
     }
     $output = array("tax" => $strTax, "cats" => $strCats);
     return $output;
 }
 public static function parseDbArrayToCss($cssArray, $nl = "\n\r")
 {
     $css = '';
     $deformations = self::get_deformation_css_tags();
     $transparency = array('color' => 'color-transparency', 'background-color' => 'background-transparency', 'border-color' => 'border-transparency');
     $check_parameters = array('border-width' => 'px', 'border-radius' => 'px', 'padding' => 'px', 'font-size' => 'px', 'line-height' => 'px');
     foreach ($cssArray as $id => $attr) {
         $stripped = '';
         if (strpos($attr['handle'], '.tp-caption') !== false) {
             $stripped = trim(str_replace('.tp-caption', '', $attr['handle']));
         }
         $attr['advanced'] = json_decode($attr['advanced'], true);
         $styles = json_decode(str_replace("'", '"', $attr['params']), true);
         $styles_adv = $attr['advanced']['idle'];
         if ($stripped == '.News-Title') {
             /*echo '<pre>';
             		print_r($attr);
             		echo '</pre>';
             		exit;*/
         }
         $css .= $attr['handle'];
         if (!empty($stripped)) {
             $css .= ', ' . $stripped;
         }
         $css .= " {" . $nl;
         if (is_array($styles) || is_array($styles_adv)) {
             if (is_array($styles)) {
                 foreach ($styles as $name => $style) {
                     if (in_array($name, $deformations) && $name !== 'css_cursor') {
                         continue;
                     }
                     if (!is_array($name) && isset($transparency[$name])) {
                         //the style can have transparency!
                         if (isset($styles[$transparency[$name]]) && $style !== 'transparent') {
                             $style = RevSliderFunctions::hex2rgba($style, $styles[$transparency[$name]] * 100);
                         }
                     }
                     if (!is_array($name) && isset($check_parameters[$name])) {
                         $style = RevSliderFunctions::add_missing_val($style, $check_parameters[$name]);
                     }
                     if (is_array($style)) {
                         $style = implode(' ', $style);
                     }
                     $ret = self::check_for_modifications($name, $style);
                     if ($ret['name'] == 'cursor' && $ret['style'] == 'auto') {
                         continue;
                     }
                     $css .= $ret['name'] . ':' . $ret['style'] . ";" . $nl;
                 }
             }
             if (is_array($styles_adv)) {
                 foreach ($styles_adv as $name => $style) {
                     if (in_array($name, $deformations) && $name !== 'css_cursor') {
                         continue;
                     }
                     if (is_array($style)) {
                         $style = implode(' ', $style);
                     }
                     $ret = self::check_for_modifications($name, $style);
                     if ($ret['name'] == 'cursor' && $ret['style'] == 'auto') {
                         continue;
                     }
                     $css .= $ret['name'] . ':' . $ret['style'] . ";" . $nl;
                 }
             }
         }
         $css .= "}" . $nl . $nl;
         //add hover
         $setting = json_decode($attr['settings'], true);
         if (isset($setting['hover']) && $setting['hover'] == 'true') {
             $hover = json_decode(str_replace("'", '"', $attr['hover']), true);
             $hover_adv = $attr['advanced']['hover'];
             if (is_array($hover) || is_array($hover_adv)) {
                 $css .= $attr['handle'] . ":hover";
                 if (!empty($stripped)) {
                     $css .= ', ' . $stripped . ':hover';
                 }
                 $css .= " {" . $nl;
                 if (is_array($hover)) {
                     foreach ($hover as $name => $style) {
                         if (in_array($name, $deformations) && $name !== 'css_cursor') {
                             continue;
                         }
                         if (!is_array($name) && isset($transparency[$name])) {
                             //the style can have transparency!
                             if (isset($hover[$transparency[$name]]) && $style !== 'transparent') {
                                 $style = RevSliderFunctions::hex2rgba($style, $hover[$transparency[$name]] * 100);
                             }
                         }
                         if (!is_array($name) && isset($check_parameters[$name])) {
                             $style = RevSliderFunctions::add_missing_val($style, $check_parameters[$name]);
                         }
                         if (is_array($style)) {
                             $style = implode(' ', $style);
                         }
                         $ret = self::check_for_modifications($name, $style);
                         if ($ret['name'] == 'cursor' && $ret['style'] == 'auto') {
                             continue;
                         }
                         $css .= $ret['name'] . ':' . $ret['style'] . ";" . $nl;
                     }
                 }
                 if (is_array($hover_adv)) {
                     foreach ($hover_adv as $name => $style) {
                         if (in_array($name, $deformations) && $name !== 'css_cursor') {
                             continue;
                         }
                         if (is_array($style)) {
                             $style = implode(' ', $style);
                         }
                         $ret = self::check_for_modifications($name, $style);
                         if ($ret['name'] == 'cursor' && $ret['style'] == 'auto') {
                             continue;
                         }
                         $css .= $ret['name'] . ':' . $ret['style'] . ";" . $nl;
                     }
                 }
                 $css .= "}" . $nl . $nl;
             }
         }
     }
     return $css;
 }
Example #30
0
 /**
  * 
  * get settings object
  */
 protected static function getSettings($key)
 {
     if (!isset(self::$arrSettings[$key])) {
         RevSliderFunctions::throwError("Settings {$key} not found");
     }
     $settings = self::$arrSettings[$key];
     return $settings;
 }