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; }
header('Content-Type: text/plain'); $secure_html5_video_player_video_dir = get_option('secure_html5_video_player_video_dir'); $plugin_dir = plugins_url('secure-html5-video-player'); $filepath = $secure_html5_video_player_video_dir . '/' . $filename; $filename_no_ext = secure_html5_video_player_filename_no_ext($filename); $original_filename_no_ext = $filename_no_ext; $found = false; if ($info == 'exists') { $secure_html5_video_player_video_dir = get_option('secure_html5_video_player_video_dir'); $filedir = $secure_html5_video_player_video_dir; $last_slash_pos = strrpos($filename, '/'); if ($last_slash_pos !== FALSE) { $filedir .= '/' . substr($filename, 0, $last_slash_pos); $filename = substr($filename, $last_slash_pos + 1); $filepath = $secure_html5_video_player_video_dir . '/' . $filename; $filename_no_ext = secure_html5_video_player_filename_no_ext($filename); } if (is_dir($filedir)) { $dh = opendir($filedir); while (false !== ($curr_video_file = readdir($dh))) { if (secure_html5_video_player_startsWith($curr_video_file, '.')) { continue; } $ext = secure_html5_video_player_filename_get_ext($curr_video_file); $normalized_ext = secure_html5_video_player_filename_get_normalized_ext($ext); $start_check = $filename_no_ext . '.'; if (secure_html5_video_player_startsWith($curr_video_file, $start_check)) { print $normalized_ext . '=' . secure_html5_video_player_media_url($secure_html5_video_player_video_dir, $plugin_dir, $access_key, $original_filename_no_ext, $ext) . "\n"; $found = true; } }
for ($i = 0; $i < $limit; $i++) { $ls = scandir($curr_path); if (isset($ls) && is_array($ls) && in_array($needle, $ls)) { return $curr_path; } $curr_path = dirname($curr_path); } return NULL; } } define('WP_USE_THEMES', false); define('ABSPATH', secure_html5_video_player_parent_path_with_file(__FILE__, 'wp-config.php', 10) . '/'); require_once ABSPATH . 'wp-config.php'; require_once 'sh5vp-functions.php'; $filename = $_GET['file']; $filename_no_ext = secure_html5_video_player_filename_no_ext($_GET['file']); $access_key = secure_html5_video_player_accessKey($filename_no_ext); if ($_GET['k'] != $access_key) { exit; } if ($_GET['onlyclean'] != '1') { $secure_html5_video_player_video_dir = get_option('secure_html5_video_player_video_dir'); $video_orig = "{$secure_html5_video_player_video_dir}/{$filename}"; if (!file_exists($video_orig)) { exit; } ignore_user_abort(true); set_time_limit(3600); ob_start(); echo 1; header('Content-Type: text/plain');