コード例 #1
0
 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}&amp;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;
 }
コード例 #2
0
ファイル: getinfo.php プロジェクト: nikitansk/devschool
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;
            }
        }
コード例 #3
0
ファイル: prepvideo.php プロジェクト: nikitansk/devschool
        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');