PATH:
home
/
letacommog
/
lavenue
/
wp-content
/
plugins
/
Ultimate_VC_Addons
/
modules
<?php /* * Module - Sticky Section */ if( !class_exists( 'Ultimate_Sticky_Section' ) ) { /** * */ class Ultimate_Sticky_Section { function __construct() { if ( Ultimate_VC_Addons::$uavc_editor_enable ) { add_action( 'init', array( $this, 'sticky_shortcode_mapper') ); } add_shortcode( 'ult_sticky_section', array( $this, 'sticky_shortcode') ); add_action( 'wp_enqueue_scripts', array( $this, 'ult_sticky_section_scripts' ), 1 ); //add_action( 'wp_enqueue_scripts', array( $this , 'enqueue_style' ) ); } /* Contructor End*/ function sticky_shortcode( $atts, $content = null ) { $el_class = ''; $sticky_gutter = $sticky_offset_class = ''; $sticky_width = $sticky_custom_width = ''; $stick_behaviour = ''; $sticky_position = $sticky_position_lr = $permanent_lr = ''; $btn_mobile = ''; extract( shortcode_atts( array( "el_class" => "", "sticky_gutter" => "", "sticky_offset_class" => "", "sticky_width" => "", "sticky_custom_width" => "", "stick_behaviour" => "", "sticky_position" => "", "sticky_position_lr" => "left", "permanent_lr" => "", "btn_mobile" => "", "btn_support" => "", ), $atts ) ); $sticky_classes_data = array(); $sticky_gutter_class = " data-sticky_gutter_class= '"; $sticky_gutter_id = " data-sticky_gutter_id= '"; $class_flag = $id_flag = -1; $stick_behaviour_data = ""; $left_right_postion = ""; $data_mobile = ""; $data_support = ""; if($btn_mobile == "enable"){ $data_mobile = " data-mobile='yes'"; }else{ $data_mobile = " data-mobile='no'"; } if($btn_support == "enable"){ $data_support = " data-support='yes'"; }else{ $data_support = " data-support='no'"; } //gutter classes explode if( $sticky_offset_class != '' ){ //$sticky_class = " data-sticky_gutter_class= '"; if ( strpos( $sticky_offset_class, ',' ) !== false ) { $sticky_classes_data = explode( ',', $sticky_offset_class ); //str_replace( ',', '', trim( $sticky_offset_class ) ); foreach($sticky_classes_data as $data) { if ( strpos( $data, '.' ) !== false ) { $class_flag = 0; $sticky_gutter_class .= trim( $data ); $sticky_gutter_class .= " "; } elseif (strpos( $data, '#' ) !== false ) { $id_flag = 0; $sticky_gutter_id .= trim( $data ); $sticky_gutter_id .= " "; } } // $sticky_gutter_class .= " '"; // $sticky_gutter_id .= " '"; //echo ( $sticky_classes[0] ); } //check ',' in string end if else { if ( strpos( $sticky_offset_class, '.' ) !== false ) { $class_flag = 0; $sticky_gutter_class .= trim( $sticky_offset_class ); } elseif ( strpos( $sticky_offset_class, '#' ) !== false ) { $id_flag = 0; $sticky_gutter_id .= trim( $sticky_offset_class ); } }//checked ',' in string end else if ( $class_flag != 0 ) { $sticky_gutter_class = ""; } else { $sticky_gutter_class = rtrim( $sticky_gutter_class)."'"; } if ( $id_flag != 0 ) { $sticky_gutter_id = ""; } else { $sticky_gutter_id = rtrim( $sticky_gutter_id )."'"; } }//check sticky_offset_class end if else{ $sticky_gutter_class = ""; $sticky_gutter_id = ""; } //check sticky_offset_class end else //width data if ( $sticky_width == 'customwidth' ) { //$sticky_custom_width = " data-sticky_customwidth= '"; if ( $sticky_custom_width != '' ) { if ( strpos( $sticky_custom_width, 'px' ) !== false || strpos( $sticky_custom_width, 'em' ) !== false || strpos( $sticky_custom_width, '%' ) !== false ) { $sticky_custom_width .= " data-sticky_customwidth= '".esc_attr($sticky_custom_width); } else { $sticky_custom_width .= " data-sticky_customwidth= '".esc_attr($sticky_custom_width)."px"; } } else { $sticky_custom_width .= " data-sticky_customwidth= '60%"; } $sticky_custom_width .= "'"; //$sticky_custom_width != '' ? " data-sticky_customwidth= '".$sticky_custom_width."px'" : " data-sticky_customwidth= '50px'" ; } //sticky bahviour $stick_behaviour_data = $stick_behaviour != '' ? " data-stick_behaviour= '".esc_attr($stick_behaviour)."'" : " data-stick_behaviour= 'stick_with_scroll_row'" ; //permanent data if ( $stick_behaviour == 'stick_permanent') { $left_right_postion = " data-lr_position= '".esc_attr($sticky_position_lr)."' "; //$left_right_postion .= if ( $permanent_lr != "" ) { if ( strpos( $permanent_lr, 'px' ) !== false || strpos( $permanent_lr, 'em' ) !== false || strpos( $permanent_lr, '%' ) !== false ) { $left_right_postion .= " data-lr_value= '".esc_attr($permanent_lr); } else { $left_right_postion .= " data-lr_value= '".esc_attr($permanent_lr)."px"; } } else { $left_right_postion .= "data-lr_value= '0"; } //$permanent_lr != "" ? " data-lr_value= '".$permanent_lr."px" :"data-lr_value= '0"; $left_right_postion .= "'"; } $custom_data = $sticky_gutter != '' ? " data-gutter= '".esc_attr($sticky_gutter)."'": '' ; $custom_data .= $stick_behaviour_data ; $custom_data .= $left_right_postion ; $custom_data .= $sticky_gutter_class." ".$sticky_gutter_id; $custom_data .= $sticky_width != '' ? " data-sticky_width= '".esc_attr($sticky_width)."'": '' ; $custom_data .= $sticky_custom_width ; $custom_data .= $sticky_position != '' ? " data-sticky_position= '".esc_attr($sticky_position)."'": " data-sticky_position= 'top'" ; $custom_data .= $data_mobile; $custom_data .= $data_support; $output = '<div class="ult_row_spacer">'; $output .= '<div class="ult-sticky-anchor">'; $output .= '<div class="ult-sticky-section ult-sticky '.esc_attr($el_class).'" '.$custom_data.'>'; $output .= do_shortcode( $content ); $output .= '</div>'; $output .= '<div class="ult-space"></div>'; $output .= '</div></div>'; return $output; }// end function sticky_shortcode function sticky_shortcode_mapper() { if ( function_exists( 'vc_map' ) ) { vc_map( array( "name" => __("Sticky Section", "ultimate_vc"), "base" => "ult_sticky_section", "icon" => "vc_icon_sticky_section", "class" => "", "as_parent" => array('except' => 'ult_sticky_section'), "content_element" => true, "controls" => "full", "show_settings_on_create" => true, "category" => "Ultimate VC Addons", "description" => __("Make any elements sticky anywhere.",'ultimate_vc'), "params" => array( //gutter option /*array( "type" => "dropdown", "class" => "", "heading" => __( "Gutter Space", "ultimate_vc" ), "param_name" => "gutter", "value" => array( 'Numerical Value' => 'num_value', 'Offset Container' => 'offset_container' ), "description" => __( "Set top/bottom position of sticky section", "ultimate_vc" ) ),*/ //// sticky behaviour array( "type" => "dropdown", "class" => "", "heading" => __( "Stick Behaviour", "ultimate_vc" ), "param_name" => "stick_behaviour", "value" => array( 'Stick with Row' => 'stick_with_scroll_row', 'Stick with Window' => 'stick_with_scroll', 'Stick Permanent' => 'stick_permanent' ), "description" => __( "Set behaviour of sticky section", "ultimate_vc" ) ), //sticky offset class /*array( "type" => "textfield", "class" => "", "heading" => __( "Offset Container", "ultimate_vc" ), "param_name" => "sticky_offset_class", "value" => "", "description" => __( "Do you already have a fixed horizontal header on the page? Add Class name or Id.<br>Ex: .class1, .class2, #ID1 ", "ultimate_vc" ), ),*/ //sticky section width array( "type" => "dropdown", "class" => "", "heading" => __( "Sticky Section Width", "ultimate_vc" ), "param_name" => "sticky_width", "value" => array( 'Default' => '', 'Full Width' => 'fullwidth', 'Custom Width' => 'customwidth' ), "description" => __( "Set the width of container", "ultimate_vc" ), "dependency" => array( "element" => "stick_behaviour", "value" => array( 'stick_with_scroll', 'stick_permanent' ) ) ), //sticy section custom width array( "type" => "textfield", "heading" => __("Custom Width", "ultimate_vc"), "param_name" => "sticky_custom_width", "description" => __("Ex : 20px, 20%, 20em", "ultimate_vc"), "dependency" => array( "element" => "sticky_width", "value" => "customwidth" ) ), //sticky section position array( "type" => "dropdown", "class" => "", "heading" => __( "Sticky Section Postion Top / Bottom", "ultimate_vc" ), "param_name" => "sticky_position", "value" => array( 'Top' => '', 'Bottom' => 'bottom' ), "description" => __( "Set the postion of container", "ultimate_vc" ), "dependency" => array( "element" => "stick_behaviour", "value" => array( 'stick_permanent' ) ) ), //permanent position array( "type" => "dropdown", "class" => "", "heading" => __( "Sticky Section Postion Left / Right", "ultimate_vc" ), "param_name" => "sticky_position_lr", "value" => array( 'Left' => 'left', 'Right' => 'right' ), "description" => __( "Default is Left : 0px ", "ultimate_vc" ), "dependency" => array( "element" => "stick_behaviour", "value" => "stick_permanent" ) ), array( "type" => "textfield", "heading" => __( "Value", "ultimate_vc" ), "param_name" => "permanent_lr", "description" => __("Ex : 20px, 20%, 20em", "ultimate_vc"), "dependency" => array( "element" => "sticky_position_lr", "value" => array( "left", "right") ) ), //num value array( "type" => "number", "heading" => __("Gutter Space", "ultimate_vc"), "param_name" => "sticky_gutter", "suffix" => "px", "description" => __("Ex : 20", "ultimate_vc"), ), /*array( "type" => "number", "heading" => __("Postion From Right", "ultimate_vc"), "param_name" => "permanent_right", "description" => __("Ex : 20px, 20%, 20em", "ultimate_vc"), "dependency" => array( "element" => "stick_behaviour", "value" => "stick_permanent" ) ),*/ /*array( "type" => "ultimate_spacing", "heading" => __("Postion", "ultimate_vc"), "param_name" => "position", "mode" => "padding", // margin/padding "unit" => "px", // [required] px,em,%,all Default all "positions" => array( // Also set 'defaults' __("Top","ultimate_vc") => "", __("Right","ultimate_vc") => "", __("Bottom","ultimate_vc") => "", __("Left","ultimate_vc") => "" ), "dependency" => array( "element" => "stick_behaviour", "value" => "stick_permanent" ) ),*/ array( "type" => "ult_switch", "class" => "", "heading" => __("Enable on Mobile", "ultimate_vc"), "param_name" => "btn_mobile", "value" => "", "options" => array( "enable" => array( "label" => "", "on" => "Yes", "off" => "No", ) ), "description" => __("Enable Sticky Element on Smartphone.", "ultimate_vc"), "dependency" => Array("element" => "stick_behaviour", "value" => array( 'stick_with_scroll_row', 'stick_with_scroll','stick_permanent' )), ), array( "type" => "ult_switch", "class" => "", "heading" => __("Enable support", "ultimate_vc"), "param_name" => "btn_support", "value" => "", "options" => array( "enable" => array( "label" => "", "on" => "Yes", "off" => "No", ) ), "description" => __("Enable this incase Sticky Element not working.", "ultimate_vc"), "dependency" => Array("element" => "stick_behaviour", "value" => array( 'stick_with_scroll' )), ), array( "type" => "textfield", "heading" => __("Extra class name", "ultimate_vc"), "param_name" => "el_class", "description" => __("If you wish to style particular content element differently, then use this field to add a class name and then refer to it in your css file.", "ultimate_vc") ), ), "js_view" => 'VcColumnView' ) );//end vc_map }//end vc_map checker }//end function sticky_shotcode_mapper //Add Script function ult_sticky_section_scripts() { Ultimate_VC_Addons::ultimate_register_script( 'ult_sticky_js', 'fixto', false, array( 'jquery' ), ULTIMATE_VERSION, true ); Ultimate_VC_Addons::ultimate_register_script( 'ult_sticky_section_js', 'sticky-section', false, array('ult_sticky_js'), ULTIMATE_VERSION, true ); Ultimate_VC_Addons::ultimate_register_style( 'ult_sticky_section_css', 'sticky-section' ); }//ult_sticky_section_class }//end class Ultimate_Sticky_Section // Instantiate the class new Ultimate_Sticky_Section; if ( class_exists( 'WPBakeryShortCodesContainer' ) && !class_exists( 'WPBakeryShortCode_ult_sticky_section' ) ) { class WPBakeryShortCode_ult_sticky_section extends WPBakeryShortCodesContainer { } } }
[+]
..
[-] ultimate_font_manager.php
[edit]
[-] ultimate_animation.php
[edit]
[-] ultimate_team.php
[edit]
[-] ultimate_icon_timeline.php
[edit]
[-] ultimate_flip_box.php
[edit]
[-] ultimate_functions.php
[edit]
[-] ultimate_google_trends.php
[edit]
[-] ultimate_buttons.php
[edit]
[-] ultimate_icon_manager.php
[edit]
[-] ultimate_expandable_section.php
[edit]
[-] ultimate_info_box.php
[edit]
[-] ultimate_icons.php
[edit]
[-] ultimate_list_icon.php
[edit]
[-] ultimate_fancy_text.php
[edit]
[-] ultimate_carousel.php
[edit]
[-] ultimate_swatch_book.php
[edit]
[-] ultimate_stats_counter.php
[edit]
[-] ultimate_image_separator.php
[edit]
[-] ultimate_info_circle.php
[edit]
[-] ultimate_info_tables.php
[edit]
[-] ultimate_interactive_banners.php
[edit]
[-] ultimate_parallax.php
[edit]
[-] ultimate_headings.php
[edit]
[-] ultimate_video_banner.php
[edit]
[-] ultimate_hotspot.php
[edit]
[-] ultimate_info_banner.php
[edit]
[-] ultimate_hightlight_box.php
[edit]
[-] utlimate-tab-backend.php
[edit]
[-] ultimate_sticky_section.php
[edit]
[-] ultimate_modals.php
[edit]
[-] ultimate_content_box.php
[edit]
[-] ultimate_google_maps.php
[edit]
[-] ultimate_countdown.php
[edit]
[-] ultimate_info_list.php
[edit]
[-] ultimate_spacer.php
[edit]
[-] ultimate_tab.php
[edit]
[-] ultimate_range_slider.php
[edit]
[-] ultimate_dual_button.php
[edit]
[-] ultimate_videos.php
[edit]
[-] ultimate_ihover.php
[edit]
[-] ultimate_pricing_tables.php
[edit]
[-] ultimate_interactive_banner_2.php
[edit]
[-] ultimate_just_icon.php
[edit]
[-] ultimate_link.php
[edit]
[-] index.php
[edit]