/home/arranoyd/telegastro/wp-content/plugins/Ultimate_VC_Addons/modules/ultimate_videos.php
<?php
/*
* Add-on Name: Ultimate Video
* Add-on URI: http://dev.brainstormforce.com
*/
if(!class_exists("Ultimate_Videos")){
class Ultimate_Videos{
//static $add_plugin_script;
function __construct(){
if ( Ultimate_VC_Addons::$uavc_editor_enable ) {
add_action("init",array($this,"ultimate_videos_module_init"));
}
add_shortcode("ultimate_video",array($this,"ultimate_videos_module_shortcode"));
add_action("wp_enqueue_scripts", array($this, "register_videos_module_assets"),1);
}//end-of-constructor
function register_videos_module_assets()
{
Ultimate_VC_Addons::ultimate_register_style( 'ultimate-videos-style', 'video_module' );
Ultimate_VC_Addons::ultimate_register_script( 'ultimate-videos-script', 'video_module', false, array( 'jquery' ), ULTIMATE_VERSION, false );
}//end-of-register-style-script-function
/**
* Getting the video ID
*
*/
public function get_video_id($setting) {
$id = '';
if ( 'uv_iframe' == $setting['video_type'] ) {
$url = $setting['u_video_url'];
if ( preg_match( '~^(?:https?://)? (?:www[.])?(?:youtube[.]com/watch[?]v=|youtu[.]be/)([^&]{11})~x', $url ) ) {
if ( preg_match( '/[\\?\\&]v=([^\\?\\&]+)/', $url, $matches ) ) {
$id = $matches[1];
}
}
} elseif ( 'vimeo_video' == $setting['video_type'] ) {
$url = $setting['vimeo_video_url'];
if ( preg_match( '/https?:\/\/(?:www\.)?vimeo\.com\/\d{8}/', $url ) ) {
$id = preg_replace( '/[^\/]+[^0-9]|(\/)/', '', rtrim( $url, '/' ) );
}
}
return $id;
}
/**
* Getting the video url
*
*/
public function get_url( $setting, $params ) {
if ( 'vimeo_video' == $setting['video_type'] ) {
$url = 'https://player.vimeo.com/video/';
} else {
$cookie = '';
if ( 'on' == $setting['yt_privacy_mode'] ) {
$cookie = '-nocookie';
}
$url = 'https://www.youtube' . $cookie . '.com/embed/';
}
$url = add_query_arg( $params, $url . $this->get_video_id($setting) );
$url .= ( empty( $params ) ) ? '?' : '&';
$url .= 'autoplay=1';
if ( 'vimeo_video' == $setting['video_type'] && '' != $setting['vimeo_start_time'] ) {
$time = date( 'H\hi\ms\s', $setting['vimeo_start_time'] );
$url .= '#t=' . $time;
}
return $url;
}
/**
* Returns Video Thumbnail Image.
*
*
*/
public function get_video_thumb( $setting ) {
$id = $this->get_video_id($setting);
if ( '' == $this->get_video_id($setting) ) {
return '';
}
if ( 'custom' == $setting['thumbnail'] ) {
$thumb = $setting['custom_thumb'];
if($thumb !== ''){
$img = apply_filters('ult_get_img_single', $thumb, 'url');
$img_info = esc_url(apply_filters( 'ultimate_images', $img ));
return $img_info;
}
}
else {
if ( 'uv_iframe' == $setting['video_type'] ) {
$thumb = 'https://i.ytimg.com/vi/' . $id . '/' . apply_filters( 'ultv_video_youtube_image_quality', $setting['default_thumb'] ) . '.jpg';
} else {
$vimeo = unserialize( file_get_contents( "https://vimeo.com/api/v2/video/$id.php" ) );
$thumb = str_replace( '_640', '_840', $vimeo[0]['thumbnail_large'] );
}
}
return $thumb;
}
/**
* Get embed params.
*
* Retrieve video widget embed parameters.
*/
public function get_embed_params($setting) {
$params = array();
if ( 'uv_iframe' === $setting['video_type'] ) {
$youtube_options = array( 'autoplay', 'rel', 'controls', 'mute', 'modestbranding' );
foreach ( $youtube_options as $option ) {
if ( 'autoplay' == $option ) {
if ( 'on' === $setting['yt_autoplay'] ) {
$params[ $option ] = '1';
}
continue;
}
if ( 'rel' == $option ) {
$value = ( 'on' === $setting['yt_sugg_video'] ) ? '1' : '0';
$params[ $option ] = $value;
}
if ( 'controls' == $option ) {
$value = ( 'on' === $setting['yt_play_control'] ) ? '1' : '0';
$params[ $option ] = $value;
}
if ( 'mute' == $option ) {
$value = ( 'on' === $setting['yt_mute_control'] ) ? '1' : '0';
$params[ $option ] = $value;
}
if ( 'modestbranding' == $option ) {
$value = ( 'on' === $setting['yt_modest_branding'] ) ? '1' : '0';
$params[ $option ] = $value;
}
$params['start'] = $setting['yt_start_time'];
$params['end'] = $setting['yt_stop_time'];
}
}
if ( 'vimeo_video' === $setting['video_type'] ) {
$vimeo_options = array( 'autoplay', 'loop', 'title', 'portrait', 'byline' );
foreach ( $vimeo_options as $option ) {
if ( 'autoplay' == $option ) {
if ( 'on' === $setting['vimeo_autoplay'] ) {
$params[ $option ] = '1';
}
continue;
}
if ( 'loop' === $option ) {
$value = ( 'on' === $setting['vimeo_loop'] ) ? '1' : '0';
$params[ $option ] = $value;
}
if ( 'title' === $option ) {
$value = ( 'on' === $setting['vimeo_intro_title'] ) ? '1' : '0';
$params[ $option ] = $value;
}
if ( 'portrait' === $option ) {
$value = ( 'on' === $setting['vimeo_intro_portrait'] ) ? '1' : '0';
$params[ $option ] = $value;
}
if ( 'byline' === $option ) {
$value = ( 'on' === $setting['vimeo_intro_byline'] ) ? '1' : '0';
$params[ $option ] = $value;
}
}
$params['color'] = str_replace( '#', '', $setting['vimeo_control_color'] );
$params['autopause'] = '0';
}
return $params;
}
/**
* Returns Vimeo Headers.
*
*
*/
public function get_header_wrap( $setting ) {
if ( 'vimeo_video' != $setting['video_type'] ) {
return;
}
$id = $this->get_video_id( $setting );
$html = "";
if ( isset( $id ) && '' != $id ) {
$vimeo = unserialize( file_get_contents( "https://vimeo.com/api/v2/video/$id.php" ) );
if ( 'on' == $setting['vimeo_intro_portrait'] ||
'on' == $setting['vimeo_intro_title'] ||
'on' == $setting['vimeo_intro_byline']
) {
$html = '<div class="ultv-vimeo-wrap">';
if ( 'on' == $setting['vimeo_intro_portrait'] ) {
$html .= '<div class="ultv-vimeo-portrait">
<a href="'. $vimeo[0]['user_url'].'"><img src="'.$vimeo[0]['user_portrait_huge'].'"></a></div>';
}
if ( 'on' == $setting['vimeo_intro_title'] ||
'on' == $setting['vimeo_intro_byline']
) {
$html .= '<div class="ultv-vimeo-headers">';
if ( 'on' == $setting['vimeo_intro_title'] ) {
$html .= '<div class="ultv-vimeo-title">
<a href="' .$setting['vimeo_video_url'].'">'.$vimeo[0]['title'].'</a>
</div>';
}
if ( 'on' == $setting['vimeo_intro_byline'] ) {
$html .='<div class="ultv-vimeo-byline">
'.esc_attr( 'from ', 'ultimate_vc' ). '<a href="'. $setting['vimeo_video_url'].'"> '.$vimeo[0]['user_name'].'</a>
</div>';
}
$html .='</div>';
}
$html .='</div>';
}
}
return $html;
}
/**
* Render the video
*
*/
public function get_video_embed( $setting, $uid ) {
$id = $this->get_video_id( $setting );
$embed_param = $this->get_embed_params( $setting );
$src = $this->get_url( $setting, $embed_param );
$main_video_style_inline = $main_video_responsive = $html = $style = $hover_color = "";
$device = ( false !== ( stripos( $_SERVER['HTTP_USER_AGENT'], 'iPhone' ) ) ? 'true' : 'false' );
if ( 'uv_iframe' == $setting['video_type'] ) {
$autoplay = ( 'on' == $setting['yt_autoplay'] ) ? '1' : '0';
} else {
$autoplay = ( 'on' == $setting['vimeo_autoplay'] ) ? '1' : '0';
}
if ( 'defaulticon' == $setting['play_source'] ){
$setting['play_size'] = 'width:'.$setting['play_size'].'px';
if( 'uv_iframe' === $setting['video_type'] ){
$html = '<svg height="100%" version="1.1" viewBox="0 0 68 48" width="100%"><path class="ultv-youtube-icon-bg" d="m .66,37.62 c 0,0 .66,4.70 2.70,6.77 2.58,2.71 5.98,2.63 7.49,2.91 5.43,.52 23.10,.68 23.12,.68 .00,-1.3e-5 14.29,-0.02 23.81,-0.71 1.32,-0.15 4.22,-0.17 6.81,-2.89 2.03,-2.07 2.70,-6.77 2.70,-6.77 0,0 .67,-5.52 .67,-11.04 l 0,-5.17 c 0,-5.52 -0.67,-11.04 -0.67,-11.04 0,0 -0.66,-4.70 -2.70,-6.77 C 62.03,.86 59.13,.84 57.80,.69 48.28,0 34.00,0 34.00,0 33.97,0 19.69,0 10.18,.69 8.85,.84 5.95,.86 3.36,3.58 1.32,5.65 .66,10.35 .66,10.35 c 0,0 -0.55,4.50 -0.66,9.45 l 0,8.36 c .10,4.94 .66,9.45 .66,9.45 z" fill="#1f1f1e" ></path><path d="m 26.96,13.67 18.37,9.62 -18.37,9.55 -0.00,-19.17 z" fill="#fff"></path><path d="M 45.02,23.46 45.32,23.28 26.96,13.67 43.32,22.34 45.02,23.46 z" fill="#ccc"></path></svg>';
}
if('vimeo_video' === $setting['video_type'] ){
$html = '<svg version="1.1" height="100%" width="100%" viewBox="0 14.375 95 66.25"><path class="ultv-vimeo-icon-bg" d="M12.5,14.375c-6.903,0-12.5,5.597-12.5,12.5v41.25c0,6.902,5.597,12.5,12.5,12.5h70c6.903,0,12.5-5.598,12.5-12.5v-41.25c0-6.903-5.597-12.5-12.5-12.5H12.5z"/><polygon fill="#FFFFFF" points="39.992,64.299 39.992,30.701 62.075,47.5 "/></svg>';
}
}
else if ( 'icon' == $setting['play_source'] ) {
$setting['play_size'] = 'font-size:'.$setting['play_size'].'px;';
} else {
$thumb = $setting['play_image'];
$imag = apply_filters('ult_get_img_single', $thumb, 'url');
$html = esc_url(apply_filters( 'ultimate_images', $imag ));
}
if( 'image' == $setting['play_source'] )
{
$setting['play_size'] = 'width:'.$setting['play_size'].'px';
}
/* padding */
if( $setting['padding'] != '' ){
$style = $setting['padding'];
}
/* ---- main heading styles ---- */
if($setting['main_video_font_family'] != '')
{
$mvfont_family = get_ultimate_font_family($setting['main_video_font_family']);
if($mvfont_family)
$main_video_style_inline .= 'font-family:\''.$mvfont_family.'\';';
}
// main video font style
$main_video_style_inline .= get_ultimate_font_style($setting['main_video_style']);
// FIX: set old font size before implementing responsive param
if(is_numeric($setting['main_video_font_size'])) { $setting['main_video_font_size'] = 'desktop:'.$setting['main_video_font_size'].'px;'; }
if(is_numeric($setting['main_video_line_height'])) { $setting['main_video_line_height'] = 'desktop:'.$setting['main_video_line_height'].'px;'; }
// responsive {main} video styles
$args = array(
'target' => '.ult-video.'.$uid. ' .ultv-subscribe-bar',
'media_sizes' => array(
'font-size' => $setting['main_video_font_size'],
'line-height' => $setting['main_video_line_height'],
),
);
$main_video_responsive = get_ultimate_vc_responsive_media_css($args);
if($setting['icon_hover_color'] != ''){
$hover_color = 'data-hoverbg='.esc_attr($setting['icon_hover_color']).' ';}
if($setting['default_hover_color'] != ''){
$hover_color .= 'data-defaulthoverbg='.esc_attr($setting['default_hover_color']).' ';}
$output = '<div class="ultv-video ultv-aspect-ratio-'.esc_attr($setting['aspect_ratio']).' ultv-subscribe-responsive-'.esc_attr($setting['subscribe_bar_responsive']).'" data-videotype="'.esc_attr($setting['video_type']).'">
<div class="ultv-video__outer-wrap" data-autoplay="'.esc_attr($autoplay).'" data-device="'.esc_attr($device).'" '.esc_attr($hover_color).' data-iconbg="'.esc_attr($setting['icon_color']).'" data-overcolor="'.esc_attr($setting['overlay_color']).'" data-defaultbg="'.esc_attr($setting['default_color']).'" data-defaultplay="'.esc_attr($setting['play_source']).'">';
$output .= $this->get_header_wrap( $setting );
$output .= '<div class="ultv-video__play" data-src="'.esc_attr($src).'">
<img class="ultv-video__thumb" src="'.$this->get_video_thumb( $setting ).'"/>
<div class="ultv-video__play-icon '.esc_attr(( 'icon' == $setting['play_source'] ) ? $setting['play_icon'] : '').' ultv-animation-'. esc_attr($setting['hover_animation']).'" style="'.$setting['play_size'].'">';
if('image' == $setting['play_source'] ){
$output .= '<img src="'.esc_attr($html).'"/>';
}
if ( 'defaulticon' == $setting['play_source'] ){
$output .= $html;
}
$output .='</div> </div> </div>';
if ( 'uv_iframe' == $setting['video_type'] && 'on' == $setting['enable_sub_bar'] ) {
$channel_name = ( '' != $setting['yt_channel_name'] ) ? $setting['yt_channel_name'] : '';
$channel_id = ( '' != $setting['yt_channel_id'] ) ? $setting['yt_channel_id'] : '';
$youtube_text = ( '' != $setting['yt_channel_text'] ) ? $setting['yt_channel_text'] : '';
$subscriber_count = ( 'on' == $setting['show_sub_count'] ) ? 'default' : 'hidden';
if( '' != $setting['yt_text_color'])
{
$yt_txt = 'color:'.$setting['yt_text_color'].';';
}
if( '' != $setting['yt_background_color'])
{
$yt_txt_back = 'background-color:'.$setting['yt_background_color'].';';
}
$output .= '<div class="ultv-subscribe-bar ult-responsive" '.$main_video_responsive.' style = "'.esc_attr($yt_txt).' '.esc_attr($yt_txt_back).' '.esc_attr($style).'">
<div class="ultv-subscribe-bar-prefix" style="'.esc_attr($main_video_style_inline).'">'.esc_attr($youtube_text).'</div>
<div class="ultv-subscribe-content">
<script src="https://apis.google.com/js/platform.js"></script> <!-- Need to be enqueued from someplace else -->';
if( 'channel_name' == $setting['chanel_id_name'] ) {
$output .= '<div class="g-ytsubscribe" data-channel="'.esc_attr($channel_name).'" data-count="'.esc_attr($subscriber_count).'"></div>';
} else if( 'channel_id' == $setting['chanel_id_name'] ) {
$output .= '<div class="g-ytsubscribe" data-channelid="'. esc_attr($channel_id).'" data-count="' .esc_attr($subscriber_count).'"></div>';
}
$output .= '</div> </div>';
}
$output .= '</div>';
return $output;
}
//Init function for video module
function ultimate_videos_module_init(){
if(function_exists("vc_map")){
vc_map(
array(
"name" => __("Video","ultimate_vc"),
"base" => "ultimate_video",
"class" => "vc_ultimate_video",
"icon" => "vc_ultimate_video",
"category" => "Ultimate VC Addons",
"description" => __("Embed video without sacrificing Page speed.","ultimate_vc"),
"params" => array(
array(
"type" => "ult_param_heading",
"text" => __("Video","ultimate_vc"),
"param_name" => "video_setting",
"class" => "ult-param-heading",
'edit_field_class' => 'ult-param-heading-wrapper vc_column vc_col-sm-12',
),
array(
"type" => "dropdown",
"class" => "",
"admin_label" => true,
"heading" => __("Video Type", "ultimate_vc"),
"param_name" => "video_type",
"value" =>
array(
__("YouTube Video","ultimate_vc") => "uv_iframe",
__("Vimeo Video","ultimate_vc") => "vimeo_video",
),
),
array(
"type" => "textfield",
"class" => "",
"heading" => __("Enter YouTube URL of the Video", "ultimate_vc"),
"param_name" => "u_video_url",
"value" => "https://www.youtube.com/watch?v=HJRzUQMhJMQ",
"description" => __("Make sure you add the actual URL of the video and not the share URL.<br><b>Valid :</b> https://www.youtube.com/watch?v=HJRzUQMhJMQ<br><b>Invalid :</b> https://youtu.be/HJRzUQMhJMQ ", "ultimate_vc"),
"dependency" => Array("element" => "video_type","value" => array("uv_iframe")),
),
array(
"type" => "number",
"class" => "",
"heading" => __("Start Time", "ultimate_vc"),
"admin_label" => true,
"param_name" => "yt_start_time",
"value" => "",
"suffix" => "seconds",
"dependency" => Array("element" => "video_type","value" => array("uv_iframe")),
),
array(
"type" => "number",
"class" => "",
"heading" => __("Stop Time", "ultimate_vc"),
"admin_label" => true,
"param_name" => "yt_stop_time",
"value" => "",
"suffix" => "seconds",
"description" => __("You may start / stop the video at any point you would like.", "ultimate_vc"),
"dependency" => Array("element" => "video_type","value" => array("uv_iframe")),
),
array(
"type" => "textfield",
"class" => "",
"heading" => __("Enter Vimeo URL of the Video", "ultimate_vc"),
"param_name" => "vimeo_video_url",
"value" => "https://vimeo.com/274860274",
"description" => __("Make sure you add the actual URL of the video and not the share URL.<br><b>Valid :</b> https://vimeo.com/274860274<br><b>Invalid :</b> https://vimeo.com/channels/staffpicks/274860274 ", "ultimate_vc"),
"dependency" => Array("element" => "video_type","value" => array("vimeo_video")),
),
array(
"type" => "number",
"class" => "",
"heading" => __("Start Time", "ultimate_vc"),
"admin_label" => true,
"param_name" => "vimeo_start_time",
"value" => "",
"suffix" => "seconds",
"dependency" => Array("element" => "video_type","value" => array("vimeo_video")),
),
array(
"type" => "dropdown",
"class" => "",
"heading" => __("Aspect Ratio", "ultimate_vc"),
"admin_label" => true,
"param_name" => "aspect_ratio",
"value" =>
array(
__("16:9","ultimate_vc") => "16_9",
__("4:3","ultimate_vc") => "4_3",
__("3:2","ultimate_vc") => "3_2",
),
),
array(
"type" => "ult_param_heading",
"text" => __("Video Option","ultimate_vc"),
"param_name" => "video_option",
"class" => "ult-param-heading",
'edit_field_class' => 'ult-param-heading-wrapper top-margin vc_column vc_col-sm-12',
),
array(
"type" => "ult_switch",
"class" => "",
"heading" => __("Autoplay", "ultimate_vc"),
"param_name" => "yt_autoplay",
"value" => "off",
"options" => array(
"on" => array(
"label" => "",
"on" => __("Yes","ultimate_vc"),
"off" => __("No","ultimate_vc"),
)
),
"description" => __("If autoplay mode is enabled then thumbnail option will never show.", "ultimate_vc"),
"dependency" => Array("element" => "video_type","value" => array("uv_iframe")),
),
array(
"type" => "ult_switch",
"class" => "",
"heading" => __("Suggested Video", "ultimate_vc"),
"param_name" => "yt_sugg_video",
"value" => "off",
"options" => array(
"on" => array(
"label" => "",
"on" => __("Show","ultimate_vc"),
"off" => __("Hide","ultimate_vc"),
)
),
"description" => __("If set to hide - the player will display related videos from the same channel as the video that was just played.<br>If set to show - the player will display the related videos from the random channels.", "ultimate_vc"),
"dependency" => Array("element" => "video_type","value" => array("uv_iframe")),
),
array(
"type" => "ult_switch",
"class" => "",
"heading" => __("Player Control", "ultimate_vc"),
"param_name" => "yt_play_control",
"value" => "on",
"options" => array(
"on" => array(
"label" => "",
"on" => __("Show","ultimate_vc"),
"off" => __("Hide","ultimate_vc"),
)
),
"dependency" => Array("element" => "video_type","value" => array("uv_iframe")),
),
array(
"type" => "ult_switch",
"class" => "",
"heading" => __("Mute", "ultimate_vc"),
"param_name" => "yt_mute_control",
"value" => "off",
"options" => array(
"on" => array(
"label" => "",
"on" => __("Yes","ultimate_vc"),
"off" => __("No","ultimate_vc"),
)
),
"dependency" => Array("element" => "video_type","value" => array("uv_iframe")),
),
array(
"type" => "ult_switch",
"class" => "",
"heading" => __("Modest Branding", "ultimate_vc"),
"param_name" => "yt_modest_branding",
"value" => "off",
"options" => array(
"on" => array(
"label" => "",
"on" => __("Yes","ultimate_vc"),
"off" => __("No","ultimate_vc"),
)
),
"description" => __("This option lets you use a YouTube player that does not show a YouTube logo.", "ultimate_vc"),
"dependency" => Array("element" => "video_type","value" => array("uv_iframe")),
),
array(
"type" => "ult_switch",
"class" => "",
"heading" => __("Privacy Mode", "ultimate_vc"),
"param_name" => "yt_privacy_mode",
"value" => "off",
"options" => array(
"on" => array(
"label" => "",
"on" => __("Yes","ultimate_vc"),
"off" => __("No","ultimate_vc"),
)
),
"description" => __("When you turn on privacy mode, YouTube won't store information about visitors on your website unless they play the video.", "ultimate_vc"),
"dependency" => Array("element" => "video_type","value" => array("uv_iframe")),
),
array(
"type" => "ult_switch",
"class" => "",
"heading" => __("Autoplay", "ultimate_vc"),
"param_name" => "vimeo_autoplay",
"value" => "off",
"options" => array(
"on" => array(
"label" => "",
"on" => __("Yes","ultimate_vc"),
"off" => __("No","ultimate_vc"),
)
),
"description" => __("If autoplay mode is enabled then thumbnail option will never show.", "ultimate_vc"),
"dependency" => Array("element" => "video_type","value" => array("vimeo_video")),
),
array(
"type" => "ult_switch",
"class" => "",
"heading" => __("Loop", "ultimate_vc"),
"param_name" => "vimeo_loop",
"value" => "off",
"options" => array(
"on" => array(
"label" => "",
"on" => __("Yes","ultimate_vc"),
"off" => __("No","ultimate_vc"),
)
),
"description" => __("Play the video again when it reaches the end, infinitely.", "ultimate_vc"),
"dependency" => Array("element" => "video_type","value" => array("vimeo_video")),
),
array(
"type" => "ult_switch",
"class" => "",
"heading" => __("Intro Title", "ultimate_vc"),
"param_name" => "vimeo_intro_title",
"value" => "on",
"options" => array(
"on" => array(
"label" => "",
"on" => __("Show","ultimate_vc"),
"off" => __("Hide","ultimate_vc"),
)
),
"description" => __("Show the video’s title.", "ultimate_vc"),
"dependency" => Array("element" => "video_type","value" => array("vimeo_video")),
),
array(
"type" => "ult_switch",
"class" => "",
"heading" => __("Intro Portrait", "ultimate_vc"),
"param_name" => "vimeo_intro_portrait",
"value" => "on",
"options" => array(
"on" => array(
"label" => "",
"on" => __("Show","ultimate_vc"),
"off" => __("Hide","ultimate_vc"),
)
),
"description" => __("Show the author’s profile image (portrait).", "ultimate_vc"),
"dependency" => Array("element" => "video_type","value" => array("vimeo_video")),
),
array(
"type" => "ult_switch",
"class" => "",
"heading" => __("Intro Byline", "ultimate_vc"),
"param_name" => "vimeo_intro_byline",
"value" => "on",
"options" => array(
"on" => array(
"label" => "",
"on" => __("Show","ultimate_vc"),
"off" => __("Hide","ultimate_vc"),
)
),
"description" => __("Show the author of the video.", "ultimate_vc"),
"dependency" => Array("element" => "video_type","value" => array("vimeo_video")),
),
array(
"type" => "colorpicker",
"class" => "",
"heading" => __("Controls Color", "ultimate_vc"),
"param_name" => "vimeo_control_color",
"dependency" => Array("element" => "video_type","value" => array("vimeo_video")),
),
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")
),
array(
"type" => "ult_param_heading",
"text" => __("Thumbnail & Overlay ","ultimate_vc"),
"param_name" => "thum_over",
"class" => "ult-param-heading",
'edit_field_class' => 'ult-param-heading-wrapper vc_column vc_col-sm-12',
"group" => "Thumbnail",
),
array(
"type" => "dropdown",
"class" => "",
"heading" => __("Thumbnail", "ultimate_vc"),
"param_name" => "thumbnail",
"value" =>
array(
__("Default Thumbnail","ultimate_vc") => "default",
__("Custom Thumbnail","ultimate_vc") => "custom",
),
"group" => "Thumbnail",
),
array(
"type" => "ult_img_single",
"class" => "",
"heading" => __("Select Custom Thumbnail", "ultimate_vc"),
"param_name" => "custom_thumb",
"value" => "",
"dependency" => Array("element" => "thumbnail","value" => array("custom")),
"group" => "Thumbnail",
),
array(
"type" => "dropdown",
"class" => "",
"heading" => __("Default Thumbnail Size", "ultimate_vc"),
"param_name" => "default_thumb",
"value" =>
array(
__("Maximum Resolution","ultimate_vc") => "maxresdefault",
__("High Quality","ultimate_vc") => "hqdefault",
__("Medium Quality","ultimate_vc") => "mqdefault",
__("Standard Quality","ultimate_vc") => "sddefault",
),
"dependency" => Array("element" => "thumbnail","value" => array("default")),
"group" => "Thumbnail",
),
array(
"type" => "colorpicker",
"class" => "",
"heading" => __("Overlay Color", "ultimate_vc"),
"param_name" => "overlay_color",
"group" => "Thumbnail",
),
array(
"type" => "ult_param_heading",
"text" => __("Play Button ","ultimate_vc"),
"param_name" => "playb",
"class" => "ult-param-heading",
'edit_field_class' => 'ult-param-heading-wrapper vc_column vc_col-sm-12',
"group" => "Thumbnail",
),
array(
"type" => "dropdown",
"class" => "",
"heading" => __("Image/Icon", "ultimate_vc"),
"param_name" => "play_source",
"value" =>
array(
__("Default","ultimate_vc") => "defaulticon",
__("Image","ultimate_vc") => "image",
__("Icon","ultimate_vc") => "icon",
),
"group" => "Thumbnail",
),
array(
"type" => "ult_img_single",
"class" => "",
"heading" => __("Select Image", "ultimate_vc"),
"param_name" => "play_image",
"value" => "",
"dependency" => Array("element" => "play_source","value" => array("image")),
"group" => "Thumbnail",
),
array(
"type" => "icon_manager",
"class" => "",
"heading" => __("Select Icon ","ultimate_vc"),
"param_name" => "play_icon",
"value" => "",
"dependency" => Array("element" => "play_source","value" => array("icon")),
// "description" => __("Click and select icon of your choice. If you can't find the one that suits for your purpose, you can","ultimate_vc")." <a href='admin.php?page=bsf-font-icon-manager' target='_blank' rel='noopener'>".__('add new here','ultimate_vc')."</a>.",
"group" => "Thumbnail",
),
array(
"type" => "number",
"class" => "",
"heading" => __("Size", "ultimate_vc"),
"param_name" => "play_size",
"value" => 75,
"min" => 12,
"suffix" => "px",
"description" => __("How big would you like it?", "ultimate_vc"),
"group" => "Thumbnail",
),
array(
"type" => "colorpicker",
"class" => "",
"heading" => __("Color", "ultimate_vc"),
"value" => "3A3A3A",
"param_name" => "icon_color",
"dependency" => Array("element" => "play_source","value" => array("icon")),
"group" => "Thumbnail",
),
array(
"type" => "colorpicker",
"class" => "",
"heading" => __("Hover Color", "ultimate_vc"),
"param_name" => "icon_hover_color",
"dependency" => Array("element" => "play_source","value" => array("icon")),
"group" => "Thumbnail",
),
array(
"type" => "colorpicker",
"class" => "",
"heading" => __("Background Color", "ultimate_vc"),
"value" => "#1f1f1e",
"param_name" => "default_color",
"dependency" => Array("element" => "play_source","value" => array("defaulticon")),
"group" => "Thumbnail",
),
array(
"type" => "colorpicker",
"class" => "",
"heading" => __("Background Hover Color", "ultimate_vc"),
"param_name" => "default_hover_color",
"dependency" => Array("element" => "play_source","value" => array("defaulticon")),
"group" => "Thumbnail",
),
array(
"type" => "dropdown",
"class" => "",
"heading" => __("Hover Animation", "ultimate_vc"),
"param_name" => "hover_animation",
"value" =>
array(
__("None","ultimate_vc") => "none",
__("Float","ultimate_vc") => "float",
__("Sink","ultimate_vc") => "sink",
__("Wobble Vertical","ultimate_vc") => "wobble-vertical",
),
"group" => "Thumbnail",
),
array(
"type" => "ult_param_heading",
"text" => __("Youtube Subscribe Bar","ultimate_vc"),
"param_name" => "yt_sb_bar",
"class" => "ult-param-heading",
'edit_field_class' => 'ult-param-heading-wrapper vc_column vc_col-sm-12',
"dependency" => Array("element" => "video_type","value" => array("uv_iframe")),
"group" => "Youtube Subscribe Bar",
),
array(
"type" => "ult_switch",
"class" => "",
"heading" => __("Enable Subscribe Bar", "ultimate_vc"),
"param_name" => "enable_sub_bar",
"value" => "off",
"options" => array(
"on" => array(
"label" => "",
"off" => __("No","ultimate_vc"),
"on" => __("Yes","ultimate_vc"),
)
),
"dependency" => Array("element" => "video_type","value" => array("uv_iframe")),
"group" => "Youtube Subscribe Bar",
),
array(
"type" => "dropdown",
"class" => "",
"heading" => __("Select Channel ID/Channel Name", "ultimate_vc"),
"param_name" => "chanel_id_name",
"value" =>
array(
__("Channel Name","ultimate_vc") => "channel_name",
__("Channel ID","ultimate_vc") => "channel_id",
),
"dependency" => Array("element" => "enable_sub_bar","value" => array("on")),
"group" => "Youtube Subscribe Bar",
),
array(
"type" => "textfield",
"class" => "",
"heading" => __("YouTube Channel Name", "ultimate_vc"),
"param_name" => "yt_channel_name",
"value" => "TheBrainstormForce",
"description" => __("Click")." <a href='https://docs.brainstormforce.com/how-to-find-youtube-channel-name-and-channel-id/' target='_blank' rel='noopener'>".__("here","ultimate_vc")."</a>".__(" to find your YouTube Channel Name.","ultimate_vc"),
"dependency" => Array("element" => "chanel_id_name","value" => array("channel_name")),
"group" => "Youtube Subscribe Bar",
),
array(
"type" => "textfield",
"class" => "",
"heading" => __("YouTube Channel ID", "ultimate_vc"),
"param_name" => "yt_channel_id",
"value" => "UCtFCcrvupjyaq2lax_7OQQg",
"description" => __("Click")." <a href='https://docs.brainstormforce.com/how-to-find-youtube-channel-name-and-channel-id/' target='_blank' rel='noopener'>".__("here","ultimate_vc")."</a>".__(" to find your YouTube Channel ID.","ultimate_vc"),
"dependency" => Array("element" => "chanel_id_name","value" => array("channel_id")),
"group" => "Youtube Subscribe Bar",
),
array(
"type" => "textfield",
"class" => "",
"heading" => __("Subscribe to Channel Text", "ultimate_vc"),
"param_name" => "yt_channel_text",
"value" => "Subscribe to our YouTube Channel",
"dependency" => Array("element" => "enable_sub_bar","value" => array("on")),
"group" => "Youtube Subscribe Bar",
),
array(
"type" => "ult_param_heading",
"text" => __("Settings","ultimate_vc"),
"param_name" => "yt_sb_setting",
"class" => "ult-param-heading",
'edit_field_class' => 'ult-param-heading-wrapper vc_column vc_col-sm-12',
"dependency" => Array("element" => "enable_sub_bar","value" => array("on")),
"group" => "Youtube Subscribe Bar",
),
array(
"type" => "ult_switch",
"class" => "",
"heading" => __("Show Subscribe count", "ultimate_vc"),
"param_name" => "show_sub_count",
"value" => "off",
"options" => array(
"on" => array(
"label" => "",
"off" => __("No","ultimate_vc"),
"on" => __("Yes","ultimate_vc"),
)
),
"dependency" => Array("element" => "enable_sub_bar","value" => array("on")),
"group" => "Youtube Subscribe Bar",
),
array(
"type" => "colorpicker",
"class" => "",
"heading" => __("Text Color", "ultimate_vc"),
"param_name" => "yt_text_color",
"dependency" => Array("element" => "enable_sub_bar","value" => array("on")),
"group" => "Youtube Subscribe Bar",
),
array(
"type" => "colorpicker",
"class" => "",
"heading" => __("Background Color", "ultimate_vc"),
"param_name" => "yt_background_color",
"dependency" => Array("element" => "enable_sub_bar","value" => array("on")),
"group" => "Youtube Subscribe Bar",
),
array(
"type" => "ultimate_google_fonts",
"heading" => __("Font Family", "ultimate_vc"),
"param_name" => "main_video_font_family",
"description" => __("Select the font of your choice.","ultimate_vc")." ".__("You can","ultimate_vc")." <a target='_blank' rel='noopener' href='".admin_url('admin.php?page=bsf-google-font-manager')."'>".__("add new in the collection here","ultimate_vc")."</a>.",
"dependency" => Array("element" => "enable_sub_bar","value" => array("on")),
"group" => "Youtube Subscribe Bar",
),
array(
"type" => "ultimate_google_fonts_style",
"heading" => __("Font Style", "ultimate_vc"),
"param_name" => "main_video_style",
"dependency" => Array("element" => "enable_sub_bar","value" => array("on")),
"group" => "Youtube Subscribe Bar",
),
array(
"type" => "ultimate_responsive",
"class" => "font-size",
"heading" => __("Font size", 'ultimate_vc'),
"param_name" => "main_video_font_size",
"unit" => "px",
"media" => array(
"Desktop" => '',
"Tablet" => '',
"Tablet Portrait" => '',
"Mobile Landscape" => '',
"Mobile" => '',
),
"dependency" => Array("element" => "enable_sub_bar","value" => array("on")),
"group" => "Youtube Subscribe Bar",
),
array(
"type" => "ultimate_responsive",
"class" => "font-size",
"heading" => __("Line Height", 'ultimate_vc'),
"param_name" => "main_video_line_height",
"unit" => "px",
"media" => array(
"Desktop" => '',
"Tablet" => '',
"Tablet Portrait" => '',
"Mobile Landscape" => '',
"Mobile" => '',
),
"dependency" => Array("element" => "enable_sub_bar","value" => array("on")),
"group" => "Youtube Subscribe Bar",
),
array(
"type" => "ultimate_spacing",
"heading" => __("Padding", "ultimate_vc"),
"param_name" => "padding",
"mode" => "padding",
"unit" => "px",
"positions" => array(
__("Top","ultimate_vc") => "",
__("Right","ultimate_vc") => "",
__("Bottom","ultimate_vc") => "",
__("Left","ultimate_vc") => ""
),
"dependency" => Array("element" => "enable_sub_bar","value" => array("on")),
"group" => "Youtube Subscribe Bar",
),
array(
"type" => "dropdown",
"class" => "",
"heading" => __("Stack on", "ultimate_vc"),
"param_name" => "subscribe_bar_responsive",
"value" =>
array(
__("None","ultimate_vc") => "none",
__("Desktop","ultimate_vc") => "desktop",
__("Tablet","ultimate_vc") => "tablet",
__("Mobile","ultimate_vc") => "mobile",
),
"dependency" => Array("element" => "enable_sub_bar","value" => array("on")),
"group" => "Youtube Subscribe Bar",
),
array(
'type' => 'css_editor',
'heading' => __( 'Css', 'ultimate_vc' ),
'param_name' => 'css_video_design',
'group' => __( 'Design ', 'ultimate_vc' ),
'edit_field_class' => 'vc_col-sm-12 vc_column no-vc-background no-vc-border creative_link_css_editor',
),
)
)
);
}
}//end-of-init-function
function ultimate_videos_module_shortcode($atts, $content = null){
$u_video_url = $video_type = $vimeo_video_url = $thumbnail = $custom_thumb =$default_thumb = $yt_autoplay = $yt_sugg_video = $yt_play_control = $yt_mute_control = $yt_modest_branding = $yt_privacy_mode = $yt_start_time = $yt_stop_time = $vimeo_autoplay = $vimeo_loop = $vimeo_intro_title = $vimeo_intro_portrait = $vimeo_intro_byline = $vimeo_start_time =$aspect_ratio = $output = $play_icon = $html = $play_source = $play_size = $hover_animation = $vimeo_control_color = $overlay_color = $icon_color = $icon_hover_color = $default_color = $default_hover_color = $chanel_id_name = $yt_channel_name = $yt_channel_id = $yt_channel_text = $show_sub_count = $enable_sub_bar = $yt_text_color = $yt_background_color = $el_class = $subscribe_bar_responsive = $thumb = $video_design_style_css = "";
extract($setting = (shortcode_atts(array(
"u_video_url" => "https://www.youtube.com/watch?v=HJRzUQMhJMQ",
"video_type" => "uv_iframe",
"vimeo_video_url" => "https://vimeo.com/274860274",
"thumbnail" => "",
"custom_thumb" => "",
"default_thumb" => "maxresdefault",
"yt_autoplay" => "",
"yt_sugg_video" => "",
"yt_play_control" => "on",
"yt_mute_control" => "",
"yt_modest_branding" => "",
"yt_privacy_mode" => "",
"yt_start_time" => "",
"yt_stop_time" => "",
"vimeo_autoplay" => "",
"vimeo_loop" => "",
"vimeo_intro_title" => "on",
"vimeo_intro_portrait" => "on",
"vimeo_intro_byline" => "on",
"vimeo_start_time" => "",
"play_source" => "defaulticon",
"aspect_ratio" => "16_9",
"play_icon" => "",
"hover_animation" => "none",
"play_image" => "",
"play_size" => "75",
"vimeo_control_color" => "",
"overlay_color" => "",
"icon_color" => "#3A3A3A",
"icon_hover_color" => "",
"default_color" => "#1f1f1e",
"default_hover_color" => "",
"enable_sub_bar" => "off",
"chanel_id_name" => "channel_name",
"yt_channel_name" => "TheBrainstormForce",
"yt_channel_id" => "UCtFCcrvupjyaq2lax_7OQQg",
"yt_channel_text" => "Subscribe to our YouTube Channel",
"show_sub_count" => "",
"yt_text_color" => "#fff",
"yt_background_color" => "#1b1b1b",
"main_video_font_family" => "",
"main_video_style" => "",
"main_video_font_size" => "",
"main_video_line_height" => "",
"el_class" => "",
"padding" => "",
"subscribe_bar_responsive" => "none",
"css_video_design" => "",
),$atts)));
$vc_version = (defined('WPB_VC_VERSION')) ? WPB_VC_VERSION : 0;
$is_vc_49_plus = (version_compare(4.9, $vc_version, '<=')) ? 'ult-adjust-bottom-margin' : '';
if ( '' == $u_video_url && 'uv_iframe' == $video_type ) {
return '';
}
if ( '' == $vimeo_video_url && 'vimeo_video' == $video_type ) {
return '';
}
$video_design_style_css = apply_filters( VC_SHORTCODE_CUSTOM_CSS_FILTER_TAG, vc_shortcode_custom_css_class( $css_video_design, ' ' ), "ultimate_videos", $atts );
$video_design_style_css = esc_attr( $video_design_style_css );
$micro = rand(0000,9999);
$id = uniqid('ultimate-video-'.$micro);
$uid = 'ultv-'.rand(0000,9999);
$output = '<div id="'.esc_attr( $id ).'" class="ult-video '.esc_attr($video_design_style_css).' '.esc_attr( $is_vc_49_plus ).' '.esc_attr( $id ).' '.esc_attr( $uid ).' '.esc_attr( $el_class ).'">';
$output .= $this->get_video_embed($setting , $uid);
$output .= '</div>';
return $output;
}//end-of-shortcode-function
}//End-class
new Ultimate_Videos;
if(class_exists('WPBakeryShortCode') && !class_exists('WPBakeryShortCode_ultimate_video'))
{
class WPBakeryShortCode_ultimate_video extends WPBakeryShortCode {
}
}
}