PATH:
home
/
letacommog
/
lenazen
/
wp-content
/
plugins
/
fusion-builder
/
shortcodes
<?php if ( fusion_is_element_enabled( 'fusion_youtube' ) ) { if ( ! class_exists( 'FusionSC_Youtube' ) ) { /** * Shortcode class. * * @package fusion-builder * @since 1.0 */ class FusionSC_Youtube extends Fusion_Element { /** * An array of the shortcode arguments. * * @access protected * @since 1.0 * @var array */ protected $args; /** * Constructor. * * @access public * @since 1.0 */ public function __construct() { parent::__construct(); add_filter( 'fusion_attr_youtube-shortcode', array( $this, 'attr' ) ); add_filter( 'fusion_attr_youtube-shortcode-video-sc', array( $this, 'video_sc_attr' ) ); add_shortcode( 'fusion_youtube', array( $this, 'render' ) ); } /** * Render the shortcode * * @access public * @since 1.0 * @param array $args Shortcode parameters. * @param string $content Content between shortcode. * @return string HTML output. */ public function render( $args, $content = '' ) { $defaults = FusionBuilder::set_shortcode_defaults( array( 'hide_on_mobile' => fusion_builder_default_visibility( 'string' ), 'class' => '', 'css_id' => '', 'api_params' => '', 'autoplay' => 'false', 'alignment' => '', 'center' => 'no', 'height' => 360, 'id' => '', 'width' => 600, ), $args, 'fusion_youtube' ); $defaults['height'] = FusionBuilder::validate_shortcode_attr_value( $defaults['height'], '' ); $defaults['width'] = FusionBuilder::validate_shortcode_attr_value( $defaults['width'], '' ); extract( $defaults ); $this->args = $defaults; // Make sure only the video ID is passed to the iFrame. $pattern = '~(?:http|https|)(?::\/\/|)(?:www.|)(?:youtu\.be\/|youtube\.com(?:\/embed\/|\/v\/|\/watch\?v=|\/ytscreeningroom\?v=|\/feeds\/api\/videos\/|\/user\S*[^\w\-\s]|\S*[^\w\-\s]))([\w\-]{11})[a-z0-9;:@#?&%=+\/\$_.-]*~i'; preg_match( $pattern, $id, $matches ); if ( isset( $matches[1] ) ) { $id = $matches[1]; } $html = '<div ' . FusionBuilder::attributes( 'youtube-shortcode' ) . '>'; $html .= '<div ' . FusionBuilder::attributes( 'youtube-shortcode-video-sc' ) . '>'; $html .= '<iframe title="YouTube video player" src="https://www.youtube.com/embed/' . $id . '?wmode=transparent&autoplay=0' . $api_params . '" width="' . $width . '" height="' . $height . '" allowfullscreen allow="autoplay; fullscreen"></iframe>'; $html .= '</div></div>'; return $html; } /** * Parses the arguments. * * @access public * @since 1.0 * @return array */ public function attr() { $attr = fusion_builder_visibility_atts( $this->args['hide_on_mobile'], array( 'class' => 'fusion-video fusion-youtube', ) ); if ( 'yes' === $this->args['center'] ) { $attr['class'] .= ' center-video'; } else { $attr['style'] = 'max-width:' . $this->args['width'] . 'px;max-height:' . $this->args['height'] . 'px;'; } if ( '' !== $this->args['alignment'] ) { $attr['class'] .= ' fusion-align' . $this->args['alignment']; $attr['style'] .= ' width:100%'; } if ( 'true' == $this->args['autoplay'] || 'yes' === $this->args['autoplay'] ) { $attr['data-autoplay'] = 1; } if ( $this->args['class'] ) { $attr['class'] .= ' ' . $this->args['class']; } if ( $this->args['css_id'] ) { $attr['id'] = $this->args['css_id']; } return $attr; } /** * The video ShortCode arguments. * * @access public * @since 1.0 * @return array */ public function video_sc_attr() { $attr = array( 'class' => 'video-shortcode', ); if ( 'yes' === $this->args['center'] ) { $attr['style'] = 'max-width:' . $this->args['width'] . 'px;max-height:' . $this->args['height'] . 'px;'; } return $attr; } /** * Sets the necessary scripts. * * @access public * @since 1.1 * @return void */ public function add_scripts() { Fusion_Dynamic_JS::enqueue_script( 'fusion-video' ); } } } new FusionSC_Youtube(); } /** * Map shortcode to Fusion Builder. * * @since 1.0 */ function fusion_element_youtube() { fusion_builder_map( array( 'name' => esc_attr__( 'Youtube', 'fusion-builder' ), 'shortcode' => 'fusion_youtube', 'icon' => 'fusiona-youtube', 'preview' => FUSION_BUILDER_PLUGIN_DIR . 'inc/templates/previews/fusion-youtube-preview.php', 'preview_id' => 'fusion-builder-block-module-youtube-preview-template', 'params' => array( array( 'type' => 'textfield', 'heading' => esc_attr__( 'Video ID', 'fusion-builder' ), 'description' => esc_attr__( 'For example the Video ID for https://www.youtube.com/watch?v=UDyNsnB_COA is UDyNsnB_COA.', 'fusion-builder' ), 'param_name' => 'id', 'value' => '', ), array( 'type' => 'radio_button_set', 'heading' => esc_attr__( 'Alignment', 'fusion-builder' ), 'description' => esc_attr__( "Select the video's alignment.", 'fusion-builder' ), 'param_name' => 'alignment', 'default' => '', 'value' => array( '' => esc_attr__( 'Text Flow', 'fusion-builder' ), 'left' => esc_attr__( 'Left', 'fusion-builder' ), 'center' => esc_attr__( 'Center', 'fusion-builder' ), 'right' => esc_attr__( 'Right', 'fusion-builder' ), ), ), array( 'type' => 'dimension', 'remove_from_atts' => true, 'heading' => esc_attr__( 'Dimensions', 'fusion-builder' ), 'description' => esc_attr__( 'In pixels but only enter a number, ex: 600.', 'fusion-builder' ), 'param_name' => 'dimensions', 'value' => array( 'width' => '600', 'height' => '350', ), ), array( 'type' => 'radio_button_set', 'heading' => esc_attr__( 'Autoplay Video', 'fusion-builder' ), 'description' => esc_attr__( 'Set to yes to make video autoplaying.', 'fusion-builder' ), 'param_name' => 'autoplay', 'value' => array( 'false' => esc_attr__( 'No', 'fusion-builder' ), 'true' => esc_attr__( 'Yes', 'fusion-builder' ), ), 'default' => 'false', ), array( 'type' => 'textfield', 'heading' => esc_attr__( 'Additional API Parameter', 'fusion-builder' ), 'description' => esc_attr__( 'Use additional API parameter, for example &rel=0 to disable related videos.', 'fusion-builder' ), 'param_name' => 'api_params', 'value' => '', ), array( 'type' => 'checkbox_button_set', 'heading' => esc_attr__( 'Element Visibility', 'fusion-builder' ), 'param_name' => 'hide_on_mobile', 'value' => fusion_builder_visibility_options( 'full' ), 'default' => fusion_builder_default_visibility( 'array' ), 'description' => esc_attr__( 'Choose to show or hide the element on small, medium or large screens. You can choose more than one at a time.', 'fusion-builder' ), ), array( 'type' => 'textfield', 'heading' => esc_attr__( 'CSS Class', 'fusion-builder' ), 'param_name' => 'class', 'value' => '', 'description' => esc_attr__( 'Add a class to the wrapping HTML element.', 'fusion-builder' ), ), array( 'type' => 'textfield', 'heading' => esc_attr__( 'CSS ID', 'fusion-builder' ), 'description' => esc_attr__( 'Add an ID to the wrapping HTML element.', 'fusion-builder' ), 'param_name' => 'css_id', 'value' => '', ), ), ) ); } add_action( 'fusion_builder_before_init', 'fusion_element_youtube' );
[+]
..
[-] fusion-social-links.php
[edit]
[-] fusion-section-separator.php
[edit]
[-] fusion-sharingbox.php
[edit]
[-] fusion-column-inner.php
[edit]
[-] fusion-soundcloud.php
[edit]
[-] fusion-highlight.php
[edit]
[-] fusion-image-carousel.php
[edit]
[-] fusion-image.php
[edit]
[-] fusion-menu-anchor.php
[edit]
[-] fusion-woo-featured-products-slider.php
[edit]
[+]
js
[-] fusion-revolution-slider.php
[edit]
[-] fusion-slider.php
[edit]
[-] fusion-pricing-table.php
[edit]
[-] fusion-row-inner.php
[edit]
[-] fusion-tagline.php
[edit]
[-] fusion-one-page-link.php
[edit]
[-] fusion-separator.php
[edit]
[-] fusion-dropcap.php
[edit]
[-] fusion-image-before-after.php
[edit]
[-] fusion-woo-shortcodes.php
[edit]
[-] fusion-table.php
[edit]
[-] fusion-modal.php
[edit]
[-] fusion-fontawesome.php
[edit]
[-] fusion-woo-product-slider.php
[edit]
[-] fusion-layer-slider.php
[edit]
[-] fusion-youtube.php
[edit]
[-] fusion-blank-page.php
[edit]
[-] fusion-counters-box.php
[edit]
[-] fusion-gallery.php
[edit]
[-] fusion-tooltip.php
[edit]
[-] fusion-progress.php
[edit]
[-] fusion-countdown.php
[edit]
[-] fusion-recent-posts.php
[edit]
[-] fusion-blog.php
[edit]
[-] fusion-tabs.php
[edit]
[-] fusion-title.php
[edit]
[-] fusion-flip-boxes.php
[edit]
[-] fusion-row.php
[edit]
[-] fusion-button.php
[edit]
[-] fusion-alert.php
[edit]
[-] fusion-nextpage.php
[edit]
[-] fusion-code-block.php
[edit]
[-] fusion-chart.php
[edit]
[-] fusion-syntax-highlighter.php
[edit]
[-] fusion-container.php
[edit]
[-] fusion-content-boxes.php
[edit]
[-] fusion-lightbox.php
[edit]
[-] fusion-global.php
[edit]
[-] fusion-text.php
[edit]
[-] fusion-events.php
[edit]
[-] fusion-convertplus.php
[edit]
[-] fusion-testimonials.php
[edit]
[-] fusion-google-map.php
[edit]
[-] fusion-column.php
[edit]
[-] fusion-popover.php
[edit]
[-] fusion-checklist.php
[edit]
[-] fusion-toggle.php
[edit]
[-] fusion-vimeo.php
[edit]
[-] fusion-post-slider.php
[edit]
[-] fusion-user-login.php
[edit]
[-] fusion-person.php
[edit]
[-] fusion-counters-circle.php
[edit]
[-] fusion-widget-area.php
[edit]