array( "name" => esc_html__('Autoplay Videos', 'modula-video'), "type" => "toggle", "description" => esc_html__('Enable this option to autoplay your videos in the lightbox.', 'modula-video'), "default" => 0, "afterrow" => wp_kses_post('On iOS, Autoplay is supported only for self hosted videos. The videos will autoplay on mute. For more details check : video policies ', 'modula-video'), 'priority' => 1, ), "show-video-icon" => array( "name" => esc_html__('Display Play Icon', 'modula-video'), "type" => "toggle", "default" => 1, "description" => esc_html__('Display a Play Icon over a Gallery Image which is linked to a Video, to make it clear to the user that it is a video.', 'modula-video'), 'priority' => 3, ), 'use-custom-icon' => array( "name" => esc_html__( 'Use custom icon', 'modula-video' ), "type" => "toggle", "default" => 0, "description" => esc_html__('Enable this to upload your own video icon.', 'modula-video'), "is_child" => true, 'priority' => 5, ), "custom-video-icon" => array( "name" => esc_html__( 'Use Custom Video Icon', 'modula-video'), "type" => "video_icon_upload", "default" => 0, "description" => esc_html__( 'Upload your own video icon.', 'modula-video'), "class" => 'button insert-media-url', "button_text" => esc_html__( 'Upload Video Icon', 'modula-video'), "is_child" => true, "priority" => 10, ), "video-icon-color" => array( "name" => esc_html__( 'Play Icon Colour', 'modula-video' ), "type" => "color", "description" => esc_html__( 'Set the colour of your video icon.', 'modula-video' ), "default" => "#FFF", 'alpha' => true, "is_child" => true, 'priority' => 15, ), "play-icon-size" => array( "name" => esc_html__( 'Play Icon Size', 'modula-video'), "type" => 'responsive-input', "default" => array( 30, 30, 30 ), "description" => esc_html__( 'Please play button size in pixels.', 'modula-video'), "is_child" => true, "priority" => 20, ), ); return $fields; } /** * Modula Item's video url template. * * @since 1.0.0 * */ public function print_modula_video_templates() { ?> '; } /** * Add video related settings to edit modal. * * @since 1.0.0 * * @return array $fields. */ public function add_item_fields( $fields ) { $fields[] = 'video_url'; $fields[] = 'video_thumbnail'; return $fields; } /** * Add input settings for video play button size on different devices. * * @since 1.0.6 * * @return string. */ public function edit_icon_size_fields($html, $field, $value ) { $html = 'px'; $html .= 'px'; $html .= 'px'; return $html; } /** * Backwards compatibility for responsie play button size fields * * @since 1.0.6 */ public function backward_compatibility_responsive_video_icon( $value, $key, $settings ) { if ( 'play-icon-size' == $key && ! isset( $settings['play-icon-size'] ) ){ if ( isset( $settings['video-icon-size'] ) ){ $size = str_replace( array('px', '%'), '', $settings['video-icon-size']); return array( $size, $size, $size ); } } return $value; } /** * Backwards compatibility for responsie play button size fields * * @since 1.0.6 */ public function backward_compatibility_backbone_responsive_video_icon( $settings ){ if ( isset( $settings['video-icon-size'] ) && !isset( $settings['play-icon-size'][0] ) ){ $settings['play-icon-size'][0] = str_replace(['px', '%'], '', $settings['video-icon-size']); } if ( isset( $settings['video-icon-size'] ) && !isset( $settings['play-icon-size'][1] ) ){ $settings['play-icon-size'][1] = str_replace(['px', '%'], '', $settings['video-icon-size']); } if ( isset( $settings['video-icon-size'] ) && !isset( $settings['play-icon-size'][2] ) ){ $settings['play-icon-size'][2] = str_replace(['px', '%'], '', $settings['video-icon-size']); } return $settings; } /*** * Add video_icon_upload field type * * @param $html * @param $field * @param $value * * @return string */ public function video_icon_upload_field_type( $html, $field, $value ) { $style = array( 'upload' => '', 'replace' => 'display:none;', 'delete' => 'display:none;', ); if ( 0 != absint( $value ) ) { $style['upload'] = 'display:none;'; $style['replace'] = ''; $style['delete'] = ''; } $html = ''; $html .= '
'; if ( $value ) { $image = wp_get_attachment_image_src( $value ); if ( $image ) { $html .= ''; } } $html .= '
'; $html .= ''; $html .= ''; $html .= ''; return $html; } /** * Add script that will handle video related actions in backend. * * @since 1.0.0 * */ public function video_js() { wp_enqueue_script( 'modula-video', MODULA_VIDEO_URL . 'assets/js/wp-modula-video.js', array( 'jquery' ), '1.0.0', true ); } public function backend_show_video_icon() { ?> <# if ( 'video_url' in data && data.video_url != '' ) { #> ' . Modula_Helper::get_icon( 'video' ) . ''; ?> <# } #>