function secure_html5_video_player_get_media_server_address($client_ip, $video_filename) { $has_media_server = secure_html5_video_player_has_media_server(); if ($has_media_server) { $server_list = secure_html5_video_player_media_server_address_list(); $chksum = crc32($client_ip); if ($chksum < 0) { $chksum = -1 * $chksum; } if ($video_filename) { $server_filelist = secure_html5_video_player_filelist(true); $server_list_with_file = $server_filelist[$video_filename]; if (!empty($server_list_with_file)) { $server_list = $server_list_with_file; } } $num_servers = count($server_list); $selected_server = $chksum % $num_servers; if ($selected_server < $num_servers && isset($server_list[$selected_server]) && $server_list[$selected_server]) { return $server_list[$selected_server]; } } $plugin_url = plugins_url('secure-html5-video-player'); return $plugin_url; }
function secure_html5_video_player_shortcode_video($atts) { $bd = SH5VP_BrowserDetect::detect(); $video_tag = ''; $count_file_exists = 0; $secure_html5_video_player_enable_download_fallback = get_option('secure_html5_video_player_enable_download_fallback'); $secure_html5_video_player_youtube_override_type = get_option('secure_html5_video_player_youtube_override_type'); $secure_html5_video_player_video_dir = get_option('secure_html5_video_player_video_dir'); $secure_html5_video_player_skin = get_option('secure_html5_video_player_skin'); $plugin_dir = plugins_url('secure-html5-video-player'); extract(shortcode_atts(array('file' => '', 'mp4' => '', 'webm' => '', 'ogg' => '', 'poster' => '', 'width' => get_option('secure_html5_video_player_default_width'), 'height' => get_option('secure_html5_video_player_default_height'), 'preload' => get_option('secure_html5_video_player_default_preload'), 'autoplay' => get_option('secure_html5_video_player_default_autoplay'), 'loop' => get_option('secure_html5_video_player_default_loop'), 'controls' => get_option('secure_html5_video_player_default_controls'), 'youtube' => '', 'vimeo' => ''), $atts)); if (!$width || $width <= 0) { $width = '640'; } if (!$height || $height <= 0) { $height = '480'; } $youtube_tag = ''; $youtube_exists = secure_html5_video_player_youtube_exists($youtube); if ($youtube_exists) { $autoplay_youtube = '0'; if ($autoplay == 'yes' || $autoplay == 'true') { $autoplay_youtube = '1'; } $origin = urlencode(site_url()); $object_tag_id = secure_html5_video_player_to_object_id('ytplayer-', $youtube); $youtube_tag .= "<!-- Begin - Secure HTML5 Video Player -->\n"; $youtube_tag .= "<iframe id='{$object_tag_id}' type='text/html' width='{$width}' height='{$height}' src='http://www.youtube.com/embed/{$youtube}?autoplay={$autoplay_youtube}&origin={$origin}' frameborder='0' /></iframe>\n"; $youtube_tag .= "<!-- End - Secure HTML5 Video Player -->\n"; } $vimeo_tag = ''; $vimeo_exists = secure_html5_video_player_vimeo_exists($vimeo); if ($vimeo_exists) { $autoplay_vimeo = '0'; if ($autoplay == 'yes' || $autoplay == 'true') { $autoplay_vimeo = '1'; } $loop_vimeo = '0'; if ($loop == 'yes' || $loop == 'true') { $loop_vimeo = '1'; } $object_tag_id = secure_html5_video_player_to_object_id('vimeoplayer-', $vimeo); $vimeo_tag .= "<!-- Begin - Secure HTML5 Video Player -->\n"; $vimeo_tag .= "<iframe id='{$object_tag_id}' src='http://player.vimeo.com/video/{$vimeo}?autoplay={$autoplay_vimeo}&loop={$loop_vimeo}' width='{$width}' height='{$height}' frameborder='0'></iframe>"; $vimeo_tag .= "<!-- End - Secure HTML5 Video Player -->\n"; } $video_tag .= "<!-- Begin - Secure HTML5 Video Player -->\n"; if ($file) { $file = secure_html5_video_player_filename_no_ext($file); } $is_s3_enabled = secure_html5_video_player_is_s3_enabled(); $has_media_server = secure_html5_video_player_has_media_server(); $object_tag_id = ''; if ($file) { $object_tag_id = secure_html5_video_player_to_object_id('vjs-ff-', $file); $access_key = secure_html5_video_player_accessKey($file); $remote_mp4_link = ''; $remote_webm_link = ''; $remote_ogv_link = ''; $remote_jpg_link = ''; $remote_png_link = ''; $remote_gif_link = ''; if ($is_s3_enabled) { $remote_mp4_link = apply_filters('secure_html5_video_player_s3_media_exists', "{$file}.mp4"); $remote_webm_link = apply_filters('secure_html5_video_player_s3_media_exists', "{$file}.webm"); $remote_ogv_link = apply_filters('secure_html5_video_player_s3_media_exists', "{$file}.ogv"); $remote_jpg_link = apply_filters('secure_html5_video_player_s3_media_exists', "{$file}.jpg"); $remote_png_link = apply_filters('secure_html5_video_player_s3_media_exists', "{$file}.png"); $remote_gif_link = apply_filters('secure_html5_video_player_s3_media_exists', "{$file}.gif"); if ($remote_mp4_link || $remote_webm_link || $remote_ogv_link) { $has_media_server = FALSE; } } if ($has_media_server) { $media_plugin_dir = apply_filters('secure_html5_video_player_get_media_server_address', secure_html5_video_player_get_client_ip(), $file); $video_tag .= "<!-- Using media server: " . $media_plugin_dir . " -->\n"; if (!$remote_mp4_link) { $remote_mp4_link = apply_filters('secure_html5_video_player_remote_media_exists', $media_plugin_dir, "{$file}.mp4"); } if (!$remote_webm_link) { $remote_webm_link = apply_filters('secure_html5_video_player_remote_media_exists', $media_plugin_dir, "{$file}.webm"); } if (!$remote_ogv_link) { $remote_ogv_link = apply_filters('secure_html5_video_player_remote_media_exists', $media_plugin_dir, "{$file}.ogv"); } if (!$remote_jpg_link) { $remote_jpg_link = apply_filters('secure_html5_video_player_remote_media_exists', $media_plugin_dir, "{$file}.jpg"); } if (!$remote_png_link) { $remote_png_link = apply_filters('secure_html5_video_player_remote_media_exists', $media_plugin_dir, "{$file}.png"); } if (!$remote_gif_link) { $remote_gif_link = apply_filters('secure_html5_video_player_remote_media_exists', $media_plugin_dir, "{$file}.gif"); } } if ($remote_mp4_link) { $mp4 = $remote_mp4_link; $count_file_exists++; } else { if (file_exists("{$secure_html5_video_player_video_dir}/{$file}.mp4")) { $mp4 = secure_html5_video_player_media_url($secure_html5_video_player_video_dir, $plugin_dir, $access_key, $file, 'mp4'); $count_file_exists++; } else { if (file_exists("{$secure_html5_video_player_video_dir}/{$file}.m4v")) { $mp4 = secure_html5_video_player_media_url($secure_html5_video_player_video_dir, $plugin_dir, $access_key, $file, 'm4v'); $count_file_exists++; } } } if ($remote_webm_link) { $webm = $remote_webm_link; $count_file_exists++; } else { if (file_exists("{$secure_html5_video_player_video_dir}/{$file}.webm")) { $webm = secure_html5_video_player_media_url($secure_html5_video_player_video_dir, $plugin_dir, $access_key, $file, 'webm'); $count_file_exists++; } } if ($remote_ogv_link) { $ogg = $remote_ogv_link; $count_file_exists++; } else { if (file_exists("{$secure_html5_video_player_video_dir}/{$file}.ogv")) { $ogg = secure_html5_video_player_media_url($secure_html5_video_player_video_dir, $plugin_dir, $access_key, $file, 'ogv'); $count_file_exists++; } else { if (file_exists("{$secure_html5_video_player_video_dir}/{$file}.ogg")) { $ogg = secure_html5_video_player_media_url($secure_html5_video_player_video_dir, $plugin_dir, $access_key, $file, 'ogg'); $count_file_exists++; } else { if (file_exists("{$secure_html5_video_player_video_dir}/{$file}.theora.ogv")) { $ogg = secure_html5_video_player_media_url($secure_html5_video_player_video_dir, $plugin_dir, $access_key, $file, 'theora.ogv'); $count_file_exists++; } } } } if (!$poster) { if ($remote_png_link) { $poster = $remote_png_link; } else { if ($remote_jpg_link) { $poster = $remote_jpg_link; } else { if ($remote_gif_link) { $poster = $remote_gif_link; } else { if (file_exists("{$secure_html5_video_player_video_dir}/{$file}.jpg")) { $poster = secure_html5_video_player_media_url($secure_html5_video_player_video_dir, $plugin_dir, $access_key, $file, 'jpg'); } else { if (file_exists("{$secure_html5_video_player_video_dir}/{$file}.jpeg")) { $poster = secure_html5_video_player_media_url($secure_html5_video_player_video_dir, $plugin_dir, $access_key, $file, 'jpeg'); } else { if (file_exists("{$secure_html5_video_player_video_dir}/{$file}.png")) { $poster = secure_html5_video_player_media_url($secure_html5_video_player_video_dir, $plugin_dir, $access_key, $file, 'png'); } else { if (file_exists("{$secure_html5_video_player_video_dir}/{$file}.gif")) { $poster = secure_html5_video_player_media_url($secure_html5_video_player_video_dir, $plugin_dir, $access_key, $file, 'gif'); } } } } } } } } } $fallback_plugin_dir = urlencode($plugin_dir); // MP4 Source Supplied if ($mp4) { if (!$object_tag_id) { $object_tag_id = secure_html5_video_player_to_object_id('vjs-ff-', $mp4); } $mp4_source = '<source src="' . $mp4 . '" type="video/mp4" />'; $mp4_link = '<a class="sh5vp-link-mp4" href="' . $mp4 . '">MP4</a>'; $fallback_mp4 = urlencode($mp4); $count_file_exists++; } // WebM Source Supplied if ($webm) { $webm_source = '<source src="' . $webm . '" type="video/webm" />'; $webm_link = '<a class="sh5vp-link-webm" href="' . $webm . '">WebM</a>'; $count_file_exists++; } // Ogg source supplied if ($ogg) { $ogg_source = '<source src="' . $ogg . '" type="video/ogg" />'; $ogg_link = '<a class="sh5vp-link-ogg" href="' . $ogg . '">Ogg</a>'; $count_file_exists++; } if ($poster) { $poster_attribute = 'poster="' . $poster . '"'; } if ($preload == 'yes' || $preload == 'true') { $preload_attribute = 'preload="auto"'; } else { $preload_attribute = 'preload="none"'; } if ($autoplay == 'yes' || $autoplay == 'true') { $autoplay_attribute = 'autoplay="autoplay"'; $fallback_autoplay = '1'; } else { $autoplay_attribute = ""; $fallback_autoplay = '0'; } if ($loop == 'yes' || $loop == 'true') { $loop_attribute = 'loop="loop"'; } else { $loop_attribute = ""; } if ($controls != 'no' && $controls != 'false') { $controls_attribute = 'controls="controls"'; } else { $controls_attribute = ""; } $video_tag_skin = ''; if ($secure_html5_video_player_skin != 'videojs') { $video_tag_skin = $secure_html5_video_player_skin . '-css'; } $video_tag .= "<div class='video-js-box sh5vp-video-box {$video_tag_skin}' >\n"; if ($bd->isMobileBrowser()) { // iOS and Android devices $video_tag .= "<video class='video-js sh5vp-video' onclick='this.play();' width='{$width}' height='{$height}' {$poster_attribute} {$controls_attribute} {$preload_attribute} {$autoplay_attribute} {$loop_attribute} >\n"; if ($mp4_source) { $video_tag .= "{$mp4_source}\n"; } $video_tag .= "</video>\n"; } else { if ($bd->isIE() && $bd->versionIE() <= 8 && $mp4) { // IE 7 or IE 8 $video_tag .= "<iframe id='{$object_tag_id}' type='text/html' width='{$width}' height='{$height}' src='{$plugin_dir}/fallback/index.php?autoplay={$fallback_autoplay}&mp4={$fallback_mp4}&url={$fallback_plugin_dir}' frameborder='0' scrolling='no' seamless='seamless' /></iframe>\n"; if ('always' == $secure_html5_video_player_enable_download_fallback) { $video_tag .= "<p class='sh5vp-download-links'><label>Download Video:</label>\n"; if ($mp4_link) { $video_tag .= "{$mp4_link}\n"; } if ($webm_link) { $video_tag .= "{$webm_link}\n"; } if ($ogg_link) { $video_tag .= "{$ogg_link}\n"; } $video_tag .= "</p>\n"; } } else { // everything else if ($count_file_exists == 0) { $video_tag .= "<!-- " . __('file not found', 'secure-html5-video-player') . ": {$secure_html5_video_player_video_dir}/{$file} -->\n"; } else { if ($bd->isFirefox() && ($bd->versionFirefox() < 21 || $bd->isMac()) && $mp4 && !($ogg || $webm)) { $video_tag .= "<iframe id='{$object_tag_id}' type='text/html' width='{$width}' height='{$height}' src='{$plugin_dir}/fallback/index.php?autoplay={$fallback_autoplay}&mp4={$fallback_mp4}&url={$fallback_plugin_dir}' frameborder='0' /></iframe>\n"; } else { $video_tag .= "<video class='video-js sh5vp-video' width='{$width}' height='{$height}' {$poster_attribute} {$controls_attribute} {$preload_attribute} {$autoplay_attribute} {$loop_attribute} >\n"; if ($mp4_source) { $video_tag .= "{$mp4_source}\n"; } if ($webm_source) { $video_tag .= "{$webm_source}\n"; } if ($ogg_source) { $video_tag .= "{$ogg_source}\n"; } $video_tag .= "</video>\n"; } } //Download links provided for devices that can't play video in the browser. if ('no' != $secure_html5_video_player_enable_download_fallback) { $can_play_provided = secure_html5_video_player_can_play($mp4_link, $ogg_link, $webm_link); if (!$can_play_provided || 'always' == $secure_html5_video_player_enable_download_fallback) { $video_tag .= "<p class='sh5vp-download-links'><label>Download Video:</label>\n"; if ($mp4_link) { $video_tag .= "{$mp4_link}\n"; } if ($webm_link) { $video_tag .= "{$webm_link}\n"; } if ($ogg_link) { $video_tag .= "{$ogg_link}\n"; } $video_tag .= "</p>\n"; } } } } $video_tag .= "</div>\n"; $video_tag .= "<!-- End - Secure HTML5 Video Player -->\n"; if ($vimeo_exists) { if ($count_file_exists == 0) { return $vimeo_tag; } else { if ('primary' == $secure_html5_video_player_youtube_override_type) { return $vimeo_tag; } } } else { if ($youtube_exists) { if ($count_file_exists == 0) { return $youtube_tag; } else { if ('primary' == $secure_html5_video_player_youtube_override_type) { return $youtube_tag; } } } } return $video_tag; }